/* Generated by Cython 3.1.5 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/cuda.h",
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/cudaProfiler.h",
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/cuda_runtime_api.h",
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/device_types.h",
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/driver_types.h",
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/library_types.h",
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/surface_types.h",
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/texture_types.h",
            "/host/home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include/vector_types.h",
            "cuda/bindings/_lib/param_packer.h"
        ],
        "extra_compile_args": [
            "-std=c++14",
            "-fpermissive",
            "-Wno-deprecated-declarations",
            "-fno-var-tracking-assignments",
            "-O3"
        ],
        "include_dirs": [
            "./cuda/bindings/_lib",
            "/opt/python/cp312-cp312/include",
            "/host//home/runner/_work/cuda-python/cuda-python/cuda_toolkit/include"
        ],
        "language": "c++",
        "library_dirs": [
            "/tmp/build-env-3t3_8d9r/lib/python3.12/site-packages",
            "/tmp/build-env-3t3_8d9r/lib",
            "/host//home/runner/_work/cuda-python/cuda-python/cuda_toolkit/lib64",
            "/host//home/runner/_work/cuda-python/cuda-python/cuda_toolkit/lib"
        ],
        "name": "cuda.bindings.driver",
        "sources": [
            "cuda/bindings/driver.pyx"
        ]
    },
    "module_name": "cuda.bindings.driver"
}
END: Cython Metadata */

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
/* InitLimitedAPI */
#if defined(Py_LIMITED_API)
  #if !defined(CYTHON_LIMITED_API)
  #define CYTHON_LIMITED_API 1
  #endif
#elif defined(CYTHON_LIMITED_API)
  #ifdef _MSC_VER
  #pragma message ("Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.")
  #else
  #warning Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.
  #endif
#endif

#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x03080000
    #error Cython requires Python 3.8+.
#else
#define __PYX_ABI_VERSION "3_1_5"
#define CYTHON_HEX_VERSION 0x030105F0
#define CYTHON_FUTURE_DIVISION 1
/* CModulePreamble */
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#define __PYX_COMMA ,
#ifndef HAVE_LONG_LONG
  #define HAVE_LONG_LONG
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
  /* For very preliminary testing purposes. Most variables are set the same as PyPy.
     The existence of this section does not imply that anything works or is even tested */
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 1
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 0
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_ASSUME_SAFE_SIZE
  #define CYTHON_ASSUME_SAFE_SIZE 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 0
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 0
  #undef CYTHON_USE_AM_SEND
  #define CYTHON_USE_AM_SEND 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 1
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
#elif defined(PYPY_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 1
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #ifndef CYTHON_ASSUME_SAFE_SIZE
    #define CYTHON_ASSUME_SAFE_SIZE 1
  #endif
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #if PY_VERSION_HEX < 0x03090000
    #undef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 0
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE (PYPY_VERSION_NUM >= 0x07030C00)
  #endif
  #undef CYTHON_USE_AM_SEND
  #define CYTHON_USE_AM_SEND 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_NUM >= 0x07031100)
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
#elif defined(CYTHON_LIMITED_API)
  #ifdef Py_LIMITED_API
    #undef __PYX_LIMITED_VERSION_HEX
    #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
  #endif
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 1
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_CLINE_IN_TRACEBACK
  #define CYTHON_CLINE_IN_TRACEBACK 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 1
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #endif
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
  #endif
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_ASSUME_SAFE_SIZE
  #define CYTHON_ASSUME_SAFE_SIZE 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL (__PYX_LIMITED_VERSION_HEX >= 0x030C0000)
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 0
  #endif
  #ifndef CYTHON_USE_AM_SEND
    #define CYTHON_USE_AM_SEND (__PYX_LIMITED_VERSION_HEX >= 0x030A0000)
  #endif
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #ifdef Py_GIL_DISABLED
    #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 1
  #else
    #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #endif
  #if PY_VERSION_HEX < 0x030A0000
    #undef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #elif !defined(CYTHON_USE_TYPE_SLOTS)
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #ifndef CYTHON_USE_PYTYPE_LOOKUP
    #define CYTHON_USE_PYTYPE_LOOKUP 1
  #endif
  #ifndef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 0
  #elif !defined(CYTHON_USE_PYLIST_INTERNALS)
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING || PY_VERSION_HEX >= 0x030B00A2
    #undef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #elif !defined(CYTHON_USE_UNICODE_WRITER)
    #define CYTHON_USE_UNICODE_WRITER 1
  #endif
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
  #elif !defined(CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS)
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_ASSUME_SAFE_SIZE
    #define CYTHON_ASSUME_SAFE_SIZE 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_FAST_GIL
    #define CYTHON_FAST_GIL 0
  #elif !defined(CYTHON_FAST_GIL)
    #define CYTHON_FAST_GIL (PY_VERSION_HEX < 0x030C00A6)
  #endif
  #ifndef CYTHON_METH_FASTCALL
    #define CYTHON_METH_FASTCALL 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #ifndef CYTHON_USE_SYS_MONITORING
    #define CYTHON_USE_SYS_MONITORING (PY_VERSION_HEX >= 0x030d00B1)
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 1
  #endif
  #ifndef CYTHON_USE_AM_SEND
    #define CYTHON_USE_AM_SEND 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_USE_DICT_VERSIONS
    #define CYTHON_USE_DICT_VERSIONS 0
  #elif !defined(CYTHON_USE_DICT_VERSIONS)
    #define CYTHON_USE_DICT_VERSIONS  (PY_VERSION_HEX < 0x030C00A5 && !CYTHON_USE_MODULE_STATE)
  #endif
  #ifndef CYTHON_USE_EXC_INFO_STACK
    #define CYTHON_USE_EXC_INFO_STACK 1
  #endif
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
  #endif
  #ifndef CYTHON_USE_FREELISTS
    #define CYTHON_USE_FREELISTS (!CYTHON_COMPILING_IN_CPYTHON_FREETHREADING)
  #endif
#endif
#ifndef CYTHON_FAST_PYCCALL
#define CYTHON_FAST_PYCCALL  CYTHON_FAST_PYCALL
#endif
#ifndef CYTHON_VECTORCALL
#if CYTHON_COMPILING_IN_LIMITED_API
#define CYTHON_VECTORCALL  (__PYX_LIMITED_VERSION_HEX >= 0x030C0000)
#else
#define CYTHON_VECTORCALL  (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1)
#endif
#endif
#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1)
#if CYTHON_USE_PYLONG_INTERNALS
  #undef SHIFT
  #undef BASE
  #undef MASK
  #ifdef SIZEOF_VOID_P
    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
  #endif
#endif
#ifndef CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME
  #define CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME 100
#endif
#ifndef __has_attribute
  #define __has_attribute(x) 0
#endif
#ifndef __has_cpp_attribute
  #define __has_cpp_attribute(x) 0
#endif
#ifndef CYTHON_RESTRICT
  #if defined(__GNUC__)
    #define CYTHON_RESTRICT __restrict__
  #elif defined(_MSC_VER) && _MSC_VER >= 1400
    #define CYTHON_RESTRICT __restrict
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_RESTRICT restrict
  #else
    #define CYTHON_RESTRICT
  #endif
#endif
#ifndef CYTHON_UNUSED
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(maybe_unused)
        #define CYTHON_UNUSED [[maybe_unused]]
      #endif
    #endif
  #endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_MAYBE_UNUSED_VAR
  #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_USE_CPP_STD_MOVE
  #if defined(__cplusplus) && (\
    __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
    #define CYTHON_USE_CPP_STD_MOVE 1
  #else
    #define CYTHON_USE_CPP_STD_MOVE 0
  #endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
    #ifndef _MSC_STDINT_H_
        #if _MSC_VER < 1300
            typedef unsigned char     uint8_t;
            typedef unsigned short    uint16_t;
            typedef unsigned int      uint32_t;
        #else
            typedef unsigned __int8   uint8_t;
            typedef unsigned __int16  uint16_t;
            typedef unsigned __int32  uint32_t;
        #endif
    #endif
    #if _MSC_VER < 1300
        #ifdef _WIN64
            typedef unsigned long long  __pyx_uintptr_t;
        #else
            typedef unsigned int        __pyx_uintptr_t;
        #endif
    #else
        #ifdef _WIN64
            typedef unsigned __int64    __pyx_uintptr_t;
        #else
            typedef unsigned __int32    __pyx_uintptr_t;
        #endif
    #endif
#else
    #include <stdint.h>
    typedef uintptr_t  __pyx_uintptr_t;
#endif
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(fallthrough) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(fallthrough)
        #define CYTHON_FALLTHROUGH [[fallthrough]]
      #endif
    #endif
    #ifndef CYTHON_FALLTHROUGH
      #if __has_cpp_attribute(clang::fallthrough)
        #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
      #elif __has_cpp_attribute(gnu::fallthrough)
        #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
      #endif
    #endif
  #endif
  #ifndef CYTHON_FALLTHROUGH
    #if __has_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
    #else
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
  #if defined(__clang__) && defined(__apple_build_version__)
    #if __apple_build_version__ < 7000000
      #undef  CYTHON_FALLTHROUGH
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
#endif
#ifndef Py_UNREACHABLE
  #define Py_UNREACHABLE()  assert(0); abort()
#endif
#ifdef __cplusplus
  template <typename T>
  struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);};
  #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL<type>::value)
#else
  #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
#endif
#if CYTHON_COMPILING_IN_PYPY == 1
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000)
#else
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000)
#endif
#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))

/* CppInitCode */
#ifndef __cplusplus
  #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
#endif
#ifndef CYTHON_INLINE
  #if defined(__clang__)
    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
  #else
    #define CYTHON_INLINE inline
  #endif
#endif
template<typename T>
void __Pyx_call_destructor(T& x) {
    x.~T();
}
template<typename T>
class __Pyx_FakeReference {
  public:
    __Pyx_FakeReference() : ptr(NULL) { }
    __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }
    T *operator->() { return ptr; }
    T *operator&() { return ptr; }
    operator T&() { return *ptr; }
    template<typename U> bool operator ==(const U& other) const { return *ptr == other; }
    template<typename U> bool operator !=(const U& other) const { return *ptr != other; }
    template<typename U> bool operator==(const __Pyx_FakeReference<U>& other) const { return *ptr == *other.ptr; }
    template<typename U> bool operator!=(const __Pyx_FakeReference<U>& other) const { return *ptr != *other.ptr; }
  private:
    T *ptr;
};

/* PythonCompatibility */
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
#if CYTHON_COMPILING_IN_LIMITED_API
    #ifndef CO_OPTIMIZED
    static int CO_OPTIMIZED;
    #endif
    #ifndef CO_NEWLOCALS
    static int CO_NEWLOCALS;
    #endif
    #ifndef CO_VARARGS
    static int CO_VARARGS;
    #endif
    #ifndef CO_VARKEYWORDS
    static int CO_VARKEYWORDS;
    #endif
    #ifndef CO_ASYNC_GENERATOR
    static int CO_ASYNC_GENERATOR;
    #endif
    #ifndef CO_GENERATOR
    static int CO_GENERATOR;
    #endif
    #ifndef CO_COROUTINE
    static int CO_COROUTINE;
    #endif
#else
    #ifndef CO_COROUTINE
      #define CO_COROUTINE 0x80
    #endif
    #ifndef CO_ASYNC_GENERATOR
      #define CO_ASYNC_GENERATOR 0x200
    #endif
#endif
static int __Pyx_init_co_variables(void);
#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE)
  #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type)
#else
  #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type))
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is)
  #define __Pyx_Py_Is(x, y)  Py_Is(x, y)
#else
  #define __Pyx_Py_Is(x, y) ((x) == (y))
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone)
  #define __Pyx_Py_IsNone(ob) Py_IsNone(ob)
#else
  #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None)
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue)
  #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob)
#else
  #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True)
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse)
  #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob)
#else
  #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False)
#endif
#define __Pyx_NoneAsNull(obj)  (__Pyx_Py_IsNone(obj) ? NULL : (obj))
#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
#else
  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
  #define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
  #define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#ifndef Py_TPFLAGS_SEQUENCE
  #define Py_TPFLAGS_SEQUENCE 0
#endif
#ifndef Py_TPFLAGS_MAPPING
  #define Py_TPFLAGS_MAPPING 0
#endif
#ifndef METH_STACKLESS
  #define METH_STACKLESS 0
#endif
#ifndef METH_FASTCALL
  #ifndef METH_FASTCALL
     #define METH_FASTCALL 0x80
  #endif
  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
                                                          Py_ssize_t nargs, PyObject *kwnames);
#else
  #if PY_VERSION_HEX >= 0x030d00A4
  #  define __Pyx_PyCFunctionFast PyCFunctionFast
  #  define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
  #else
  #  define __Pyx_PyCFunctionFast _PyCFunctionFast
  #  define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
  #endif
#endif
#if CYTHON_METH_FASTCALL
  #define __Pyx_METH_FASTCALL METH_FASTCALL
  #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
  #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
#else
  #define __Pyx_METH_FASTCALL METH_VARARGS
  #define __Pyx_PyCFunction_FastCall PyCFunction
  #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
#endif
#if CYTHON_VECTORCALL
  #define __pyx_vectorcallfunc vectorcallfunc
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  PY_VECTORCALL_ARGUMENTS_OFFSET
  #define __Pyx_PyVectorcall_NARGS(n)  PyVectorcall_NARGS((size_t)(n))
#elif CYTHON_BACKPORT_VECTORCALL
  typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args,
                                            size_t nargsf, PyObject *kwnames);
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  ((size_t)1 << (8 * sizeof(size_t) - 1))
  #define __Pyx_PyVectorcall_NARGS(n)  ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET))
#else
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  0
  #define __Pyx_PyVectorcall_NARGS(n)  ((Py_ssize_t)(n))
#endif
#if PY_VERSION_HEX >= 0x030900B1
#define __Pyx_PyCFunction_CheckExact(func)  PyCFunction_CheckExact(func)
#else
#define __Pyx_PyCFunction_CheckExact(func)  PyCFunction_Check(func)
#endif
#define __Pyx_CyOrPyCFunction_Check(func)  PyCFunction_Check(func)
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func)  (((PyCFunctionObject*)(func))->m_ml->ml_meth)
#elif !CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func)  PyCFunction_GET_FUNCTION(func)
#endif
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CyOrPyCFunction_GET_FLAGS(func)  (((PyCFunctionObject*)(func))->m_ml->ml_flags)
static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
    return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
}
#endif
static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void (*cfunc)(void)) {
#if CYTHON_COMPILING_IN_LIMITED_API
    return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
#else
    return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
#endif
}
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCFunction(func, cfunc)
#if __PYX_LIMITED_VERSION_HEX < 0x03090000
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b)  ((void)m, PyType_FromSpecWithBases(s, b))
  typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b)  PyType_FromModuleAndSpec(m, s, b)
  #define __Pyx_PyCMethod  PyCMethod
#endif
#ifndef METH_METHOD
  #define METH_METHOD 0x200
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
  #define PyObject_Malloc(s)   PyMem_Malloc(s)
  #define PyObject_Free(p)     PyMem_Free(p)
  #define PyObject_Realloc(p)  PyMem_Realloc(p)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)
#elif CYTHON_COMPILING_IN_GRAAL
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) _PyFrame_SetLineNumber((frame), (lineno))
#else
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#elif PY_VERSION_HEX >= 0x030d00A1
  #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#else
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#endif
#if CYTHON_USE_MODULE_STATE
static CYTHON_INLINE void *__Pyx__PyModule_GetState(PyObject *op)
{
    void *result;
    result = PyModule_GetState(op);
    if (!result)
        Py_FatalError("Couldn't find the module state");
    return result;
}
#define __Pyx_PyModule_GetState(o) (__pyx_mstatetype *)__Pyx__PyModule_GetState(o)
#else
#define __Pyx_PyModule_GetState(op) ((void)op,__pyx_mstate_global)
#endif
#define __Pyx_PyObject_GetSlot(obj, name, func_ctype)  __Pyx_PyType_GetSlot(Py_TYPE((PyObject *) obj), name, func_ctype)
#define __Pyx_PyObject_TryGetSlot(obj, name, func_ctype) __Pyx_PyType_TryGetSlot(Py_TYPE(obj), name, func_ctype)
#define __Pyx_PyObject_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(Py_TYPE(obj), sub, name, func_ctype)
#define __Pyx_PyObject_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSubSlot(Py_TYPE(obj), sub, name, func_ctype)
#if CYTHON_USE_TYPE_SLOTS
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((type)->name)
  #define __Pyx_PyType_TryGetSlot(type, name, func_ctype) __Pyx_PyType_GetSlot(type, name, func_ctype)
  #define __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype) (((type)->sub) ? ((type)->sub->name) : NULL)
  #define __Pyx_PyType_TryGetSubSlot(type, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype)
#else
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((func_ctype) PyType_GetSlot((type), Py_##name))
  #define __Pyx_PyType_TryGetSlot(type, name, func_ctype)\
    ((__PYX_LIMITED_VERSION_HEX >= 0x030A0000 ||\
     (PyType_GetFlags(type) & Py_TPFLAGS_HEAPTYPE) || __Pyx_get_runtime_version() >= 0x030A0000) ?\
     __Pyx_PyType_GetSlot(type, name, func_ctype) : NULL)
  #define __Pyx_PyType_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSlot(obj, name, func_ctype)
  #define __Pyx_PyType_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSlot(obj, name, func_ctype)
#endif
#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
#endif
#define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
    PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
    if (res == NULL) PyErr_Clear();
    return res;
}
#elif !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000
#define __Pyx_PyDict_GetItemStrWithError  PyDict_GetItemWithError
#define __Pyx_PyDict_GetItemStr           PyDict_GetItem
#else
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) {
#if CYTHON_COMPILING_IN_PYPY
    return PyDict_GetItem(dict, name);
#else
    PyDictEntry *ep;
    PyDictObject *mp = (PyDictObject*) dict;
    long hash = ((PyStringObject *) name)->ob_shash;
    assert(hash != -1);
    ep = (mp->ma_lookup)(mp, name, hash);
    if (ep == NULL) {
        return NULL;
    }
    return ep->me_value;
#endif
}
#define __Pyx_PyDict_GetItemStr           PyDict_GetItem
#endif
#if CYTHON_USE_TYPE_SLOTS
  #define __Pyx_PyType_GetFlags(tp)   (((PyTypeObject *)tp)->tp_flags)
  #define __Pyx_PyType_HasFeature(type, feature)  ((__Pyx_PyType_GetFlags(type) & (feature)) != 0)
#else
  #define __Pyx_PyType_GetFlags(tp)   (PyType_GetFlags((PyTypeObject *)tp))
  #define __Pyx_PyType_HasFeature(type, feature)  PyType_HasFeature(type, feature)
#endif
#define __Pyx_PyObject_GetIterNextFunc(iterator)  __Pyx_PyObject_GetSlot(iterator, tp_iternext, iternextfunc)
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  {\
    PyTypeObject *type = Py_TYPE((PyObject*)obj);\
    assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
    PyObject_GC_Del(obj);\
    Py_DECREF(type);\
}
#else
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  PyObject_GC_Del(obj)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((void)u, 1114111U)
  #define __Pyx_PyUnicode_KIND(u)         ((void)u, (0))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)u)
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)k, PyUnicode_ReadChar((PyObject*)(d), i))
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GetLength(u))
#else
  #if PY_VERSION_HEX >= 0x030C0000
    #define __Pyx_PyUnicode_READY(op)       (0)
  #else
    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                                0 : _PyUnicode_Ready((PyObject *)(op)))
  #endif
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
  #define __Pyx_PyUnicode_KIND(u)         ((int)PyUnicode_KIND(u))
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, (Py_UCS4) ch)
  #if PY_VERSION_HEX >= 0x030C0000
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
  #else
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
    #else
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
    #endif
  #endif
#endif
#if CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
#else
  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
#endif
#if CYTHON_COMPILING_IN_PYPY
  #if !defined(PyUnicode_DecodeUnicodeEscape)
    #define PyUnicode_DecodeUnicodeEscape(s, size, errors)  PyUnicode_Decode(s, size, "unicode_escape", errors)
  #endif
  #if !defined(PyUnicode_Contains)
    #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
  #endif
  #if !defined(PyByteArray_Check)
    #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
  #endif
  #if !defined(PyObject_Format)
    #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
  #endif
#endif
#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if CYTHON_COMPILING_IN_CPYTHON
  #define __Pyx_PySequence_ListKeepNew(obj)\
    (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
#else
  #define __Pyx_PySequence_ListKeepNew(obj)  PySequence_List(obj)
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        __Pyx_IS_TYPE(obj, &PySet_Type)
#endif
#if PY_VERSION_HEX >= 0x030900A4
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
#else
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
  #elif CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_PyList_GetItemRef(o, i) (likely((i) >= 0) ? PySequence_GetItem(o, i) : (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
  #else
    #define __Pyx_PyList_GetItemRef(o, i) PySequence_ITEM(o, i)
  #endif
#elif CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
  #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
  #else
    #define __Pyx_PyList_GetItemRef(o, i) __Pyx_XNewRef(PyList_GetItem(o, i))
  #endif
#else
  #define __Pyx_PyList_GetItemRef(o, i) __Pyx_NewRef(PyList_GET_ITEM(o, i))
#endif
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_PyDict_GetItemRef(dict, key, result) PyDict_GetItemRef(dict, key, result)
#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
static CYTHON_INLINE int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) {
  *result = PyObject_GetItem(dict, key);
  if (*result == NULL) {
    if (PyErr_ExceptionMatches(PyExc_KeyError)) {
      PyErr_Clear();
      return 0;
    }
    return -1;
  }
  return 1;
}
#else
static CYTHON_INLINE int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) {
  *result = PyDict_GetItemWithError(dict, key);
  if (*result == NULL) {
    return PyErr_Occurred() ? -1 : 0;
  }
  Py_INCREF(*result);
  return 1;
}
#endif
#if defined(CYTHON_DEBUG_VISIT_CONST) && CYTHON_DEBUG_VISIT_CONST
  #define __Pyx_VISIT_CONST(obj)  Py_VISIT(obj)
#else
  #define __Pyx_VISIT_CONST(obj)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
  #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
  #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GET_ITEM(o, i)
  #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
  #define __Pyx_PyList_GET_ITEM(o, i) PyList_GET_ITEM(o, i)
#else
  #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
  #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
  #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GetItem(o, i)
  #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
  #define __Pyx_PyList_GET_ITEM(o, i) PyList_GetItem(o, i)
#endif
#if CYTHON_ASSUME_SAFE_SIZE
  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
  #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
  #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
  #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GET_LENGTH(o)
#else
  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
  #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
  #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
  #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GetLength(o)
#endif
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
#else
  static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
      PyObject *module = PyImport_AddModule(name);
      Py_XINCREF(module);
      return module;
  }
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_InternFromString)
  #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
#endif
#define __Pyx_PyLong_FromHash_t PyLong_FromSsize_t
#define __Pyx_PyLong_AsHash_t   __Pyx_PyIndex_AsSsize_t
#if __PYX_LIMITED_VERSION_HEX >= 0x030A0000
    #define __Pyx_PySendResult PySendResult
#else
    typedef enum {
        PYGEN_RETURN = 0,
        PYGEN_ERROR = -1,
        PYGEN_NEXT = 1,
    } __Pyx_PySendResult;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX < 0x030A00A3
  typedef __Pyx_PySendResult (*__Pyx_pyiter_sendfunc)(PyObject *iter, PyObject *value, PyObject **result);
#else
  #define __Pyx_pyiter_sendfunc sendfunc
#endif
#if !CYTHON_USE_AM_SEND
#define __PYX_HAS_PY_AM_SEND 0
#elif __PYX_LIMITED_VERSION_HEX >= 0x030A0000
#define __PYX_HAS_PY_AM_SEND 1
#else
#define __PYX_HAS_PY_AM_SEND 2  // our own backported implementation
#endif
#if __PYX_HAS_PY_AM_SEND < 2
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
#else
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
        __Pyx_pyiter_sendfunc am_send;
    } __Pyx_PyAsyncMethodsStruct;
    #define __Pyx_SlotTpAsAsync(s) ((PyAsyncMethods*)(s))
#endif
#if CYTHON_USE_AM_SEND && PY_VERSION_HEX < 0x030A00F0
    #define __Pyx_TPFLAGS_HAVE_AM_SEND (1UL << 21)
#else
    #define __Pyx_TPFLAGS_HAVE_AM_SEND (0)
#endif
#if PY_VERSION_HEX >= 0x03090000
#define __Pyx_PyInterpreterState_Get() PyInterpreterState_Get()
#else
#define __Pyx_PyInterpreterState_Get() PyThreadState_Get()->interp
#endif
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030A0000
#ifdef __cplusplus
extern "C"
#endif
PyAPI_FUNC(void *) PyMem_Calloc(size_t nelem, size_t elsize);
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_init_co_variable(PyObject *inspect, const char* name, int *write_to) {
    int value;
    PyObject *py_value = PyObject_GetAttrString(inspect, name);
    if (!py_value) return 0;
    value = (int) PyLong_AsLong(py_value);
    Py_DECREF(py_value);
    *write_to = value;
    return value != -1 || !PyErr_Occurred();
}
static int __Pyx_init_co_variables(void) {
    PyObject *inspect;
    int result;
    inspect = PyImport_ImportModule("inspect");
    result =
#if !defined(CO_OPTIMIZED)
        __Pyx_init_co_variable(inspect, "CO_OPTIMIZED", &CO_OPTIMIZED) &&
#endif
#if !defined(CO_NEWLOCALS)
        __Pyx_init_co_variable(inspect, "CO_NEWLOCALS", &CO_NEWLOCALS) &&
#endif
#if !defined(CO_VARARGS)
        __Pyx_init_co_variable(inspect, "CO_VARARGS", &CO_VARARGS) &&
#endif
#if !defined(CO_VARKEYWORDS)
        __Pyx_init_co_variable(inspect, "CO_VARKEYWORDS", &CO_VARKEYWORDS) &&
#endif
#if !defined(CO_ASYNC_GENERATOR)
        __Pyx_init_co_variable(inspect, "CO_ASYNC_GENERATOR", &CO_ASYNC_GENERATOR) &&
#endif
#if !defined(CO_GENERATOR)
        __Pyx_init_co_variable(inspect, "CO_GENERATOR", &CO_GENERATOR) &&
#endif
#if !defined(CO_COROUTINE)
        __Pyx_init_co_variable(inspect, "CO_COROUTINE", &CO_COROUTINE) &&
#endif
        1;
    Py_DECREF(inspect);
    return result ? 0 : -1;
}
#else
static int __Pyx_init_co_variables(void) {
    return 0;  // It's a limited API-only feature
}
#endif

/* MathInitCode */
#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
  #ifndef _USE_MATH_DEFINES
    #define _USE_MATH_DEFINES
  #endif
#endif
#include <math.h>
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
  float value;
  memset(&value, 0xFF, sizeof(value));
  return value;
}
#endif
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif

#ifndef CYTHON_CLINE_IN_TRACEBACK_RUNTIME
#define CYTHON_CLINE_IN_TRACEBACK_RUNTIME 0
#endif
#ifndef CYTHON_CLINE_IN_TRACEBACK
#define CYTHON_CLINE_IN_TRACEBACK CYTHON_CLINE_IN_TRACEBACK_RUNTIME
#endif
#if CYTHON_CLINE_IN_TRACEBACK
#define __PYX_MARK_ERR_POS(f_index, lineno)  { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; __pyx_clineno = __LINE__; (void) __pyx_clineno; }
#else
#define __PYX_MARK_ERR_POS(f_index, lineno)  { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; (void) __pyx_clineno; }
#endif
#define __PYX_ERR(f_index, lineno, Ln_error) \
    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }

#ifdef CYTHON_EXTERN_C
    #undef __PYX_EXTERN_C
    #define __PYX_EXTERN_C CYTHON_EXTERN_C
#elif defined(__PYX_EXTERN_C)
    #ifdef _MSC_VER
    #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
    #else
    #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
    #endif
#else
    #define __PYX_EXTERN_C extern "C++"
#endif

#define __PYX_HAVE__cuda__bindings__driver
#define __PYX_HAVE_API__cuda__bindings__driver
/* Early includes */
#include <stdint.h>
#include "cuda.h"
#include "cudaProfiler.h"
#include "vector_types.h"
#include "driver_types.h"
#include "surface_types.h"
#include "texture_types.h"
#include "library_types.h"
#include "cuda_runtime_api.h"
#include "device_types.h"
#include "ios"
#include "new"
#include "stdexcept"
#include "typeinfo"
#include <vector>
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
#include <limits.h>
#include <stdio.h>
#include <utility>

    #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
    // move should be defined for these versions of MSVC, but __cplusplus isn't set usefully
    #include <type_traits>

    namespace cython_std {
    template <typename T> typename std::remove_reference<T>::type&& move(T& t) noexcept { return std::move(t); }
    template <typename T> typename std::remove_reference<T>::type&& move(T&& t) noexcept { return std::move(t); }
    }

    #endif
    
#include <map>
#include "param_packer.h"
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
#define CYTHON_WITHOUT_ASSERTIONS
#endif

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
#define __PYX_DEFAULT_STRING_ENCODING ""
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#define __Pyx_uchar_cast(c) ((unsigned char)c)
#define __Pyx_long_cast(x) ((long)x)
#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
    (sizeof(type) < sizeof(Py_ssize_t))  ||\
    (sizeof(type) > sizeof(Py_ssize_t) &&\
          likely(v < (type)PY_SSIZE_T_MAX ||\
                 v == (type)PY_SSIZE_T_MAX)  &&\
          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
                                v == (type)PY_SSIZE_T_MIN)))  ||\
    (sizeof(type) == sizeof(Py_ssize_t) &&\
          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
                               v == (type)PY_SSIZE_T_MAX)))  )
static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
    return (size_t) i < (size_t) limit;
}
#if defined (__cplusplus) && __cplusplus >= 201103L
    #include <cstdlib>
    #define __Pyx_sst_abs(value) std::abs(value)
#elif SIZEOF_INT >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) abs(value)
#elif SIZEOF_LONG >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) labs(value)
#elif defined (_MSC_VER)
    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define __Pyx_sst_abs(value) llabs(value)
#elif defined (__GNUC__)
    #define __Pyx_sst_abs(value) __builtin_llabs(value)
#else
    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString        PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#if CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyByteArray_AsString(s) PyByteArray_AS_STRING(s)
#else
    #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AsString(s))
    #define __Pyx_PyByteArray_AsString(s) PyByteArray_AsString(s)
#endif
#define __Pyx_PyObject_AsWritableString(s)    ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#define __Pyx_PyUnicode_FromOrdinal(o)       PyUnicode_FromOrdinal((int)o)
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
static CYTHON_INLINE PyObject *__Pyx_NewRef(PyObject *obj) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_NewRef)
    return Py_NewRef(obj);
#else
    Py_INCREF(obj);
    return obj;
#endif
}
static CYTHON_INLINE PyObject *__Pyx_XNewRef(PyObject *obj) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_XNewRef)
    return Py_XNewRef(obj);
#else
    Py_XINCREF(obj);
    return obj;
#endif
}
static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b);
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x);
#define __Pyx_PySequence_Tuple(obj)\
    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t);
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#if CYTHON_ASSUME_SAFE_MACROS
#define __Pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AS_DOUBLE(x)
#else
#define __Pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AsDouble(x)
#endif
#define __Pyx_PyFloat_AsFloat(x) ((float) __Pyx_PyFloat_AsDouble(x))
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#if CYTHON_USE_PYLONG_INTERNALS
  #if PY_VERSION_HEX >= 0x030C00A7
  #ifndef _PyLong_SIGN_MASK
    #define _PyLong_SIGN_MASK 3
  #endif
  #ifndef _PyLong_NON_SIZE_BITS
    #define _PyLong_NON_SIZE_BITS 3
  #endif
  #define __Pyx_PyLong_Sign(x)  (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK)
  #define __Pyx_PyLong_IsNeg(x)  ((__Pyx_PyLong_Sign(x) & 2) != 0)
  #define __Pyx_PyLong_IsNonNeg(x)  (!__Pyx_PyLong_IsNeg(x))
  #define __Pyx_PyLong_IsZero(x)  (__Pyx_PyLong_Sign(x) & 1)
  #define __Pyx_PyLong_IsPos(x)  (__Pyx_PyLong_Sign(x) == 0)
  #define __Pyx_PyLong_CompactValueUnsigned(x)  (__Pyx_PyLong_Digits(x)[0])
  #define __Pyx_PyLong_DigitCount(x)  ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS))
  #define __Pyx_PyLong_SignedDigitCount(x)\
        ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
  #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
    #define __Pyx_PyLong_IsCompact(x)     PyUnstable_Long_IsCompact((PyLongObject*) x)
    #define __Pyx_PyLong_CompactValue(x)  PyUnstable_Long_CompactValue((PyLongObject*) x)
  #else
    #define __Pyx_PyLong_IsCompact(x)     (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
    #define __Pyx_PyLong_CompactValue(x)  ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
  #endif
  typedef Py_ssize_t  __Pyx_compact_pylong;
  typedef size_t  __Pyx_compact_upylong;
  #else
  #define __Pyx_PyLong_IsNeg(x)  (Py_SIZE(x) < 0)
  #define __Pyx_PyLong_IsNonNeg(x)  (Py_SIZE(x) >= 0)
  #define __Pyx_PyLong_IsZero(x)  (Py_SIZE(x) == 0)
  #define __Pyx_PyLong_IsPos(x)  (Py_SIZE(x) > 0)
  #define __Pyx_PyLong_CompactValueUnsigned(x)  ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0])
  #define __Pyx_PyLong_DigitCount(x)  __Pyx_sst_abs(Py_SIZE(x))
  #define __Pyx_PyLong_SignedDigitCount(x)  Py_SIZE(x)
  #define __Pyx_PyLong_IsCompact(x)  (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1)
  #define __Pyx_PyLong_CompactValue(x)\
        ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0]))
  typedef sdigit  __Pyx_compact_pylong;
  typedef digit  __Pyx_compact_upylong;
  #endif
  static CYTHON_INLINE int __Pyx_PyLong_CompactAsLong(PyObject *x, long *return_value);
  #if PY_VERSION_HEX >= 0x030C00A5
  #define __Pyx_PyLong_Digits(x)  (((PyLongObject*)x)->long_value.ob_digit)
  #else
  #define __Pyx_PyLong_Digits(x)  (((PyLongObject*)x)->ob_digit)
  #endif
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#elif __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeASCII(c_str, size, NULL)
#else
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#endif


/* Test for GCC > 2.95 */
#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  #define likely(x)   __builtin_expect(!!(x), 1)
  #define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */
/* PretendToInitialize */
#ifdef __cplusplus
#if __cplusplus > 201103L
#include <type_traits>
#endif
template <typename T>
static void __Pyx_pretend_to_initialize(T* ptr) {
#if __cplusplus > 201103L
    if ((std::is_trivially_default_constructible<T>::value))
#endif
        *ptr = T();
    (void)ptr;
}
#else
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
#endif


#if !CYTHON_USE_MODULE_STATE
static PyObject *__pyx_m = NULL;
#endif
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * const __pyx_cfilenm = __FILE__;
static const char *__pyx_filename;

/* #### Code section: filename_table ### */

static const char* const __pyx_f[] = {
  "cuda/bindings/driver.pyx",
  "cuda/bindings/_lib/utils.pxi",
  "<stringsource>",
  "cuda/bindings/driver.pxd",
  "cpython/type.pxd",
};
/* #### Code section: utility_code_proto_before_types ### */
/* Atomics.proto */
#include <pythread.h>
#ifndef CYTHON_ATOMICS
    #define CYTHON_ATOMICS 1
#endif
#define __PYX_CYTHON_ATOMICS_ENABLED() CYTHON_ATOMICS
#define __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __pyx_atomic_int_type int
#define __pyx_nonatomic_int_type int
#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
                        (__STDC_VERSION__ >= 201112L) &&\
                        !defined(__STDC_NO_ATOMICS__))
    #include <stdatomic.h>
#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
                    (__cplusplus >= 201103L) ||\
                    (defined(_MSC_VER) && _MSC_VER >= 1700)))
    #include <atomic>
#endif
#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
                        (__STDC_VERSION__ >= 201112L) &&\
                        !defined(__STDC_NO_ATOMICS__) &&\
                       ATOMIC_INT_LOCK_FREE == 2)
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type atomic_int
    #define __pyx_atomic_ptr_type atomic_uintptr_t
    #define __pyx_nonatomic_ptr_type uintptr_t
    #define __pyx_atomic_incr_relaxed(value) atomic_fetch_add_explicit(value, 1, memory_order_relaxed)
    #define __pyx_atomic_incr_acq_rel(value) atomic_fetch_add_explicit(value, 1, memory_order_acq_rel)
    #define __pyx_atomic_decr_acq_rel(value) atomic_fetch_sub_explicit(value, 1, memory_order_acq_rel)
    #define __pyx_atomic_sub(value, arg) atomic_fetch_sub(value, arg)
    #define __pyx_atomic_int_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired)
    #define __pyx_atomic_load(value) atomic_load(value)
    #define __pyx_atomic_store(value, new_value) atomic_store(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) atomic_load_explicit(value, memory_order_relaxed)
    #define __pyx_atomic_pointer_load_acquire(value) atomic_load_explicit(value, memory_order_acquire)
    #define __pyx_atomic_pointer_exchange(value, new_value) atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value)
    #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
        #pragma message ("Using standard C atomics")
    #elif defined(__PYX_DEBUG_ATOMICS)
        #warning "Using standard C atomics"
    #endif
#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
                    (__cplusplus >= 201103L) ||\
\
                    (defined(_MSC_VER) && _MSC_VER >= 1700)) &&\
                    ATOMIC_INT_LOCK_FREE == 2)
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type std::atomic_int
    #define __pyx_atomic_ptr_type std::atomic_uintptr_t
    #define __pyx_nonatomic_ptr_type uintptr_t
    #define __pyx_atomic_incr_relaxed(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_relaxed)
    #define __pyx_atomic_incr_acq_rel(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_acq_rel)
    #define __pyx_atomic_decr_acq_rel(value) std::atomic_fetch_sub_explicit(value, 1, std::memory_order_acq_rel)
    #define __pyx_atomic_sub(value, arg) std::atomic_fetch_sub(value, arg)
    #define __pyx_atomic_int_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired)
    #define __pyx_atomic_load(value) std::atomic_load(value)
    #define __pyx_atomic_store(value, new_value) std::atomic_store(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) std::atomic_load_explicit(value, std::memory_order_relaxed)
    #define __pyx_atomic_pointer_load_acquire(value) std::atomic_load_explicit(value, std::memory_order_acquire)
    #define __pyx_atomic_pointer_exchange(value, new_value) std::atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value)
    #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
        #pragma message ("Using standard C++ atomics")
    #elif defined(__PYX_DEBUG_ATOMICS)
        #warning "Using standard C++ atomics"
    #endif
#elif CYTHON_ATOMICS && (__GNUC__ >= 5 || (__GNUC__ == 4 &&\
                    (__GNUC_MINOR__ > 1 ||\
                    (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ >= 2))))
    #define __pyx_atomic_ptr_type void*
    #define __pyx_atomic_incr_relaxed(value) __sync_fetch_and_add(value, 1)
    #define __pyx_atomic_incr_acq_rel(value) __sync_fetch_and_add(value, 1)
    #define __pyx_atomic_decr_acq_rel(value) __sync_fetch_and_sub(value, 1)
    #define __pyx_atomic_sub(value, arg) __sync_fetch_and_sub(value, arg)
    static CYTHON_INLINE int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) {
        __pyx_nonatomic_int_type old = __sync_val_compare_and_swap(value, *expected, desired);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #define __pyx_atomic_load(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_store(value, new_value) __sync_lock_test_and_set(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_pointer_load_acquire(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_pointer_exchange(value, new_value) __sync_lock_test_and_set(value, (__pyx_atomic_ptr_type)new_value)
    #ifdef __PYX_DEBUG_ATOMICS
        #warning "Using GNU atomics"
    #endif
#elif CYTHON_ATOMICS && defined(_MSC_VER)
    #include <intrin.h>
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type long
    #define __pyx_atomic_ptr_type void*
    #undef __pyx_nonatomic_int_type
    #define __pyx_nonatomic_int_type long
    #pragma intrinsic (_InterlockedExchangeAdd, _InterlockedExchange, _InterlockedCompareExchange, _InterlockedCompareExchangePointer, _InterlockedExchangePointer)
    #define __pyx_atomic_incr_relaxed(value) _InterlockedExchangeAdd(value, 1)
    #define __pyx_atomic_incr_acq_rel(value) _InterlockedExchangeAdd(value, 1)
    #define __pyx_atomic_decr_acq_rel(value) _InterlockedExchangeAdd(value, -1)
    #define __pyx_atomic_sub(value, arg) _InterlockedExchangeAdd(value, -arg)
    static CYTHON_INLINE int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) {
        __pyx_nonatomic_int_type old = _InterlockedCompareExchange(value, desired, *expected);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #define __pyx_atomic_load(value) _InterlockedExchangeAdd(value, 0)
    #define __pyx_atomic_store(value, new_value) _InterlockedExchange(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) *(void * volatile *)value
    #define __pyx_atomic_pointer_load_acquire(value) _InterlockedCompareExchangePointer(value, 0, 0)
    #define __pyx_atomic_pointer_exchange(value, new_value) _InterlockedExchangePointer(value, (__pyx_atomic_ptr_type)new_value)
    #ifdef __PYX_DEBUG_ATOMICS
        #pragma message ("Using MSVC atomics")
    #endif
#else
    #undef CYTHON_ATOMICS
    #define CYTHON_ATOMICS 0
    #ifdef __PYX_DEBUG_ATOMICS
        #warning "Not using atomics"
    #endif
#endif
#if CYTHON_ATOMICS
    #define __pyx_add_acquisition_count(memview)\
             __pyx_atomic_incr_relaxed(__pyx_get_slice_count_pointer(memview))
    #define __pyx_sub_acquisition_count(memview)\
            __pyx_atomic_decr_acq_rel(__pyx_get_slice_count_pointer(memview))
#else
    #define __pyx_add_acquisition_count(memview)\
            __pyx_add_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
    #define __pyx_sub_acquisition_count(memview)\
            __pyx_sub_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
#endif

/* NoFastGil.proto */
#define __Pyx_PyGILState_Ensure PyGILState_Ensure
#define __Pyx_PyGILState_Release PyGILState_Release
#define __Pyx_FastGIL_Remember()
#define __Pyx_FastGIL_Forget()
#define __Pyx_FastGilFuncInit()

/* ForceInitThreads.proto */
#ifndef __PYX_FORCE_INIT_THREADS
  #define __PYX_FORCE_INIT_THREADS 0
#endif

/* IncludeStructmemberH.proto */
#include <structmember.h>

/* CriticalSections.proto */
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __Pyx_PyCriticalSection void*
#define __Pyx_PyCriticalSection2 void*
#define __Pyx_PyCriticalSection_Begin1(cs, arg) (void)cs
#define __Pyx_PyCriticalSection_Begin2(cs, arg1, arg2) (void)cs
#define __Pyx_PyCriticalSection_End1(cs)
#define __Pyx_PyCriticalSection_End2(cs)
#else
#define __Pyx_PyCriticalSection PyCriticalSection
#define __Pyx_PyCriticalSection2 PyCriticalSection2
#define __Pyx_PyCriticalSection_Begin1 PyCriticalSection_Begin
#define __Pyx_PyCriticalSection_Begin2 PyCriticalSection2_Begin
#define __Pyx_PyCriticalSection_End1 PyCriticalSection_End
#define __Pyx_PyCriticalSection_End2 PyCriticalSection2_End
#endif
#if PY_VERSION_HEX < 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_BEGIN_CRITICAL_SECTION(o) {
#define __Pyx_END_CRITICAL_SECTION() }
#else
#define __Pyx_BEGIN_CRITICAL_SECTION Py_BEGIN_CRITICAL_SECTION
#define __Pyx_END_CRITICAL_SECTION Py_END_CRITICAL_SECTION
#endif

/* #### Code section: numeric_typedefs ### */

/* "cuda/bindings/cydriver.pxd":2602
 * ctypedef CUGLmap_flags_enum CUGLmap_flags
 * 
 * ctypedef unsigned int GLenum             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int GLuint
*/
typedef unsigned int __pyx_t_4cuda_8bindings_8cydriver_GLenum;

/* "cuda/bindings/cydriver.pxd":2604
 * ctypedef unsigned int GLenum
 * 
 * ctypedef unsigned int GLuint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef unsigned int __pyx_t_4cuda_8bindings_8cydriver_GLuint;

/* "cuda/bindings/cydriver.pxd":2616
 * ctypedef void* EGLStreamKHR
 * 
 * ctypedef unsigned int EGLint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef unsigned int __pyx_t_4cuda_8bindings_8cydriver_EGLint;

/* "cuda/bindings/cydriver.pxd":2623
 * ctypedef void* EGLSyncKHR
 * 
 * ctypedef uint32_t VdpDevice             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long VdpGetProcAddress
*/
typedef uint32_t __pyx_t_4cuda_8bindings_8cydriver_VdpDevice;

/* "cuda/bindings/cydriver.pxd":2625
 * ctypedef uint32_t VdpDevice
 * 
 * ctypedef unsigned long long VdpGetProcAddress             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpVideoSurface
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress;

/* "cuda/bindings/cydriver.pxd":2627
 * ctypedef unsigned long long VdpGetProcAddress
 * 
 * ctypedef uint32_t VdpVideoSurface             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpOutputSurface
*/
typedef uint32_t __pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface;

/* "cuda/bindings/cydriver.pxd":2629
 * ctypedef uint32_t VdpVideoSurface
 * 
 * ctypedef uint32_t VdpOutputSurface             # <<<<<<<<<<<<<<
 * 
 * cdef CUresult cuGetErrorString(CUresult error, const char** pStr) except ?CUDA_ERROR_NOT_FOUND nogil
*/
typedef uint32_t __pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface;

/* "cuda/bindings/cyruntime.pxd":10
 * include "cyruntime_types.pxi"
 * 
 * ctypedef unsigned int GLenum             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int GLuint
*/
typedef unsigned int __pyx_t_4cuda_8bindings_9cyruntime_GLenum;

/* "cuda/bindings/cyruntime.pxd":12
 * ctypedef unsigned int GLenum
 * 
 * ctypedef unsigned int GLuint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef unsigned int __pyx_t_4cuda_8bindings_9cyruntime_GLuint;

/* "cuda/bindings/cyruntime.pxd":24
 * ctypedef void* EGLStreamKHR
 * 
 * ctypedef unsigned int EGLint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef unsigned int __pyx_t_4cuda_8bindings_9cyruntime_EGLint;

/* "cuda/bindings/cyruntime.pxd":31
 * ctypedef void* EGLSyncKHR
 * 
 * ctypedef uint32_t VdpDevice             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long VdpGetProcAddress
*/
typedef uint32_t __pyx_t_4cuda_8bindings_9cyruntime_VdpDevice;

/* "cuda/bindings/cyruntime.pxd":33
 * ctypedef uint32_t VdpDevice
 * 
 * ctypedef unsigned long long VdpGetProcAddress             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpVideoSurface
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_9cyruntime_VdpGetProcAddress;

/* "cuda/bindings/cyruntime.pxd":35
 * ctypedef unsigned long long VdpGetProcAddress
 * 
 * ctypedef uint32_t VdpVideoSurface             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpOutputSurface
*/
typedef uint32_t __pyx_t_4cuda_8bindings_9cyruntime_VdpVideoSurface;

/* "cuda/bindings/cyruntime.pxd":37
 * ctypedef uint32_t VdpVideoSurface
 * 
 * ctypedef uint32_t VdpOutputSurface             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaEglFrameType_enum:
*/
typedef uint32_t __pyx_t_4cuda_8bindings_9cyruntime_VdpOutputSurface;

/* "cuda/bindings/driver.pyx":23
 * include "_lib/utils.pxi"
 * 
 * ctypedef unsigned long long signed_char_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_char_ptr
 * ctypedef unsigned long long char_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_signed_char_ptr;

/* "cuda/bindings/driver.pyx":24
 * 
 * ctypedef unsigned long long signed_char_ptr
 * ctypedef unsigned long long unsigned_char_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long char_ptr
 * ctypedef unsigned long long short_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_unsigned_char_ptr;

/* "cuda/bindings/driver.pyx":25
 * ctypedef unsigned long long signed_char_ptr
 * ctypedef unsigned long long unsigned_char_ptr
 * ctypedef unsigned long long char_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long short_ptr
 * ctypedef unsigned long long unsigned_short_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_char_ptr;

/* "cuda/bindings/driver.pyx":26
 * ctypedef unsigned long long unsigned_char_ptr
 * ctypedef unsigned long long char_ptr
 * ctypedef unsigned long long short_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_short_ptr
 * ctypedef unsigned long long int_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_short_ptr;

/* "cuda/bindings/driver.pyx":27
 * ctypedef unsigned long long char_ptr
 * ctypedef unsigned long long short_ptr
 * ctypedef unsigned long long unsigned_short_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long int_ptr
 * ctypedef unsigned long long long_int_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_unsigned_short_ptr;

/* "cuda/bindings/driver.pyx":28
 * ctypedef unsigned long long short_ptr
 * ctypedef unsigned long long unsigned_short_ptr
 * ctypedef unsigned long long int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long long_int_ptr
 * ctypedef unsigned long long long_long_int_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_int_ptr;

/* "cuda/bindings/driver.pyx":29
 * ctypedef unsigned long long unsigned_short_ptr
 * ctypedef unsigned long long int_ptr
 * ctypedef unsigned long long long_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long long_long_int_ptr
 * ctypedef unsigned long long unsigned_int_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_long_int_ptr;

/* "cuda/bindings/driver.pyx":30
 * ctypedef unsigned long long int_ptr
 * ctypedef unsigned long long long_int_ptr
 * ctypedef unsigned long long long_long_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_int_ptr
 * ctypedef unsigned long long unsigned_long_int_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_long_long_int_ptr;

/* "cuda/bindings/driver.pyx":31
 * ctypedef unsigned long long long_int_ptr
 * ctypedef unsigned long long long_long_int_ptr
 * ctypedef unsigned long long unsigned_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_long_int_ptr
 * ctypedef unsigned long long unsigned_long_long_int_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_unsigned_int_ptr;

/* "cuda/bindings/driver.pyx":32
 * ctypedef unsigned long long long_long_int_ptr
 * ctypedef unsigned long long unsigned_int_ptr
 * ctypedef unsigned long long unsigned_long_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_long_long_int_ptr
 * ctypedef unsigned long long uint32_t_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_unsigned_long_int_ptr;

/* "cuda/bindings/driver.pyx":33
 * ctypedef unsigned long long unsigned_int_ptr
 * ctypedef unsigned long long unsigned_long_int_ptr
 * ctypedef unsigned long long unsigned_long_long_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long uint32_t_ptr
 * ctypedef unsigned long long uint64_t_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_unsigned_long_long_int_ptr;

/* "cuda/bindings/driver.pyx":34
 * ctypedef unsigned long long unsigned_long_int_ptr
 * ctypedef unsigned long long unsigned_long_long_int_ptr
 * ctypedef unsigned long long uint32_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long uint64_t_ptr
 * ctypedef unsigned long long int32_t_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_uint32_t_ptr;

/* "cuda/bindings/driver.pyx":35
 * ctypedef unsigned long long unsigned_long_long_int_ptr
 * ctypedef unsigned long long uint32_t_ptr
 * ctypedef unsigned long long uint64_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long int32_t_ptr
 * ctypedef unsigned long long int64_t_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_uint64_t_ptr;

/* "cuda/bindings/driver.pyx":36
 * ctypedef unsigned long long uint32_t_ptr
 * ctypedef unsigned long long uint64_t_ptr
 * ctypedef unsigned long long int32_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long int64_t_ptr
 * ctypedef unsigned long long unsigned_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_int32_t_ptr;

/* "cuda/bindings/driver.pyx":37
 * ctypedef unsigned long long uint64_t_ptr
 * ctypedef unsigned long long int32_t_ptr
 * ctypedef unsigned long long int64_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_ptr
 * ctypedef unsigned long long unsigned_long_long_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_int64_t_ptr;

/* "cuda/bindings/driver.pyx":38
 * ctypedef unsigned long long int32_t_ptr
 * ctypedef unsigned long long int64_t_ptr
 * ctypedef unsigned long long unsigned_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_long_long_ptr
 * ctypedef unsigned long long long_long_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_unsigned_ptr;

/* "cuda/bindings/driver.pyx":39
 * ctypedef unsigned long long int64_t_ptr
 * ctypedef unsigned long long unsigned_ptr
 * ctypedef unsigned long long unsigned_long_long_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long long_long_ptr
 * ctypedef unsigned long long size_t_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_unsigned_long_long_ptr;

/* "cuda/bindings/driver.pyx":40
 * ctypedef unsigned long long unsigned_ptr
 * ctypedef unsigned long long unsigned_long_long_ptr
 * ctypedef unsigned long long long_long_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long size_t_ptr
 * ctypedef unsigned long long long_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_long_long_ptr;

/* "cuda/bindings/driver.pyx":41
 * ctypedef unsigned long long unsigned_long_long_ptr
 * ctypedef unsigned long long long_long_ptr
 * ctypedef unsigned long long size_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long long_ptr
 * ctypedef unsigned long long float_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_size_t_ptr;

/* "cuda/bindings/driver.pyx":42
 * ctypedef unsigned long long long_long_ptr
 * ctypedef unsigned long long size_t_ptr
 * ctypedef unsigned long long long_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long float_ptr
 * ctypedef unsigned long long double_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_long_ptr;

/* "cuda/bindings/driver.pyx":43
 * ctypedef unsigned long long size_t_ptr
 * ctypedef unsigned long long long_ptr
 * ctypedef unsigned long long float_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long double_ptr
 * ctypedef unsigned long long void_ptr
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_float_ptr;

/* "cuda/bindings/driver.pyx":44
 * ctypedef unsigned long long long_ptr
 * ctypedef unsigned long long float_ptr
 * ctypedef unsigned long long double_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long void_ptr
 * 
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_double_ptr;

/* "cuda/bindings/driver.pyx":45
 * ctypedef unsigned long long float_ptr
 * ctypedef unsigned long long double_ptr
 * ctypedef unsigned long long void_ptr             # <<<<<<<<<<<<<<
 * 
 * #: CUDA API version number
*/
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_8bindings_6driver_void_ptr;
/* #### Code section: complex_type_declarations ### */
/* #### Code section: type_declarations ### */

/*--- Type declarations ---*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams;
struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType;
struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper;
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings;
struct __pyx_obj_4cuda_8bindings_6driver_CUcontext;
struct __pyx_obj_4cuda_8bindings_6driver_CUmodule;
struct __pyx_obj_4cuda_8bindings_6driver_CUfunction;
struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary;
struct __pyx_obj_4cuda_8bindings_6driver_CUkernel;
struct __pyx_obj_4cuda_8bindings_6driver_CUarray;
struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray;
struct __pyx_obj_4cuda_8bindings_6driver_CUtexref;
struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref;
struct __pyx_obj_4cuda_8bindings_6driver_CUevent;
struct __pyx_obj_4cuda_8bindings_6driver_CUstream;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource;
struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory;
struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraph;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool;
struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode;
struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle;
struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx;
struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc;
struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle;
struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection;
struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR;
struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR;
struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR;
struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback;
struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback;
struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize;
struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback;
struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union2;
struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5;
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union;
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union3;
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union4;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union5;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union6;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union7;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union8;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union9;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union10;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union11;
struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23;
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union12;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st;
struct __pyx_obj_4cuda_8bindings_6driver_anon_union15;
struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevice;
struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject;
struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle;
struct __pyx_obj_4cuda_8bindings_6driver_CUuuid;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle;
struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle;
struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop;
struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap;
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue;
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute;
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig;
struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue;
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount;
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam;
struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam;
struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams;
struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC;
struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle;
struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp;
struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes;
struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D;
struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS;
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams;
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs;
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs;
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs;
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource;
struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame;
struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t;
struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t;
struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1;
struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator;
struct __pyx_obj_4cuda_8bindings_6driver_GLenum;
struct __pyx_obj_4cuda_8bindings_6driver_GLuint;
struct __pyx_obj_4cuda_8bindings_6driver_EGLint;
struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice;
struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress;
struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface;
struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface;
struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr;
union __pyx_t_4cuda_8bindings_8cydriver_anon_union15;
struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st;

/* "cuda/bindings/cydriver.pxd":2429
 *     ctypedef CUoutput_mode_enum CUoutput_mode
 * 
 * cdef enum CUeglFrameType_enum:             # <<<<<<<<<<<<<<
 *     CU_EGL_FRAME_TYPE_ARRAY = 0
 *     CU_EGL_FRAME_TYPE_PITCH = 1
*/
enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum {
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_FRAME_TYPE_ARRAY = 0,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_FRAME_TYPE_PITCH = 1
};

/* "cuda/bindings/cydriver.pxd":2435
 * ctypedef CUeglFrameType_enum CUeglFrameType
 * 
 * cdef enum CUeglResourceLocationFlags_enum:             # <<<<<<<<<<<<<<
 *     CU_EGL_RESOURCE_LOCATION_SYSMEM = 0
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = 1
*/
enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum {
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_RESOURCE_LOCATION_SYSMEM = 0,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_RESOURCE_LOCATION_VIDMEM = 1
};

/* "cuda/bindings/cydriver.pxd":2441
 * ctypedef CUeglResourceLocationFlags_enum CUeglResourceLocationFlags
 * 
 * cdef enum CUeglColorFormat_enum:             # <<<<<<<<<<<<<<
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR = 0
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR = 1
*/
enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum {
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_PLANAR = 0,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR = 1,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV422_PLANAR = 2,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR = 3,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_RGB = 4,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BGR = 5,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_ARGB = 6,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_RGBA = 7,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_L = 8,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_R = 9,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV444_PLANAR = 10,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR = 11,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUYV_422 = 12,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_422 = 13,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_ABGR = 14,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BGRA = 15,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_A = 16,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_RG = 17,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_AYUV = 18,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR = 19,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR = 20,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR = 21,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR = 22,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR = 23,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR = 24,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR = 25,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_VYUY_ER = 26,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_ER = 27,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUYV_ER = 28,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVYU_ER = 29,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV_ER = 30,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUVA_ER = 31,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_AYUV_ER = 32,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER = 33,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER = 34,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER = 35,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER = 36,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER = 37,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER = 38,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER = 39,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER = 40,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER = 41,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER = 42,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER = 43,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER = 44,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_RGGB = 45,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_BGGR = 46,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_GRBG = 47,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_GBRG = 48,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_RGGB = 49,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_BGGR = 50,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_GRBG = 51,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_GBRG = 52,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_RGGB = 53,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_BGGR = 54,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_GRBG = 55,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_GBRG = 56,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER14_RGGB = 57,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER14_BGGR = 58,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER14_GRBG = 59,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER14_GBRG = 60,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER20_RGGB = 61,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER20_BGGR = 62,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER20_GRBG = 63,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER20_GBRG = 64,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU444_PLANAR = 65,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU422_PLANAR = 66,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_PLANAR = 67,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB = 68,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR = 69,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG = 70,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG = 71,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_BCCR = 72,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_RCCB = 73,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_CRBC = 74,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_CBRC = 75,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_CCCC = 76,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_BCCR = 77,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_RCCB = 78,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_CRBC = 79,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_CBRC = 80,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_CCCC = 81,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y = 82,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020 = 83,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020 = 84,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020 = 85,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020 = 86,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709 = 87,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709 = 88,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709 = 89,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709 = 90,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709 = 91,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020 = 92,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020 = 93,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR = 94,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709 = 95,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y_ER = 96,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y_709_ER = 97,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10_ER = 98,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10_709_ER = 99,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12_ER = 0x64,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12_709_ER = 0x65,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUVA = 0x66,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV = 0x67,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVYU = 0x68,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_VYUY = 0x69,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER = 0x6A,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER = 0x6B,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER = 0x6C,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER = 0x6D,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER = 0x6E,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER = 0x6F,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER = 0x70,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER = 0x71,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_709 = 0x72,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_709_ER = 0x73,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_2020 = 0x74,
  __pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_MAX = 0x75
};

/* "cuda/bindings/cydriver.pxd":2588
 * ctypedef CUeglStreamConnection_st* CUeglStreamConnection
 * 
 * cdef enum CUGLDeviceList_enum:             # <<<<<<<<<<<<<<
 *     CU_GL_DEVICE_LIST_ALL = 1
 *     CU_GL_DEVICE_LIST_CURRENT_FRAME = 2
*/
enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum {
  __pyx_e_4cuda_8bindings_8cydriver_CU_GL_DEVICE_LIST_ALL = 1,
  __pyx_e_4cuda_8bindings_8cydriver_CU_GL_DEVICE_LIST_CURRENT_FRAME = 2,
  __pyx_e_4cuda_8bindings_8cydriver_CU_GL_DEVICE_LIST_NEXT_FRAME = 3
};

/* "cuda/bindings/cydriver.pxd":2595
 * ctypedef CUGLDeviceList_enum CUGLDeviceList
 * 
 * cdef enum CUGLmap_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_GL_MAP_RESOURCE_FLAGS_NONE = 0
 *     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1
*/
enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum {
  __pyx_e_4cuda_8bindings_8cydriver_CU_GL_MAP_RESOURCE_FLAGS_NONE = 0,
  __pyx_e_4cuda_8bindings_8cydriver_CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1,
  __pyx_e_4cuda_8bindings_8cydriver_CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
};

/* "cuda/bindings/cydriver.pxd":3577
 * cdef CUresult cuGraphicsVDPAURegisterOutputSurface(CUgraphicsResource* pCudaResource, VdpOutputSurface vdpSurface, unsigned int flags) except ?CUDA_ERROR_NOT_FOUND nogil
 * 
 * cdef enum: CUDA_VERSION = 12090             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_IPC_HANDLE_SIZE = 64
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_VERSION = 0x2F3A
};

/* "cuda/bindings/cydriver.pxd":3579
 * cdef enum: CUDA_VERSION = 12090
 * 
 * cdef enum: CU_IPC_HANDLE_SIZE = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_LEGACY = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_IPC_HANDLE_SIZE = 64
};

/* "cuda/bindings/cydriver.pxd":3581
 * cdef enum: CU_IPC_HANDLE_SIZE = 64
 * 
 * cdef enum: CU_STREAM_LEGACY = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_PER_THREAD = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_LEGACY = 1
};

/* "cuda/bindings/cydriver.pxd":3583
 * cdef enum: CU_STREAM_LEGACY = 1
 * 
 * cdef enum: CU_STREAM_PER_THREAD = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_COMPUTE_ACCELERATED_TARGET_BASE = 65536
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_PER_THREAD = 2
};

/* "cuda/bindings/cydriver.pxd":3585
 * cdef enum: CU_STREAM_PER_THREAD = 2
 * 
 * cdef enum: CU_COMPUTE_ACCELERATED_TARGET_BASE = 65536             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_COMPUTE_FAMILY_TARGET_BASE = 131072
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_COMPUTE_ACCELERATED_TARGET_BASE = 0x10000
};

/* "cuda/bindings/cydriver.pxd":3587
 * cdef enum: CU_COMPUTE_ACCELERATED_TARGET_BASE = 65536
 * 
 * cdef enum: CU_COMPUTE_FAMILY_TARGET_BASE = 131072             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_GRAPH_COND_ASSIGN_DEFAULT = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_COMPUTE_FAMILY_TARGET_BASE = 0x20000
};

/* "cuda/bindings/cydriver.pxd":3589
 * cdef enum: CU_COMPUTE_FAMILY_TARGET_BASE = 131072
 * 
 * cdef enum: CU_GRAPH_COND_ASSIGN_DEFAULT = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_DEFAULT = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_GRAPH_COND_ASSIGN_DEFAULT = 1
};

/* "cuda/bindings/cydriver.pxd":3591
 * cdef enum: CU_GRAPH_COND_ASSIGN_DEFAULT = 1
 * 
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_DEFAULT = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_GRAPH_KERNEL_NODE_PORT_DEFAULT = 0
};

/* "cuda/bindings/cydriver.pxd":3593
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_DEFAULT = 0
 * 
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC = 1
};

/* "cuda/bindings/cydriver.pxd":3595
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC = 1
 * 
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = 2
};

/* "cuda/bindings/cydriver.pxd":3597
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = 2
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
};

/* "cuda/bindings/cydriver.pxd":3599
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2
};

/* "cuda/bindings/cydriver.pxd":3601
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = 4
};

/* "cuda/bindings/cydriver.pxd":3603
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = 4
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5
};

/* "cuda/bindings/cydriver.pxd":3605
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8
};

/* "cuda/bindings/cydriver.pxd":3607
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
};

/* "cuda/bindings/cydriver.pxd":3609
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = 10             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
};

/* "cuda/bindings/cydriver.pxd":3611
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11
};

/* "cuda/bindings/cydriver.pxd":3613
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13
};

/* "cuda/bindings/cydriver.pxd":3615
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14
};

/* "cuda/bindings/cydriver.pxd":3617
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
};

/* "cuda/bindings/cydriver.pxd":3619
 * cdef enum: CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_PRIORITY = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
};

/* "cuda/bindings/cydriver.pxd":3621
 * cdef enum: CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_PRIORITY = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_PRIORITY = 8
};

/* "cuda/bindings/cydriver.pxd":3623
 * cdef enum: CU_STREAM_ATTRIBUTE_PRIORITY = 8
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
};

/* "cuda/bindings/cydriver.pxd":3625
 * cdef enum: CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = 10             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
};

/* "cuda/bindings/cydriver.pxd":3627
 * cdef enum: CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
 * 
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTALLOC_PORTABLE = 1
};

/* "cuda/bindings/cydriver.pxd":3629
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 1
 * 
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTALLOC_DEVICEMAP = 2
};

/* "cuda/bindings/cydriver.pxd":3631
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 2
 * 
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTALLOC_WRITECOMBINED = 4
};

/* "cuda/bindings/cydriver.pxd":3633
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 4
 * 
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTREGISTER_PORTABLE = 1
};

/* "cuda/bindings/cydriver.pxd":3635
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 1
 * 
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_IOMEMORY = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTREGISTER_DEVICEMAP = 2
};

/* "cuda/bindings/cydriver.pxd":3637
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 2
 * 
 * cdef enum: CU_MEMHOSTREGISTER_IOMEMORY = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_READ_ONLY = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTREGISTER_IOMEMORY = 4
};

/* "cuda/bindings/cydriver.pxd":3639
 * cdef enum: CU_MEMHOSTREGISTER_IOMEMORY = 4
 * 
 * cdef enum: CU_MEMHOSTREGISTER_READ_ONLY = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTREGISTER_READ_ONLY = 8
};

/* "cuda/bindings/cydriver.pxd":3641
 * cdef enum: CU_MEMHOSTREGISTER_READ_ONLY = 8
 * 
 * cdef enum: CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TENSOR_MAP_NUM_QWORDS = 16
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 1
};

/* "cuda/bindings/cydriver.pxd":3643
 * cdef enum: CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 1
 * 
 * cdef enum: CU_TENSOR_MAP_NUM_QWORDS = 16             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EXTERNAL_MEMORY_DEDICATED = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_TENSOR_MAP_NUM_QWORDS = 16
};

/* "cuda/bindings/cydriver.pxd":3645
 * cdef enum: CU_TENSOR_MAP_NUM_QWORDS = 16
 * 
 * cdef enum: CUDA_EXTERNAL_MEMORY_DEDICATED = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_EXTERNAL_MEMORY_DEDICATED = 1
};

/* "cuda/bindings/cydriver.pxd":3647
 * cdef enum: CUDA_EXTERNAL_MEMORY_DEDICATED = 1
 * 
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 1
};

/* "cuda/bindings/cydriver.pxd":3649
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 1
 * 
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_NVSCISYNC_ATTR_SIGNAL = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 2
};

/* "cuda/bindings/cydriver.pxd":3651
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 2
 * 
 * cdef enum: CUDA_NVSCISYNC_ATTR_SIGNAL = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_NVSCISYNC_ATTR_WAIT = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_NVSCISYNC_ATTR_SIGNAL = 1
};

/* "cuda/bindings/cydriver.pxd":3653
 * cdef enum: CUDA_NVSCISYNC_ATTR_SIGNAL = 1
 * 
 * cdef enum: CUDA_NVSCISYNC_ATTR_WAIT = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEM_CREATE_USAGE_TILE_POOL = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_NVSCISYNC_ATTR_WAIT = 2
};

/* "cuda/bindings/cydriver.pxd":3655
 * cdef enum: CUDA_NVSCISYNC_ATTR_WAIT = 2
 * 
 * cdef enum: CU_MEM_CREATE_USAGE_TILE_POOL = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEM_CREATE_USAGE_HW_DECOMPRESS = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEM_CREATE_USAGE_TILE_POOL = 1
};

/* "cuda/bindings/cydriver.pxd":3657
 * cdef enum: CU_MEM_CREATE_USAGE_TILE_POOL = 1
 * 
 * cdef enum: CU_MEM_CREATE_USAGE_HW_DECOMPRESS = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEM_CREATE_USAGE_HW_DECOMPRESS = 2
};

/* "cuda/bindings/cydriver.pxd":3659
 * cdef enum: CU_MEM_CREATE_USAGE_HW_DECOMPRESS = 2
 * 
 * cdef enum: CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS = 2
};

/* "cuda/bindings/cydriver.pxd":3661
 * cdef enum: CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS = 2
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 1
};

/* "cuda/bindings/cydriver.pxd":3663
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 1
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_LAYERED = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 2
};

/* "cuda/bindings/cydriver.pxd":3665
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 2
 * 
 * cdef enum: CUDA_ARRAY3D_LAYERED = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_2DARRAY = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_LAYERED = 1
};

/* "cuda/bindings/cydriver.pxd":3667
 * cdef enum: CUDA_ARRAY3D_LAYERED = 1
 * 
 * cdef enum: CUDA_ARRAY3D_2DARRAY = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_2DARRAY = 1
};

/* "cuda/bindings/cydriver.pxd":3669
 * cdef enum: CUDA_ARRAY3D_2DARRAY = 1
 * 
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_SURFACE_LDST = 2
};

/* "cuda/bindings/cydriver.pxd":3671
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 2
 * 
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_TEXTURE_GATHER = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_CUBEMAP = 4
};

/* "cuda/bindings/cydriver.pxd":3673
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 4
 * 
 * cdef enum: CUDA_ARRAY3D_TEXTURE_GATHER = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_DEPTH_TEXTURE = 16
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_TEXTURE_GATHER = 8
};

/* "cuda/bindings/cydriver.pxd":3675
 * cdef enum: CUDA_ARRAY3D_TEXTURE_GATHER = 8
 * 
 * cdef enum: CUDA_ARRAY3D_DEPTH_TEXTURE = 16             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_COLOR_ATTACHMENT = 32
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_DEPTH_TEXTURE = 16
};

/* "cuda/bindings/cydriver.pxd":3677
 * cdef enum: CUDA_ARRAY3D_DEPTH_TEXTURE = 16
 * 
 * cdef enum: CUDA_ARRAY3D_COLOR_ATTACHMENT = 32             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_SPARSE = 64
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_COLOR_ATTACHMENT = 32
};

/* "cuda/bindings/cydriver.pxd":3679
 * cdef enum: CUDA_ARRAY3D_COLOR_ATTACHMENT = 32
 * 
 * cdef enum: CUDA_ARRAY3D_SPARSE = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_DEFERRED_MAPPING = 128
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_SPARSE = 64
};

/* "cuda/bindings/cydriver.pxd":3681
 * cdef enum: CUDA_ARRAY3D_SPARSE = 64
 * 
 * cdef enum: CUDA_ARRAY3D_DEFERRED_MAPPING = 128             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_VIDEO_ENCODE_DECODE = 256
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_DEFERRED_MAPPING = 0x80
};

/* "cuda/bindings/cydriver.pxd":3683
 * cdef enum: CUDA_ARRAY3D_DEFERRED_MAPPING = 128
 * 
 * cdef enum: CUDA_ARRAY3D_VIDEO_ENCODE_DECODE = 256             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSA_OVERRIDE_FORMAT = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE = 0x100
};

/* "cuda/bindings/cydriver.pxd":3685
 * cdef enum: CUDA_ARRAY3D_VIDEO_ENCODE_DECODE = 256
 * 
 * cdef enum: CU_TRSA_OVERRIDE_FORMAT = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_READ_AS_INTEGER = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_TRSA_OVERRIDE_FORMAT = 1
};

/* "cuda/bindings/cydriver.pxd":3687
 * cdef enum: CU_TRSA_OVERRIDE_FORMAT = 1
 * 
 * cdef enum: CU_TRSF_READ_AS_INTEGER = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_NORMALIZED_COORDINATES = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_READ_AS_INTEGER = 1
};

/* "cuda/bindings/cydriver.pxd":3689
 * cdef enum: CU_TRSF_READ_AS_INTEGER = 1
 * 
 * cdef enum: CU_TRSF_NORMALIZED_COORDINATES = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_SRGB = 16
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_NORMALIZED_COORDINATES = 2
};

/* "cuda/bindings/cydriver.pxd":3691
 * cdef enum: CU_TRSF_NORMALIZED_COORDINATES = 2
 * 
 * cdef enum: CU_TRSF_SRGB = 16             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 32
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_SRGB = 16
};

/* "cuda/bindings/cydriver.pxd":3693
 * cdef enum: CU_TRSF_SRGB = 16
 * 
 * cdef enum: CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 32             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_SEAMLESS_CUBEMAP = 64
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 32
};

/* "cuda/bindings/cydriver.pxd":3695
 * cdef enum: CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 32
 * 
 * cdef enum: CU_TRSF_SEAMLESS_CUBEMAP = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_SEAMLESS_CUBEMAP = 64
};

/* "cuda/bindings/cydriver.pxd":3697
 * cdef enum: CU_TRSF_SEAMLESS_CUBEMAP = 64
 * 
 * cdef enum: CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_END_AS_INT = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM = 1
};

/* "cuda/bindings/cydriver.pxd":3699
 * cdef enum: CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM = 1
 * 
 * cdef enum: CU_LAUNCH_PARAM_END_AS_INT = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_END = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_END_AS_INT = 0
};

/* "cuda/bindings/cydriver.pxd":3701
 * cdef enum: CU_LAUNCH_PARAM_END_AS_INT = 0
 * 
 * cdef enum: CU_LAUNCH_PARAM_END = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_END = 0
};

/* "cuda/bindings/cydriver.pxd":3703
 * cdef enum: CU_LAUNCH_PARAM_END = 0
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT = 1
};

/* "cuda/bindings/cydriver.pxd":3705
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT = 1
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_BUFFER_POINTER = 1
};

/* "cuda/bindings/cydriver.pxd":3707
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER = 1
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT = 2
};

/* "cuda/bindings/cydriver.pxd":3709
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT = 2
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_PARAM_TR_DEFAULT = -1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_BUFFER_SIZE = 2
};

/* "cuda/bindings/cydriver.pxd":3711
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE = 2
 * 
 * cdef enum: CU_PARAM_TR_DEFAULT = -1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_DEVICE_CPU = -1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_PARAM_TR_DEFAULT = -1L
};

/* "cuda/bindings/cydriver.pxd":3713
 * cdef enum: CU_PARAM_TR_DEFAULT = -1
 * 
 * cdef enum: CU_DEVICE_CPU = -1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_DEVICE_INVALID = -2
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_DEVICE_CPU = -1L
};

/* "cuda/bindings/cydriver.pxd":3715
 * cdef enum: CU_DEVICE_CPU = -1
 * 
 * cdef enum: CU_DEVICE_INVALID = -2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: RESOURCE_ABI_VERSION = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_DEVICE_INVALID = -2L
};

/* "cuda/bindings/cydriver.pxd":3717
 * cdef enum: CU_DEVICE_INVALID = -2
 * 
 * cdef enum: RESOURCE_ABI_VERSION = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: RESOURCE_ABI_EXTERNAL_BYTES = 48
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_RESOURCE_ABI_VERSION = 1
};

/* "cuda/bindings/cydriver.pxd":3719
 * cdef enum: RESOURCE_ABI_VERSION = 1
 * 
 * cdef enum: RESOURCE_ABI_EXTERNAL_BYTES = 48             # <<<<<<<<<<<<<<
 * 
 * cdef enum: MAX_PLANES = 3
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_RESOURCE_ABI_EXTERNAL_BYTES = 48
};

/* "cuda/bindings/cydriver.pxd":3721
 * cdef enum: RESOURCE_ABI_EXTERNAL_BYTES = 48
 * 
 * cdef enum: MAX_PLANES = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EGL_INFINITE_TIMEOUT = 4294967295
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_MAX_PLANES = 3
};

/* "cuda/bindings/cydriver.pxd":3723
 * cdef enum: MAX_PLANES = 3
 * 
 * cdef enum: CUDA_EGL_INFINITE_TIMEOUT = 4294967295             # <<<<<<<<<<<<<<
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_EGL_INFINITE_TIMEOUT = 0xFFFFFFFF
};

/* "cuda/bindings/cydriver.pxd":2433
 *     CU_EGL_FRAME_TYPE_PITCH = 1
 * 
 * ctypedef CUeglFrameType_enum CUeglFrameType             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUeglResourceLocationFlags_enum:
*/
typedef enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType;

/* "cuda/bindings/cydriver.pxd":2439
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = 1
 * 
 * ctypedef CUeglResourceLocationFlags_enum CUeglResourceLocationFlags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUeglColorFormat_enum:
*/
typedef enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags;

/* "cuda/bindings/cydriver.pxd":2561
 *     CU_EGL_COLOR_FORMAT_MAX = 117
 * 
 * ctypedef CUeglColorFormat_enum CUeglColorFormat             # <<<<<<<<<<<<<<
 * 
 * cdef union anon_union15:
*/
typedef enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat;

/* "cuda/bindings/cydriver.pxd":2563
 * ctypedef CUeglColorFormat_enum CUeglColorFormat
 * 
 * cdef union anon_union15:             # <<<<<<<<<<<<<<
 *     CUarray pArray[3]
 *     void* pPitch[3]
*/
union __pyx_t_4cuda_8bindings_8cydriver_anon_union15 {
  CUarray pArray[3];
  void *pPitch[3];
};

/* "cuda/bindings/cydriver.pxd":2567
 *     void* pPitch[3]
 * 
 * cdef struct CUeglFrame_st:             # <<<<<<<<<<<<<<
 *     anon_union15 frame
 *     unsigned int width
*/
struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st {
  union __pyx_t_4cuda_8bindings_8cydriver_anon_union15 frame;
  unsigned int width;
  unsigned int height;
  unsigned int depth;
  unsigned int pitch;
  unsigned int planeCount;
  unsigned int numChannels;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType frameType;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat eglColorFormat;
  CUarray_format cuFormat;
};

/* "cuda/bindings/cydriver.pxd":2579
 *     CUarray_format cuFormat
 * 
 * ctypedef CUeglFrame_st CUeglFrame_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUeglFrame_v1 CUeglFrame
*/
typedef struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_v1;

/* "cuda/bindings/cydriver.pxd":2581
 * ctypedef CUeglFrame_st CUeglFrame_v1
 * 
 * ctypedef CUeglFrame_v1 CUeglFrame             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_v1 __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame;

/* "cuda/bindings/cydriver.pxd":2586
 *     cdef struct CUeglStreamConnection_st:
 *         pass
 * ctypedef CUeglStreamConnection_st* CUeglStreamConnection             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUGLDeviceList_enum:
*/
typedef struct CUeglStreamConnection_st *__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection;

/* "cuda/bindings/cydriver.pxd":2593
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = 3
 * 
 * ctypedef CUGLDeviceList_enum CUGLDeviceList             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUGLmap_flags_enum:
*/
typedef enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList;

/* "cuda/bindings/cydriver.pxd":2600
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 * 
 * ctypedef CUGLmap_flags_enum CUGLmap_flags             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int GLenum
*/
typedef enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags;

/* "cuda/bindings/cydriver.pxd":2609
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLImageKHR             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef void *__pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR;

/* "cuda/bindings/cydriver.pxd":2614
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLStreamKHR             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int EGLint
*/
typedef void *__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR;

/* "cuda/bindings/cydriver.pxd":2621
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLSyncKHR             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpDevice
*/
typedef void *__pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR;
struct __pyx_t_4cuda_8bindings_9cyruntime_cudaEglPlaneDesc_st;
union __pyx_t_4cuda_8bindings_9cyruntime_anon_union11;
struct __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrame_st;

/* "cuda/bindings/cyruntime.pxd":39
 * ctypedef uint32_t VdpOutputSurface
 * 
 * cdef enum cudaEglFrameType_enum:             # <<<<<<<<<<<<<<
 *     cudaEglFrameTypeArray = 0
 *     cudaEglFrameTypePitch = 1
*/
enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrameType_enum {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglFrameTypeArray = 0,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglFrameTypePitch = 1
};

/* "cuda/bindings/cyruntime.pxd":45
 * ctypedef cudaEglFrameType_enum cudaEglFrameType
 * 
 * cdef enum cudaEglResourceLocationFlags_enum:             # <<<<<<<<<<<<<<
 *     cudaEglResourceLocationSysmem = 0
 *     cudaEglResourceLocationVidmem = 1
*/
enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglResourceLocationFlags_enum {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglResourceLocationSysmem = 0,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglResourceLocationVidmem = 1
};

/* "cuda/bindings/cyruntime.pxd":51
 * ctypedef cudaEglResourceLocationFlags_enum cudaEglResourceLocationFlags
 * 
 * cdef enum cudaEglColorFormat_enum:             # <<<<<<<<<<<<<<
 *     cudaEglColorFormatYUV420Planar = 0
 *     cudaEglColorFormatYUV420SemiPlanar = 1
*/
enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglColorFormat_enum {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV420Planar = 0,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV420SemiPlanar = 1,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV422Planar = 2,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV422SemiPlanar = 3,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatARGB = 6,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatRGBA = 7,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatL = 8,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatR = 9,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV444Planar = 10,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV444SemiPlanar = 11,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUYV422 = 12,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatUYVY422 = 13,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatABGR = 14,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBGRA = 15,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatA = 16,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatRG = 17,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatAYUV = 18,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU444SemiPlanar = 19,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU422SemiPlanar = 20,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU420SemiPlanar = 21,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_444SemiPlanar = 22,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_420SemiPlanar = 23,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY12V12U12_444SemiPlanar = 24,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY12V12U12_420SemiPlanar = 25,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatVYUY_ER = 26,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatUYVY_ER = 27,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUYV_ER = 28,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVYU_ER = 29,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUVA_ER = 31,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatAYUV_ER = 32,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV444Planar_ER = 33,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV422Planar_ER = 34,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV420Planar_ER = 35,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV444SemiPlanar_ER = 36,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV422SemiPlanar_ER = 37,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV420SemiPlanar_ER = 38,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU444Planar_ER = 39,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU422Planar_ER = 40,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU420Planar_ER = 41,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU444SemiPlanar_ER = 42,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU422SemiPlanar_ER = 43,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU420SemiPlanar_ER = 44,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerRGGB = 45,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerBGGR = 46,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerGRBG = 47,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerGBRG = 48,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer10RGGB = 49,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer10BGGR = 50,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer10GRBG = 51,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer10GBRG = 52,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12RGGB = 53,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12BGGR = 54,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12GRBG = 55,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12GBRG = 56,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer14RGGB = 57,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer14BGGR = 58,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer14GRBG = 59,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer14GBRG = 60,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer20RGGB = 61,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer20BGGR = 62,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer20GRBG = 63,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer20GBRG = 64,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU444Planar = 65,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU422Planar = 66,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU420Planar = 67,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerIspRGGB = 68,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerIspBGGR = 69,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerIspGRBG = 70,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerIspGBRG = 71,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerBCCR = 72,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerRCCB = 73,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerCRBC = 74,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayerCBRC = 75,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer10CCCC = 76,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12BCCR = 77,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12RCCB = 78,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12CRBC = 79,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12CBRC = 80,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatBayer12CCCC = 81,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY = 82,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV420SemiPlanar_2020 = 83,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU420SemiPlanar_2020 = 84,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV420Planar_2020 = 85,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU420Planar_2020 = 86,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV420SemiPlanar_709 = 87,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU420SemiPlanar_709 = 88,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUV420Planar_709 = 89,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVU420Planar_709 = 90,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_420SemiPlanar_709 = 91,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_420SemiPlanar_2020 = 92,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_422SemiPlanar_2020 = 93,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_422SemiPlanar = 94,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_422SemiPlanar_709 = 95,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY_ER = 96,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY_709_ER = 97,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10_ER = 98,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10_709_ER = 99,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY12_ER = 0x64,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY12_709_ER = 0x65,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYUVA = 0x66,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatYVYU = 0x68,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatVYUY = 0x69,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_420SemiPlanar_ER = 0x6A,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_420SemiPlanar_709_ER = 0x6B,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_444SemiPlanar_ER = 0x6C,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY10V10U10_444SemiPlanar_709_ER = 0x6D,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY12V12U12_420SemiPlanar_ER = 0x6E,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY12V12U12_420SemiPlanar_709_ER = 0x6F,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY12V12U12_444SemiPlanar_ER = 0x70,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatY12V12U12_444SemiPlanar_709_ER = 0x71,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatUYVY709 = 0x72,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatUYVY709_ER = 0x73,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEglColorFormatUYVY2020 = 0x74
};

/* "cuda/bindings/cyruntime.pxd":197
 * ctypedef CUeglStreamConnection_st* cudaEglStreamConnection
 * 
 * cdef enum cudaGLDeviceList:             # <<<<<<<<<<<<<<
 *     cudaGLDeviceListAll = 1
 *     cudaGLDeviceListCurrentFrame = 2
*/
enum __pyx_t_4cuda_8bindings_9cyruntime_cudaGLDeviceList {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGLDeviceListAll = 1,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGLDeviceListCurrentFrame = 2,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGLDeviceListNextFrame = 3
};

/* "cuda/bindings/cyruntime.pxd":202
 *     cudaGLDeviceListNextFrame = 3
 * 
 * cdef enum cudaGLMapFlags:             # <<<<<<<<<<<<<<
 *     cudaGLMapFlagsNone = 0
 *     cudaGLMapFlagsReadOnly = 1
*/
enum __pyx_t_4cuda_8bindings_9cyruntime_cudaGLMapFlags {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGLMapFlagsNone = 0,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGLMapFlagsReadOnly = 1,
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGLMapFlagsWriteDiscard = 2
};

/* "cuda/bindings/cyruntime.pxd":831
 * cdef cudaError_t getLocalRuntimeVersion(int* runtimeVersion) except ?cudaErrorCallRequiresNewerDriver nogil
 * 
 * cdef enum: cudaHostAllocDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocPortable = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostAllocDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":833
 * cdef enum: cudaHostAllocDefault = 0
 * 
 * cdef enum: cudaHostAllocPortable = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocMapped = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostAllocPortable = 1
};

/* "cuda/bindings/cyruntime.pxd":835
 * cdef enum: cudaHostAllocPortable = 1
 * 
 * cdef enum: cudaHostAllocMapped = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocWriteCombined = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostAllocMapped = 2
};

/* "cuda/bindings/cyruntime.pxd":837
 * cdef enum: cudaHostAllocMapped = 2
 * 
 * cdef enum: cudaHostAllocWriteCombined = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostAllocWriteCombined = 4
};

/* "cuda/bindings/cyruntime.pxd":839
 * cdef enum: cudaHostAllocWriteCombined = 4
 * 
 * cdef enum: cudaHostRegisterDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterPortable = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostRegisterDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":841
 * cdef enum: cudaHostRegisterDefault = 0
 * 
 * cdef enum: cudaHostRegisterPortable = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterMapped = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostRegisterPortable = 1
};

/* "cuda/bindings/cyruntime.pxd":843
 * cdef enum: cudaHostRegisterPortable = 1
 * 
 * cdef enum: cudaHostRegisterMapped = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterIoMemory = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostRegisterMapped = 2
};

/* "cuda/bindings/cyruntime.pxd":845
 * cdef enum: cudaHostRegisterMapped = 2
 * 
 * cdef enum: cudaHostRegisterIoMemory = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterReadOnly = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostRegisterIoMemory = 4
};

/* "cuda/bindings/cyruntime.pxd":847
 * cdef enum: cudaHostRegisterIoMemory = 4
 * 
 * cdef enum: cudaHostRegisterReadOnly = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaPeerAccessDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostRegisterReadOnly = 8
};

/* "cuda/bindings/cyruntime.pxd":849
 * cdef enum: cudaHostRegisterReadOnly = 8
 * 
 * cdef enum: cudaPeerAccessDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaPeerAccessDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":851
 * cdef enum: cudaPeerAccessDefault = 0
 * 
 * cdef enum: cudaStreamDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamNonBlocking = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":853
 * cdef enum: cudaStreamDefault = 0
 * 
 * cdef enum: cudaStreamNonBlocking = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamLegacy = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamNonBlocking = 1
};

/* "cuda/bindings/cyruntime.pxd":855
 * cdef enum: cudaStreamNonBlocking = 1
 * 
 * cdef enum: cudaStreamLegacy = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamPerThread = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamLegacy = 1
};

/* "cuda/bindings/cyruntime.pxd":857
 * cdef enum: cudaStreamLegacy = 1
 * 
 * cdef enum: cudaStreamPerThread = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamPerThread = 2
};

/* "cuda/bindings/cyruntime.pxd":859
 * cdef enum: cudaStreamPerThread = 2
 * 
 * cdef enum: cudaEventDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventBlockingSync = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEventDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":861
 * cdef enum: cudaEventDefault = 0
 * 
 * cdef enum: cudaEventBlockingSync = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventDisableTiming = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEventBlockingSync = 1
};

/* "cuda/bindings/cyruntime.pxd":863
 * cdef enum: cudaEventBlockingSync = 1
 * 
 * cdef enum: cudaEventDisableTiming = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventInterprocess = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEventDisableTiming = 2
};

/* "cuda/bindings/cyruntime.pxd":865
 * cdef enum: cudaEventDisableTiming = 2
 * 
 * cdef enum: cudaEventInterprocess = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventRecordDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEventInterprocess = 4
};

/* "cuda/bindings/cyruntime.pxd":867
 * cdef enum: cudaEventInterprocess = 4
 * 
 * cdef enum: cudaEventRecordDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventRecordExternal = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEventRecordDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":869
 * cdef enum: cudaEventRecordDefault = 0
 * 
 * cdef enum: cudaEventRecordExternal = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventWaitDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEventRecordExternal = 1
};

/* "cuda/bindings/cyruntime.pxd":871
 * cdef enum: cudaEventRecordExternal = 1
 * 
 * cdef enum: cudaEventWaitDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventWaitExternal = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEventWaitDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":873
 * cdef enum: cudaEventWaitDefault = 0
 * 
 * cdef enum: cudaEventWaitExternal = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleAuto = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaEventWaitExternal = 1
};

/* "cuda/bindings/cyruntime.pxd":875
 * cdef enum: cudaEventWaitExternal = 1
 * 
 * cdef enum: cudaDeviceScheduleAuto = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleSpin = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceScheduleAuto = 0
};

/* "cuda/bindings/cyruntime.pxd":877
 * cdef enum: cudaDeviceScheduleAuto = 0
 * 
 * cdef enum: cudaDeviceScheduleSpin = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleYield = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceScheduleSpin = 1
};

/* "cuda/bindings/cyruntime.pxd":879
 * cdef enum: cudaDeviceScheduleSpin = 1
 * 
 * cdef enum: cudaDeviceScheduleYield = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleBlockingSync = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceScheduleYield = 2
};

/* "cuda/bindings/cyruntime.pxd":881
 * cdef enum: cudaDeviceScheduleYield = 2
 * 
 * cdef enum: cudaDeviceScheduleBlockingSync = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceBlockingSync = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceScheduleBlockingSync = 4
};

/* "cuda/bindings/cyruntime.pxd":883
 * cdef enum: cudaDeviceScheduleBlockingSync = 4
 * 
 * cdef enum: cudaDeviceBlockingSync = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleMask = 7
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceBlockingSync = 4
};

/* "cuda/bindings/cyruntime.pxd":885
 * cdef enum: cudaDeviceBlockingSync = 4
 * 
 * cdef enum: cudaDeviceScheduleMask = 7             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceMapHost = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceScheduleMask = 7
};

/* "cuda/bindings/cyruntime.pxd":887
 * cdef enum: cudaDeviceScheduleMask = 7
 * 
 * cdef enum: cudaDeviceMapHost = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceLmemResizeToMax = 16
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceMapHost = 8
};

/* "cuda/bindings/cyruntime.pxd":889
 * cdef enum: cudaDeviceMapHost = 8
 * 
 * cdef enum: cudaDeviceLmemResizeToMax = 16             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceSyncMemops = 128
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceLmemResizeToMax = 16
};

/* "cuda/bindings/cyruntime.pxd":891
 * cdef enum: cudaDeviceLmemResizeToMax = 16
 * 
 * cdef enum: cudaDeviceSyncMemops = 128             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceMask = 255
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceSyncMemops = 0x80
};

/* "cuda/bindings/cyruntime.pxd":893
 * cdef enum: cudaDeviceSyncMemops = 128
 * 
 * cdef enum: cudaDeviceMask = 255             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaDeviceMask = 0xFF
};

/* "cuda/bindings/cyruntime.pxd":895
 * cdef enum: cudaDeviceMask = 255
 * 
 * cdef enum: cudaArrayDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayLayered = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArrayDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":897
 * cdef enum: cudaArrayDefault = 0
 * 
 * cdef enum: cudaArrayLayered = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySurfaceLoadStore = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArrayLayered = 1
};

/* "cuda/bindings/cyruntime.pxd":899
 * cdef enum: cudaArrayLayered = 1
 * 
 * cdef enum: cudaArraySurfaceLoadStore = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayCubemap = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArraySurfaceLoadStore = 2
};

/* "cuda/bindings/cyruntime.pxd":901
 * cdef enum: cudaArraySurfaceLoadStore = 2
 * 
 * cdef enum: cudaArrayCubemap = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayTextureGather = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArrayCubemap = 4
};

/* "cuda/bindings/cyruntime.pxd":903
 * cdef enum: cudaArrayCubemap = 4
 * 
 * cdef enum: cudaArrayTextureGather = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayColorAttachment = 32
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArrayTextureGather = 8
};

/* "cuda/bindings/cyruntime.pxd":905
 * cdef enum: cudaArrayTextureGather = 8
 * 
 * cdef enum: cudaArrayColorAttachment = 32             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySparse = 64
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArrayColorAttachment = 32
};

/* "cuda/bindings/cyruntime.pxd":907
 * cdef enum: cudaArrayColorAttachment = 32
 * 
 * cdef enum: cudaArraySparse = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayDeferredMapping = 128
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArraySparse = 64
};

/* "cuda/bindings/cyruntime.pxd":909
 * cdef enum: cudaArraySparse = 64
 * 
 * cdef enum: cudaArrayDeferredMapping = 128             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArrayDeferredMapping = 0x80
};

/* "cuda/bindings/cyruntime.pxd":911
 * cdef enum: cudaArrayDeferredMapping = 128
 * 
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachGlobal = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaIpcMemLazyEnablePeerAccess = 1
};

/* "cuda/bindings/cyruntime.pxd":913
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 1
 * 
 * cdef enum: cudaMemAttachGlobal = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachHost = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaMemAttachGlobal = 1
};

/* "cuda/bindings/cyruntime.pxd":915
 * cdef enum: cudaMemAttachGlobal = 1
 * 
 * cdef enum: cudaMemAttachHost = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachSingle = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaMemAttachHost = 2
};

/* "cuda/bindings/cyruntime.pxd":917
 * cdef enum: cudaMemAttachHost = 2
 * 
 * cdef enum: cudaMemAttachSingle = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaOccupancyDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaMemAttachSingle = 4
};

/* "cuda/bindings/cyruntime.pxd":919
 * cdef enum: cudaMemAttachSingle = 4
 * 
 * cdef enum: cudaOccupancyDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaOccupancyDisableCachingOverride = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaOccupancyDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":921
 * cdef enum: cudaOccupancyDefault = 0
 * 
 * cdef enum: cudaOccupancyDisableCachingOverride = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaCpuDeviceId = -1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaOccupancyDisableCachingOverride = 1
};

/* "cuda/bindings/cyruntime.pxd":923
 * cdef enum: cudaOccupancyDisableCachingOverride = 1
 * 
 * cdef enum: cudaCpuDeviceId = -1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaInvalidDeviceId = -2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaCpuDeviceId = -1L
};

/* "cuda/bindings/cyruntime.pxd":925
 * cdef enum: cudaCpuDeviceId = -1
 * 
 * cdef enum: cudaInvalidDeviceId = -2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaInitDeviceFlagsAreValid = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaInvalidDeviceId = -2L
};

/* "cuda/bindings/cyruntime.pxd":927
 * cdef enum: cudaInvalidDeviceId = -2
 * 
 * cdef enum: cudaInitDeviceFlagsAreValid = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPreSync = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaInitDeviceFlagsAreValid = 1
};

/* "cuda/bindings/cyruntime.pxd":929
 * cdef enum: cudaInitDeviceFlagsAreValid = 1
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPreSync = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaCooperativeLaunchMultiDeviceNoPreSync = 1
};

/* "cuda/bindings/cyruntime.pxd":931
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPreSync = 1
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySparsePropertiesSingleMipTail = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaCooperativeLaunchMultiDeviceNoPostSync = 2
};

/* "cuda/bindings/cyruntime.pxd":933
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 2
 * 
 * cdef enum: cudaArraySparsePropertiesSingleMipTail = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemPoolCreateUsageHwDecompress = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaArraySparsePropertiesSingleMipTail = 1
};

/* "cuda/bindings/cyruntime.pxd":935
 * cdef enum: cudaArraySparsePropertiesSingleMipTail = 1
 * 
 * cdef enum: cudaMemPoolCreateUsageHwDecompress = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_IPC_HANDLE_SIZE = 64
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaMemPoolCreateUsageHwDecompress = 2
};

/* "cuda/bindings/cyruntime.pxd":937
 * cdef enum: cudaMemPoolCreateUsageHwDecompress = 2
 * 
 * cdef enum: CUDA_IPC_HANDLE_SIZE = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalMemoryDedicated = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_CUDA_IPC_HANDLE_SIZE = 64
};

/* "cuda/bindings/cyruntime.pxd":939
 * cdef enum: CUDA_IPC_HANDLE_SIZE = 64
 * 
 * cdef enum: cudaExternalMemoryDedicated = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaExternalMemoryDedicated = 1
};

/* "cuda/bindings/cyruntime.pxd":941
 * cdef enum: cudaExternalMemoryDedicated = 1
 * 
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1
};

/* "cuda/bindings/cyruntime.pxd":943
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1
 * 
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaNvSciSyncAttrSignal = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2
};

/* "cuda/bindings/cyruntime.pxd":945
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2
 * 
 * cdef enum: cudaNvSciSyncAttrSignal = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaNvSciSyncAttrWait = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaNvSciSyncAttrSignal = 1
};

/* "cuda/bindings/cyruntime.pxd":947
 * cdef enum: cudaNvSciSyncAttrSignal = 1
 * 
 * cdef enum: cudaNvSciSyncAttrWait = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaGraphKernelNodePortDefault = 0
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaNvSciSyncAttrWait = 2
};

/* "cuda/bindings/cyruntime.pxd":949
 * cdef enum: cudaNvSciSyncAttrWait = 2
 * 
 * cdef enum: cudaGraphKernelNodePortDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaGraphKernelNodePortProgrammatic = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGraphKernelNodePortDefault = 0
};

/* "cuda/bindings/cyruntime.pxd":951
 * cdef enum: cudaGraphKernelNodePortDefault = 0
 * 
 * cdef enum: cudaGraphKernelNodePortProgrammatic = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaGraphKernelNodePortLaunchCompletion = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGraphKernelNodePortProgrammatic = 1
};

/* "cuda/bindings/cyruntime.pxd":953
 * cdef enum: cudaGraphKernelNodePortProgrammatic = 1
 * 
 * cdef enum: cudaGraphKernelNodePortLaunchCompletion = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamAttributeAccessPolicyWindow = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaGraphKernelNodePortLaunchCompletion = 2
};

/* "cuda/bindings/cyruntime.pxd":955
 * cdef enum: cudaGraphKernelNodePortLaunchCompletion = 2
 * 
 * cdef enum: cudaStreamAttributeAccessPolicyWindow = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamAttributeSynchronizationPolicy = 3
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamAttributeAccessPolicyWindow = 1
};

/* "cuda/bindings/cyruntime.pxd":957
 * cdef enum: cudaStreamAttributeAccessPolicyWindow = 1
 * 
 * cdef enum: cudaStreamAttributeSynchronizationPolicy = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamAttributeMemSyncDomainMap = 9
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamAttributeSynchronizationPolicy = 3
};

/* "cuda/bindings/cyruntime.pxd":959
 * cdef enum: cudaStreamAttributeSynchronizationPolicy = 3
 * 
 * cdef enum: cudaStreamAttributeMemSyncDomainMap = 9             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamAttributeMemSyncDomain = 10
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamAttributeMemSyncDomainMap = 9
};

/* "cuda/bindings/cyruntime.pxd":961
 * cdef enum: cudaStreamAttributeMemSyncDomainMap = 9
 * 
 * cdef enum: cudaStreamAttributeMemSyncDomain = 10             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamAttributePriority = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamAttributeMemSyncDomain = 10
};

/* "cuda/bindings/cyruntime.pxd":963
 * cdef enum: cudaStreamAttributeMemSyncDomain = 10
 * 
 * cdef enum: cudaStreamAttributePriority = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeAccessPolicyWindow = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaStreamAttributePriority = 8
};

/* "cuda/bindings/cyruntime.pxd":965
 * cdef enum: cudaStreamAttributePriority = 8
 * 
 * cdef enum: cudaKernelNodeAttributeAccessPolicyWindow = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeCooperative = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeAccessPolicyWindow = 1
};

/* "cuda/bindings/cyruntime.pxd":967
 * cdef enum: cudaKernelNodeAttributeAccessPolicyWindow = 1
 * 
 * cdef enum: cudaKernelNodeAttributeCooperative = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributePriority = 8
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeCooperative = 2
};

/* "cuda/bindings/cyruntime.pxd":969
 * cdef enum: cudaKernelNodeAttributeCooperative = 2
 * 
 * cdef enum: cudaKernelNodeAttributePriority = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeClusterDimension = 4
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributePriority = 8
};

/* "cuda/bindings/cyruntime.pxd":971
 * cdef enum: cudaKernelNodeAttributePriority = 8
 * 
 * cdef enum: cudaKernelNodeAttributeClusterDimension = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeClusterSchedulingPolicyPreference = 5
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeClusterDimension = 4
};

/* "cuda/bindings/cyruntime.pxd":973
 * cdef enum: cudaKernelNodeAttributeClusterDimension = 4
 * 
 * cdef enum: cudaKernelNodeAttributeClusterSchedulingPolicyPreference = 5             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeMemSyncDomainMap = 9
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeClusterSchedulingPolicyPreference = 5
};

/* "cuda/bindings/cyruntime.pxd":975
 * cdef enum: cudaKernelNodeAttributeClusterSchedulingPolicyPreference = 5
 * 
 * cdef enum: cudaKernelNodeAttributeMemSyncDomainMap = 9             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeMemSyncDomain = 10
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeMemSyncDomainMap = 9
};

/* "cuda/bindings/cyruntime.pxd":977
 * cdef enum: cudaKernelNodeAttributeMemSyncDomainMap = 9
 * 
 * cdef enum: cudaKernelNodeAttributeMemSyncDomain = 10             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributePreferredSharedMemoryCarveout = 14
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeMemSyncDomain = 10
};

/* "cuda/bindings/cyruntime.pxd":979
 * cdef enum: cudaKernelNodeAttributeMemSyncDomain = 10
 * 
 * cdef enum: cudaKernelNodeAttributePreferredSharedMemoryCarveout = 14             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeDeviceUpdatableKernelNode = 13
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributePreferredSharedMemoryCarveout = 14
};

/* "cuda/bindings/cyruntime.pxd":981
 * cdef enum: cudaKernelNodeAttributePreferredSharedMemoryCarveout = 14
 * 
 * cdef enum: cudaKernelNodeAttributeDeviceUpdatableKernelNode = 13             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType1D = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeDeviceUpdatableKernelNode = 13
};

/* "cuda/bindings/cyruntime.pxd":983
 * cdef enum: cudaKernelNodeAttributeDeviceUpdatableKernelNode = 13
 * 
 * cdef enum: cudaSurfaceType1D = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType2D = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaSurfaceType1D = 1
};

/* "cuda/bindings/cyruntime.pxd":985
 * cdef enum: cudaSurfaceType1D = 1
 * 
 * cdef enum: cudaSurfaceType2D = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType3D = 3
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaSurfaceType2D = 2
};

/* "cuda/bindings/cyruntime.pxd":987
 * cdef enum: cudaSurfaceType2D = 2
 * 
 * cdef enum: cudaSurfaceType3D = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceTypeCubemap = 12
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaSurfaceType3D = 3
};

/* "cuda/bindings/cyruntime.pxd":989
 * cdef enum: cudaSurfaceType3D = 3
 * 
 * cdef enum: cudaSurfaceTypeCubemap = 12             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType1DLayered = 241
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaSurfaceTypeCubemap = 12
};

/* "cuda/bindings/cyruntime.pxd":991
 * cdef enum: cudaSurfaceTypeCubemap = 12
 * 
 * cdef enum: cudaSurfaceType1DLayered = 241             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType2DLayered = 242
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaSurfaceType1DLayered = 0xF1
};

/* "cuda/bindings/cyruntime.pxd":993
 * cdef enum: cudaSurfaceType1DLayered = 241
 * 
 * cdef enum: cudaSurfaceType2DLayered = 242             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceTypeCubemapLayered = 252
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaSurfaceType2DLayered = 0xF2
};

/* "cuda/bindings/cyruntime.pxd":995
 * cdef enum: cudaSurfaceType2DLayered = 242
 * 
 * cdef enum: cudaSurfaceTypeCubemapLayered = 252             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType1D = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaSurfaceTypeCubemapLayered = 0xFC
};

/* "cuda/bindings/cyruntime.pxd":997
 * cdef enum: cudaSurfaceTypeCubemapLayered = 252
 * 
 * cdef enum: cudaTextureType1D = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType2D = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaTextureType1D = 1
};

/* "cuda/bindings/cyruntime.pxd":999
 * cdef enum: cudaTextureType1D = 1
 * 
 * cdef enum: cudaTextureType2D = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType3D = 3
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaTextureType2D = 2
};

/* "cuda/bindings/cyruntime.pxd":1001
 * cdef enum: cudaTextureType2D = 2
 * 
 * cdef enum: cudaTextureType3D = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureTypeCubemap = 12
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaTextureType3D = 3
};

/* "cuda/bindings/cyruntime.pxd":1003
 * cdef enum: cudaTextureType3D = 3
 * 
 * cdef enum: cudaTextureTypeCubemap = 12             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType1DLayered = 241
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaTextureTypeCubemap = 12
};

/* "cuda/bindings/cyruntime.pxd":1005
 * cdef enum: cudaTextureTypeCubemap = 12
 * 
 * cdef enum: cudaTextureType1DLayered = 241             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType2DLayered = 242
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaTextureType1DLayered = 0xF1
};

/* "cuda/bindings/cyruntime.pxd":1007
 * cdef enum: cudaTextureType1DLayered = 241
 * 
 * cdef enum: cudaTextureType2DLayered = 242             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureTypeCubemapLayered = 252
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaTextureType2DLayered = 0xF2
};

/* "cuda/bindings/cyruntime.pxd":1009
 * cdef enum: cudaTextureType2DLayered = 242
 * 
 * cdef enum: cudaTextureTypeCubemapLayered = 252             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDART_VERSION = 12090
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaTextureTypeCubemapLayered = 0xFC
};

/* "cuda/bindings/cyruntime.pxd":1011
 * cdef enum: cudaTextureTypeCubemapLayered = 252
 * 
 * cdef enum: CUDART_VERSION = 12090             # <<<<<<<<<<<<<<
 * 
 * cdef enum: __CUDART_API_VERSION = 12090
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_CUDART_VERSION = 0x2F3A
};

/* "cuda/bindings/cyruntime.pxd":1013
 * cdef enum: CUDART_VERSION = 12090
 * 
 * cdef enum: __CUDART_API_VERSION = 12090             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EGL_MAX_PLANES = 3
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime___CUDART_API_VERSION = 0x2F3A
};

/* "cuda/bindings/cyruntime.pxd":1015
 * cdef enum: __CUDART_API_VERSION = 12090
 * 
 * cdef enum: CUDA_EGL_MAX_PLANES = 3             # <<<<<<<<<<<<<<
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_CUDA_EGL_MAX_PLANES = 3
};

/* "cuda/bindings/cyruntime_types.pxi":1553
 *         cudaRoundMinInf = 3
 * 
 * ctypedef cudaLaunchAttributeID cudaStreamAttrID             # <<<<<<<<<<<<<<
 * 
 * ctypedef cudaLaunchAttributeID cudaKernelNodeAttrID
*/
typedef enum cudaLaunchAttributeID __pyx_t_4cuda_8bindings_9cyruntime_cudaStreamAttrID;

/* "cuda/bindings/cyruntime_types.pxi":1555
 * ctypedef cudaLaunchAttributeID cudaStreamAttrID
 * 
 * ctypedef cudaLaunchAttributeID cudaKernelNodeAttrID             # <<<<<<<<<<<<<<
 * 
 * ctypedef cudaLaunchAttributeValue cudaStreamAttrValue
*/
typedef enum cudaLaunchAttributeID __pyx_t_4cuda_8bindings_9cyruntime_cudaKernelNodeAttrID;

/* "cuda/bindings/cyruntime_types.pxi":1557
 * ctypedef cudaLaunchAttributeID cudaKernelNodeAttrID
 * 
 * ctypedef cudaLaunchAttributeValue cudaStreamAttrValue             # <<<<<<<<<<<<<<
 * 
 * ctypedef cudaLaunchAttributeValue cudaKernelNodeAttrValue
*/
typedef union cudaLaunchAttributeValue __pyx_t_4cuda_8bindings_9cyruntime_cudaStreamAttrValue;

/* "cuda/bindings/cyruntime_types.pxi":1559
 * ctypedef cudaLaunchAttributeValue cudaStreamAttrValue
 * 
 * ctypedef cudaLaunchAttributeValue cudaKernelNodeAttrValue             # <<<<<<<<<<<<<<
*/
typedef union cudaLaunchAttributeValue __pyx_t_4cuda_8bindings_9cyruntime_cudaKernelNodeAttrValue;

/* "cuda/bindings/cyruntime.pxd":17
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLImageKHR             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef void *__pyx_t_4cuda_8bindings_9cyruntime_EGLImageKHR;

/* "cuda/bindings/cyruntime.pxd":22
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLStreamKHR             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int EGLint
*/
typedef void *__pyx_t_4cuda_8bindings_9cyruntime_EGLStreamKHR;

/* "cuda/bindings/cyruntime.pxd":29
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLSyncKHR             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpDevice
*/
typedef void *__pyx_t_4cuda_8bindings_9cyruntime_EGLSyncKHR;

/* "cuda/bindings/cyruntime.pxd":43
 *     cudaEglFrameTypePitch = 1
 * 
 * ctypedef cudaEglFrameType_enum cudaEglFrameType             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaEglResourceLocationFlags_enum:
*/
typedef enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrameType_enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrameType;

/* "cuda/bindings/cyruntime.pxd":49
 *     cudaEglResourceLocationVidmem = 1
 * 
 * ctypedef cudaEglResourceLocationFlags_enum cudaEglResourceLocationFlags             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaEglColorFormat_enum:
*/
typedef enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglResourceLocationFlags_enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglResourceLocationFlags;

/* "cuda/bindings/cyruntime.pxd":166
 *     cudaEglColorFormatUYVY2020 = 116
 * 
 * ctypedef cudaEglColorFormat_enum cudaEglColorFormat             # <<<<<<<<<<<<<<
 * 
 * cdef struct cudaEglPlaneDesc_st:
*/
typedef enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglColorFormat_enum __pyx_t_4cuda_8bindings_9cyruntime_cudaEglColorFormat;

/* "cuda/bindings/cyruntime.pxd":168
 * ctypedef cudaEglColorFormat_enum cudaEglColorFormat
 * 
 * cdef struct cudaEglPlaneDesc_st:             # <<<<<<<<<<<<<<
 *     unsigned int width
 *     unsigned int height
*/
struct __pyx_t_4cuda_8bindings_9cyruntime_cudaEglPlaneDesc_st {
  unsigned int width;
  unsigned int height;
  unsigned int depth;
  unsigned int pitch;
  unsigned int numChannels;
  struct cudaChannelFormatDesc channelDesc;
  unsigned int reserved[4];
};

/* "cuda/bindings/cyruntime.pxd":177
 *     unsigned int reserved[4]
 * 
 * ctypedef cudaEglPlaneDesc_st cudaEglPlaneDesc             # <<<<<<<<<<<<<<
 * 
 * cdef union anon_union11:
*/
typedef struct __pyx_t_4cuda_8bindings_9cyruntime_cudaEglPlaneDesc_st __pyx_t_4cuda_8bindings_9cyruntime_cudaEglPlaneDesc;

/* "cuda/bindings/cyruntime.pxd":179
 * ctypedef cudaEglPlaneDesc_st cudaEglPlaneDesc
 * 
 * cdef union anon_union11:             # <<<<<<<<<<<<<<
 *     cudaArray_t pArray[3]
 *     cudaPitchedPtr pPitch[3]
*/
union __pyx_t_4cuda_8bindings_9cyruntime_anon_union11 {
  cudaArray_t pArray[3];
  struct cudaPitchedPtr pPitch[3];
};

/* "cuda/bindings/cyruntime.pxd":183
 *     cudaPitchedPtr pPitch[3]
 * 
 * cdef struct cudaEglFrame_st:             # <<<<<<<<<<<<<<
 *     anon_union11 frame
 *     cudaEglPlaneDesc planeDesc[3]
*/
struct __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrame_st {
  union __pyx_t_4cuda_8bindings_9cyruntime_anon_union11 frame;
  __pyx_t_4cuda_8bindings_9cyruntime_cudaEglPlaneDesc planeDesc[3];
  unsigned int planeCount;
  __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrameType frameType;
  __pyx_t_4cuda_8bindings_9cyruntime_cudaEglColorFormat eglColorFormat;
};

/* "cuda/bindings/cyruntime.pxd":190
 *     cudaEglColorFormat eglColorFormat
 * 
 * ctypedef cudaEglFrame_st cudaEglFrame             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef struct __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrame_st __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrame;

/* "cuda/bindings/cyruntime.pxd":195
 *     cdef struct CUeglStreamConnection_st:
 *         pass
 * ctypedef CUeglStreamConnection_st* cudaEglStreamConnection             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaGLDeviceList:
*/
typedef struct CUeglStreamConnection_st *__pyx_t_4cuda_8bindings_9cyruntime_cudaEglStreamConnection;
struct __pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData_st;
typedef struct __pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData_st __pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData_st;
struct __pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData_st;
typedef struct __pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData_st __pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData_st;
struct __pyx_t_4cuda_8bindings_6driver_cuHostCallbackData_st;
typedef struct __pyx_t_4cuda_8bindings_6driver_cuHostCallbackData_st __pyx_t_4cuda_8bindings_6driver_cuHostCallbackData_st;
struct __pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData_st;
typedef struct __pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData_st __pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData_st;

/* "cuda/bindings/driver.pyx":23381
 *     return (_dict_CUresult[err], dptr)
 * 
 * ctypedef struct cuAsyncCallbackData_st:             # <<<<<<<<<<<<<<
 *     cydriver.CUasyncCallback callback
 *     void *userData
*/
struct __pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData_st {
  CUasyncCallback callback;
  void *userData;
};

/* "cuda/bindings/driver.pyx":23385
 *     void *userData
 * 
 * ctypedef cuAsyncCallbackData_st cuAsyncCallbackData             # <<<<<<<<<<<<<<
 * 
 * @cython.show_performance_hints(False)
*/
typedef __pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData_st __pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData;

/* "cuda/bindings/driver.pyx":31007
 *     return (_dict_CUresult[err],)
 * 
 * ctypedef struct cuStreamCallbackData_st:             # <<<<<<<<<<<<<<
 *     cydriver.CUstreamCallback callback
 *     void *userData
*/
struct __pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData_st {
  CUstreamCallback callback;
  void *userData;
};

/* "cuda/bindings/driver.pyx":31011
 *     void *userData
 * 
 * ctypedef cuStreamCallbackData_st cuStreamCallbackData             # <<<<<<<<<<<<<<
 * 
 * @cython.show_performance_hints(False)
*/
typedef __pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData_st __pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData;

/* "cuda/bindings/driver.pyx":34807
 *     return (_dict_CUresult[err],)
 * 
 * ctypedef struct cuHostCallbackData_st:             # <<<<<<<<<<<<<<
 *     cydriver.CUhostFn callback
 *     void *userData
*/
struct __pyx_t_4cuda_8bindings_6driver_cuHostCallbackData_st {
  CUhostFn callback;
  void *userData;
};

/* "cuda/bindings/driver.pyx":34811
 *     void *userData
 * 
 * ctypedef cuHostCallbackData_st cuHostCallbackData             # <<<<<<<<<<<<<<
 * 
 * @cython.show_performance_hints(False)
*/
typedef __pyx_t_4cuda_8bindings_6driver_cuHostCallbackData_st __pyx_t_4cuda_8bindings_6driver_cuHostCallbackData;

/* "cuda/bindings/driver.pyx":45775
 *     return (_dict_CUresult[err], phStream)
 * 
 * ctypedef struct cuLogsCallbackData_st:             # <<<<<<<<<<<<<<
 *     cydriver.CUlogsCallback callback
 *     void *userData
*/
struct __pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData_st {
  CUlogsCallback callback;
  void *userData;
};

/* "cuda/bindings/driver.pyx":45779
 *     void *userData
 * 
 * ctypedef cuLogsCallbackData_st cuLogsCallbackData             # <<<<<<<<<<<<<<
 * 
 * @cython.show_performance_hints(False)
*/
typedef __pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData_st __pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData;

/* "cuda/bindings/_lib/utils.pxd":9
 * from libcpp.vector cimport vector
 * 
 * cdef class _HelperKernelParams:             # <<<<<<<<<<<<<<
 *     cdef Py_buffer _pybuffer
 *     cdef bint _pyobj_acquired
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams {
  PyObject_HEAD
  Py_buffer _pybuffer;
  int _pyobj_acquired;
  void **_ckernelParams;
  char *_ckernelParamsData;
  int _length;
  int _malloc_list_created;
};


/* "cuda/bindings/_lib/utils.pxd":17
 *     cdef bint _malloc_list_created
 * 
 * cdef class _HelperInputVoidPtr:             # <<<<<<<<<<<<<<
 *     cdef Py_buffer _pybuffer
 *     cdef void* _cptr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr {
  PyObject_HEAD
  Py_buffer _pybuffer;
  void *_cptr;
  int _pyobj_acquired;
};


/* "cuda/bindings/_lib/utils.pxd":22
 *     cdef bint _pyobj_acquired
 * 
 * cdef class _HelperCUmemPool_attribute:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cydriver.CUmemPool_attribute_enum _attr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute {
  PyObject_HEAD
  void *_cptr;
  enum CUmemPool_attribute_enum _attr;
  int _is_getter;
  int _int_val;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *_cuuint64_t_val;
};


/* "cuda/bindings/_lib/utils.pxd":31
 *     cdef driver.cuuint64_t _cuuint64_t_val
 * 
 * cdef class _HelperCUmem_range_attribute:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cydriver.CUmem_range_attribute_enum _attr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute {
  PyObject_HEAD
  void *_cptr;
  enum CUmem_range_attribute_enum _attr;
  size_t _data_size;
  int _int_val;
  int *_int_val_list;
};


/* "cuda/bindings/_lib/utils.pxd":40
 *     cdef int* _int_val_list # 32 bit integer array
 * 
 * cdef class _HelperCUpointer_attribute:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cydriver.CUpointer_attribute_enum _attr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute {
  PyObject_HEAD
  void *_cptr;
  enum CUpointer_attribute_enum _attr;
  int _is_getter;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_ctx;
  unsigned int _uint;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_devptr;
  void **_void;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS *_token;
  int _bool;
  unsigned PY_LONG_LONG _ull;
  size_t _size;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *_mempool;
};


/* "cuda/bindings/_lib/utils.pxd":56
 *     cdef driver.CUmemoryPool _mempool
 * 
 * cdef class _HelperCUgraphMem_attribute:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cydriver.CUgraphMem_attribute_enum _attr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute {
  PyObject_HEAD
  void *_cptr;
  enum CUgraphMem_attribute_enum _attr;
  int _is_getter;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *_cuuint64_t_val;
};


/* "cuda/bindings/_lib/utils.pxd":64
 *     cdef driver.cuuint64_t _cuuint64_t_val
 * 
 * cdef class _HelperCUjit_option:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cydriver.CUjit_option_enum _attr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option {
  PyObject_HEAD
  void *_cptr;
  enum CUjit_option_enum _attr;
  unsigned int _uint;
  float _float;
  char *_charstar;
  enum CUjit_target_enum _target;
  enum CUjit_fallback_enum _fallback;
  int _int;
  enum CUjit_cacheMode_enum _cacheMode;
  std::vector<char *>  _charstarstar;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *_voidstarstar;
};


/* "cuda/bindings/_lib/utils.pxd":79
 *     cdef _InputVoidPtrPtrHelper _voidstarstar # list of addresses
 * 
 * cdef class _HelperCudaJitOption:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cyruntime.cudaJitOption _attr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption {
  PyObject_HEAD
  void *_cptr;
  enum cudaJitOption _attr;
  unsigned int _uint;
  float _float;
  char *_charstar;
  enum cudaJit_Fallback _fallback;
  int _int;
  enum cudaJit_CacheMode _cacheMode;
};


/* "cuda/bindings/_lib/utils.pxd":91
 *     cdef cyruntime.cudaJit_CacheMode _cacheMode
 * 
 * cdef class _HelperCUlibraryOption:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cydriver.CUlibraryOption_enum _attr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption {
  PyObject_HEAD
  void *_cptr;
  enum CUlibraryOption_enum _attr;
  unsigned int _uint;
};


/* "cuda/bindings/_lib/utils.pxd":98
 *     cdef unsigned int _uint
 * 
 * cdef class _HelperCudaLibraryOption:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cyruntime.cudaLibraryOption _attr
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption {
  PyObject_HEAD
  void *_cptr;
  enum cudaLibraryOption _attr;
  unsigned int _uint;
};


/* "cuda/bindings/_lib/utils.pxd":105
 *     cdef unsigned int _uint
 * 
 * cdef class _HelperCUmemAllocationHandleType:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cydriver.CUmemAllocationHandleType_enum _type
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType {
  PyObject_HEAD
  void *_cptr;
  enum CUmemAllocationHandleType_enum _type;
  int _int;
  void *_handle;
  unsigned int _d3dkmt_handle;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle *_mem_fabric_handle;
};


/* "cuda/bindings/_lib/utils.pxd":115
 *     cdef driver.CUmemFabricHandle _mem_fabric_handle
 * 
 * cdef class _InputVoidPtrPtrHelper:             # <<<<<<<<<<<<<<
 *     cdef void** _cptr
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper {
  PyObject_HEAD
  void **_cptr;
};


/* "cuda/bindings/_lib/utils.pxd":118
 *     cdef void** _cptr
 * 
 * cdef class _HelperCUcoredumpSettings:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef cydriver.CUcoredumpSettings_enum _attrib
*/
struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings {
  PyObject_HEAD
  void *_cptr;
  enum CUcoredumpSettings_enum _attrib;
  int _is_getter;
  size_t _size;
  int _bool;
  char *_charstar;
};


/* "cuda/bindings/driver.pxd":9
 * include "_lib/utils.pxd"
 * 
 * cdef class CUcontext:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcontext {
  PyObject_HEAD
  CUcontext _pvt_val;
  CUcontext *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":23
 *     cdef cydriver.CUcontext* _pvt_ptr
 * 
 * cdef class CUmodule:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmodule {
  PyObject_HEAD
  CUmodule _pvt_val;
  CUmodule *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":37
 *     cdef cydriver.CUmodule* _pvt_ptr
 * 
 * cdef class CUfunction:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUfunction {
  PyObject_HEAD
  CUfunction _pvt_val;
  CUfunction *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":51
 *     cdef cydriver.CUfunction* _pvt_ptr
 * 
 * cdef class CUlibrary:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary {
  PyObject_HEAD
  CUlibrary _pvt_val;
  CUlibrary *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":65
 *     cdef cydriver.CUlibrary* _pvt_ptr
 * 
 * cdef class CUkernel:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUkernel {
  PyObject_HEAD
  CUkernel _pvt_val;
  CUkernel *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":79
 *     cdef cydriver.CUkernel* _pvt_ptr
 * 
 * cdef class CUarray:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUarray {
  PyObject_HEAD
  CUarray _pvt_val;
  CUarray *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":93
 *     cdef cydriver.CUarray* _pvt_ptr
 * 
 * cdef class CUmipmappedArray:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray {
  PyObject_HEAD
  CUmipmappedArray _pvt_val;
  CUmipmappedArray *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":107
 *     cdef cydriver.CUmipmappedArray* _pvt_ptr
 * 
 * cdef class CUtexref:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUtexref {
  PyObject_HEAD
  CUtexref _pvt_val;
  CUtexref *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":121
 *     cdef cydriver.CUtexref* _pvt_ptr
 * 
 * cdef class CUsurfref:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref {
  PyObject_HEAD
  CUsurfref _pvt_val;
  CUsurfref *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":135
 *     cdef cydriver.CUsurfref* _pvt_ptr
 * 
 * cdef class CUevent:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUevent {
  PyObject_HEAD
  CUevent _pvt_val;
  CUevent *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":149
 *     cdef cydriver.CUevent* _pvt_ptr
 * 
 * cdef class CUstream:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstream {
  PyObject_HEAD
  CUstream _pvt_val;
  CUstream *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":163
 *     cdef cydriver.CUstream* _pvt_ptr
 * 
 * cdef class CUgraphicsResource:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource {
  PyObject_HEAD
  CUgraphicsResource _pvt_val;
  CUgraphicsResource *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":177
 *     cdef cydriver.CUgraphicsResource* _pvt_ptr
 * 
 * cdef class CUexternalMemory:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory {
  PyObject_HEAD
  CUexternalMemory _pvt_val;
  CUexternalMemory *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":191
 *     cdef cydriver.CUexternalMemory* _pvt_ptr
 * 
 * cdef class CUexternalSemaphore:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore {
  PyObject_HEAD
  CUexternalSemaphore _pvt_val;
  CUexternalSemaphore *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":205
 *     cdef cydriver.CUexternalSemaphore* _pvt_ptr
 * 
 * cdef class CUgraph:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraph {
  PyObject_HEAD
  CUgraph _pvt_val;
  CUgraph *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":219
 *     cdef cydriver.CUgraph* _pvt_ptr
 * 
 * cdef class CUgraphNode:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode {
  PyObject_HEAD
  CUgraphNode _pvt_val;
  CUgraphNode *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":233
 *     cdef cydriver.CUgraphNode* _pvt_ptr
 * 
 * cdef class CUgraphExec:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec {
  PyObject_HEAD
  CUgraphExec _pvt_val;
  CUgraphExec *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":247
 *     cdef cydriver.CUgraphExec* _pvt_ptr
 * 
 * cdef class CUmemoryPool:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool {
  PyObject_HEAD
  CUmemoryPool _pvt_val;
  CUmemoryPool *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":261
 *     cdef cydriver.CUmemoryPool* _pvt_ptr
 * 
 * cdef class CUuserObject:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject {
  PyObject_HEAD
  CUuserObject _pvt_val;
  CUuserObject *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":275
 *     cdef cydriver.CUuserObject* _pvt_ptr
 * 
 * cdef class CUgraphDeviceNode:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode {
  PyObject_HEAD
  CUgraphDeviceNode _pvt_val;
  CUgraphDeviceNode *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":289
 *     cdef cydriver.CUgraphDeviceNode* _pvt_ptr
 * 
 * cdef class CUasyncCallbackHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle {
  PyObject_HEAD
  CUasyncCallbackHandle _pvt_val;
  CUasyncCallbackHandle *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":303
 *     cdef cydriver.CUasyncCallbackHandle* _pvt_ptr
 * 
 * cdef class CUgreenCtx:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx {
  PyObject_HEAD
  CUgreenCtx _pvt_val;
  CUgreenCtx *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":317
 *     cdef cydriver.CUgreenCtx* _pvt_ptr
 * 
 * cdef class CUlinkState:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState {
  PyObject_HEAD
  CUlinkState _pvt_val;
  CUlinkState *_pvt_ptr;
  PyObject *_keepalive;
};


/* "cuda/bindings/driver.pxd":330
 *     cdef list _keepalive
 * 
 * cdef class CUdevResourceDesc:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc {
  PyObject_HEAD
  CUdevResourceDesc _pvt_val;
  CUdevResourceDesc *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":344
 *     cdef cydriver.CUdevResourceDesc* _pvt_ptr
 * 
 * cdef class CUlogsCallbackHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle {
  PyObject_HEAD
  CUlogsCallbackHandle _pvt_val;
  CUlogsCallbackHandle *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":356
 *     cdef cydriver.CUlogsCallbackHandle* _pvt_ptr
 * 
 * cdef class CUeglStreamConnection:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":370
 *     cdef cydriver.CUeglStreamConnection* _pvt_ptr
 * 
 * cdef class EGLImageKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":382
 *     cdef cydriver.EGLImageKHR* _pvt_ptr
 * 
 * cdef class EGLStreamKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":394
 *     cdef cydriver.EGLStreamKHR* _pvt_ptr
 * 
 * cdef class EGLSyncKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":406
 *     cdef cydriver.EGLSyncKHR* _pvt_ptr
 * 
 * cdef class CUasyncCallback:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback {
  PyObject_HEAD
  CUasyncCallback _pvt_val;
  CUasyncCallback *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":418
 *     cdef cydriver.CUasyncCallback* _pvt_ptr
 * 
 * cdef class CUhostFn:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn {
  PyObject_HEAD
  CUhostFn _pvt_val;
  CUhostFn *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":430
 *     cdef cydriver.CUhostFn* _pvt_ptr
 * 
 * cdef class CUstreamCallback:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback {
  PyObject_HEAD
  CUstreamCallback _pvt_val;
  CUstreamCallback *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":442
 *     cdef cydriver.CUstreamCallback* _pvt_ptr
 * 
 * cdef class CUoccupancyB2DSize:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize {
  PyObject_HEAD
  CUoccupancyB2DSize _pvt_val;
  CUoccupancyB2DSize *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":454
 *     cdef cydriver.CUoccupancyB2DSize* _pvt_ptr
 * 
 * cdef class CUlogsCallback:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback {
  PyObject_HEAD
  CUlogsCallback _pvt_val;
  CUlogsCallback *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":466
 *     cdef cydriver.CUlogsCallback* _pvt_ptr
 * 
 * cdef class CUuuid_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st {
  PyObject_HEAD
  struct CUuuid_st _pvt_val;
  struct CUuuid_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":481
 *     cdef cydriver.CUuuid_st* _pvt_ptr
 * 
 * cdef class CUmemFabricHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     Fabric handle - An opaque handle representing a memory allocation
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st {
  PyObject_HEAD
  struct CUmemFabricHandle_st _pvt_val;
  struct CUmemFabricHandle_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":501
 *     cdef cydriver.CUmemFabricHandle_st* _pvt_ptr
 * 
 * cdef class CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st {
  PyObject_HEAD
  struct CUipcEventHandle_st _pvt_val;
  struct CUipcEventHandle_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":518
 *     cdef cydriver.CUipcEventHandle_st* _pvt_ptr
 * 
 * cdef class CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC mem handle
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st {
  PyObject_HEAD
  struct CUipcMemHandle_st _pvt_val;
  struct CUipcMemHandle_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":535
 *     cdef cydriver.CUipcMemHandle_st* _pvt_ptr
 * 
 * cdef class CUstreamMemOpWaitValueParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_address;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *_value;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *_value64;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_alias;
};


/* "cuda/bindings/driver.pxd":563
 *     cdef CUdeviceptr _alias
 * 
 * cdef class CUstreamMemOpWriteValueParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_address;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *_value;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *_value64;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_alias;
};


/* "cuda/bindings/driver.pxd":591
 *     cdef CUdeviceptr _alias
 * 
 * cdef class CUstreamMemOpFlushRemoteWritesParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":607
 *     cdef cydriver.CUstreamBatchMemOpParams_union* _pvt_ptr
 * 
 * cdef class CUstreamMemOpMemoryBarrierParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":623
 *     cdef cydriver.CUstreamBatchMemOpParams_union* _pvt_ptr
 * 
 * cdef class CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *     """
 *     Per-operation parameters for cuStreamBatchMemOp
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union _pvt_val;
  union CUstreamBatchMemOpParams_union *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *_waitValue;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *_writeValue;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *_flushRemoteWrites;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *_memoryBarrier;
};


/* "cuda/bindings/driver.pxd":654
 *     cdef CUstreamMemOpMemoryBarrierParams_st _memoryBarrier
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st {
  PyObject_HEAD
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st _pvt_val;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_ctx;
  size_t _paramArray_length;
  CUstreamBatchMemOpParams *_paramArray;
};


/* "cuda/bindings/driver.pxd":678
 *     cdef cydriver.CUstreamBatchMemOpParams* _paramArray
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Batch memory operation node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st _pvt_val;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_ctx;
  size_t _paramArray_length;
  CUstreamBatchMemOpParams *_paramArray;
};


/* "cuda/bindings/driver.pxd":704
 *     cdef cydriver.CUstreamBatchMemOpParams* _paramArray
 * 
 * cdef class anon_struct0:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 {
  PyObject_HEAD
  struct CUasyncNotificationInfo_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":718
 *     cdef cydriver.CUasyncNotificationInfo_st* _pvt_ptr
 * 
 * cdef class anon_union2:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 {
  PyObject_HEAD
  struct CUasyncNotificationInfo_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *_overBudget;
};


/* "cuda/bindings/driver.pxd":733
 *     cdef anon_struct0 _overBudget
 * 
 * cdef class CUasyncNotificationInfo_st:             # <<<<<<<<<<<<<<
 *     """
 *     Information passed to the user via the async notification callback
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st {
  PyObject_HEAD
  struct CUasyncNotificationInfo_st *_val_ptr;
  struct CUasyncNotificationInfo_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *_info;
};


/* "cuda/bindings/driver.pxd":754
 *     cdef anon_union2 _info
 * 
 * cdef class CUdevprop_st:             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st {
  PyObject_HEAD
  struct CUdevprop_st _pvt_val;
  struct CUdevprop_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":789
 *     cdef cydriver.CUdevprop_st* _pvt_ptr
 * 
 * cdef class CUaccessPolicyWindow_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies an access policy for a window, a contiguous extent of
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st {
  PyObject_HEAD
  struct CUaccessPolicyWindow_st _pvt_val;
  struct CUaccessPolicyWindow_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":826
 *     cdef cydriver.CUaccessPolicyWindow_st* _pvt_ptr
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_KERNEL_NODE_PARAMS_st _pvt_val;
  struct CUDA_KERNEL_NODE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *_func;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *_cykernelParams;
};


/* "cuda/bindings/driver.pxd":863
 *     cdef _HelperKernelParams _cykernelParams
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_KERNEL_NODE_PARAMS_v2_st _pvt_val;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *_func;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *_cykernelParams;
  struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *_kern;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_ctx;
};


/* "cuda/bindings/driver.pxd":908
 *     cdef CUcontext _ctx
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v3_st:             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st {
  PyObject_HEAD
  struct CUDA_KERNEL_NODE_PARAMS_v3_st _pvt_val;
  struct CUDA_KERNEL_NODE_PARAMS_v3_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *_func;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *_cykernelParams;
  struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *_kern;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_ctx;
};


/* "cuda/bindings/driver.pxd":953
 *     cdef CUcontext _ctx
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_MEMSET_NODE_PARAMS_st _pvt_val;
  struct CUDA_MEMSET_NODE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_dst;
};


/* "cuda/bindings/driver.pxd":981
 *     cdef CUdeviceptr _dst
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_MEMSET_NODE_PARAMS_v2_st _pvt_val;
  struct CUDA_MEMSET_NODE_PARAMS_v2_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_dst;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_ctx;
};


/* "cuda/bindings/driver.pxd":1012
 *     cdef CUcontext _ctx
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_HOST_NODE_PARAMS_st _pvt_val;
  struct CUDA_HOST_NODE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *_fn;
};


/* "cuda/bindings/driver.pxd":1032
 *     cdef CUhostFn _fn
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_HOST_NODE_PARAMS_v2_st _pvt_val;
  struct CUDA_HOST_NODE_PARAMS_v2_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *_fn;
};


/* "cuda/bindings/driver.pxd":1052
 *     cdef CUhostFn _fn
 * 
 * cdef class CUDA_CONDITIONAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *     """
 *     Conditional node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS {
  PyObject_HEAD
  struct CUDA_CONDITIONAL_NODE_PARAMS _pvt_val;
  struct CUDA_CONDITIONAL_NODE_PARAMS *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *_handle;
  size_t _phGraph_out_length;
  CUgraph *_phGraph_out;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_ctx;
};


/* "cuda/bindings/driver.pxd":1100
 *     cdef CUcontext _ctx
 * 
 * cdef class CUgraphEdgeData_st:             # <<<<<<<<<<<<<<
 *     """
 *     Optional annotation for edges in a CUDA graph. Note, all edges
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st {
  PyObject_HEAD
  struct CUgraphEdgeData_st _pvt_val;
  struct CUgraphEdgeData_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1142
 *     cdef cydriver.CUgraphEdgeData_st* _pvt_ptr
 * 
 * cdef class CUDA_GRAPH_INSTANTIATE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Graph instantiation parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_GRAPH_INSTANTIATE_PARAMS_st _pvt_val;
  struct CUDA_GRAPH_INSTANTIATE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *_flags;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstream *_hUploadStream;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *_hErrNode_out;
};


/* "cuda/bindings/driver.pxd":1168
 *     cdef CUgraphNode _hErrNode_out
 * 
 * cdef class CUlaunchMemSyncDomainMap_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st {
  PyObject_HEAD
  struct CUlaunchMemSyncDomainMap_st _pvt_val;
  struct CUlaunchMemSyncDomainMap_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1193
 *     cdef cydriver.CUlaunchMemSyncDomainMap_st* _pvt_ptr
 * 
 * cdef class anon_struct1:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1211
 *     cdef cydriver.CUlaunchAttributeValue_union* _pvt_ptr
 * 
 * cdef class anon_struct2:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *_event;
};


/* "cuda/bindings/driver.pxd":1230
 *     cdef CUevent _event
 * 
 * cdef class anon_struct3:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *_event;
};


/* "cuda/bindings/driver.pxd":1247
 *     cdef CUevent _event
 * 
 * cdef class anon_struct4:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1265
 *     cdef cydriver.CUlaunchAttributeValue_union* _pvt_ptr
 * 
 * cdef class anon_struct5:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *_devNode;
};


/* "cuda/bindings/driver.pxd":1282
 *     cdef CUgraphDeviceNode _devNode
 * 
 * cdef class CUlaunchAttributeValue_union:             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union {
  PyObject_HEAD
  union CUlaunchAttributeValue_union _pvt_val;
  union CUlaunchAttributeValue_union *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow *_accessPolicyWindow;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *_clusterDim;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *_programmaticEvent;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *_launchCompletionEvent;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap *_memSyncDomainMap;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *_preferredClusterDim;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *_deviceUpdatableKernelNode;
};


/* "cuda/bindings/driver.pxd":1375
 *     cdef anon_struct5 _deviceUpdatableKernelNode
 * 
 * cdef class CUlaunchAttribute_st:             # <<<<<<<<<<<<<<
 *     """
 *     Launch attribute
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st {
  PyObject_HEAD
  struct CUlaunchAttribute_st _pvt_val;
  struct CUlaunchAttribute_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue *_value;
};


/* "cuda/bindings/driver.pxd":1395
 *     cdef CUlaunchAttributeValue _value
 * 
 * cdef class CUlaunchConfig_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA extensible launch configuration
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st {
  PyObject_HEAD
  struct CUlaunchConfig_st _pvt_val;
  struct CUlaunchConfig_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstream *_hStream;
  size_t _attrs_length;
  CUlaunchAttribute *_attrs;
};


/* "cuda/bindings/driver.pxd":1433
 *     cdef cydriver.CUlaunchAttribute* _attrs
 * 
 * cdef class CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *     """
 *     Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st {
  PyObject_HEAD
  struct CUexecAffinitySmCount_st _pvt_val;
  struct CUexecAffinitySmCount_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1450
 *     cdef cydriver.CUexecAffinitySmCount_st* _pvt_ptr
 * 
 * cdef class anon_union3:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 {
  PyObject_HEAD
  struct CUexecAffinityParam_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount *_smCount;
};


/* "cuda/bindings/driver.pxd":1465
 *     cdef CUexecAffinitySmCount _smCount
 * 
 * cdef class CUexecAffinityParam_st:             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st {
  PyObject_HEAD
  struct CUexecAffinityParam_st *_val_ptr;
  struct CUexecAffinityParam_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *_param;
};


/* "cuda/bindings/driver.pxd":1485
 *     cdef anon_union3 _param
 * 
 * cdef class CUctxCigParam_st:             # <<<<<<<<<<<<<<
 *     """
 *     CIG Context Create Params
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st {
  PyObject_HEAD
  struct CUctxCigParam_st _pvt_val;
  struct CUctxCigParam_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1504
 *     cdef cydriver.CUctxCigParam_st* _pvt_ptr
 * 
 * cdef class CUctxCreateParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Params for creating CUDA context Exactly one of execAffinityParams
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st {
  PyObject_HEAD
  struct CUctxCreateParams_st _pvt_val;
  struct CUctxCreateParams_st *_pvt_ptr;
  size_t _execAffinityParams_length;
  CUexecAffinityParam *_execAffinityParams;
  size_t _cigParams_length;
  CUctxCigParam *_cigParams;
};


/* "cuda/bindings/driver.pxd":1530
 *     cdef cydriver.CUctxCigParam* _cigParams
 * 
 * cdef class CUlibraryHostUniversalFunctionAndDataTable_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st {
  PyObject_HEAD
  struct CUlibraryHostUniversalFunctionAndDataTable_st _pvt_val;
  struct CUlibraryHostUniversalFunctionAndDataTable_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1551
 *     cdef cydriver.CUlibraryHostUniversalFunctionAndDataTable_st* _pvt_ptr
 * 
 * cdef class CUDA_MEMCPY2D_st:             # <<<<<<<<<<<<<<
 *     """
 *     2D memory copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st {
  PyObject_HEAD
  struct CUDA_MEMCPY2D_st _pvt_val;
  struct CUDA_MEMCPY2D_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_srcDevice;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_srcArray;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_dstArray;
};


/* "cuda/bindings/driver.pxd":1602
 *     cdef CUarray _dstArray
 * 
 * cdef class CUDA_MEMCPY3D_st:             # <<<<<<<<<<<<<<
 *     """
 *     3D memory copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st {
  PyObject_HEAD
  struct CUDA_MEMCPY3D_st _pvt_val;
  struct CUDA_MEMCPY3D_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_srcDevice;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_srcArray;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_dstArray;
};


/* "cuda/bindings/driver.pxd":1672
 *     cdef CUarray _dstArray
 * 
 * cdef class CUDA_MEMCPY3D_PEER_st:             # <<<<<<<<<<<<<<
 *     """
 *     3D memory cross-context copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st {
  PyObject_HEAD
  struct CUDA_MEMCPY3D_PEER_st _pvt_val;
  struct CUDA_MEMCPY3D_PEER_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_srcDevice;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_srcArray;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_srcContext;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_dstArray;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_dstContext;
};


/* "cuda/bindings/driver.pxd":1745
 *     cdef CUcontext _dstContext
 * 
 * cdef class CUDA_MEMCPY_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memcpy node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_MEMCPY_NODE_PARAMS_st _pvt_val;
  struct CUDA_MEMCPY_NODE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *_copyCtx;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *_copyParams;
};


/* "cuda/bindings/driver.pxd":1770
 *     cdef CUDA_MEMCPY3D _copyParams
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st {
  PyObject_HEAD
  struct CUDA_ARRAY_DESCRIPTOR_st _pvt_val;
  struct CUDA_ARRAY_DESCRIPTOR_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1793
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR_st* _pvt_ptr
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     """
 *     3D array descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st {
  PyObject_HEAD
  struct CUDA_ARRAY3D_DESCRIPTOR_st _pvt_val;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1820
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR_st* _pvt_ptr
 * 
 * cdef class anon_struct6:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 {
  PyObject_HEAD
  struct CUDA_ARRAY_SPARSE_PROPERTIES_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1838
 *     cdef cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st* _pvt_ptr
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array sparse properties
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st {
  PyObject_HEAD
  struct CUDA_ARRAY_SPARSE_PROPERTIES_st _pvt_val;
  struct CUDA_ARRAY_SPARSE_PROPERTIES_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *_tileExtent;
};


/* "cuda/bindings/driver.pxd":1865
 *     cdef anon_struct6 _tileExtent
 * 
 * cdef class CUDA_ARRAY_MEMORY_REQUIREMENTS_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array memory requirements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st {
  PyObject_HEAD
  struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st _pvt_val;
  struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1886
 *     cdef cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st* _pvt_ptr
 * 
 * cdef class anon_struct7:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_hArray;
};


/* "cuda/bindings/driver.pxd":1901
 *     cdef CUarray _hArray
 * 
 * cdef class anon_struct8:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *_hMipmappedArray;
};


/* "cuda/bindings/driver.pxd":1916
 *     cdef CUmipmappedArray _hMipmappedArray
 * 
 * cdef class anon_struct9:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_devPtr;
};


/* "cuda/bindings/driver.pxd":1937
 *     cdef CUdeviceptr _devPtr
 * 
 * cdef class anon_struct10:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_devPtr;
};


/* "cuda/bindings/driver.pxd":1962
 *     cdef CUdeviceptr _devPtr
 * 
 * cdef class anon_struct11:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":1976
 *     cdef cydriver.CUDA_RESOURCE_DESC_st* _pvt_ptr
 * 
 * cdef class anon_union4:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *_array;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *_mipmap;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *_linear;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *_pitch2D;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *_reserved;
};


/* "cuda/bindings/driver.pxd":2003
 *     cdef anon_struct11 _reserved
 * 
 * cdef class CUDA_RESOURCE_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Resource descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_val_ptr;
  struct CUDA_RESOURCE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *_res;
};


/* "cuda/bindings/driver.pxd":2025
 *     cdef anon_union4 _res
 * 
 * cdef class CUDA_TEXTURE_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     Texture descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st {
  PyObject_HEAD
  struct CUDA_TEXTURE_DESC_st _pvt_val;
  struct CUDA_TEXTURE_DESC_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2060
 *     cdef cydriver.CUDA_TEXTURE_DESC_st* _pvt_ptr
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     Resource view descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st {
  PyObject_HEAD
  struct CUDA_RESOURCE_VIEW_DESC_st _pvt_val;
  struct CUDA_RESOURCE_VIEW_DESC_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2093
 *     cdef cydriver.CUDA_RESOURCE_VIEW_DESC_st* _pvt_ptr
 * 
 * cdef class CUtensorMap_st:             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map descriptor. Requires compiler support for aligning to 64
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st {
  PyObject_HEAD
  struct CUtensorMap_st _pvt_val;
  struct CUtensorMap_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2111
 *     cdef cydriver.CUtensorMap_st* _pvt_ptr
 * 
 * cdef class CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:             # <<<<<<<<<<<<<<
 *     """
 *     GPU Direct v3 tokens
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st {
  PyObject_HEAD
  struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st _pvt_val;
  struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2130
 *     cdef cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st* _pvt_ptr
 * 
 * cdef class CUDA_LAUNCH_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Kernel launch parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st {
  PyObject_HEAD
  struct CUDA_LAUNCH_PARAMS_st _pvt_val;
  struct CUDA_LAUNCH_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *_function;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstream *_hStream;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *_cykernelParams;
};


/* "cuda/bindings/driver.pxd":2168
 *     cdef _HelperKernelParams _cykernelParams
 * 
 * cdef class anon_struct12:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2184
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st* _pvt_ptr
 * 
 * cdef class anon_union5:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *_win32;
};


/* "cuda/bindings/driver.pxd":2203
 *     cdef anon_struct12 _win32
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_val_ptr;
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *_handle;
};


/* "cuda/bindings/driver.pxd":2229
 *     cdef anon_union5 _handle
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     External memory buffer descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st _pvt_val;
  struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2252
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st* _pvt_ptr
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     External memory mipmap descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st _pvt_val;
  struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *_arrayDesc;
};


/* "cuda/bindings/driver.pxd":2277
 *     cdef CUDA_ARRAY3D_DESCRIPTOR _arrayDesc
 * 
 * cdef class anon_struct13:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2293
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st* _pvt_ptr
 * 
 * cdef class anon_union6:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *_win32;
};


/* "cuda/bindings/driver.pxd":2312
 *     cdef anon_struct13 _win32
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_val_ptr;
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *_handle;
};


/* "cuda/bindings/driver.pxd":2336
 *     cdef anon_union6 _handle
 * 
 * cdef class anon_struct14:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2350
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _pvt_ptr
 * 
 * cdef class anon_union7:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2366
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _pvt_ptr
 * 
 * cdef class anon_struct15:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2380
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _pvt_ptr
 * 
 * cdef class anon_struct16:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *_fence;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *_nvSciSync;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *_keyedMutex;
};


/* "cuda/bindings/driver.pxd":2403
 *     cdef anon_struct15 _keyedMutex
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st _pvt_val;
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *_params;
};


/* "cuda/bindings/driver.pxd":2432
 *     cdef anon_struct16 _params
 * 
 * cdef class anon_struct17:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2446
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _pvt_ptr
 * 
 * cdef class anon_union8:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2462
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _pvt_ptr
 * 
 * cdef class anon_struct18:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2478
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _pvt_ptr
 * 
 * cdef class anon_struct19:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *_fence;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *_nvSciSync;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *_keyedMutex;
};


/* "cuda/bindings/driver.pxd":2501
 *     cdef anon_struct18 _keyedMutex
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st _pvt_val;
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *_params;
};


/* "cuda/bindings/driver.pxd":2530
 *     cdef anon_struct19 _params
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore signal node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st _pvt_val;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *_pvt_ptr;
  size_t _extSemArray_length;
  CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *_paramsArray;
};


/* "cuda/bindings/driver.pxd":2556
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* _paramsArray
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore signal node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st _pvt_val;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *_pvt_ptr;
  size_t _extSemArray_length;
  CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *_paramsArray;
};


/* "cuda/bindings/driver.pxd":2582
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* _paramsArray
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore wait node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st _pvt_val;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *_pvt_ptr;
  size_t _extSemArray_length;
  CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *_paramsArray;
};


/* "cuda/bindings/driver.pxd":2608
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* _paramsArray
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore wait node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st _pvt_val;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *_pvt_ptr;
  size_t _extSemArray_length;
  CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *_paramsArray;
};


/* "cuda/bindings/driver.pxd":2634
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* _paramsArray
 * 
 * cdef class anon_union9:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *_mipmap;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_array;
};


/* "cuda/bindings/driver.pxd":2652
 *     cdef CUarray _array
 * 
 * cdef class anon_struct20:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2680
 *     cdef cydriver.CUarrayMapInfo_st* _pvt_ptr
 * 
 * cdef class anon_struct21:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2698
 *     cdef cydriver.CUarrayMapInfo_st* _pvt_ptr
 * 
 * cdef class anon_union10:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *_sparseLevel;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *_miptail;
};


/* "cuda/bindings/driver.pxd":2716
 *     cdef anon_struct21 _miptail
 * 
 * cdef class anon_union11:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *_memHandle;
};


/* "cuda/bindings/driver.pxd":2731
 *     cdef CUmemGenericAllocationHandle _memHandle
 * 
 * cdef class CUarrayMapInfo_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the CUDA array or CUDA mipmapped array memory mapping
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_val_ptr;
  struct CUarrayMapInfo_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *_resource;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *_subresource;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *_memHandle;
};


/* "cuda/bindings/driver.pxd":2772
 *     cdef anon_union11 _memHandle
 * 
 * cdef class CUmemLocation_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st {
  PyObject_HEAD
  struct CUmemLocation_st _pvt_val;
  struct CUmemLocation_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2791
 *     cdef cydriver.CUmemLocation_st* _pvt_ptr
 * 
 * cdef class anon_struct22:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 {
  PyObject_HEAD
  struct CUmemAllocationProp_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2811
 *     cdef cydriver.CUmemAllocationProp_st* _pvt_ptr
 * 
 * cdef class CUmemAllocationProp_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the allocation properties for a allocation.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st {
  PyObject_HEAD
  struct CUmemAllocationProp_st _pvt_val;
  struct CUmemAllocationProp_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *_location;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *_allocFlags;
};


/* "cuda/bindings/driver.pxd":2842
 *     cdef anon_struct22 _allocFlags
 * 
 * cdef class CUmulticastObjectProp_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties for a multicast object.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st {
  PyObject_HEAD
  struct CUmulticastObjectProp_st _pvt_val;
  struct CUmulticastObjectProp_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2868
 *     cdef cydriver.CUmulticastObjectProp_st* _pvt_ptr
 * 
 * cdef class CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st {
  PyObject_HEAD
  struct CUmemAccessDesc_st _pvt_val;
  struct CUmemAccessDesc_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *_location;
};


/* "cuda/bindings/driver.pxd":2888
 *     cdef CUmemLocation _location
 * 
 * cdef class CUgraphExecUpdateResultInfo_st:             # <<<<<<<<<<<<<<
 *     """
 *     Result information returned by cuGraphExecUpdate
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st {
  PyObject_HEAD
  struct CUgraphExecUpdateResultInfo_st _pvt_val;
  struct CUgraphExecUpdateResultInfo_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *_errorNode;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *_errorFromNode;
};


/* "cuda/bindings/driver.pxd":2914
 *     cdef CUgraphNode _errorFromNode
 * 
 * cdef class CUmemPoolProps_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties of allocations made from the pool.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st {
  PyObject_HEAD
  struct CUmemPoolProps_st _pvt_val;
  struct CUmemPoolProps_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *_location;
};


/* "cuda/bindings/driver.pxd":2950
 *     cdef CUmemLocation _location
 * 
 * cdef class CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st {
  PyObject_HEAD
  struct CUmemPoolPtrExportData_st _pvt_val;
  struct CUmemPoolPtrExportData_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2967
 *     cdef cydriver.CUmemPoolPtrExportData_st* _pvt_ptr
 * 
 * cdef class CUmemcpyAttributes_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes specific to copies within a batch. For more details on
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st {
  PyObject_HEAD
  struct CUmemcpyAttributes_st _pvt_val;
  struct CUmemcpyAttributes_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *_srcLocHint;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *_dstLocHint;
};


/* "cuda/bindings/driver.pxd":2996
 *     cdef CUmemLocation _dstLocHint
 * 
 * cdef class CUoffset3D_st:             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing offset into a CUarray in elements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st {
  PyObject_HEAD
  struct CUoffset3D_st _pvt_val;
  struct CUoffset3D_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3017
 *     cdef cydriver.CUoffset3D_st* _pvt_ptr
 * 
 * cdef class CUextent3D_st:             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing width/height/depth of a CUarray in elements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st {
  PyObject_HEAD
  struct CUextent3D_st _pvt_val;
  struct CUextent3D_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3038
 *     cdef cydriver.CUextent3D_st* _pvt_ptr
 * 
 * cdef class anon_struct23:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 {
  PyObject_HEAD
  struct CUmemcpy3DOperand_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *_locHint;
};


/* "cuda/bindings/driver.pxd":3060
 *     cdef CUmemLocation _locHint
 * 
 * cdef class anon_struct24:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 {
  PyObject_HEAD
  struct CUmemcpy3DOperand_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *_array;
  struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D *_offset;
};


/* "cuda/bindings/driver.pxd":3078
 *     cdef CUoffset3D _offset
 * 
 * cdef class anon_union12:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 {
  PyObject_HEAD
  struct CUmemcpy3DOperand_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *_array;
};


/* "cuda/bindings/driver.pxd":3096
 *     cdef anon_struct24 _array
 * 
 * cdef class CUmemcpy3DOperand_st:             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing an operand for copy with cuMemcpy3DBatchAsync
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st {
  PyObject_HEAD
  struct CUmemcpy3DOperand_st *_val_ptr;
  struct CUmemcpy3DOperand_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *_op;
};


/* "cuda/bindings/driver.pxd":3116
 *     cdef anon_union12 _op
 * 
 * cdef class CUDA_MEMCPY3D_BATCH_OP_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st {
  PyObject_HEAD
  struct CUDA_MEMCPY3D_BATCH_OP_st _pvt_val;
  struct CUDA_MEMCPY3D_BATCH_OP_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *_src;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *_dst;
  struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D *_extent;
};


/* "cuda/bindings/driver.pxd":3143
 *     cdef CUextent3D _extent
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st {
  PyObject_HEAD
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st _pvt_val;
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *_poolProps;
  size_t _accessDescs_length;
  CUmemAccessDesc *_accessDescs;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_dptr;
};


/* "cuda/bindings/driver.pxd":3176
 *     cdef CUdeviceptr _dptr
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st _pvt_val;
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *_poolProps;
  size_t _accessDescs_length;
  CUmemAccessDesc *_accessDescs;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_dptr;
};


/* "cuda/bindings/driver.pxd":3209
 *     cdef CUdeviceptr _dptr
 * 
 * cdef class CUDA_MEM_FREE_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory free node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_MEM_FREE_NODE_PARAMS_st _pvt_val;
  struct CUDA_MEM_FREE_NODE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_dptr;
};


/* "cuda/bindings/driver.pxd":3227
 *     cdef CUdeviceptr _dptr
 * 
 * cdef class CUDA_CHILD_GRAPH_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Child graph node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_CHILD_GRAPH_NODE_PARAMS_st _pvt_val;
  struct CUDA_CHILD_GRAPH_NODE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *_graph;
};


/* "cuda/bindings/driver.pxd":3251
 *     cdef CUgraph _graph
 * 
 * cdef class CUDA_EVENT_RECORD_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Event record node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EVENT_RECORD_NODE_PARAMS_st _pvt_val;
  struct CUDA_EVENT_RECORD_NODE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *_event;
};


/* "cuda/bindings/driver.pxd":3269
 *     cdef CUevent _event
 * 
 * cdef class CUDA_EVENT_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Event wait node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EVENT_WAIT_NODE_PARAMS_st _pvt_val;
  struct CUDA_EVENT_WAIT_NODE_PARAMS_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *_event;
};


/* "cuda/bindings/driver.pxd":3287
 *     cdef CUevent _event
 * 
 * cdef class CUgraphNodeParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Graph node parameters. See cuGraphAddNode.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st {
  PyObject_HEAD
  struct CUgraphNodeParams_st *_val_ptr;
  struct CUgraphNodeParams_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 *_kernel;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS *_memcpy;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 *_memset;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 *_host;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS *_graph;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS *_eventWait;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS *_eventRecord;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *_extSemSignal;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *_extSemWait;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *_alloc;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS *_free;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *_memOp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *_conditional;
};


/* "cuda/bindings/driver.pxd":3349
 *     cdef CUDA_CONDITIONAL_NODE_PARAMS _conditional
 * 
 * cdef class CUcheckpointLockArgs_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint optional lock arguments
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st {
  PyObject_HEAD
  struct CUcheckpointLockArgs_st _pvt_val;
  struct CUcheckpointLockArgs_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3371
 *     cdef cydriver.CUcheckpointLockArgs_st* _pvt_ptr
 * 
 * cdef class CUcheckpointCheckpointArgs_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint optional checkpoint arguments
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st {
  PyObject_HEAD
  struct CUcheckpointCheckpointArgs_st _pvt_val;
  struct CUcheckpointCheckpointArgs_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3388
 *     cdef cydriver.CUcheckpointCheckpointArgs_st* _pvt_ptr
 * 
 * cdef class CUcheckpointRestoreArgs_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint optional restore arguments
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st {
  PyObject_HEAD
  struct CUcheckpointRestoreArgs_st _pvt_val;
  struct CUcheckpointRestoreArgs_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3405
 *     cdef cydriver.CUcheckpointRestoreArgs_st* _pvt_ptr
 * 
 * cdef class CUcheckpointUnlockArgs_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint optional unlock arguments
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st {
  PyObject_HEAD
  struct CUcheckpointUnlockArgs_st _pvt_val;
  struct CUcheckpointUnlockArgs_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3422
 *     cdef cydriver.CUcheckpointUnlockArgs_st* _pvt_ptr
 * 
 * cdef class CUmemDecompressParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Structure describing the parameters that compose a single
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st {
  PyObject_HEAD
  struct CUmemDecompressParams_st _pvt_val;
  struct CUmemDecompressParams_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3461
 *     cdef cydriver.CUmemDecompressParams_st* _pvt_ptr
 * 
 * cdef class CUdevSmResource_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st {
  PyObject_HEAD
  struct CUdevSmResource_st _pvt_val;
  struct CUdevSmResource_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3477
 *     cdef cydriver.CUdevSmResource_st* _pvt_ptr
 * 
 * cdef class CUdevResource_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st {
  PyObject_HEAD
  struct CUdevResource_st *_val_ptr;
  struct CUdevResource_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource *_sm;
};


/* "cuda/bindings/driver.pxd":3499
 *     cdef CUdevSmResource _sm
 * 
 * cdef class anon_union15:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 {
  PyObject_HEAD
  struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3515
 *     cdef cydriver.CUeglFrame_st* _pvt_ptr
 * 
 * cdef class CUeglFrame_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame structure Descriptor - structure defining one frame
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *_val_ptr;
  struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *_frame;
};


/* "cuda/bindings/driver.pxd":3553
 *     cdef anon_union15 _frame
 * 
 * cdef class CUdeviceptr:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr {
  PyObject_HEAD
  CUdeviceptr _pvt_val;
  CUdeviceptr *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3567
 *     cdef cydriver.CUdeviceptr* _pvt_ptr
 * 
 * cdef class CUdevice:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevice {
  PyObject_HEAD
  CUdevice _pvt_val;
  CUdevice *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3581
 *     cdef cydriver.CUdevice* _pvt_ptr
 * 
 * cdef class CUtexObject:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject {
  PyObject_HEAD
  CUtexObject _pvt_val;
  CUtexObject *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3595
 *     cdef cydriver.CUtexObject* _pvt_ptr
 * 
 * cdef class CUsurfObject:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject {
  PyObject_HEAD
  CUsurfObject _pvt_val;
  CUsurfObject *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3609
 *     cdef cydriver.CUsurfObject* _pvt_ptr
 * 
 * cdef class CUgraphConditionalHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle {
  PyObject_HEAD
  CUgraphConditionalHandle _pvt_val;
  CUgraphConditionalHandle *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3621
 *     cdef cydriver.CUgraphConditionalHandle* _pvt_ptr
 * 
 * cdef class CUuuid(CUuuid_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUuuid {
  struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3635
 *     pass
 * 
 * cdef class CUmemFabricHandle_v1(CUmemFabricHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     Fabric handle - An opaque handle representing a memory allocation
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3654
 *     pass
 * 
 * cdef class CUmemFabricHandle(CUmemFabricHandle_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Fabric handle - An opaque handle representing a memory allocation
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":3673
 *     pass
 * 
 * cdef class CUipcEventHandle_v1(CUipcEventHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3689
 *     pass
 * 
 * cdef class CUipcEventHandle(CUipcEventHandle_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":3705
 *     pass
 * 
 * cdef class CUipcMemHandle_v1(CUipcMemHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC mem handle
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3721
 *     pass
 * 
 * cdef class CUipcMemHandle(CUipcMemHandle_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC mem handle
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":3737
 *     pass
 * 
 * cdef class CUstreamBatchMemOpParams_v1(CUstreamBatchMemOpParams_union):             # <<<<<<<<<<<<<<
 *     """
 *     Per-operation parameters for cuStreamBatchMemOp
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union __pyx_base;
};


/* "cuda/bindings/driver.pxd":3763
 *     pass
 * 
 * cdef class CUstreamBatchMemOpParams(CUstreamBatchMemOpParams_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Per-operation parameters for cuStreamBatchMemOp
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":3789
 *     pass
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v1(CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3809
 *     pass
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS(CUDA_BATCH_MEM_OP_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":3829
 *     pass
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Batch memory operation node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3851
 *     pass
 * 
 * cdef class CUasyncNotificationInfo(CUasyncNotificationInfo_st):             # <<<<<<<<<<<<<<
 *     """
 *     Information passed to the user via the async notification callback
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo {
  struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3870
 *     pass
 * 
 * cdef class CUdevprop_v1(CUdevprop_st):             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3904
 *     pass
 * 
 * cdef class CUdevprop(CUdevprop_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":3938
 *     pass
 * 
 * cdef class CUaccessPolicyWindow_v1(CUaccessPolicyWindow_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies an access policy for a window, a contiguous extent of
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":3974
 *     pass
 * 
 * cdef class CUaccessPolicyWindow(CUaccessPolicyWindow_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies an access policy for a window, a contiguous extent of
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow {
  struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":4010
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v1(CUDA_KERNEL_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4044
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v2(CUDA_KERNEL_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4084
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS(CUDA_KERNEL_NODE_PARAMS_v2):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2 __pyx_base;
};


/* "cuda/bindings/driver.pxd":4124
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v3(CUDA_KERNEL_NODE_PARAMS_v3_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4164
 *     pass
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_v1(CUDA_MEMSET_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4190
 *     pass
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS(CUDA_MEMSET_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":4216
 *     pass
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_v2(CUDA_MEMSET_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4244
 *     pass
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_v1(CUDA_HOST_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4262
 *     pass
 * 
 * cdef class CUDA_HOST_NODE_PARAMS(CUDA_HOST_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":4280
 *     pass
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_v2(CUDA_HOST_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4298
 *     pass
 * 
 * cdef class CUgraphEdgeData(CUgraphEdgeData_st):             # <<<<<<<<<<<<<<
 *     """
 *     Optional annotation for edges in a CUDA graph. Note, all edges
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4339
 *     pass
 * 
 * cdef class CUDA_GRAPH_INSTANTIATE_PARAMS(CUDA_GRAPH_INSTANTIATE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Graph instantiation parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4361
 *     pass
 * 
 * cdef class CUlaunchMemSyncDomainMap(CUlaunchMemSyncDomainMap_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4385
 *     pass
 * 
 * cdef class CUlaunchAttributeValue(CUlaunchAttributeValue_union):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union __pyx_base;
};


/* "cuda/bindings/driver.pxd":4470
 *     pass
 * 
 * cdef class CUlaunchAttribute(CUlaunchAttribute_st):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attribute
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4488
 *     pass
 * 
 * cdef class CUlaunchConfig(CUlaunchConfig_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA extensible launch configuration
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4522
 *     pass
 * 
 * cdef class CUkernelNodeAttrValue_v1(CUlaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue __pyx_base;
};


/* "cuda/bindings/driver.pxd":4607
 *     pass
 * 
 * cdef class CUkernelNodeAttrValue(CUkernelNodeAttrValue_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue {
  struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":4692
 *     pass
 * 
 * cdef class CUstreamAttrValue_v1(CUlaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue __pyx_base;
};


/* "cuda/bindings/driver.pxd":4777
 *     pass
 * 
 * cdef class CUstreamAttrValue(CUstreamAttrValue_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":4862
 *     pass
 * 
 * cdef class CUexecAffinitySmCount_v1(CUexecAffinitySmCount_st):             # <<<<<<<<<<<<<<
 *     """
 *     Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4878
 *     pass
 * 
 * cdef class CUexecAffinitySmCount(CUexecAffinitySmCount_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":4894
 *     pass
 * 
 * cdef class CUexecAffinityParam_v1(CUexecAffinityParam_st):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4912
 *     pass
 * 
 * cdef class CUexecAffinityParam(CUexecAffinityParam_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":4930
 *     pass
 * 
 * cdef class CUctxCigParam(CUctxCigParam_st):             # <<<<<<<<<<<<<<
 *     """
 *     CIG Context Create Params
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam {
  struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4948
 *     pass
 * 
 * cdef class CUctxCreateParams(CUctxCreateParams_st):             # <<<<<<<<<<<<<<
 *     """
 *     Params for creating CUDA context Exactly one of execAffinityParams
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams {
  struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4969
 *     pass
 * 
 * cdef class CUlibraryHostUniversalFunctionAndDataTable(CUlibraryHostUniversalFunctionAndDataTable_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":4989
 *     pass
 * 
 * cdef class CUDA_MEMCPY2D_v2(CUDA_MEMCPY2D_st):             # <<<<<<<<<<<<<<
 *     """
 *     2D memory copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5035
 *     pass
 * 
 * cdef class CUDA_MEMCPY2D(CUDA_MEMCPY2D_v2):             # <<<<<<<<<<<<<<
 *     """
 *     2D memory copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5081
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_v2(CUDA_MEMCPY3D_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5146
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D(CUDA_MEMCPY3D_v2):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5211
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_PEER_v1(CUDA_MEMCPY3D_PEER_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory cross-context copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5277
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_PEER(CUDA_MEMCPY3D_PEER_v1):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory cross-context copy parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5343
 *     pass
 * 
 * cdef class CUDA_MEMCPY_NODE_PARAMS(CUDA_MEMCPY_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memcpy node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5365
 *     pass
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR_v2(CUDA_ARRAY_DESCRIPTOR_st):             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5387
 *     pass
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR(CUDA_ARRAY_DESCRIPTOR_v2):             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5409
 *     pass
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR_v2(CUDA_ARRAY3D_DESCRIPTOR_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D array descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5435
 *     pass
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR(CUDA_ARRAY3D_DESCRIPTOR_v2):             # <<<<<<<<<<<<<<
 *     """
 *     3D array descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5461
 *     pass
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES_v1(CUDA_ARRAY_SPARSE_PROPERTIES_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array sparse properties
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5486
 *     pass
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES(CUDA_ARRAY_SPARSE_PROPERTIES_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array sparse properties
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5511
 *     pass
 * 
 * cdef class CUDA_ARRAY_MEMORY_REQUIREMENTS_v1(CUDA_ARRAY_MEMORY_REQUIREMENTS_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array memory requirements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5531
 *     pass
 * 
 * cdef class CUDA_ARRAY_MEMORY_REQUIREMENTS(CUDA_ARRAY_MEMORY_REQUIREMENTS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array memory requirements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5551
 *     pass
 * 
 * cdef class CUDA_RESOURCE_DESC_v1(CUDA_RESOURCE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Resource descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5571
 *     pass
 * 
 * cdef class CUDA_RESOURCE_DESC(CUDA_RESOURCE_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Resource descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5591
 *     pass
 * 
 * cdef class CUDA_TEXTURE_DESC_v1(CUDA_TEXTURE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     Texture descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5625
 *     pass
 * 
 * cdef class CUDA_TEXTURE_DESC(CUDA_TEXTURE_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Texture descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5659
 *     pass
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC_v1(CUDA_RESOURCE_VIEW_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5691
 *     pass
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC(CUDA_RESOURCE_VIEW_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5723
 *     pass
 * 
 * cdef class CUtensorMap(CUtensorMap_st):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map descriptor. Requires compiler support for aligning to 64
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap {
  struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5740
 *     pass
 * 
 * cdef class CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU Direct v3 tokens
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5758
 *     pass
 * 
 * cdef class CUDA_POINTER_ATTRIBUTE_P2P_TOKENS(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     GPU Direct v3 tokens
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5776
 *     pass
 * 
 * cdef class CUDA_LAUNCH_PARAMS_v1(CUDA_LAUNCH_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Kernel launch parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5810
 *     pass
 * 
 * cdef class CUDA_LAUNCH_PARAMS(CUDA_LAUNCH_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Kernel launch parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5844
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1(CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5868
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC(CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5892
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1(CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External memory buffer descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5914
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_BUFFER_DESC(CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External memory buffer descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5936
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1(CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External memory mipmap descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5959
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC(CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External memory mipmap descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":5982
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6004
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6026
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6053
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6080
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6107
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6134
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore signal node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6155
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore signal node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6176
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore signal node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6197
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1(CUDA_EXT_SEM_WAIT_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore wait node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6218
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS(CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore wait node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6239
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore wait node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6260
 *     pass
 * 
 * cdef class CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle {
  PyObject_HEAD
  CUmemGenericAllocationHandle _pvt_val;
  CUmemGenericAllocationHandle *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":6272
 *     cdef cydriver.CUmemGenericAllocationHandle* _pvt_ptr
 * 
 * cdef class CUarrayMapInfo_v1(CUarrayMapInfo_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the CUDA array or CUDA mipmapped array memory mapping
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6309
 *     pass
 * 
 * cdef class CUarrayMapInfo(CUarrayMapInfo_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the CUDA array or CUDA mipmapped array memory mapping
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo {
  struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6346
 *     pass
 * 
 * cdef class CUmemLocation_v1(CUmemLocation_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6364
 *     pass
 * 
 * cdef class CUmemLocation(CUmemLocation_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6382
 *     pass
 * 
 * cdef class CUmemAllocationProp_v1(CUmemAllocationProp_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the allocation properties for a allocation.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6410
 *     pass
 * 
 * cdef class CUmemAllocationProp(CUmemAllocationProp_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the allocation properties for a allocation.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6438
 *     pass
 * 
 * cdef class CUmulticastObjectProp_v1(CUmulticastObjectProp_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties for a multicast object.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6463
 *     pass
 * 
 * cdef class CUmulticastObjectProp(CUmulticastObjectProp_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties for a multicast object.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6488
 *     pass
 * 
 * cdef class CUmemAccessDesc_v1(CUmemAccessDesc_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6506
 *     pass
 * 
 * cdef class CUmemAccessDesc(CUmemAccessDesc_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6524
 *     pass
 * 
 * cdef class CUgraphExecUpdateResultInfo_v1(CUgraphExecUpdateResultInfo_st):             # <<<<<<<<<<<<<<
 *     """
 *     Result information returned by cuGraphExecUpdate
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6547
 *     pass
 * 
 * cdef class CUgraphExecUpdateResultInfo(CUgraphExecUpdateResultInfo_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Result information returned by cuGraphExecUpdate
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6570
 *     pass
 * 
 * cdef class CUmemPoolProps_v1(CUmemPoolProps_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties of allocations made from the pool.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6604
 *     pass
 * 
 * cdef class CUmemPoolProps(CUmemPoolProps_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties of allocations made from the pool.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6638
 *     pass
 * 
 * cdef class CUmemPoolPtrExportData_v1(CUmemPoolPtrExportData_st):             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6654
 *     pass
 * 
 * cdef class CUmemPoolPtrExportData(CUmemPoolPtrExportData_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6670
 *     pass
 * 
 * cdef class CUmemcpyAttributes_v1(CUmemcpyAttributes_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes specific to copies within a batch. For more details on
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6696
 *     pass
 * 
 * cdef class CUmemcpyAttributes(CUmemcpyAttributes_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes specific to copies within a batch. For more details on
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6722
 *     pass
 * 
 * cdef class CUoffset3D_v1(CUoffset3D_st):             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing offset into a CUarray in elements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6742
 *     pass
 * 
 * cdef class CUoffset3D(CUoffset3D_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing offset into a CUarray in elements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D {
  struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6762
 *     pass
 * 
 * cdef class CUextent3D_v1(CUextent3D_st):             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing width/height/depth of a CUarray in elements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6782
 *     pass
 * 
 * cdef class CUextent3D(CUextent3D_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing width/height/depth of a CUarray in elements
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D {
  struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6802
 *     pass
 * 
 * cdef class CUmemcpy3DOperand_v1(CUmemcpy3DOperand_st):             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing an operand for copy with cuMemcpy3DBatchAsync
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6820
 *     pass
 * 
 * cdef class CUmemcpy3DOperand(CUmemcpy3DOperand_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Struct representing an operand for copy with cuMemcpy3DBatchAsync
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6838
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_BATCH_OP_v1(CUDA_MEMCPY3D_BATCH_OP_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6861
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_BATCH_OP(CUDA_MEMCPY3D_BATCH_OP_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6884
 *     pass
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v1(CUDA_MEM_ALLOC_NODE_PARAMS_v1_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6912
 *     pass
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS(CUDA_MEM_ALLOC_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":6940
 *     pass
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v2(CUDA_MEM_ALLOC_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6968
 *     pass
 * 
 * cdef class CUDA_MEM_FREE_NODE_PARAMS(CUDA_MEM_FREE_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory free node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":6984
 *     pass
 * 
 * cdef class CUDA_CHILD_GRAPH_NODE_PARAMS(CUDA_CHILD_GRAPH_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Child graph node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7006
 *     pass
 * 
 * cdef class CUDA_EVENT_RECORD_NODE_PARAMS(CUDA_EVENT_RECORD_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Event record node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7022
 *     pass
 * 
 * cdef class CUDA_EVENT_WAIT_NODE_PARAMS(CUDA_EVENT_WAIT_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Event wait node parameters
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7038
 *     pass
 * 
 * cdef class CUgraphNodeParams(CUgraphNodeParams_st):             # <<<<<<<<<<<<<<
 *     """
 *     Graph node parameters. See cuGraphAddNode.
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7086
 *     pass
 * 
 * cdef class CUcheckpointLockArgs(CUcheckpointLockArgs_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint optional lock arguments
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7107
 *     pass
 * 
 * cdef class CUcheckpointCheckpointArgs(CUcheckpointCheckpointArgs_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint optional checkpoint arguments
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7123
 *     pass
 * 
 * cdef class CUcheckpointRestoreArgs(CUcheckpointRestoreArgs_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint optional restore arguments
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7139
 *     pass
 * 
 * cdef class CUcheckpointUnlockArgs(CUcheckpointUnlockArgs_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint optional unlock arguments
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7155
 *     pass
 * 
 * cdef class CUmemDecompressParams(CUmemDecompressParams_st):             # <<<<<<<<<<<<<<
 *     """
 *     Structure describing the parameters that compose a single
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7193
 *     pass
 * 
 * cdef class CUdevSmResource(CUdevSmResource_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7208
 *     pass
 * 
 * cdef class CUdevResource_v1(CUdevResource_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7228
 *     pass
 * 
 * cdef class CUdevResource(CUdevResource_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":7248
 *     pass
 * 
 * cdef class CUeglFrame_v1(CUeglFrame_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame structure Descriptor - structure defining one frame
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_v1 {
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7284
 *     pass
 * 
 * cdef class CUeglFrame(CUeglFrame_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame structure Descriptor - structure defining one frame
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame {
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_v1 __pyx_base;
};


/* "cuda/bindings/driver.pxd":7320
 *     pass
 * 
 * cdef class cuuint32_t:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t {
  PyObject_HEAD
  cuuint32_t _pvt_val;
  cuuint32_t *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7332
 *     cdef cydriver.cuuint32_t* _pvt_ptr
 * 
 * cdef class cuuint64_t:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t {
  PyObject_HEAD
  cuuint64_t _pvt_val;
  cuuint64_t *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7344
 *     cdef cydriver.cuuint64_t* _pvt_ptr
 * 
 * cdef class CUdeviceptr_v2:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 {
  PyObject_HEAD
  CUdeviceptr_v2 _pvt_val;
  CUdeviceptr_v2 *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7358
 *     cdef cydriver.CUdeviceptr_v2* _pvt_ptr
 * 
 * cdef class CUdevice_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 {
  PyObject_HEAD
  CUdevice_v1 _pvt_val;
  CUdevice_v1 *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7372
 *     cdef cydriver.CUdevice_v1* _pvt_ptr
 * 
 * cdef class CUtexObject_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 {
  PyObject_HEAD
  CUtexObject_v1 _pvt_val;
  CUtexObject_v1 *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7386
 *     cdef cydriver.CUtexObject_v1* _pvt_ptr
 * 
 * cdef class CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 {
  PyObject_HEAD
  CUsurfObject_v1 _pvt_val;
  CUsurfObject_v1 *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7400
 *     cdef cydriver.CUsurfObject_v1* _pvt_ptr
 * 
 * cdef class CUmemGenericAllocationHandle_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 {
  PyObject_HEAD
  CUmemGenericAllocationHandle_v1 _pvt_val;
  CUmemGenericAllocationHandle_v1 *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7412
 *     cdef cydriver.CUmemGenericAllocationHandle_v1* _pvt_ptr
 * 
 * cdef class CUlogIterator:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator {
  PyObject_HEAD
  CUlogIterator _pvt_val;
  CUlogIterator *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7424
 *     cdef cydriver.CUlogIterator* _pvt_ptr
 * 
 * cdef class GLenum:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_GLenum {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_GLenum _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_GLenum *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7436
 *     cdef cydriver.GLenum* _pvt_ptr
 * 
 * cdef class GLuint:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_GLuint {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_GLuint _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_GLuint *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7448
 *     cdef cydriver.GLuint* _pvt_ptr
 * 
 * cdef class EGLint:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_EGLint {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_EGLint _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_EGLint *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7460
 *     cdef cydriver.EGLint* _pvt_ptr
 * 
 * cdef class VdpDevice:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_VdpDevice _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_VdpDevice *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7472
 *     cdef cydriver.VdpDevice* _pvt_ptr
 * 
 * cdef class VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7484
 *     cdef cydriver.VdpGetProcAddress* _pvt_ptr
 * 
 * cdef class VdpVideoSurface:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":7496
 *     cdef cydriver.VdpVideoSurface* _pvt_ptr
 * 
 * cdef class VdpOutputSurface:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface {
  PyObject_HEAD
  __pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface _pvt_val;
  __pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface *_pvt_ptr;
};


/* "cuda/bindings/driver.pyx":47290
 * 
 * 
 * cdef class cudaBindingsDriverGlobal:             # <<<<<<<<<<<<<<
 *     cdef map[void_ptr, void*] _allocated
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal {
  PyObject_HEAD
  std::map<__pyx_t_4cuda_8bindings_6driver_void_ptr,void *>  _allocated;
};


/* "cuda/bindings/driver.pyx":362
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = cydriver.CUipcMem_flags_enum.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS
 * 
 * _dict_CUipcMem_flags = dict(((int(v), v) for k, v in CUipcMem_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAttach_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":379
 *     CU_MEM_ATTACH_SINGLE = cydriver.CUmemAttach_flags_enum.CU_MEM_ATTACH_SINGLE
 * 
 * _dict_CUmemAttach_flags = dict(((int(v), v) for k, v in CUmemAttach_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUctx_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":419
 *     CU_CTX_FLAGS_MASK = cydriver.CUctx_flags_enum.CU_CTX_FLAGS_MASK
 * 
 * _dict_CUctx_flags = dict(((int(v), v) for k, v in CUctx_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_sched_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":438
 *     CU_EVENT_SCHED_BLOCKING_SYNC = cydriver.CUevent_sched_flags_enum.CU_EVENT_SCHED_BLOCKING_SYNC
 * 
 * _dict_CUevent_sched_flags = dict(((int(v), v) for k, v in CUevent_sched_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class cl_event_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":457
 *     NVCL_EVENT_SCHED_BLOCKING_SYNC = cydriver.cl_event_flags_enum.NVCL_EVENT_SCHED_BLOCKING_SYNC
 * 
 * _dict_cl_event_flags = dict(((int(v), v) for k, v in cl_event_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class cl_context_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":476
 *     NVCL_CTX_SCHED_BLOCKING_SYNC = cydriver.cl_context_flags_enum.NVCL_CTX_SCHED_BLOCKING_SYNC
 * 
 * _dict_cl_context_flags = dict(((int(v), v) for k, v in cl_context_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstream_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":489
 *     CU_STREAM_NON_BLOCKING = cydriver.CUstream_flags_enum.CU_STREAM_NON_BLOCKING
 * 
 * _dict_CUstream_flags = dict(((int(v), v) for k, v in CUstream_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":509
 *     CU_EVENT_INTERPROCESS = cydriver.CUevent_flags_enum.CU_EVENT_INTERPROCESS
 * 
 * _dict_CUevent_flags = dict(((int(v), v) for k, v in CUevent_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_record_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":524
 *     CU_EVENT_RECORD_EXTERNAL = cydriver.CUevent_record_flags_enum.CU_EVENT_RECORD_EXTERNAL
 * 
 * _dict_CUevent_record_flags = dict(((int(v), v) for k, v in CUevent_record_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_wait_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":538
 *     CU_EVENT_WAIT_EXTERNAL = cydriver.CUevent_wait_flags_enum.CU_EVENT_WAIT_EXTERNAL
 * 
 * _dict_CUevent_wait_flags = dict(((int(v), v) for k, v in CUevent_wait_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWaitValue_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":574
 *     CU_STREAM_WAIT_VALUE_FLUSH = cydriver.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_FLUSH
 * 
 * _dict_CUstreamWaitValue_flags = dict(((int(v), v) for k, v in CUstreamWaitValue_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWriteValue_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":592
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = cydriver.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER
 * 
 * _dict_CUstreamWriteValue_flags = dict(((int(v), v) for k, v in CUstreamWriteValue_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamBatchMemOpType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":618
 *     CU_STREAM_MEM_OP_BARRIER = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_BARRIER
 * 
 * _dict_CUstreamBatchMemOpType = dict(((int(v), v) for k, v in CUstreamBatchMemOpType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamMemoryBarrier_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":631
 *     CU_STREAM_MEMORY_BARRIER_TYPE_GPU = cydriver.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_GPU
 * 
 * _dict_CUstreamMemoryBarrier_flags = dict(((int(v), v) for k, v in CUstreamMemoryBarrier_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUoccupancy_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":645
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = cydriver.CUoccupancy_flags_enum.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE
 * 
 * _dict_CUoccupancy_flags = dict(((int(v), v) for k, v in CUoccupancy_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamUpdateCaptureDependencies_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":658
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = cydriver.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_SET_CAPTURE_DEPENDENCIES
 * 
 * _dict_CUstreamUpdateCaptureDependencies_flags = dict(((int(v), v) for k, v in CUstreamUpdateCaptureDependencies_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUasyncNotificationType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":668
 *     CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET = cydriver.CUasyncNotificationType_enum.CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET
 * 
 * _dict_CUasyncNotificationType = dict(((int(v), v) for k, v in CUasyncNotificationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarray_format(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":843
 *     CU_AD_FORMAT_MAX = cydriver.CUarray_format_enum.CU_AD_FORMAT_MAX
 * 
 * _dict_CUarray_format = dict(((int(v), v) for k, v in CUarray_format.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUaddress_mode(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":862
 *     CU_TR_ADDRESS_MODE_BORDER = cydriver.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_BORDER
 * 
 * _dict_CUaddress_mode = dict(((int(v), v) for k, v in CUaddress_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfilter_mode(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":875
 *     CU_TR_FILTER_MODE_LINEAR = cydriver.CUfilter_mode_enum.CU_TR_FILTER_MODE_LINEAR
 * 
 * _dict_CUfilter_mode = dict(((int(v), v) for k, v in CUfilter_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevice_attribute(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1381
 *     CU_DEVICE_ATTRIBUTE_MAX = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX
 * 
 * _dict_CUdevice_attribute = dict(((int(v), v) for k, v in CUdevice_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUpointer_attribute(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1466
 *     CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE
 * 
 * _dict_CUpointer_attribute = dict(((int(v), v) for k, v in CUpointer_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunction_attribute(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1588
 *     CU_FUNC_ATTRIBUTE_MAX = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX
 * 
 * _dict_CUfunction_attribute = dict(((int(v), v) for k, v in CUfunction_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunc_cache(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1607
 *     CU_FUNC_CACHE_PREFER_EQUAL = cydriver.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_EQUAL
 * 
 * _dict_CUfunc_cache = dict(((int(v), v) for k, v in CUfunc_cache.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUsharedconfig(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1623
 *     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = cydriver.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE
 * 
 * _dict_CUsharedconfig = dict(((int(v), v) for k, v in CUsharedconfig.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUshared_carveout(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1640
 *     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = cydriver.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_SHARED
 * 
 * _dict_CUshared_carveout = dict(((int(v), v) for k, v in CUshared_carveout.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemorytype(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1659
 *     CU_MEMORYTYPE_UNIFIED = cydriver.CUmemorytype_enum.CU_MEMORYTYPE_UNIFIED
 * 
 * _dict_CUmemorytype = dict(((int(v), v) for k, v in CUmemorytype.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcomputemode(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1677
 *     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = cydriver.CUcomputemode_enum.CU_COMPUTEMODE_EXCLUSIVE_PROCESS
 * 
 * _dict_CUcomputemode = dict(((int(v), v) for k, v in CUcomputemode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmem_advise(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1704
 *     CU_MEM_ADVISE_UNSET_ACCESSED_BY = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_ACCESSED_BY
 * 
 * _dict_CUmem_advise = dict(((int(v), v) for k, v in CUmem_advise.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmem_range_attribute(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1737
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID
 * 
 * _dict_CUmem_range_attribute = dict(((int(v), v) for k, v in CUmem_range_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_option(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1968
 *     CU_JIT_NUM_OPTIONS = cydriver.CUjit_option_enum.CU_JIT_NUM_OPTIONS
 * 
 * _dict_CUjit_option = dict(((int(v), v) for k, v in CUjit_option.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_target(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2076
 *     CU_TARGET_COMPUTE_121F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_121F
 * 
 * _dict_CUjit_target = dict(((int(v), v) for k, v in CUjit_target.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_fallback(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2090
 *     CU_PREFER_BINARY = cydriver.CUjit_fallback_enum.CU_PREFER_BINARY
 * 
 * _dict_CUjit_fallback = dict(((int(v), v) for k, v in CUjit_fallback.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_cacheMode(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2106
 *     CU_JIT_CACHE_OPTION_CA = cydriver.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CA
 * 
 * _dict_CUjit_cacheMode = dict(((int(v), v) for k, v in CUjit_cacheMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjitInputType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2142
 *     CU_JIT_NUM_INPUT_TYPES = cydriver.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES
 * 
 * _dict_CUjitInputType = dict(((int(v), v) for k, v in CUjitInputType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphicsRegisterFlags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2154
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
 * 
 * _dict_CUgraphicsRegisterFlags = dict(((int(v), v) for k, v in CUgraphicsRegisterFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphicsMapResourceFlags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2164
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 * _dict_CUgraphicsMapResourceFlags = dict(((int(v), v) for k, v in CUgraphicsMapResourceFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarray_cubemap_face(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2189
 *     CU_CUBEMAP_FACE_NEGATIVE_Z = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Z
 * 
 * _dict_CUarray_cubemap_face = dict(((int(v), v) for k, v in CUarray_cubemap_face.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlimit(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2232
 *     CU_LIMIT_MAX = cydriver.CUlimit_enum.CU_LIMIT_MAX
 * 
 * _dict_CUlimit = dict(((int(v), v) for k, v in CUlimit.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresourcetype(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2251
 *     CU_RESOURCE_TYPE_PITCH2D = cydriver.CUresourcetype_enum.CU_RESOURCE_TYPE_PITCH2D
 * 
 * _dict_CUresourcetype = dict(((int(v), v) for k, v in CUresourcetype.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUaccessProperty(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2268
 *     CU_ACCESS_PROPERTY_PERSISTING = cydriver.CUaccessProperty_enum.CU_ACCESS_PROPERTY_PERSISTING
 * 
 * _dict_CUaccessProperty = dict(((int(v), v) for k, v in CUaccessProperty.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphConditionalNodeType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2289
 *     CU_GRAPH_COND_TYPE_SWITCH = cydriver.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_SWITCH
 * 
 * _dict_CUgraphConditionalNodeType = dict(((int(v), v) for k, v in CUgraphConditionalNodeType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphNodeType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2362
 *     CU_GRAPH_NODE_TYPE_CONDITIONAL = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_CONDITIONAL
 * 
 * _dict_CUgraphNodeType = dict(((int(v), v) for k, v in CUgraphNodeType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphDependencyType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2380
 *     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = cydriver.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC
 * 
 * _dict_CUgraphDependencyType = dict(((int(v), v) for k, v in CUgraphDependencyType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphInstantiateResult(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2409
 *     CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED
 * 
 * _dict_CUgraphInstantiateResult = dict(((int(v), v) for k, v in CUgraphInstantiateResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUsynchronizationPolicy(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2420
 *     CU_SYNC_POLICY_BLOCKING_SYNC = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
 * 
 * _dict_CUsynchronizationPolicy = dict(((int(v), v) for k, v in CUsynchronizationPolicy.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUclusterSchedulingPolicy(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2438
 *     CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING = cydriver.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING
 * 
 * _dict_CUclusterSchedulingPolicy = dict(((int(v), v) for k, v in CUclusterSchedulingPolicy.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlaunchMemSyncDomain(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2468
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE = cydriver.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE
 * 
 * _dict_CUlaunchMemSyncDomain = dict(((int(v), v) for k, v in CUlaunchMemSyncDomain.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlaunchAttributeID(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2643
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureStatus(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2661
 *     CU_STREAM_CAPTURE_STATUS_INVALIDATED = cydriver.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_INVALIDATED
 * 
 * _dict_CUstreamCaptureStatus = dict(((int(v), v) for k, v in CUstreamCaptureStatus.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureMode(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2673
 *     CU_STREAM_CAPTURE_MODE_RELAXED = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
 * 
 * _dict_CUstreamCaptureMode = dict(((int(v), v) for k, v in CUstreamCaptureMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdriverProcAddress_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2690
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = cydriver.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM
 * 
 * _dict_CUdriverProcAddress_flags = dict(((int(v), v) for k, v in CUdriverProcAddress_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdriverProcAddressQueryResult(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2707
 *     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = cydriver.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT
 * 
 * _dict_CUdriverProcAddressQueryResult = dict(((int(v), v) for k, v in CUdriverProcAddressQueryResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexecAffinityType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2718
 *     CU_EXEC_AFFINITY_TYPE_MAX = cydriver.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX
 * 
 * _dict_CUexecAffinityType = dict(((int(v), v) for k, v in CUexecAffinityType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcigDataType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2729
 *     CIG_DATA_TYPE_NV_BLOB = cydriver.CUcigDataType_enum.CIG_DATA_TYPE_NV_BLOB
 * 
 * _dict_CUcigDataType = dict(((int(v), v) for k, v in CUcigDataType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlibraryOption(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2751
 *     CU_LIBRARY_NUM_OPTIONS = cydriver.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS
 * 
 * _dict_CUlibraryOption = dict(((int(v), v) for k, v in CUlibraryOption.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresult(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3238
 *     CUDA_ERROR_UNKNOWN = cydriver.cudaError_enum.CUDA_ERROR_UNKNOWN
 * 
 * _dict_CUresult = dict(((int(v), v) for k, v in CUresult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevice_P2PAttribute(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3261
 *     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED
 * 
 * _dict_CUdevice_P2PAttribute = dict(((int(v), v) for k, v in CUdevice_P2PAttribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresourceViewFormat(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3373
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC7
 * 
 * _dict_CUresourceViewFormat = dict(((int(v), v) for k, v in CUresourceViewFormat.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapDataType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3396
 *     CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B
 * 
 * _dict_CUtensorMapDataType = dict(((int(v), v) for k, v in CUtensorMapDataType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapInterleave(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3406
 *     CU_TENSOR_MAP_INTERLEAVE_32B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
 * 
 * _dict_CUtensorMapInterleave = dict(((int(v), v) for k, v in CUtensorMapInterleave.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapSwizzle(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3420
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B
 * 
 * _dict_CUtensorMapSwizzle = dict(((int(v), v) for k, v in CUtensorMapSwizzle.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapL2promotion(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3431
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
 * 
 * _dict_CUtensorMapL2promotion = dict(((int(v), v) for k, v in CUtensorMapL2promotion.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapFloatOOBfill(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3440
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = cydriver.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA
 * 
 * _dict_CUtensorMapFloatOOBfill = dict(((int(v), v) for k, v in CUtensorMapFloatOOBfill.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapIm2ColWideMode(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3449
 *     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = cydriver.CUtensorMapIm2ColWideMode_enum.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128
 * 
 * _dict_CUtensorMapIm2ColWideMode = dict(((int(v), v) for k, v in CUtensorMapIm2ColWideMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3470
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = cydriver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE
 * 
 * _dict_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS = dict(((int(v), v) for k, v in CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexternalMemoryHandleType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3501
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF
 * 
 * _dict_CUexternalMemoryHandleType = dict(((int(v), v) for k, v in CUexternalMemoryHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexternalSemaphoreHandleType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3540
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32
 * 
 * _dict_CUexternalSemaphoreHandleType = dict(((int(v), v) for k, v in CUexternalSemaphoreHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationHandleType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3564
 *     CU_MEM_HANDLE_TYPE_MAX = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX
 * 
 * _dict_CUmemAllocationHandleType = dict(((int(v), v) for k, v in CUmemAllocationHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAccess_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3581
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX
 * 
 * _dict_CUmemAccess_flags = dict(((int(v), v) for k, v in CUmemAccess_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemLocationType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3602
 *     CU_MEM_LOCATION_TYPE_MAX = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX
 * 
 * _dict_CUmemLocationType = dict(((int(v), v) for k, v in CUmemLocationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3615
 *     CU_MEM_ALLOCATION_TYPE_MAX = cydriver.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX
 * 
 * _dict_CUmemAllocationType = dict(((int(v), v) for k, v in CUmemAllocationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationGranularity_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3629
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = cydriver.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED
 * 
 * _dict_CUmemAllocationGranularity_flags = dict(((int(v), v) for k, v in CUmemAllocationGranularity_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemRangeHandleType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3638
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = cydriver.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX
 * 
 * _dict_CUmemRangeHandleType = dict(((int(v), v) for k, v in CUmemRangeHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemRangeFlags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3648
 *     CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE = cydriver.CUmemRangeFlags_enum.CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE
 * 
 * _dict_CUmemRangeFlags = dict(((int(v), v) for k, v in CUmemRangeFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarraySparseSubresourceType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3657
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = cydriver.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL
 * 
 * _dict_CUarraySparseSubresourceType = dict(((int(v), v) for k, v in CUarraySparseSubresourceType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemOperationType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3666
 *     CU_MEM_OPERATION_TYPE_UNMAP = cydriver.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP
 * 
 * _dict_CUmemOperationType = dict(((int(v), v) for k, v in CUmemOperationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemHandleType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3674
 *     CU_MEM_HANDLE_TYPE_GENERIC = cydriver.CUmemHandleType_enum.CU_MEM_HANDLE_TYPE_GENERIC
 * 
 * _dict_CUmemHandleType = dict(((int(v), v) for k, v in CUmemHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationCompType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3687
 *     CU_MEM_ALLOCATION_COMP_GENERIC = cydriver.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_GENERIC
 * 
 * _dict_CUmemAllocationCompType = dict(((int(v), v) for k, v in CUmemAllocationCompType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmulticastGranularity_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3700
 *     CU_MULTICAST_GRANULARITY_RECOMMENDED = cydriver.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_RECOMMENDED
 * 
 * _dict_CUmulticastGranularity_flags = dict(((int(v), v) for k, v in CUmulticastGranularity_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphExecUpdateResult(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3739
 *     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED
 * 
 * _dict_CUgraphExecUpdateResult = dict(((int(v), v) for k, v in CUgraphExecUpdateResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemPool_attribute(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3787
 *     CU_MEMPOOL_ATTR_USED_MEM_HIGH = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH
 * 
 * _dict_CUmemPool_attribute = dict(((int(v), v) for k, v in CUmemPool_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpyFlags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3800
 *     CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE = cydriver.CUmemcpyFlags_enum.CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE
 * 
 * _dict_CUmemcpyFlags = dict(((int(v), v) for k, v in CUmemcpyFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpySrcAccessOrder(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3835
 *     CU_MEMCPY_SRC_ACCESS_ORDER_MAX = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_MAX
 * 
 * _dict_CUmemcpySrcAccessOrder = dict(((int(v), v) for k, v in CUmemcpySrcAccessOrder.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpy3DOperandType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3850
 *     CU_MEMCPY_OPERAND_TYPE_MAX = cydriver.CUmemcpy3DOperandType_enum.CU_MEMCPY_OPERAND_TYPE_MAX
 * 
 * _dict_CUmemcpy3DOperandType = dict(((int(v), v) for k, v in CUmemcpy3DOperandType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphMem_attribute(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3875
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH = cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH
 * 
 * _dict_CUgraphMem_attribute = dict(((int(v), v) for k, v in CUgraphMem_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphChildGraphNodeOwnership(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3898
 *     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE = cydriver.CUgraphChildGraphNodeOwnership_enum.CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE
 * 
 * _dict_CUgraphChildGraphNodeOwnership = dict(((int(v), v) for k, v in CUgraphChildGraphNodeOwnership.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesOptions(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3915
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = cydriver.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS
 * 
 * _dict_CUflushGPUDirectRDMAWritesOptions = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesOptions.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGPUDirectRDMAWritesOrdering(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3935
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = cydriver.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES
 * 
 * _dict_CUGPUDirectRDMAWritesOrdering = dict(((int(v), v) for k, v in CUGPUDirectRDMAWritesOrdering.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesScope(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3949
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = cydriver.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES
 * 
 * _dict_CUflushGPUDirectRDMAWritesScope = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesScope.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesTarget(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3960
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = cydriver.CUflushGPUDirectRDMAWritesTarget_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX
 * 
 * _dict_CUflushGPUDirectRDMAWritesTarget = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesTarget.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphDebugDot_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4015
 *     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS
 * 
 * _dict_CUgraphDebugDot_flags = dict(((int(v), v) for k, v in CUgraphDebugDot_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUuserObject_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4026
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = cydriver.CUuserObject_flags_enum.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC
 * 
 * _dict_CUuserObject_flags = dict(((int(v), v) for k, v in CUuserObject_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUuserObjectRetain_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4037
 *     CU_GRAPH_USER_OBJECT_MOVE = cydriver.CUuserObjectRetain_flags_enum.CU_GRAPH_USER_OBJECT_MOVE
 * 
 * _dict_CUuserObjectRetain_flags = dict(((int(v), v) for k, v in CUuserObjectRetain_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphInstantiate_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4062
 *     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = cydriver.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY
 * 
 * _dict_CUgraphInstantiate_flags = dict(((int(v), v) for k, v in CUgraphInstantiate_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdeviceNumaConfig(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4076
 *     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = cydriver.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NUMA_NODE
 * 
 * _dict_CUdeviceNumaConfig = dict(((int(v), v) for k, v in CUdeviceNumaConfig.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUprocessState(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4097
 *     CU_PROCESS_STATE_FAILED = cydriver.CUprocessState_enum.CU_PROCESS_STATE_FAILED
 * 
 * _dict_CUprocessState = dict(((int(v), v) for k, v in CUprocessState.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmoduleLoadingMode(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4110
 *     CU_MODULE_LAZY_LOADING = cydriver.CUmoduleLoadingMode_enum.CU_MODULE_LAZY_LOADING
 * 
 * _dict_CUmoduleLoadingMode = dict(((int(v), v) for k, v in CUmoduleLoadingMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemDecompressAlgorithm(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4129
 *     CU_MEM_DECOMPRESS_ALGORITHM_LZ4 = cydriver.CUmemDecompressAlgorithm_enum.CU_MEM_DECOMPRESS_ALGORITHM_LZ4
 * 
 * _dict_CUmemDecompressAlgorithm = dict(((int(v), v) for k, v in CUmemDecompressAlgorithm.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunctionLoadingState(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4139
 *     CU_FUNCTION_LOADING_STATE_MAX = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
 * 
 * _dict_CUfunctionLoadingState = dict(((int(v), v) for k, v in CUfunctionLoadingState.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcoredumpSettings(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4154
 *     CU_COREDUMP_MAX = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_MAX
 * 
 * _dict_CUcoredumpSettings = dict(((int(v), v) for k, v in CUcoredumpSettings.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUCoredumpGenerationFlags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4169
 *     CU_COREDUMP_LIGHTWEIGHT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_LIGHTWEIGHT_FLAGS
 * 
 * _dict_CUCoredumpGenerationFlags = dict(((int(v), v) for k, v in CUCoredumpGenerationFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgreenCtxCreate_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4179
 *     CU_GREEN_CTX_DEFAULT_STREAM = cydriver.CUgreenCtxCreate_flags.CU_GREEN_CTX_DEFAULT_STREAM
 * 
 * _dict_CUgreenCtxCreate_flags = dict(((int(v), v) for k, v in CUgreenCtxCreate_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevSmResourceSplit_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4188
 *     CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE = cydriver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE
 * 
 * _dict_CUdevSmResourceSplit_flags = dict(((int(v), v) for k, v in CUdevSmResourceSplit_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevResourceType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4199
 *     CU_DEV_RESOURCE_TYPE_SM = cydriver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_SM
 * 
 * _dict_CUdevResourceType = dict(((int(v), v) for k, v in CUdevResourceType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlogLevel(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4208
 *     CU_LOG_LEVEL_WARNING = cydriver.CUlogLevel_enum.CU_LOG_LEVEL_WARNING
 * 
 * _dict_CUlogLevel = dict(((int(v), v) for k, v in CUlogLevel.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUoutput_mode(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4221
 *     CU_OUT_CSV = cydriver.CUoutput_mode_enum.CU_OUT_CSV
 * 
 * _dict_CUoutput_mode = dict(((int(v), v) for k, v in CUoutput_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglFrameType(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4234
 *     CU_EGL_FRAME_TYPE_PITCH = cydriver.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_PITCH
 * 
 * _dict_CUeglFrameType = dict(((int(v), v) for k, v in CUeglFrameType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglResourceLocationFlags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4257
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = cydriver.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_VIDMEM
 * 
 * _dict_CUeglResourceLocationFlags = dict(((int(v), v) for k, v in CUeglResourceLocationFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglColorFormat(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4717
 *     CU_EGL_COLOR_FORMAT_MAX = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX
 * 
 * _dict_CUeglColorFormat = dict(((int(v), v) for k, v in CUeglColorFormat.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGLDeviceList(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4735
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = cydriver.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_NEXT_FRAME
 * 
 * _dict_CUGLDeviceList = dict(((int(v), v) for k, v in CUGLDeviceList.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGLmap_flags(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4745
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 * _dict_CUGLmap_flags = dict(((int(v), v) for k, v in CUGLmap_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdeviceptr:
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":5053
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamAttrID(IntEnum):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":5228
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemGenericAllocationHandle:
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":19749
 *     cydev = <cydriver.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21069
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21416
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21482
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21551
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21804
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21808
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21900
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21904
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":25714
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in attrsIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":25717
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":25719
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":25722
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in srcs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":25725
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dsts):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydsts = NULL
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":25894
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     opList = [] if opList is None else opList
 *     if not all(isinstance(_x, (CUDA_MEMCPY3D_BATCH_OP,)) for _x in opList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]")
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":27847
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":27954
 *     """
 *     desc = [] if desc is None else desc
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in desc):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUdeviceptr cyptr
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":28552
 *     """
 *     map = [] if map is None else map
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in map):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUmemoryPool cypool
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":30383
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":30385
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]")
 *     pylist = [_HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":30531
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31227
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31230
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31678
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31749
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31752
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33144
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33147
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33271
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33274
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33643
 *     """
 *     paramArray = [] if paramArray is None else paramArray
 *     if not all(isinstance(_x, (CUstreamBatchMemOpParams,)) for _x in paramArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]")
 *     cdef cydriver.CUstream cystream
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":34789
 *     """
 *     launchParamsList = [] if launchParamsList is None else launchParamsList
 *     if not all(isinstance(_x, (CUDA_LAUNCH_PARAMS,)) for _x in launchParamsList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":35556
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":35725
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":35875
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36015
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36166
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36276
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36351
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36507
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36654
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36802
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36953
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":37210
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":37344
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38249
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38252
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38325
 *     """
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38328
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38331
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38416
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38419
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38498
 *     """
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38501
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38504
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":40366
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":40446
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":40449
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43122
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43125
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43128
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43131
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43457
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43476
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43479
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43482
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43485
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43788
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43807
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43810
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":45521
 *     """
 *     resources = [] if resources is None else resources
 *     if not all(isinstance(_x, (CUdevResource,)) for _x in resources):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};

/* #### Code section: utility_code_proto ### */

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, Py_ssize_t);
    void (*DECREF)(void*, PyObject*, Py_ssize_t);
    void (*GOTREF)(void*, PyObject*, Py_ssize_t);
    void (*GIVEREF)(void*, PyObject*, Py_ssize_t);
    void* (*SetupContext)(const char*, Py_ssize_t, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          if (acquire_gil) {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
              PyGILState_Release(__pyx_gilstate_save);\
          } else {\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
          }
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
  #define __Pyx_RefNannyFinishContext()\
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_XINCREF(r)  do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContextNogil()
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_Py_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; Py_XDECREF(tmp);\
    } while (0)
#define __Pyx_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_XDECREF(tmp);\
    } while (0)
#define __Pyx_DECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_DECREF(tmp);\
    } while (0)
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

/* PyErrExceptionMatches.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
#else
#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
#endif

/* PyThreadStateGet.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
#if PY_VERSION_HEX >= 0x030C00A6
#define __Pyx_PyErr_Occurred()  (__pyx_tstate->current_exception != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL)
#else
#define __Pyx_PyErr_Occurred()  (__pyx_tstate->curexc_type != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  (__pyx_tstate->curexc_type)
#endif
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred()  (PyErr_Occurred() != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  PyErr_Occurred()
#endif

/* PyErrFetchRestore.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6
#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
#else
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#endif
#else
#define __Pyx_PyErr_Clear() PyErr_Clear()
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
#endif

/* PyObjectGetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif

/* PyObjectGetAttrStrNoError.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);

/* GetBuiltinName.proto */
static PyObject *__Pyx_GetBuiltinName(PyObject *name);

/* IterFinish.proto */
static CYTHON_INLINE int __Pyx_IterFinish(void);

/* PyFunctionFastCall.proto */
#if CYTHON_FAST_PYCALL
#if !CYTHON_VECTORCALL
#define __Pyx_PyFunction_FastCall(func, args, nargs)\
    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject *const *args, Py_ssize_t nargs, PyObject *kwargs);
#endif
#define __Pyx_BUILD_ASSERT_EXPR(cond)\
    (sizeof(char [1 - 2*!(cond)]) - 1)
#ifndef Py_MEMBER_SIZE
#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
#endif
#if !CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03080000
  #include "frameobject.h"
  #define __Pxy_PyFrame_Initialize_Offsets()
  #define __Pyx_PyFrame_GetLocalsplus(frame)  ((frame)->f_localsplus)
#else
  static size_t __pyx_pyframe_localsplus_offset = 0;
  #include "frameobject.h"
  #define __Pxy_PyFrame_Initialize_Offsets()\
    ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
     (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
  #define __Pyx_PyFrame_GetLocalsplus(frame)\
    (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
#endif
#endif
#endif

/* PyObjectCall.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
#else
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif

/* PyObjectCallMethO.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif

/* PyObjectFastCall.proto */
#define __Pyx_PyObject_FastCall(func, args, nargs)  __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL)
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject * const*args, size_t nargs, PyObject *kwargs);

/* PyObjectCallNoArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);

/* PyObjectCallOneArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);

/* PyObjectGetMethod.proto */
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);

/* PyObjectCallMethod0.proto */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);

/* RaiseNeedMoreValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);

/* RaiseTooManyValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);

/* UnpackItemEndCheck.proto */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);

/* RaiseNoneIterError.proto */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);

/* UnpackTupleError.proto */
static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);

/* UnpackTuple2.proto */
static CYTHON_INLINE int __Pyx_unpack_tuple2(
    PyObject* tuple, PyObject** value1, PyObject** value2, int is_tuple, int has_known_size, int decref_tuple);
static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
    PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
static int __Pyx_unpack_tuple2_generic(
    PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);

/* dict_iter.proto */
static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_is_dict);
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);

/* RaiseUnboundLocalError.proto */
static void __Pyx_RaiseUnboundLocalError(const char *varname);

/* GetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* pep479.proto */
static void __Pyx_Generator_Replace_StopIteration(int in_async_gen);

/* GetTopmostException.proto */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
#endif

/* SaveResetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
#else
#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
#endif

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
#else
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2) {
    return PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2);
}
#endif
#define __Pyx_PyErr_ExceptionMatches2(err1, err2)  __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
#ifdef PyExceptionInstance_Check
  #define __Pyx_PyBaseException_Check(obj) PyExceptionInstance_Check(obj)
#else
  #define __Pyx_PyBaseException_Check(obj) __Pyx_TypeCheck(obj, PyExc_BaseException)
#endif

/* PyObjectFastCallMethod.proto */
#if CYTHON_VECTORCALL && PY_VERSION_HEX >= 0x03090000
#define __Pyx_PyObject_FastCallMethod(name, args, nargsf) PyObject_VectorcallMethod(name, args, nargsf, NULL)
#else
static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *const *args, size_t nargsf);
#endif

/* RaiseException.proto */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);

/* TupleAndListFromArray.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n);
#endif
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n);
#endif

/* IncludeStringH.proto */
#include <string.h>

/* BytesEquals.proto */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);

/* UnicodeEquals.proto */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);

/* fastcall.proto */
#if CYTHON_AVOID_BORROWED_REFS
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_PySequence_ITEM(args, i)
#elif CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_NewRef(__Pyx_PyTuple_GET_ITEM(args, i))
#else
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_XNewRef(PyTuple_GetItem(args, i))
#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw)
#if CYTHON_METH_FASTCALL
    #define __Pyx_ArgRef_FASTCALL(args, i) __Pyx_NewRef(args[i])
    #define __Pyx_NumKwargs_FASTCALL(kwds) __Pyx_PyTuple_GET_SIZE(kwds)
    #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
    static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
    CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
  #else
    #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
  #endif
#else
    #define __Pyx_ArgRef_FASTCALL __Pyx_ArgRef_VARARGS
    #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
    #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
    #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
    #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
#endif
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
#if CYTHON_METH_FASTCALL || (CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(args + start, stop - start)
#else
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
#endif

/* RaiseDoubleKeywords.proto */
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);

/* ParseKeywords.proto */
static CYTHON_INLINE int __Pyx_ParseKeywords(
    PyObject *kwds, PyObject *const *kwvalues, PyObject ** const argnames[],
    PyObject *kwds2, PyObject *values[],
    Py_ssize_t num_pos_args, Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs
);

/* CallCFunction.proto */
#define __Pyx_CallCFunction(cfunc, self, args)\
    ((PyCFunction)(void(*)(void))(cfunc)->func)(self, args)
#define __Pyx_CallCFunctionWithKeywords(cfunc, self, args, kwargs)\
    ((PyCFunctionWithKeywords)(void(*)(void))(cfunc)->func)(self, args, kwargs)
#define __Pyx_CallCFunctionFast(cfunc, self, args, nargs)\
    ((__Pyx_PyCFunctionFast)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs)
#define __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, nargs, kwnames)\
    ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs, kwnames)

/* UnpackUnboundCMethod.proto */
typedef struct {
    PyObject *type;
    PyObject **method_name;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && CYTHON_ATOMICS
    __pyx_atomic_int_type initialized;
#endif
    PyCFunction func;
    PyObject *method;
    int flag;
} __Pyx_CachedCFunction;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
static CYTHON_INLINE int __Pyx_CachedCFunction_GetAndSetInitializing(__Pyx_CachedCFunction *cfunc) {
#if !CYTHON_ATOMICS
    return 1;
#else
    __pyx_nonatomic_int_type expected = 0;
    if (__pyx_atomic_int_cmp_exchange(&cfunc->initialized, &expected, 1)) {
        return 0;
    }
    return expected;
#endif
}
static CYTHON_INLINE void __Pyx_CachedCFunction_SetFinishedInitializing(__Pyx_CachedCFunction *cfunc) {
#if CYTHON_ATOMICS
    __pyx_atomic_store(&cfunc->initialized, 2);
#endif
}
#else
#define __Pyx_CachedCFunction_GetAndSetInitializing(cfunc) 2
#define __Pyx_CachedCFunction_SetFinishedInitializing(cfunc)
#endif

/* CallUnboundCMethod2.proto */
CYTHON_UNUSED
static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2);
#else
#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2)  __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2)
#endif

/* RaiseArgTupleInvalid.proto */
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);

/* PyDictVersioning.proto */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
    (version_var) = __PYX_GET_DICT_VERSION(dict);\
    (cache_var) = (value);
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
        (VAR) = __pyx_dict_cached_value;\
    } else {\
        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
    }\
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
#else
#define __PYX_GET_DICT_VERSION(dict)  (0)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
#endif

/* GetModuleGlobalName.proto */
#if CYTHON_USE_DICT_VERSIONS
#define __Pyx_GetModuleGlobalName(var, name)  do {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_mstate_global->__pyx_d))) ?\
        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} while(0)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
    PY_UINT64_T __pyx_dict_version;\
    PyObject *__pyx_dict_cached_value;\
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} while(0)
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
#else
#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
#endif

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck);

/* CallableCheck.proto */
#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyCallable_Check(obj)   (Py_TYPE(obj)->tp_call != NULL)
#else
#define __Pyx_PyCallable_Check(obj)   PyCallable_Check(obj)
#endif

/* GetAttr3.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);

/* PySequenceContains.proto */
static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
    int result = PySequence_Contains(seq, item);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* PyLongCompare.proto */
static CYTHON_INLINE int __Pyx_PyLong_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);

/* PyObject_Unicode.proto */
#define __Pyx_PyObject_Unicode(obj)\
    (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
#endif

/* RejectKeywords.proto */
static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds);

/* ExtTypeTest.proto */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);

/* AssertionsEnabled.proto */
#if CYTHON_COMPILING_IN_LIMITED_API  ||  (CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030C0000)
  static int __pyx_assertions_enabled_flag;
  #define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
  static int __Pyx_init_assertions_enabled(void) {
    PyObject *builtins, *debug, *debug_str;
    int flag;
    builtins = PyEval_GetBuiltins();
    if (!builtins) goto bad;
    debug_str = PyUnicode_FromStringAndSize("__debug__", 9);
    if (!debug_str) goto bad;
    debug = PyObject_GetItem(builtins, debug_str);
    Py_DECREF(debug_str);
    if (!debug) goto bad;
    flag = PyObject_IsTrue(debug);
    Py_DECREF(debug);
    if (flag == -1) goto bad;
    __pyx_assertions_enabled_flag = flag;
    return 0;
  bad:
    __pyx_assertions_enabled_flag = 1;
    return -1;
  }
#else
  #define __Pyx_init_assertions_enabled()  (0)
  #define __pyx_assertions_enabled()  (!Py_OptimizeFlag)
#endif

/* RaiseUnexpectedTypeError.proto */
static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj);

/* ListCompAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len)) {
        Py_INCREF(x);
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
        L->ob_item[len] = x;
        #else
        PyList_SET_ITEM(list, len, x);
        #endif
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif

/* MoveIfSupported.proto */
#if CYTHON_USE_CPP_STD_MOVE
  #include <utility>
  #define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x)
#else
  #define __PYX_STD_MOVE_IF_SUPPORTED(x) x
#endif

/* UnicodeConcatInPlace.proto */
# if CYTHON_COMPILING_IN_CPYTHON
    #if CYTHON_REFNANNY
        #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, __pyx_refnanny)
    #else
        #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right)
    #endif
    static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    );
#else
#define __Pyx_PyUnicode_ConcatInPlace __Pyx_PyUnicode_Concat
#endif
#define __Pyx_PyUnicode_ConcatInPlaceSafe(left, right) ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_ConcatInPlace(left, right))

/* KeywordStringCheck.proto */
static CYTHON_INLINE int __Pyx_CheckKeywordStrings(const char* function_name, PyObject *kw);

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
#endif

/* PyObjectVectorCallKwBuilder.proto */
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n);
#if CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03090000
#define __Pyx_Object_Vectorcall_CallFromBuilder PyObject_Vectorcall
#else
#define __Pyx_Object_Vectorcall_CallFromBuilder _PyObject_Vectorcall
#endif
#define __Pyx_MakeVectorcallBuilderKwds(n) PyTuple_New(n)
static int __Pyx_VectorcallBuilder_AddArg(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n);
static int __Pyx_VectorcallBuilder_AddArgStr(const char *key, PyObject *value, PyObject *builder, PyObject **args, int n);
#else
#define __Pyx_Object_Vectorcall_CallFromBuilder __Pyx_PyObject_FastCallDict
#define __Pyx_MakeVectorcallBuilderKwds(n) __Pyx_PyDict_NewPresized(n)
#define __Pyx_VectorcallBuilder_AddArg(key, value, builder, args, n) PyDict_SetItem(builder, key, value)
#define __Pyx_VectorcallBuilder_AddArgStr(key, value, builder, args, n) PyDict_SetItemString(builder, key, value)
#endif

/* ObjectGetItem.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key);
#else
#define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
#endif

/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
    ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\
        __Pyx__ArgTypeTest(obj, type, name, exact))
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

/* ErrOccurredWithGIL.proto */
static CYTHON_INLINE int __Pyx_ErrOccurredWithGIL(void);

/* PySequenceMultiply.proto */
#define __Pyx_PySequence_Multiply_Left(mul, seq)  __Pyx_PySequence_Multiply(seq, mul)
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul);

/* ListAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
        Py_INCREF(x);
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
        L->ob_item[len] = x;
        #else
        PyList_SET_ITEM(list, len, x);
        #endif
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

/* Import.proto */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);

/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);

/* LimitedApiGetTypeDict.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp);
#endif

/* SetItemOnTypeDict.proto */
static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v);
#define __Pyx_SetItemOnTypeDict(tp, k, v) __Pyx__SetItemOnTypeDict((PyTypeObject*)tp, k, v)

/* FixUpExtensionType.proto */
static CYTHON_INLINE int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);

/* FetchSharedCythonModule.proto */
static PyObject *__Pyx_FetchSharedCythonABIModule(void);

/* dict_setdefault.proto */
static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value, int is_safe_type);

/* FetchCommonType.proto */
static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases);

/* CommonTypesMetaclass.proto */
static int __pyx_CommonTypesMetaclass_init(PyObject *module);
#define __Pyx_CommonTypesMetaclass_USED

/* CallTypeTraverse.proto */
#if !CYTHON_USE_TYPE_SPECS || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x03090000)
#define __Pyx_call_type_traverse(o, always_call, visit, arg) 0
#else
static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg);
#endif

/* PyMethodNew.proto */
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ);

/* PyVectorcallFastCallDict.proto */
#if CYTHON_METH_FASTCALL && (CYTHON_VECTORCALL || CYTHON_BACKPORT_VECTORCALL)
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
#endif

/* CythonFunctionShared.proto */
#define __Pyx_CyFunction_USED
#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
#define __Pyx_CYFUNCTION_CCLASS        0x04
#define __Pyx_CYFUNCTION_COROUTINE     0x08
#define __Pyx_CyFunction_GetClosure(f)\
    (((__pyx_CyFunctionObject *) (f))->func_closure)
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_CyFunction_GetClassObj(f)\
      (((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
  #define __Pyx_CyFunction_GetClassObj(f)\
      ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
#endif
#define __Pyx_CyFunction_SetClassObj(f, classobj)\
    __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
#define __Pyx_CyFunction_Defaults(type, f)\
    ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
    ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject_HEAD
    PyObject *func;
#elif PY_VERSION_HEX < 0x030900B1
    PyCFunctionObject func;
#else
    PyCMethodObject func;
#endif
#if CYTHON_BACKPORT_VECTORCALL ||\
        (CYTHON_COMPILING_IN_LIMITED_API && CYTHON_METH_FASTCALL)
    __pyx_vectorcallfunc func_vectorcall;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_weakreflist;
#endif
    PyObject *func_dict;
    PyObject *func_name;
    PyObject *func_qualname;
    PyObject *func_doc;
    PyObject *func_globals;
    PyObject *func_code;
    PyObject *func_closure;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_classobj;
#endif
    PyObject *defaults;
    int flags;
    PyObject *defaults_tuple;
    PyObject *defaults_kwdict;
    PyObject *(*defaults_getter)(PyObject *);
    PyObject *func_annotations;
    PyObject *func_is_coroutine;
} __pyx_CyFunctionObject;
#undef __Pyx_CyOrPyCFunction_Check
#define __Pyx_CyFunction_Check(obj)  __Pyx_TypeCheck(obj, __pyx_mstate_global->__pyx_CyFunctionType)
#define __Pyx_CyOrPyCFunction_Check(obj)  __Pyx_TypeCheck2(obj, __pyx_mstate_global->__pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj)  __Pyx_IS_TYPE(obj, __pyx_mstate_global->__pyx_CyFunctionType)
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void));
#undef __Pyx_IsSameCFunction
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCyOrCFunction(func, cfunc)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func,
                                                         PyTypeObject *defaults_type);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
                                                            PyObject *tuple);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
                                                             PyObject *dict);
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
                                                              PyObject *dict);
static int __pyx_CyFunction_init(PyObject *module);
#if CYTHON_METH_FASTCALL
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
#if CYTHON_BACKPORT_VECTORCALL || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
#else
#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
#endif
#endif

/* CythonFunction.proto */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);

/* DefaultPlacementNew.proto */
#include <new>
template<typename T>
void __Pyx_default_placement_construct(T* x) {
    new (static_cast<void*>(x)) T();
}

/* ValidateBasesTuple.proto */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
#endif

/* PyType_Ready.proto */
CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t);

/* DelItemOnTypeDict.proto */
static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k);
#define __Pyx_DelItemOnTypeDict(tp, k) __Pyx__DelItemOnTypeDict((PyTypeObject*)tp, k)

/* SetupReduce.proto */
static int __Pyx_setup_reduce(PyObject* type_obj);

/* TypeImport.proto */
#ifndef __PYX_HAVE_RT_ImportType_proto_3_1_5
#define __PYX_HAVE_RT_ImportType_proto_3_1_5
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
#include <stdalign.h>
#endif
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
#define __PYX_GET_STRUCT_ALIGNMENT_3_1_5(s) alignof(s)
#else
#define __PYX_GET_STRUCT_ALIGNMENT_3_1_5(s) sizeof(void*)
#endif
enum __Pyx_ImportType_CheckSize_3_1_5 {
   __Pyx_ImportType_CheckSize_Error_3_1_5 = 0,
   __Pyx_ImportType_CheckSize_Warn_3_1_5 = 1,
   __Pyx_ImportType_CheckSize_Ignore_3_1_5 = 2
};
static PyTypeObject *__Pyx_ImportType_3_1_5(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_5 check_size);
#endif

/* ListPack.proto */
static PyObject *__Pyx_PyList_Pack(Py_ssize_t n, ...);

/* ImportDottedModule.proto */
static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple);
static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);

/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);

/* Globals.proto */
static PyObject* __Pyx_Globals(void);

/* Py3UpdateBases.proto */
static PyObject* __Pyx_PEP560_update_bases(PyObject *bases);

/* CalculateMetaclass.proto */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);

/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
#else
#define __Pyx_SetNameInClass(ns, name, value)  PyObject_SetItem(ns, name, value)
#endif

/* PyObjectCall2Args.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);

/* PyObjectLookupSpecial.proto */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 0)
#define __Pyx_PyObject_LookupSpecial(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 1)
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error);
#else
#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n)
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif

/* Py3ClassCreate.proto */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
                                           PyObject *mkw, PyObject *modname, PyObject *doc);
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
                                      PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);

/* CLineInTraceback.proto */
#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#else
#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#endif

/* CodeObjectCache.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
typedef PyObject __Pyx_CachedCodeObjectType;
#else
typedef PyCodeObject __Pyx_CachedCodeObjectType;
#endif
typedef struct {
    __Pyx_CachedCodeObjectType* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_atomic_int_type accessor_count;
  #endif
};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static __Pyx_CachedCodeObjectType *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, __Pyx_CachedCodeObjectType* code_object);

/* AddTraceback.proto */
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename);

/* GCCDiagnostics.proto */
#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif

/* LengthHint.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_PyObject_LengthHint(o, defaultval)  (defaultval)
#else
#define __Pyx_PyObject_LengthHint(o, defaultval)  PyObject_LengthHint(o, defaultval)
#endif

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From___pyx_anon_enum(int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUipcMem_flags_enum(enum CUipcMem_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAttach_flags_enum(enum CUmemAttach_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUctx_flags_enum(enum CUctx_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUevent_sched_flags_enum(enum CUevent_sched_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__cl_event_flags_enum(enum cl_event_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__cl_context_flags_enum(enum cl_context_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstream_flags_enum(enum CUstream_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUevent_flags_enum(enum CUevent_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUevent_record_flags_enum(enum CUevent_record_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUevent_wait_flags_enum(enum CUevent_wait_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamWaitValue_flags_enum(enum CUstreamWaitValue_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamWriteValue_flags_enum(enum CUstreamWriteValue_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum(enum CUstreamBatchMemOpType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamMemoryBarrier_flags_enum(enum CUstreamMemoryBarrier_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUoccupancy_flags_enum(enum CUoccupancy_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamUpdateCaptureDependencies_flags_enum(enum CUstreamUpdateCaptureDependencies_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUasyncNotificationType_enum(enum CUasyncNotificationType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUarray_format_enum(enum CUarray_format_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUaddress_mode_enum(enum CUaddress_mode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUfilter_mode_enum(enum CUfilter_mode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdevice_attribute_enum(enum CUdevice_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUpointer_attribute_enum(enum CUpointer_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUfunction_attribute_enum(enum CUfunction_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUfunc_cache_enum(enum CUfunc_cache_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUsharedconfig_enum(enum CUsharedconfig_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUshared_carveout_enum(enum CUshared_carveout_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemorytype_enum(enum CUmemorytype_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUcomputemode_enum(enum CUcomputemode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmem_advise_enum(enum CUmem_advise_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(enum CUmem_range_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjit_option_enum(enum CUjit_option_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjit_target_enum(enum CUjit_target_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjit_fallback_enum(enum CUjit_fallback_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjit_cacheMode_enum(enum CUjit_cacheMode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjitInputType_enum(enum CUjitInputType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphicsRegisterFlags_enum(enum CUgraphicsRegisterFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphicsMapResourceFlags_enum(enum CUgraphicsMapResourceFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUarray_cubemap_face_enum(enum CUarray_cubemap_face_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlimit_enum(enum CUlimit_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUresourcetype_enum(enum CUresourcetype_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUaccessProperty_enum(enum CUaccessProperty_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphConditionalNodeType_enum(enum CUgraphConditionalNodeType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphNodeType_enum(enum CUgraphNodeType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphDependencyType_enum(enum CUgraphDependencyType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum(enum CUgraphInstantiateResult_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUsynchronizationPolicy_enum(enum CUsynchronizationPolicy_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUclusterSchedulingPolicy_enum(enum CUclusterSchedulingPolicy_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlaunchMemSyncDomain_enum(enum CUlaunchMemSyncDomain_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(enum CUlaunchAttributeID_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(enum CUstreamCaptureStatus_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamCaptureMode_enum(enum CUstreamCaptureMode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdriverProcAddress_flags_enum(enum CUdriverProcAddress_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdriverProcAddressQueryResult_enum(enum CUdriverProcAddressQueryResult_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUexecAffinityType_enum(enum CUexecAffinityType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUcigDataType_enum(enum CUcigDataType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlibraryOption_enum(enum CUlibraryOption_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__cudaError_enum(enum cudaError_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdevice_P2PAttribute_enum(enum CUdevice_P2PAttribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(enum CUresourceViewFormat_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(enum CUtensorMapDataType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapInterleave_enum(enum CUtensorMapInterleave_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(enum CUtensorMapSwizzle_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapL2promotion_enum(enum CUtensorMapL2promotion_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapFloatOOBfill_enum(enum CUtensorMapFloatOOBfill_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapIm2ColWideMode_enum(enum CUtensorMapIm2ColWideMode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(enum CUexternalMemoryHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(enum CUexternalSemaphoreHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(enum CUmemAllocationHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAccess_flags_enum(enum CUmemAccess_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemLocationType_enum(enum CUmemLocationType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAllocationType_enum(enum CUmemAllocationType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAllocationGranularity_flags_enum(enum CUmemAllocationGranularity_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemRangeHandleType_enum(enum CUmemRangeHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemRangeFlags_enum(enum CUmemRangeFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUarraySparseSubresourceType_enum(enum CUarraySparseSubresourceType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemOperationType_enum(enum CUmemOperationType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemHandleType_enum(enum CUmemHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAllocationCompType_enum(enum CUmemAllocationCompType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmulticastGranularity_flags_enum(enum CUmulticastGranularity_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(enum CUgraphExecUpdateResult_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(enum CUmemPool_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemcpyFlags_enum(enum CUmemcpyFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum(enum CUmemcpySrcAccessOrder_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemcpy3DOperandType_enum(enum CUmemcpy3DOperandType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphMem_attribute_enum(enum CUgraphMem_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphChildGraphNodeOwnership_enum(enum CUgraphChildGraphNodeOwnership_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesOptions_enum(enum CUflushGPUDirectRDMAWritesOptions_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUGPUDirectRDMAWritesOrdering_enum(enum CUGPUDirectRDMAWritesOrdering_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesScope_enum(enum CUflushGPUDirectRDMAWritesScope_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesTarget_enum(enum CUflushGPUDirectRDMAWritesTarget_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(enum CUgraphDebugDot_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUuserObject_flags_enum(enum CUuserObject_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUuserObjectRetain_flags_enum(enum CUuserObjectRetain_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphInstantiate_flags_enum(enum CUgraphInstantiate_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdeviceNumaConfig_enum(enum CUdeviceNumaConfig_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUprocessState_enum(enum CUprocessState_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmoduleLoadingMode_enum(enum CUmoduleLoadingMode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemDecompressAlgorithm_enum(enum CUmemDecompressAlgorithm_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUfunctionLoadingState_enum(enum CUfunctionLoadingState_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(enum CUcoredumpSettings_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(enum CUCoredumpGenerationFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUgreenCtxCreate_flags(CUgreenCtxCreate_flags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUdevSmResourceSplit_flags(CUdevSmResourceSplit_flags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUdevResourceType(CUdevResourceType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlogLevel_enum(enum CUlogLevel_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUoutput_mode_enum(enum CUoutput_mode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum value);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyLong_As_unsigned_PY_LONG_LONG(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyLong_As_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint64_t __Pyx_PyLong_As_uint64_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned int __Pyx_PyLong_As_unsigned_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE size_t __Pyx_PyLong_As_size_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned char __Pyx_PyLong_As_unsigned_char(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned short __Pyx_PyLong_As_unsigned_short(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyLong_As_PY_LONG_LONG(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint32_t __Pyx_PyLong_As_uint32_t(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(long value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_PY_LONG_LONG(unsigned PY_LONG_LONG value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemPool_attribute_enum __Pyx_PyLong_As_enum__CUmemPool_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmem_range_attribute_enum __Pyx_PyLong_As_enum__CUmem_range_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUpointer_attribute_enum __Pyx_PyLong_As_enum__CUpointer_attribute_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_int(unsigned int value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphMem_attribute_enum __Pyx_PyLong_As_enum__CUgraphMem_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUjit_option_enum __Pyx_PyLong_As_enum__CUjit_option_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUjit_target_enum __Pyx_PyLong_As_enum__CUjit_target_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUjit_fallback_enum __Pyx_PyLong_As_enum__CUjit_fallback_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUjit_cacheMode_enum __Pyx_PyLong_As_enum__CUjit_cacheMode_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaJitOption __Pyx_PyLong_As_enum__cudaJitOption(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaJit_Fallback __Pyx_PyLong_As_enum__cudaJit_Fallback(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaJit_CacheMode __Pyx_PyLong_As_enum__cudaJit_CacheMode(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUlibraryOption_enum __Pyx_PyLong_As_enum__CUlibraryOption_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaLibraryOption __Pyx_PyLong_As_enum__cudaLibraryOption(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemAllocationHandleType_enum __Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUcoredumpSettings_enum __Pyx_PyLong_As_enum__CUcoredumpSettings_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_uint64_t(uint64_t value);

/* CIntFromPy.proto */
static CYTHON_INLINE char __Pyx_PyLong_As_char(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUstreamBatchMemOpType_enum __Pyx_PyLong_As_enum__CUstreamBatchMemOpType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUasyncNotificationType_enum __Pyx_PyLong_As_enum__CUasyncNotificationType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUaccessProperty_enum __Pyx_PyLong_As_enum__CUaccessProperty_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphConditionalNodeType_enum __Pyx_PyLong_As_enum__CUgraphConditionalNodeType_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_char(unsigned char value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphInstantiateResult_enum __Pyx_PyLong_As_enum__CUgraphInstantiateResult_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUsynchronizationPolicy_enum __Pyx_PyLong_As_enum__CUsynchronizationPolicy_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUclusterSchedulingPolicy_enum __Pyx_PyLong_As_enum__CUclusterSchedulingPolicy_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUlaunchMemSyncDomain_enum __Pyx_PyLong_As_enum__CUlaunchMemSyncDomain_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUlaunchAttributeID_enum __Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUexecAffinityType_enum __Pyx_PyLong_As_enum__CUexecAffinityType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUcigDataType_enum __Pyx_PyLong_As_enum__CUcigDataType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemorytype_enum __Pyx_PyLong_As_enum__CUmemorytype_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUarray_format_enum __Pyx_PyLong_As_enum__CUarray_format_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUresourcetype_enum __Pyx_PyLong_As_enum__CUresourcetype_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUaddress_mode_enum __Pyx_PyLong_As_enum__CUaddress_mode_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUfilter_mode_enum __Pyx_PyLong_As_enum__CUfilter_mode_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUresourceViewFormat_enum __Pyx_PyLong_As_enum__CUresourceViewFormat_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUexternalMemoryHandleType_enum __Pyx_PyLong_As_enum__CUexternalMemoryHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUexternalSemaphoreHandleType_enum __Pyx_PyLong_As_enum__CUexternalSemaphoreHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUarraySparseSubresourceType_enum __Pyx_PyLong_As_enum__CUarraySparseSubresourceType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemOperationType_enum __Pyx_PyLong_As_enum__CUmemOperationType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemHandleType_enum __Pyx_PyLong_As_enum__CUmemHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemLocationType_enum __Pyx_PyLong_As_enum__CUmemLocationType_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_short(unsigned short value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemAllocationType_enum __Pyx_PyLong_As_enum__CUmemAllocationType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemAccess_flags_enum __Pyx_PyLong_As_enum__CUmemAccess_flags_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphExecUpdateResult_enum __Pyx_PyLong_As_enum__CUgraphExecUpdateResult_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemcpySrcAccessOrder_enum __Pyx_PyLong_As_enum__CUmemcpySrcAccessOrder_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemcpy3DOperandType_enum __Pyx_PyLong_As_enum__CUmemcpy3DOperandType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphChildGraphNodeOwnership_enum __Pyx_PyLong_As_enum__CUgraphChildGraphNodeOwnership_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphNodeType_enum __Pyx_PyLong_As_enum__CUgraphNodeType_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_PY_LONG_LONG(PY_LONG_LONG value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemDecompressAlgorithm_enum __Pyx_PyLong_As_enum__CUmemDecompressAlgorithm_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE CUdevResourceType __Pyx_PyLong_As_CUdevResourceType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_uint32_t(uint32_t value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaError_enum __Pyx_PyLong_As_enum__cudaError_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE CUdevice_v1 __Pyx_PyLong_As_CUdevice_v1(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUdevice_attribute_enum __Pyx_PyLong_As_enum__CUdevice_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUflushGPUDirectRDMAWritesTarget_enum __Pyx_PyLong_As_enum__CUflushGPUDirectRDMAWritesTarget_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUflushGPUDirectRDMAWritesScope_enum __Pyx_PyLong_As_enum__CUflushGPUDirectRDMAWritesScope_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUlimit_enum __Pyx_PyLong_As_enum__CUlimit_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUfunc_cache_enum __Pyx_PyLong_As_enum__CUfunc_cache_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUsharedconfig_enum __Pyx_PyLong_As_enum__CUsharedconfig_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUjitInputType_enum __Pyx_PyLong_As_enum__CUjitInputType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUfunction_attribute_enum __Pyx_PyLong_As_enum__CUfunction_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemRangeHandleType_enum __Pyx_PyLong_As_enum__CUmemRangeHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemAllocationGranularity_flags_enum __Pyx_PyLong_As_enum__CUmemAllocationGranularity_flags_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmulticastGranularity_flags_enum __Pyx_PyLong_As_enum__CUmulticastGranularity_flags_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmem_advise_enum __Pyx_PyLong_As_enum__CUmem_advise_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUstreamCaptureMode_enum __Pyx_PyLong_As_enum__CUstreamCaptureMode_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapDataType_enum __Pyx_PyLong_As_enum__CUtensorMapDataType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapInterleave_enum __Pyx_PyLong_As_enum__CUtensorMapInterleave_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapSwizzle_enum __Pyx_PyLong_As_enum__CUtensorMapSwizzle_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapL2promotion_enum __Pyx_PyLong_As_enum__CUtensorMapL2promotion_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapFloatOOBfill_enum __Pyx_PyLong_As_enum__CUtensorMapFloatOOBfill_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapIm2ColWideMode_enum __Pyx_PyLong_As_enum__CUtensorMapIm2ColWideMode_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUdevice_P2PAttribute_enum __Pyx_PyLong_As_enum__CUdevice_P2PAttribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(PyObject *);

/* CppExceptionConversion.proto */
#ifndef __Pyx_CppExn2PyErr
#include <new>
#include <typeinfo>
#include <stdexcept>
#include <ios>
static void __Pyx_CppExn2PyErr() {
  try {
    if (PyErr_Occurred())
      ; // let the latest Python exn pass through and ignore the current one
    else
      throw;
  } catch (const std::bad_alloc& exn) {
    PyErr_SetString(PyExc_MemoryError, exn.what());
  } catch (const std::bad_cast& exn) {
    PyErr_SetString(PyExc_TypeError, exn.what());
  } catch (const std::bad_typeid& exn) {
    PyErr_SetString(PyExc_TypeError, exn.what());
  } catch (const std::domain_error& exn) {
    PyErr_SetString(PyExc_ValueError, exn.what());
  } catch (const std::invalid_argument& exn) {
    PyErr_SetString(PyExc_ValueError, exn.what());
  } catch (const std::ios_base::failure& exn) {
    PyErr_SetString(PyExc_IOError, exn.what());
  } catch (const std::out_of_range& exn) {
    PyErr_SetString(PyExc_IndexError, exn.what());
  } catch (const std::overflow_error& exn) {
    PyErr_SetString(PyExc_OverflowError, exn.what());
  } catch (const std::range_error& exn) {
    PyErr_SetString(PyExc_ArithmeticError, exn.what());
  } catch (const std::underflow_error& exn) {
    PyErr_SetString(PyExc_ArithmeticError, exn.what());
  } catch (const std::exception& exn) {
    PyErr_SetString(PyExc_RuntimeError, exn.what());
  }
  catch (...)
  {
    PyErr_SetString(PyExc_RuntimeError, "Unknown exception");
  }
}
#endif

/* FormatTypeName.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
typedef PyObject *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%U"
#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_PyType_GetFullyQualifiedName PyType_GetFullyQualifiedName
#else
static __Pyx_TypeName __Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp);
#endif
#else  // !LIMITED_API
typedef const char *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%.200s"
#define __Pyx_PyType_GetFullyQualifiedName(tp) ((tp)->tp_name)
#define __Pyx_DECREF_TypeName(obj)
#endif

/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyLong_As_long(PyObject *);

/* SwapException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* IterNextPlain.proto */
static CYTHON_INLINE PyObject *__Pyx_PyIter_Next_Plain(PyObject *iterator);
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject *__Pyx_GetBuiltinNext_LimitedAPI(void);
#endif

/* PyObjectCallMethod1.proto */
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);

/* ReturnWithStopIteration.proto */
static CYTHON_INLINE void __Pyx_ReturnWithStopIteration(PyObject* value, int async, int iternext);

/* CoroutineBase.proto */
struct __pyx_CoroutineObject;
typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *);
#if CYTHON_USE_EXC_INFO_STACK
#define __Pyx_ExcInfoStruct  _PyErr_StackItem
#else
typedef struct {
    PyObject *exc_type;
    PyObject *exc_value;
    PyObject *exc_traceback;
} __Pyx_ExcInfoStruct;
#endif
typedef struct __pyx_CoroutineObject {
    PyObject_HEAD
    __pyx_coroutine_body_t body;
    PyObject *closure;
    __Pyx_ExcInfoStruct gi_exc_state;
    PyObject *gi_weakreflist;
    PyObject *classobj;
    PyObject *yieldfrom;
    __Pyx_pyiter_sendfunc yieldfrom_am_send;
    PyObject *gi_name;
    PyObject *gi_qualname;
    PyObject *gi_modulename;
    PyObject *gi_code;
    PyObject *gi_frame;
#if CYTHON_USE_SYS_MONITORING && (CYTHON_PROFILE || CYTHON_TRACE)
    PyMonitoringState __pyx_pymonitoring_state[__Pyx_MonitoringEventTypes_CyGen_count];
    uint64_t __pyx_pymonitoring_version;
#endif
    int resume_label;
    char is_running;
} __pyx_CoroutineObject;
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
    PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
    PyObject *name, PyObject *qualname, PyObject *module_name);
static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
            __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name);
static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self);
static int __Pyx_Coroutine_clear(PyObject *self);
static __Pyx_PySendResult __Pyx_Coroutine_AmSend(PyObject *self, PyObject *value, PyObject **retval);
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
static __Pyx_PySendResult __Pyx_Coroutine_Close(PyObject *self, PyObject **retval);
static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
#if CYTHON_USE_EXC_INFO_STACK
#define __Pyx_Coroutine_SwapException(self)
#define __Pyx_Coroutine_ResetAndClearException(self)  __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
#else
#define __Pyx_Coroutine_SwapException(self) {\
    __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
    __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
    }
#define __Pyx_Coroutine_ResetAndClearException(self) {\
    __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
    (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
    }
#endif
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
    __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
#else
#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
#endif
static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
static char __Pyx_Coroutine_test_and_set_is_running(__pyx_CoroutineObject *gen);
static void __Pyx_Coroutine_unset_is_running(__pyx_CoroutineObject *gen);
static char __Pyx_Coroutine_get_is_running(__pyx_CoroutineObject *gen);
static PyObject *__Pyx_Coroutine_get_is_running_getter(PyObject *gen, void *closure);
#if __PYX_HAS_PY_AM_SEND == 2
static void __Pyx_SetBackportTypeAmSend(PyTypeObject *type, __Pyx_PyAsyncMethodsStruct *static_amsend_methods, __Pyx_pyiter_sendfunc am_send);
#endif
static PyObject *__Pyx_Coroutine_fail_reduce_ex(PyObject *self, PyObject *arg);

/* Generator.proto */
#define __Pyx_Generator_USED
#define __Pyx_Generator_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_mstate_global->__pyx_GeneratorType)
#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
    __Pyx__Coroutine_New(__pyx_mstate_global->__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
static PyObject *__Pyx_Generator_Next(PyObject *self);
static int __pyx_Generator_init(PyObject *module);
static CYTHON_INLINE PyObject *__Pyx_Generator_GetInlinedResult(PyObject *self);

/* GetRuntimeVersion.proto */
static unsigned long __Pyx_get_runtime_version(void);

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);

/* FunctionImport.proto */
static int __Pyx_ImportFunction_3_1_5(PyObject *module, const char *funcname, void (**f)(void), const char *sig);

/* MultiPhaseInitModuleState.proto */
#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
static PyObject *__Pyx_State_FindModule(void*);
static int __Pyx_State_AddModule(PyObject* module, void*);
static int __Pyx_State_RemoveModule(void*);
#elif CYTHON_USE_MODULE_STATE
#define __Pyx_State_FindModule PyState_FindModule
#define __Pyx_State_AddModule PyState_AddModule
#define __Pyx_State_RemoveModule PyState_RemoveModule
#endif

/* #### Code section: module_declarations ### */
/* CythonABIVersion.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
    #if CYTHON_METH_FASTCALL
        #define __PYX_FASTCALL_ABI_SUFFIX  "_fastcall"
    #else
        #define __PYX_FASTCALL_ABI_SUFFIX
    #endif
    #define __PYX_LIMITED_ABI_SUFFIX "limited" __PYX_FASTCALL_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX
#else
    #define __PYX_LIMITED_ABI_SUFFIX
#endif
#if __PYX_HAS_PY_AM_SEND == 1
    #define __PYX_AM_SEND_ABI_SUFFIX
#elif __PYX_HAS_PY_AM_SEND == 2
    #define __PYX_AM_SEND_ABI_SUFFIX "amsendbackport"
#else
    #define __PYX_AM_SEND_ABI_SUFFIX "noamsend"
#endif
#ifndef __PYX_MONITORING_ABI_SUFFIX
    #define __PYX_MONITORING_ABI_SUFFIX
#endif
#if CYTHON_USE_TP_FINALIZE
    #define __PYX_TP_FINALIZE_ABI_SUFFIX
#else
    #define __PYX_TP_FINALIZE_ABI_SUFFIX "nofinalize"
#endif
#if CYTHON_USE_FREELISTS || !defined(__Pyx_AsyncGen_USED)
    #define __PYX_FREELISTS_ABI_SUFFIX
#else
    #define __PYX_FREELISTS_ABI_SUFFIX "nofreelists"
#endif
#define CYTHON_ABI  __PYX_ABI_VERSION __PYX_LIMITED_ABI_SUFFIX __PYX_MONITORING_ABI_SUFFIX __PYX_TP_FINALIZE_ABI_SUFFIX __PYX_FREELISTS_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."


/* Module declarations from "libc.stdint" */

/* Module declarations from "cuda.bindings.cydriver" */
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGetErrorString)(CUresult, char const **); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGetErrorName)(CUresult, char const **); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuInit)(unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDriverGetVersion)(int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGet)(CUdevice *, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetCount)(int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetName)(char *, int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetUuid)(CUuuid *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetUuid_v2)(CUuuid *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetLuid)(char *, unsigned int *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceTotalMem)(size_t *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetTexture1DLinearMaxWidth)(size_t *, CUarray_format, unsigned int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetAttribute)(int *, CUdevice_attribute, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetNvSciSyncAttributes)(void *, CUdevice, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceSetMemPool)(CUdevice, CUmemoryPool); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetMemPool)(CUmemoryPool *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetDefaultMemPool)(CUmemoryPool *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetExecAffinitySupport)(int *, CUexecAffinityType, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFlushGPUDirectRDMAWrites)(CUflushGPUDirectRDMAWritesTarget, CUflushGPUDirectRDMAWritesScope); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetProperties)(CUdevprop *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceComputeCapability)(int *, int *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxRetain)(CUcontext *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxRelease)(CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxSetFlags)(CUdevice, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxGetState)(CUdevice, unsigned int *, int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxReset)(CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate)(CUcontext *, unsigned int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate_v3)(CUcontext *, CUexecAffinityParam *, int, unsigned int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate_v4)(CUcontext *, CUctxCreateParams *, unsigned int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxDestroy)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxPushCurrent)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxPopCurrent)(CUcontext *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetCurrent)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetCurrent)(CUcontext *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetDevice)(CUdevice *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetFlags)(unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetFlags)(unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetId)(CUcontext, unsigned PY_LONG_LONG *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxSynchronize)(void); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetLimit)(CUlimit, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetLimit)(size_t *, CUlimit); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetCacheConfig)(CUfunc_cache *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetCacheConfig)(CUfunc_cache); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetApiVersion)(CUcontext, unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetStreamPriorityRange)(int *, int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxResetPersistingL2Cache)(void); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetExecAffinity)(CUexecAffinityParam *, CUexecAffinityType); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxRecordEvent)(CUcontext, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxWaitEvent)(CUcontext, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxAttach)(CUcontext *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxDetach)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetSharedMemConfig)(CUsharedconfig *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetSharedMemConfig)(CUsharedconfig); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleLoad)(CUmodule *, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadData)(CUmodule *, void const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadDataEx)(CUmodule *, void const *, unsigned int, CUjit_option *, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadFatBinary)(CUmodule *, void const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleUnload)(CUmodule); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetLoadingMode)(CUmoduleLoadingMode *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetFunction)(CUfunction *, CUmodule, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetFunctionCount)(unsigned int *, CUmodule); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleEnumerateFunctions)(CUfunction *, unsigned int, CUmodule); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetGlobal)(CUdeviceptr *, size_t *, CUmodule, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLinkCreate)(unsigned int, CUjit_option *, void **, CUlinkState *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLinkAddData)(CUlinkState, CUjitInputType, void *, size_t, char const *, unsigned int, CUjit_option *, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLinkAddFile)(CUlinkState, CUjitInputType, char const *, unsigned int, CUjit_option *, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLinkComplete)(CUlinkState, void **, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLinkDestroy)(CUlinkState); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetTexRef)(CUtexref *, CUmodule, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetSurfRef)(CUsurfref *, CUmodule, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryLoadData)(CUlibrary *, void const *, CUjit_option *, void **, unsigned int, CUlibraryOption *, void **, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryLoadFromFile)(CUlibrary *, char const *, CUjit_option *, void **, unsigned int, CUlibraryOption *, void **, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryUnload)(CUlibrary); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetKernel)(CUkernel *, CUlibrary, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetKernelCount)(unsigned int *, CUlibrary); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryEnumerateKernels)(CUkernel *, unsigned int, CUlibrary); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetModule)(CUmodule *, CUlibrary); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetFunction)(CUfunction *, CUkernel); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetLibrary)(CUlibrary *, CUkernel); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetGlobal)(CUdeviceptr *, size_t *, CUlibrary, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetManaged)(CUdeviceptr *, size_t *, CUlibrary, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetUnifiedFunction)(void **, CUlibrary, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetAttribute)(int *, CUfunction_attribute, CUkernel, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuKernelSetAttribute)(CUfunction_attribute, int, CUkernel, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuKernelSetCacheConfig)(CUkernel, CUfunc_cache, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetName)(char const **, CUkernel); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetParamInfo)(CUkernel, size_t, size_t *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemGetInfo)(size_t *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAlloc)(CUdeviceptr *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocPitch)(CUdeviceptr *, size_t *, size_t, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemFree)(CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemGetAddressRange)(CUdeviceptr *, size_t *, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocHost)(void **, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemFreeHost)(void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemHostAlloc)(void **, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemHostGetDevicePointer)(CUdeviceptr *, void *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemHostGetFlags)(unsigned int *, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocManaged)(CUdeviceptr *, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceRegisterAsyncNotification)(CUdevice, CUasyncCallback, void *, CUasyncCallbackHandle *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceUnregisterAsyncNotification)(CUdevice, CUasyncCallbackHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetByPCIBusId)(CUdevice *, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetPCIBusId)(char *, int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuIpcGetEventHandle)(CUipcEventHandle *, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuIpcOpenEventHandle)(CUevent *, CUipcEventHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuIpcGetMemHandle)(CUipcMemHandle *, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuIpcOpenMemHandle)(CUdeviceptr *, CUipcMemHandle, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuIpcCloseMemHandle)(CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemHostRegister)(void *, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemHostUnregister)(void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy)(CUdeviceptr, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyPeer)(CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoD)(CUdeviceptr, void const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoH)(void *, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoD)(CUdeviceptr, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoA)(CUarray, size_t, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoD)(CUdeviceptr, CUarray, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoA)(CUarray, size_t, void const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoH)(void *, CUarray, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoA)(CUarray, size_t, CUarray, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2D)(CUDA_MEMCPY2D const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2DUnaligned)(CUDA_MEMCPY2D const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3D)(CUDA_MEMCPY3D const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DPeer)(CUDA_MEMCPY3D_PEER const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAsync)(CUdeviceptr, CUdeviceptr, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyPeerAsync)(CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoDAsync)(CUdeviceptr, void const *, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoHAsync)(void *, CUdeviceptr, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoDAsync)(CUdeviceptr, CUdeviceptr, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoAAsync)(CUarray, size_t, void const *, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoHAsync)(void *, CUarray, size_t, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2DAsync)(CUDA_MEMCPY2D const *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DAsync)(CUDA_MEMCPY3D const *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DPeerAsync)(CUDA_MEMCPY3D_PEER const *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyBatchAsync)(CUdeviceptr *, CUdeviceptr *, size_t *, size_t, CUmemcpyAttributes *, size_t *, size_t, size_t *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DBatchAsync)(size_t, CUDA_MEMCPY3D_BATCH_OP *, size_t *, unsigned PY_LONG_LONG, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD8)(CUdeviceptr, unsigned char, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD16)(CUdeviceptr, unsigned short, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD32)(CUdeviceptr, unsigned int, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D8)(CUdeviceptr, size_t, unsigned char, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D16)(CUdeviceptr, size_t, unsigned short, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D32)(CUdeviceptr, size_t, unsigned int, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD8Async)(CUdeviceptr, unsigned char, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD16Async)(CUdeviceptr, unsigned short, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD32Async)(CUdeviceptr, unsigned int, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D8Async)(CUdeviceptr, size_t, unsigned char, size_t, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D16Async)(CUdeviceptr, size_t, unsigned short, size_t, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D32Async)(CUdeviceptr, size_t, unsigned int, size_t, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuArrayCreate)(CUarray *, CUDA_ARRAY_DESCRIPTOR const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuArrayGetDescriptor)(CUDA_ARRAY_DESCRIPTOR *, CUarray); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuArrayGetSparseProperties)(CUDA_ARRAY_SPARSE_PROPERTIES *, CUarray); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetSparseProperties)(CUDA_ARRAY_SPARSE_PROPERTIES *, CUmipmappedArray); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuArrayGetMemoryRequirements)(CUDA_ARRAY_MEMORY_REQUIREMENTS *, CUarray, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetMemoryRequirements)(CUDA_ARRAY_MEMORY_REQUIREMENTS *, CUmipmappedArray, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuArrayGetPlane)(CUarray *, CUarray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuArrayDestroy)(CUarray); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuArray3DCreate)(CUarray *, CUDA_ARRAY3D_DESCRIPTOR const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuArray3DGetDescriptor)(CUDA_ARRAY3D_DESCRIPTOR *, CUarray); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayCreate)(CUmipmappedArray *, CUDA_ARRAY3D_DESCRIPTOR const *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetLevel)(CUarray *, CUmipmappedArray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayDestroy)(CUmipmappedArray); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemGetHandleForAddressRange)(void *, CUdeviceptr, size_t, CUmemRangeHandleType, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemBatchDecompressAsync)(CUmemDecompressParams *, size_t, unsigned int, size_t *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAddressReserve)(CUdeviceptr *, size_t, size_t, CUdeviceptr, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAddressFree)(CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemCreate)(CUmemGenericAllocationHandle *, size_t, CUmemAllocationProp const *, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemRelease)(CUmemGenericAllocationHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemMap)(CUdeviceptr, size_t, size_t, CUmemGenericAllocationHandle, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemMapArrayAsync)(CUarrayMapInfo *, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemUnmap)(CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemSetAccess)(CUdeviceptr, size_t, CUmemAccessDesc const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemGetAccess)(unsigned PY_LONG_LONG *, CUmemLocation const *, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemExportToShareableHandle)(void *, CUmemGenericAllocationHandle, CUmemAllocationHandleType, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemImportFromShareableHandle)(CUmemGenericAllocationHandle *, void *, CUmemAllocationHandleType); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemGetAllocationGranularity)(size_t *, CUmemAllocationProp const *, CUmemAllocationGranularity_flags); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemGetAllocationPropertiesFromHandle)(CUmemAllocationProp *, CUmemGenericAllocationHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemRetainAllocationHandle)(CUmemGenericAllocationHandle *, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemFreeAsync)(CUdeviceptr, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocAsync)(CUdeviceptr *, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolTrimTo)(CUmemoryPool, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolSetAttribute)(CUmemoryPool, CUmemPool_attribute, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolGetAttribute)(CUmemoryPool, CUmemPool_attribute, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolSetAccess)(CUmemoryPool, CUmemAccessDesc const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolGetAccess)(CUmemAccess_flags *, CUmemoryPool, CUmemLocation *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolCreate)(CUmemoryPool *, CUmemPoolProps const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolDestroy)(CUmemoryPool); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocFromPoolAsync)(CUdeviceptr *, size_t, CUmemoryPool, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolExportToShareableHandle)(void *, CUmemoryPool, CUmemAllocationHandleType, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolImportFromShareableHandle)(CUmemoryPool *, void *, CUmemAllocationHandleType, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolExportPointer)(CUmemPoolPtrExportData *, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolImportPointer)(CUdeviceptr *, CUmemoryPool, CUmemPoolPtrExportData *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMulticastCreate)(CUmemGenericAllocationHandle *, CUmulticastObjectProp const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMulticastAddDevice)(CUmemGenericAllocationHandle, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMulticastBindMem)(CUmemGenericAllocationHandle, size_t, CUmemGenericAllocationHandle, size_t, size_t, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMulticastBindAddr)(CUmemGenericAllocationHandle, size_t, CUdeviceptr, size_t, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMulticastUnbind)(CUmemGenericAllocationHandle, CUdevice, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMulticastGetGranularity)(size_t *, CUmulticastObjectProp const *, CUmulticastGranularity_flags); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuPointerGetAttribute)(void *, CUpointer_attribute, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchAsync)(CUdeviceptr, size_t, CUdevice, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchAsync_v2)(CUdeviceptr, size_t, CUmemLocation, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAdvise)(CUdeviceptr, size_t, CUmem_advise, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAdvise_v2)(CUdeviceptr, size_t, CUmem_advise, CUmemLocation); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemRangeGetAttribute)(void *, size_t, CUmem_range_attribute, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemRangeGetAttributes)(void **, size_t *, CUmem_range_attribute *, size_t, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuPointerSetAttribute)(void const *, CUpointer_attribute, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuPointerGetAttributes)(unsigned int, CUpointer_attribute *, void **, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamCreate)(CUstream *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamCreateWithPriority)(CUstream *, unsigned int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetPriority)(CUstream, int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetDevice)(CUstream, CUdevice *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetFlags)(CUstream, unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetId)(CUstream, unsigned PY_LONG_LONG *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCtx)(CUstream, CUcontext *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCtx_v2)(CUstream, CUcontext *, CUgreenCtx *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitEvent)(CUstream, CUevent, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamAddCallback)(CUstream, CUstreamCallback, void *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamBeginCapture)(CUstream, CUstreamCaptureMode); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamBeginCaptureToGraph)(CUstream, CUgraph, CUgraphNode const *, CUgraphEdgeData const *, size_t, CUstreamCaptureMode); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuThreadExchangeStreamCaptureMode)(CUstreamCaptureMode *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamEndCapture)(CUstream, CUgraph *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamIsCapturing)(CUstream, CUstreamCaptureStatus *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCaptureInfo)(CUstream, CUstreamCaptureStatus *, cuuint64_t *, CUgraph *, CUgraphNode const **, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCaptureInfo_v3)(CUstream, CUstreamCaptureStatus *, cuuint64_t *, CUgraph *, CUgraphNode const **, CUgraphEdgeData const **, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamUpdateCaptureDependencies)(CUstream, CUgraphNode *, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamUpdateCaptureDependencies_v2)(CUstream, CUgraphNode *, CUgraphEdgeData const *, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamAttachMemAsync)(CUstream, CUdeviceptr, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamQuery)(CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamSynchronize)(CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamDestroy)(CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamCopyAttributes)(CUstream, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetAttribute)(CUstream, CUstreamAttrID, CUstreamAttrValue *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamSetAttribute)(CUstream, CUstreamAttrID, CUstreamAttrValue const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventCreate)(CUevent *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventRecord)(CUevent, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventRecordWithFlags)(CUevent, CUstream, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventQuery)(CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventSynchronize)(CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventDestroy)(CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventElapsedTime)(float *, CUevent, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventElapsedTime_v2)(float *, CUevent, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuImportExternalMemory)(CUexternalMemory *, CUDA_EXTERNAL_MEMORY_HANDLE_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuExternalMemoryGetMappedBuffer)(CUdeviceptr *, CUexternalMemory, CUDA_EXTERNAL_MEMORY_BUFFER_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuExternalMemoryGetMappedMipmappedArray)(CUmipmappedArray *, CUexternalMemory, CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDestroyExternalMemory)(CUexternalMemory); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuImportExternalSemaphore)(CUexternalSemaphore *, CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuSignalExternalSemaphoresAsync)(CUexternalSemaphore const *, CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS const *, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuWaitExternalSemaphoresAsync)(CUexternalSemaphore const *, CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS const *, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDestroyExternalSemaphore)(CUexternalSemaphore); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitValue32)(CUstream, CUdeviceptr, cuuint32_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitValue64)(CUstream, CUdeviceptr, cuuint64_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamWriteValue32)(CUstream, CUdeviceptr, cuuint32_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamWriteValue64)(CUstream, CUdeviceptr, cuuint64_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamBatchMemOp)(CUstream, unsigned int, CUstreamBatchMemOpParams *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncGetAttribute)(int *, CUfunction_attribute, CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetAttribute)(CUfunction, CUfunction_attribute, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetCacheConfig)(CUfunction, CUfunc_cache); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncGetModule)(CUmodule *, CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncGetName)(char const **, CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncGetParamInfo)(CUfunction, size_t, size_t *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncIsLoaded)(CUfunctionLoadingState *, CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncLoad)(CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLaunchKernel)(CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, CUstream, void **, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLaunchKernelEx)(CUlaunchConfig const *, CUfunction, void **, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLaunchCooperativeKernel)(CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, CUstream, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLaunchCooperativeKernelMultiDevice)(CUDA_LAUNCH_PARAMS *, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLaunchHostFunc)(CUstream, CUhostFn, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetBlockShape)(CUfunction, int, int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetSharedSize)(CUfunction, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuParamSetSize)(CUfunction, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuParamSeti)(CUfunction, int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuParamSetf)(CUfunction, int, float); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuParamSetv)(CUfunction, int, void *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLaunch)(CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLaunchGrid)(CUfunction, int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLaunchGridAsync)(CUfunction, int, int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuParamSetTexRef)(CUfunction, int, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetSharedMemConfig)(CUfunction, CUsharedconfig); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphCreate)(CUgraph *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddKernelNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_KERNEL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeGetParams)(CUgraphNode, CUDA_KERNEL_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeSetParams)(CUgraphNode, CUDA_KERNEL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemcpyNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEMCPY3D const *, CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemcpyNodeGetParams)(CUgraphNode, CUDA_MEMCPY3D *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemcpyNodeSetParams)(CUgraphNode, CUDA_MEMCPY3D const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemsetNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEMSET_NODE_PARAMS const *, CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemsetNodeGetParams)(CUgraphNode, CUDA_MEMSET_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemsetNodeSetParams)(CUgraphNode, CUDA_MEMSET_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddHostNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_HOST_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphHostNodeGetParams)(CUgraphNode, CUDA_HOST_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphHostNodeSetParams)(CUgraphNode, CUDA_HOST_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddChildGraphNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphChildGraphNodeGetGraph)(CUgraphNode, CUgraph *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEmptyNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEventRecordNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphEventRecordNodeGetEvent)(CUgraphNode, CUevent *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphEventRecordNodeSetEvent)(CUgraphNode, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEventWaitNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphEventWaitNodeGetEvent)(CUgraphNode, CUevent *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphEventWaitNodeSetEvent)(CUgraphNode, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddExternalSemaphoresSignalNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresSignalNodeGetParams)(CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresSignalNodeSetParams)(CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddExternalSemaphoresWaitNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresWaitNodeGetParams)(CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresWaitNodeSetParams)(CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddBatchMemOpNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_BATCH_MEM_OP_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphBatchMemOpNodeGetParams)(CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphBatchMemOpNodeSetParams)(CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecBatchMemOpNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemAllocNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEM_ALLOC_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemAllocNodeGetParams)(CUgraphNode, CUDA_MEM_ALLOC_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemFreeNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemFreeNodeGetParams)(CUgraphNode, CUdeviceptr *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGraphMemTrim)(CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetGraphMemAttribute)(CUdevice, CUgraphMem_attribute, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceSetGraphMemAttribute)(CUdevice, CUgraphMem_attribute, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphClone)(CUgraph *, CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeFindInClone)(CUgraphNode *, CUgraphNode, CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetType)(CUgraphNode, CUgraphNodeType *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetNodes)(CUgraph, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetRootNodes)(CUgraph, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetEdges)(CUgraph, CUgraphNode *, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetEdges_v2)(CUgraph, CUgraphNode *, CUgraphNode *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependencies)(CUgraphNode, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependencies_v2)(CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependentNodes)(CUgraphNode, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependentNodes_v2)(CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddDependencies)(CUgraph, CUgraphNode const *, CUgraphNode const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddDependencies_v2)(CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphRemoveDependencies)(CUgraph, CUgraphNode const *, CUgraphNode const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphRemoveDependencies_v2)(CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphDestroyNode)(CUgraphNode); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphInstantiate)(CUgraphExec *, CUgraph, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphInstantiateWithParams)(CUgraphExec *, CUgraph, CUDA_GRAPH_INSTANTIATE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecGetFlags)(CUgraphExec, cuuint64_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecKernelNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_KERNEL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecMemcpyNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_MEMCPY3D const *, CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecMemsetNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_MEMSET_NODE_PARAMS const *, CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecHostNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_HOST_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecChildGraphNodeSetParams)(CUgraphExec, CUgraphNode, CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecEventRecordNodeSetEvent)(CUgraphExec, CUgraphNode, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecEventWaitNodeSetEvent)(CUgraphExec, CUgraphNode, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecExternalSemaphoresSignalNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecExternalSemaphoresWaitNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeSetEnabled)(CUgraphExec, CUgraphNode, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetEnabled)(CUgraphExec, CUgraphNode, unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphUpload)(CUgraphExec, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphLaunch)(CUgraphExec, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecDestroy)(CUgraphExec); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphDestroy)(CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecUpdate)(CUgraphExec, CUgraph, CUgraphExecUpdateResultInfo *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeCopyAttributes)(CUgraphNode, CUgraphNode); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeGetAttribute)(CUgraphNode, CUkernelNodeAttrID, CUkernelNodeAttrValue *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeSetAttribute)(CUgraphNode, CUkernelNodeAttrID, CUkernelNodeAttrValue const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphDebugDotPrint)(CUgraph, char const *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuUserObjectCreate)(CUuserObject *, void *, CUhostFn, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuUserObjectRetain)(CUuserObject, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuUserObjectRelease)(CUuserObject, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphRetainUserObject)(CUgraph, CUuserObject, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphReleaseUserObject)(CUgraph, CUuserObject, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUgraphNodeParams *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddNode_v2)(CUgraphNode *, CUgraph, CUgraphNode const *, CUgraphEdgeData const *, size_t, CUgraphNodeParams *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeSetParams)(CUgraphNode, CUgraphNodeParams *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecNodeSetParams)(CUgraphExec, CUgraphNode, CUgraphNodeParams *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphConditionalHandleCreate)(CUgraphConditionalHandle *, CUgraph, CUcontext, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveBlocksPerMultiprocessor)(int *, CUfunction, int, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags)(int *, CUfunction, int, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialBlockSize)(int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialBlockSizeWithFlags)(int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyAvailableDynamicSMemPerBlock)(size_t *, CUfunction, int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialClusterSize)(int *, CUfunction, CUlaunchConfig const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveClusters)(int *, CUfunction, CUlaunchConfig const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetArray)(CUtexref, CUarray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmappedArray)(CUtexref, CUmipmappedArray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddress)(size_t *, CUtexref, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddress2D)(CUtexref, CUDA_ARRAY_DESCRIPTOR const *, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFormat)(CUtexref, CUarray_format, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddressMode)(CUtexref, int, CUaddress_mode); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFilterMode)(CUtexref, CUfilter_mode); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapFilterMode)(CUtexref, CUfilter_mode); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapLevelBias)(CUtexref, float); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapLevelClamp)(CUtexref, float, float); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMaxAnisotropy)(CUtexref, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetBorderColor)(CUtexref, float *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFlags)(CUtexref, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetAddress)(CUdeviceptr *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetArray)(CUarray *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmappedArray)(CUmipmappedArray *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetAddressMode)(CUaddress_mode *, CUtexref, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFilterMode)(CUfilter_mode *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFormat)(CUarray_format *, int *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapFilterMode)(CUfilter_mode *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapLevelBias)(float *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapLevelClamp)(float *, float *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMaxAnisotropy)(int *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetBorderColor)(float *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFlags)(unsigned int *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefCreate)(CUtexref *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexRefDestroy)(CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuSurfRefSetArray)(CUsurfref, CUarray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuSurfRefGetArray)(CUarray *, CUsurfref); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectCreate)(CUtexObject *, CUDA_RESOURCE_DESC const *, CUDA_TEXTURE_DESC const *, CUDA_RESOURCE_VIEW_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectDestroy)(CUtexObject); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetResourceDesc)(CUDA_RESOURCE_DESC *, CUtexObject); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetTextureDesc)(CUDA_TEXTURE_DESC *, CUtexObject); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetResourceViewDesc)(CUDA_RESOURCE_VIEW_DESC *, CUtexObject); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectCreate)(CUsurfObject *, CUDA_RESOURCE_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectDestroy)(CUsurfObject); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectGetResourceDesc)(CUDA_RESOURCE_DESC *, CUsurfObject); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeTiled)(CUtensorMap *, CUtensorMapDataType, cuuint32_t, void *, cuuint64_t const *, cuuint64_t const *, cuuint32_t const *, cuuint32_t const *, CUtensorMapInterleave, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeIm2col)(CUtensorMap *, CUtensorMapDataType, cuuint32_t, void *, cuuint64_t const *, cuuint64_t const *, int const *, int const *, cuuint32_t, cuuint32_t, cuuint32_t const *, CUtensorMapInterleave, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeIm2colWide)(CUtensorMap *, CUtensorMapDataType, cuuint32_t, void *, cuuint64_t const *, cuuint64_t const *, int, int, cuuint32_t, cuuint32_t, cuuint32_t const *, CUtensorMapInterleave, CUtensorMapIm2ColWideMode, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuTensorMapReplaceAddress)(CUtensorMap *, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceCanAccessPeer)(int *, CUdevice, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxEnablePeerAccess)(CUcontext, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxDisablePeerAccess)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetP2PAttribute)(int *, CUdevice_P2PAttribute, CUdevice, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsUnregisterResource)(CUgraphicsResource); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsSubResourceGetMappedArray)(CUarray *, CUgraphicsResource, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedMipmappedArray)(CUmipmappedArray *, CUgraphicsResource); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedPointer)(CUdeviceptr *, size_t *, CUgraphicsResource); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceSetMapFlags)(CUgraphicsResource, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsMapResources)(unsigned int, CUgraphicsResource *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsUnmapResources)(unsigned int, CUgraphicsResource *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGetProcAddress)(char const *, void **, int, cuuint64_t, CUdriverProcAddressQueryResult *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCoredumpGetAttribute)(CUcoredumpSettings, void *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCoredumpGetAttributeGlobal)(CUcoredumpSettings, void *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCoredumpSetAttribute)(CUcoredumpSettings, void *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCoredumpSetAttributeGlobal)(CUcoredumpSettings, void *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGetExportTable)(void const **, CUuuid const *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxCreate)(CUgreenCtx *, CUdevResourceDesc, CUdevice, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxDestroy)(CUgreenCtx); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxFromGreenCtx)(CUcontext *, CUgreenCtx); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetDevResource)(CUdevice, CUdevResource *, CUdevResourceType); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetDevResource)(CUcontext, CUdevResource *, CUdevResourceType); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxGetDevResource)(CUgreenCtx, CUdevResource *, CUdevResourceType); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDevSmResourceSplitByCount)(CUdevResource *, unsigned int *, CUdevResource const *, CUdevResource *, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuDevResourceGenerateDesc)(CUdevResourceDesc *, CUdevResource *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxRecordEvent)(CUgreenCtx, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxWaitEvent)(CUgreenCtx, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetGreenCtx)(CUstream, CUgreenCtx *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxStreamCreate)(CUstream *, CUgreenCtx, unsigned int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLogsRegisterCallback)(CUlogsCallback, void *, CUlogsCallbackHandle *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLogsUnregisterCallback)(CUlogsCallbackHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLogsCurrent)(CUlogIterator *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLogsDumpToFile)(CUlogIterator *, char const *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuLogsDumpToMemory)(CUlogIterator *, char *, size_t *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessGetRestoreThreadId)(int, int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessGetState)(int, CUprocessState *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessLock)(int, CUcheckpointLockArgs *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessCheckpoint)(int, CUcheckpointCheckpointArgs *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessRestore)(int, CUcheckpointRestoreArgs *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessUnlock)(int, CUcheckpointUnlockArgs *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuProfilerStart)(void); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuProfilerStop)(void); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsEGLRegisterImage)(CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerConnect)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerConnectWithFlags)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerDisconnect)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerAcquireFrame)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, CUgraphicsResource *, CUstream *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerReleaseFrame)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, CUgraphicsResource, CUstream *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerConnect)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR, __pyx_t_4cuda_8bindings_8cydriver_EGLint, __pyx_t_4cuda_8bindings_8cydriver_EGLint); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerDisconnect)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerPresentFrame)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame, CUstream *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerReturnFrame)(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame *, CUstream *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedEglFrame)(__pyx_t_4cuda_8bindings_8cydriver_CUeglFrame *, CUgraphicsResource, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuEventCreateFromEGLSync)(CUevent *, __pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsGLRegisterBuffer)(CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_GLuint, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsGLRegisterImage)(CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_GLuint, __pyx_t_4cuda_8bindings_8cydriver_GLenum, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGLGetDevices)(unsigned int *, CUdevice *, unsigned int, __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuVDPAUGetDevice)(CUdevice *, __pyx_t_4cuda_8bindings_8cydriver_VdpDevice, __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuVDPAUCtxCreate)(CUcontext *, unsigned int, CUdevice, __pyx_t_4cuda_8bindings_8cydriver_VdpDevice, __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsVDPAURegisterVideoSurface)(CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsVDPAURegisterOutputSurface)(CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface, unsigned int); /*proto*/

/* Module declarations from "cuda.bindings.cyruntime" */

/* Module declarations from "libcpp.vector" */

/* Module declarations from "cython" */

/* Module declarations from "libc.string" */

/* Module declarations from "libc.stdlib" */

/* Module declarations from "libc" */

/* Module declarations from "libc.stddef" */

/* Module declarations from "libc.limits" */

/* Module declarations from "cpython.buffer" */

/* Module declarations from "libc.stdio" */

/* Module declarations from "__builtin__" */

/* Module declarations from "cpython.type" */

/* Module declarations from "cpython" */

/* Module declarations from "cpython.object" */

/* Module declarations from "cpython.bytes" */

/* Module declarations from "libcpp.utility" */

/* Module declarations from "libcpp.map" */

/* Module declarations from "cuda.bindings._lib.param_packer" */

/* Module declarations from "cuda.bindings.driver" */
static struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *__pyx_v_4cuda_8bindings_6driver_m_global = 0;
static void *__pyx_f_4cuda_8bindings_6driver__callocWrapper(PyObject *, PyObject *); /*proto*/
static void __pyx_f_4cuda_8bindings_6driver_cuAsyncNotificationCallbackWrapper(CUasyncNotificationInfo *, void *, CUasyncCallbackHandle); /*proto*/
static void __pyx_f_4cuda_8bindings_6driver_cuStreamCallbackWrapper(CUstream, CUresult, void *); /*proto*/
static void __pyx_f_4cuda_8bindings_6driver_cuHostCallbackWrapper(void *); /*proto*/
static void __pyx_f_4cuda_8bindings_6driver_cuLogsCallbackWrapper(void *, CUlogLevel, char *, size_t); /*proto*/
static int __pyx_f_4cuda_8bindings_6driver__add_native_handle_getters(void); /*proto*/
static int __Pyx_carray_from_py_cuuint64_t(PyObject *, cuuint64_t *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_int(int *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_int(int *, Py_ssize_t); /*proto*/
static int __Pyx_carray_from_py_int(PyObject *, int *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_unsigned_int(unsigned int *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_unsigned_int(unsigned int *, Py_ssize_t); /*proto*/
static int __Pyx_carray_from_py_unsigned_int(PyObject *, unsigned int *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_CUaddress_mode(CUaddress_mode *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_CUaddress_mode(CUaddress_mode *, Py_ssize_t); /*proto*/
static int __Pyx_carray_from_py_CUaddress_mode(PyObject *, CUaddress_mode *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_float(float *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_float(float *, Py_ssize_t); /*proto*/
static int __Pyx_carray_from_py_float(PyObject *, float *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_PY_LONG_LONG(PY_LONG_LONG *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_PY_LONG_LONG(PY_LONG_LONG *, Py_ssize_t); /*proto*/
static int __Pyx_carray_from_py_PY_LONG_LONG(PyObject *, PY_LONG_LONG *, Py_ssize_t); /*proto*/
static std::vector<char *>  __pyx_convert_vector_from_py_char___2a_(PyObject *); /*proto*/
static std::vector<CUjit_option>  __pyx_convert_vector_from_py_CUjit_option(PyObject *); /*proto*/
static std::vector<CUlibraryOption>  __pyx_convert_vector_from_py_CUlibraryOption(PyObject *); /*proto*/
static std::vector<size_t>  __pyx_convert_vector_from_py_size_t(PyObject *); /*proto*/
static std::vector<CUmem_range_attribute>  __pyx_convert_vector_from_py_CUmem_range_attribute(PyObject *); /*proto*/
static std::vector<CUpointer_attribute>  __pyx_convert_vector_from_py_CUpointer_attribute(PyObject *); /*proto*/
static std::vector<int>  __pyx_convert_vector_from_py_int(PyObject *); /*proto*/
/* #### Code section: typeinfo ### */
/* #### Code section: before_global_var ### */
#define __Pyx_MODULE_NAME "cuda.bindings.driver"
extern int __pyx_module_is_main_cuda__bindings__driver;
int __pyx_module_is_main_cuda__bindings__driver = 0;

/* Implementation of "cuda.bindings.driver" */
/* #### Code section: global_var ### */
static PyObject *__pyx_builtin_max;
static PyObject *__pyx_builtin_MemoryError;
static PyObject *__pyx_builtin_RuntimeError;
static PyObject *__pyx_builtin_TypeError;
static PyObject *__pyx_builtin_zip;
static PyObject *__pyx_builtin_AssertionError;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_hex;
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_enumerate;
static PyObject *__pyx_builtin_IndexError;
static PyObject *__pyx_builtin_OverflowError;
/* #### Code section: string_decls ### */
static const char __pyx_k_[] = ">";
static const char __pyx_k_1[] = "\2301";
static const char __pyx_k_A[] = "\240A";
static const char __pyx_k_N[] = "N";
static const char __pyx_k_Q[] = "\230Q";
static const char __pyx_k_a[] = "\230a";
static const char __pyx_k_f[] = "f";
static const char __pyx_k_k[] = "k";
static const char __pyx_k_p[] = "p";
static const char __pyx_k_q[] = "\240q";
static const char __pyx_k_t[] = "t";
static const char __pyx_k_v[] = "v";
static const char __pyx_k_x[] = "x";
static const char __pyx_k_y[] = "y : ";
static const char __pyx_k_z[] = "z : ";
static const char __pyx_k__2[] = "\n";
static const char __pyx_k__3[] = "";
static const char __pyx_k__4[] = "    ";
static const char __pyx_k__5[] = " ";
static const char __pyx_k__6[] = " < ";
static const char __pyx_k__7[] = ".";
static const char __pyx_k__8[] = "\n\n    ";
static const char __pyx_k__9[] = "?";
static const char __pyx_k_am[] = "am";
static const char __pyx_k_fd[] = "fd : ";
static const char __pyx_k_fm[] = "fm";
static const char __pyx_k_fn[] = "fn : ";
static const char __pyx_k_gc[] = "gc";
static const char __pyx_k_id[] = "id : ";
static const char __pyx_k_op[] = "op :\n";
static const char __pyx_k_pf[] = "pf";
static const char __pyx_k_pi[] = "pi";
static const char __pyx_k_pp[] = "pp";
static const char __pyx_k_sm[] = "sm :\n";
static const char __pyx_k_to[] = "to";
static const char __pyx_k_uc[] = "uc";
static const char __pyx_k_ui[] = "ui";
static const char __pyx_k_us[] = "us";
static const char __pyx_k_1_2[] = "\2401";
static const char __pyx_k_1_3[] = "\2501";
static const char __pyx_k_1_4[] = "\2601";
static const char __pyx_k_A_2[] = "\230A";
static const char __pyx_k_A_3[] = "\250A";
static const char __pyx_k_Any[] = "Any";
static const char __pyx_k_Q_2[] = "\240Q";
static const char __pyx_k_Q_3[] = "\250Q";
static const char __pyx_k_Q_4[] = "\200\001\330\004\n\210+\220Q";
static const char __pyx_k__10[] = "\240\021";
static const char __pyx_k__11[] = "\240\001";
static const char __pyx_k__12[] = "\240!";
static const char __pyx_k__13[] = "\250\001";
static const char __pyx_k__14[] = "\250!";
static const char __pyx_k__15[] = "\250\021";
static const char __pyx_k__16[] = "\230\001";
static const char __pyx_k__17[] = "\260\001";
static const char __pyx_k__18[] = "\260\021";
static const char __pyx_k__19[] = "\230!";
static const char __pyx_k__20[] = "\230\021";
static const char __pyx_k_a_2[] = "\240a";
static const char __pyx_k_a_3[] = "\250a";
static const char __pyx_k_ctx[] = "ctx : ";
static const char __pyx_k_cyf[] = "cyf";
static const char __pyx_k_cyp[] = "cyp";
static const char __pyx_k_dev[] = "dev";
static const char __pyx_k_dim[] = "dim";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_dst[] = "dst : ";
static const char __pyx_k_err[] = "err";
static const char __pyx_k_fmt[] = "fmt";
static const char __pyx_k_hex[] = "hex";
static const char __pyx_k_idx[] = "idx";
static const char __pyx_k_int[] = "__int__";
static const char __pyx_k_key[] = "key : ";
static const char __pyx_k_lib[] = "lib";
static const char __pyx_k_lst[] = "lst";
static const char __pyx_k_map[] = "map";
static const char __pyx_k_max[] = "max";
static const char __pyx_k_mod[] = "mod";
static const char __pyx_k_obj[] = "obj";
static const char __pyx_k_pad[] = "pad : ";
static const char __pyx_k_pam[] = "pam";
static const char __pyx_k_pfm[] = "pfm";
static const char __pyx_k_pfn[] = "pfn";
static const char __pyx_k_pid[] = "pid";
static const char __pyx_k_pop[] = "pop";
static const char __pyx_k_ptr[] = "ptr";
static const char __pyx_k_q_2[] = "\260q";
static const char __pyx_k_q_3[] = "\230q";
static const char __pyx_k_q_4[] = "\220q";
static const char __pyx_k_q_5[] = "\250q";
static const char __pyx_k_res[] = "res :\n";
static const char __pyx_k_src[] = "src :\n";
static const char __pyx_k_tid[] = "tid";
static const char __pyx_k_val[] = "val : ";
static const char __pyx_k_x_2[] = "x : ";
static const char __pyx_k_x_3[] = "_x";
static const char __pyx_k_y_2[] = "y";
static const char __pyx_k_z_2[] = "z";
static const char __pyx_k_zip[] = "zip";
static const char __pyx_k_A_t1[] = "\200A\330\010\017\210t\2201";
static const char __pyx_k_Enum[] = "_Enum";
static const char __pyx_k_addr[] = "addr";
static const char __pyx_k_algo[] = "algo : ";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_attr[] = "attr";
static const char __pyx_k_bias[] = "bias";
static const char __pyx_k_code[] = "code";
static const char __pyx_k_conn[] = "conn";
static const char __pyx_k_cptr[] = "cptr";
static const char __pyx_k_cuda[] = "cuda";
static const char __pyx_k_cyam[] = "cyam";
static const char __pyx_k_cyfm[] = "cyfm";
static const char __pyx_k_cyfn[] = "cyfn";
static const char __pyx_k_cyto[] = "cyto";
static const char __pyx_k_data[] = "data : ";
static const char __pyx_k_desc[] = "desc";
static const char __pyx_k_dptr[] = "dptr : ";
static const char __pyx_k_dstY[] = "dstY : ";
static const char __pyx_k_dstZ[] = "dstZ : ";
static const char __pyx_k_dsts[] = "dsts";
static const char __pyx_k_enum[] = "enum";
static const char __pyx_k_fd_2[] = "fd";
static const char __pyx_k_fn_2[] = "fn";
static const char __pyx_k_fptr[] = "fptr";
static const char __pyx_k_free[] = "free :\n";
static const char __pyx_k_from[] = "from_";
static const char __pyx_k_func[] = "func : ";
static const char __pyx_k_hCtx[] = "hCtx";
static const char __pyx_k_hEnd[] = "hEnd";
static const char __pyx_k_hmod[] = "hmod";
static const char __pyx_k_host[] = "host :\n";
static const char __pyx_k_id_2[] = "id";
static const char __pyx_k_info[] = "info :\n";
static const char __pyx_k_kern[] = "kern : ";
static const char __pyx_k_luid[] = "luid";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_mode[] = "mode";
static const char __pyx_k_name[] = "name";
static const char __pyx_k_next[] = "next";
static const char __pyx_k_op_2[] = "op";
static const char __pyx_k_pCtx[] = "pCtx";
static const char __pyx_k_pLib[] = "pLib";
static const char __pyx_k_pMod[] = "pMod";
static const char __pyx_k_pStr[] = "pStr";
static const char __pyx_k_path[] = "path";
static const char __pyx_k_pctx[] = "pctx";
static const char __pyx_k_pdev[] = "pdev";
static const char __pyx_k_pdst[] = "pdst";
static const char __pyx_k_plib[] = "plib";
static const char __pyx_k_pmod[] = "pmod";
static const char __pyx_k_pool[] = "pool";
static const char __pyx_k_pptr[] = "pptr";
static const char __pyx_k_prop[] = "prop";
static const char __pyx_k_psrc[] = "psrc";
static const char __pyx_k_pyto[] = "pyto";
static const char __pyx_k_self[] = "self";
static const char __pyx_k_send[] = "send";
static const char __pyx_k_size[] = "size : ";
static const char __pyx_k_sm_2[] = "sm";
static const char __pyx_k_spec[] = "__spec__";
static const char __pyx_k_srcY[] = "srcY : ";
static const char __pyx_k_srcZ[] = "srcZ : ";
static const char __pyx_k_srcs[] = "srcs";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_type[] = "type : ";
static const char __pyx_k_uuid[] = "uuid";
static const char __pyx_k_2_N_1[] = "\200\001\360 \000\n\013\330\010\026\320\0262\260!\330\004\014\210N\230!\2301";
static const char __pyx_k_A_z_Q[] = "\200A\330\010\017\210z\230\024\230Q";
static const char __pyx_k_Depth[] = "Depth : ";
static const char __pyx_k_Flags[] = "Flags : ";
static const char __pyx_k_Pitch[] = "Pitch";
static const char __pyx_k_Width[] = "Width : ";
static const char __pyx_k_a_N_1[] = "\200\001\360*\000\n\013\330\010\026\320\026&\240a\330\004\014\210N\230!\2301";
static const char __pyx_k_alias[] = "alias : ";
static const char __pyx_k_alloc[] = "alloc :\n";
static const char __pyx_k_array[] = "array :\n";
static const char __pyx_k_attrs[] = "attrs : ";
static const char __pyx_k_bytes[] = "bytes : ";
static const char __pyx_k_c_int[] = "c_int";
static const char __pyx_k_close[] = "close";
static const char __pyx_k_count[] = "count : ";
static const char __pyx_k_ctxId[] = "ctxId";
static const char __pyx_k_ctx_2[] = "ctx";
static const char __pyx_k_cyctx[] = "cyctx";
static const char __pyx_k_cydev[] = "cydev";
static const char __pyx_k_cydst[] = "cydst";
static const char __pyx_k_cyfmt[] = "cyfmt";
static const char __pyx_k_cylib[] = "cylib";
static const char __pyx_k_cymap[] = "cymap";
static const char __pyx_k_cymod[] = "cymod";
static const char __pyx_k_cyptr[] = "cyptr";
static const char __pyx_k_cysrc[] = "cysrc";
static const char __pyx_k_depth[] = "depth : ";
static const char __pyx_k_dst_2[] = "dst";
static const char __pyx_k_dst_3[] = "dst :\n";
static const char __pyx_k_error[] = "error";
static const char __pyx_k_event[] = "event : ";
static const char __pyx_k_extra[] = "extra : ";
static const char __pyx_k_fence[] = "fence : ";
static const char __pyx_k_flags[] = "flags : ";
static const char __pyx_k_fname[] = "fname";
static const char __pyx_k_frame[] = "frame :\n";
static const char __pyx_k_graph[] = "graph : ";
static const char __pyx_k_hNode[] = "hNode";
static const char __pyx_k_hfunc[] = "hfunc";
static const char __pyx_k_image[] = "image";
static const char __pyx_k_index[] = "index";
static const char __pyx_k_input[] = "input_";
static const char __pyx_k_items[] = "items";
static const char __pyx_k_key_2[] = "key";
static const char __pyx_k_layer[] = "layer : ";
static const char __pyx_k_level[] = "level : ";
static const char __pyx_k_limit[] = "limit";
static const char __pyx_k_major[] = "major";
static const char __pyx_k_memOp[] = "memOp :\n";
static const char __pyx_k_minor[] = "minor";
static const char __pyx_k_pCopy[] = "pCopy";
static const char __pyx_k_pFunc[] = "pFunc";
static const char __pyx_k_pSize[] = "pSize";
static const char __pyx_k_pad_2[] = "pad";
static const char __pyx_k_paddr[] = "paddr";
static const char __pyx_k_param[] = "param :\n";
static const char __pyx_k_pbase[] = "pbase";
static const char __pyx_k_pbias[] = "pbias";
static const char __pyx_k_pconn[] = "pconn";
static const char __pyx_k_pdesc[] = "pdesc";
static const char __pyx_k_pdptr[] = "pdptr";
static const char __pyx_k_pfunc[] = "pfunc";
static const char __pyx_k_phCtx[] = "phCtx";
static const char __pyx_k_phEnd[] = "phEnd";
static const char __pyx_k_phmod[] = "phmod";
static const char __pyx_k_pitch[] = "pitch : ";
static const char __pyx_k_ppool[] = "ppool";
static const char __pyx_k_psize[] = "psize";
static const char __pyx_k_ptr_2[] = "_ptr";
static const char __pyx_k_ptr_3[] = "ptr : ";
static const char __pyx_k_ptr_4[] = "ptr :\n";
static const char __pyx_k_pyObj[] = "pyObj";
static const char __pyx_k_q_N_1[] = "\200\001\360*\000\n\013\330\010\026\320\026'\240q\330\004\014\210N\230!\2301";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_res_2[] = "res";
static const char __pyx_k_scope[] = "scope";
static const char __pyx_k_sizes[] = "sizes";
static const char __pyx_k_src_2[] = "src";
static const char __pyx_k_src_3[] = "src : ";
static const char __pyx_k_state[] = "state";
static const char __pyx_k_throw[] = "throw";
static const char __pyx_k_total[] = "total";
static const char __pyx_k_usage[] = "usage : ";
static const char __pyx_k_val_2[] = "val";
static const char __pyx_k_value[] = "value";
static const char __pyx_k_width[] = "width : ";
static const char __pyx_k_win32[] = "win32 :\n";
static const char __pyx_k_A_z_iq[] = "\200A\330\010\017\210z\230\021\230$\230i\240q\250\002\250!";
static const char __pyx_k_CUuuid[] = "CUuuid";
static const char __pyx_k_EGLint[] = "<EGLint ";
static const char __pyx_k_Enum_2[] = "Enum";
static const char __pyx_k_Format[] = "Format : ";
static const char __pyx_k_GLenum[] = "<GLenum ";
static const char __pyx_k_GLuint[] = "<GLuint ";
static const char __pyx_k_Height[] = "Height : ";
static const char __pyx_k_Limits[] = "\n    Limits\n    ";
static const char __pyx_k_active[] = "active";
static const char __pyx_k_advice[] = "advice";
static const char __pyx_k_algo_2[] = "algo";
static const char __pyx_k_attrib[] = "attrib";
static const char __pyx_k_boxDim[] = "boxDim";
static const char __pyx_k_buffer[] = "buffer";
static const char __pyx_k_c_bool[] = "c_bool";
static const char __pyx_k_c_byte[] = "c_byte";
static const char __pyx_k_c_char[] = "c_char";
static const char __pyx_k_c_long[] = "c_long";
static const char __pyx_k_c_uint[] = "c_uint";
static const char __pyx_k_cbData[] = "cbData";
static const char __pyx_k_config[] = "config";
static const char __pyx_k_ctypes[] = "_ctypes";
static const char __pyx_k_cuInit[] = "cuInit";
static const char __pyx_k_cyaddr[] = "cyaddr";
static const char __pyx_k_cyattr[] = "cyattr";
static const char __pyx_k_cycode[] = "cycode";
static const char __pyx_k_cyconn[] = "cyconn";
static const char __pyx_k_cydata[] = "cydata";
static const char __pyx_k_cydesc[] = "cydesc";
static const char __pyx_k_cydptr[] = "cydptr";
static const char __pyx_k_cydsts[] = "cydsts";
static const char __pyx_k_cyfrom[] = "cyfrom_";
static const char __pyx_k_cyfunc[] = "cyfunc";
static const char __pyx_k_cyhCtx[] = "cyhCtx";
static const char __pyx_k_cyhEnd[] = "cyhEnd";
static const char __pyx_k_cyhmod[] = "cyhmod";
static const char __pyx_k_cymode[] = "cymode";
static const char __pyx_k_cypool[] = "cypool";
static const char __pyx_k_cysrcs[] = "cysrcs";
static const char __pyx_k_data_2[] = "data";
static const char __pyx_k_devPtr[] = "devPtr : ";
static const char __pyx_k_device[] = "device";
static const char __pyx_k_dptr_2[] = "dptr";
static const char __pyx_k_driver[] = "_driver";
static const char __pyx_k_dstLOD[] = "dstLOD : ";
static const char __pyx_k_dstY_2[] = "dstY";
static const char __pyx_k_dstZ_2[] = "dstZ";
static const char __pyx_k_enable[] = "enable";
static const char __pyx_k_extMem[] = "extMem";
static const char __pyx_k_extSem[] = "extSem";
static const char __pyx_k_extent[] = "extent :\n";
static const char __pyx_k_format[] = "format";
static const char __pyx_k_free_2[] = "free";
static const char __pyx_k_func_2[] = "func";
static const char __pyx_k_func_3[] = "__func__";
static const char __pyx_k_getPtr[] = "getPtr";
static const char __pyx_k_hArray[] = "hArray : ";
static const char __pyx_k_hEvent[] = "hEvent";
static const char __pyx_k_hGraph[] = "hGraph";
static const char __pyx_k_hStart[] = "hStart";
static const char __pyx_k_handle[] = "handle : ";
static const char __pyx_k_height[] = "height : ";
static const char __pyx_k_host_2[] = "host";
static const char __pyx_k_id_out[] = "id_out";
static const char __pyx_k_info_2[] = "info";
static const char __pyx_k_kern_2[] = "kern";
static const char __pyx_k_kernel[] = "kernel :\n";
static const char __pyx_k_lambda[] = "<lambda>";
static const char __pyx_k_length[] = "length";
static const char __pyx_k_linear[] = "linear :\n";
static const char __pyx_k_memcpy[] = "memcpy :\n";
static const char __pyx_k_memptr[] = "memptr";
static const char __pyx_k_memset[] = "memset :\n";
static const char __pyx_k_mipmap[] = "mipmap :\n";
static const char __pyx_k_module[] = "__module__";
static const char __pyx_k_name_2[] = "name : ";
static const char __pyx_k_name_3[] = "__name__";
static const char __pyx_k_numOps[] = "numOps";
static const char __pyx_k_oQ_N_1[] = "\200\001\360*\000\n\013\330\010\026\220o\240Q\330\004\014\210N\230!\2301";
static const char __pyx_k_object[] = "object";
static const char __pyx_k_offset[] = "offset : ";
static const char __pyx_k_opList[] = "opList";
static const char __pyx_k_opaque[] = "opaque : ";
static const char __pyx_k_option[] = "option";
static const char __pyx_k_pArray[] = "pArray : ";
static const char __pyx_k_pFlags[] = "pFlags";
static const char __pyx_k_pPitch[] = "pPitch : ";
static const char __pyx_k_params[] = "params :\n";
static const char __pyx_k_parray[] = "parray";
static const char __pyx_k_pevent[] = "pevent";
static const char __pyx_k_pflags[] = "pflags";
static const char __pyx_k_pgraph[] = "pgraph";
static const char __pyx_k_phDesc[] = "phDesc";
static const char __pyx_k_phNode[] = "phNode";
static const char __pyx_k_phfunc[] = "phfunc";
static const char __pyx_k_pimage[] = "pimage";
static const char __pyx_k_pstate[] = "pstate";
static const char __pyx_k_pvalue[] = "pvalue";
static const char __pyx_k_pwidth[] = "pwidth";
static const char __pyx_k_pyfrom[] = "pyfrom_";
static const char __pyx_k_pylist[] = "pylist";
static const char __pyx_k_pyname[] = "pyname";
static const char __pyx_k_reduce[] = "__reduce__";
static const char __pyx_k_remote[] = "remote : ";
static const char __pyx_k_result[] = "result : ";
static const char __pyx_k_size_2[] = "size";
static const char __pyx_k_sizeof[] = "sizeof";
static const char __pyx_k_srcLOD[] = "srcLOD : ";
static const char __pyx_k_srcY_2[] = "srcY";
static const char __pyx_k_srcZ_2[] = "srcZ";
static const char __pyx_k_stream[] = "stream";
static const char __pyx_k_symbol[] = "symbol";
static const char __pyx_k_target[] = "target";
static const char __pyx_k_type_2[] = "type";
static const char __pyx_k_typing[] = "typing";
static const char __pyx_k_CUarray[] = "<CUarray ";
static const char __pyx_k_CUevent[] = "<CUevent ";
static const char __pyx_k_CUgraph[] = "<CUgraph ";
static const char __pyx_k_CUlimit[] = "CUlimit";
static const char __pyx_k_Depth_2[] = "Depth";
static const char __pyx_k_Flags_2[] = "Flags";
static const char __pyx_k_IntEnum[] = "IntEnum";
static const char __pyx_k_Width_2[] = "Width";
static const char __pyx_k_address[] = "address : ";
static const char __pyx_k_alias_2[] = "alias";
static const char __pyx_k_alloc_2[] = "alloc";
static const char __pyx_k_array_2[] = "array";
static const char __pyx_k_array_3[] = "array : ";
static const char __pyx_k_attrs_2[] = "attrs";
static const char __pyx_k_b_1_N_1[] = "\200\001\330*+\360b\001\000\005+\250&\260\001\330\t\n\330\010\026\320\026*\250!\2501\330\004\014\210N\230!\2301";
static const char __pyx_k_bytes_2[] = "bytes";
static const char __pyx_k_c_float[] = "c_float";
static const char __pyx_k_c_short[] = "c_short";
static const char __pyx_k_c_ubyte[] = "c_ubyte";
static const char __pyx_k_c_ulong[] = "c_ulong";
static const char __pyx_k_c_wchar[] = "c_wchar";
static const char __pyx_k_copyCtx[] = "copyCtx : ";
static const char __pyx_k_count_2[] = "count";
static const char __pyx_k_cyarray[] = "cyarray";
static const char __pyx_k_cyattrs[] = "cyattrs";
static const char __pyx_k_cyerror[] = "cyerror";
static const char __pyx_k_cyevent[] = "cyevent";
static const char __pyx_k_cyflags[] = "cyflags";
static const char __pyx_k_cygraph[] = "cygraph";
static const char __pyx_k_cyhNode[] = "cyhNode";
static const char __pyx_k_cyhfunc[] = "cyhfunc";
static const char __pyx_k_cyimage[] = "cyimage";
static const char __pyx_k_cylimit[] = "cylimit";
static const char __pyx_k_cynodes[] = "cynodes";
static const char __pyx_k_cyp_ptr[] = "cyp_ptr";
static const char __pyx_k_cyscope[] = "cyscope";
static const char __pyx_k_cysizes[] = "cysizes";
static const char __pyx_k_cystate[] = "cystate";
static const char __pyx_k_cyvalue[] = "cyvalue";
static const char __pyx_k_cywidth[] = "cywidth";
static const char __pyx_k_default[] = "default_ : ";
static const char __pyx_k_depth_2[] = "depth";
static const char __pyx_k_destroy[] = "destroy";
static const char __pyx_k_devNode[] = "devNode : ";
static const char __pyx_k_disable[] = "disable";
static const char __pyx_k_dstHost[] = "dstHost : ";
static const char __pyx_k_eglSync[] = "eglSync";
static const char __pyx_k_event_2[] = "event";
static const char __pyx_k_extra_2[] = "extra";
static const char __pyx_k_failIdx[] = "failIdx";
static const char __pyx_k_fence_2[] = "fence";
static const char __pyx_k_fence_3[] = "fence :\n";
static const char __pyx_k_flags_2[] = "flags";
static const char __pyx_k_frame_2[] = "frame";
static const char __pyx_k_gQa_N_1[] = "\200\001\360\034\000\n\013\330\010\026\220g\230Q\230a\330\004\014\210N\230!\2301";
static const char __pyx_k_genexpr[] = "genexpr";
static const char __pyx_k_graph_2[] = "graph";
static const char __pyx_k_graph_3[] = "graph :\n";
static const char __pyx_k_hStream[] = "hStream : ";
static const char __pyx_k_hTexRef[] = "hTexRef";
static const char __pyx_k_hitProp[] = "hitProp : ";
static const char __pyx_k_layer_2[] = "layer";
static const char __pyx_k_level_2[] = "level";
static const char __pyx_k_library[] = "library";
static const char __pyx_k_locHint[] = "locHint :\n";
static const char __pyx_k_maxSize[] = "maxSize : ";
static const char __pyx_k_memOp_2[] = "memOp";
static const char __pyx_k_memPool[] = "memPool";
static const char __pyx_k_members[] = "__members__";
static const char __pyx_k_miptail[] = "miptail :\n";
static const char __pyx_k_nAQ_N_1[] = "\200\001\360*\000\n\013\330\010\026\220n\240A\240Q\330\004\014\210N\230!\2301";
static const char __pyx_k_objType[] = "objType";
static const char __pyx_k_offsetX[] = "offsetX : ";
static const char __pyx_k_offsetY[] = "offsetY : ";
static const char __pyx_k_offsetZ[] = "offsetZ : ";
static const char __pyx_k_oobFill[] = "oobFill";
static const char __pyx_k_options[] = "options";
static const char __pyx_k_ordinal[] = "ordinal";
static const char __pyx_k_pConfig[] = "pConfig";
static const char __pyx_k_pDevPtr[] = "pDevPtr";
static const char __pyx_k_pDevice[] = "pDevice";
static const char __pyx_k_pFormat[] = "pFormat";
static const char __pyx_k_pHandle[] = "pHandle";
static const char __pyx_k_pKernel[] = "pKernel";
static const char __pyx_k_pStream[] = "pStream";
static const char __pyx_k_pTexRef[] = "pTexRef";
static const char __pyx_k_padding[] = "padding : ";
static const char __pyx_k_param_2[] = "param";
static const char __pyx_k_pbuffer[] = "pbuffer";
static const char __pyx_k_pconfig[] = "pconfig";
static const char __pyx_k_pdevPtr[] = "pdevPtr";
static const char __pyx_k_pdevice[] = "pdevice";
static const char __pyx_k_peerDev[] = "peerDev";
static const char __pyx_k_pextMem[] = "pextMem";
static const char __pyx_k_pextSem[] = "pextSem";
static const char __pyx_k_pformat[] = "pformat";
static const char __pyx_k_phArray[] = "phArray";
static const char __pyx_k_phEvent[] = "phEvent";
static const char __pyx_k_phGraph[] = "phGraph";
static const char __pyx_k_phStart[] = "phStart";
static const char __pyx_k_phandle[] = "phandle";
static const char __pyx_k_pheight[] = "pheight";
static const char __pyx_k_pitch2D[] = "pitch2D :\n";
static const char __pyx_k_pitch_2[] = "pitch";
static const char __pyx_k_pkernel[] = "pkernel";
static const char __pyx_k_pmemptr[] = "pmemptr";
static const char __pyx_k_pmipmap[] = "pmipmap";
static const char __pyx_k_pobject[] = "pobject";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_pstream[] = "pstream";
static const char __pyx_k_ptarget[] = "ptarget";
static const char __pyx_k_ptr_out[] = "ptr_out";
static const char __pyx_k_pynodes[] = "pynodes";
static const char __pyx_k_resType[] = "resType : ";
static const char __pyx_k_sizeOut[] = "sizeOut";
static const char __pyx_k_smCount[] = "smCount :\n";
static const char __pyx_k_srcHost[] = "srcHost : ";
static const char __pyx_k_swizzle[] = "swizzle";
static const char __pyx_k_texunit[] = "texunit";
static const char __pyx_k_timeout[] = "timeout";
static const char __pyx_k_to_port[] = "to_port : ";
static const char __pyx_k_usage_2[] = "usage";
static const char __pyx_k_value64[] = "value64 : ";
static const char __pyx_k_value_2[] = "value : ";
static const char __pyx_k_value_3[] = "value :\n";
static const char __pyx_k_version[] = "version";
static const char __pyx_k_width_2[] = "width";
static const char __pyx_k_win32_2[] = "win32";
static const char __pyx_k_7_WTsstt[] = "\320\004;\2707\300+\310W\320Ts\320st\320t}\320}~\320~\177";
static const char __pyx_k_A_z_iq_2[] = "\200A\330\010\017\210z\230\021\230$\230i\240q\250\002\250'\260\021";
static const char __pyx_k_A_z_iq_Q[] = "\200A\330\010\017\210z\230\021\230$\230i\240q\250\002\250#\250Q";
static const char __pyx_k_A_z_iq_a[] = "\200A\330\010\017\210z\230\021\230$\230i\240q\250\002\250$\250a";
static const char __pyx_k_A_z_iq_q[] = "\200A\330\010\017\210z\230\021\230$\230i\240q\250\002\250%\250q";
static const char __pyx_k_CUdevice[] = "<CUdevice ";
static const char __pyx_k_CUhostFn[] = "<CUhostFn ";
static const char __pyx_k_CUkernel[] = "<CUkernel ";
static const char __pyx_k_CUmodule[] = "<CUmodule ";
static const char __pyx_k_CUresult[] = "CUresult";
static const char __pyx_k_CUstream[] = "<CUstream ";
static const char __pyx_k_CUtexref[] = "<CUtexref ";
static const char __pyx_k_EGLint_2[] = "EGLint";
static const char __pyx_k_F_aq_N_1[] = "\200\001\330./\360\\\001\000\005-\250F\260!\330\t\n\330\010\026\320\026.\250a\250q\330\004\014\210N\230!\2301";
static const char __pyx_k_Format_2[] = "Format";
static const char __pyx_k_GLenum_2[] = "GLenum";
static const char __pyx_k_GLuint_2[] = "GLuint";
static const char __pyx_k_Height_2[] = "Height";
static const char __pyx_k_Optional[] = "Optional";
static const char __pyx_k_WKw_RRSS[] = "\320\004%\240W\250K\260w\320>R\320RS\320S\\\320\\]\320]^";
static const char __pyx_k_add_note[] = "add_note";
static const char __pyx_k_base_ptr[] = "base_ptr : ";
static const char __pyx_k_bindings[] = "bindings";
static const char __pyx_k_bytesize[] = "bytesize : ";
static const char __pyx_k_c_double[] = "c_double";
static const char __pyx_k_c_size_t[] = "c_size_t";
static const char __pyx_k_c_ushort[] = "c_ushort";
static const char __pyx_k_c_void_p[] = "c_void_p";
static const char __pyx_k_callback[] = "callback";
static const char __pyx_k_ctypes_2[] = "ctypes";
static const char __pyx_k_cuFormat[] = "cuFormat : ";
static const char __pyx_k_cuLaunch[] = "cuLaunch";
static const char __pyx_k_cuMemMap[] = "cuMemMap";
static const char __pyx_k_cuMemcpy[] = "cuMemcpy";
static const char __pyx_k_cubinOut[] = "cubinOut";
static const char __pyx_k_cyadvice[] = "cyadvice";
static const char __pyx_k_cyattrib[] = "cyattrib";
static const char __pyx_k_cyboxDim[] = "cyboxDim";
static const char __pyx_k_cybuffer[] = "cybuffer";
static const char __pyx_k_cyconfig[] = "cyconfig";
static const char __pyx_k_cydevPtr[] = "cydevPtr";
static const char __pyx_k_cydevice[] = "cydevice";
static const char __pyx_k_cyextMem[] = "cyextMem";
static const char __pyx_k_cyextSem[] = "cyextSem";
static const char __pyx_k_cyhArray[] = "cyhArray";
static const char __pyx_k_cyhEvent[] = "cyhEvent";
static const char __pyx_k_cyhGraph[] = "cyhGraph";
static const char __pyx_k_cyhStart[] = "cyhStart";
static const char __pyx_k_cyhandle[] = "cyhandle";
static const char __pyx_k_cyheight[] = "cyheight";
static const char __pyx_k_cykernel[] = "cykernel";
static const char __pyx_k_cymemptr[] = "cymemptr";
static const char __pyx_k_cymipmap[] = "cymipmap";
static const char __pyx_k_cyobject[] = "cyobject";
static const char __pyx_k_cyopList[] = "cyopList";
static const char __pyx_k_cyoption[] = "cyoption";
static const char __pyx_k_cyresult[] = "cyresult";
static const char __pyx_k_cystream[] = "cystream";
static const char __pyx_k_cytarget[] = "cytarget";
static const char __pyx_k_dataSize[] = "dataSize";
static const char __pyx_k_devPtr_2[] = "devPtr";
static const char __pyx_k_dptr_out[] = "dptr_out";
static const char __pyx_k_driver_2[] = "driver";
static const char __pyx_k_dstArray[] = "dstArray : ";
static const char __pyx_k_dstLOD_2[] = "dstLOD";
static const char __pyx_k_dstPitch[] = "dstPitch : ";
static const char __pyx_k_edgeData[] = "edgeData";
static const char __pyx_k_eglFrame[] = "eglFrame";
static const char __pyx_k_eglframe[] = "eglframe";
static const char __pyx_k_extent_2[] = "extent";
static const char __pyx_k_fatCubin[] = "fatCubin";
static const char __pyx_k_fileName[] = "fileName";
static const char __pyx_k_format_2[] = "format : ";
static const char __pyx_k_function[] = "function : ";
static const char __pyx_k_getstate[] = "__getstate__";
static const char __pyx_k_greenCtx[] = "greenCtx";
static const char __pyx_k_gridDimX[] = "gridDimX : ";
static const char __pyx_k_gridDimY[] = "gridDimY : ";
static const char __pyx_k_gridDimZ[] = "gridDimZ : ";
static const char __pyx_k_hArray_2[] = "hArray";
static const char __pyx_k_hSurfRef[] = "hSurfRef";
static const char __pyx_k_handle_2[] = "handle";
static const char __pyx_k_handle_3[] = "handle :\n";
static const char __pyx_k_height_2[] = "height";
static const char __pyx_k_hitRatio[] = "hitRatio : ";
static const char __pyx_k_iterator[] = "iterator";
static const char __pyx_k_kernel_2[] = "kernel";
static const char __pyx_k_linear_2[] = "linear";
static const char __pyx_k_location[] = "location :\n";
static const char __pyx_k_maxAniso[] = "maxAniso";
static const char __pyx_k_mcHandle[] = "mcHandle";
static const char __pyx_k_mcOffset[] = "mcOffset";
static const char __pyx_k_memPitch[] = "memPitch : ";
static const char __pyx_k_memcpy_2[] = "memcpy";
static const char __pyx_k_memset_2[] = "memset";
static const char __pyx_k_minCount[] = "minCount";
static const char __pyx_k_mipLevel[] = "mipLevel";
static const char __pyx_k_mipmap_2[] = "mipmap";
static const char __pyx_k_mipmap_3[] = "mipmap : ";
static const char __pyx_k_missProp[] = "missProp : ";
static const char __pyx_k_module_2[] = "module";
static const char __pyx_k_nbGroups[] = "nbGroups";
static const char __pyx_k_numAttrs[] = "numAttrs : ";
static const char __pyx_k_numEdges[] = "numEdges";
static const char __pyx_k_numNodes[] = "numNodes";
static const char __pyx_k_numbytes[] = "numbytes";
static const char __pyx_k_offset_2[] = "offset";
static const char __pyx_k_offset_3[] = "offset :\n";
static const char __pyx_k_opaque_2[] = "opaque";
static const char __pyx_k_osHandle[] = "osHandle";
static const char __pyx_k_oversize[] = "_oversize : ";
static const char __pyx_k_p2pToken[] = "p2pToken : ";
static const char __pyx_k_pArray_2[] = "pArray";
static const char __pyx_k_pContext[] = "pContext";
static const char __pyx_k_pPitch_2[] = "pPitch";
static const char __pyx_k_pResDesc[] = "pResDesc";
static const char __pyx_k_pSurfRef[] = "pSurfRef";
static const char __pyx_k_pTexDesc[] = "pTexDesc";
static const char __pyx_k_params_2[] = "params";
static const char __pyx_k_pciBusId[] = "pciBusId";
static const char __pyx_k_pdestroy[] = "pdestroy";
static const char __pyx_k_peglSync[] = "peglSync";
static const char __pyx_k_phStream[] = "phStream";
static const char __pyx_k_phTexRef[] = "phTexRef";
static const char __pyx_k_planeIdx[] = "planeIdx";
static const char __pyx_k_plibrary[] = "plibrary";
static const char __pyx_k_pmemPool[] = "pmemPool";
static const char __pyx_k_pool_out[] = "pool_out";
static const char __pyx_k_ppStream[] = "ppStream";
static const char __pyx_k_ppeerDev[] = "ppeerDev";
static const char __pyx_k_priority[] = "priority : ";
static const char __pyx_k_pyresult[] = "pyresult";
static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_remote_2[] = "remote";
static const char __pyx_k_reserved[] = "reserved : ";
static const char __pyx_k_resource[] = "resource :\n";
static const char __pyx_k_result_2[] = "result";
static const char __pyx_k_set_name[] = "__set_name__";
static const char __pyx_k_setstate[] = "__setstate__";
static const char __pyx_k_srcArray[] = "srcArray : ";
static const char __pyx_k_srcLOD_2[] = "srcLOD";
static const char __pyx_k_srcPitch[] = "srcPitch : ";
static const char __pyx_k_stateOut[] = "stateOut";
static const char __pyx_k_streamId[] = "streamId";
static const char __pyx_k_typename[] = "typename";
static const char __pyx_k_useFlags[] = "useFlags";
static const char __pyx_k_userData[] = "userData : ";
static const char __pyx_k_ByteCount[] = "ByteCount";
static const char __pyx_k_CUarray_2[] = "CUarray";
static const char __pyx_k_CUcontext[] = "CUcontext";
static const char __pyx_k_CUdevprop[] = "CUdevprop";
static const char __pyx_k_CUevent_2[] = "CUevent";
static const char __pyx_k_CUgraph_2[] = "CUgraph";
static const char __pyx_k_CUlibrary[] = "<CUlibrary ";
static const char __pyx_k_CUsurfref[] = "<CUsurfref ";
static const char __pyx_k_CUuuid_st[] = "CUuuid_st";
static const char __pyx_k_SIMDWidth[] = "SIMDWidth : ";
static const char __pyx_k_Structure[] = "Structure";
static const char __pyx_k_TypeError[] = "TypeError";
static const char __pyx_k_U_eellmmn[] = "\320U^\320^e\320el\320lm\320mn";
static const char __pyx_k_VdpDevice[] = "<VdpDevice ";
static const char __pyx_k_address_2[] = "address";
static const char __pyx_k_addressof[] = "addressof";
static const char __pyx_k_alignment[] = "alignment : ";
static const char __pyx_k_allocType[] = "allocType : ";
static const char __pyx_k_arrayDesc[] = "arrayDesc :\n";
static const char __pyx_k_attribute[] = "attribute";
static const char __pyx_k_attrsIdxs[] = "attrsIdxs";
static const char __pyx_k_blockDimX[] = "blockDimX : ";
static const char __pyx_k_blockDimY[] = "blockDimY : ";
static const char __pyx_k_blockDimZ[] = "blockDimZ : ";
static const char __pyx_k_blockSize[] = "blockSize";
static const char __pyx_k_cigParams[] = "cigParams : ";
static const char __pyx_k_clockRate[] = "clockRate : ";
static const char __pyx_k_copyCtx_2[] = "copyCtx";
static const char __pyx_k_cuMemFree[] = "cuMemFree";
static const char __pyx_k_cydestroy[] = "cydestroy";
static const char __pyx_k_cydstHost[] = "cydstHost";
static const char __pyx_k_cyeglSync[] = "cyeglSync";
static const char __pyx_k_cyhStream[] = "cyhStream";
static const char __pyx_k_cyhTexRef[] = "cyhTexRef";
static const char __pyx_k_cykernels[] = "cykernels";
static const char __pyx_k_cylibrary[] = "cylibrary";
static const char __pyx_k_cymemPool[] = "cymemPool";
static const char __pyx_k_cyoobFill[] = "cyoobFill";
static const char __pyx_k_cyoptions[] = "cyoptions";
static const char __pyx_k_cypStream[] = "cypStream";
static const char __pyx_k_cypeerDev[] = "cypeerDev";
static const char __pyx_k_cypformat[] = "cypformat";
static const char __pyx_k_cyptr_ptr[] = "cyptr_ptr";
static const char __pyx_k_cysrcHost[] = "cysrcHost";
static const char __pyx_k_cyswizzle[] = "cyswizzle";
static const char __pyx_k_dataSizes[] = "dataSizes";
static const char __pyx_k_dataTable[] = "dataTable : ";
static const char __pyx_k_data_size[] = "data_size";
static const char __pyx_k_default_2[] = "default_";
static const char __pyx_k_devNode_2[] = "devNode";
static const char __pyx_k_dstDevice[] = "dstDevice : ";
static const char __pyx_k_dstHeight[] = "dstHeight : ";
static const char __pyx_k_dstHost_2[] = "dstHost";
static const char __pyx_k_dstOffset[] = "dstOffset";
static const char __pyx_k_enumerate[] = "enumerate";
static const char __pyx_k_errorNode[] = "errorNode : ";
static const char __pyx_k_eventWait[] = "eventWait :\n";
static const char __pyx_k_event_out[] = "event_out";
static const char __pyx_k_frameType[] = "frameType : ";
static const char __pyx_k_from_port[] = "from_port : ";
static const char __pyx_k_globalDim[] = "globalDim";
static const char __pyx_k_graph_out[] = "graph_out";
static const char __pyx_k_hStream_2[] = "hStream";
static const char __pyx_k_hitProp_2[] = "hitProp";
static const char __pyx_k_isEnabled[] = "isEnabled";
static const char __pyx_k_is_getter[] = "is_getter";
static const char __pyx_k_isenabled[] = "isenabled";
static const char __pyx_k_lastLayer[] = "lastLayer : ";
static const char __pyx_k_locHint_2[] = "locHint";
static const char __pyx_k_maxSize_2[] = "maxSize";
static const char __pyx_k_memHandle[] = "memHandle : ";
static const char __pyx_k_memOffset[] = "memOffset";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_miptail_2[] = "miptail";
static const char __pyx_k_numBlocks[] = "numBlocks";
static const char __pyx_k_numLevels[] = "numLevels : ";
static const char __pyx_k_numParams[] = "numParams";
static const char __pyx_k_num_bytes[] = "num_bytes : ";
static const char __pyx_k_nvSciSync[] = "nvSciSync :\n";
static const char __pyx_k_offsetX_2[] = "offsetX";
static const char __pyx_k_offsetY_2[] = "offsetY";
static const char __pyx_k_offsetZ_2[] = "offsetZ";
static const char __pyx_k_operation[] = "operation : ";
static const char __pyx_k_ownership[] = "ownership : ";
static const char __pyx_k_pGreenCtx[] = "pGreenCtx";
static const char __pyx_k_padding_2[] = "padding";
static const char __pyx_k_paramSize[] = "paramSize";
static const char __pyx_k_pcallback[] = "pcallback";
static const char __pyx_k_pdstArray[] = "pdstArray";
static const char __pyx_k_pfunction[] = "pfunction";
static const char __pyx_k_pgreenCtx[] = "pgreenCtx";
static const char __pyx_k_phSurfRef[] = "phSurfRef";
static const char __pyx_k_pitch2D_2[] = "pitch2D";
static const char __pyx_k_pmaxAniso[] = "pmaxAniso";
static const char __pyx_k_pmcHandle[] = "pmcHandle";
static const char __pyx_k_poolProps[] = "poolProps :\n";
static const char __pyx_k_presource[] = "presource";
static const char __pyx_k_psrcArray[] = "psrcArray";
static const char __pyx_k_pykernels[] = "pykernels";
static const char __pyx_k_pyoptions[] = "pyoptions";
static const char __pyx_k_pyx_state[] = "__pyx_state";
static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
static const char __pyx_k_remaining[] = "remaining";
static const char __pyx_k_resType_2[] = "resType";
static const char __pyx_k_reserved0[] = "reserved0 : ";
static const char __pyx_k_reserved1[] = "reserved1 : ";
static const char __pyx_k_reserved2[] = "reserved2 : ";
static const char __pyx_k_resources[] = "resources";
static const char __pyx_k_rowLength[] = "rowLength : ";
static const char __pyx_k_shareData[] = "shareData";
static const char __pyx_k_smCount_2[] = "smCount";
static const char __pyx_k_smCount_3[] = "smCount : ";
static const char __pyx_k_srcDevice[] = "srcDevice : ";
static const char __pyx_k_srcHeight[] = "srcHeight : ";
static const char __pyx_k_srcHost_2[] = "srcHost";
static const char __pyx_k_srcOffset[] = "srcOffset";
static const char __pyx_k_tensorMap[] = "tensorMap";
static const char __pyx_k_texObject[] = "texObject";
static const char __pyx_k_timeoutMs[] = "timeoutMs : ";
static const char __pyx_k_to_port_2[] = "to_port";
static const char __pyx_k_value64_2[] = "value64";
static const char __pyx_k_value_out[] = "value_out";
static const char __pyx_k_vdpDevice[] = "vdpDevice";
static const char __pyx_k_waitValue[] = "waitValue :\n";
static const char __pyx_k_7_WD_eeffg[] = "\320\004+\2507\260+\270W\320D[\320[\\\320\\e\320ef\320fg";
static const char __pyx_k_9_7Rppqqzz[] = "\320\0049\270\027\300\013\3107\320Rp\320pq\320qz\320z{\320{|";
static const char __pyx_k_A_z_iq_a_2[] = "\200A\330\010\017\210z\230\021\230$\230i\240q\250\002\250,\260a";
static const char __pyx_k_ByteOffset[] = "ByteOffset";
static const char __pyx_k_CU_JIT_FMA[] = "CU_JIT_FMA";
static const char __pyx_k_CU_JIT_FTZ[] = "CU_JIT_FTZ";
static const char __pyx_k_CU_JIT_LTO[] = "CU_JIT_LTO";
static const char __pyx_k_CU_OUT_CSV[] = "CU_OUT_CSV";
static const char __pyx_k_CUdevice_2[] = "CUdevice";
static const char __pyx_k_CUeglFrame[] = "CUeglFrame";
static const char __pyx_k_CUextent3D[] = "CUextent3D";
static const char __pyx_k_CUfunction[] = "<CUfunction ";
static const char __pyx_k_CUgreenCtx[] = "<CUgreenCtx ";
static const char __pyx_k_CUhostFn_2[] = "CUhostFn";
static const char __pyx_k_CUkernel_2[] = "CUkernel";
static const char __pyx_k_CUlogLevel[] = "CUlogLevel";
static const char __pyx_k_CUmodule_2[] = "CUmodule";
static const char __pyx_k_CUoffset3D[] = "CUoffset3D";
static const char __pyx_k_CUstream_2[] = "CUstream";
static const char __pyx_k_CUtexref_2[] = "CUtexref";
static const char __pyx_k_EGLSyncKHR[] = "<EGLSyncKHR ";
static const char __pyx_k_IndexError[] = "IndexError";
static const char __pyx_k_MAX_PLANES[] = "MAX_PLANES";
static const char __pyx_k_Qa_Q_A_N_1[] = "\200\001\360@\003\000\005\013\320\n\035\230Q\230a\330\004\031\230\027\240\n\250#\250Q\330\t\n\330\010\026\320\026(\250\001\250\031\260*\270A\330\004\014\210N\230!\2301";
static const char __pyx_k_ValueError[] = "ValueError";
static const char __pyx_k_allocFlags[] = "allocFlags :\n";
static const char __pyx_k_arrayIndex[] = "arrayIndex";
static const char __pyx_k_attributes[] = "attributes";
static const char __pyx_k_base_ptr_2[] = "base_ptr";
static const char __pyx_k_bufferDesc[] = "bufferDesc";
static const char __pyx_k_bytesize_2[] = "bytesize";
static const char __pyx_k_c_longlong[] = "c_longlong";
static const char __pyx_k_childGraph[] = "childGraph";
static const char __pyx_k_clusterDim[] = "clusterDim :\n";
static const char __pyx_k_copyParams[] = "copyParams :\n";
static const char __pyx_k_cuCtxGetId[] = "cuCtxGetId";
static const char __pyx_k_cuFormat_2[] = "cuFormat";
static const char __pyx_k_cuFuncLoad[] = "cuFuncLoad";
static const char __pyx_k_cuMemAlloc[] = "cuMemAlloc";
static const char __pyx_k_cuMemUnmap[] = "cuMemUnmap";
static const char __pyx_k_cuMemcpy2D[] = "cuMemcpy2D";
static const char __pyx_k_cuMemcpy3D[] = "cuMemcpy3D";
static const char __pyx_k_cuMemsetD8[] = "cuMemsetD8";
static const char __pyx_k_cuuint32_t[] = "<cuuint32_t ";
static const char __pyx_k_cuuint64_t[] = "cuuint64_t";
static const char __pyx_k_cyaddr_ptr[] = "cyaddr_ptr";
static const char __pyx_k_cyargs_ptr[] = "cyargs_ptr";
static const char __pyx_k_cycallback[] = "cycallback";
static const char __pyx_k_cycode_ptr[] = "cycode_ptr";
static const char __pyx_k_cydata_ptr[] = "cydata_ptr";
static const char __pyx_k_cydesc_ptr[] = "cydesc_ptr";
static const char __pyx_k_cydstArray[] = "cydstArray";
static const char __pyx_k_cyedgeData[] = "cyedgeData";
static const char __pyx_k_cyfatCubin[] = "cyfatCubin";
static const char __pyx_k_cyfunction[] = "cyfunction";
static const char __pyx_k_cygreenCtx[] = "cygreenCtx";
static const char __pyx_k_cyhSurfRef[] = "cyhSurfRef";
static const char __pyx_k_cyiterator[] = "cyiterator";
static const char __pyx_k_cymcHandle[] = "cymcHandle";
static const char __pyx_k_cynbGroups[] = "cynbGroups";
static const char __pyx_k_cyosHandle[] = "cyosHandle";
static const char __pyx_k_cyprop_ptr[] = "cyprop_ptr";
static const char __pyx_k_cyresource[] = "cyresource";
static const char __pyx_k_cysrcArray[] = "cysrcArray";
static const char __pyx_k_cytypename[] = "cytypename";
static const char __pyx_k_cyuserData[] = "cyuserData";
static const char __pyx_k_deviceList[] = "deviceList";
static const char __pyx_k_dstArray_2[] = "dstArray";
static const char __pyx_k_dstContext[] = "dstContext : ";
static const char __pyx_k_dstLocHint[] = "dstLocHint :\n";
static const char __pyx_k_dstPitch_2[] = "dstPitch";
static const char __pyx_k_errorIndex[] = "errorIndex";
static const char __pyx_k_extMem_out[] = "extMem_out";
static const char __pyx_k_extSemWait[] = "extSemWait :\n";
static const char __pyx_k_extSem_out[] = "extSem_out";
static const char __pyx_k_filterMode[] = "filterMode : ";
static const char __pyx_k_firstLayer[] = "firstLayer : ";
static const char __pyx_k_function_2[] = "function";
static const char __pyx_k_gridDimX_2[] = "gridDimX";
static const char __pyx_k_gridDimY_2[] = "gridDimY";
static const char __pyx_k_gridDimZ_2[] = "gridDimZ";
static const char __pyx_k_grid_width[] = "grid_width";
static const char __pyx_k_hGraphExec[] = "hGraphExec";
static const char __pyx_k_handleType[] = "handleType";
static const char __pyx_k_hitRatio_2[] = "hitRatio";
static const char __pyx_k_init_value[] = "init_value";
static const char __pyx_k_interleave[] = "interleave";
static const char __pyx_k_jitOptions[] = "jitOptions";
static const char __pyx_k_keyedMutex[] = "keyedMutex :\n";
static const char __pyx_k_location_2[] = "location";
static const char __pyx_k_memPitch_2[] = "memPitch";
static const char __pyx_k_mipmapDesc[] = "mipmapDesc";
static const char __pyx_k_missProp_2[] = "missProp";
static const char __pyx_k_nodeParams[] = "nodeParams";
static const char __pyx_k_numAttrs_2[] = "numAttrs";
static const char __pyx_k_numDevices[] = "numDevices : ";
static const char __pyx_k_numExtSems[] = "numExtSems : ";
static const char __pyx_k_numKernels[] = "numKernels";
static const char __pyx_k_numOptions[] = "numOptions";
static const char __pyx_k_object_out[] = "object_out";
static const char __pyx_k_overBudget[] = "overBudget :\n";
static const char __pyx_k_oversize_2[] = "_oversize";
static const char __pyx_k_p2pToken_2[] = "p2pToken";
static const char __pyx_k_pTexObject[] = "pTexObject";
static const char __pyx_k_paramArray[] = "paramArray : ";
static const char __pyx_k_paramIndex[] = "paramIndex";
static const char __pyx_k_params_out[] = "params_out";
static const char __pyx_k_pathToFile[] = "pathToFile";
static const char __pyx_k_pdstDevice[] = "pdstDevice";
static const char __pyx_k_planeCount[] = "planeCount : ";
static const char __pyx_k_pmemHandle[] = "pmemHandle";
static const char __pyx_k_presources[] = "presources";
static const char __pyx_k_priority_2[] = "priority";
static const char __pyx_k_psrcDevice[] = "psrcDevice";
static const char __pyx_k_ptexObject[] = "ptexObject";
static const char __pyx_k_pvdpDevice[] = "pvdpDevice";
static const char __pyx_k_pyedgeData[] = "pyedgeData";
static const char __pyx_k_pypciBusId[] = "pypciBusId";
static const char __pyx_k_reserved_2[] = "reserved";
static const char __pyx_k_reserved_3[] = "reserved :\n";
static const char __pyx_k_resource_2[] = "resource";
static const char __pyx_k_resultInfo[] = "resultInfo";
static const char __pyx_k_result_out[] = "result_out : ";
static const char __pyx_k_sharedData[] = "sharedData : ";
static const char __pyx_k_srcArray_2[] = "srcArray";
static const char __pyx_k_srcContext[] = "srcContext : ";
static const char __pyx_k_srcLocHint[] = "srcLocHint :\n";
static const char __pyx_k_srcPitch_2[] = "srcPitch";
static const char __pyx_k_surfObject[] = "surfObject";
static const char __pyx_k_syncPolicy[] = "syncPolicy : ";
static const char __pyx_k_tensorRank[] = "tensorRank";
static const char __pyx_k_tileExtent[] = "tileExtent :\n";
static const char __pyx_k_userData_2[] = "userData";
static const char __pyx_k_vdpSurface[] = "vdpSurface";
static const char __pyx_k_writeValue[] = "writeValue :\n";
static const char __pyx_k_7BXXYYbbccd[] = "\320\004)\250\027\260\013\2707\320BX\320XY\320Yb\320bc\320cd";
static const char __pyx_k_7_W_OqPYYZZ[] = "\320\004#\2407\250+\260W\320<O\310q\320PY\320YZ\320Z[";
static const char __pyx_k_CUcontext_2[] = "<CUcontext ";
static const char __pyx_k_CUctx_flags[] = "CUctx_flags";
static const char __pyx_k_CUdevice_v1[] = "<CUdevice_v1 ";
static const char __pyx_k_CUdeviceptr[] = "CUdeviceptr";
static const char __pyx_k_CUgraphExec[] = "<CUgraphExec ";
static const char __pyx_k_CUgraphNode[] = "<CUgraphNode ";
static const char __pyx_k_CUlibrary_2[] = "CUlibrary";
static const char __pyx_k_CUlinkState[] = "<CUlinkState ";
static const char __pyx_k_CUsurfref_2[] = "CUsurfref";
static const char __pyx_k_CUtensorMap[] = "CUtensorMap";
static const char __pyx_k_CUtexObject[] = "<CUtexObject ";
static const char __pyx_k_EGLImageKHR[] = "<EGLImageKHR ";
static const char __pyx_k_Error_codes[] = "\n    Error codes\n    ";
static const char __pyx_k_MemoryError[] = "MemoryError";
static const char __pyx_k_NumChannels[] = "NumChannels : ";
static const char __pyx_k_SIMDWidth_2[] = "SIMDWidth";
static const char __pyx_k_VdpDevice_2[] = "VdpDevice";
static const char __pyx_k_accessDescs[] = "accessDescs : ";
static const char __pyx_k_addressMode[] = "addressMode : ";
static const char __pyx_k_alignment_2[] = "alignment";
static const char __pyx_k_allocType_2[] = "allocType";
static const char __pyx_k_anon_union2[] = "anon_union2";
static const char __pyx_k_anon_union3[] = "anon_union3";
static const char __pyx_k_anon_union4[] = "anon_union4";
static const char __pyx_k_anon_union5[] = "anon_union5";
static const char __pyx_k_anon_union6[] = "anon_union6";
static const char __pyx_k_anon_union7[] = "anon_union7";
static const char __pyx_k_anon_union8[] = "anon_union8";
static const char __pyx_k_anon_union9[] = "anon_union9";
static const char __pyx_k_arrayDesc_2[] = "arrayDesc";
static const char __pyx_k_blockDimX_2[] = "blockDimX";
static const char __pyx_k_blockDimY_2[] = "blockDimY";
static const char __pyx_k_blockDimZ_2[] = "blockDimZ";
static const char __pyx_k_borderColor[] = "borderColor : ";
static const char __pyx_k_c_ulonglong[] = "c_ulonglong";
static const char __pyx_k_cigParams_2[] = "cigParams";
static const char __pyx_k_clockRate_2[] = "clockRate";
static const char __pyx_k_clusterSize[] = "clusterSize";
static const char __pyx_k_conditional[] = "conditional :\n";
static const char __pyx_k_cooperative[] = "cooperative : ";
static const char __pyx_k_cuCtxAttach[] = "cuCtxAttach";
static const char __pyx_k_cuCtxCreate[] = "cuCtxCreate";
static const char __pyx_k_cuCtxDetach[] = "cuCtxDetach";
static const char __pyx_k_cuDeviceGet[] = "cuDeviceGet";
static const char __pyx_k_cuMemAdvise[] = "cuMemAdvise";
static const char __pyx_k_cuMemCreate[] = "cuMemCreate";
static const char __pyx_k_cuMemsetD16[] = "cuMemsetD16";
static const char __pyx_k_cuMemsetD32[] = "cuMemsetD32";
static const char __pyx_k_cuParamSetf[] = "cuParamSetf";
static const char __pyx_k_cuParamSeti[] = "cuParamSeti";
static const char __pyx_k_cuParamSetv[] = "cuParamSetv";
static const char __pyx_k_cudaVersion[] = "cudaVersion";
static const char __pyx_k_cyattribute[] = "cyattribute";
static const char __pyx_k_cyattrsIdxs[] = "cyattrsIdxs";
static const char __pyx_k_cydataSizes[] = "cydataSizes";
static const char __pyx_k_cydstDevice[] = "cydstDevice";
static const char __pyx_k_cyfunctions[] = "cyfunctions";
static const char __pyx_k_cyglobalDim[] = "cyglobalDim";
static const char __pyx_k_cyimage_ptr[] = "cyimage_ptr";
static const char __pyx_k_cymemHandle[] = "cymemHandle";
static const char __pyx_k_cypCopy_ptr[] = "cypCopy_ptr";
static const char __pyx_k_cyresources[] = "cyresources";
static const char __pyx_k_cyrootNodes[] = "cyrootNodes";
static const char __pyx_k_cysrcDevice[] = "cysrcDevice";
static const char __pyx_k_cytexObject[] = "cytexObject";
static const char __pyx_k_cyvalue_ptr[] = "cyvalue_ptr";
static const char __pyx_k_cyvdpDevice[] = "cyvdpDevice";
static const char __pyx_k_dataTable_2[] = "dataTable";
static const char __pyx_k_dstActBytes[] = "dstActBytes : ";
static const char __pyx_k_dstDevice_2[] = "dstDevice";
static const char __pyx_k_dstHeight_2[] = "dstHeight";
static const char __pyx_k_dstNumBytes[] = "dstNumBytes : ";
static const char __pyx_k_dstXInBytes[] = "dstXInBytes : ";
static const char __pyx_k_elementSize[] = "elementSize : ";
static const char __pyx_k_errorNode_2[] = "errorNode";
static const char __pyx_k_eventRecord[] = "eventRecord :\n";
static const char __pyx_k_eventWait_2[] = "eventWait";
static const char __pyx_k_extSemArray[] = "extSemArray : ";
static const char __pyx_k_extentDepth[] = "extentDepth : ";
static const char __pyx_k_extentWidth[] = "extentWidth : ";
static const char __pyx_k_frameType_2[] = "frameType";
static const char __pyx_k_from_port_2[] = "from_port";
static const char __pyx_k_granularity[] = "granularity";
static const char __pyx_k_grid_height[] = "grid_height";
static const char __pyx_k_handleTypes[] = "handleTypes : ";
static const char __pyx_k_l2Promotion[] = "l2Promotion";
static const char __pyx_k_lastLayer_2[] = "lastLayer";
static const char __pyx_k_layerHeight[] = "layerHeight : ";
static const char __pyx_k_mapInfoList[] = "mapInfoList";
static const char __pyx_k_maxGridSize[] = "maxGridSize : ";
static const char __pyx_k_memHandle_2[] = "memHandle";
static const char __pyx_k_memHandle_3[] = "memHandle :\n";
static const char __pyx_k_minGridSize[] = "minGridSize";
static const char __pyx_k_miptailSize[] = "miptailSize : ";
static const char __pyx_k_mro_entries[] = "__mro_entries__";
static const char __pyx_k_nbResources[] = "nbResources";
static const char __pyx_k_numChannels[] = "numChannels : ";
static const char __pyx_k_numClusters[] = "numClusters";
static const char __pyx_k_numLevels_2[] = "numLevels";
static const char __pyx_k_num_bytes_2[] = "num_bytes";
static const char __pyx_k_nvSciSync_2[] = "nvSciSync";
static const char __pyx_k_operation_2[] = "operation";
static const char __pyx_k_ownership_2[] = "ownership";
static const char __pyx_k_pHandle_out[] = "pHandle_out";
static const char __pyx_k_pLevelArray[] = "pLevelArray";
static const char __pyx_k_pPlaneArray[] = "pPlaneArray";
static const char __pyx_k_pSurfObject[] = "pSurfObject";
static const char __pyx_k_paramOffset[] = "paramOffset";
static const char __pyx_k_paramsArray[] = "paramsArray : ";
static const char __pyx_k_pchildGraph[] = "pchildGraph";
static const char __pyx_k_pdstContext[] = "pdstContext";
static const char __pyx_k_peerContext[] = "peerContext";
static const char __pyx_k_phGraphExec[] = "phGraphExec";
static const char __pyx_k_phGraphNode[] = "phGraphNode";
static const char __pyx_k_phGraph_out[] = "phGraph_out : ";
static const char __pyx_k_poolProps_2[] = "poolProps";
static const char __pyx_k_psrcContext[] = "psrcContext";
static const char __pyx_k_psurfObject[] = "psurfObject";
static const char __pyx_k_ptensorRank[] = "ptensorRank";
static const char __pyx_k_pvdpSurface[] = "pvdpSurface";
static const char __pyx_k_pydataSizes[] = "pydataSizes";
static const char __pyx_k_pyfunctions[] = "pyfunctions";
static const char __pyx_k_pyrootNodes[] = "pyrootNodes";
static const char __pyx_k_reserved0_2[] = "reserved0";
static const char __pyx_k_reserved1_2[] = "reserved1";
static const char __pyx_k_reserved2_2[] = "reserved2";
static const char __pyx_k_rowLength_2[] = "rowLength";
static const char __pyx_k_sizeInBytes[] = "sizeInBytes : ";
static const char __pyx_k_sparseLevel[] = "sparseLevel :\n";
static const char __pyx_k_srcDevice_2[] = "srcDevice";
static const char __pyx_k_srcHeight_2[] = "srcHeight";
static const char __pyx_k_srcNumBytes[] = "srcNumBytes : ";
static const char __pyx_k_srcXInBytes[] = "srcXInBytes : ";
static const char __pyx_k_subresource[] = "subresource :\n";
static const char __pyx_k_timeoutMs_2[] = "timeoutMs";
static const char __pyx_k_waitValue_2[] = "waitValue";
static const char __pyx_k_wk_UUVV___a[] = "\320\004'\240w\250k\270\027\320@U\320UV\320V_\320_`\320`a";
static const char __pyx_k_0_Qa_Q_1_N_1[] = "\200\001\3600\000\005\013\320\n\035\230Q\230a\330\004\031\230\027\240\n\250#\250Q\330\t\n\330\010\026\320\026*\250!\2501\330\004\014\210N\230!\2301";
static const char __pyx_k_CUDA_SUCCESS[] = "CUDA_SUCCESS";
static const char __pyx_k_CUDA_VERSION[] = "CUDA_VERSION";
static const char __pyx_k_CU_LIMIT_MAX[] = "CU_LIMIT_MAX";
static const char __pyx_k_CU_TRSF_SRGB[] = "CU_TRSF_SRGB";
static const char __pyx_k_CUdevprop_st[] = "CUdevprop_st";
static const char __pyx_k_CUdevprop_v1[] = "CUdevprop_v1";
static const char __pyx_k_CUfunc_cache[] = "CUfunc_cache";
static const char __pyx_k_CUfunction_2[] = "CUfunction";
static const char __pyx_k_CUgreenCtx_2[] = "CUgreenCtx";
static const char __pyx_k_CUjit_option[] = "CUjit_option";
static const char __pyx_k_CUjit_target[] = "CUjit_target";
static const char __pyx_k_CUmem_advise[] = "CUmem_advise";
static const char __pyx_k_CUmemoryPool[] = "CUmemoryPool";
static const char __pyx_k_CUmemorytype[] = "CUmemorytype";
static const char __pyx_k_CUsurfObject[] = "<CUsurfObject ";
static const char __pyx_k_CUuserObject[] = "<CUuserObject ";
static const char __pyx_k_D_E_nAYa_N_1[] = "\200\001\330#$\360D\003\000\005%\240E\250\021\330\t\n\330\010\026\220n\240A\240Y\250a\330\004\014\210N\230!\2301";
static const char __pyx_k_EGLStreamKHR[] = "<EGLStreamKHR ";
static const char __pyx_k_EGLSyncKHR_2[] = "EGLSyncKHR";
static const char __pyx_k_Memory_types[] = "\n    Memory types\n    ";
static const char __pyx_k_Qa_Q_nAQ_N_1[] = "\200\001\360*\000\005\013\320\n\035\230Q\230a\330\004\031\230\027\240\n\250#\250Q\330\t\n\330\010\026\220n\240A\240Q\330\004\014\210N\230!\2301";
static const char __pyx_k_RuntimeError[] = "RuntimeError";
static const char __pyx_k_Unknown_type[] = "Unknown type: ";
static const char __pyx_k_WKwF___hhiij[] = "\320\004-\250W\260K\270w\320F^\320^_\320_h\320hi\320ij";
static const char __pyx_k_WidthInBytes[] = "WidthInBytes : ";
static const char __pyx_k_allocFlags_2[] = "allocFlags";
static const char __pyx_k_anon_struct0[] = "anon_struct0";
static const char __pyx_k_anon_struct1[] = "anon_struct1";
static const char __pyx_k_anon_struct2[] = "anon_struct2";
static const char __pyx_k_anon_struct3[] = "anon_struct3";
static const char __pyx_k_anon_struct4[] = "anon_struct4";
static const char __pyx_k_anon_struct5[] = "anon_struct5";
static const char __pyx_k_anon_struct6[] = "anon_struct6";
static const char __pyx_k_anon_struct7[] = "anon_struct7";
static const char __pyx_k_anon_struct8[] = "anon_struct8";
static const char __pyx_k_anon_struct9[] = "anon_struct9";
static const char __pyx_k_anon_union10[] = "anon_union10";
static const char __pyx_k_anon_union11[] = "anon_union11";
static const char __pyx_k_anon_union12[] = "anon_union12";
static const char __pyx_k_anon_union15[] = "anon_union15";
static const char __pyx_k_callbackFunc[] = "callbackFunc";
static const char __pyx_k_callback_out[] = "callback_out";
static const char __pyx_k_clusterDim_2[] = "clusterDim";
static const char __pyx_k_copyParams_2[] = "copyParams";
static const char __pyx_k_cuCtxDestroy[] = "cuCtxDestroy";
static const char __pyx_k_cuEventQuery[] = "cuEventQuery";
static const char __pyx_k_cuGraphClone[] = "cuGraphClone";
static const char __pyx_k_cuLaunchGrid[] = "cuLaunchGrid";
static const char __pyx_k_cuLinkCreate[] = "cuLinkCreate";
static const char __pyx_k_cuMemGetInfo[] = "cuMemGetInfo";
static const char __pyx_k_cuMemRelease[] = "cuMemRelease";
static const char __pyx_k_cuMemcpyAtoA[] = "cuMemcpyAtoA";
static const char __pyx_k_cuMemcpyAtoD[] = "cuMemcpyAtoD";
static const char __pyx_k_cuMemcpyAtoH[] = "cuMemcpyAtoH";
static const char __pyx_k_cuMemcpyDtoA[] = "cuMemcpyDtoA";
static const char __pyx_k_cuMemcpyDtoD[] = "cuMemcpyDtoD";
static const char __pyx_k_cuMemcpyDtoH[] = "cuMemcpyDtoH";
static const char __pyx_k_cuMemcpyHtoA[] = "cuMemcpyHtoA";
static const char __pyx_k_cuMemcpyHtoD[] = "cuMemcpyHtoD";
static const char __pyx_k_cuMemcpyPeer[] = "cuMemcpyPeer";
static const char __pyx_k_cuMemsetD2D8[] = "cuMemsetD2D8";
static const char __pyx_k_cuModuleLoad[] = "cuModuleLoad";
static const char __pyx_k_cuuint32_t_2[] = "cuuint32_t";
static const char __pyx_k_cuuint64_t_2[] = "<cuuint64_t ";
static const char __pyx_k_cyattributes[] = "cyattributes";
static const char __pyx_k_cychildGraph[] = "cychildGraph";
static const char __pyx_k_cyconfig_ptr[] = "cyconfig_ptr";
static const char __pyx_k_cydeviceList[] = "cydeviceList";
static const char __pyx_k_cydstContext[] = "cydstContext";
static const char __pyx_k_cyhGraphExec[] = "cyhGraphExec";
static const char __pyx_k_cyhandleType[] = "cyhandleType";
static const char __pyx_k_cyhandle_out[] = "cyhandle_out";
static const char __pyx_k_cyhandle_ptr[] = "cyhandle_ptr";
static const char __pyx_k_cyinput__ptr[] = "cyinput__ptr";
static const char __pyx_k_cyinterleave[] = "cyinterleave";
static const char __pyx_k_cyjitOptions[] = "cyjitOptions";
static const char __pyx_k_cyparamArray[] = "cyparamArray";
static const char __pyx_k_cysrcContext[] = "cysrcContext";
static const char __pyx_k_cysurfObject[] = "cysurfObject";
static const char __pyx_k_cytensorRank[] = "cytensorRank";
static const char __pyx_k_cyvdpSurface[] = "cyvdpSurface";
static const char __pyx_k_dependencies[] = "dependencies";
static const char __pyx_k_dict_CUlimit[] = "_dict_CUlimit";
static const char __pyx_k_dstContext_2[] = "dstContext";
static const char __pyx_k_dstLocHint_2[] = "dstLocHint";
static const char __pyx_k_extSemSignal[] = "extSemSignal :\n";
static const char __pyx_k_extSemWait_2[] = "extSemWait";
static const char __pyx_k_extentHeight[] = "extentHeight : ";
static const char __pyx_k_filterMode_2[] = "filterMode";
static const char __pyx_k_firstLayer_2[] = "firstLayer";
static const char __pyx_k_graph_length[] = "_graph_length";
static const char __pyx_k_hClonedGraph[] = "hClonedGraph";
static const char __pyx_k_hErrNode_out[] = "hErrNode_out : ";
static const char __pyx_k_initializing[] = "_initializing";
static const char __pyx_k_is_coroutine[] = "_is_coroutine";
static const char __pyx_k_iterator_out[] = "iterator_out";
static const char __pyx_k_kernelParams[] = "kernelParams";
static const char __pyx_k_keyedMutex_2[] = "keyedMutex";
static const char __pyx_k_memsetParams[] = "memsetParams";
static const char __pyx_k_numDevices_2[] = "numDevices";
static const char __pyx_k_numExtSems_2[] = "numExtSems";
static const char __pyx_k_numFunctions[] = "numFunctions";
static const char __pyx_k_numRootNodes[] = "numRootNodes";
static const char __pyx_k_nvSciSyncObj[] = "nvSciSyncObj : ";
static const char __pyx_k_optionValues[] = "optionValues";
static const char __pyx_k_overBudget_2[] = "overBudget";
static const char __pyx_k_pBorderColor[] = "pBorderColor";
static const char __pyx_k_pNumChannels[] = "pNumChannels";
static const char __pyx_k_pResViewDesc[] = "pResViewDesc";
static const char __pyx_k_paramArray_2[] = "paramArray";
static const char __pyx_k_phGraphClone[] = "phGraphClone";
static const char __pyx_k_pitchInBytes[] = "pitchInBytes : ";
static const char __pyx_k_planeCount_2[] = "planeCount";
static const char __pyx_k_ppeerContext[] = "ppeerContext";
static const char __pyx_k_pyattributes[] = "pyattributes";
static const char __pyx_k_pyjitOptions[] = "pyjitOptions";
static const char __pyx_k_regsPerBlock[] = "regsPerBlock : ";
static const char __pyx_k_resourceType[] = "resourceType : ";
static const char __pyx_k_result_out_2[] = "result_out";
static const char __pyx_k_shHandleType[] = "shHandleType";
static const char __pyx_k_sharedData_2[] = "sharedData";
static const char __pyx_k_srcContext_2[] = "srcContext";
static const char __pyx_k_srcLocHint_2[] = "srcLocHint";
static const char __pyx_k_stringsource[] = "<stringsource>";
static const char __pyx_k_symbolStatus[] = "symbolStatus";
static const char __pyx_k_syncPolicy_2[] = "syncPolicy";
static const char __pyx_k_textureAlign[] = "textureAlign : ";
static const char __pyx_k_tileExtent_2[] = "tileExtent";
static const char __pyx_k_vaSpaceToken[] = "vaSpaceToken : ";
static const char __pyx_k_writeValue_2[] = "writeValue";
static const char __pyx_k_x_ValueError[] = "x : <ValueError>";
static const char __pyx_k_y_ValueError[] = "y : <ValueError>";
static const char __pyx_k_z_ValueError[] = "z : <ValueError>";
static const char __pyx_k_Array_formats[] = "\n    Array formats\n    ";
static const char __pyx_k_CUDA_MEMCPY2D[] = "CUDA_MEMCPY2D";
static const char __pyx_k_CUDA_MEMCPY3D[] = "CUDA_MEMCPY3D";
static const char __pyx_k_CUGLmap_flags[] = "CUGLmap_flags";
static const char __pyx_k_CU_DEVICE_CPU[] = "CU_DEVICE_CPU";
static const char __pyx_k_CU_JIT_TARGET[] = "CU_JIT_TARGET";
static const char __pyx_k_CU_PREFER_PTX[] = "CU_PREFER_PTX";
static const char __pyx_k_CUcigDataType[] = "CUcigDataType";
static const char __pyx_k_CUcomputemode[] = "CUcomputemode";
static const char __pyx_k_CUctxCigParam[] = "CUctxCigParam";
static const char __pyx_k_CUdevResource[] = "CUdevResource";
static const char __pyx_k_CUdevice_v1_2[] = "CUdevice_v1";
static const char __pyx_k_CUdeviceptr_2[] = "<CUdeviceptr ";
static const char __pyx_k_CUeglFrame_st[] = "CUeglFrame_st";
static const char __pyx_k_CUeglFrame_v1[] = "CUeglFrame_v1";
static const char __pyx_k_CUevent_flags[] = "CUevent_flags";
static const char __pyx_k_CUextent3D_st[] = "CUextent3D_st";
static const char __pyx_k_CUextent3D_v1[] = "CUextent3D_v1";
static const char __pyx_k_CUfilter_mode[] = "CUfilter_mode";
static const char __pyx_k_CUgraphExec_2[] = "CUgraphExec";
static const char __pyx_k_CUgraphNode_2[] = "CUgraphNode";
static const char __pyx_k_CUlinkState_2[] = "CUlinkState";
static const char __pyx_k_CUlogIterator[] = "<CUlogIterator ";
static const char __pyx_k_CUmemLocation[] = "CUmemLocation";
static const char __pyx_k_CUmemcpyFlags[] = "CUmemcpyFlags";
static const char __pyx_k_CUoffset3D_st[] = "CUoffset3D_st";
static const char __pyx_k_CUoffset3D_v1[] = "CUoffset3D_v1";
static const char __pyx_k_CUoutput_mode[] = "CUoutput_mode";
static const char __pyx_k_CUtexObject_2[] = "CUtexObject";
static const char __pyx_k_Compute_Modes[] = "\n    Compute Modes\n    ";
static const char __pyx_k_EGLImageKHR_2[] = "EGLImageKHR";
static const char __pyx_k_EGLint_getPtr[] = "EGLint.getPtr";
static const char __pyx_k_GLenum_getPtr[] = "GLenum.getPtr";
static const char __pyx_k_GLuint_getPtr[] = "GLuint.getPtr";
static const char __pyx_k_NumChannels_2[] = "NumChannels";
static const char __pyx_k_OverflowError[] = "OverflowError";
static const char __pyx_k_accessDescs_2[] = "accessDescs";
static const char __pyx_k_addressMode_2[] = "addressMode";
static const char __pyx_k_anon_struct10[] = "anon_struct10";
static const char __pyx_k_anon_struct11[] = "anon_struct11";
static const char __pyx_k_anon_struct12[] = "anon_struct12";
static const char __pyx_k_anon_struct13[] = "anon_struct13";
static const char __pyx_k_anon_struct14[] = "anon_struct14";
static const char __pyx_k_anon_struct15[] = "anon_struct15";
static const char __pyx_k_anon_struct16[] = "anon_struct16";
static const char __pyx_k_anon_struct17[] = "anon_struct17";
static const char __pyx_k_anon_struct18[] = "anon_struct18";
static const char __pyx_k_anon_struct19[] = "anon_struct19";
static const char __pyx_k_anon_struct20[] = "anon_struct20";
static const char __pyx_k_anon_struct21[] = "anon_struct21";
static const char __pyx_k_anon_struct22[] = "anon_struct22";
static const char __pyx_k_anon_struct23[] = "anon_struct23";
static const char __pyx_k_anon_struct24[] = "anon_struct24";
static const char __pyx_k_borderColor_2[] = "borderColor";
static const char __pyx_k_canAccessPeer[] = "canAccessPeer";
static const char __pyx_k_captureStatus[] = "captureStatus";
static const char __pyx_k_ckernelParams[] = "ckernelParams";
static const char __pyx_k_class_getitem[] = "__class_getitem__";
static const char __pyx_k_conditional_2[] = "conditional";
static const char __pyx_k_cooperative_2[] = "cooperative";
static const char __pyx_k_cuArrayCreate[] = "cuArrayCreate";
static const char __pyx_k_cuCtxGetFlags[] = "cuCtxGetFlags";
static const char __pyx_k_cuCtxGetLimit[] = "cuCtxGetLimit";
static const char __pyx_k_cuCtxSetFlags[] = "cuCtxSetFlags";
static const char __pyx_k_cuCtxSetLimit[] = "cuCtxSetLimit";
static const char __pyx_k_cuEventCreate[] = "cuEventCreate";
static const char __pyx_k_cuEventRecord[] = "cuEventRecord";
static const char __pyx_k_cuFuncGetName[] = "cuFuncGetName";
static const char __pyx_k_cuGraphCreate[] = "cuGraphCreate";
static const char __pyx_k_cuGraphLaunch[] = "cuGraphLaunch";
static const char __pyx_k_cuGraphUpload[] = "cuGraphUpload";
static const char __pyx_k_cuLinkAddData[] = "cuLinkAddData";
static const char __pyx_k_cuLinkAddFile[] = "cuLinkAddFile";
static const char __pyx_k_cuLinkDestroy[] = "cuLinkDestroy";
static const char __pyx_k_cuLogsCurrent[] = "cuLogsCurrent";
static const char __pyx_k_cuMemFreeHost[] = "cuMemFreeHost";
static const char __pyx_k_cuMemcpyAsync[] = "cuMemcpyAsync";
static const char __pyx_k_cuMemsetD2D16[] = "cuMemsetD2D16";
static const char __pyx_k_cuMemsetD2D32[] = "cuMemsetD2D32";
static const char __pyx_k_cuStreamGetId[] = "cuStreamGetId";
static const char __pyx_k_cuStreamQuery[] = "cuStreamQuery";
static const char __pyx_k_cydstHost_ptr[] = "cydstHost_ptr";
static const char __pyx_k_cyextSemArray[] = "cyextSemArray";
static const char __pyx_k_cyl2Promotion[] = "cyl2Promotion";
static const char __pyx_k_cymapInfoList[] = "cymapInfoList";
static const char __pyx_k_cyparamsArray[] = "cyparamsArray";
static const char __pyx_k_cypeerContext[] = "cypeerContext";
static const char __pyx_k_cysrcHost_ptr[] = "cysrcHost_ptr";
static const char __pyx_k_deviceBitMask[] = "deviceBitMask : ";
static const char __pyx_k_dict_CUresult[] = "_dict_CUresult";
static const char __pyx_k_driverVersion[] = "driverVersion";
static const char __pyx_k_dstActBytes_2[] = "dstActBytes";
static const char __pyx_k_dstMemoryType[] = "dstMemoryType : ";
static const char __pyx_k_dstNumBytes_2[] = "dstNumBytes";
static const char __pyx_k_dstXInBytes_2[] = "dstXInBytes";
static const char __pyx_k_elementSize_2[] = "elementSize";
static const char __pyx_k_errorFromNode[] = "errorFromNode : ";
static const char __pyx_k_eventRecord_2[] = "eventRecord";
static const char __pyx_k_extSemArray_2[] = "extSemArray";
static const char __pyx_k_extentDepth_2[] = "extentDepth";
static const char __pyx_k_extentWidth_2[] = "extentWidth";
static const char __pyx_k_fd_ValueError[] = "fd : <ValueError>";
static const char __pyx_k_fn_ValueError[] = "fn : <ValueError>";
static const char __pyx_k_functionTable[] = "functionTable : ";
static const char __pyx_k_globalAddress[] = "globalAddress";
static const char __pyx_k_globalStrides[] = "globalStrides";
static const char __pyx_k_hOriginalNode[] = "hOriginalNode";
static const char __pyx_k_hUploadStream[] = "hUploadStream : ";
static const char __pyx_k_handleTypes_2[] = "handleTypes";
static const char __pyx_k_id_ValueError[] = "id : <ValueError>";
static const char __pyx_k_layerHeight_2[] = "layerHeight";
static const char __pyx_k_leastPriority[] = "leastPriority";
static const char __pyx_k_maxAnisotropy[] = "maxAnisotropy : ";
static const char __pyx_k_maxGridSize_2[] = "maxGridSize";
static const char __pyx_k_maxThreadsDim[] = "maxThreadsDim : ";
static const char __pyx_k_memHandleDesc[] = "memHandleDesc";
static const char __pyx_k_memHandleType[] = "memHandleType : ";
static const char __pyx_k_memSyncDomain[] = "memSyncDomain : ";
static const char __pyx_k_memoryBarrier[] = "memoryBarrier :\n";
static const char __pyx_k_miptailSize_2[] = "miptailSize";
static const char __pyx_k_numAttributes[] = "numAttributes";
static const char __pyx_k_numChannels_2[] = "numChannels";
static const char __pyx_k_numJitOptions[] = "numJitOptions";
static const char __pyx_k_op_ValueError[] = "op : <ValueError>";
static const char __pyx_k_originalGraph[] = "originalGraph";
static const char __pyx_k_pCudaResource[] = "pCudaResource";
static const char __pyx_k_pExecAffinity[] = "pExecAffinity";
static const char __pyx_k_pMilliseconds[] = "pMilliseconds";
static const char __pyx_k_paramsArray_2[] = "paramsArray";
static const char __pyx_k_pcallbackFunc[] = "pcallbackFunc";
static const char __pyx_k_phClonedGraph[] = "phClonedGraph";
static const char __pyx_k_phGraph_out_2[] = "phGraph_out";
static const char __pyx_k_ppExportTable[] = "ppExportTable";
static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
static const char __pyx_k_semHandleDesc[] = "semHandleDesc";
static const char __pyx_k_shareData_out[] = "shareData_out";
static const char __pyx_k_sizeInBytes_2[] = "sizeInBytes";
static const char __pyx_k_sm_ValueError[] = "sm : <ValueError>";
static const char __pyx_k_sparseLevel_2[] = "sparseLevel";
static const char __pyx_k_srcMemoryType[] = "srcMemoryType : ";
static const char __pyx_k_srcNumBytes_2[] = "srcNumBytes";
static const char __pyx_k_srcXInBytes_2[] = "srcXInBytes";
static const char __pyx_k_subresource_2[] = "subresource";
static const char __pyx_k_5E_fGS_oQa_N_1[] = "\200\001\330\033\034\360*\000\0055\260E\270\035\300f\310G\320S]\320]^\330\t\n\330\010\026\220o\240Q\240a\330\004\014\210N\230!\2301";
static const char __pyx_k_5WKwNjjkkttuuv[] = "\320\0045\260W\270K\300w\320Nj\320jk\320kt\320tu\320uv";
static const char __pyx_k_6T_e7R_auA_N_1[] = "\200\001\330,-\360.\000\0056\260T\270\035\300e\3107\320R\\\320\\]\330\t\n\330\010\026\320\026.\250a\250u\260A\330\004\014\210N\230!\2301";
static const char __pyx_k_7wk_Pmmnnwwxxy[] = "\320\0047\260w\270k\310\027\320Pm\320mn\320nw\320wx\320xy";
static const char __pyx_k_AssertionError[] = "AssertionError";
static const char __pyx_k_CUGLDeviceList[] = "CUGLDeviceList";
static const char __pyx_k_CUaddress_mode[] = "CUaddress_mode";
static const char __pyx_k_CUarrayMapInfo[] = "CUarrayMapInfo";
static const char __pyx_k_CUarray_format[] = "CUarray_format";
static const char __pyx_k_CUarray_getPtr[] = "CUarray.getPtr";
static const char __pyx_k_CUarray_getter[] = "CUarray_getter";
static const char __pyx_k_CUdeviceptr_v2[] = "<CUdeviceptr_v2 ";
static const char __pyx_k_CUeglFrameType[] = "CUeglFrameType";
static const char __pyx_k_CUevent_getPtr[] = "CUevent.getPtr";
static const char __pyx_k_CUevent_getter[] = "CUevent_getter";
static const char __pyx_k_CUgraph_getPtr[] = "CUgraph.getPtr";
static const char __pyx_k_CUgraph_getter[] = "CUgraph_getter";
static const char __pyx_k_CUipcMemHandle[] = "CUipcMemHandle";
static const char __pyx_k_CUipcMem_flags[] = "CUipcMem_flags";
static const char __pyx_k_CUjitInputType[] = "CUjitInputType";
static const char __pyx_k_CUjit_fallback[] = "CUjit_fallback";
static const char __pyx_k_CUlaunchConfig[] = "CUlaunchConfig";
static const char __pyx_k_CUlogsCallback[] = "<CUlogsCallback ";
static const char __pyx_k_CUmemPoolProps[] = "CUmemPoolProps";
static const char __pyx_k_CUmemoryPool_2[] = "<CUmemoryPool ";
static const char __pyx_k_CUprocessState[] = "CUprocessState";
static const char __pyx_k_CUresourcetype[] = "CUresourcetype";
static const char __pyx_k_CUsharedconfig[] = "CUsharedconfig";
static const char __pyx_k_CUstreamAttrID[] = "CUstreamAttrID";
static const char __pyx_k_CUstream_flags[] = "CUstream_flags";
static const char __pyx_k_CUsurfObject_2[] = "CUsurfObject";
static const char __pyx_k_CUtensorMap_st[] = "CUtensorMap_st";
static const char __pyx_k_CUtexObject_v1[] = "<CUtexObject_v1 ";
static const char __pyx_k_CUuserObject_2[] = "CUuserObject";
static const char __pyx_k_EGLStreamKHR_2[] = "EGLStreamKHR";
static const char __pyx_k_P2P_Attributes[] = "\n    P2P Attributes\n    ";
static const char __pyx_k_Resource_types[] = "\n    Resource types\n    ";
static const char __pyx_k_WidthInBytes_2[] = "WidthInBytes";
static const char __pyx_k_blockSizeLimit[] = "blockSizeLimit";
static const char __pyx_k_cl_event_flags[] = "cl_event_flags";
static const char __pyx_k_ctx_ValueError[] = "ctx : <ValueError>";
static const char __pyx_k_cuArrayDestroy[] = "cuArrayDestroy";
static const char __pyx_k_cuCtxCreate_v3[] = "cuCtxCreate_v3";
static const char __pyx_k_cuCtxCreate_v4[] = "cuCtxCreate_v4";
static const char __pyx_k_cuCtxGetDevice[] = "cuCtxGetDevice";
static const char __pyx_k_cuCtxWaitEvent[] = "cuCtxWaitEvent";
static const char __pyx_k_cuEventDestroy[] = "cuEventDestroy";
static const char __pyx_k_cuFuncIsLoaded[] = "cuFuncIsLoaded";
static const char __pyx_k_cuGLGetDevices[] = "cuGLGetDevices";
static const char __pyx_k_cuGetErrorName[] = "cuGetErrorName";
static const char __pyx_k_cuGraphAddNode[] = "cuGraphAddNode";
static const char __pyx_k_cuGraphDestroy[] = "cuGraphDestroy";
static const char __pyx_k_cuLaunchKernel[] = "cuLaunchKernel";
static const char __pyx_k_cuLinkComplete[] = "cuLinkComplete";
static const char __pyx_k_cuMemAdvise_v2[] = "cuMemAdvise_v2";
static const char __pyx_k_cuMemAllocHost[] = "cuMemAllocHost";
static const char __pyx_k_cuMemFreeAsync[] = "cuMemFreeAsync";
static const char __pyx_k_cuMemGetAccess[] = "cuMemGetAccess";
static const char __pyx_k_cuMemHostAlloc[] = "cuMemHostAlloc";
static const char __pyx_k_cuMemSetAccess[] = "cuMemSetAccess";
static const char __pyx_k_cuMemcpy3DPeer[] = "cuMemcpy3DPeer";
static const char __pyx_k_cuModuleUnload[] = "cuModuleUnload";
static const char __pyx_k_cuParamSetSize[] = "cuParamSetSize";
static const char __pyx_k_cuProfilerStop[] = "cuProfilerStop";
static const char __pyx_k_cuStreamCreate[] = "cuStreamCreate";
static const char __pyx_k_cuStreamGetCtx[] = "cuStreamGetCtx";
static const char __pyx_k_cuTexRefCreate[] = "cuTexRefCreate";
static const char __pyx_k_cycallbackFunc[] = "cycallbackFunc";
static const char __pyx_k_cydependencies[] = "cydependencies";
static const char __pyx_k_cyedgeData_out[] = "cyedgeData_out";
static const char __pyx_k_cyeglframe_ptr[] = "cyeglframe_ptr";
static const char __pyx_k_cyfatCubin_ptr[] = "cyfatCubin_ptr";
static const char __pyx_k_cyhClonedGraph[] = "cyhClonedGraph";
static const char __pyx_k_cykernelParams[] = "cykernelParams";
static const char __pyx_k_cylocation_ptr[] = "cylocation_ptr";
static const char __pyx_k_cyosHandle_ptr[] = "cyosHandle_ptr";
static const char __pyx_k_cypCudaDevices[] = "cypCudaDevices";
static const char __pyx_k_cypResDesc_ptr[] = "cypResDesc_ptr";
static const char __pyx_k_cypTexDesc_ptr[] = "cypTexDesc_ptr";
static const char __pyx_k_cyshHandleType[] = "cyshHandleType";
static const char __pyx_k_cyuserData_ptr[] = "cyuserData_ptr";
static const char __pyx_k_dataWindowSize[] = "dataWindowSize : ";
static const char __pyx_k_dependencyData[] = "dependencyData";
static const char __pyx_k_deviceNodeMask[] = "deviceNodeMask";
static const char __pyx_k_dst_ValueError[] = "dst : <ValueError>";
static const char __pyx_k_eglColorFormat[] = "eglColorFormat : ";
static const char __pyx_k_elementStrides[] = "elementStrides";
static const char __pyx_k_extSemSignal_2[] = "extSemSignal";
static const char __pyx_k_extentHeight_2[] = "extentHeight";
static const char __pyx_k_hErrNode_out_2[] = "hErrNode_out";
static const char __pyx_k_kernelParams_2[] = "kernelParams : ";
static const char __pyx_k_key_ValueError[] = "key : <ValueError>";
static const char __pyx_k_libraryOptions[] = "libraryOptions";
static const char __pyx_k_max_param_size[] = "max_param_size";
static const char __pyx_k_minBytesToKeep[] = "minBytesToKeep";
static const char __pyx_k_nodeParams_out[] = "nodeParams_out";
static const char __pyx_k_nvSciBufObject[] = "nvSciBufObject : ";
static const char __pyx_k_nvSciSyncObj_2[] = "nvSciSyncObj";
static const char __pyx_k_pAllocateArray[] = "pAllocateArray";
static const char __pyx_k_pExportTableId[] = "pExportTableId";
static const char __pyx_k_pad_ValueError[] = "pad : <ValueError>";
static const char __pyx_k_phOriginalNode[] = "phOriginalNode";
static const char __pyx_k_pitchInBytes_2[] = "pitchInBytes";
static const char __pyx_k_poriginalGraph[] = "poriginalGraph";
static const char __pyx_k_ppCudaResource[] = "ppCudaResource";
static const char __pyx_k_ptr_ValueError[] = "ptr : <ValueError>";
static const char __pyx_k_pydependencies[] = "pydependencies";
static const char __pyx_k_pyedgeData_out[] = "pyedgeData_out";
static const char __pyx_k_pyoptionValues[] = "pyoptionValues";
static const char __pyx_k_pypCudaDevices[] = "pypCudaDevices";
static const char __pyx_k_regsPerBlock_2[] = "regsPerBlock";
static const char __pyx_k_res_ValueError[] = "res : <ValueError>";
static const char __pyx_k_resourceType_2[] = "resourceType";
static const char __pyx_k_sharedDataType[] = "sharedDataType : ";
static const char __pyx_k_sharedMemBytes[] = "sharedMemBytes : ";
static const char __pyx_k_srcAccessOrder[] = "srcAccessOrder : ";
static const char __pyx_k_src_ValueError[] = "src : <ValueError>";
static const char __pyx_k_tensorDataType[] = "tensorDataType";
static const char __pyx_k_textureAlign_2[] = "textureAlign";
static const char __pyx_k_vaSpaceToken_2[] = "vaSpaceToken";
static const char __pyx_k_val_ValueError[] = "val : <ValueError>";
static const char __pyx_k_8t_WT___0_a_N_1[] = "\200\001\330./\360(\000\0058\260t\270=\310\005\310W\320T^\320^_\330\t\n\330\010\026\320\0260\260\001\260\025\260a\330\004\014\210N\230!\2301";
static const char __pyx_k_CU_COREDUMP_MAX[] = "CU_COREDUMP_MAX";
static const char __pyx_k_CU_CTX_MAP_HOST[] = "CU_CTX_MAP_HOST";
static const char __pyx_k_CU_JIT_PREC_DIV[] = "CU_JIT_PREC_DIV";
static const char __pyx_k_CUasyncCallback[] = "<CUasyncCallback ";
static const char __pyx_k_CUdevSmResource[] = "CUdevSmResource";
static const char __pyx_k_CUdevice_getPtr[] = "CUdevice.getPtr";
static const char __pyx_k_CUgraphEdgeData[] = "CUgraphEdgeData";
static const char __pyx_k_CUgraphNodeType[] = "CUgraphNodeType";
static const char __pyx_k_CUhostFn_getPtr[] = "CUhostFn.getPtr";
static const char __pyx_k_CUjit_cacheMode[] = "CUjit_cacheMode";
static const char __pyx_k_CUkernel_getPtr[] = "CUkernel.getPtr";
static const char __pyx_k_CUkernel_getter[] = "CUkernel_getter";
static const char __pyx_k_CUlibraryOption[] = "CUlibraryOption";
static const char __pyx_k_CUlogIterator_2[] = "CUlogIterator";
static const char __pyx_k_CUmemAccessDesc[] = "CUmemAccessDesc";
static const char __pyx_k_CUmemHandleType[] = "CUmemHandleType";
static const char __pyx_k_CUmemRangeFlags[] = "CUmemRangeFlags";
static const char __pyx_k_CUmodule_getPtr[] = "CUmodule.getPtr";
static const char __pyx_k_CUmodule_getter[] = "CUmodule_getter";
static const char __pyx_k_CUstream_getPtr[] = "CUstream.getPtr";
static const char __pyx_k_CUstream_getter[] = "CUstream_getter";
static const char __pyx_k_CUsurfObject_v1[] = "<CUsurfObject_v1 ";
static const char __pyx_k_CUtexref_getPtr[] = "CUtexref.getPtr";
static const char __pyx_k_CUtexref_getter[] = "CUtexref_getter";
static const char __pyx_k_Optional_CUuuid[] = "Optional[CUuuid]";
static const char __pyx_k_Q_1_t_a_avQ_N_6[] = "\200\001\360,\000\005\036\230Q\330\t\n\330\010\026\320\026)\250\021\250!\2501\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Q_q_t_a_avQ_N_6[] = "\200\001\360&\000\005\026\220Q\330\t\n\330\010\026\320\026'\240q\250\001\250\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_VdpVideoSurface[] = "<VdpVideoSurface ";
static const char __pyx_k_accessDescCount[] = "accessDescCount : ";
static const char __pyx_k_algo_ValueError[] = "algo : <ValueError>";
static const char __pyx_k_bytesOverBudget[] = "bytesOverBudget : ";
static const char __pyx_k_compressionType[] = "compressionType : ";
static const char __pyx_k_ctxCreateParams[] = "ctxCreateParams";
static const char __pyx_k_cuArray3DCreate[] = "cuArray3DCreate";
static const char __pyx_k_cuArrayGetPlane[] = "cuArrayGetPlane";
static const char __pyx_k_cuCtxGetCurrent[] = "cuCtxGetCurrent";
static const char __pyx_k_cuCtxPopCurrent[] = "cuCtxPopCurrent";
static const char __pyx_k_cuCtxSetCurrent[] = "cuCtxSetCurrent";
static const char __pyx_k_cuDeviceGetLuid[] = "cuDeviceGetLuid";
static const char __pyx_k_cuDeviceGetName[] = "cuDeviceGetName";
static const char __pyx_k_cuDeviceGetUuid[] = "cuDeviceGetUuid";
static const char __pyx_k_cuFuncGetModule[] = "cuFuncGetModule";
static const char __pyx_k_cuGraphGetEdges[] = "cuGraphGetEdges";
static const char __pyx_k_cuGraphGetNodes[] = "cuGraphGetNodes";
static const char __pyx_k_cuKernelGetName[] = "cuKernelGetName";
static const char __pyx_k_cuLibraryUnload[] = "cuLibraryUnload";
static const char __pyx_k_cuMemAllocAsync[] = "cuMemAllocAsync";
static const char __pyx_k_cuMemAllocPitch[] = "cuMemAllocPitch";
static const char __pyx_k_cuMemPoolCreate[] = "cuMemPoolCreate";
static const char __pyx_k_cuMemPoolTrimTo[] = "cuMemPoolTrimTo";
static const char __pyx_k_cuMemcpy2DAsync[] = "cuMemcpy2DAsync";
static const char __pyx_k_cuMemcpy3DAsync[] = "cuMemcpy3DAsync";
static const char __pyx_k_cuMemsetD8Async[] = "cuMemsetD8Async";
static const char __pyx_k_cuProfilerStart[] = "cuProfilerStart";
static const char __pyx_k_cuStreamDestroy[] = "cuStreamDestroy";
static const char __pyx_k_cuTexRefDestroy[] = "cuTexRefDestroy";
static const char __pyx_k_cudaDeviceCount[] = "cudaDeviceCount";
static const char __pyx_k_cyglobalAddress[] = "cyglobalAddress";
static const char __pyx_k_cyglobalStrides[] = "cyglobalStrides";
static const char __pyx_k_cyhOriginalNode[] = "cyhOriginalNode";
static const char __pyx_k_cyoriginalGraph[] = "cyoriginalGraph";
static const char __pyx_k_cypCudaResource[] = "cypCudaResource";
static const char __pyx_k_cypoolProps_ptr[] = "cypoolProps_ptr";
static const char __pyx_k_cyshareData_ptr[] = "cyshareData_ptr";
static const char __pyx_k_cytensorMap_ptr[] = "cytensorMap_ptr";
static const char __pyx_k_data_ValueError[] = "data : <ValueError>";
static const char __pyx_k_deviceBitMask_2[] = "deviceBitMask";
static const char __pyx_k_deviceUpdatable[] = "deviceUpdatable : ";
static const char __pyx_k_dict_CUlogLevel[] = "_dict_CUlogLevel";
static const char __pyx_k_dptr_ValueError[] = "dptr : <ValueError>";
static const char __pyx_k_dstMemoryType_2[] = "dstMemoryType";
static const char __pyx_k_dstY_ValueError[] = "dstY : <ValueError>";
static const char __pyx_k_dstZ_ValueError[] = "dstZ : <ValueError>";
static const char __pyx_k_dynamicSMemSize[] = "dynamicSMemSize";
static const char __pyx_k_dynamicSmemSize[] = "dynamicSmemSize";
static const char __pyx_k_errorFromNode_2[] = "errorFromNode";
static const char __pyx_k_free_ValueError[] = "free : <ValueError>";
static const char __pyx_k_func_ValueError[] = "func : <ValueError>";
static const char __pyx_k_functionTable_2[] = "functionTable";
static const char __pyx_k_hMipmappedArray[] = "hMipmappedArray : ";
static const char __pyx_k_hUploadStream_2[] = "hUploadStream";
static const char __pyx_k_host_ValueError[] = "host : <ValueError>";
static const char __pyx_k_info_ValueError[] = "info : <ValueError>";
static const char __pyx_k_initialRefcount[] = "initialRefcount";
static const char __pyx_k_kern_ValueError[] = "kern : <ValueError>";
static const char __pyx_k_lastMipmapLevel[] = "lastMipmapLevel : ";
static const char __pyx_k_maxAnisotropy_2[] = "maxAnisotropy";
static const char __pyx_k_maxThreadsDim_2[] = "maxThreadsDim";
static const char __pyx_k_memHandleType_2[] = "memHandleType";
static const char __pyx_k_memSyncDomain_2[] = "memSyncDomain";
static const char __pyx_k_memoryBarrier_2[] = "memoryBarrier";
static const char __pyx_k_mipmapLevelBias[] = "mipmapLevelBias : ";
static const char __pyx_k_name_ValueError[] = "name : <ValueError>";
static const char __pyx_k_numDependencies[] = "numDependencies";
static const char __pyx_k_numMipmapLevels[] = "numMipmapLevels";
static const char __pyx_k_pMipmappedArray[] = "pMipmappedArray";
static const char __pyx_k_pixelsPerColumn[] = "pixelsPerColumn";
static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
static const char __pyx_k_size_ValueError[] = "size : <ValueError>";
static const char __pyx_k_srcMemoryType_2[] = "srcMemoryType";
static const char __pyx_k_srcY_ValueError[] = "srcY : <ValueError>";
static const char __pyx_k_srcZ_ValueError[] = "srcZ : <ValueError>";
static const char __pyx_k_subresourceType[] = "subresourceType : ";
static const char __pyx_k_supported_types[] = "supported_types";
static const char __pyx_k_type_ValueError[] = "type : <ValueError>";
static const char __pyx_k_CUDA_MEMCPY2D_st[] = "CUDA_MEMCPY2D_st";
static const char __pyx_k_CUDA_MEMCPY2D_v2[] = "CUDA_MEMCPY2D_v2";
static const char __pyx_k_CUDA_MEMCPY3D_st[] = "CUDA_MEMCPY3D_st";
static const char __pyx_k_CUDA_MEMCPY3D_v2[] = "CUDA_MEMCPY3D_v2";
static const char __pyx_k_CU_AD_FORMAT_MAX[] = "CU_AD_FORMAT_MAX";
static const char __pyx_k_CU_COREDUMP_FILE[] = "CU_COREDUMP_FILE";
static const char __pyx_k_CU_COREDUMP_PIPE[] = "CU_COREDUMP_PIPE";
static const char __pyx_k_CU_EVENT_DEFAULT[] = "CU_EVENT_DEFAULT";
static const char __pyx_k_CU_JIT_INPUT_PTX[] = "CU_JIT_INPUT_PTX";
static const char __pyx_k_CU_JIT_PREC_SQRT[] = "CU_JIT_PREC_SQRT";
static const char __pyx_k_CU_JIT_WALL_TIME[] = "CU_JIT_WALL_TIME";
static const char __pyx_k_CU_PREFER_BINARY[] = "CU_PREFER_BINARY";
static const char __pyx_k_CU_STREAM_LEGACY[] = "CU_STREAM_LEGACY";
static const char __pyx_k_CUaccessProperty[] = "CUaccessProperty";
static const char __pyx_k_CUcontext_getPtr[] = "CUcontext.getPtr";
static const char __pyx_k_CUcontext_getter[] = "CUcontext_getter";
static const char __pyx_k_CUctxCigParam_st[] = "CUctxCigParam_st";
static const char __pyx_k_CUdevResource_st[] = "CUdevResource_st";
static const char __pyx_k_CUdevResource_v1[] = "CUdevResource_v1";
static const char __pyx_k_CUdeviceptr_v2_2[] = "CUdeviceptr_v2";
static const char __pyx_k_CUeglColorFormat[] = "CUeglColorFormat";
static const char __pyx_k_CUexternalMemory[] = "<CUexternalMemory ";
static const char __pyx_k_CUipcEventHandle[] = "CUipcEventHandle";
static const char __pyx_k_CUlibrary_getPtr[] = "CUlibrary.getPtr";
static const char __pyx_k_CUlibrary_getter[] = "CUlibrary_getter";
static const char __pyx_k_CUlogsCallback_2[] = "CUlogsCallback";
static const char __pyx_k_CUmemLocation_st[] = "CUmemLocation_st";
static const char __pyx_k_CUmemLocation_v1[] = "CUmemLocation_v1";
static const char __pyx_k_CUmipmappedArray[] = "<CUmipmappedArray ";
static const char __pyx_k_CUstreamCallback[] = "<CUstreamCallback ";
static const char __pyx_k_CUsurfref_getPtr[] = "CUsurfref.getPtr";
static const char __pyx_k_CUsurfref_getter[] = "CUsurfref_getter";
static const char __pyx_k_CUtexObject_v1_2[] = "CUtexObject_v1";
static const char __pyx_k_CUuuid_st_getPtr[] = "CUuuid_st.getPtr";
static const char __pyx_k_Depth_ValueError[] = "Depth : <ValueError>";
static const char __pyx_k_ElementSizeBytes[] = "ElementSizeBytes";
static const char __pyx_k_Event_wait_flags[] = "\n    Event wait flags\n    ";
static const char __pyx_k_Flags_ValueError[] = "Flags : <ValueError>";
static const char __pyx_k_Graph_node_types[] = "\n    Graph node types\n    ";
static const char __pyx_k_Type_of_resource[] = "\n    Type of resource\n    ";
static const char __pyx_k_Unsupported_type[] = "Unsupported type: ";
static const char __pyx_k_VdpDevice_getPtr[] = "VdpDevice.getPtr";
static const char __pyx_k_VdpOutputSurface[] = "<VdpOutputSurface ";
static const char __pyx_k_Width_ValueError[] = "Width : <ValueError>";
static const char __pyx_k_alias_ValueError[] = "alias : <ValueError>";
static const char __pyx_k_alloc_ValueError[] = "alloc : <ValueError>";
static const char __pyx_k_array_ValueError[] = "array : <ValueError>";
static const char __pyx_k_attrs_ValueError[] = "attrs : <ValueError>";
static const char __pyx_k_bytes_ValueError[] = "bytes : <ValueError>";
static const char __pyx_k_channelsPerPixel[] = "channelsPerPixel";
static const char __pyx_k_cl_context_flags[] = "cl_context_flags";
static const char __pyx_k_count_ValueError[] = "count : <ValueError>";
static const char __pyx_k_cuCtxPushCurrent[] = "cuCtxPushCurrent";
static const char __pyx_k_cuCtxRecordEvent[] = "cuCtxRecordEvent";
static const char __pyx_k_cuCtxSynchronize[] = "cuCtxSynchronize";
static const char __pyx_k_cuDeviceGetCount[] = "cuDeviceGetCount";
static const char __pyx_k_cuDeviceTotalMem[] = "cuDeviceTotalMem";
static const char __pyx_k_cuGetErrorString[] = "cuGetErrorString";
static const char __pyx_k_cuGetExportTable[] = "cuGetExportTable";
static const char __pyx_k_cuGetProcAddress[] = "cuGetProcAddress";
static const char __pyx_k_cuGreenCtxCreate[] = "cuGreenCtxCreate";
static const char __pyx_k_cuLaunchHostFunc[] = "cuLaunchHostFunc";
static const char __pyx_k_cuLaunchKernelEx[] = "cuLaunchKernelEx";
static const char __pyx_k_cuLogsDumpToFile[] = "cuLogsDumpToFile";
static const char __pyx_k_cuMemAddressFree[] = "cuMemAddressFree";
static const char __pyx_k_cuMemPoolDestroy[] = "cuMemPoolDestroy";
static const char __pyx_k_cuMemsetD16Async[] = "cuMemsetD16Async";
static const char __pyx_k_cuMemsetD32Async[] = "cuMemsetD32Async";
static const char __pyx_k_cuModuleLoadData[] = "cuModuleLoadData";
static const char __pyx_k_cuParamSetTexRef[] = "cuParamSetTexRef";
static const char __pyx_k_cuStreamGetFlags[] = "cuStreamGetFlags";
static const char __pyx_k_cuTexRefGetArray[] = "cuTexRefGetArray";
static const char __pyx_k_cuTexRefGetFlags[] = "cuTexRefGetFlags";
static const char __pyx_k_cuTexRefSetArray[] = "cuTexRefSetArray";
static const char __pyx_k_cuTexRefSetFlags[] = "cuTexRefSetFlags";
static const char __pyx_k_cuVDPAUCtxCreate[] = "cuVDPAUCtxCreate";
static const char __pyx_k_cuVDPAUGetDevice[] = "cuVDPAUGetDevice";
static const char __pyx_k_cybufferDesc_ptr[] = "cybufferDesc_ptr";
static const char __pyx_k_cycopyParams_ptr[] = "cycopyParams_ptr";
static const char __pyx_k_cydependencyData[] = "cydependencyData";
static const char __pyx_k_cydependentNodes[] = "cydependentNodes";
static const char __pyx_k_cyelementStrides[] = "cyelementStrides";
static const char __pyx_k_cyhandle_out_ptr[] = "cyhandle_out_ptr";
static const char __pyx_k_cylibraryOptions[] = "cylibraryOptions";
static const char __pyx_k_cymipmapDesc_ptr[] = "cymipmapDesc_ptr";
static const char __pyx_k_cynodeParams_ptr[] = "cynodeParams_ptr";
static const char __pyx_k_cytensorDataType[] = "cytensorDataType";
static const char __pyx_k_dataWindowSize_2[] = "dataWindowSize";
static const char __pyx_k_depth_ValueError[] = "depth : <ValueError>";
static const char __pyx_k_dict_CUctx_flags[] = "_dict_CUctx_flags";
static const char __pyx_k_eglColorFormat_2[] = "eglColorFormat";
static const char __pyx_k_event_ValueError[] = "event : <ValueError>";
static const char __pyx_k_extra_ValueError[] = "extra : <ValueError>";
static const char __pyx_k_fence_ValueError[] = "fence : <ValueError>";
static const char __pyx_k_firstMipmapLevel[] = "firstMipmapLevel : ";
static const char __pyx_k_flags_ValueError[] = "flags : <ValueError>";
static const char __pyx_k_frame_ValueError[] = "frame : <ValueError>";
static const char __pyx_k_graph_ValueError[] = "graph : <ValueError>";
static const char __pyx_k_greatestPriority[] = "greatestPriority";
static const char __pyx_k_internal_padding[] = "_internal_padding : ";
static const char __pyx_k_jitOptionsValues[] = "jitOptionsValues";
static const char __pyx_k_l_0uM_wjXY_1_N_1[] = "\200\001\330 !\360l\003\000\0050\250u\260M\300\026\300w\310j\320XY\330\t\n\330\010\026\320\026*\250!\2501\330\004\014\210N\230!\2301";
static const char __pyx_k_l_0uM_wjXY_k_N_1[] = "\200\001\330\027\030\360l\003\000\0050\250u\260M\300\026\300w\310j\320XY\330\t\n\330\010\026\220k\240\021\240!\330\004\014\210N\230!\2301";
static const char __pyx_k_launchParamsList[] = "launchParamsList";
static const char __pyx_k_layer_ValueError[] = "layer : <ValueError>";
static const char __pyx_k_level_ValueError[] = "level : <ValueError>";
static const char __pyx_k_memOp_ValueError[] = "memOp : <ValueError>";
static const char __pyx_k_memOperationType[] = "memOperationType : ";
static const char __pyx_k_memSyncDomainMap[] = "memSyncDomainMap :\n";
static const char __pyx_k_mipmapFilterMode[] = "mipmapFilterMode : ";
static const char __pyx_k_nvSciBufObject_2[] = "nvSciBufObject";
static const char __pyx_k_pArrayDescriptor[] = "pArrayDescriptor";
static const char __pyx_k_pCudaDeviceCount[] = "pCudaDeviceCount";
static const char __pyx_k_param_ValueError[] = "param : <ValueError>";
static const char __pyx_k_phMipmappedArray[] = "phMipmappedArray";
static const char __pyx_k_pitch_ValueError[] = "pitch : <ValueError>";
static const char __pyx_k_ppixelsPerColumn[] = "ppixelsPerColumn";
static const char __pyx_k_pydependentNodes[] = "pydependentNodes";
static const char __pyx_k_pylibraryOptions[] = "pylibraryOptions";
static const char __pyx_k_r_0uM_wjXY_k_N_1[] = "\200\001\330\027\030\360r\003\000\0050\250u\260M\300\026\300w\310j\320XY\330\t\n\330\010\026\220k\240\021\240!\330\004\014\210N\230!\2301";
static const char __pyx_k_sharedDataType_2[] = "sharedDataType";
static const char __pyx_k_sharedMemBytes_2[] = "sharedMemBytes";
static const char __pyx_k_sparseProperties[] = "sparseProperties";
static const char __pyx_k_srcAccessOrder_2[] = "srcAccessOrder";
static const char __pyx_k_usage_ValueError[] = "usage : <ValueError>";
static const char __pyx_k_value_ValueError[] = "value : <ValueError>";
static const char __pyx_k_width_ValueError[] = "width : <ValueError>";
static const char __pyx_k_win32_ValueError[] = "win32 : <ValueError>";
static const char __pyx_k_1_a_D_t_a_avQ_N_6[] = "\200\001\360.\000\005\033\230)\2401\330\t\n\330\010\026\320\026&\240a\320'<\270D\300\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_2_5_t_a_avQ_N_6_q[] = "\200\001\360(\000\n\013\330\010\026\320\0262\260!\2605\270\001\270\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\036\250q\260\001";
static const char __pyx_k_81_oQ_t_a_avQ_N_6[] = "\200\001\360\"\000\005\034\2308\2401\330\t\n\330\010\026\220o\240Q\320&:\270&\300\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_CUDA_ERROR_ASSERT[] = "CUDA_ERROR_ASSERT";
static const char __pyx_k_CUDA_TEXTURE_DESC[] = "CUDA_TEXTURE_DESC";
static const char __pyx_k_CU_AD_FORMAT_AYUV[] = "CU_AD_FORMAT_AYUV";
static const char __pyx_k_CU_AD_FORMAT_HALF[] = "CU_AD_FORMAT_HALF";
static const char __pyx_k_CU_AD_FORMAT_NV12[] = "CU_AD_FORMAT_NV12";
static const char __pyx_k_CU_AD_FORMAT_NV16[] = "CU_AD_FORMAT_NV16";
static const char __pyx_k_CU_AD_FORMAT_P010[] = "CU_AD_FORMAT_P010";
static const char __pyx_k_CU_AD_FORMAT_P016[] = "CU_AD_FORMAT_P016";
static const char __pyx_k_CU_AD_FORMAT_P210[] = "CU_AD_FORMAT_P210";
static const char __pyx_k_CU_AD_FORMAT_P216[] = "CU_AD_FORMAT_P216";
static const char __pyx_k_CU_AD_FORMAT_Y210[] = "CU_AD_FORMAT_Y210";
static const char __pyx_k_CU_AD_FORMAT_Y216[] = "CU_AD_FORMAT_Y216";
static const char __pyx_k_CU_AD_FORMAT_Y410[] = "CU_AD_FORMAT_Y410";
static const char __pyx_k_CU_AD_FORMAT_Y416[] = "CU_AD_FORMAT_Y416";
static const char __pyx_k_CU_AD_FORMAT_YUY2[] = "CU_AD_FORMAT_YUY2";
static const char __pyx_k_CU_CTX_FLAGS_MASK[] = "CU_CTX_FLAGS_MASK";
static const char __pyx_k_CU_CTX_SCHED_AUTO[] = "CU_CTX_SCHED_AUTO";
static const char __pyx_k_CU_CTX_SCHED_MASK[] = "CU_CTX_SCHED_MASK";
static const char __pyx_k_CU_CTX_SCHED_SPIN[] = "CU_CTX_SCHED_SPIN";
static const char __pyx_k_CU_DEVICE_INVALID[] = "CU_DEVICE_INVALID";
static const char __pyx_k_CU_JIT_CACHE_MODE[] = "CU_JIT_CACHE_MODE";
static const char __pyx_k_CU_JIT_INPUT_NVVM[] = "CU_JIT_INPUT_NVVM";
static const char __pyx_k_CU_STREAM_DEFAULT[] = "CU_STREAM_DEFAULT";
static const char __pyx_k_CUarrayMapInfo_st[] = "CUarrayMapInfo_st";
static const char __pyx_k_CUarrayMapInfo_v1[] = "CUarrayMapInfo_v1";
static const char __pyx_k_CUasyncCallback_2[] = "CUasyncCallback";
static const char __pyx_k_CUctxCreateParams[] = "CUctxCreateParams";
static const char __pyx_k_CUdevResourceDesc[] = "<CUdevResourceDesc ";
static const char __pyx_k_CUdevResourceType[] = "CUdevResourceType";
static const char __pyx_k_CUfunction_getPtr[] = "CUfunction.getPtr";
static const char __pyx_k_CUfunction_getter[] = "CUfunction_getter";
static const char __pyx_k_CUgraphDeviceNode[] = "<CUgraphDeviceNode ";
static const char __pyx_k_CUgraphNodeParams[] = "CUgraphNodeParams";
static const char __pyx_k_CUgreenCtx_getPtr[] = "CUgreenCtx.getPtr";
static const char __pyx_k_CUgreenCtx_getter[] = "CUgreenCtx_getter";
static const char __pyx_k_CUipcMemHandle_st[] = "CUipcMemHandle_st";
static const char __pyx_k_CUipcMemHandle_v1[] = "CUipcMemHandle_v1";
static const char __pyx_k_CUlaunchAttribute[] = "CUlaunchAttribute";
static const char __pyx_k_CUlaunchConfig_st[] = "CUlaunchConfig_st";
static const char __pyx_k_CUmemAccess_flags[] = "CUmemAccess_flags";
static const char __pyx_k_CUmemAttach_flags[] = "CUmemAttach_flags";
static const char __pyx_k_CUmemFabricHandle[] = "CUmemFabricHandle";
static const char __pyx_k_CUmemLocationType[] = "CUmemLocationType";
static const char __pyx_k_CUmemPoolProps_st[] = "CUmemPoolProps_st";
static const char __pyx_k_CUmemPoolProps_v1[] = "CUmemPoolProps_v1";
static const char __pyx_k_CUmemcpy3DOperand[] = "CUmemcpy3DOperand";
static const char __pyx_k_CUoccupancy_flags[] = "CUoccupancy_flags";
static const char __pyx_k_CUshared_carveout[] = "CUshared_carveout";
static const char __pyx_k_CUstreamAttrValue[] = "CUstreamAttrValue";
static const char __pyx_k_CUsurfObject_v1_2[] = "CUsurfObject_v1";
static const char __pyx_k_Device_properties[] = "\n    Device properties\n    ";
static const char __pyx_k_EGLSyncKHR_getPtr[] = "EGLSyncKHR.getPtr";
static const char __pyx_k_EGLSyncKHR_getter[] = "EGLSyncKHR_getter";
static const char __pyx_k_Event_sched_flags[] = "\n    Event sched flags\n    ";
static const char __pyx_k_Format_ValueError[] = "Format : <ValueError>";
static const char __pyx_k_Height_ValueError[] = "Height : <ValueError>";
static const char __pyx_k_List_is_too_small[] = "List is too small: ";
static const char __pyx_k_VdpGetProcAddress[] = "<VdpGetProcAddress ";
static const char __pyx_k_VdpVideoSurface_2[] = "VdpVideoSurface";
static const char __pyx_k_accessDescCount_2[] = "accessDescCount";
static const char __pyx_k_bytesOverBudget_2[] = "bytesOverBudget";
static const char __pyx_k_captureStatus_out[] = "captureStatus_out";
static const char __pyx_k_compressionType_2[] = "compressionType";
static const char __pyx_k_cuCtxFromGreenCtx[] = "cuCtxFromGreenCtx";
static const char __pyx_k_cuGraphAddNode_v2[] = "cuGraphAddNode_v2";
static const char __pyx_k_cuGraphExecUpdate[] = "cuGraphExecUpdate";
static const char __pyx_k_cuGreenCtxDestroy[] = "cuGreenCtxDestroy";
static const char __pyx_k_cuIpcGetMemHandle[] = "cuIpcGetMemHandle";
static const char __pyx_k_cuLaunchGridAsync[] = "cuLaunchGridAsync";
static const char __pyx_k_cuLibraryLoadData[] = "cuLibraryLoadData";
static const char __pyx_k_cuMemAllocManaged[] = "cuMemAllocManaged";
static const char __pyx_k_cuMemHostGetFlags[] = "cuMemHostGetFlags";
static const char __pyx_k_cuMemHostRegister[] = "cuMemHostRegister";
static const char __pyx_k_cuMemcpyAtoHAsync[] = "cuMemcpyAtoHAsync";
static const char __pyx_k_cuMemcpyDtoDAsync[] = "cuMemcpyDtoDAsync";
static const char __pyx_k_cuMemcpyDtoHAsync[] = "cuMemcpyDtoHAsync";
static const char __pyx_k_cuMemcpyHtoAAsync[] = "cuMemcpyHtoAAsync";
static const char __pyx_k_cuMemcpyHtoDAsync[] = "cuMemcpyHtoDAsync";
static const char __pyx_k_cuMemcpyPeerAsync[] = "cuMemcpyPeerAsync";
static const char __pyx_k_cuMemsetD2D8Async[] = "cuMemsetD2D8Async";
static const char __pyx_k_cuModuleGetGlobal[] = "cuModuleGetGlobal";
static const char __pyx_k_cuModuleGetTexRef[] = "cuModuleGetTexRef";
static const char __pyx_k_cuMulticastCreate[] = "cuMulticastCreate";
static const char __pyx_k_cuMulticastUnbind[] = "cuMulticastUnbind";
static const char __pyx_k_cuStreamGetCtx_v2[] = "cuStreamGetCtx_v2";
static const char __pyx_k_cuStreamGetDevice[] = "cuStreamGetDevice";
static const char __pyx_k_cuStreamWaitEvent[] = "cuStreamWaitEvent";
static const char __pyx_k_cuSurfRefGetArray[] = "cuSurfRefGetArray";
static const char __pyx_k_cuSurfRefSetArray[] = "cuSurfRefSetArray";
static const char __pyx_k_cuTexObjectCreate[] = "cuTexObjectCreate";
static const char __pyx_k_cuTexRefGetFormat[] = "cuTexRefGetFormat";
static const char __pyx_k_cuTexRefSetFormat[] = "cuTexRefSetFormat";
static const char __pyx_k_cuuint32_t_getPtr[] = "cuuint32_t.getPtr";
static const char __pyx_k_cuuint64_t_getPtr[] = "cuuint64_t.getPtr";
static const char __pyx_k_cyhMipmappedArray[] = "cyhMipmappedArray";
static const char __pyx_k_cyparamsArray_ptr[] = "cyparamsArray_ptr";
static const char __pyx_k_cypixelsPerColumn[] = "cypixelsPerColumn";
static const char __pyx_k_cyshareableHandle[] = "cyshareableHandle";
static const char __pyx_k_devPtr_ValueError[] = "devPtr : <ValueError>";
static const char __pyx_k_deviceUpdatable_2[] = "deviceUpdatable";
static const char __pyx_k_dict_CUfunc_cache[] = "_dict_CUfunc_cache";
static const char __pyx_k_dict_CUjit_option[] = "_dict_CUjit_option";
static const char __pyx_k_dict_CUjit_target[] = "_dict_CUjit_target";
static const char __pyx_k_dict_CUmem_advise[] = "_dict_CUmem_advise";
static const char __pyx_k_dict_CUmemorytype[] = "_dict_CUmemorytype";
static const char __pyx_k_dstLOD_ValueError[] = "dstLOD : <ValueError>";
static const char __pyx_k_extent_ValueError[] = "extent : <ValueError>";
static const char __pyx_k_flushRemoteWrites[] = "flushRemoteWrites :\n";
static const char __pyx_k_format_ValueError[] = "format : <ValueError>";
static const char __pyx_k_hArray_ValueError[] = "hArray : <ValueError>";
static const char __pyx_k_hMipmappedArray_2[] = "hMipmappedArray";
static const char __pyx_k_handle_ValueError[] = "handle : <ValueError>";
static const char __pyx_k_height_ValueError[] = "height : <ValueError>";
static const char __pyx_k_instantiateParams[] = "instantiateParams";
static const char __pyx_k_kernel_ValueError[] = "kernel : <ValueError>";
static const char __pyx_k_lastMipmapLevel_2[] = "lastMipmapLevel";
static const char __pyx_k_linear_ValueError[] = "linear : <ValueError>";
static const char __pyx_k_memcpy_ValueError[] = "memcpy : <ValueError>";
static const char __pyx_k_memset_ValueError[] = "memset : <ValueError>";
static const char __pyx_k_mipmapLevelBias_2[] = "mipmapLevelBias";
static const char __pyx_k_mipmap_ValueError[] = "mipmap : <ValueError>";
static const char __pyx_k_miptailFirstLevel[] = "miptailFirstLevel : ";
static const char __pyx_k_numDependentNodes[] = "numDependentNodes";
static const char __pyx_k_numLibraryOptions[] = "numLibraryOptions";
static const char __pyx_k_nvSciSyncAttrList[] = "nvSciSyncAttrList";
static const char __pyx_k_offset_ValueError[] = "offset : <ValueError>";
static const char __pyx_k_opaque_ValueError[] = "opaque : <ValueError>";
static const char __pyx_k_pArray_ValueError[] = "pArray : <ValueError>";
static const char __pyx_k_pPitch_ValueError[] = "pPitch : <ValueError>";
static const char __pyx_k_params_ValueError[] = "params : <ValueError>";
static const char __pyx_k_pchannelsPerPixel[] = "pchannelsPerPixel";
static const char __pyx_k_programmaticEvent[] = "programmaticEvent :\n";
static const char __pyx_k_remote_ValueError[] = "remote : <ValueError>";
static const char __pyx_k_result_ValueError[] = "result : <ValueError>";
static const char __pyx_k_sharedMemCarveout[] = "sharedMemCarveout : ";
static const char __pyx_k_sharedMemPerBlock[] = "sharedMemPerBlock : ";
static const char __pyx_k_srcLOD_ValueError[] = "srcLOD : <ValueError>";
static const char __pyx_k_subresourceType_2[] = "subresourceType";
static const char __pyx_k_vdpGetProcAddress[] = "vdpGetProcAddress";
static const char __pyx_k_1_AU_1_t_a_avQ_N_6[] = "\200\001\360&\000\005\024\2201\330\t\n\330\010\026\320\026<\270A\270U\300!\3001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_1ddeR_fA_E_1_A_N_1[] = "\200\001\3301d\320de\360R\001\000\005?\270f\300A\330\004<\270E\300\021\330\t\n\330\010\026\320\0261\260\021\260*\270A\330\004\014\210N\230!\2301";
static const char __pyx_k_7_nA_8_t_a_avQ_N_6[] = "\200\001\360,\000\005\034\2307\240!\330\t\n\330\010\026\220n\240A\320%8\270\007\270{\310!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_CUDA_ERROR_TIMEOUT[] = "CUDA_ERROR_TIMEOUT";
static const char __pyx_k_CUDA_ERROR_UNKNOWN[] = "CUDA_ERROR_UNKNOWN";
static const char __pyx_k_CUDA_Ipc_Mem_Flags[] = "\n    CUDA Ipc Mem Flags\n    ";
static const char __pyx_k_CUDA_LAUNCH_PARAMS[] = "CUDA_LAUNCH_PARAMS";
static const char __pyx_k_CUDA_MEMCPY3D_PEER[] = "CUDA_MEMCPY3D_PEER";
static const char __pyx_k_CUDA_RESOURCE_DESC[] = "CUDA_RESOURCE_DESC";
static const char __pyx_k_CU_AD_FORMAT_FLOAT[] = "CU_AD_FORMAT_FLOAT";
static const char __pyx_k_CU_CTX_SCHED_YIELD[] = "CU_CTX_SCHED_YIELD";
static const char __pyx_k_CU_CTX_SYNC_MEMOPS[] = "CU_CTX_SYNC_MEMOPS";
static const char __pyx_k_CU_IPC_HANDLE_SIZE[] = "CU_IPC_HANDLE_SIZE";
static const char __pyx_k_CU_JIT_INPUT_CUBIN[] = "CU_JIT_INPUT_CUBIN";
static const char __pyx_k_CU_JIT_LOG_VERBOSE[] = "CU_JIT_LOG_VERBOSE";
static const char __pyx_k_CU_JIT_NUM_OPTIONS[] = "CU_JIT_NUM_OPTIONS";
static const char __pyx_k_CU_LOG_LEVEL_ERROR[] = "CU_LOG_LEVEL_ERROR";
static const char __pyx_k_CU_MEMORYTYPE_HOST[] = "CU_MEMORYTYPE_HOST";
static const char __pyx_k_CU_MEM_ATTACH_HOST[] = "CU_MEM_ATTACH_HOST";
static const char __pyx_k_CUcoredumpSettings[] = "CUcoredumpSettings";
static const char __pyx_k_CUdevSmResource_st[] = "CUdevSmResource_st";
static const char __pyx_k_CUdeviceNumaConfig[] = "CUdeviceNumaConfig";
static const char __pyx_k_CUdevice_attribute[] = "CUdevice_attribute";
static const char __pyx_k_CUdevice_v1_getPtr[] = "CUdevice_v1.getPtr";
static const char __pyx_k_CUdeviceptr_getPtr[] = "CUdeviceptr.getPtr";
static const char __pyx_k_CUevent_wait_flags[] = "CUevent_wait_flags";
static const char __pyx_k_CUexecAffinityType[] = "CUexecAffinityType";
static const char __pyx_k_CUexternalMemory_2[] = "CUexternalMemory";
static const char __pyx_k_CUgraphEdgeData_st[] = "CUgraphEdgeData_st";
static const char __pyx_k_CUgraphExec_getPtr[] = "CUgraphExec.getPtr";
static const char __pyx_k_CUgraphExec_getter[] = "CUgraphExec_getter";
static const char __pyx_k_CUgraphNode_getPtr[] = "CUgraphNode.getPtr";
static const char __pyx_k_CUgraphNode_getter[] = "CUgraphNode_getter";
static const char __pyx_k_CUgraphicsResource[] = "<CUgraphicsResource ";
static const char __pyx_k_CUkernelNodeAttrID[] = "CUkernelNodeAttrID";
static const char __pyx_k_CUlinkState_getPtr[] = "CUlinkState.getPtr";
static const char __pyx_k_CUlinkState_getter[] = "CUlinkState_getter";
static const char __pyx_k_CUmemAccessDesc_st[] = "CUmemAccessDesc_st";
static const char __pyx_k_CUmemAccessDesc_v1[] = "CUmemAccessDesc_v1";
static const char __pyx_k_CUmemOperationType[] = "CUmemOperationType";
static const char __pyx_k_CUmemcpyAttributes[] = "CUmemcpyAttributes";
static const char __pyx_k_CUmipmappedArray_2[] = "CUmipmappedArray";
static const char __pyx_k_CUoccupancyB2DSize[] = "<CUoccupancyB2DSize ";
static const char __pyx_k_CUstreamCallback_2[] = "CUstreamCallback";
static const char __pyx_k_CUtensorMapSwizzle[] = "CUtensorMapSwizzle";
static const char __pyx_k_CUtexObject_getPtr[] = "CUtexObject.getPtr";
static const char __pyx_k_CUuserObject_flags[] = "CUuserObject_flags";
static const char __pyx_k_D_aq_t_a_avQ_N_6_q[] = "\200\001\360D\001\000\n\013\330\010\026\320\026.\250a\250q\260\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\036\250q\260\001";
static const char __pyx_k_EGLImageKHR_getPtr[] = "EGLImageKHR.getPtr";
static const char __pyx_k_EGLImageKHR_getter[] = "EGLImageKHR_getter";
static const char __pyx_k_Event_record_flags[] = "\n    Event record flags\n    ";
static const char __pyx_k_HelperCUjit_option[] = "_HelperCUjit_option";
static const char __pyx_k_HelperInputVoidPtr[] = "_HelperInputVoidPtr";
static const char __pyx_k_HelperKernelParams[] = "_HelperKernelParams";
static const char __pyx_k_VdpOutputSurface_2[] = "VdpOutputSurface";
static const char __pyx_k_a_nAQa_t_a_avQ_N_6[] = "\200\001\360$\000\005\037\230a\330\t\n\330\010\026\220n\240A\240Q\240a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_accessPolicyWindow[] = "accessPolicyWindow :\n";
static const char __pyx_k_address_ValueError[] = "address : <ValueError>";
static const char __pyx_k_anon_union2_getPtr[] = "anon_union2.getPtr";
static const char __pyx_k_anon_union3_getPtr[] = "anon_union3.getPtr";
static const char __pyx_k_anon_union4_getPtr[] = "anon_union4.getPtr";
static const char __pyx_k_anon_union5_getPtr[] = "anon_union5.getPtr";
static const char __pyx_k_anon_union6_getPtr[] = "anon_union6.getPtr";
static const char __pyx_k_anon_union7_getPtr[] = "anon_union7.getPtr";
static const char __pyx_k_anon_union8_getPtr[] = "anon_union8.getPtr";
static const char __pyx_k_anon_union9_getPtr[] = "anon_union9.getPtr";
static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
static const char __pyx_k_copyCtx_ValueError[] = "copyCtx : <ValueError>";
static const char __pyx_k_cuCtxGetApiVersion[] = "cuCtxGetApiVersion";
static const char __pyx_k_cuDeviceGetMemPool[] = "cuDeviceGetMemPool";
static const char __pyx_k_cuDeviceGetUuid_v2[] = "cuDeviceGetUuid_v2";
static const char __pyx_k_cuDeviceSetMemPool[] = "cuDeviceSetMemPool";
static const char __pyx_k_cuDriverGetVersion[] = "cuDriverGetVersion";
static const char __pyx_k_cuEventElapsedTime[] = "cuEventElapsedTime";
static const char __pyx_k_cuEventSynchronize[] = "cuEventSynchronize";
static const char __pyx_k_cuFuncGetAttribute[] = "cuFuncGetAttribute";
static const char __pyx_k_cuFuncGetParamInfo[] = "cuFuncGetParamInfo";
static const char __pyx_k_cuFuncSetAttribute[] = "cuFuncSetAttribute";
static const char __pyx_k_cuGraphAddHostNode[] = "cuGraphAddHostNode";
static const char __pyx_k_cuGraphDestroyNode[] = "cuGraphDestroyNode";
static const char __pyx_k_cuGraphExecDestroy[] = "cuGraphExecDestroy";
static const char __pyx_k_cuGraphGetEdges_v2[] = "cuGraphGetEdges_v2";
static const char __pyx_k_cuGraphInstantiate[] = "cuGraphInstantiate";
static const char __pyx_k_cuGraphNodeGetType[] = "cuGraphNodeGetType";
static const char __pyx_k_cuIpcOpenMemHandle[] = "cuIpcOpenMemHandle";
static const char __pyx_k_cuKernelGetLibrary[] = "cuKernelGetLibrary";
static const char __pyx_k_cuLibraryGetGlobal[] = "cuLibraryGetGlobal";
static const char __pyx_k_cuLibraryGetKernel[] = "cuLibraryGetKernel";
static const char __pyx_k_cuLibraryGetModule[] = "cuLibraryGetModule";
static const char __pyx_k_cuLogsDumpToMemory[] = "cuLogsDumpToMemory";
static const char __pyx_k_cuMemMapArrayAsync[] = "cuMemMapArrayAsync";
static const char __pyx_k_cuMemPoolGetAccess[] = "cuMemPoolGetAccess";
static const char __pyx_k_cuMemPoolSetAccess[] = "cuMemPoolSetAccess";
static const char __pyx_k_cuMemPrefetchAsync[] = "cuMemPrefetchAsync";
static const char __pyx_k_cuMemcpyBatchAsync[] = "cuMemcpyBatchAsync";
static const char __pyx_k_cuMemsetD2D16Async[] = "cuMemsetD2D16Async";
static const char __pyx_k_cuMemsetD2D32Async[] = "cuMemsetD2D32Async";
static const char __pyx_k_cuModuleGetSurfRef[] = "cuModuleGetSurfRef";
static const char __pyx_k_cuModuleLoadDataEx[] = "cuModuleLoadDataEx";
static const char __pyx_k_cuMulticastBindMem[] = "cuMulticastBindMem";
static const char __pyx_k_cuStreamBatchMemOp[] = "cuStreamBatchMemOp";
static const char __pyx_k_cuStreamEndCapture[] = "cuStreamEndCapture";
static const char __pyx_k_cuSurfObjectCreate[] = "cuSurfObjectCreate";
static const char __pyx_k_cuTexObjectDestroy[] = "cuTexObjectDestroy";
static const char __pyx_k_cuTexRefGetAddress[] = "cuTexRefGetAddress";
static const char __pyx_k_cuTexRefSetAddress[] = "cuTexRefSetAddress";
static const char __pyx_k_cuUserObjectCreate[] = "cuUserObjectCreate";
static const char __pyx_k_cuUserObjectRetain[] = "cuUserObjectRetain";
static const char __pyx_k_cychannelsPerPixel[] = "cychannelsPerPixel";
static const char __pyx_k_cydependencies_out[] = "cydependencies_out";
static const char __pyx_k_cykernelParams_ptr[] = "cykernelParams_ptr";
static const char __pyx_k_cylaunchParamsList[] = "cylaunchParamsList";
static const char __pyx_k_cymemsetParams_ptr[] = "cymemsetParams_ptr";
static const char __pyx_k_cyoptionValues_ptr[] = "cyoptionValues_ptr";
static const char __pyx_k_cypResViewDesc_ptr[] = "cypResViewDesc_ptr";
static const char __pyx_k_defaultLaunchValue[] = "defaultLaunchValue";
static const char __pyx_k_devNode_ValueError[] = "devNode : <ValueError>";
static const char __pyx_k_dict_CUGLmap_flags[] = "_dict_CUGLmap_flags";
static const char __pyx_k_dict_CUcigDataType[] = "_dict_CUcigDataType";
static const char __pyx_k_dict_CUcomputemode[] = "_dict_CUcomputemode";
static const char __pyx_k_dict_CUevent_flags[] = "_dict_CUevent_flags";
static const char __pyx_k_dict_CUfilter_mode[] = "_dict_CUfilter_mode";
static const char __pyx_k_dict_CUmemcpyFlags[] = "_dict_CUmemcpyFlags";
static const char __pyx_k_dict_CUoutput_mode[] = "_dict_CUoutput_mode";
static const char __pyx_k_dstHost_ValueError[] = "dstHost : <ValueError>";
static const char __pyx_k_execAffinityParams[] = "execAffinityParams : ";
static const char __pyx_k_firstMipmapLevel_2[] = "firstMipmapLevel";
static const char __pyx_k_functionWindowSize[] = "functionWindowSize : ";
static const char __pyx_k_hStream_ValueError[] = "hStream : <ValueError>";
static const char __pyx_k_hitProp_ValueError[] = "hitProp : <ValueError>";
static const char __pyx_k_internal_padding_2[] = "_internal_padding";
static const char __pyx_k_locHint_ValueError[] = "locHint : <ValueError>";
static const char __pyx_k_maxSize_ValueError[] = "maxSize : <ValueError>";
static const char __pyx_k_maxThreadsPerBlock[] = "maxThreadsPerBlock : ";
static const char __pyx_k_maxWidthInElements[] = "maxWidthInElements";
static const char __pyx_k_memOperationType_2[] = "memOperationType";
static const char __pyx_k_memSyncDomainMap_2[] = "memSyncDomainMap";
static const char __pyx_k_memoryRequirements[] = "memoryRequirements";
static const char __pyx_k_mipmapFilterMode_2[] = "mipmapFilterMode";
static const char __pyx_k_miptail_ValueError[] = "miptail : <ValueError>";
static const char __pyx_k_offsetX_ValueError[] = "offsetX : <ValueError>";
static const char __pyx_k_offsetY_ValueError[] = "offsetY : <ValueError>";
static const char __pyx_k_offsetZ_ValueError[] = "offsetZ : <ValueError>";
static const char __pyx_k_padding_ValueError[] = "padding : <ValueError>";
static const char __pyx_k_pitch2D_ValueError[] = "pitch2D : <ValueError>";
static const char __pyx_k_pvdpGetProcAddress[] = "pvdpGetProcAddress";
static const char __pyx_k_pydependencies_out[] = "pydependencies_out";
static const char __pyx_k_resType_ValueError[] = "resType : <ValueError>";
static const char __pyx_k_smCount_ValueError[] = "smCount : <ValueError>";
static const char __pyx_k_srcHost_ValueError[] = "srcHost : <ValueError>";
static const char __pyx_k_to_port_ValueError[] = "to_port : <ValueError>";
static const char __pyx_k_tuple_int_list_int[] = "tuple[int] | list[int]";
static const char __pyx_k_value64_ValueError[] = "value64 : <ValueError>";
static const char __pyx_k_voidStarHelperdata[] = "voidStarHelperdata";
static const char __pyx_k_wkQXXyyz_D_D_E_E_F[] = "\320\004?\270w\300k\320QX\320Xy\320yz\360\000\000{\001D\002\360\000\000D\002E\002\360\000\000E\002F\002";
static const char __pyx_k_06_9_M_gU___1_q_N_1[] = "\200\001\330/0\3606\000\0059\270\004\270M\310\025\310g\320U_\320_`\330\t\n\330\010\026\320\0261\260\021\260%\260q\330\004\014\210N\230!\2301";
static const char __pyx_k_0_HA_oQ_t_a_avQ_N_6[] = "\200\001\3600\000\005\035\230H\240A\330\t\n\330\010\026\220o\240Q\320&:\270'\300\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_1_a_D_t_a_avQ_N_6_2[] = "\200\001\360&\000\005\033\230)\2401\330\t\n\330\010\026\320\026&\240a\320'<\270D\300\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_81_l_7v_t_a_avQ_N_6[] = "\200\001\360.\000\005\034\2308\2401\330\t\n\330\010\026\220l\240!\320#7\260v\270[\310\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_A_t_s_4w_A_4q_1_WAT[] = "\200A\330\010\017\210t\220<\230s\240!\330\010\013\2104\210w\320\026<\270A\330<=\330<=\330<=\330\014\023\2204\220q\340\014\022\220)\2301\320\034=\270W\300A\300T\310\021";
static const char __pyx_k_CUDA_ARRAY3D_SPARSE[] = "CUDA_ARRAY3D_SPARSE";
static const char __pyx_k_CUDA_Process_States[] = "\n    CUDA Process States\n    ";
static const char __pyx_k_CU_EVENT_SCHED_AUTO[] = "CU_EVENT_SCHED_AUTO";
static const char __pyx_k_CU_EVENT_SCHED_SPIN[] = "CU_EVENT_SCHED_SPIN";
static const char __pyx_k_CU_JIT_FAST_COMPILE[] = "CU_JIT_FAST_COMPILE";
static const char __pyx_k_CU_JIT_INPUT_OBJECT[] = "CU_JIT_INPUT_OBJECT";
static const char __pyx_k_CU_JIT_NEW_SM3X_OPT[] = "CU_JIT_NEW_SM3X_OPT";
static const char __pyx_k_CU_LAUNCH_PARAM_END[] = "CU_LAUNCH_PARAM_END";
static const char __pyx_k_CU_LIMIT_SHMEM_SIZE[] = "CU_LIMIT_SHMEM_SIZE";
static const char __pyx_k_CU_LIMIT_STACK_SIZE[] = "CU_LIMIT_STACK_SIZE";
static const char __pyx_k_CU_MEMORYTYPE_ARRAY[] = "CU_MEMORYTYPE_ARRAY";
static const char __pyx_k_CU_PARAM_TR_DEFAULT[] = "CU_PARAM_TR_DEFAULT";
static const char __pyx_k_CU_SYNC_POLICY_AUTO[] = "CU_SYNC_POLICY_AUTO";
static const char __pyx_k_CU_SYNC_POLICY_SPIN[] = "CU_SYNC_POLICY_SPIN";
static const char __pyx_k_CUdevResourceDesc_2[] = "CUdevResourceDesc";
static const char __pyx_k_CUdevprop_st_getPtr[] = "CUdevprop_st.getPtr";
static const char __pyx_k_CUevent_sched_flags[] = "CUevent_sched_flags";
static const char __pyx_k_CUexecAffinityParam[] = "CUexecAffinityParam";
static const char __pyx_k_CUexternalSemaphore[] = "<CUexternalSemaphore ";
static const char __pyx_k_CUgraphDeviceNode_2[] = "CUgraphDeviceNode";
static const char __pyx_k_CUipcEventHandle_st[] = "CUipcEventHandle_st";
static const char __pyx_k_CUipcEventHandle_v1[] = "CUipcEventHandle_v1";
static const char __pyx_k_CUlaunchAttributeID[] = "CUlaunchAttributeID";
static const char __pyx_k_CUmemAllocationProp[] = "CUmemAllocationProp";
static const char __pyx_k_CUmemAllocationType[] = "CUmemAllocationType";
static const char __pyx_k_CUmemPool_attribute[] = "CUmemPool_attribute";
static const char __pyx_k_CUmemoryPool_getPtr[] = "CUmemoryPool.getPtr";
static const char __pyx_k_CUmemoryPool_getter[] = "CUmemoryPool_getter";
static const char __pyx_k_CUmoduleLoadingMode[] = "CUmoduleLoadingMode";
static const char __pyx_k_CUpointer_attribute[] = "CUpointer_attribute";
static const char __pyx_k_CUstreamCaptureMode[] = "CUstreamCaptureMode";
static const char __pyx_k_CUsurfObject_getPtr[] = "CUsurfObject.getPtr";
static const char __pyx_k_CUtensorMapDataType[] = "CUtensorMapDataType";
static const char __pyx_k_CUuserObject_getPtr[] = "CUuserObject.getPtr";
static const char __pyx_k_CUuserObject_getter[] = "CUuserObject_getter";
static const char __pyx_k_Device_code_formats[] = "\n    Device code formats\n    ";
static const char __pyx_k_EGLStreamKHR_getPtr[] = "EGLStreamKHR.getPtr";
static const char __pyx_k_EGLStreamKHR_getter[] = "EGLStreamKHR_getter";
static const char __pyx_k_E_nAQha_t_a_avQ_N_6[] = "\200\001\330#$\360^\001\000\005\032\230\021\330\004$\240E\250\021\330\t\n\330\010\026\220n\240A\240Q\240h\250a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Function_properties[] = "\n    Function properties\n    ";
static const char __pyx_k_HelperCudaJitOption[] = "_HelperCudaJitOption";
static const char __pyx_k_Kq_KzYZ_t_a_avQ_N_6[] = "\200\001\360~\003\000\005\035\230K\240q\330\t\n\330\010\026\320\026(\250\001\320)@\300\004\300K\310z\320YZ\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Memory_handle_types[] = "\n    Memory handle types\n    ";
static const char __pyx_k_NVCL_CTX_SCHED_AUTO[] = "NVCL_CTX_SCHED_AUTO";
static const char __pyx_k_NVCL_CTX_SCHED_SPIN[] = "NVCL_CTX_SCHED_SPIN";
static const char __pyx_k_N_1A_t_a_avQ_N_6_Qa[] = "\200\001\360N\001\000\n\013\330\010\026\320\026*\250!\2501\250A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\034\250Q\250a";
static const char __pyx_k_NumPackedComponents[] = "NumPackedComponents";
static const char __pyx_k_Optional_CUeglFrame[] = "Optional[CUeglFrame]";
static const char __pyx_k_Pointer_information[] = "\n    Pointer information\n    ";
static const char __pyx_k_Q_a_1M_c_c_Qa_1_N_1[] = "\200\001\360.\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\t\n\330\010\026\320\026)\250\021\250!\330\004\014\210N\230!\2301";
static const char __pyx_k_Qaq_t_a_avQ_N_6_4AQ[] = "\200\001\360&\000\n\013\330\010\026\320\026-\250Q\250a\250q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\320!4\260A\260Q";
static const char __pyx_k_VdpGetProcAddress_2[] = "VdpGetProcAddress";
static const char __pyx_k_WKwVvvw_x_A_A_B_B_C[] = "\320\004=\270W\300K\310w\320Vv\320vw\360\000\000x\001A\002\360\000\000A\002B\002\360\000\000B\002C\002";
static const char __pyx_k_XQ_oQ_Q_t_a_avQ_N_6[] = "\200\001\360@\001\000\005\036\230X\240Q\330\t\n\330\010\026\220o\240Q\320&:\270(\300+\310Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_anon_struct0_getPtr[] = "anon_struct0.getPtr";
static const char __pyx_k_anon_struct1_getPtr[] = "anon_struct1.getPtr";
static const char __pyx_k_anon_struct2_getPtr[] = "anon_struct2.getPtr";
static const char __pyx_k_anon_struct3_getPtr[] = "anon_struct3.getPtr";
static const char __pyx_k_anon_struct4_getPtr[] = "anon_struct4.getPtr";
static const char __pyx_k_anon_struct5_getPtr[] = "anon_struct5.getPtr";
static const char __pyx_k_anon_struct6_getPtr[] = "anon_struct6.getPtr";
static const char __pyx_k_anon_struct7_getPtr[] = "anon_struct7.getPtr";
static const char __pyx_k_anon_struct8_getPtr[] = "anon_struct8.getPtr";
static const char __pyx_k_anon_struct9_getPtr[] = "anon_struct9.getPtr";
static const char __pyx_k_anon_union10_getPtr[] = "anon_union10.getPtr";
static const char __pyx_k_anon_union11_getPtr[] = "anon_union11.getPtr";
static const char __pyx_k_anon_union12_getPtr[] = "anon_union12.getPtr";
static const char __pyx_k_anon_union15_getPtr[] = "anon_union15.getPtr";
static const char __pyx_k_base_ptr_ValueError[] = "base_ptr : <ValueError>";
static const char __pyx_k_bytesize_ValueError[] = "bytesize : <ValueError>";
static const char __pyx_k_cuCtxGetCacheConfig[] = "cuCtxGetCacheConfig";
static const char __pyx_k_cuCtxGetDevResource[] = "cuCtxGetDevResource";
static const char __pyx_k_cuCtxSetCacheConfig[] = "cuCtxSetCacheConfig";
static const char __pyx_k_cuDeviceGetPCIBusId[] = "cuDeviceGetPCIBusId";
static const char __pyx_k_cuFormat_ValueError[] = "cuFormat : <ValueError>";
static const char __pyx_k_cuFuncSetBlockShape[] = "cuFuncSetBlockShape";
static const char __pyx_k_cuFuncSetSharedSize[] = "cuFuncSetSharedSize";
static const char __pyx_k_cuGraphAddEmptyNode[] = "cuGraphAddEmptyNode";
static const char __pyx_k_cuGraphExecGetFlags[] = "cuGraphExecGetFlags";
static const char __pyx_k_cuGraphGetRootNodes[] = "cuGraphGetRootNodes";
static const char __pyx_k_cuGreenCtxWaitEvent[] = "cuGreenCtxWaitEvent";
static const char __pyx_k_cuIpcCloseMemHandle[] = "cuIpcCloseMemHandle";
static const char __pyx_k_cuIpcGetEventHandle[] = "cuIpcGetEventHandle";
static const char __pyx_k_cuKernelGetFunction[] = "cuKernelGetFunction";
static const char __pyx_k_cuLibraryGetManaged[] = "cuLibraryGetManaged";
static const char __pyx_k_cuMemAddressReserve[] = "cuMemAddressReserve";
static const char __pyx_k_cuMemHostUnregister[] = "cuMemHostUnregister";
static const char __pyx_k_cuMemcpy2DUnaligned[] = "cuMemcpy2DUnaligned";
static const char __pyx_k_cuMemcpy3DPeerAsync[] = "cuMemcpy3DPeerAsync";
static const char __pyx_k_cuModuleGetFunction[] = "cuModuleGetFunction";
static const char __pyx_k_cuMulticastBindAddr[] = "cuMulticastBindAddr";
static const char __pyx_k_cuStreamAddCallback[] = "cuStreamAddCallback";
static const char __pyx_k_cuStreamGetGreenCtx[] = "cuStreamGetGreenCtx";
static const char __pyx_k_cuStreamGetPriority[] = "cuStreamGetPriority";
static const char __pyx_k_cuStreamIsCapturing[] = "cuStreamIsCapturing";
static const char __pyx_k_cuStreamSynchronize[] = "cuStreamSynchronize";
static const char __pyx_k_cuStreamWaitValue32[] = "cuStreamWaitValue32";
static const char __pyx_k_cuStreamWaitValue64[] = "cuStreamWaitValue64";
static const char __pyx_k_cuSurfObjectDestroy[] = "cuSurfObjectDestroy";
static const char __pyx_k_cuUserObjectRelease[] = "cuUserObjectRelease";
static const char __pyx_k_cuda_bindings_utils[] = "cuda.bindings.utils";
static const char __pyx_k_cyglobalAddress_ptr[] = "cyglobalAddress_ptr";
static const char __pyx_k_cymemHandleDesc_ptr[] = "cymemHandleDesc_ptr";
static const char __pyx_k_cynvSciSyncAttrList[] = "cynvSciSyncAttrList";
static const char __pyx_k_cysemHandleDesc_ptr[] = "cysemHandleDesc_ptr";
static const char __pyx_k_cyvdpGetProcAddress[] = "cyvdpGetProcAddress";
static const char __pyx_k_default__ValueError[] = "default_ : <ValueError>";
static const char __pyx_k_dict_CUGLDeviceList[] = "_dict_CUGLDeviceList";
static const char __pyx_k_dict_CUaddress_mode[] = "_dict_CUaddress_mode";
static const char __pyx_k_dict_CUarray_format[] = "_dict_CUarray_format";
static const char __pyx_k_dict_CUeglFrameType[] = "_dict_CUeglFrameType";
static const char __pyx_k_dict_CUipcMem_flags[] = "_dict_CUipcMem_flags";
static const char __pyx_k_dict_CUjitInputType[] = "_dict_CUjitInputType";
static const char __pyx_k_dict_CUjit_fallback[] = "_dict_CUjit_fallback";
static const char __pyx_k_dict_CUprocessState[] = "_dict_CUprocessState";
static const char __pyx_k_dict_CUresourcetype[] = "_dict_CUresourcetype";
static const char __pyx_k_dict_CUsharedconfig[] = "_dict_CUsharedconfig";
static const char __pyx_k_dict_CUstream_flags[] = "_dict_CUstream_flags";
static const char __pyx_k_dict_cl_event_flags[] = "_dict_cl_event_flags";
static const char __pyx_k_dstArray_ValueError[] = "dstArray : <ValueError>";
static const char __pyx_k_dstPitch_ValueError[] = "dstPitch : <ValueError>";
static const char __pyx_k_flushRemoteWrites_2[] = "flushRemoteWrites";
static const char __pyx_k_function_ValueError[] = "function : <ValueError>";
static const char __pyx_k_gridDimX_ValueError[] = "gridDimX : <ValueError>";
static const char __pyx_k_gridDimY_ValueError[] = "gridDimY : <ValueError>";
static const char __pyx_k_gridDimZ_ValueError[] = "gridDimZ : <ValueError>";
static const char __pyx_k_hitRatio_ValueError[] = "hitRatio : <ValueError>";
static const char __pyx_k_libraryOptionValues[] = "libraryOptionValues";
static const char __pyx_k_location_ValueError[] = "location : <ValueError>";
static const char __pyx_k_maxMipmapLevelClamp[] = "maxMipmapLevelClamp : ";
static const char __pyx_k_memPitch_ValueError[] = "memPitch : <ValueError>";
static const char __pyx_k_minMipmapLevelClamp[] = "minMipmapLevelClamp : ";
static const char __pyx_k_miptailFirstLevel_2[] = "miptailFirstLevel";
static const char __pyx_k_missProp_ValueError[] = "missProp : <ValueError>";
static const char __pyx_k_numAttrs_ValueError[] = "numAttrs : <ValueError>";
static const char __pyx_k_numDependencies_out[] = "numDependencies_out";
static const char __pyx_k_oversize_ValueError[] = "_oversize : <ValueError>";
static const char __pyx_k_p2pToken_ValueError[] = "p2pToken : <ValueError>";
static const char __pyx_k_pMipmappedArrayDesc[] = "pMipmappedArrayDesc";
static const char __pyx_k_pixelBoxLowerCorner[] = "pixelBoxLowerCorner";
static const char __pyx_k_pixelBoxUpperCorner[] = "pixelBoxUpperCorner";
static const char __pyx_k_preferredClusterDim[] = "preferredClusterDim :\n";
static const char __pyx_k_priority_ValueError[] = "priority : <ValueError>";
static const char __pyx_k_programmaticEvent_2[] = "programmaticEvent";
static const char __pyx_k_reserved_ValueError[] = "reserved : <ValueError>";
static const char __pyx_k_resource_ValueError[] = "resource : <ValueError>";
static const char __pyx_k_sharedMemCarveout_2[] = "sharedMemCarveout";
static const char __pyx_k_sharedMemPerBlock_2[] = "sharedMemPerBlock";
static const char __pyx_k_srcArray_ValueError[] = "srcArray : <ValueError>";
static const char __pyx_k_srcPitch_ValueError[] = "srcPitch : <ValueError>";
static const char __pyx_k_totalConstantMemory[] = "totalConstantMemory : ";
static const char __pyx_k_triggerAtBlockStart[] = "triggerAtBlockStart : ";
static const char __pyx_k_userData_ValueError[] = "userData : <ValueError>";
static const char __pyx_k_win32HandleMetaData[] = "win32HandleMetaData : ";
static const char __pyx_k_z_A_Q_1L_S_S_AQ_N_1[] = "\200\001\360*\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\320\026)\250\021\250!\330\004\014\210N\230!\2301";
static const char __pyx_k_1_l_8_Kq_t_a_avQ_N_6[] = "\200\001\360>\000\005\033\230)\2401\330\t\n\330\010\026\220l\240!\320#8\270\004\270K\300q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_23_4_EQXXbbc_4AU_N_1[] = "\200\001\33023\360,\000\005<\2704\270}\310E\320QX\320Xb\320bc\330\t\n\330\010\026\320\0264\260A\260U\270!\330\004\014\210N\230!\2301";
static const char __pyx_k_2_A_A_Kq_t_a_avQ_N_6[] = "\200\001\3602\000\005\031\230\010\240\001\330\t\n\330\010\026\320\026,\250A\320-A\300\023\300K\310q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_2_vS_1HA_AQ_A_Ja_N_1[] = "\200\001\3602\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\t\n\330\010\026\320\026)\250\021\250!\330\004\014\210N\230!\2301";
static const char __pyx_k_4_Kq_k_9_t_a_avQ_N_6[] = "\200\001\3604\000\005\035\230K\240q\330\t\n\330\010\026\220k\240\021\320\"9\270\024\270[\310\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_q_Qa_Q_t_a_avQ_N_6[] = "\200\001\3606\000\005 \230q\330\004\n\320\n\035\230Q\230a\330\004\031\230\027\240\n\250#\250Q\330\t\n\330\010\026\320\026(\250\001\250\021\250(\260!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_CUDA_ARRAY3D_2DARRAY[] = "CUDA_ARRAY3D_2DARRAY";
static const char __pyx_k_CUDA_ARRAY3D_CUBEMAP[] = "CUDA_ARRAY3D_CUBEMAP";
static const char __pyx_k_CUDA_ARRAY3D_LAYERED[] = "CUDA_ARRAY3D_LAYERED";
static const char __pyx_k_CUDA_ERROR_CONTAINED[] = "CUDA_ERROR_CONTAINED";
static const char __pyx_k_CUDA_ERROR_NOT_FOUND[] = "CUDA_ERROR_NOT_FOUND";
static const char __pyx_k_CUDA_ERROR_NOT_READY[] = "CUDA_ERROR_NOT_READY";
static const char __pyx_k_CUDA_ERROR_NO_DEVICE[] = "CUDA_ERROR_NO_DEVICE";
static const char __pyx_k_CUDA_TEXTURE_DESC_st[] = "CUDA_TEXTURE_DESC_st";
static const char __pyx_k_CUDA_TEXTURE_DESC_v1[] = "CUDA_TEXTURE_DESC_v1";
static const char __pyx_k_CU_CTX_BLOCKING_SYNC[] = "CU_CTX_BLOCKING_SYNC";
static const char __pyx_k_CU_EVENT_SCHED_YIELD[] = "CU_EVENT_SCHED_YIELD";
static const char __pyx_k_CU_JIT_INPUT_LIBRARY[] = "CU_JIT_INPUT_LIBRARY";
static const char __pyx_k_CU_JIT_MAX_REGISTERS[] = "CU_JIT_MAX_REGISTERS";
static const char __pyx_k_CU_LIMIT_CIG_ENABLED[] = "CU_LIMIT_CIG_ENABLED";
static const char __pyx_k_CU_LOG_LEVEL_WARNING[] = "CU_LOG_LEVEL_WARNING";
static const char __pyx_k_CU_MEMORYTYPE_DEVICE[] = "CU_MEMORYTYPE_DEVICE";
static const char __pyx_k_CU_MEM_ATTACH_GLOBAL[] = "CU_MEM_ATTACH_GLOBAL";
static const char __pyx_k_CU_MEM_ATTACH_SINGLE[] = "CU_MEM_ATTACH_SINGLE";
static const char __pyx_k_CU_OCCUPANCY_DEFAULT[] = "CU_OCCUPANCY_DEFAULT";
static const char __pyx_k_CU_STREAM_PER_THREAD[] = "CU_STREAM_PER_THREAD";
static const char __pyx_k_CU_SYNC_POLICY_YIELD[] = "CU_SYNC_POLICY_YIELD";
static const char __pyx_k_CU_TARGET_COMPUTE_30[] = "CU_TARGET_COMPUTE_30";
static const char __pyx_k_CU_TARGET_COMPUTE_32[] = "CU_TARGET_COMPUTE_32";
static const char __pyx_k_CU_TARGET_COMPUTE_35[] = "CU_TARGET_COMPUTE_35";
static const char __pyx_k_CU_TARGET_COMPUTE_37[] = "CU_TARGET_COMPUTE_37";
static const char __pyx_k_CU_TARGET_COMPUTE_50[] = "CU_TARGET_COMPUTE_50";
static const char __pyx_k_CU_TARGET_COMPUTE_52[] = "CU_TARGET_COMPUTE_52";
static const char __pyx_k_CU_TARGET_COMPUTE_53[] = "CU_TARGET_COMPUTE_53";
static const char __pyx_k_CU_TARGET_COMPUTE_60[] = "CU_TARGET_COMPUTE_60";
static const char __pyx_k_CU_TARGET_COMPUTE_61[] = "CU_TARGET_COMPUTE_61";
static const char __pyx_k_CU_TARGET_COMPUTE_62[] = "CU_TARGET_COMPUTE_62";
static const char __pyx_k_CU_TARGET_COMPUTE_70[] = "CU_TARGET_COMPUTE_70";
static const char __pyx_k_CU_TARGET_COMPUTE_72[] = "CU_TARGET_COMPUTE_72";
static const char __pyx_k_CU_TARGET_COMPUTE_75[] = "CU_TARGET_COMPUTE_75";
static const char __pyx_k_CU_TARGET_COMPUTE_80[] = "CU_TARGET_COMPUTE_80";
static const char __pyx_k_CU_TARGET_COMPUTE_86[] = "CU_TARGET_COMPUTE_86";
static const char __pyx_k_CU_TARGET_COMPUTE_87[] = "CU_TARGET_COMPUTE_87";
static const char __pyx_k_CU_TARGET_COMPUTE_89[] = "CU_TARGET_COMPUTE_89";
static const char __pyx_k_CU_TARGET_COMPUTE_90[] = "CU_TARGET_COMPUTE_90";
static const char __pyx_k_CUaccessPolicyWindow[] = "CUaccessPolicyWindow";
static const char __pyx_k_CUarray_cubemap_face[] = "CUarray_cubemap_face";
static const char __pyx_k_CUcheckpointLockArgs[] = "CUcheckpointLockArgs";
static const char __pyx_k_CUctxCreateParams_st[] = "CUctxCreateParams_st";
static const char __pyx_k_CUeglFrame_st_getPtr[] = "CUeglFrame_st.getPtr";
static const char __pyx_k_CUevent_record_flags[] = "CUevent_record_flags";
static const char __pyx_k_CUextent3D_st_getPtr[] = "CUextent3D_st.getPtr";
static const char __pyx_k_CUfunction_attribute[] = "CUfunction_attribute";
static const char __pyx_k_CUgraphMem_attribute[] = "CUgraphMem_attribute";
static const char __pyx_k_CUgraphNodeParams_st[] = "CUgraphNodeParams_st";
static const char __pyx_k_CUgraphicsResource_2[] = "CUgraphicsResource";
static const char __pyx_k_CUlaunchAttribute_st[] = "CUlaunchAttribute_st";
static const char __pyx_k_CUlogIterator_getPtr[] = "CUlogIterator.getPtr";
static const char __pyx_k_CUlogsCallbackHandle[] = "<CUlogsCallbackHandle ";
static const char __pyx_k_CUmemFabricHandle_st[] = "CUmemFabricHandle_st";
static const char __pyx_k_CUmemFabricHandle_v1[] = "CUmemFabricHandle_v1";
static const char __pyx_k_CUmemRangeHandleType[] = "CUmemRangeHandleType";
static const char __pyx_k_CUmemcpy3DOperand_st[] = "CUmemcpy3DOperand_st";
static const char __pyx_k_CUmemcpy3DOperand_v1[] = "CUmemcpy3DOperand_v1";
static const char __pyx_k_CUoccupancyB2DSize_2[] = "CUoccupancyB2DSize";
static const char __pyx_k_CUoffset3D_st_getPtr[] = "CUoffset3D_st.getPtr";
static const char __pyx_k_CUresourceViewFormat[] = "CUresourceViewFormat";
static const char __pyx_k_CUstreamAttrValue_v1[] = "CUstreamAttrValue_v1";
static const char __pyx_k_Event_creation_flags[] = "\n    Event creation flags\n    ";
static const char __pyx_k_Memory_advise_values[] = "\n    Memory advise values\n    ";
static const char __pyx_k_NVCL_CTX_SCHED_YIELD[] = "NVCL_CTX_SCHED_YIELD";
static const char __pyx_k_Optional_CUtensorMap[] = "Optional[CUtensorMap]";
static const char __pyx_k_RESOURCE_ABI_VERSION[] = "RESOURCE_ABI_VERSION";
static const char __pyx_k_R_7_nA_8_t_a_avQ_N_6[] = "\200\001\360R\001\000\005\034\2307\240!\330\t\n\330\010\026\220n\240A\320%8\270\007\270{\310!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Resource_view_format[] = "\n    Resource view format\n    ";
static const char __pyx_k_SIMDWidth_ValueError[] = "SIMDWidth : <ValueError>";
static const char __pyx_k_Tensor_map_data_type[] = "\n    Tensor map data type\n    ";
static const char __pyx_k_accessPolicyWindow_2[] = "accessPolicyWindow";
static const char __pyx_k_alignment_ValueError[] = "alignment : <ValueError>";
static const char __pyx_k_allocType_ValueError[] = "allocType : <ValueError>";
static const char __pyx_k_anon_struct10_getPtr[] = "anon_struct10.getPtr";
static const char __pyx_k_anon_struct11_getPtr[] = "anon_struct11.getPtr";
static const char __pyx_k_anon_struct12_getPtr[] = "anon_struct12.getPtr";
static const char __pyx_k_anon_struct13_getPtr[] = "anon_struct13.getPtr";
static const char __pyx_k_anon_struct14_getPtr[] = "anon_struct14.getPtr";
static const char __pyx_k_anon_struct15_getPtr[] = "anon_struct15.getPtr";
static const char __pyx_k_anon_struct16_getPtr[] = "anon_struct16.getPtr";
static const char __pyx_k_anon_struct17_getPtr[] = "anon_struct17.getPtr";
static const char __pyx_k_anon_struct18_getPtr[] = "anon_struct18.getPtr";
static const char __pyx_k_anon_struct19_getPtr[] = "anon_struct19.getPtr";
static const char __pyx_k_anon_struct20_getPtr[] = "anon_struct20.getPtr";
static const char __pyx_k_anon_struct21_getPtr[] = "anon_struct21.getPtr";
static const char __pyx_k_anon_struct22_getPtr[] = "anon_struct22.getPtr";
static const char __pyx_k_anon_struct23_getPtr[] = "anon_struct23.getPtr";
static const char __pyx_k_anon_struct24_getPtr[] = "anon_struct24.getPtr";
static const char __pyx_k_arrayDesc_ValueError[] = "arrayDesc : <ValueError>";
static const char __pyx_k_blockDimX_ValueError[] = "blockDimX : <ValueError>";
static const char __pyx_k_blockDimY_ValueError[] = "blockDimY : <ValueError>";
static const char __pyx_k_blockDimZ_ValueError[] = "blockDimZ : <ValueError>";
static const char __pyx_k_cigParams_ValueError[] = "cigParams : <ValueError>";
static const char __pyx_k_clockRate_ValueError[] = "clockRate : <ValueError>";
static const char __pyx_k_cuArrayGetDescriptor[] = "cuArrayGetDescriptor";
static const char __pyx_k_cuCtxGetExecAffinity[] = "cuCtxGetExecAffinity";
static const char __pyx_k_cuDeviceGetAttribute[] = "cuDeviceGetAttribute";
static const char __pyx_k_cuDeviceGraphMemTrim[] = "cuDeviceGraphMemTrim";
static const char __pyx_k_cuFuncSetCacheConfig[] = "cuFuncSetCacheConfig";
static const char __pyx_k_cuGraphAddKernelNode[] = "cuGraphAddKernelNode";
static const char __pyx_k_cuGraphAddMemcpyNode[] = "cuGraphAddMemcpyNode";
static const char __pyx_k_cuGraphAddMemsetNode[] = "cuGraphAddMemsetNode";
static const char __pyx_k_cuGraphDebugDotPrint[] = "cuGraphDebugDotPrint";
static const char __pyx_k_cuGraphNodeSetParams[] = "cuGraphNodeSetParams";
static const char __pyx_k_cuIpcOpenEventHandle[] = "cuIpcOpenEventHandle";
static const char __pyx_k_cuKernelGetAttribute[] = "cuKernelGetAttribute";
static const char __pyx_k_cuKernelGetParamInfo[] = "cuKernelGetParamInfo";
static const char __pyx_k_cuKernelSetAttribute[] = "cuKernelSetAttribute";
static const char __pyx_k_cuMemGetAddressRange[] = "cuMemGetAddressRange";
static const char __pyx_k_cuMemcpy3DBatchAsync[] = "cuMemcpy3DBatchAsync";
static const char __pyx_k_cuMulticastAddDevice[] = "cuMulticastAddDevice";
static const char __pyx_k_cuStreamBeginCapture[] = "cuStreamBeginCapture";
static const char __pyx_k_cuStreamGetAttribute[] = "cuStreamGetAttribute";
static const char __pyx_k_cuStreamSetAttribute[] = "cuStreamSetAttribute";
static const char __pyx_k_cuStreamWriteValue32[] = "cuStreamWriteValue32";
static const char __pyx_k_cuStreamWriteValue64[] = "cuStreamWriteValue64";
static const char __pyx_k_cuTexRefSetAddress2D[] = "cuTexRefSetAddress2D";
static const char __pyx_k_cuda_bindings_driver[] = "cuda.bindings.driver";
static const char __pyx_k_cypAllocateArray_ptr[] = "cypAllocateArray_ptr";
static const char __pyx_k_cypExportTableId_ptr[] = "cypExportTableId_ptr";
static const char __pyx_k_cyvoidStarHelper_ptr[] = "cyvoidStarHelper_ptr";
static const char __pyx_k_dataTable_ValueError[] = "dataTable : <ValueError>";
static const char __pyx_k_dict_CUgraphNodeType[] = "_dict_CUgraphNodeType";
static const char __pyx_k_dict_CUjit_cacheMode[] = "_dict_CUjit_cacheMode";
static const char __pyx_k_dict_CUlibraryOption[] = "_dict_CUlibraryOption";
static const char __pyx_k_dict_CUmemHandleType[] = "_dict_CUmemHandleType";
static const char __pyx_k_dict_CUmemRangeFlags[] = "_dict_CUmemRangeFlags";
static const char __pyx_k_dstDevice_ValueError[] = "dstDevice : <ValueError>";
static const char __pyx_k_dstHeight_ValueError[] = "dstHeight : <ValueError>";
static const char __pyx_k_errorNode_ValueError[] = "errorNode : <ValueError>";
static const char __pyx_k_eventWait_ValueError[] = "eventWait : <ValueError>";
static const char __pyx_k_execAffinityParams_2[] = "execAffinityParams";
static const char __pyx_k_frameType_ValueError[] = "frameType : <ValueError>";
static const char __pyx_k_from_port_ValueError[] = "from_port : <ValueError>";
static const char __pyx_k_functionWindowSize_2[] = "functionWindowSize";
static const char __pyx_k_gpuDirectRDMACapable[] = "gpuDirectRDMACapable : ";
static const char __pyx_k_lastLayer_ValueError[] = "lastLayer : <ValueError>";
static const char __pyx_k_maxThreadsPerBlock_2[] = "maxThreadsPerBlock";
static const char __pyx_k_memHandle_ValueError[] = "memHandle : <ValueError>";
static const char __pyx_k_numLevels_ValueError[] = "numLevels : <ValueError>";
static const char __pyx_k_num_bytes_ValueError[] = "num_bytes : <ValueError>";
static const char __pyx_k_nvSciSync_ValueError[] = "nvSciSync : <ValueError>";
static const char __pyx_k_operation_ValueError[] = "operation : <ValueError>";
static const char __pyx_k_ownership_ValueError[] = "ownership : <ValueError>";
static const char __pyx_k_pmaxMipmapLevelClamp[] = "pmaxMipmapLevelClamp";
static const char __pyx_k_pminMipmapLevelClamp[] = "pminMipmapLevelClamp";
static const char __pyx_k_poolProps_ValueError[] = "poolProps : <ValueError>";
static const char __pyx_k_q_oQhat1_t_a_avQ_N_6[] = "\200\001\360^\001\000\005\030\220q\330\t\n\330\010\026\220o\240Q\240h\250a\250t\2601\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_requestedHandleTypes[] = "requestedHandleTypes : ";
static const char __pyx_k_reserved0_ValueError[] = "reserved0 : <ValueError>";
static const char __pyx_k_reserved1_ValueError[] = "reserved1 : <ValueError>";
static const char __pyx_k_reserved2_ValueError[] = "reserved2 : <ValueError>";
static const char __pyx_k_rowLength_ValueError[] = "rowLength : <ValueError>";
static const char __pyx_k_srcDevice_ValueError[] = "srcDevice : <ValueError>";
static const char __pyx_k_srcHeight_ValueError[] = "srcHeight : <ValueError>";
static const char __pyx_k_timeoutMs_ValueError[] = "timeoutMs : <ValueError>";
static const char __pyx_k_waitValue_ValueError[] = "waitValue : <ValueError>";
static const char __pyx_k_wc_1IQ_Qa_Q_Zq_1_N_1[] = "\200\001\360.\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\026)\250\021\250!\330\004\017\320\017-\250Z\260q\330\t\n\330\010\026\320\0261\260\021\260!\330\004\014\210N\230!\2301";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_N_1[] = "\200\001\360<\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\t\n\330\010\026\320\026)\250\021\250!\330\004\014\210N\230!\2301";
static const char __pyx_k_0_U_A_q_t_a_avQ_N_6_S[] = "\200\001\330&'\3600\000\005&\240U\250!\330\004\034\230A\330\t\n\330\010\026\320\026'\240q\250\t\260\021\260!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\027\250\010\260\005\260S\270\n\300!";
static const char __pyx_k_81_m1_8_k_t_a_avQ_N_6[] = "\200\001\360:\000\005\034\2308\2401\330\t\n\330\010\026\220m\2401\320$8\270\006\270k\310\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_CIG_DATA_TYPE_NV_BLOB[] = "CIG_DATA_TYPE_NV_BLOB";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR[] = "CUDA_ARRAY_DESCRIPTOR";
static const char __pyx_k_CUDA_ERROR_INVALID_PC[] = "CUDA_ERROR_INVALID_PC";
static const char __pyx_k_CUDA_ERROR_MAP_FAILED[] = "CUDA_ERROR_MAP_FAILED";
static const char __pyx_k_CUDA_ERROR_NOT_MAPPED[] = "CUDA_ERROR_NOT_MAPPED";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS[] = "CUDA_HOST_NODE_PARAMS";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_st[] = "CUDA_LAUNCH_PARAMS_st";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_v1[] = "CUDA_LAUNCH_PARAMS_v1";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_st[] = "CUDA_MEMCPY3D_PEER_st";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_v1[] = "CUDA_MEMCPY3D_PEER_v1";
static const char __pyx_k_CUDA_Mem_Attach_Flags[] = "\n    CUDA Mem Attach Flags\n    ";
static const char __pyx_k_CUDA_RESOURCE_DESC_st[] = "CUDA_RESOURCE_DESC_st";
static const char __pyx_k_CUDA_RESOURCE_DESC_v1[] = "CUDA_RESOURCE_DESC_v1";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_A[] = "CU_EGL_COLOR_FORMAT_A";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_L[] = "CU_EGL_COLOR_FORMAT_L";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_R[] = "CU_EGL_COLOR_FORMAT_R";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y[] = "CU_EGL_COLOR_FORMAT_Y";
static const char __pyx_k_CU_EVENT_INTERPROCESS[] = "CU_EVENT_INTERPROCESS";
static const char __pyx_k_CU_EVENT_WAIT_DEFAULT[] = "CU_EVENT_WAIT_DEFAULT";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_MAX[] = "CU_FUNC_ATTRIBUTE_MAX";
static const char __pyx_k_CU_GL_DEVICE_LIST_ALL[] = "CU_GL_DEVICE_LIST_ALL";
static const char __pyx_k_CU_GRAPH_COND_TYPE_IF[] = "CU_GRAPH_COND_TYPE_IF";
static const char __pyx_k_CU_JIT_MIN_CTA_PER_SM[] = "CU_JIT_MIN_CTA_PER_SM";
static const char __pyx_k_CU_MEMORYTYPE_UNIFIED[] = "CU_MEMORYTYPE_UNIFIED";
static const char __pyx_k_CU_OUT_KEY_VALUE_PAIR[] = "CU_OUT_KEY_VALUE_PAIR";
static const char __pyx_k_CU_TARGET_COMPUTE_100[] = "CU_TARGET_COMPUTE_100";
static const char __pyx_k_CU_TARGET_COMPUTE_101[] = "CU_TARGET_COMPUTE_101";
static const char __pyx_k_CU_TARGET_COMPUTE_103[] = "CU_TARGET_COMPUTE_103";
static const char __pyx_k_CU_TARGET_COMPUTE_120[] = "CU_TARGET_COMPUTE_120";
static const char __pyx_k_CU_TARGET_COMPUTE_121[] = "CU_TARGET_COMPUTE_121";
static const char __pyx_k_CU_TARGET_COMPUTE_90A[] = "CU_TARGET_COMPUTE_90A";
static const char __pyx_k_CUasyncCallbackHandle[] = "<CUasyncCallbackHandle ";
static const char __pyx_k_CUdevice_P2PAttribute[] = "CUdevice_P2PAttribute";
static const char __pyx_k_CUdeviceptr_v2_getPtr[] = "CUdeviceptr_v2.getPtr";
static const char __pyx_k_CUeglStreamConnection[] = "<CUeglStreamConnection ";
static const char __pyx_k_CUexecAffinitySmCount[] = "CUexecAffinitySmCount";
static const char __pyx_k_CUexternalSemaphore_2[] = "CUexternalSemaphore";
static const char __pyx_k_CUgraphDebugDot_flags[] = "CUgraphDebugDot_flags";
static const char __pyx_k_CUgraphDependencyType[] = "CUgraphDependencyType";
static const char __pyx_k_CUkernelNodeAttrValue[] = "CUkernelNodeAttrValue";
static const char __pyx_k_CUlaunchMemSyncDomain[] = "CUlaunchMemSyncDomain";
static const char __pyx_k_CUlogsCallback_getPtr[] = "CUlogsCallback.getPtr";
static const char __pyx_k_CUmemDecompressParams[] = "CUmemDecompressParams";
static const char __pyx_k_CUmem_range_attribute[] = "CUmem_range_attribute";
static const char __pyx_k_CUmemcpy3DOperandType[] = "CUmemcpy3DOperandType";
static const char __pyx_k_CUmemcpyAttributes_st[] = "CUmemcpyAttributes_st";
static const char __pyx_k_CUmemcpyAttributes_v1[] = "CUmemcpyAttributes_v1";
static const char __pyx_k_CUmulticastObjectProp[] = "CUmulticastObjectProp";
static const char __pyx_k_CUstreamCaptureStatus[] = "CUstreamCaptureStatus";
static const char __pyx_k_CUtensorMapInterleave[] = "CUtensorMapInterleave";
static const char __pyx_k_CUtensorMap_st_getPtr[] = "CUtensorMap_st.getPtr";
static const char __pyx_k_CUtexObject_v1_getPtr[] = "CUtexObject_v1.getPtr";
static const char __pyx_k_HelperCUlibraryOption[] = "_HelperCUlibraryOption";
static const char __pyx_k_InputVoidPtrPtrHelper[] = "_InputVoidPtrPtrHelper";
static const char __pyx_k_NVCL_EVENT_SCHED_AUTO[] = "NVCL_EVENT_SCHED_AUTO";
static const char __pyx_k_NVCL_EVENT_SCHED_SPIN[] = "NVCL_EVENT_SCHED_SPIN";
static const char __pyx_k_Profiler_Output_Modes[] = "\n    Profiler Output Modes\n    ";
static const char __pyx_k_Q_a_1M_c_c_aq_A_1_N_1[] = "\200\001\360*\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230,\240a\240q\330\004\023\320\023*\250*\260A\330\t\n\330\010\026\320\026*\250!\2501\330\004\014\210N\230!\2301";
static const char __pyx_k_Stream_creation_flags[] = "\n    Stream creation flags\n    ";
static const char __pyx_k_Unsupported_attribute[] = "Unsupported attribute: {}";
static const char __pyx_k_allocFlags_ValueError[] = "allocFlags : <ValueError>";
static const char __pyx_k_clusterDim_ValueError[] = "clusterDim : <ValueError>";
static const char __pyx_k_copyParams_ValueError[] = "copyParams : <ValueError>";
static const char __pyx_k_cuCtxEnablePeerAccess[] = "cuCtxEnablePeerAccess";
static const char __pyx_k_cuDeviceCanAccessPeer[] = "cuDeviceCanAccessPeer";
static const char __pyx_k_cuDeviceGetByPCIBusId[] = "cuDeviceGetByPCIBusId";
static const char __pyx_k_cuDeviceGetProperties[] = "cuDeviceGetProperties";
static const char __pyx_k_cuEventElapsedTime_v2[] = "cuEventElapsedTime_v2";
static const char __pyx_k_cuGraphAddMemFreeNode[] = "cuGraphAddMemFreeNode";
static const char __pyx_k_cuGraphNodeGetEnabled[] = "cuGraphNodeGetEnabled";
static const char __pyx_k_cuGraphNodeSetEnabled[] = "cuGraphNodeSetEnabled";
static const char __pyx_k_cuGreenCtxRecordEvent[] = "cuGreenCtxRecordEvent";
static const char __pyx_k_cuLibraryLoadFromFile[] = "cuLibraryLoadFromFile";
static const char __pyx_k_cuMemPoolGetAttribute[] = "cuMemPoolGetAttribute";
static const char __pyx_k_cuMemPoolSetAttribute[] = "cuMemPoolSetAttribute";
static const char __pyx_k_cuMemPrefetchAsync_v2[] = "cuMemPrefetchAsync_v2";
static const char __pyx_k_cuModuleLoadFatBinary[] = "cuModuleLoadFatBinary";
static const char __pyx_k_cuPointerGetAttribute[] = "cuPointerGetAttribute";
static const char __pyx_k_cuPointerSetAttribute[] = "cuPointerSetAttribute";
static const char __pyx_k_cuTexRefGetFilterMode[] = "cuTexRefGetFilterMode";
static const char __pyx_k_cuTexRefSetFilterMode[] = "cuTexRefSetFilterMode";
static const char __pyx_k_cyctxCreateParams_ptr[] = "cyctxCreateParams_ptr";
static const char __pyx_k_cypixelBoxLowerCorner[] = "cypixelBoxLowerCorner";
static const char __pyx_k_cypixelBoxUpperCorner[] = "cypixelBoxUpperCorner";
static const char __pyx_k_cyshareableHandle_ptr[] = "cyshareableHandle_ptr";
static const char __pyx_k_dict_CUaccessProperty[] = "_dict_CUaccessProperty";
static const char __pyx_k_dict_CUeglColorFormat[] = "_dict_CUeglColorFormat";
static const char __pyx_k_dict_cl_context_flags[] = "_dict_cl_context_flags";
static const char __pyx_k_dstContext_ValueError[] = "dstContext : <ValueError>";
static const char __pyx_k_dstLocHint_ValueError[] = "dstLocHint : <ValueError>";
static const char __pyx_k_extSemWait_ValueError[] = "extSemWait : <ValueError>";
static const char __pyx_k_filterMode_ValueError[] = "filterMode : <ValueError>";
static const char __pyx_k_firstLayer_ValueError[] = "firstLayer : <ValueError>";
static const char __pyx_k_keyedMutex_ValueError[] = "keyedMutex : <ValueError>";
static const char __pyx_k_launchCompletionEvent[] = "launchCompletionEvent :\n";
static const char __pyx_k_maxMipmapLevelClamp_2[] = "maxMipmapLevelClamp";
static const char __pyx_k_minMipmapLevelClamp_2[] = "minMipmapLevelClamp";
static const char __pyx_k_numDevices_ValueError[] = "numDevices : <ValueError>";
static const char __pyx_k_numExecAffinityParams[] = "numExecAffinityParams : ";
static const char __pyx_k_numExtSems_ValueError[] = "numExtSems : <ValueError>";
static const char __pyx_k_overBudget_ValueError[] = "overBudget : <ValueError>";
static const char __pyx_k_paramArray_ValueError[] = "paramArray : <ValueError>";
static const char __pyx_k_planeCount_ValueError[] = "planeCount : <ValueError>";
static const char __pyx_k_preferredClusterDim_2[] = "preferredClusterDim";
static const char __pyx_k_result_out_ValueError[] = "result_out : <ValueError>";
static const char __pyx_k_sharedData_ValueError[] = "sharedData : <ValueError>";
static const char __pyx_k_srcContext_ValueError[] = "srcContext : <ValueError>";
static const char __pyx_k_srcLocHint_ValueError[] = "srcLocHint : <ValueError>";
static const char __pyx_k_syncPolicy_ValueError[] = "syncPolicy : <ValueError>";
static const char __pyx_k_tileExtent_ValueError[] = "tileExtent : <ValueError>";
static const char __pyx_k_totalConstantMemory_2[] = "totalConstantMemory";
static const char __pyx_k_triggerAtBlockStart_2[] = "triggerAtBlockStart";
static const char __pyx_k_wc_1IQ_Qa_Qhaq_1A_N_1[] = "\200\001\360.\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\330\t\n\330\010\026\320\026+\2501\250A\330\004\014\210N\230!\2301";
static const char __pyx_k_win32HandleMetaData_2[] = "win32HandleMetaData";
static const char __pyx_k_writeValue_ValueError[] = "writeValue : <ValueError>";
static const char __pyx_k_CUDA_ERROR_INVALID_PTX[] = "CUDA_ERROR_INVALID_PTX";
static const char __pyx_k_CUDA_ERROR_LOSSY_QUERY[] = "CUDA_ERROR_LOSSY_QUERY";
static const char __pyx_k_CUDA_MEMCPY3D_BATCH_OP[] = "CUDA_MEMCPY3D_BATCH_OP";
static const char __pyx_k_CU_AD_FORMAT_BC1_UNORM[] = "CU_AD_FORMAT_BC1_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC2_UNORM[] = "CU_AD_FORMAT_BC2_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC3_UNORM[] = "CU_AD_FORMAT_BC3_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC4_SNORM[] = "CU_AD_FORMAT_BC4_SNORM";
static const char __pyx_k_CU_AD_FORMAT_BC4_UNORM[] = "CU_AD_FORMAT_BC4_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC5_SNORM[] = "CU_AD_FORMAT_BC5_SNORM";
static const char __pyx_k_CU_AD_FORMAT_BC5_UNORM[] = "CU_AD_FORMAT_BC5_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC6H_SF16[] = "CU_AD_FORMAT_BC6H_SF16";
static const char __pyx_k_CU_AD_FORMAT_BC6H_UF16[] = "CU_AD_FORMAT_BC6H_UF16";
static const char __pyx_k_CU_AD_FORMAT_BC7_UNORM[] = "CU_AD_FORMAT_BC7_UNORM";
static const char __pyx_k_CU_COMPUTEMODE_DEFAULT[] = "CU_COMPUTEMODE_DEFAULT";
static const char __pyx_k_CU_COREDUMP_SKIP_ABORT[] = "CU_COREDUMP_SKIP_ABORT";
static const char __pyx_k_CU_CTX_COREDUMP_ENABLE[] = "CU_CTX_COREDUMP_ENABLE";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_RG[] = "CU_EGL_COLOR_FORMAT_RG";
static const char __pyx_k_CU_EVENT_BLOCKING_SYNC[] = "CU_EVENT_BLOCKING_SYNC";
static const char __pyx_k_CU_EVENT_WAIT_EXTERNAL[] = "CU_EVENT_WAIT_EXTERNAL";
static const char __pyx_k_CU_JIT_CACHE_OPTION_CA[] = "CU_JIT_CACHE_OPTION_CA";
static const char __pyx_k_CU_JIT_CACHE_OPTION_CG[] = "CU_JIT_CACHE_OPTION_CG";
static const char __pyx_k_CU_JIT_INFO_LOG_BUFFER[] = "CU_JIT_INFO_LOG_BUFFER";
static const char __pyx_k_CU_JIT_INPUT_FATBINARY[] = "CU_JIT_INPUT_FATBINARY";
static const char __pyx_k_CU_JIT_NUM_INPUT_TYPES[] = "CU_JIT_NUM_INPUT_TYPES";
static const char __pyx_k_CU_LIBRARY_NUM_OPTIONS[] = "CU_LIBRARY_NUM_OPTIONS";
static const char __pyx_k_CU_MEMCPY_FLAG_DEFAULT[] = "CU_MEMCPY_FLAG_DEFAULT";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_MAX[] = "CU_MEM_HANDLE_TYPE_MAX";
static const char __pyx_k_CU_MODULE_LAZY_LOADING[] = "CU_MODULE_LAZY_LOADING";
static const char __pyx_k_CU_RESOURCE_TYPE_ARRAY[] = "CU_RESOURCE_TYPE_ARRAY";
static const char __pyx_k_CU_STREAM_NON_BLOCKING[] = "CU_STREAM_NON_BLOCKING";
static const char __pyx_k_CU_TARGET_COMPUTE_100A[] = "CU_TARGET_COMPUTE_100A";
static const char __pyx_k_CU_TARGET_COMPUTE_100F[] = "CU_TARGET_COMPUTE_100F";
static const char __pyx_k_CU_TARGET_COMPUTE_101A[] = "CU_TARGET_COMPUTE_101A";
static const char __pyx_k_CU_TARGET_COMPUTE_101F[] = "CU_TARGET_COMPUTE_101F";
static const char __pyx_k_CU_TARGET_COMPUTE_103A[] = "CU_TARGET_COMPUTE_103A";
static const char __pyx_k_CU_TARGET_COMPUTE_103F[] = "CU_TARGET_COMPUTE_103F";
static const char __pyx_k_CU_TARGET_COMPUTE_120A[] = "CU_TARGET_COMPUTE_120A";
static const char __pyx_k_CU_TARGET_COMPUTE_120F[] = "CU_TARGET_COMPUTE_120F";
static const char __pyx_k_CU_TARGET_COMPUTE_121A[] = "CU_TARGET_COMPUTE_121A";
static const char __pyx_k_CU_TARGET_COMPUTE_121F[] = "CU_TARGET_COMPUTE_121F";
static const char __pyx_k_CUasyncCallback_getPtr[] = "CUasyncCallback.getPtr";
static const char __pyx_k_CUcheckpointUnlockArgs[] = "CUcheckpointUnlockArgs";
static const char __pyx_k_CUexecAffinityParam_st[] = "CUexecAffinityParam_st";
static const char __pyx_k_CUexecAffinityParam_v1[] = "CUexecAffinityParam_v1";
static const char __pyx_k_CUfunctionLoadingState[] = "CUfunctionLoadingState";
static const char __pyx_k_CUgreenCtxCreate_flags[] = "CUgreenCtxCreate_flags";
static const char __pyx_k_CUlaunchAttributeValue[] = "CUlaunchAttributeValue";
static const char __pyx_k_CUlogsCallbackHandle_2[] = "CUlogsCallbackHandle";
static const char __pyx_k_CUmemAllocationProp_st[] = "CUmemAllocationProp_st";
static const char __pyx_k_CUmemAllocationProp_v1[] = "CUmemAllocationProp_v1";
static const char __pyx_k_CUmemPoolPtrExportData[] = "CUmemPoolPtrExportData";
static const char __pyx_k_CUmemcpySrcAccessOrder[] = "CUmemcpySrcAccessOrder";
static const char __pyx_k_CUstreamBatchMemOpType[] = "CUstreamBatchMemOpType";
static const char __pyx_k_CUsurfObject_v1_getPtr[] = "CUsurfObject_v1.getPtr";
static const char __pyx_k_CUtensorMapL2promotion[] = "CUtensorMapL2promotion";
static const char __pyx_k_Caching_modes_for_dlcm[] = "\n    Caching modes for dlcm\n    ";
static const char __pyx_k_Conditional_node_types[] = "\n    Conditional node types\n    ";
static const char __pyx_k_Context_creation_flags[] = "\n    Context creation flags\n    ";
static const char __pyx_k_EGLint___reduce_cython[] = "EGLint.__reduce_cython__";
static const char __pyx_k_GLenum___reduce_cython[] = "GLenum.__reduce_cython__";
static const char __pyx_k_GLuint___reduce_cython[] = "GLuint.__reduce_cython__";
static const char __pyx_k_Memory_operation_types[] = "\n    Memory operation types\n    ";
static const char __pyx_k_NVCL_EVENT_SCHED_YIELD[] = "NVCL_EVENT_SCHED_YIELD";
static const char __pyx_k_NumChannels_ValueError[] = "NumChannels : <ValueError>";
static const char __pyx_k_Optional_CUDA_MEMCPY2D[] = "Optional[CUDA_MEMCPY2D]";
static const char __pyx_k_Optional_CUDA_MEMCPY3D[] = "Optional[CUDA_MEMCPY3D]";
static const char __pyx_k_Optional_CUdevResource[] = "Optional[CUdevResource]";
static const char __pyx_k_Optional_CUlogIterator[] = "Optional[CUlogIterator]";
static const char __pyx_k_Optional_CUmemLocation[] = "Optional[CUmemLocation]";
static const char __pyx_k_VdpVideoSurface_getPtr[] = "VdpVideoSurface.getPtr";
static const char __pyx_k_accessDescs_ValueError[] = "accessDescs : <ValueError>";
static const char __pyx_k_addressMode_ValueError[] = "addressMode : <ValueError>";
static const char __pyx_k_borderColor_ValueError[] = "borderColor : <ValueError>";
static const char __pyx_k_conditional_ValueError[] = "conditional : <ValueError>";
static const char __pyx_k_cooperative_ValueError[] = "cooperative : <ValueError>";
static const char __pyx_k_cuArray3DGetDescriptor[] = "cuArray3DGetDescriptor";
static const char __pyx_k_cuCoredumpGetAttribute[] = "cuCoredumpGetAttribute";
static const char __pyx_k_cuCoredumpSetAttribute[] = "cuCoredumpSetAttribute";
static const char __pyx_k_cuCtxDisablePeerAccess[] = "cuCtxDisablePeerAccess";
static const char __pyx_k_cuDeviceGetDevResource[] = "cuDeviceGetDevResource";
static const char __pyx_k_cuEventRecordWithFlags[] = "cuEventRecordWithFlags";
static const char __pyx_k_cuGraphAddDependencies[] = "cuGraphAddDependencies";
static const char __pyx_k_cuGraphAddMemAllocNode[] = "cuGraphAddMemAllocNode";
static const char __pyx_k_cuGraphNodeFindInClone[] = "cuGraphNodeFindInClone";
static const char __pyx_k_cuGraphicsMapResources[] = "cuGraphicsMapResources";
static const char __pyx_k_cuGreenCtxStreamCreate[] = "cuGreenCtxStreamCreate";
static const char __pyx_k_cuImportExternalMemory[] = "cuImportExternalMemory";
static const char __pyx_k_cuKernelSetCacheConfig[] = "cuKernelSetCacheConfig";
static const char __pyx_k_cuLogsRegisterCallback[] = "cuLogsRegisterCallback";
static const char __pyx_k_cuMemPoolExportPointer[] = "cuMemPoolExportPointer";
static const char __pyx_k_cuMemPoolImportPointer[] = "cuMemPoolImportPointer";
static const char __pyx_k_cuMemRangeGetAttribute[] = "cuMemRangeGetAttribute";
static const char __pyx_k_cuMipmappedArrayCreate[] = "cuMipmappedArrayCreate";
static const char __pyx_k_cuModuleGetLoadingMode[] = "cuModuleGetLoadingMode";
static const char __pyx_k_cuPointerGetAttributes[] = "cuPointerGetAttributes";
static const char __pyx_k_cuStreamAttachMemAsync[] = "cuStreamAttachMemAsync";
static const char __pyx_k_cuStreamCopyAttributes[] = "cuStreamCopyAttributes";
static const char __pyx_k_cuStreamGetCaptureInfo[] = "cuStreamGetCaptureInfo";
static const char __pyx_k_cuTensorMapEncodeTiled[] = "cuTensorMapEncodeTiled";
static const char __pyx_k_cuTexRefGetAddressMode[] = "cuTexRefGetAddressMode";
static const char __pyx_k_cuTexRefGetBorderColor[] = "cuTexRefGetBorderColor";
static const char __pyx_k_cuTexRefSetAddressMode[] = "cuTexRefSetAddressMode";
static const char __pyx_k_cuTexRefSetBorderColor[] = "cuTexRefSetBorderColor";
static const char __pyx_k_cyjitOptionsValues_ptr[] = "cyjitOptionsValues_ptr";
static const char __pyx_k_dict_CUdevResourceType[] = "_dict_CUdevResourceType";
static const char __pyx_k_dict_CUmemAccess_flags[] = "_dict_CUmemAccess_flags";
static const char __pyx_k_dict_CUmemAttach_flags[] = "_dict_CUmemAttach_flags";
static const char __pyx_k_dict_CUmemLocationType[] = "_dict_CUmemLocationType";
static const char __pyx_k_dict_CUoccupancy_flags[] = "_dict_CUoccupancy_flags";
static const char __pyx_k_dict_CUshared_carveout[] = "_dict_CUshared_carveout";
static const char __pyx_k_dstActBytes_ValueError[] = "dstActBytes : <ValueError>";
static const char __pyx_k_dstNumBytes_ValueError[] = "dstNumBytes : <ValueError>";
static const char __pyx_k_dstXInBytes_ValueError[] = "dstXInBytes : <ValueError>";
static const char __pyx_k_elementSize_ValueError[] = "elementSize : <ValueError>";
static const char __pyx_k_eventRecord_ValueError[] = "eventRecord : <ValueError>";
static const char __pyx_k_extSemArray_ValueError[] = "extSemArray : <ValueError>";
static const char __pyx_k_extentDepth_ValueError[] = "extentDepth : <ValueError>";
static const char __pyx_k_extentWidth_ValueError[] = "extentWidth : <ValueError>";
static const char __pyx_k_gpuDirectRDMACapable_2[] = "gpuDirectRDMACapable";
static const char __pyx_k_handleTypes_ValueError[] = "handleTypes : <ValueError>";
static const char __pyx_k_layerHeight_ValueError[] = "layerHeight : <ValueError>";
static const char __pyx_k_m1_nA_l_UV_t_a_avQ_N_6[] = "\200\001\360 \000\005'\240m\2601\330\t\n\330\010\026\220n\240A\320%>\270l\310+\320UV\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_maxGridSize_ValueError[] = "maxGridSize : <ValueError>";
static const char __pyx_k_miptailSize_ValueError[] = "miptailSize : <ValueError>";
static const char __pyx_k_numChannels_ValueError[] = "numChannels : <ValueError>";
static const char __pyx_k_paramsArray_ValueError[] = "paramsArray : <ValueError>";
static const char __pyx_k_phGraph_out_ValueError[] = "phGraph_out : <ValueError>";
static const char __pyx_k_requestedHandleTypes_2[] = "requestedHandleTypes";
static const char __pyx_k_sizeInBytes_ValueError[] = "sizeInBytes : <ValueError>";
static const char __pyx_k_sparseLevel_ValueError[] = "sparseLevel : <ValueError>";
static const char __pyx_k_srcNumBytes_ValueError[] = "srcNumBytes : <ValueError>";
static const char __pyx_k_srcXInBytes_ValueError[] = "srcXInBytes : <ValueError>";
static const char __pyx_k_subresource_ValueError[] = "subresource : <ValueError>";
static const char __pyx_k_uCq_1G1_1A_1L_Ja_q_N_1[] = "\200\001\360@\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\330\t\n\330\010\026\320\026'\240q\250\001\330\004\014\210N\230!\2301";
static const char __pyx_k_vS_1HA_AQ_A_Ja_nAQ_N_1[] = "\200\001\360&\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\t\n\330\010\026\220n\240A\240Q\330\004\014\210N\230!\2301";
static const char __pyx_k_wc_1IQ_Qa_Ql_1_j_Q_N_1[] = "\200\001\360>\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220l\240!\2401\330\004\017\320\017&\240j\260\001\330\t\n\330\010\026\320\026*\250!\250:\260Q\330\004\014\210N\230!\2301";
static const char __pyx_k_0_uCq_1G1_1A_1Jaq_A_N_1[] = "\200\001\3600\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\t\n\330\010\026\320\026(\250\001\250\021\330\004\014\210N\230!\2301";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR[] = "CUDA_ARRAY3D_DESCRIPTOR";
static const char __pyx_k_CUDA_ERROR_KEY_ROTATION[] = "CUDA_ERROR_KEY_ROTATION";
static const char __pyx_k_CUDA_ERROR_STUB_LIBRARY[] = "CUDA_ERROR_STUB_LIBRARY";
static const char __pyx_k_CUDA_ERROR_UNMAP_FAILED[] = "CUDA_ERROR_UNMAP_FAILED";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS[] = "CUDA_KERNEL_NODE_PARAMS";
static const char __pyx_k_CUDA_MEMCPY2D_st_getPtr[] = "CUDA_MEMCPY2D_st.getPtr";
static const char __pyx_k_CUDA_MEMCPY3D_st_getPtr[] = "CUDA_MEMCPY3D_st.getPtr";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS[] = "CUDA_MEMCPY_NODE_PARAMS";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS[] = "CUDA_MEMSET_NODE_PARAMS";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC[] = "CUDA_RESOURCE_VIEW_DESC";
static const char __pyx_k_CU_COREDUMP_LIGHTWEIGHT[] = "CU_COREDUMP_LIGHTWEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX[] = "CU_DEVICE_ATTRIBUTE_MAX";
static const char __pyx_k_CU_DEV_RESOURCE_TYPE_SM[] = "CU_DEV_RESOURCE_TYPE_SM";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BGR[] = "CU_EGL_COLOR_FORMAT_BGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_MAX[] = "CU_EGL_COLOR_FORMAT_MAX";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_RGB[] = "CU_EGL_COLOR_FORMAT_RGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV[] = "CU_EGL_COLOR_FORMAT_YUV";
static const char __pyx_k_CU_EGL_FRAME_TYPE_ARRAY[] = "CU_EGL_FRAME_TYPE_ARRAY";
static const char __pyx_k_CU_EGL_FRAME_TYPE_PITCH[] = "CU_EGL_FRAME_TYPE_PITCH";
static const char __pyx_k_CU_EVENT_DISABLE_TIMING[] = "CU_EVENT_DISABLE_TIMING";
static const char __pyx_k_CU_EVENT_RECORD_DEFAULT[] = "CU_EVENT_RECORD_DEFAULT";
static const char __pyx_k_CU_FUNC_CACHE_PREFER_L1[] = "CU_FUNC_CACHE_PREFER_L1";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_HOST[] = "CU_GRAPH_NODE_TYPE_HOST";
static const char __pyx_k_CU_JIT_ERROR_LOG_BUFFER[] = "CU_JIT_ERROR_LOG_BUFFER";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_NONE[] = "CU_MEM_HANDLE_TYPE_NONE";
static const char __pyx_k_CU_MODULE_EAGER_LOADING[] = "CU_MODULE_EAGER_LOADING";
static const char __pyx_k_CU_PROCESS_STATE_FAILED[] = "CU_PROCESS_STATE_FAILED";
static const char __pyx_k_CU_PROCESS_STATE_LOCKED[] = "CU_PROCESS_STATE_LOCKED";
static const char __pyx_k_CU_RESOURCE_TYPE_LINEAR[] = "CU_RESOURCE_TYPE_LINEAR";
static const char __pyx_k_CU_RES_VIEW_FORMAT_NONE[] = "CU_RES_VIEW_FORMAT_NONE";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_EQ[] = "CU_STREAM_WAIT_VALUE_EQ";
static const char __pyx_k_CU_TRSA_OVERRIDE_FORMAT[] = "CU_TRSA_OVERRIDE_FORMAT";
static const char __pyx_k_CU_TRSF_READ_AS_INTEGER[] = "CU_TRSF_READ_AS_INTEGER";
static const char __pyx_k_CU_TR_ADDRESS_MODE_WRAP[] = "CU_TR_ADDRESS_MODE_WRAP";
static const char __pyx_k_CU_TR_FILTER_MODE_POINT[] = "CU_TR_FILTER_MODE_POINT";
static const char __pyx_k_CUaccessPolicyWindow_st[] = "CUaccessPolicyWindow_st";
static const char __pyx_k_CUaccessPolicyWindow_v1[] = "CUaccessPolicyWindow_v1";
static const char __pyx_k_CUarray___reduce_cython[] = "CUarray.__reduce_cython__";
static const char __pyx_k_CUasyncCallbackHandle_2[] = "CUasyncCallbackHandle";
static const char __pyx_k_CUasyncNotificationInfo[] = "CUasyncNotificationInfo";
static const char __pyx_k_CUasyncNotificationType[] = "CUasyncNotificationType";
static const char __pyx_k_CUcheckpointLockArgs_st[] = "CUcheckpointLockArgs_st";
static const char __pyx_k_CUcheckpointRestoreArgs[] = "CUcheckpointRestoreArgs";
static const char __pyx_k_CUctxCigParam_st_getPtr[] = "CUctxCigParam_st.getPtr";
static const char __pyx_k_CUdevResource_st_getPtr[] = "CUdevResource_st.getPtr";
static const char __pyx_k_CUeglStreamConnection_2[] = "CUeglStreamConnection";
static const char __pyx_k_CUevent___reduce_cython[] = "CUevent.__reduce_cython__";
static const char __pyx_k_CUexternalMemory_getPtr[] = "CUexternalMemory.getPtr";
static const char __pyx_k_CUexternalMemory_getter[] = "CUexternalMemory_getter";
static const char __pyx_k_CUgraphExecUpdateResult[] = "CUgraphExecUpdateResult";
static const char __pyx_k_CUgraph___reduce_cython[] = "CUgraph.__reduce_cython__";
static const char __pyx_k_CUgraphicsRegisterFlags[] = "CUgraphicsRegisterFlags";
static const char __pyx_k_CUmemAllocationCompType[] = "CUmemAllocationCompType";
static const char __pyx_k_CUmemLocation_st_getPtr[] = "CUmemLocation_st.getPtr";
static const char __pyx_k_CUmipmappedArray_getPtr[] = "CUmipmappedArray.getPtr";
static const char __pyx_k_CUmipmappedArray_getter[] = "CUmipmappedArray_getter";
static const char __pyx_k_CUstreamCallback_getPtr[] = "CUstreamCallback.getPtr";
static const char __pyx_k_CUstreamWaitValue_flags[] = "CUstreamWaitValue_flags";
static const char __pyx_k_CUsynchronizationPolicy[] = "CUsynchronizationPolicy";
static const char __pyx_k_CUtensorMapFloatOOBfill[] = "CUtensorMapFloatOOBfill";
static const char __pyx_k_F_Q_2_1O1A_t_a_avV1_N_6[] = "\200\001\360F\001\000\005\036\230Q\330\004 \240\001\330\t\n\330\010\026\320\0262\260!\2601\260O\3001\300A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\037\260\001";
static const char __pyx_k_HelperCudaLibraryOption[] = "_HelperCudaLibraryOption";
static const char __pyx_k_Optional_CUlaunchConfig[] = "Optional[CUlaunchConfig]";
static const char __pyx_k_Optional_CUmemPoolProps[] = "Optional[CUmemPoolProps]";
static const char __pyx_k_VdpOutputSurface_getPtr[] = "VdpOutputSurface.getPtr";
static const char __pyx_k_WidthInBytes_ValueError[] = "WidthInBytes : <ValueError>";
static const char __pyx_k_cuCheckpointProcessLock[] = "cuCheckpointProcessLock";
static const char __pyx_k_cuCtxGetSharedMemConfig[] = "cuCtxGetSharedMemConfig";
static const char __pyx_k_cuCtxSetSharedMemConfig[] = "cuCtxSetSharedMemConfig";
static const char __pyx_k_cuDestroyExternalMemory[] = "cuDestroyExternalMemory";
static const char __pyx_k_cuDeviceGetP2PAttribute[] = "cuDeviceGetP2PAttribute";
static const char __pyx_k_cuDevicePrimaryCtxReset[] = "cuDevicePrimaryCtxReset";
static const char __pyx_k_cuGraphAddEventWaitNode[] = "cuGraphAddEventWaitNode";
static const char __pyx_k_cuGraphRetainUserObject[] = "cuGraphRetainUserObject";
static const char __pyx_k_cuLibraryGetKernelCount[] = "cuLibraryGetKernelCount";
static const char __pyx_k_cuMemAllocFromPoolAsync[] = "cuMemAllocFromPoolAsync";
static const char __pyx_k_cuMemRangeGetAttributes[] = "cuMemRangeGetAttributes";
static const char __pyx_k_cuMipmappedArrayDestroy[] = "cuMipmappedArrayDestroy";
static const char __pyx_k_cuTensorMapEncodeIm2col[] = "cuTensorMapEncodeIm2col";
static const char __pyx_k_cyinstantiateParams_ptr[] = "cyinstantiateParams_ptr";
static const char __pyx_k_cynvSciSyncAttrList_ptr[] = "cynvSciSyncAttrList_ptr";
static const char __pyx_k_dict_CUcoredumpSettings[] = "_dict_CUcoredumpSettings";
static const char __pyx_k_dict_CUdeviceNumaConfig[] = "_dict_CUdeviceNumaConfig";
static const char __pyx_k_dict_CUdevice_attribute[] = "_dict_CUdevice_attribute";
static const char __pyx_k_dict_CUevent_wait_flags[] = "_dict_CUevent_wait_flags";
static const char __pyx_k_dict_CUexecAffinityType[] = "_dict_CUexecAffinityType";
static const char __pyx_k_dict_CUmemOperationType[] = "_dict_CUmemOperationType";
static const char __pyx_k_dict_CUtensorMapSwizzle[] = "_dict_CUtensorMapSwizzle";
static const char __pyx_k_dict_CUuserObject_flags[] = "_dict_CUuserObject_flags";
static const char __pyx_k_extSemSignal_ValueError[] = "extSemSignal : <ValueError>";
static const char __pyx_k_extentHeight_ValueError[] = "extentHeight : <ValueError>";
static const char __pyx_k_f_q_oQhat_Q_t_a_avQ_N_6[] = "\200\001\360f\002\000\005\030\220q\330\t\n\330\010\026\220o\240Q\240h\250a\250t\260:\270Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_hErrNode_out_ValueError[] = "hErrNode_out : <ValueError>";
static const char __pyx_k_kernelParams_ValueError[] = "kernelParams : <ValueError>";
static const char __pyx_k_launchCompletionEvent_2[] = "launchCompletionEvent";
static const char __pyx_k_numExecAffinityParams_2[] = "numExecAffinityParams";
static const char __pyx_k_nvSciSyncObj_ValueError[] = "nvSciSyncObj : <ValueError>";
static const char __pyx_k_pitchInBytes_ValueError[] = "pitchInBytes : <ValueError>";
static const char __pyx_k_regsPerBlock_ValueError[] = "regsPerBlock : <ValueError>";
static const char __pyx_k_resourceType_ValueError[] = "resourceType : <ValueError>";
static const char __pyx_k_textureAlign_ValueError[] = "textureAlign : <ValueError>";
static const char __pyx_k_vS_1HA_AQ_AZq_Q_9Cs_N_1[] = "\200\001\360<\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\t\n\330\010\026\320\026*\250!\2509\260C\260s\270!\330\004\014\210N\230!\2301";
static const char __pyx_k_vaSpaceToken_ValueError[] = "vaSpaceToken : <ValueError>";
static const char __pyx_k_win32SecurityAttributes[] = "win32SecurityAttributes : ";
static const char __pyx_k_0_U_A_oQiq_t_a_avQ_N_6_S[] = "\200\001\330$%\3600\000\005&\240U\250!\330\004\034\230A\330\t\n\330\010\026\220o\240Q\240i\250q\260\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\027\250\010\260\005\260S\270\n\300!";
static const char __pyx_k_2_2_1_K_Xccd_t_a_avQ_N_6[] = "\200\001\330-.\3602\000\005.\320-@\300\001\330\0042\260(\270!\330\t\n\330\010\026\320\026+\2501\320,K\310=\320Xc\320cd\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_67_0t1_8_t_a_avQ_N_6_4AQ[] = "\200\001\33067\360~\001\000\0050\250t\2601\330\t\n\330\010\026\320\0268\270\001\270\021\270!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\320!4\260A\260Q";
static const char __pyx_k_6_vS_1HA_AQ_AZq_Q_9A_N_1[] = "\200\001\3606\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\t\n\330\010\026\320\026*\250!\2509\260A\330\004\014\210N\230!\2301";
static const char __pyx_k_8_wc_1IQ_Qa_Ql_1_j_A_N_1[] = "\200\001\3608\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220l\240!\2401\330\004\017\320\017&\240j\260\001\330\t\n\330\010\026\320\026)\250\021\250*\260A\330\004\014\210N\230!\2301";
static const char __pyx_k_A_t_s_4w_1_4q_Q_4q_1_WAT[] = "\200A\330\010\017\210t\220<\230s\240!\330\010\013\2104\210w\320\026;\2701\330;<\330;<\330\014\023\2204\220q\330\r\021\220\027\320\030=\270Q\330=>\330=>\330=>\330=>\330\014\023\2204\220q\340\014\022\220)\2301\320\034=\270W\300A\300T\310\021";
static const char __pyx_k_A_t_s_4y_A_4q_a_4q_1_WAT[] = "\200A\330\010\017\210t\220<\230s\240!\330\010\013\2104\210y\320\030<\270A\330:;\330\014\023\2204\220q\330\r\021\220\031\320\032>\270a\330<=\330<=\330<=\330\014\023\2204\220q\340\014\022\220)\2301\320\034=\270W\300A\300T\310\021";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_st[] = "CUDA_ARRAY_DESCRIPTOR_st";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_v2[] = "CUDA_ARRAY_DESCRIPTOR_v2";
static const char __pyx_k_CUDA_ERROR_DEINITIALIZED[] = "CUDA_ERROR_DEINITIALIZED";
static const char __pyx_k_CUDA_ERROR_ILLEGAL_STATE[] = "CUDA_ERROR_ILLEGAL_STATE";
static const char __pyx_k_CUDA_ERROR_INVALID_IMAGE[] = "CUDA_ERROR_INVALID_IMAGE";
static const char __pyx_k_CUDA_ERROR_INVALID_VALUE[] = "CUDA_ERROR_INVALID_VALUE";
static const char __pyx_k_CUDA_ERROR_LAUNCH_FAILED[] = "CUDA_ERROR_LAUNCH_FAILED";
static const char __pyx_k_CUDA_ERROR_NOT_PERMITTED[] = "CUDA_ERROR_NOT_PERMITTED";
static const char __pyx_k_CUDA_ERROR_NOT_SUPPORTED[] = "CUDA_ERROR_NOT_SUPPORTED";
static const char __pyx_k_CUDA_ERROR_OUT_OF_MEMORY[] = "CUDA_ERROR_OUT_OF_MEMORY";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_st[] = "CUDA_HOST_NODE_PARAMS_st";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v1[] = "CUDA_HOST_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2[] = "CUDA_HOST_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_Lazy_Loading_status[] = "\n    CUDA Lazy Loading status\n    ";
static const char __pyx_k_CUDA_NVSCISYNC_ATTR_WAIT[] = "CUDA_NVSCISYNC_ATTR_WAIT";
static const char __pyx_k_CU_AD_FORMAT_SIGNED_INT8[] = "CU_AD_FORMAT_SIGNED_INT8";
static const char __pyx_k_CU_COREDUMP_TRIGGER_HOST[] = "CU_COREDUMP_TRIGGER_HOST";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_ABGR[] = "CU_EGL_COLOR_FORMAT_ABGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_ARGB[] = "CU_EGL_COLOR_FORMAT_ARGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_AYUV[] = "CU_EGL_COLOR_FORMAT_AYUV";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BGRA[] = "CU_EGL_COLOR_FORMAT_BGRA";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_RGBA[] = "CU_EGL_COLOR_FORMAT_RGBA";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_VYUY[] = "CU_EGL_COLOR_FORMAT_VYUY";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUVA[] = "CU_EGL_COLOR_FORMAT_YUVA";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVYU[] = "CU_EGL_COLOR_FORMAT_YVYU";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y_ER[] = "CU_EGL_COLOR_FORMAT_Y_ER";
static const char __pyx_k_CU_EVENT_RECORD_EXTERNAL[] = "CU_EVENT_RECORD_EXTERNAL";
static const char __pyx_k_CU_GRAPH_COND_TYPE_WHILE[] = "CU_GRAPH_COND_TYPE_WHILE";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_EMPTY[] = "CU_GRAPH_NODE_TYPE_EMPTY";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_GRAPH[] = "CU_GRAPH_NODE_TYPE_GRAPH";
static const char __pyx_k_CU_JIT_CACHE_OPTION_NONE[] = "CU_JIT_CACHE_OPTION_NONE";
static const char __pyx_k_CU_JIT_FALLBACK_STRATEGY[] = "CU_JIT_FALLBACK_STRATEGY";
static const char __pyx_k_CU_JIT_THREADS_PER_BLOCK[] = "CU_JIT_THREADS_PER_BLOCK";
static const char __pyx_k_CU_MEMHOSTALLOC_PORTABLE[] = "CU_MEMHOSTALLOC_PORTABLE";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_WIN32[] = "CU_MEM_HANDLE_TYPE_WIN32";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_MAX[] = "CU_MEM_LOCATION_TYPE_MAX";
static const char __pyx_k_CU_PROCESS_STATE_RUNNING[] = "CU_PROCESS_STATE_RUNNING";
static const char __pyx_k_CU_RESOURCE_TYPE_PITCH2D[] = "CU_RESOURCE_TYPE_PITCH2D";
static const char __pyx_k_CU_STREAM_MEM_OP_BARRIER[] = "CU_STREAM_MEM_OP_BARRIER";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_AND[] = "CU_STREAM_WAIT_VALUE_AND";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_GEQ[] = "CU_STREAM_WAIT_VALUE_GEQ";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_NOR[] = "CU_STREAM_WAIT_VALUE_NOR";
static const char __pyx_k_CU_TENSOR_MAP_NUM_QWORDS[] = "CU_TENSOR_MAP_NUM_QWORDS";
static const char __pyx_k_CU_TRSF_SEAMLESS_CUBEMAP[] = "CU_TRSF_SEAMLESS_CUBEMAP";
static const char __pyx_k_CU_TR_ADDRESS_MODE_CLAMP[] = "CU_TR_ADDRESS_MODE_CLAMP";
static const char __pyx_k_CU_TR_FILTER_MODE_LINEAR[] = "CU_TR_FILTER_MODE_LINEAR";
static const char __pyx_k_CUarrayMapInfo_st_getPtr[] = "CUarrayMapInfo_st.getPtr";
static const char __pyx_k_CUdevResourceDesc_getPtr[] = "CUdevResourceDesc.getPtr";
static const char __pyx_k_CUdevResourceDesc_getter[] = "CUdevResourceDesc_getter";
static const char __pyx_k_CUdevice___reduce_cython[] = "CUdevice.__reduce_cython__";
static const char __pyx_k_CUexecAffinitySmCount_st[] = "CUexecAffinitySmCount_st";
static const char __pyx_k_CUexecAffinitySmCount_v1[] = "CUexecAffinitySmCount_v1";
static const char __pyx_k_CUgraphConditionalHandle[] = "<CUgraphConditionalHandle ";
static const char __pyx_k_CUgraphDeviceNode_getPtr[] = "CUgraphDeviceNode.getPtr";
static const char __pyx_k_CUgraphDeviceNode_getter[] = "CUgraphDeviceNode_getter";
static const char __pyx_k_CUgraphInstantiateResult[] = "CUgraphInstantiateResult";
static const char __pyx_k_CUgraphInstantiate_flags[] = "CUgraphInstantiate_flags";
static const char __pyx_k_CUhostFn___reduce_cython[] = "CUhostFn.__reduce_cython__";
static const char __pyx_k_CUipcMemHandle_st_getPtr[] = "CUipcMemHandle_st.getPtr";
static const char __pyx_k_CUkernelNodeAttrValue_v1[] = "CUkernelNodeAttrValue_v1";
static const char __pyx_k_CUkernel___reduce_cython[] = "CUkernel.__reduce_cython__";
static const char __pyx_k_CUlaunchConfig_st_getPtr[] = "CUlaunchConfig_st.getPtr";
static const char __pyx_k_CUlaunchMemSyncDomainMap[] = "CUlaunchMemSyncDomainMap";
static const char __pyx_k_CUmemDecompressAlgorithm[] = "CUmemDecompressAlgorithm";
static const char __pyx_k_CUmemDecompressParams_st[] = "CUmemDecompressParams_st";
static const char __pyx_k_CUmemPoolProps_st_getPtr[] = "CUmemPoolProps_st.getPtr";
static const char __pyx_k_CUmodule___reduce_cython[] = "CUmodule.__reduce_cython__";
static const char __pyx_k_CUmulticastObjectProp_st[] = "CUmulticastObjectProp_st";
static const char __pyx_k_CUmulticastObjectProp_v1[] = "CUmulticastObjectProp_v1";
static const char __pyx_k_CUstreamBatchMemOpParams[] = "CUstreamBatchMemOpParams";
static const char __pyx_k_CUstreamWriteValue_flags[] = "CUstreamWriteValue_flags";
static const char __pyx_k_CUstream___reduce_cython[] = "CUstream.__reduce_cython__";
static const char __pyx_k_CUtexref___reduce_cython[] = "CUtexref.__reduce_cython__";
static const char __pyx_k_CUuserObjectRetain_flags[] = "CUuserObjectRetain_flags";
static const char __pyx_k_D_uCq_1G1_1A_1Kq_Q_j_N_1[] = "\200\001\360D\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\330\t\n\330\010\026\220j\240\001\240\021\330\004\014\210N\230!\2301";
static const char __pyx_k_EGLint___setstate_cython[] = "EGLint.__setstate_cython__";
static const char __pyx_k_Execution_Affinity_Types[] = "\n    Execution Affinity Types\n    ";
static const char __pyx_k_F_uCq_1G1_1A_1Kq_Q_1_N_1[] = "\200\001\360F\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\330\t\n\330\010\026\320\026*\250!\2501\330\004\014\210N\230!\2301";
static const char __pyx_k_GLenum___setstate_cython[] = "GLenum.__setstate_cython__";
static const char __pyx_k_GLuint___setstate_cython[] = "GLuint.__setstate_cython__";
static const char __pyx_k_HelperCUcoredumpSettings[] = "_HelperCUcoredumpSettings";
static const char __pyx_k_Sparse_subresource_types[] = "\n    Sparse subresource types\n    ";
static const char __pyx_k_VdpGetProcAddress_getPtr[] = "VdpGetProcAddress.getPtr";
static const char __pyx_k_a_y_q_XQ_q_L_t_a_avQ_N_6[] = "\200\001\330 !\360>\000\005/\250a\330\004\007\200y\220\007\220q\330\010\025\220X\230Q\330\t\n\330\010\026\320\026'\240q\250\014\260L\300\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_cuDevicePrimaryCtxRetain[] = "cuDevicePrimaryCtxRetain";
static const char __pyx_k_cuEventCreateFromEGLSync[] = "cuEventCreateFromEGLSync";
static const char __pyx_k_cuFuncSetSharedMemConfig[] = "cuFuncSetSharedMemConfig";
static const char __pyx_k_cuGraphAddBatchMemOpNode[] = "cuGraphAddBatchMemOpNode";
static const char __pyx_k_cuGraphAddChildGraphNode[] = "cuGraphAddChildGraphNode";
static const char __pyx_k_cuGraphExecNodeSetParams[] = "cuGraphExecNodeSetParams";
static const char __pyx_k_cuGraphHostNodeGetParams[] = "cuGraphHostNodeGetParams";
static const char __pyx_k_cuGraphHostNodeSetParams[] = "cuGraphHostNodeSetParams";
static const char __pyx_k_cuGraphReleaseUserObject[] = "cuGraphReleaseUserObject";
static const char __pyx_k_cuGraphicsUnmapResources[] = "cuGraphicsUnmapResources";
static const char __pyx_k_cuGreenCtxGetDevResource[] = "cuGreenCtxGetDevResource";
static const char __pyx_k_cuLogsUnregisterCallback[] = "cuLogsUnregisterCallback";
static const char __pyx_k_cuMipmappedArrayGetLevel[] = "cuMipmappedArrayGetLevel";
static const char __pyx_k_cuModuleGetFunctionCount[] = "cuModuleGetFunctionCount";
static const char __pyx_k_cuTexRefGetMaxAnisotropy[] = "cuTexRefGetMaxAnisotropy";
static const char __pyx_k_cuTexRefSetMaxAnisotropy[] = "cuTexRefSetMaxAnisotropy";
static const char __pyx_k_cudaBindingsDriverGlobal[] = "cudaBindingsDriverGlobal";
static const char __pyx_k_cuda_bindings_driver_pyx[] = "cuda/bindings/driver.pyx";
static const char __pyx_k_deviceBitMask_ValueError[] = "deviceBitMask : <ValueError>";
static const char __pyx_k_dict_CUevent_sched_flags[] = "_dict_CUevent_sched_flags";
static const char __pyx_k_dict_CUlaunchAttributeID[] = "_dict_CUlaunchAttributeID";
static const char __pyx_k_dict_CUmemAllocationType[] = "_dict_CUmemAllocationType";
static const char __pyx_k_dict_CUmemPool_attribute[] = "_dict_CUmemPool_attribute";
static const char __pyx_k_dict_CUmoduleLoadingMode[] = "_dict_CUmoduleLoadingMode";
static const char __pyx_k_dict_CUpointer_attribute[] = "_dict_CUpointer_attribute";
static const char __pyx_k_dict_CUstreamCaptureMode[] = "_dict_CUstreamCaptureMode";
static const char __pyx_k_dict_CUtensorMapDataType[] = "_dict_CUtensorMapDataType";
static const char __pyx_k_dstMemoryType_ValueError[] = "dstMemoryType : <ValueError>";
static const char __pyx_k_errorFromNode_ValueError[] = "errorFromNode : <ValueError>";
static const char __pyx_k_functionTable_ValueError[] = "functionTable : <ValueError>";
static const char __pyx_k_hUploadStream_ValueError[] = "hUploadStream : <ValueError>";
static const char __pyx_k_maxAnisotropy_ValueError[] = "maxAnisotropy : <ValueError>";
static const char __pyx_k_maxThreadsDim_ValueError[] = "maxThreadsDim : <ValueError>";
static const char __pyx_k_memHandleType_ValueError[] = "memHandleType : <ValueError>";
static const char __pyx_k_memSyncDomain_ValueError[] = "memSyncDomain : <ValueError>";
static const char __pyx_k_memoryBarrier_ValueError[] = "memoryBarrier : <ValueError>";
static const char __pyx_k_pad_length_must_be_64_is[] = "pad length must be 64, is ";
static const char __pyx_k_pixelBoxLowerCornerWidth[] = "pixelBoxLowerCornerWidth";
static const char __pyx_k_pixelBoxUpperCornerWidth[] = "pixelBoxUpperCornerWidth";
static const char __pyx_k_srcMemoryType_ValueError[] = "srcMemoryType : <ValueError>";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_m1A_N_1[] = "\200\001\360>\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\t\n\330\010\026\220m\2401\240A\330\004\014\210N\230!\2301";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_oQa_N_1[] = "\200\001\360*\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\t\n\330\010\026\220o\240Q\240a\330\004\014\210N\230!\2301";
static const char __pyx_k_0_uCq_1G1_1A_1HAQ_oQa_N_1[] = "\200\001\3600\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220H\230A\230Q\330\004\r\320\r \240\n\250!\330\t\n\330\010\026\220o\240Q\240a\330\004\014\210N\230!\2301";
static const char __pyx_k_0_wc_1IQ_Qa_Q_aq_A_aq_N_1[] = "\200\001\3600\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\026&\240a\240q\330\004\017\320\017*\250*\260A\330\t\n\330\010\026\320\026.\250a\250q\330\004\014\210N\230!\2301";
static const char __pyx_k_4_z_A_Q_1L_S_S_AQ_l_A_N_1[] = "\200\001\3604\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\220l\240!\240=\260\004\260A\330\004\014\210N\230!\2301";
static const char __pyx_k_6_2_zQXXbbc_WJoQ_0_1B_N_1[] = "\200\001\330*+\3606\000\0052\260\031\270-\300z\320QX\320Xb\320bc\330\004\026\320\026)\250\021\250!\330\004%\240W\250J\260o\300Q\330\t\n\330\010\026\320\0260\260\001\3201B\300!\330\004\014\210N\230!\2301";
static const char __pyx_k_CUCoredumpGenerationFlags[] = "CUCoredumpGenerationFlags";
static const char __pyx_k_CUDA_ARRAY3D_SURFACE_LDST[] = "CUDA_ARRAY3D_SURFACE_LDST";
static const char __pyx_k_CUDA_EGL_INFINITE_TIMEOUT[] = "CUDA_EGL_INFINITE_TIMEOUT";
static const char __pyx_k_CUDA_ERROR_ALREADY_MAPPED[] = "CUDA_ERROR_ALREADY_MAPPED";
static const char __pyx_k_CUDA_ERROR_CAPTURED_EVENT[] = "CUDA_ERROR_CAPTURED_EVENT";
static const char __pyx_k_CUDA_ERROR_FILE_NOT_FOUND[] = "CUDA_ERROR_FILE_NOT_FOUND";
static const char __pyx_k_CUDA_ERROR_INVALID_DEVICE[] = "CUDA_ERROR_INVALID_DEVICE";
static const char __pyx_k_CUDA_ERROR_INVALID_HANDLE[] = "CUDA_ERROR_INVALID_HANDLE";
static const char __pyx_k_CUDA_ERROR_INVALID_SOURCE[] = "CUDA_ERROR_INVALID_SOURCE";
static const char __pyx_k_CUDA_ERROR_LAUNCH_TIMEOUT[] = "CUDA_ERROR_LAUNCH_TIMEOUT";
static const char __pyx_k_CUDA_ERROR_TOO_MANY_PEERS[] = "CUDA_ERROR_TOO_MANY_PEERS";
static const char __pyx_k_CUDA_MEMCPY3D_BATCH_OP_st[] = "CUDA_MEMCPY3D_BATCH_OP_st";
static const char __pyx_k_CUDA_MEMCPY3D_BATCH_OP_v1[] = "CUDA_MEMCPY3D_BATCH_OP_v1";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS[] = "CUDA_MEM_FREE_NODE_PARAMS";
static const char __pyx_k_CU_ACCESS_PROPERTY_NORMAL[] = "CU_ACCESS_PROPERTY_NORMAL";
static const char __pyx_k_CU_AD_FORMAT_SIGNED_INT16[] = "CU_AD_FORMAT_SIGNED_INT16";
static const char __pyx_k_CU_AD_FORMAT_SIGNED_INT32[] = "CU_AD_FORMAT_SIGNED_INT32";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT8X1[] = "CU_AD_FORMAT_SNORM_INT8X1";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT8X2[] = "CU_AD_FORMAT_SNORM_INT8X2";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT8X4[] = "CU_AD_FORMAT_SNORM_INT8X4";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT8X1[] = "CU_AD_FORMAT_UNORM_INT8X1";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT8X2[] = "CU_AD_FORMAT_UNORM_INT8X2";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT8X4[] = "CU_AD_FORMAT_UNORM_INT8X4";
static const char __pyx_k_CU_AD_FORMAT_Y444_PLANAR8[] = "CU_AD_FORMAT_Y444_PLANAR8";
static const char __pyx_k_CU_COMPUTEMODE_PROHIBITED[] = "CU_COMPUTEMODE_PROHIBITED";
static const char __pyx_k_CU_COREDUMP_DEFAULT_FLAGS[] = "CU_COREDUMP_DEFAULT_FLAGS";
static const char __pyx_k_CU_CTX_LMEM_RESIZE_TO_MAX[] = "CU_CTX_LMEM_RESIZE_TO_MAX";
static const char __pyx_k_CU_EXEC_AFFINITY_TYPE_MAX[] = "CU_EXEC_AFFINITY_TYPE_MAX";
static const char __pyx_k_CU_FUNC_CACHE_PREFER_NONE[] = "CU_FUNC_CACHE_PREFER_NONE";
static const char __pyx_k_CU_GRAPH_COND_TYPE_SWITCH[] = "CU_GRAPH_COND_TYPE_SWITCH";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_KERNEL[] = "CU_GRAPH_NODE_TYPE_KERNEL";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_MEMCPY[] = "CU_GRAPH_NODE_TYPE_MEMCPY";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_MEMSET[] = "CU_GRAPH_NODE_TYPE_MEMSET";
static const char __pyx_k_CU_GRAPH_USER_OBJECT_MOVE[] = "CU_GRAPH_USER_OBJECT_MOVE";
static const char __pyx_k_CU_JIT_GENERATE_LINE_INFO[] = "CU_JIT_GENERATE_LINE_INFO";
static const char __pyx_k_CU_JIT_OPTIMIZATION_LEVEL[] = "CU_JIT_OPTIMIZATION_LEVEL";
static const char __pyx_k_CU_LIMIT_MALLOC_HEAP_SIZE[] = "CU_LIMIT_MALLOC_HEAP_SIZE";
static const char __pyx_k_CU_LIMIT_PRINTF_FIFO_SIZE[] = "CU_LIMIT_PRINTF_FIFO_SIZE";
static const char __pyx_k_CU_MEMHOSTALLOC_DEVICEMAP[] = "CU_MEMHOSTALLOC_DEVICEMAP";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_FABRIC[] = "CU_MEM_HANDLE_TYPE_FABRIC";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_HOST[] = "CU_MEM_LOCATION_TYPE_HOST";
static const char __pyx_k_CU_MEM_OPERATION_TYPE_MAP[] = "CU_MEM_OPERATION_TYPE_MAP";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_32B[] = "CU_TENSOR_MAP_SWIZZLE_32B";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_64B[] = "CU_TENSOR_MAP_SWIZZLE_64B";
static const char __pyx_k_CU_TR_ADDRESS_MODE_BORDER[] = "CU_TR_ADDRESS_MODE_BORDER";
static const char __pyx_k_CU_TR_ADDRESS_MODE_MIRROR[] = "CU_TR_ADDRESS_MODE_MIRROR";
static const char __pyx_k_CUarray___setstate_cython[] = "CUarray.__setstate_cython__";
static const char __pyx_k_CUcheckpointUnlockArgs_st[] = "CUcheckpointUnlockArgs_st";
static const char __pyx_k_CUclusterSchedulingPolicy[] = "CUclusterSchedulingPolicy";
static const char __pyx_k_CUcontext___reduce_cython[] = "CUcontext.__reduce_cython__";
static const char __pyx_k_CUdevSmResource_st_getPtr[] = "CUdevSmResource_st.getPtr";
static const char __pyx_k_CUdriverProcAddress_flags[] = "CUdriverProcAddress_flags";
static const char __pyx_k_CUevent___setstate_cython[] = "CUevent.__setstate_cython__";
static const char __pyx_k_CUgraphEdgeData_st_getPtr[] = "CUgraphEdgeData_st.getPtr";
static const char __pyx_k_CUgraph___setstate_cython[] = "CUgraph.__setstate_cython__";
static const char __pyx_k_CUgraphicsResource_getPtr[] = "CUgraphicsResource.getPtr";
static const char __pyx_k_CUgraphicsResource_getter[] = "CUgraphicsResource_getter";
static const char __pyx_k_CUlibrary___reduce_cython[] = "CUlibrary.__reduce_cython__";
static const char __pyx_k_CUmemAccessDesc_st_getPtr[] = "CUmemAccessDesc_st.getPtr";
static const char __pyx_k_CUmemAllocationHandleType[] = "CUmemAllocationHandleType";
static const char __pyx_k_CUmemPoolPtrExportData_st[] = "CUmemPoolPtrExportData_st";
static const char __pyx_k_CUmemPoolPtrExportData_v1[] = "CUmemPoolPtrExportData_v1";
static const char __pyx_k_CUoccupancyB2DSize_getPtr[] = "CUoccupancyB2DSize.getPtr";
static const char __pyx_k_CUsurfref___reduce_cython[] = "CUsurfref.__reduce_cython__";
static const char __pyx_k_CUtensorMapIm2ColWideMode[] = "CUtensorMapIm2ColWideMode";
static const char __pyx_k_CUuuid_st___reduce_cython[] = "CUuuid_st.__reduce_cython__";
static const char __pyx_k_D_q_m1AV1A_t_a_avV1_N_6_q[] = "\200\001\360D\001\000\005\030\220q\330\004\030\230\001\330\t\n\330\010\026\220m\2401\240A\240V\2501\250A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\026\240q";
static const char __pyx_k_HelperCUmemPool_attribute[] = "_HelperCUmemPool_attribute";
static const char __pyx_k_HelperCUpointer_attribute[] = "_HelperCUpointer_attribute";
static const char __pyx_k_HelperKernelParams_lambda[] = "_HelperKernelParams.<lambda>";
static const char __pyx_k_Occupancy_calculator_flag[] = "\n    Occupancy calculator flag\n    ";
static const char __pyx_k_VdpDevice___reduce_cython[] = "VdpDevice.__reduce_cython__";
static const char __pyx_k_cuCheckpointProcessUnlock[] = "cuCheckpointProcessUnlock";
static const char __pyx_k_cuDevResourceGenerateDesc[] = "cuDevResourceGenerateDesc";
static const char __pyx_k_cuDeviceComputeCapability[] = "cuDeviceComputeCapability";
static const char __pyx_k_cuDeviceGetDefaultMemPool[] = "cuDeviceGetDefaultMemPool";
static const char __pyx_k_cuDevicePrimaryCtxRelease[] = "cuDevicePrimaryCtxRelease";
static const char __pyx_k_cuGraphAddDependencies_v2[] = "cuGraphAddDependencies_v2";
static const char __pyx_k_cuGraphAddEventRecordNode[] = "cuGraphAddEventRecordNode";
static const char __pyx_k_cuGraphRemoveDependencies[] = "cuGraphRemoveDependencies";
static const char __pyx_k_cuGraphicsGLRegisterImage[] = "cuGraphicsGLRegisterImage";
static const char __pyx_k_cuImportExternalSemaphore[] = "cuImportExternalSemaphore";
static const char __pyx_k_cuLaunchCooperativeKernel[] = "cuLaunchCooperativeKernel";
static const char __pyx_k_cuLibraryEnumerateKernels[] = "cuLibraryEnumerateKernels";
static const char __pyx_k_cuMemBatchDecompressAsync[] = "cuMemBatchDecompressAsync";
static const char __pyx_k_cuMemHostGetDevicePointer[] = "cuMemHostGetDevicePointer";
static const char __pyx_k_cuMulticastGetGranularity[] = "cuMulticastGetGranularity";
static const char __pyx_k_cuStreamGetCaptureInfo_v3[] = "cuStreamGetCaptureInfo_v3";
static const char __pyx_k_cuTensorMapReplaceAddress[] = "cuTensorMapReplaceAddress";
static const char __pyx_k_cuTexObjectGetTextureDesc[] = "cuTexObjectGetTextureDesc";
static const char __pyx_k_cuTexRefGetMipmappedArray[] = "cuTexRefGetMipmappedArray";
static const char __pyx_k_cuTexRefSetMipmappedArray[] = "cuTexRefSetMipmappedArray";
static const char __pyx_k_cylibraryOptionValues_ptr[] = "cylibraryOptionValues_ptr";
static const char __pyx_k_cypMipmappedArrayDesc_ptr[] = "cypMipmappedArrayDesc_ptr";
static const char __pyx_k_dataWindowSize_ValueError[] = "dataWindowSize : <ValueError>";
static const char __pyx_k_data_length_must_be_64_is[] = "data length must be 64, is ";
static const char __pyx_k_deviceUpdatableKernelNode[] = "deviceUpdatableKernelNode :\n";
static const char __pyx_k_dict_CUarray_cubemap_face[] = "_dict_CUarray_cubemap_face";
static const char __pyx_k_dict_CUevent_record_flags[] = "_dict_CUevent_record_flags";
static const char __pyx_k_dict_CUfunction_attribute[] = "_dict_CUfunction_attribute";
static const char __pyx_k_dict_CUgraphMem_attribute[] = "_dict_CUgraphMem_attribute";
static const char __pyx_k_dict_CUmemRangeHandleType[] = "_dict_CUmemRangeHandleType";
static const char __pyx_k_dict_CUresourceViewFormat[] = "_dict_CUresourceViewFormat";
static const char __pyx_k_eglColorFormat_ValueError[] = "eglColorFormat : <ValueError>";
static const char __pyx_k_nvSciBufObject_ValueError[] = "nvSciBufObject : <ValueError>";
static const char __pyx_k_sharedDataType_ValueError[] = "sharedDataType : <ValueError>";
static const char __pyx_k_sharedMemBytes_ValueError[] = "sharedMemBytes : <ValueError>";
static const char __pyx_k_srcAccessOrder_ValueError[] = "srcAccessOrder : <ValueError>";
static const char __pyx_k_t3a_q_1F_s_1_s_9AQ_aq_N_1[] = "\200\001\360:\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\t\n\330\010\026\320\026&\240a\240q\330\004\014\210N\230!\2301";
static const char __pyx_k_vS_1HA_AQ_AZq_Q_l_9HA_N_1[] = "\200\001\360:\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\t\n\330\010\026\220l\240!\2409\250H\260A\330\004\014\210N\230!\2301";
static const char __pyx_k_win32SecurityAttributes_2[] = "win32SecurityAttributes";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_k_N_1[] = "\200\001\360,\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\n\240!\2401\330\004\021\320\021&\240j\260\001\330\t\n\330\010\026\220k\240\021\240!\330\004\014\210N\230!\2301";
static const char __pyx_k_01_vS_1HA_AQ_AZq_Q_2_Q_N_1[] = "\200\001\33001\360\\\002\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\0042\260&\270\001\330\t\n\330\010\026\320\026)\250\021\250)\260:\270Q\330\004\014\210N\230!\2301";
static const char __pyx_k_2_z_A_Q_1L_S_S_AQ_k_t1_N_1[] = "\200\001\3602\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\220k\240\021\240-\250t\2601\330\004\014\210N\230!\2301";
static const char __pyx_k_4I_T_eef_a_t_a_t_a_avQ_N_6[] = "\200\001\330 !\360~\001\000\005\036\230\\\250\021\330\0044\260I\270]\310*\320T[\320[e\320ef\330\t\n\330\010\026\320\026&\240a\320'?\270t\300;\310a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_3a_q_1N_s_1_s_9AQ_Qa_N_1[] = "\200\001\3604\000\005\010\200|\2203\220a\330\010\027\220q\330\t\023\2201\220N\240!\330\010\027\220s\230!\2301\340\010\027\220s\230!\2309\240A\240Q\330\004\024\320\024(\250\n\260!\330\t\n\330\010\026\320\026-\250Q\250a\330\004\014\210N\230!\2301";
static const char __pyx_k_4_vS_1HA_AQ_AZq_Q_oQiq_N_1[] = "\200\001\3604\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\t\n\330\010\026\220o\240Q\240i\250q\330\004\014\210N\230!\2301";
static const char __pyx_k_6_t3a_q_1F_s_1_s_9AQ_q_N_1[] = "\200\001\3606\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\t\n\330\010\026\320\026'\240q\250\001\330\004\014\210N\230!\2301";
static const char __pyx_k_6_wc_1IQ_Qa_QgQa_1_oQa_N_1[] = "\200\001\3606\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\t\n\330\010\026\220o\240Q\240a\330\004\014\210N\230!\2301";
static const char __pyx_k_CUDA_ARRAY3D_DEPTH_TEXTURE[] = "CUDA_ARRAY3D_DEPTH_TEXTURE";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st[] = "CUDA_ARRAY3D_DESCRIPTOR_st";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_v2[] = "CUDA_ARRAY3D_DESCRIPTOR_v2";
static const char __pyx_k_CUDA_ERROR_ARRAY_IS_MAPPED[] = "CUDA_ERROR_ARRAY_IS_MAPPED";
static const char __pyx_k_CUDA_ERROR_EXTERNAL_DEVICE[] = "CUDA_ERROR_EXTERNAL_DEVICE";
static const char __pyx_k_CUDA_ERROR_ILLEGAL_ADDRESS[] = "CUDA_ERROR_ILLEGAL_ADDRESS";
static const char __pyx_k_CUDA_ERROR_INVALID_CONTEXT[] = "CUDA_ERROR_INVALID_CONTEXT";
static const char __pyx_k_CUDA_ERROR_MPS_RPC_FAILURE[] = "CUDA_ERROR_MPS_RPC_FAILURE";
static const char __pyx_k_CUDA_ERROR_NOT_INITIALIZED[] = "CUDA_ERROR_NOT_INITIALIZED";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_st[] = "CUDA_KERNEL_NODE_PARAMS_st";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v1[] = "CUDA_KERNEL_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2[] = "CUDA_KERNEL_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3[] = "CUDA_KERNEL_NODE_PARAMS_v3";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st[] = "CUDA_MEMCPY_NODE_PARAMS_st";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_st[] = "CUDA_MEMSET_NODE_PARAMS_st";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v1[] = "CUDA_MEMSET_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2[] = "CUDA_MEMSET_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS[] = "CUDA_MEM_ALLOC_NODE_PARAMS";
static const char __pyx_k_CUDA_NVSCISYNC_ATTR_SIGNAL[] = "CUDA_NVSCISYNC_ATTR_SIGNAL";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_st[] = "CUDA_RESOURCE_VIEW_DESC_st";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_v1[] = "CUDA_RESOURCE_VIEW_DESC_v1";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT16X1[] = "CU_AD_FORMAT_SNORM_INT16X1";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT16X2[] = "CU_AD_FORMAT_SNORM_INT16X2";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT16X4[] = "CU_AD_FORMAT_SNORM_INT16X4";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT16X1[] = "CU_AD_FORMAT_UNORM_INT16X1";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT16X2[] = "CU_AD_FORMAT_UNORM_INT16X2";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT16X4[] = "CU_AD_FORMAT_UNORM_INT16X4";
static const char __pyx_k_CU_AD_FORMAT_UNSIGNED_INT8[] = "CU_AD_FORMAT_UNSIGNED_INT8";
static const char __pyx_k_CU_AD_FORMAT_Y444_PLANAR10[] = "CU_AD_FORMAT_Y444_PLANAR10";
static const char __pyx_k_CU_CTX_SCHED_BLOCKING_SYNC[] = "CU_CTX_SCHED_BLOCKING_SYNC";
static const char __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_X[] = "CU_CUBEMAP_FACE_NEGATIVE_X";
static const char __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Y[] = "CU_CUBEMAP_FACE_NEGATIVE_Y";
static const char __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Z[] = "CU_CUBEMAP_FACE_NEGATIVE_Z";
static const char __pyx_k_CU_CUBEMAP_FACE_POSITIVE_X[] = "CU_CUBEMAP_FACE_POSITIVE_X";
static const char __pyx_k_CU_CUBEMAP_FACE_POSITIVE_Y[] = "CU_CUBEMAP_FACE_POSITIVE_Y";
static const char __pyx_k_CU_CUBEMAP_FACE_POSITIVE_Z[] = "CU_CUBEMAP_FACE_POSITIVE_Z";
static const char __pyx_k_CU_DEVICE_NUMA_CONFIG_NONE[] = "CU_DEVICE_NUMA_CONFIG_NONE";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10_ER[] = "CU_EGL_COLOR_FORMAT_Y10_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12_ER[] = "CU_EGL_COLOR_FORMAT_Y12_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV_ER[] = "CU_EGL_COLOR_FORMAT_YUV_ER";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_NUM_REGS[] = "CU_FUNC_ATTRIBUTE_NUM_REGS";
static const char __pyx_k_CU_FUNC_CACHE_PREFER_EQUAL[] = "CU_FUNC_CACHE_PREFER_EQUAL";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR[] = "CU_GRAPH_EXEC_UPDATE_ERROR";
static const char __pyx_k_CU_JIT_GENERATE_DEBUG_INFO[] = "CU_JIT_GENERATE_DEBUG_INFO";
static const char __pyx_k_CU_JIT_GLOBAL_SYMBOL_COUNT[] = "CU_JIT_GLOBAL_SYMBOL_COUNT";
static const char __pyx_k_CU_JIT_GLOBAL_SYMBOL_NAMES[] = "CU_JIT_GLOBAL_SYMBOL_NAMES";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_IGNORE[] = "CU_LAUNCH_ATTRIBUTE_IGNORE";
static const char __pyx_k_CU_LAUNCH_PARAM_END_AS_INT[] = "CU_LAUNCH_PARAM_END_AS_INT";
static const char __pyx_k_CU_MEMCPY_OPERAND_TYPE_MAX[] = "CU_MEMCPY_OPERAND_TYPE_MAX";
static const char __pyx_k_CU_MEM_ALLOCATION_TYPE_MAX[] = "CU_MEM_ALLOCATION_TYPE_MAX";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_GENERIC[] = "CU_MEM_HANDLE_TYPE_GENERIC";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_FLUSH[] = "CU_STREAM_WAIT_VALUE_FLUSH";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_128B[] = "CU_TENSOR_MAP_SWIZZLE_128B";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_NONE[] = "CU_TENSOR_MAP_SWIZZLE_NONE";
static const char __pyx_k_CUasyncNotificationInfo_st[] = "CUasyncNotificationInfo_st";
static const char __pyx_k_CUcheckpointCheckpointArgs[] = "CUcheckpointCheckpointArgs";
static const char __pyx_k_CUcheckpointRestoreArgs_st[] = "CUcheckpointRestoreArgs_st";
static const char __pyx_k_CUdevSmResourceSplit_flags[] = "CUdevSmResourceSplit_flags";
static const char __pyx_k_CUdevice___setstate_cython[] = "CUdevice.__setstate_cython__";
static const char __pyx_k_CUeglResourceLocationFlags[] = "CUeglResourceLocationFlags";
static const char __pyx_k_CUexternalMemoryHandleType[] = "CUexternalMemoryHandleType";
static const char __pyx_k_CUexternalSemaphore_getPtr[] = "CUexternalSemaphore.getPtr";
static const char __pyx_k_CUexternalSemaphore_getter[] = "CUexternalSemaphore_getter";
static const char __pyx_k_CUfunction___reduce_cython[] = "CUfunction.__reduce_cython__";
static const char __pyx_k_CUgraphConditionalHandle_2[] = "CUgraphConditionalHandle";
static const char __pyx_k_CUgraphConditionalNodeType[] = "CUgraphConditionalNodeType";
static const char __pyx_k_CUgraphicsMapResourceFlags[] = "CUgraphicsMapResourceFlags";
static const char __pyx_k_CUgreenCtx___reduce_cython[] = "CUgreenCtx.__reduce_cython__";
static const char __pyx_k_CUhostFn___setstate_cython[] = "CUhostFn.__setstate_cython__";
static const char __pyx_k_CUipcEventHandle_st_getPtr[] = "CUipcEventHandle_st.getPtr";
static const char __pyx_k_CUkernel___setstate_cython[] = "CUkernel.__setstate_cython__";
static const char __pyx_k_CUmodule___setstate_cython[] = "CUmodule.__setstate_cython__";
static const char __pyx_k_CUstream___setstate_cython[] = "CUstream.__setstate_cython__";
static const char __pyx_k_CUtexref___setstate_cython[] = "CUtexref.__setstate_cython__";
static const char __pyx_k_Child_graph_node_ownership[] = "\n    Child graph node ownership\n    ";
static const char __pyx_k_EGLSyncKHR___reduce_cython[] = "EGLSyncKHR.__reduce_cython__";
static const char __pyx_k_H_uCq_1G1_1A_1L_Ja_axq_N_1[] = "\200\001\360H\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\330\t\n\330\010\026\320\026&\240a\240x\250q\330\004\014\210N\230!\2301";
static const char __pyx_k_HelperCUgraphMem_attribute[] = "_HelperCUgraphMem_attribute";
static const char __pyx_k_J_r_A_Q_1D_S_S_1A_z_iq_N_1[] = "\200\001\360J\001\000\005\010\200r\210\023\210A\330\010\r\210Q\330\t\023\2201\220D\230\001\330\010\r\210S\220\001\220\021\340\010\r\210S\220\001\220\032\2301\230A\330\004\n\320\n\037\230z\250\021\330\t\n\330\010\026\220i\230q\240\001\330\004\014\210N\230!\2301";
static const char __pyx_k_Online_compilation_targets[] = "\n    Online compilation targets\n    ";
static const char __pyx_k_Optional_CUDA_TEXTURE_DESC[] = "Optional[CUDA_TEXTURE_DESC]";
static const char __pyx_k_Optional_CUctxCreateParams[] = "Optional[CUctxCreateParams]";
static const char __pyx_k_Optional_CUgraphNodeParams[] = "Optional[CUgraphNodeParams]";
static const char __pyx_k_Optional_CUstreamAttrValue[] = "Optional[CUstreamAttrValue]";
static const char __pyx_k_Z_XQ_1_2FhkY_a_t_a_avQ_N_6[] = "\200\001\360Z\001\000\005\036\230X\240Q\330\t\n\330\010\026\320\0261\260\021\3202F\300h\310k\320Y`\320`a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_accessDescCount_ValueError[] = "accessDescCount : <ValueError>";
static const char __pyx_k_blockSizeToDynamicSMemSize[] = "blockSizeToDynamicSMemSize";
static const char __pyx_k_bytesOverBudget_ValueError[] = "bytesOverBudget : <ValueError>";
static const char __pyx_k_compressionType_ValueError[] = "compressionType : <ValueError>";
static const char __pyx_k_cuArrayGetSparseProperties[] = "cuArrayGetSparseProperties";
static const char __pyx_k_cuCheckpointProcessRestore[] = "cuCheckpointProcessRestore";
static const char __pyx_k_cuDestroyExternalSemaphore[] = "cuDestroyExternalSemaphore";
static const char __pyx_k_cuDevicePrimaryCtxGetState[] = "cuDevicePrimaryCtxGetState";
static const char __pyx_k_cuDevicePrimaryCtxSetFlags[] = "cuDevicePrimaryCtxSetFlags";
static const char __pyx_k_cuEGLStreamConsumerConnect[] = "cuEGLStreamConsumerConnect";
static const char __pyx_k_cuEGLStreamProducerConnect[] = "cuEGLStreamProducerConnect";
static const char __pyx_k_cuFlushGPUDirectRDMAWrites[] = "cuFlushGPUDirectRDMAWrites";
static const char __pyx_k_cuGraphKernelNodeGetParams[] = "cuGraphKernelNodeGetParams";
static const char __pyx_k_cuGraphKernelNodeSetParams[] = "cuGraphKernelNodeSetParams";
static const char __pyx_k_cuGraphMemcpyNodeGetParams[] = "cuGraphMemcpyNodeGetParams";
static const char __pyx_k_cuGraphMemcpyNodeSetParams[] = "cuGraphMemcpyNodeSetParams";
static const char __pyx_k_cuGraphMemsetNodeGetParams[] = "cuGraphMemsetNodeGetParams";
static const char __pyx_k_cuGraphMemsetNodeSetParams[] = "cuGraphMemsetNodeSetParams";
static const char __pyx_k_cuGraphNodeGetDependencies[] = "cuGraphNodeGetDependencies";
static const char __pyx_k_cuGraphicsEGLRegisterImage[] = "cuGraphicsEGLRegisterImage";
static const char __pyx_k_cuGraphicsGLRegisterBuffer[] = "cuGraphicsGLRegisterBuffer";
static const char __pyx_k_cuModuleEnumerateFunctions[] = "cuModuleEnumerateFunctions";
static const char __pyx_k_cuStreamCreateWithPriority[] = "cuStreamCreateWithPriority";
static const char __pyx_k_cuTexObjectGetResourceDesc[] = "cuTexObjectGetResourceDesc";
static const char __pyx_k_cuTexRefGetMipmapLevelBias[] = "cuTexRefGetMipmapLevelBias";
static const char __pyx_k_cuTexRefSetMipmapLevelBias[] = "cuTexRefSetMipmapLevelBias";
static const char __pyx_k_cuuint32_t___reduce_cython[] = "cuuint32_t.__reduce_cython__";
static const char __pyx_k_cuuint64_t___reduce_cython[] = "cuuint64_t.__reduce_cython__";
static const char __pyx_k_deviceUpdatable_ValueError[] = "deviceUpdatable : <ValueError>";
static const char __pyx_k_dict_CUdevice_P2PAttribute[] = "_dict_CUdevice_P2PAttribute";
static const char __pyx_k_dict_CUgraphDebugDot_flags[] = "_dict_CUgraphDebugDot_flags";
static const char __pyx_k_dict_CUgraphDependencyType[] = "_dict_CUgraphDependencyType";
static const char __pyx_k_dict_CUlaunchMemSyncDomain[] = "_dict_CUlaunchMemSyncDomain";
static const char __pyx_k_dict_CUmem_range_attribute[] = "_dict_CUmem_range_attribute";
static const char __pyx_k_dict_CUmemcpy3DOperandType[] = "_dict_CUmemcpy3DOperandType";
static const char __pyx_k_dict_CUstreamCaptureStatus[] = "_dict_CUstreamCaptureStatus";
static const char __pyx_k_dict_CUtensorMapInterleave[] = "_dict_CUtensorMapInterleave";
static const char __pyx_k_hMipmappedArray_ValueError[] = "hMipmappedArray : <ValueError>";
static const char __pyx_k_lastMipmapLevel_ValueError[] = "lastMipmapLevel : <ValueError>";
static const char __pyx_k_mipmapLevelBias_ValueError[] = "mipmapLevelBias : <ValueError>";
static const char __pyx_k_subresourceType_ValueError[] = "subresourceType : <ValueError>";
static const char __pyx_k_t3a_q_1F_s_1_s_81A_q_0_N_1[] = "\200\001\360@\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\t\n\330\010\026\320\0260\260\001\260\021\330\004\014\210N\230!\2301";
static const char __pyx_k_t_A_kQWW_aaeef_t_a_avQ_N_6[] = "\200\001\330)*\360t\001\000\005\036\230[\250\001\330\t\n\330\010\026\320\026)\250\021\320*A\300\025\300k\320QW\320W`\320`a\320ae\320ef\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_voidStarHelperoptionValues[] = "voidStarHelperoptionValues";
static const char __pyx_k_wc_1IQ_Qa_Q_2_1_6j_m1A_N_1[] = "\200\001\360<\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\0262\260!\2601\330\004\017\320\0176\260j\300\001\330\t\n\330\010\026\220m\2401\240A\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_aq_N_1[] = "\200\001\360.\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026&\240a\240q\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3ay_Ja_aq_N_1[] = "\200\001\360*\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220y\240\001\240\021\330\004\020\320\020$\240J\250a\330\t\n\330\010\026\320\026&\240a\240q\330\004\014\210N\230!\2301";
static const char __pyx_k_1_O_bbllm_q_a_a_t_a_avQ_N_6[] = "\200\001\330&'\360\036\000\005#\240!\330\0041\260\036\270}\310O\320[b\320bl\320lm\330\t\n\330\010\026\320\026'\240q\250\016\260a\260\177\300a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_23d_vS_1HA_AQ_AZq_Q_1IQ_N_1[] = "\200\001\33023\360d\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\004*\250&\260\001\330\t\n\330\010\026\320\026+\2501\250I\260Q\330\004\014\210N\230!\2301";
static const char __pyx_k_2_81_WJgQ_q_F_Q_t_a_avQ_N_6[] = "\200\001\3602\000\005\034\2308\2401\330\004\016\320\016!\240\021\240!\330\004\035\230W\240J\250g\260Q\330\t\n\330\010\026\320\026'\240q\320(<\270F\300+\310Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_wc_1IQ_Qa_QgQa_1_1JfA_N_1[] = "\200\001\3604\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\t\n\330\010\026\320\026+\2501\250J\260f\270A\330\004\014\210N\230!\2301";
static const char __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_1_N_1[] = "\200\001\3604\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026*\250!\2501\330\004\014\210N\230!\2301";
static const char __pyx_k_67r_vS_1HA_AQ_AZq_Q_F_q_N_1[] = "\200\001\33067\360r\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\004,\250F\260!\330\t\n\330\010\026\320\026/\250q\260\t\270\021\330\004\014\210N\230!\2301";
static const char __pyx_k_CUDA_ARRAY3D_TEXTURE_GATHER[] = "CUDA_ARRAY3D_TEXTURE_GATHER";
static const char __pyx_k_CUDA_ERROR_ALREADY_ACQUIRED[] = "CUDA_ERROR_ALREADY_ACQUIRED";
static const char __pyx_k_CUDA_ERROR_OPERATING_SYSTEM[] = "CUDA_ERROR_OPERATING_SYSTEM";
static const char __pyx_k_CUDA_ERROR_SYSTEM_NOT_READY[] = "CUDA_ERROR_SYSTEM_NOT_READY";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS[] = "CUDA_EVENT_WAIT_NODE_PARAMS";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st[] = "CUDA_HOST_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_TEXTURE_DESC_st_getPtr[] = "CUDA_TEXTURE_DESC_st.getPtr";
static const char __pyx_k_CUDA_memory_pool_attributes[] = "\n    CUDA memory pool attributes\n    ";
static const char __pyx_k_CU_AD_FORMAT_BC1_UNORM_SRGB[] = "CU_AD_FORMAT_BC1_UNORM_SRGB";
static const char __pyx_k_CU_AD_FORMAT_BC2_UNORM_SRGB[] = "CU_AD_FORMAT_BC2_UNORM_SRGB";
static const char __pyx_k_CU_AD_FORMAT_BC3_UNORM_SRGB[] = "CU_AD_FORMAT_BC3_UNORM_SRGB";
static const char __pyx_k_CU_AD_FORMAT_BC7_UNORM_SRGB[] = "CU_AD_FORMAT_BC7_UNORM_SRGB";
static const char __pyx_k_CU_AD_FORMAT_UNSIGNED_INT16[] = "CU_AD_FORMAT_UNSIGNED_INT16";
static const char __pyx_k_CU_AD_FORMAT_UNSIGNED_INT32[] = "CU_AD_FORMAT_UNSIGNED_INT32";
static const char __pyx_k_CU_CTX_USER_COREDUMP_ENABLE[] = "CU_CTX_USER_COREDUMP_ENABLE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_ID[] = "CU_DEVICE_ATTRIBUTE_NUMA_ID";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_AYUV_ER[] = "CU_EGL_COLOR_FORMAT_AYUV_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_ER[] = "CU_EGL_COLOR_FORMAT_UYVY_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_VYUY_ER[] = "CU_EGL_COLOR_FORMAT_VYUY_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUVA_ER[] = "CU_EGL_COLOR_FORMAT_YUVA_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUYV_ER[] = "CU_EGL_COLOR_FORMAT_YUYV_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVYU_ER[] = "CU_EGL_COLOR_FORMAT_YVYU_ER";
static const char __pyx_k_CU_FUNC_CACHE_PREFER_SHARED[] = "CU_FUNC_CACHE_PREFER_SHARED";
static const char __pyx_k_CU_GET_PROC_ADDRESS_DEFAULT[] = "CU_GET_PROC_ADDRESS_DEFAULT";
static const char __pyx_k_CU_GET_PROC_ADDRESS_SUCCESS[] = "CU_GET_PROC_ADDRESS_SUCCESS";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_MEM_FREE[] = "CU_GRAPH_NODE_TYPE_MEM_FREE";
static const char __pyx_k_CU_GREEN_CTX_DEFAULT_STREAM[] = "CU_GREEN_CTX_DEFAULT_STREAM";
static const char __pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE[] = "CU_LAUNCH_PARAM_BUFFER_SIZE";
static const char __pyx_k_CU_MEMHOSTREGISTER_IOMEMORY[] = "CU_MEMHOSTREGISTER_IOMEMORY";
static const char __pyx_k_CU_MEMHOSTREGISTER_PORTABLE[] = "CU_MEMHOSTREGISTER_PORTABLE";
static const char __pyx_k_CU_MEM_ALLOCATION_COMP_NONE[] = "CU_MEM_ALLOCATION_COMP_NONE";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_DEVICE[] = "CU_MEM_LOCATION_TYPE_DEVICE";
static const char __pyx_k_CU_MEM_OPERATION_TYPE_UNMAP[] = "CU_MEM_OPERATION_TYPE_UNMAP";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MAPPED[] = "CU_POINTER_ATTRIBUTE_MAPPED";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X8[] = "CU_RES_VIEW_FORMAT_SINT_1X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X8[] = "CU_RES_VIEW_FORMAT_SINT_2X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X8[] = "CU_RES_VIEW_FORMAT_SINT_4X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X8[] = "CU_RES_VIEW_FORMAT_UINT_1X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X8[] = "CU_RES_VIEW_FORMAT_UINT_2X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X8[] = "CU_RES_VIEW_FORMAT_UINT_4X8";
static const char __pyx_k_CUcontext___setstate_cython[] = "CUcontext.__setstate_cython__";
static const char __pyx_k_CUctxCreateParams_st_getPtr[] = "CUctxCreateParams_st.getPtr";
static const char __pyx_k_CUdevice_v1___reduce_cython[] = "CUdevice_v1.__reduce_cython__";
static const char __pyx_k_CUdeviceptr___reduce_cython[] = "CUdeviceptr.__reduce_cython__";
static const char __pyx_k_CUgraphExecUpdateResultInfo[] = "CUgraphExecUpdateResultInfo";
static const char __pyx_k_CUgraphExec___reduce_cython[] = "CUgraphExec.__reduce_cython__";
static const char __pyx_k_CUgraphNodeParams_st_getPtr[] = "CUgraphNodeParams_st.getPtr";
static const char __pyx_k_CUgraphNode___reduce_cython[] = "CUgraphNode.__reduce_cython__";
static const char __pyx_k_CUlaunchAttribute_st_getPtr[] = "CUlaunchAttribute_st.getPtr";
static const char __pyx_k_CUlaunchMemSyncDomainMap_st[] = "CUlaunchMemSyncDomainMap_st";
static const char __pyx_k_CUlibrary___setstate_cython[] = "CUlibrary.__setstate_cython__";
static const char __pyx_k_CUlinkState___reduce_cython[] = "CUlinkState.__reduce_cython__";
static const char __pyx_k_CUlogsCallbackHandle_getPtr[] = "CUlogsCallbackHandle.getPtr";
static const char __pyx_k_CUlogsCallbackHandle_getter[] = "CUlogsCallbackHandle_getter";
static const char __pyx_k_CUmemFabricHandle_st_getPtr[] = "CUmemFabricHandle_st.getPtr";
static const char __pyx_k_CUmemcpy3DOperand_st_getPtr[] = "CUmemcpy3DOperand_st.getPtr";
static const char __pyx_k_CUstreamBatchMemOpParams_v1[] = "CUstreamBatchMemOpParams_v1";
static const char __pyx_k_CUstreamMemoryBarrier_flags[] = "CUstreamMemoryBarrier_flags";
static const char __pyx_k_CUsurfref___setstate_cython[] = "CUsurfref.__setstate_cython__";
static const char __pyx_k_CUtexObject___reduce_cython[] = "CUtexObject.__reduce_cython__";
static const char __pyx_k_CUuuid_st___setstate_cython[] = "CUuuid_st.__setstate_cython__";
static const char __pyx_k_D_t3a_q_1F_s_1_s_aq_A_k_N_1[] = "\200\001\360D\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\t\n\330\010\026\220k\240\021\240'\250\021\330\004\014\210N\230!\2301";
static const char __pyx_k_EGLImageKHR___reduce_cython[] = "EGLImageKHR.__reduce_cython__";
static const char __pyx_k_Graph_instantiation_results[] = "\n    Graph instantiation results\n    ";
static const char __pyx_k_H_7_1_wkQWW_aab_t_a_avQ_N_6[] = "\200\001\330+,\360H\001\000\005\034\2307\240!\330\t\n\330\010\026\320\026+\2501\320,?\270w\300k\320QW\320W`\320`a\320ab\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_HelperCUmem_range_attribute[] = "_HelperCUmem_range_attribute";
static const char __pyx_k_NVCL_event_scheduling_flags[] = "\n    NVCL event scheduling flags\n    ";
static const char __pyx_k_Optional_CUDA_MEMCPY3D_PEER[] = "Optional[CUDA_MEMCPY3D_PEER]";
static const char __pyx_k_Optional_CUDA_RESOURCE_DESC[] = "Optional[CUDA_RESOURCE_DESC]";
static const char __pyx_k_Optional_tuple_Any_list_Any[] = "Optional[tuple[Any] | list[Any]]";
static const char __pyx_k_Optional_tuple_int_list_int[] = "Optional[tuple[int] | list[int]]";
static const char __pyx_k_RESOURCE_ABI_EXTERNAL_BYTES[] = "RESOURCE_ABI_EXTERNAL_BYTES";
static const char __pyx_k_Tensor_map_Im2Col_wide_mode[] = "\n    Tensor map Im2Col wide mode\n    ";
static const char __pyx_k_Unsupported_attribute_value[] = "Unsupported attribute value: {}";
static const char __pyx_k_VdpDevice___setstate_cython[] = "VdpDevice.__setstate_cython__";
static const char __pyx_k_anon_union2___reduce_cython[] = "anon_union2.__reduce_cython__";
static const char __pyx_k_anon_union3___reduce_cython[] = "anon_union3.__reduce_cython__";
static const char __pyx_k_anon_union4___reduce_cython[] = "anon_union4.__reduce_cython__";
static const char __pyx_k_anon_union5___reduce_cython[] = "anon_union5.__reduce_cython__";
static const char __pyx_k_anon_union6___reduce_cython[] = "anon_union6.__reduce_cython__";
static const char __pyx_k_anon_union7___reduce_cython[] = "anon_union7.__reduce_cython__";
static const char __pyx_k_anon_union8___reduce_cython[] = "anon_union8.__reduce_cython__";
static const char __pyx_k_anon_union9___reduce_cython[] = "anon_union9.__reduce_cython__";
static const char __pyx_k_cuCheckpointProcessGetState[] = "cuCheckpointProcessGetState";
static const char __pyx_k_cuCtxGetStreamPriorityRange[] = "cuCtxGetStreamPriorityRange";
static const char __pyx_k_cuCtxResetPersistingL2Cache[] = "cuCtxResetPersistingL2Cache";
static const char __pyx_k_cuDevSmResourceSplitByCount[] = "cuDevSmResourceSplitByCount";
static const char __pyx_k_cuGraphMemFreeNodeGetParams[] = "cuGraphMemFreeNodeGetParams";
static const char __pyx_k_cuLibraryGetUnifiedFunction[] = "cuLibraryGetUnifiedFunction";
static const char __pyx_k_cuLinkCreate_locals_genexpr[] = "cuLinkCreate.<locals>.genexpr";
static const char __pyx_k_cuMemRetainAllocationHandle[] = "cuMemRetainAllocationHandle";
static const char __pyx_k_cuStreamBeginCaptureToGraph[] = "cuStreamBeginCaptureToGraph";
static const char __pyx_k_cuSurfObjectGetResourceDesc[] = "cuSurfObjectGetResourceDesc";
static const char __pyx_k_cuTensorMapEncodeIm2colWide[] = "cuTensorMapEncodeIm2colWide";
static const char __pyx_k_cuTexRefGetMipmapFilterMode[] = "cuTexRefGetMipmapFilterMode";
static const char __pyx_k_cuTexRefGetMipmapLevelClamp[] = "cuTexRefGetMipmapLevelClamp";
static const char __pyx_k_cuTexRefSetMipmapFilterMode[] = "cuTexRefSetMipmapFilterMode";
static const char __pyx_k_cuTexRefSetMipmapLevelClamp[] = "cuTexRefSetMipmapLevelClamp";
static const char __pyx_k_deviceUpdatableKernelNode_2[] = "deviceUpdatableKernelNode";
static const char __pyx_k_dict_CUfunctionLoadingState[] = "_dict_CUfunctionLoadingState";
static const char __pyx_k_dict_CUgreenCtxCreate_flags[] = "_dict_CUgreenCtxCreate_flags";
static const char __pyx_k_dict_CUmemcpySrcAccessOrder[] = "_dict_CUmemcpySrcAccessOrder";
static const char __pyx_k_dict_CUstreamBatchMemOpType[] = "_dict_CUstreamBatchMemOpType";
static const char __pyx_k_dict_CUtensorMapL2promotion[] = "_dict_CUtensorMapL2promotion";
static const char __pyx_k_firstMipmapLevel_ValueError[] = "firstMipmapLevel : <ValueError>";
static const char __pyx_k_internal_padding_ValueError[] = "_internal_padding : <ValueError>";
static const char __pyx_k_memOperationType_ValueError[] = "memOperationType : <ValueError>";
static const char __pyx_k_memSyncDomainMap_ValueError[] = "memSyncDomainMap : <ValueError>";
static const char __pyx_k_mipmapFilterMode_ValueError[] = "mipmapFilterMode : <ValueError>";
static const char __pyx_k_p_3a_q_1N_s_1_s_9AQ_A_A_N_1[] = "\200\001\360p\001\000\005\010\200|\2203\220a\330\010\027\220q\330\t\023\2201\220N\240!\330\010\027\220s\230!\2301\340\010\027\220s\230!\2309\240A\240Q\330\004\024\320\024(\250\n\260!\330\t\n\330\010\026\320\026,\250A\250_\270A\330\004\014\210N\230!\2301";
static const char __pyx_k_pblockSizeToDynamicSMemSize[] = "pblockSizeToDynamicSMemSize";
static const char __pyx_k_s_1_1_a_3aq_3a_q_3_Q_aq_N_1[] = "\200\001\360*\000\005\010\320\007\027\220s\230!\330\010\033\2301\330\t\023\2201\320\024&\240a\330\010\033\2303\230a\230q\340\010\033\2303\230a\320\037/\250q\260\001\330\004\030\320\0303\260:\270Q\330\t\n\330\010\026\320\026.\250a\250q\330\004\014\210N\230!\2301";
static const char __pyx_k_t3a_q_1F_s_1_s_81A_q_aq_N_1[] = "\200\001\360>\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\t\n\330\010\026\320\026.\250a\250q\330\004\014\210N\230!\2301";
static const char __pyx_k_v_7_m_jjqq_nA_8_t_a_avQ_N_6[] = "\200\001\330#$\360v\001\000\005\034\2307\240!\330\004@\300\016\310m\320[j\320jq\320q{\320{|\330\t\n\330\010\026\220n\240A\320%8\270\007\270{\310!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_1_Q_N_1[] = "\200\001\360<\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\0261\260\021\260+\270Q\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_q_1_N_1[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026/\250q\260\013\2701\330\004\014\210N\230!\2301";
static const char __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_aq_N_1[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026&\240a\240q\330\004\014\210N\230!\2301";
static const char __pyx_k_81_AQ_z_1_A_A_RS_t_a_avQ_N_6[] = "\200\001\360>\000\005\034\2308\2401\330\004\021\320\021$\240A\240Q\330\004 \240\007\240z\260\032\2701\330\t\n\330\010\026\320\026,\250A\320-A\300\026\300{\320RS\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_8_t3a_q_1F_s_1_s_9AQ_l_1_N_1[] = "\200\001\3608\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\t\n\330\010\026\220l\240!\2401\330\004\014\210N\230!\2301";
static const char __pyx_k_Array_indices_for_cube_faces[] = "\n    Array indices for cube faces\n    ";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES[] = "CUDA_ARRAY_SPARSE_PROPERTIES";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS[] = "CUDA_CHILD_GRAPH_NODE_PARAMS";
static const char __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS[] = "CUDA_CONDITIONAL_NODE_PARAMS";
static const char __pyx_k_CUDA_ERROR_CDP_NOT_SUPPORTED[] = "CUDA_ERROR_CDP_NOT_SUPPORTED";
static const char __pyx_k_CUDA_ERROR_ECC_UNCORRECTABLE[] = "CUDA_ERROR_ECC_UNCORRECTABLE";
static const char __pyx_k_CUDA_ERROR_NO_BINARY_FOR_GPU[] = "CUDA_ERROR_NO_BINARY_FOR_GPU";
static const char __pyx_k_CUDA_ERROR_PROFILER_DISABLED[] = "CUDA_ERROR_PROFILER_DISABLED";
static const char __pyx_k_CUDA_ERROR_UNSUPPORTED_LIMIT[] = "CUDA_ERROR_UNSUPPORTED_LIMIT";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_ERROR[] = "CUDA_GRAPH_INSTANTIATE_ERROR";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_st_getPtr[] = "CUDA_LAUNCH_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_st_getPtr[] = "CUDA_MEMCPY3D_PEER_st.getPtr";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st[] = "CUDA_MEM_FREE_NODE_PARAMS_st";
static const char __pyx_k_CUDA_RESOURCE_DESC_st_getPtr[] = "CUDA_RESOURCE_DESC_st.getPtr";
static const char __pyx_k_CU_ACCESS_PROPERTY_STREAMING[] = "CU_ACCESS_PROPERTY_STREAMING";
static const char __pyx_k_CU_COREDUMP_GENERATION_FLAGS[] = "CU_COREDUMP_GENERATION_FLAGS";
static const char __pyx_k_CU_DEV_RESOURCE_TYPE_INVALID[] = "CU_DEV_RESOURCE_TYPE_INVALID";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_422[] = "CU_EGL_COLOR_FORMAT_UYVY_422";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_709[] = "CU_EGL_COLOR_FORMAT_UYVY_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUYV_422[] = "CU_EGL_COLOR_FORMAT_YUYV_422";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y_709_ER[] = "CU_EGL_COLOR_FORMAT_Y_709_ER";
static const char __pyx_k_CU_EVENT_SCHED_BLOCKING_SYNC[] = "CU_EVENT_SCHED_BLOCKING_SYNC";
static const char __pyx_k_CU_GL_DEVICE_LIST_NEXT_FRAME[] = "CU_GL_DEVICE_LIST_NEXT_FRAME";
static const char __pyx_k_CU_GRAPH_COND_ASSIGN_DEFAULT[] = "CU_GRAPH_COND_ASSIGN_DEFAULT";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_SUCCESS[] = "CU_GRAPH_EXEC_UPDATE_SUCCESS";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_MEM_ALLOC[] = "CU_GRAPH_NODE_TYPE_MEM_ALLOC";
static const char __pyx_k_CU_JIT_MAX_THREADS_PER_BLOCK[] = "CU_JIT_MAX_THREADS_PER_BLOCK";
static const char __pyx_k_CU_JIT_TARGET_FROM_CUCONTEXT[] = "CU_JIT_TARGET_FROM_CUCONTEXT";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_PRIORITY[] = "CU_LAUNCH_ATTRIBUTE_PRIORITY";
static const char __pyx_k_CU_MEMCPY_OPERAND_TYPE_ARRAY[] = "CU_MEMCPY_OPERAND_TYPE_ARRAY";
static const char __pyx_k_CU_MEMHOSTREGISTER_DEVICEMAP[] = "CU_MEMHOSTREGISTER_DEVICEMAP";
static const char __pyx_k_CU_MEMHOSTREGISTER_READ_ONLY[] = "CU_MEMHOSTREGISTER_READ_ONLY";
static const char __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_MAX[] = "CU_MEM_ACCESS_FLAGS_PROT_MAX";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_WIN32_KMT[] = "CU_MEM_HANDLE_TYPE_WIN32_KMT";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_INVALID[] = "CU_MEM_LOCATION_TYPE_INVALID";
static const char __pyx_k_CU_MEM_RANGE_HANDLE_TYPE_MAX[] = "CU_MEM_RANGE_HANDLE_TYPE_MAX";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_CONTEXT[] = "CU_POINTER_ATTRIBUTE_CONTEXT";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X16[] = "CU_RES_VIEW_FORMAT_SINT_1X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X32[] = "CU_RES_VIEW_FORMAT_SINT_1X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X16[] = "CU_RES_VIEW_FORMAT_SINT_2X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X32[] = "CU_RES_VIEW_FORMAT_SINT_2X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X16[] = "CU_RES_VIEW_FORMAT_SINT_4X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X32[] = "CU_RES_VIEW_FORMAT_SINT_4X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X16[] = "CU_RES_VIEW_FORMAT_UINT_1X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X32[] = "CU_RES_VIEW_FORMAT_UINT_1X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X16[] = "CU_RES_VIEW_FORMAT_UINT_2X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X32[] = "CU_RES_VIEW_FORMAT_UINT_2X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X16[] = "CU_RES_VIEW_FORMAT_UINT_4X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X32[] = "CU_RES_VIEW_FORMAT_UINT_4X32";
static const char __pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_L1[] = "CU_SHAREDMEM_CARVEOUT_MAX_L1";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_PRIORITY[] = "CU_STREAM_ATTRIBUTE_PRIORITY";
static const char __pyx_k_CU_SYNC_POLICY_BLOCKING_SYNC[] = "CU_SYNC_POLICY_BLOCKING_SYNC";
static const char __pyx_k_CU_TENSOR_MAP_INTERLEAVE_16B[] = "CU_TENSOR_MAP_INTERLEAVE_16B";
static const char __pyx_k_CU_TENSOR_MAP_INTERLEAVE_32B[] = "CU_TENSOR_MAP_INTERLEAVE_32B";
static const char __pyx_k_CUarraySparseSubresourceType[] = "CUarraySparseSubresourceType";
static const char __pyx_k_CUasyncCallbackHandle_getPtr[] = "CUasyncCallbackHandle.getPtr";
static const char __pyx_k_CUasyncCallbackHandle_getter[] = "CUasyncCallbackHandle_getter";
static const char __pyx_k_CUdevprop_st___reduce_cython[] = "CUdevprop_st.__reduce_cython__";
static const char __pyx_k_CUeglStreamConnection_getPtr[] = "CUeglStreamConnection.getPtr";
static const char __pyx_k_CUeglStreamConnection_getter[] = "CUeglStreamConnection_getter";
static const char __pyx_k_CUfunction___setstate_cython[] = "CUfunction.__setstate_cython__";
static const char __pyx_k_CUgreenCtx___setstate_cython[] = "CUgreenCtx.__setstate_cython__";
static const char __pyx_k_CUlaunchAttributeValue_union[] = "CUlaunchAttributeValue_union";
static const char __pyx_k_CUmemGenericAllocationHandle[] = "<CUmemGenericAllocationHandle ";
static const char __pyx_k_CUmemcpyAttributes_st_getPtr[] = "CUmemcpyAttributes_st.getPtr";
static const char __pyx_k_CUmemoryPool___reduce_cython[] = "CUmemoryPool.__reduce_cython__";
static const char __pyx_k_CUmulticastGranularity_flags[] = "CUmulticastGranularity_flags";
static const char __pyx_k_CUsurfObject___reduce_cython[] = "CUsurfObject.__reduce_cython__";
static const char __pyx_k_CUuserObject___reduce_cython[] = "CUuserObject.__reduce_cython__";
static const char __pyx_k_D_xs_1_1Ja_3aq_3axq_Q_Qk_N_1[] = "\200\001\360D\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026-\250Q\250k\270\021\270!\330\004\014\210N\230!\2301";
static const char __pyx_k_D_z_A_Q_1L_S_S_AQ_nA_D_q_N_1[] = "\200\001\360D\001\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\220n\240A\240]\260*\270D\300\007\300q\330\004\014\210N\230!\2301";
static const char __pyx_k_EGLStreamKHR___reduce_cython[] = "EGLStreamKHR.__reduce_cython__";
static const char __pyx_k_EGLSyncKHR___setstate_cython[] = "EGLSyncKHR.__setstate_cython__";
static const char __pyx_k_External_memory_handle_types[] = "\n    External memory handle types\n    ";
static const char __pyx_k_H_t3a_q_1F_s_1_s_81A_q_1_N_1[] = "\200\001\360H\003\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\t\n\330\010\026\320\0261\260\021\260'\270\021\330\004\014\210N\230!\2301";
static const char __pyx_k_L_7x_IU_ffg_B_XY_t_a_avQ_N_6[] = "\200\001\330\"#\360>\000\005%\240L\260\001\330\0047\260x\270}\310I\320U\\\320\\f\320fg\330\t\n\330\010\026\320\026)\250\021\320*B\300+\310[\320XY\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_NVCL_CTX_SCHED_BLOCKING_SYNC[] = "NVCL_CTX_SCHED_BLOCKING_SYNC";
static const char __pyx_k_Optional_CUmemAllocationProp[] = "Optional[CUmemAllocationProp]";
static const char __pyx_k_Tensor_map_L2_promotion_type[] = "\n    Tensor map L2 promotion type\n    ";
static const char __pyx_k_Z_y_1_A_1Kq_Cq_Cq_1_j_4A_N_1[] = "\200\001\360Z\001\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030*\250!\2501\330\004\021\320\021.\250j\270\001\330\t\n\330\010\026\320\0264\260A\260\\\300\021\330\004\014\210N\230!\2301";
static const char __pyx_k_anon_struct0___reduce_cython[] = "anon_struct0.__reduce_cython__";
static const char __pyx_k_anon_struct1___reduce_cython[] = "anon_struct1.__reduce_cython__";
static const char __pyx_k_anon_struct2___reduce_cython[] = "anon_struct2.__reduce_cython__";
static const char __pyx_k_anon_struct3___reduce_cython[] = "anon_struct3.__reduce_cython__";
static const char __pyx_k_anon_struct4___reduce_cython[] = "anon_struct4.__reduce_cython__";
static const char __pyx_k_anon_struct5___reduce_cython[] = "anon_struct5.__reduce_cython__";
static const char __pyx_k_anon_struct6___reduce_cython[] = "anon_struct6.__reduce_cython__";
static const char __pyx_k_anon_struct7___reduce_cython[] = "anon_struct7.__reduce_cython__";
static const char __pyx_k_anon_struct8___reduce_cython[] = "anon_struct8.__reduce_cython__";
static const char __pyx_k_anon_struct9___reduce_cython[] = "anon_struct9.__reduce_cython__";
static const char __pyx_k_anon_union10___reduce_cython[] = "anon_union10.__reduce_cython__";
static const char __pyx_k_anon_union11___reduce_cython[] = "anon_union11.__reduce_cython__";
static const char __pyx_k_anon_union12___reduce_cython[] = "anon_union12.__reduce_cython__";
static const char __pyx_k_anon_union15___reduce_cython[] = "anon_union15.__reduce_cython__";
static const char __pyx_k_b_t3a_q_1F_s_1_s_9AQ_m1A_N_1[] = "\200\001\360b\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\t\n\330\010\026\220m\2401\240A\330\004\014\210N\230!\2301";
static const char __pyx_k_cuArrayGetMemoryRequirements[] = "cuArrayGetMemoryRequirements";
static const char __pyx_k_cuCoredumpGetAttributeGlobal[] = "cuCoredumpGetAttributeGlobal";
static const char __pyx_k_cuCoredumpSetAttributeGlobal[] = "cuCoredumpSetAttributeGlobal";
static const char __pyx_k_cuDeviceGetGraphMemAttribute[] = "cuDeviceGetGraphMemAttribute";
static const char __pyx_k_cuDeviceSetGraphMemAttribute[] = "cuDeviceSetGraphMemAttribute";
static const char __pyx_k_cuGraphEventWaitNodeGetEvent[] = "cuGraphEventWaitNodeGetEvent";
static const char __pyx_k_cuGraphEventWaitNodeSetEvent[] = "cuGraphEventWaitNodeSetEvent";
static const char __pyx_k_cuGraphExecHostNodeSetParams[] = "cuGraphExecHostNodeSetParams";
static const char __pyx_k_cuGraphInstantiateWithParams[] = "cuGraphInstantiateWithParams";
static const char __pyx_k_cuGraphMemAllocNodeGetParams[] = "cuGraphMemAllocNodeGetParams";
static const char __pyx_k_cuGraphNodeGetDependentNodes[] = "cuGraphNodeGetDependentNodes";
static const char __pyx_k_cuGraphRemoveDependencies_v2[] = "cuGraphRemoveDependencies_v2";
static const char __pyx_k_cuGraphicsUnregisterResource[] = "cuGraphicsUnregisterResource";
static const char __pyx_k_cuLinkAddData_locals_genexpr[] = "cuLinkAddData.<locals>.genexpr";
static const char __pyx_k_cuLinkAddFile_locals_genexpr[] = "cuLinkAddFile.<locals>.genexpr";
static const char __pyx_k_cuMemExportToShareableHandle[] = "cuMemExportToShareableHandle";
static const char __pyx_k_cuOccupancyMaxActiveClusters[] = "cuOccupancyMaxActiveClusters";
static const char __pyx_k_cuda_bindings__lib_utils_pxi[] = "cuda/bindings/_lib/utils.pxi";
static const char __pyx_k_cuuint32_t___setstate_cython[] = "cuuint32_t.__setstate_cython__";
static const char __pyx_k_cuuint64_t___setstate_cython[] = "cuuint64_t.__setstate_cython__";
static const char __pyx_k_cyblockSizeToDynamicSMemSize[] = "cyblockSizeToDynamicSMemSize";
static const char __pyx_k_dict_CUasyncNotificationType[] = "_dict_CUasyncNotificationType";
static const char __pyx_k_dict_CUgraphExecUpdateResult[] = "_dict_CUgraphExecUpdateResult";
static const char __pyx_k_dict_CUgraphicsRegisterFlags[] = "_dict_CUgraphicsRegisterFlags";
static const char __pyx_k_dict_CUmemAllocationCompType[] = "_dict_CUmemAllocationCompType";
static const char __pyx_k_dict_CUstreamWaitValue_flags[] = "_dict_CUstreamWaitValue_flags";
static const char __pyx_k_dict_CUsynchronizationPolicy[] = "_dict_CUsynchronizationPolicy";
static const char __pyx_k_dict_CUtensorMapFloatOOBfill[] = "_dict_CUtensorMapFloatOOBfill";
static const char __pyx_k_f_Qa_Q_0_1H_Xaab_t_a_avQ_N_6[] = "\200\001\360f\001\000\005\036\230[\250\001\330\004\n\320\n\035\230Q\230a\330\004\031\230\027\240\n\250#\250Q\330\t\n\330\010\026\320\0260\260\001\3201H\310\005\310[\320Xa\320ab\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_flushRemoteWrites_ValueError[] = "flushRemoteWrites : <ValueError>";
static const char __pyx_k_miptailFirstLevel_ValueError[] = "miptailFirstLevel : <ValueError>";
static const char __pyx_k_padding_length_must_be_20_is[] = "padding length must be 20, is ";
static const char __pyx_k_programmaticEvent_ValueError[] = "programmaticEvent : <ValueError>";
static const char __pyx_k_reserved_length_must_be_4_is[] = "reserved length must be 4, is ";
static const char __pyx_k_reserved_length_must_be_5_is[] = "reserved length must be 5, is ";
static const char __pyx_k_sharedMemCarveout_ValueError[] = "sharedMemCarveout : <ValueError>";
static const char __pyx_k_sharedMemPerBlock_ValueError[] = "sharedMemPerBlock : <ValueError>";
static const char __pyx_k_v_7_B_P_llss_a_A_t_a_avQ_N_6[] = "\200\001\330%&\360v\003\000\005\034\2307\240!\330\004B\300.\320P]\320]l\320ls\320s}\320}~\330\t\n\330\010\026\320\026&\240a\320':\270'\300\033\310A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_A_G1_N_1[] = "\200\001\330./\360<\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004)\250\023\250A\330\t\n\330\010\026\320\026(\250\001\250\033\260G\2701\330\004\014\210N\230!\2301";
static const char __pyx_k_2_t3a_q_1F_s_1_s_aq_A_q_q_N_1[] = "\200\001\3602\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\t\n\330\010\026\320\026'\240q\250\007\250q\330\004\014\210N\230!\2301";
static const char __pyx_k_2_y_1_A_1Kq_Cq_Cq_1_j_31A_N_1[] = "\200\001\3602\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030*\250!\2501\330\004\021\320\021.\250j\270\001\330\t\n\330\010\026\320\0263\2601\260A\330\004\014\210N\230!\2301";
static const char __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_nAQ_N_1[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\220n\240A\240Q\330\004\014\210N\230!\2301";
static const char __pyx_k_9_N_wc_1IQ_Qa_Qhaq_0_A_J_6QTT[] = "\200\001\3309:\360N\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\330\0040\260\004\260A\330\004/\320/J\310!\3106\320QT\320T^\320^_\330\004\035\230W\240J\250g\260Q\330\t\n\330\010\026\320\0263\2601\260J\270h\300a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\027\250\006\250a";
static const char __pyx_k_B_z_A_Q_1L_S_S_AQ_m1M_4wa_N_1[] = "\200\001\360B\001\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\220m\2401\240M\260\032\2704\270w\300a\330\004\014\210N\230!\2301";
static const char __pyx_k_CUDA_ARRAY3D_COLOR_ATTACHMENT[] = "CUDA_ARRAY3D_COLOR_ATTACHMENT";
static const char __pyx_k_CUDA_ARRAY3D_DEFERRED_MAPPING[] = "CUDA_ARRAY3D_DEFERRED_MAPPING";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS";
static const char __pyx_k_CUDA_ERROR_DEVICE_UNAVAILABLE[] = "CUDA_ERROR_DEVICE_UNAVAILABLE";
static const char __pyx_k_CUDA_ERROR_MISALIGNED_ADDRESS[] = "CUDA_ERROR_MISALIGNED_ADDRESS";
static const char __pyx_k_CUDA_ERROR_TENSOR_MEMORY_LEAK[] = "CUDA_ERROR_TENSOR_MEMORY_LEAK";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS[] = "CUDA_EVENT_RECORD_NODE_PARAMS";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS[] = "CUDA_GRAPH_INSTANTIATE_PARAMS";
static const char __pyx_k_CUDA_Graph_Update_error_types[] = "\n    CUDA Graph Update error types\n    ";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st[] = "CUDA_KERNEL_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st[] = "CUDA_KERNEL_NODE_PARAMS_v3_st";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st[] = "CUDA_MEMSET_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2";
static const char __pyx_k_CUGPUDirectRDMAWritesOrdering[] = "CUGPUDirectRDMAWritesOrdering";
static const char __pyx_k_CU_ACCESS_PROPERTY_PERSISTING[] = "CU_ACCESS_PROPERTY_PERSISTING";
static const char __pyx_k_CU_COMPUTE_FAMILY_TARGET_BASE[] = "CU_COMPUTE_FAMILY_TARGET_BASE";
static const char __pyx_k_CU_COREDUMP_LIGHTWEIGHT_FLAGS[] = "CU_COREDUMP_LIGHTWEIGHT_FLAGS";
static const char __pyx_k_CU_COREDUMP_SKIP_LOCAL_MEMORY[] = "CU_COREDUMP_SKIP_LOCAL_MEMORY";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PITCH[] = "CU_DEVICE_ATTRIBUTE_MAX_PITCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_WARP_SIZE[] = "CU_DEVICE_ATTRIBUTE_WARP_SIZE";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_2020[] = "CU_EGL_COLOR_FORMAT_UYVY_2020";
static const char __pyx_k_CU_FUNCTION_LOADING_STATE_MAX[] = "CU_FUNCTION_LOADING_STATE_MAX";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_PTX_VERSION[] = "CU_FUNC_ATTRIBUTE_PTX_VERSION";
static const char __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_NONE[] = "CU_GL_MAP_RESOURCE_FLAGS_NONE";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_WAIT_EVENT[] = "CU_GRAPH_NODE_TYPE_WAIT_EVENT";
static const char __pyx_k_CU_MEMHOSTALLOC_WRITECOMBINED[] = "CU_MEMHOSTALLOC_WRITECOMBINED";
static const char __pyx_k_CU_MEMPOOL_ATTR_USED_MEM_HIGH[] = "CU_MEMPOOL_ATTR_USED_MEM_HIGH";
static const char __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_NONE[] = "CU_MEM_ACCESS_FLAGS_PROT_NONE";
static const char __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READ[] = "CU_MEM_ACCESS_FLAGS_PROT_READ";
static const char __pyx_k_CU_MEM_ADVISE_SET_ACCESSED_BY[] = "CU_MEM_ADVISE_SET_ACCESSED_BY";
static const char __pyx_k_CU_MEM_ADVISE_SET_READ_MOSTLY[] = "CU_MEM_ADVISE_SET_READ_MOSTLY";
static const char __pyx_k_CU_MEM_ALLOCATION_TYPE_PINNED[] = "CU_MEM_ALLOCATION_TYPE_PINNED";
static const char __pyx_k_CU_MEM_CREATE_USAGE_TILE_POOL[] = "CU_MEM_CREATE_USAGE_TILE_POOL";
static const char __pyx_k_CU_MEM_DECOMPRESS_UNSUPPORTED[] = "CU_MEM_DECOMPRESS_UNSUPPORTED";
static const char __pyx_k_CU_PROCESS_STATE_CHECKPOINTED[] = "CU_PROCESS_STATE_CHECKPOINTED";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X16[] = "CU_RES_VIEW_FORMAT_FLOAT_1X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X32[] = "CU_RES_VIEW_FORMAT_FLOAT_1X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X16[] = "CU_RES_VIEW_FORMAT_FLOAT_2X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X32[] = "CU_RES_VIEW_FORMAT_FLOAT_2X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X16[] = "CU_RES_VIEW_FORMAT_FLOAT_4X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X32[] = "CU_RES_VIEW_FORMAT_FLOAT_4X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC4[] = "CU_RES_VIEW_FORMAT_SIGNED_BC4";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC5[] = "CU_RES_VIEW_FORMAT_SIGNED_BC5";
static const char __pyx_k_CU_SHAREDMEM_CARVEOUT_DEFAULT[] = "CU_SHAREDMEM_CARVEOUT_DEFAULT";
static const char __pyx_k_CU_STREAM_CAPTURE_MODE_GLOBAL[] = "CU_STREAM_CAPTURE_MODE_GLOBAL";
static const char __pyx_k_CU_STREAM_CAPTURE_STATUS_NONE[] = "CU_STREAM_CAPTURE_STATUS_NONE";
static const char __pyx_k_CU_STREAM_WRITE_VALUE_DEFAULT[] = "CU_STREAM_WRITE_VALUE_DEFAULT";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT32[] = "CU_TENSOR_MAP_DATA_TYPE_INT32";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT64[] = "CU_TENSOR_MAP_DATA_TYPE_INT64";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT8[] = "CU_TENSOR_MAP_DATA_TYPE_UINT8";
static const char __pyx_k_CU_TENSOR_MAP_INTERLEAVE_NONE[] = "CU_TENSOR_MAP_INTERLEAVE_NONE";
static const char __pyx_k_CUcheckpointCheckpointArgs_st[] = "CUcheckpointCheckpointArgs_st";
static const char __pyx_k_CUdevice_v1___setstate_cython[] = "CUdevice_v1.__setstate_cython__";
static const char __pyx_k_CUdeviceptr___setstate_cython[] = "CUdeviceptr.__setstate_cython__";
static const char __pyx_k_CUeglFrame_st___reduce_cython[] = "CUeglFrame_st.__reduce_cython__";
static const char __pyx_k_CUexecAffinityParam_st_getPtr[] = "CUexecAffinityParam_st.getPtr";
static const char __pyx_k_CUextent3D_st___reduce_cython[] = "CUextent3D_st.__reduce_cython__";
static const char __pyx_k_CUexternalSemaphoreHandleType[] = "CUexternalSemaphoreHandleType";
static const char __pyx_k_CUgraphExec___setstate_cython[] = "CUgraphExec.__setstate_cython__";
static const char __pyx_k_CUgraphNode___setstate_cython[] = "CUgraphNode.__setstate_cython__";
static const char __pyx_k_CUlinkState___setstate_cython[] = "CUlinkState.__setstate_cython__";
static const char __pyx_k_CUlogIterator___reduce_cython[] = "CUlogIterator.__reduce_cython__";
static const char __pyx_k_CUmemAllocationProp_st_getPtr[] = "CUmemAllocationProp_st.getPtr";
static const char __pyx_k_CUoffset3D_st___reduce_cython[] = "CUoffset3D_st.__reduce_cython__";
static const char __pyx_k_CUtexObject___setstate_cython[] = "CUtexObject.__setstate_cython__";
static const char __pyx_k_EGLImageKHR___setstate_cython[] = "EGLImageKHR.__setstate_cython__";
static const char __pyx_k_Function_cache_configurations[] = "\n    Function cache configurations\n    ";
static const char __pyx_k_HelperCUcoredumpSettings_size[] = "_HelperCUcoredumpSettings.size";
static const char __pyx_k_NVCL_context_scheduling_flags[] = "\n    NVCL context scheduling flags\n    ";
static const char __pyx_k_Optional_CUcheckpointLockArgs[] = "Optional[CUcheckpointLockArgs]";
static const char __pyx_k_R_r_A_Q_1D_S_S_1A_z_m1E_Q_N_1[] = "\200\001\360R\001\000\005\010\200r\210\023\210A\330\010\r\210Q\330\t\023\2201\220D\230\001\330\010\r\210S\220\001\220\021\340\010\r\210S\220\001\220\032\2301\230A\330\004\n\320\n\037\230z\250\021\330\t\n\330\010\026\220m\2401\240E\250\034\260Q\330\004\014\210N\230!\2301";
static const char __pyx_k_XXY4_a_6d_uGS_0_1_t_a_avQ_N_6[] = "\200\001\330%X\320XY\3604\000\005\037\230a\330\0046\260d\270-\300u\310G\320S]\320]^\330\004:\270&\300\001\330\t\n\330\010\026\320\0260\260\001\260\021\260-\270|\3101\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_X_xs_1_1Ja_3aq_3axq_Q_q_1_N_1[] = "\200\001\360X\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026'\240q\250\013\2601\330\004\014\210N\230!\2301";
static const char __pyx_k_accessPolicyWindow_ValueError[] = "accessPolicyWindow : <ValueError>";
static const char __pyx_k_add_cuda_native_handle_getter[] = "_add_cuda_native_handle_getter";
static const char __pyx_k_anon_struct10___reduce_cython[] = "anon_struct10.__reduce_cython__";
static const char __pyx_k_anon_struct11___reduce_cython[] = "anon_struct11.__reduce_cython__";
static const char __pyx_k_anon_struct12___reduce_cython[] = "anon_struct12.__reduce_cython__";
static const char __pyx_k_anon_struct13___reduce_cython[] = "anon_struct13.__reduce_cython__";
static const char __pyx_k_anon_struct14___reduce_cython[] = "anon_struct14.__reduce_cython__";
static const char __pyx_k_anon_struct15___reduce_cython[] = "anon_struct15.__reduce_cython__";
static const char __pyx_k_anon_struct16___reduce_cython[] = "anon_struct16.__reduce_cython__";
static const char __pyx_k_anon_struct17___reduce_cython[] = "anon_struct17.__reduce_cython__";
static const char __pyx_k_anon_struct18___reduce_cython[] = "anon_struct18.__reduce_cython__";
static const char __pyx_k_anon_struct19___reduce_cython[] = "anon_struct19.__reduce_cython__";
static const char __pyx_k_anon_struct20___reduce_cython[] = "anon_struct20.__reduce_cython__";
static const char __pyx_k_anon_struct21___reduce_cython[] = "anon_struct21.__reduce_cython__";
static const char __pyx_k_anon_struct22___reduce_cython[] = "anon_struct22.__reduce_cython__";
static const char __pyx_k_anon_struct23___reduce_cython[] = "anon_struct23.__reduce_cython__";
static const char __pyx_k_anon_struct24___reduce_cython[] = "anon_struct24.__reduce_cython__";
static const char __pyx_k_anon_union2___setstate_cython[] = "anon_union2.__setstate_cython__";
static const char __pyx_k_anon_union3___setstate_cython[] = "anon_union3.__setstate_cython__";
static const char __pyx_k_anon_union4___setstate_cython[] = "anon_union4.__setstate_cython__";
static const char __pyx_k_anon_union5___setstate_cython[] = "anon_union5.__setstate_cython__";
static const char __pyx_k_anon_union6___setstate_cython[] = "anon_union6.__setstate_cython__";
static const char __pyx_k_anon_union7___setstate_cython[] = "anon_union7.__setstate_cython__";
static const char __pyx_k_anon_union8___setstate_cython[] = "anon_union8.__setstate_cython__";
static const char __pyx_k_anon_union9___setstate_cython[] = "anon_union9.__setstate_cython__";
static const char __pyx_k_cuCheckpointProcessCheckpoint[] = "cuCheckpointProcessCheckpoint";
static const char __pyx_k_cuCtxCreate_v3_locals_genexpr[] = "cuCtxCreate_v3.<locals>.genexpr";
static const char __pyx_k_cuEGLStreamConsumerDisconnect[] = "cuEGLStreamConsumerDisconnect";
static const char __pyx_k_cuEGLStreamProducerDisconnect[] = "cuEGLStreamProducerDisconnect";
static const char __pyx_k_cuGraphAddNode_locals_genexpr[] = "cuGraphAddNode.<locals>.genexpr";
static const char __pyx_k_cuGraphChildGraphNodeGetGraph[] = "cuGraphChildGraphNodeGetGraph";
static const char __pyx_k_cuGraphKernelNodeGetAttribute[] = "cuGraphKernelNodeGetAttribute";
static const char __pyx_k_cuGraphKernelNodeSetAttribute[] = "cuGraphKernelNodeSetAttribute";
static const char __pyx_k_cuGraphNodeGetDependencies_v2[] = "cuGraphNodeGetDependencies_v2";
static const char __pyx_k_cuGraphicsResourceSetMapFlags[] = "cuGraphicsResourceSetMapFlags";
static const char __pyx_k_cuMemGetAllocationGranularity[] = "cuMemGetAllocationGranularity";
static const char __pyx_k_cuMemGetHandleForAddressRange[] = "cuMemGetHandleForAddressRange";
static const char __pyx_k_cuMemSetAccess_locals_genexpr[] = "cuMemSetAccess.<locals>.genexpr";
static const char __pyx_k_cuWaitExternalSemaphoresAsync[] = "cuWaitExternalSemaphoresAsync";
static const char __pyx_k_dict_CUgraphInstantiateResult[] = "_dict_CUgraphInstantiateResult";
static const char __pyx_k_dict_CUgraphInstantiate_flags[] = "_dict_CUgraphInstantiate_flags";
static const char __pyx_k_dict_CUmemDecompressAlgorithm[] = "_dict_CUmemDecompressAlgorithm";
static const char __pyx_k_dict_CUstreamWriteValue_flags[] = "_dict_CUstreamWriteValue_flags";
static const char __pyx_k_dict_CUuserObjectRetain_flags[] = "_dict_CUuserObjectRetain_flags";
static const char __pyx_k_execAffinityParams_ValueError[] = "execAffinityParams : <ValueError>";
static const char __pyx_k_functionWindowSize_ValueError[] = "functionWindowSize : <ValueError>";
static const char __pyx_k_maxThreadsPerBlock_ValueError[] = "maxThreadsPerBlock : <ValueError>";
static const char __pyx_k_oversize_length_must_be_48_is[] = "_oversize length must be 48, is ";
static const char __pyx_k_reserved_length_must_be_54_is[] = "reserved length must be 54, is ";
static const char __pyx_k_reserved_length_must_be_64_is[] = "reserved length must be 64, is ";
static const char __pyx_k_vS_1HA_AQ_A_Ja_1A_t_a_avQ_N_6[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\t\n\330\010\026\320\026)\250\021\250)\2601\260A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\037\260\001\260\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_2_SST_N_1[] = "\200\001\360@\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\0262\260!\260;\320>S\320ST\330\004\014\210N\230!\2301";
static const char __pyx_k_01r_uCq_1G1_1A_1L_Ja_t1_H_wV_a[] = "\200\001\33001\360r\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\330\004/\250t\2601\330\004.\320.H\310\001\310\026\310w\320V`\320`a\330\004\035\230W\240J\250g\260Q\330\t\n\330\010\026\320\026,\250A\250X\260X\270Q\330\004\014\210N\230!\2301";
static const char __pyx_k_0H_6_c_1_iq_wc_1IQ_Qa_QgQa_1_a[] = "\200\001\330/0\360H\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\t\n\330\010\026\320\026*\250!\320+B\300+\310[\320Xb\320br\320rs\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_0_Q_a_1M_c_c_aq_A_9_2_3QQYYdde[] = "\200\001\3600\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230,\240a\240q\330\004\023\320\023*\250*\260A\330\004'\320'9\270\021\330\t\n\330\010\026\320\0262\260!\3203Q\320QY\320Yd\320de\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_0_t3a_q_1F_s_1_s_81A_q_1_q_1_t[] = "\200\001\3600\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\033\2301\330\t\n\330\010\026\320\026'\240q\250\001\250\032\2601\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_0_xs_1_1Ja_3aq_3axq_Q_4E_fGS_N[] = "\200\001\330 !\3600\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\0044\260E\270\035\300f\310G\320S]\320]^\330\t\n\330\010\026\320\026*\250!\250=\270\001\330\004\014\210N\230!\2301";
static const char __pyx_k_0_z_A_Q_1L_S_S_AQ_7q_0_1NhVaab[] = "\200\001\3600\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\004&\320&7\260q\330\t\n\330\010\026\320\0260\260\001\3201N\310h\320Va\320ab\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_0_z_A_Q_1L_S_S_AQ_9_1_2PPXXccd[] = "\200\001\3600\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\004'\320'9\270\021\330\t\n\330\010\026\320\0261\260\021\3202P\320PX\320Xc\320cd\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_12_xs_1_1Ja_3aq_3axq_Q_r_A_N_1[] = "\200\001\33012\360>\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004'\240r\250\021\330\t\n\330\010\026\320\026,\250A\250[\270\001\330\004\014\210N\230!\2301";
static const char __pyx_k_23P_xs_1_1Ja_3aq_3axq_Q_t1_1Kq[] = "\200\001\33023\360P\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004/\250t\2601\330\t\n\330\010\026\320\026+\2501\250K\260q\330\004\014\210N\230!\2301";
static const char __pyx_k_2_t3a_q_1F_s_1_s_aq_A_t3a_q_1F[] = "\200\001\3602\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\t\n\330\010\026\320\0266\260a\260w\270a\330\004\014\210N\230!\2301";
static const char __pyx_k_34L_vS_1HA_AQ_AWAQ_6_c_1_iq_wc[] = "\200\001\33034\360L\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\t\n\330\010\026\320\026.\250a\320/F\300k\320Q\\\320\\f\320fv\360\000\000w\001H\002\360\000\000H\002I\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_456_xs_1Ja_7_1Ja_iq_vvxx_A_A_B[] = "\200\001\33045\3606\000\005\010\200x\210s\220!\330\010\024\320\024(\250\n\260!\330\t\023\2201\220J\230a\330\010\023\2207\230'\240\021\330\010\024\320\024(\250\n\260!\330\t\023\2201\220J\230a\330\010\024\320\024(\250\n\260!\340\010\016\210i\220q\320\030v\320vx\320x{\320{|\360\000\000}\001A\002\360\000\000A\002B\002\360\000\000B\002C\002\340\004\007\200u\210C\210q\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\020\220\004\220G\2301\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\021\320\0212\260*\270A\340\010\016\210i\220q\360\000\000\031A\002\360\000\000A\002C\002\360\000\000C\002F\002\360\000\000F\002G\002\360\000\000G\002K\002\360\000\000K\002L\002\360\000\000L\002M\002\330\004/\250x\260}\300I\310W\320T^\320^_\330\t\n\330\010\026\320\0265\260Q\260h\320>N\310a\330\004\014\210N\230!\2301";
static const char __pyx_k_4_Q_a_1M_c_c_Qa_1_Ja_9OuTU_t_a[] = "\200\001\3604\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\004\034\230J\240a\330\t\n\330\010\026\320\026*\250!\250>\3209O\310u\320TU\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_t3a_q_1F_s_1_s_81A_q_q_avQ_a[] = "\200\001\3604\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\340\004'\240q\330\t\n\330\010\026\320\026&\240a\240v\250Q\320.>\270a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\027\250\006\250a";
static const char __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_2_1E_t_a[] = "\200\001\3604\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\t\n\330\010\026\320\0262\260!\2601\260E\270\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\035\250a\250q";
static const char __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_AQe1_t_a[] = "\200\001\3604\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\t\n\330\010\026\320\026,\250A\250Q\250e\2601\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\035\250a\250q";
static const char __pyx_k_56H_vS_1HA_AQ_AWAQ_6_c_1_iq_wc[] = "\200\001\33056\360H\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\t\n\330\010\026\320\0260\260\001\3201H\310\013\320S^\320^h\320hx\360\000\000y\001J\002\360\000\000J\002K\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_5q_r_r_r_k_k_l_l_r_r_G_G_r_r_s[] = "\200\001\3305q\360\000\000r\001r\002\360\000\000r\002k\003\360\000\000k\003l\004\360\000\000l\004r\005\360\000\000r\005\\\006\360\000\000\\\006G\007\360\000\000G\007r\007\360\000\000r\007s\007\360B\007\000\005\026\220V\230?\250#\250Z\260q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\r\210V\2207\230#\230Z\240q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\024\220F\230.\250\003\250:\260Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\020\220\006\220j\240\003\240:\250Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230*\240A\240Q\330\004\023\320\023(\250\n\260!\330\004!\240\033\250A\330\0049\270\036\300q\330\004\026\320\026)\250\021\250!\330\004%\240W\250J\260o\300Q\330\004,\250A\330\004\007\200s\210!\210;\220b\230\001\330\010\026\320\026-\250V\2601\260C\260q\270\014\300A\330\010\013\210<\220s\230!\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T`\320`b\320bf\320fh\320hk\320kl\320lm\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\033\2301\230G\320#9\270\034\300Y\310a\310u\320T]\320]^\320^_\330\t\014\210A\210[\230\003\2301\330\010\026\320\026-\250\\\270\031\300!\3003\300a\330\0040\260\001\330\004\007\200s\210!\210?\230\"\230A\330\010\032\320\0321\260\026\260q\270\003\2701\320<L\310A\330\010\013\320\013\033\2303\230a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Td\320df\320fj\320jl\320lo\320op\320pq\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\037\230q\240\007\320'=\270\\\310\035\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210_\230C\230q\330\010\032\320\0321\260\034\270]\310!\3103\310a\330\004)\250\021\330\004\007\200s\210!\2108\2202\220Q\330\010\023\320\023*\250&\260\001\260\023\260A\260Y\270a\330\010\013\2109\220C\220q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T]\320]_\320_c\320ce""\320eh\320hi\320ij\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\030\230\001\230\027\320 6\260l\300&\310\001\310\025\310i\320WX\320XY\330\t\014\210A\210X\220S\230\001\330\010\023\320\023*\250,\260f\270A\270S\300\001\330\0041\260\021\330\004\007\200s\210!\320\013\033\2302\230Q\330\010\033\320\0332\260&\270\001\270\023\270A\320=N\310a\330\010\013\320\013\034\230C\230q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Te\320eg\320gk\320km\320mp\320pq\320qr\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020 \240\001\240\027\320(>\270l\310.\320XY\320Y^\320^g\320gh\320hi\330\t\014\210A\320\r\035\230S\240\001\330\010\033\320\0332\260,\270n\310A\310S\320PQ\330\0047\260z\300\021\330\0041\260\027\270\001\330\0049\270\033\300A\330\0046\260g\270Q\330\t\n\330\010\026\320\026-\250Q\320.E\300Y\310k\320Yk\320ky\360\000\000z\001O\002\360\000\000O\002\\\002\360\000\000\\\002m\002\360\000\000m\002w\002\360\000\000w\002I\003\360\000\000I\003W\003\360\000\000W\003b\003\360\000\000b\003q\003\360\000\000q\003r\003\330\004\007\200s\210!\210;\220b\230\002\230$\230l\250'\260\021\330\010\014\210A\210Q\330\004\007\200s\210!\210?\230\"\230B\230d\320\"2\260'\270\021\330\010\014\210A\210Q\330\004\007\200s\210!\2108\2202\220R\220t\2309\240G\2501\330\010\014\210A\210Q\330\004\007\200s\210!\320\013\033\2302\230R\230t\320#4\260G\2701\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_t3a_q_1F_s_1_s_81A_q_B_kQR_t[] = "\200\001\3606\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\035\230\\\250\021\330\t\n\330\010\026\320\026)\250\021\320*B\300$\300k\320QR\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_t3a_q_1F_s_1_s_81A_q_a_a_1_t[] = "\200\001\3606\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\036\230a\330\004\026\220a\330\t\n\330\010\026\320\0261\260\021\260'\270\021\270'\300\021\300!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\027\250\001";
static const char __pyx_k_6_t3a_q_1F_s_1_s_9AQ_Q_a_1_S_Q[] = "\200\001\3606\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\004(\250\001\330\004\020\220\001\330\004\007\200{\220#\220Q\330\010\024\320\024(\250\006\250a\250|\2701\330\010\013\210:\220S\230\001\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P\\\320\\^\320^b\320bd\320dg\320gh\320hi\330\t\n\330\010\026\320\0260\260\001\260\033\270L\310\001\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\024\220A\220X\230Q\230k\250\032\2609\270A\270V\3004\300w\310e\320ST\320TU\330\004\007\200z\220\027\230\001\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\t\n\330\010\026\220n\240A\240^\2601\330\004\014\210N\230!\2301";
static const char __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\320\026&\240a\240}\260D\270\003\2701\330\004\014\210N\230!\2301";
static const char __pyx_k_6_xs_1_1Ja_3aq_3ay_Ja_HA_g_P_t[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220y\240\001\240\021\330\004\020\320\020$\240J\250a\330\004\034\230H\240A\330\t\n\330\010\026\320\026)\250\021\320*>\270g\300[\320P[\320[\\\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_y_1_A_1Kq_Cq_Cq_Zq_7_G_a_t_a[] = "\200\001\3606\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\t\240\021\240!\330\004\021\320\021%\240Z\250q\330\004\033\2307\240!\330\t\n\330\010\026\320\026(\250\001\320)<\270G\300;\310a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_z_A_Q_1L_S_S_AQ_z_A_Q_1L_S_S[] = "\200\001\3606\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\220m\2401\240M\260\035\270a\330\004\014\210N\230!\2301";
static const char __pyx_k_6r_s_s_s_y_y_q_q_G_G_M_M_w_w_b[] = "\200\001\3306r\360\000\000s\001s\002\360\000\000s\002y\003\360\000\000y\003q\004\360\000\000q\004G\006\360\000\000G\006M\007\360\000\000M\007w\007\360\000\000w\007b\010\360\000\000b\010M\t\360\000\000M\tN\t\360x\007\000\005\026\220V\230?\250#\250Z\260q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\320\007\027\220s\230!\330\010\033\2301\330\t\023\2201\320\024&\240a\330\010\033\2303\230a\230q\340\010\033\2303\230a\230z\250\021\250!\330\004\030\320\030-\250Z\260q\340\004\007\320\007\030\230\003\2301\330\010\034\230A\330\t\023\2201\320\024'\240q\330\010\034\230C\230q\240\001\340\010\034\230C\230q\240\n\250!\2501\330\004\031\320\031.\250j\270\001\330\004\032\230&\320 4\260C\260z\300\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\032\230&\320 4\260C\260z\300\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\024\220F\230.\250\003\250:\260Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\020\220\006\220j\240\003\240:\250Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230*\240A\240Q\330\004\023\320\023(\250\n\260!\330\004!\240\033\250A\330\0049\270\036\300q\330\004\026\320\026)\250\021\250!\330\004%\240W\250J\260o\300Q\330\004,\250A\330\004\007\200s\210!\210;\220b\230\001\330\010\026\320\026-\250V\2601\260C\260q\270\014\300A\330\010\013\210<\220s\230!\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T`\320`b\320bf\320fh\320hk\320kl\320lm\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\033\2301\230G\320#9\270\034\300Y\310a\310u\320T]\320]^\320^_\330\t\014\210A\210[\230\003\2301\330\010\026\320\026-\250\\\270\031\300!\3003\300a\330\0040\260\001\330\004\007\200s\210!\210?\230\"\230A\330\010\032\320\0321\260\026\260q\270\003\2701\320<L\310A\330\010\013\320\013\033\2303\230a\330\014\022\220+\230Q\320\036J\310\"\310C""\310q\320PS\320ST\320Td\320df\320fj\320jl\320lo\320op\320pq\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\037\230q\240\007\320'=\270\\\310\035\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210_\230C\230q\330\010\032\320\0321\260\034\270]\310!\3103\310a\330\004-\250Q\330\004-\250Q\330\0041\260\021\330\004\007\200s\210!\320\013\033\2302\230Q\330\010\033\320\0332\260&\270\001\270\023\270A\320=N\310a\330\010\013\320\013\034\230C\230q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Te\320eg\320gk\320km\320mp\320pq\320qr\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020 \240\001\240\027\320(>\270l\310.\320XY\320Y^\320^g\320gh\320hi\330\t\014\210A\320\r\035\230S\240\001\330\010\033\320\0332\260,\270n\310A\310S\320PQ\330\0047\260z\300\021\330\0041\260\027\270\001\330\0049\270\033\300A\330\0046\260g\270Q\330\t\n\330\010\026\320\026.\250a\320/F\300i\310{\320Zl\320lz\360\000\000{\001P\002\360\000\000P\002]\002\360\000\000]\002n\002\360\000\000n\002C\003\360\000\000C\003H\003\360\000\000H\003L\003\360\000\000L\003a\003\360\000\000a\003f\003\360\000\000f\003j\003\360\000\000j\003~\003\360\000\000~\003Q\004\360\000\000Q\004c\004\360\000\000c\004q\004\360\000\000q\004|\004\360\000\000|\004K\005\360\000\000K\005L\005\330\004\007\200s\210!\210;\220b\230\002\230$\230l\250'\260\021\330\010\014\210A\210Q\330\004\007\200s\210!\210?\230\"\230B\230d\320\"2\260'\270\021\330\010\014\210A\210Q\330\004\007\200s\210!\320\013\033\2302\230R\230t\320#4\260G\2701\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_782_vS_1HA_AQ_A_Ja_DJm_ffmmwwx[] = "\200\001\33078\3602\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004D\300J\310m\320[f\320fm\320mw\320wx\330\t\n\330\010\026\320\0265\260Q\260i\270q\330\004\014\210N\230!\2301";
static const char __pyx_k_78_t3a_q_1F_s_1_s_81A_q_2_5Qat[] = "\200\001\33078\360:\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\022\220!\330\0042\260(\270!\330\t\n\330\010\026\320\0265\260Q\260a\260t\270<\300q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_78_xs_1_1Ja_3aq_3axq_Q_r_2_a_N[] = "\200\001\33078\360>\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004'\240r\250\021\330\t\n\330\010\026\320\0262\260!\260;\270a\330\004\014\210N\230!\2301";
static const char __pyx_k_7_N_N___D_4Cz_V_Zq_iq_v_c_1_Zq[] = "\200\001\3307~\360\000\000\177\001N\003\360\000\000N\003^\004\360\000\000^\004_\004\360D\002\000\005\033\230&\320 4\260C\260z\300\021\330\004\025\220V\230?\250#\250Z\260q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\027\220v\320\035.\250c\260\032\2701\330\004\021\220\026\220{\240#\240Z\250q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\035\230Y\240a\330\0046\260a\260|\3007\310$\320N^\320^_\320_`\330\004\r\210Q\320\016!\240\021\240+\320-=\270T\300\033\320L^\320^a\320ab\320bn\320no\330\004A\320AW\320WX\320XY\330\004)\250\030\260\032\320;Y\320YZ\330\004\007\200~\220R\220s\230!\230=\250\006\250l\270!\320;Q\320QS\320SV\320VW\320WZ\320Z[\320[h\320hj\320jp\320pr\320ru\320uv\320vw\330\004\007\200~\220R\220s\230!\320\033.\250f\260L\300\001\320AW\320WY\320Y\\\320\\]\320]`\320`a\320at\320tv\320v|\320|~\360\000\000\177\001B\002\360\000\000B\002C\002\360\000\000C\002D\002\330\004=\270Q\320>N\310g\320UY\320Ym\320mn\320no\330\004\r\210Q\320\016$\240A\240[\3200@\300\004\300K\320Oa\320ad\320de\320eu\320uv\330\004D\320DZ\320Z[\320[\\\330\004,\250H\260J\320>_\320_`\330\004\007\320\007\031\230\022\2303\230a\320\0370\260\006\260l\300!\320CY\320Y[\320[^\320^_\320_b\320bc\320ct\320tv\320v|\320|~\360\000\000\177\001B\002\360\000\000B\002C\002\360\000\000C\002D\002\330\004\007\320\007\031\230\022\2303\230a\320\0375\260V\270<\300q\320H^\320^`\320`c\320cd\320dg\320gh\320h~\360\000\000\177\001A\002\360\000\000A\002G\002\360\000\000G\002I\002\360\000\000I\002L\002\360\000\000L\002M\002\360\000\000M\002N\002\330\t\n\330\010\026\320\026,\250A\320-B\300'\310\033\320T^\320^j\320jo\320os\360\000\000t\001L\002\360\000\000L\002[\002\360\000\000[\002k\002\360\000\000k\002p\002\360\000\000p\002t\002\360\000\000t\002O\003\360\000\000O\003P\003\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_8_uCq_1G1_1A_1HAQ_Ja_A_kQYYZ_t[] = "\200\001\3608\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220H\230A\230Q\330\004\r\320\r \240\n\250!\330\004\034\230J\240a\330\t\n\330\010\026\320\026*\250!\320+A\300\025\300k\320QY\320YZ\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_8_vS_1HA_AQ_A_Ja_7_4AY_QQXXY_t[] = "\200\001\3608\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004\033\2307\240!\330\t\n\330\010\026\320\0264\260A\260Y\320>Q\320QX\320XY\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_8_xs_1_1Ja_3aq_3axq_Q_a_q_1A_t[] = "\200\001\3608\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\036\230a\330\t\n\330\010\026\320\026'\240q\250\013\2601\260A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_8_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L[] = "\200\001\3608\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\320\026'\240q\250\r\260T\270\023\270A\330\004\014\210N\230!\2301";
static const char __pyx_k_9_wc_1IQ_Qa_Qhaq_0_A_J_6QXXbbc[] = "\200\001\3309:\360@\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\330\0040\260\004\260A\330\004/\320/J\310!\3106\320QX\320Xb\320bc\330\004\035\230W\240J\250g\260Q\330\t\n\330\010\026\320\0263\2601\260J\270h\300a\330\004\014\210N\230!\2301";
static const char __pyx_k_ABT_wc_1IQ_Qa_Qk_Zq_K1KWX_G_V1[] = "\200\001\330AB\360T\004\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220k\240\021\240!\330\004\017\320\017%\240Z\250q\330\004/\320/K\3101\310K\320WX\330\004\034\230G\240:\250V\2601\330\0046\260i\270q\330\t\n\330\010\026\320\026-\250Q\250l\270*\300M\320Q[\320[\\\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\026\240v\250Q";
static const char __pyx_k_A_D_D_f_f_g_f_V_Zq_iq_6_c_1_iq[] = "\200\001\360\002\000A\001D\002\360\000\000D\002f\003\360\000\000f\003g\003\360f\001\000\005\026\220V\230?\250#\250Z\260q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\0046\260a\330\004\007\200s\210!\320\013\033\2302\230Q\330\010\033\320\0337\260v\270Q\270c\300\021\320BS\320ST\330\010\013\320\013\034\230C\230q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Te\320eg\320gk\320km\320mp\320pq\320qr\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\320\033+\2501\250G\3203D\300N\320RS\320SX\320Xc\320cd\330\t\014\210A\320\r\035\230S\240\001\330\010\034\320\034-\250^\2701\270C\270q\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004\007\320\007\027\220r\230\030\240\023\240A\320%6\260f\270L\310\001\320I_\320_a\320ad\320de\320eh\320hi\320iz\320z|\360\000\000}\001C\002\360\000\000C\002E\002\360\000\000E\002H\002\360\000\000H\002I\002\360\000\000I\002J\002\330\004/\250t\2601\330\t\n\330""\010\026\320\0262\260!\260;\270j\320HX\320Xj\320j{\320{|\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200s\210!\320\013\033\2302\230R\230t\320#4\260G\2701\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_B_Q_a_1M_c_c_1A_z_z_A_Q_1L_S_S[] = "\200\001\360B\001\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230)\2401\240A\330\004\023\320\023'\240z\260\021\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230)\2401\240A\330\004\023\320\023'\240z\260\021\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\220m\2401\240M\260\036\270}\310N\320Z[\330\004\014\210N\230!\2301";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS";
static const char __pyx_k_CUDA_ERROR_DEVICE_NOT_LICENSED[] = "CUDA_ERROR_DEVICE_NOT_LICENSED";
static const char __pyx_k_CUDA_ERROR_FUNCTION_NOT_LOADED[] = "CUDA_ERROR_FUNCTION_NOT_LOADED";
static const char __pyx_k_CUDA_ERROR_ILLEGAL_INSTRUCTION[] = "CUDA_ERROR_ILLEGAL_INSTRUCTION";
static const char __pyx_k_CUDA_ERROR_NOT_MAPPED_AS_ARRAY[] = "CUDA_ERROR_NOT_MAPPED_AS_ARRAY";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st[] = "CUDA_EVENT_WAIT_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_DEDICATED[] = "CUDA_EXTERNAL_MEMORY_DEDICATED";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_SUCCESS[] = "CUDA_GRAPH_INSTANTIATE_SUCCESS";
static const char __pyx_k_CUDA_device_NUMA_configuration[] = "\n    CUDA device NUMA configuration\n    ";
static const char __pyx_k_CU_COREDUMP_SKIP_GLOBAL_MEMORY[] = "CU_COREDUMP_SKIP_GLOBAL_MEMORY";
static const char __pyx_k_CU_COREDUMP_SKIP_SHARED_MEMORY[] = "CU_COREDUMP_SKIP_SHARED_MEMORY";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CLOCK_RATE[] = "CU_DEVICE_ATTRIBUTE_CLOCK_RATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_INTEGRATED[] = "CU_DEVICE_ATTRIBUTE_INTEGRATED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID[] = "CU_DEVICE_ATTRIBUTE_PCI_BUS_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TCC_DRIVER[] = "CU_DEVICE_ATTRIBUTE_TCC_DRIVER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BCCR[] = "CU_EGL_COLOR_FORMAT_BAYER_BCCR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CBRC[] = "CU_EGL_COLOR_FORMAT_BAYER_CBRC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CRBC[] = "CU_EGL_COLOR_FORMAT_BAYER_CRBC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RCCB[] = "CU_EGL_COLOR_FORMAT_BAYER_RCCB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10_709_ER[] = "CU_EGL_COLOR_FORMAT_Y10_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12_709_ER[] = "CU_EGL_COLOR_FORMAT_Y12_709_ER";
static const char __pyx_k_CU_EXEC_AFFINITY_TYPE_SM_COUNT[] = "CU_EXEC_AFFINITY_TYPE_SM_COUNT";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_CONDITIONAL[] = "CU_GRAPH_NODE_TYPE_CONDITIONAL";
static const char __pyx_k_CU_JIT_GLOBAL_SYMBOL_ADDRESSES[] = "CU_JIT_GLOBAL_SYMBOL_ADDRESSES";
static const char __pyx_k_CU_JIT_REFERENCED_KERNEL_COUNT[] = "CU_JIT_REFERENCED_KERNEL_COUNT";
static const char __pyx_k_CU_JIT_REFERENCED_KERNEL_NAMES[] = "CU_JIT_REFERENCED_KERNEL_NAMES";
static const char __pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER[] = "CU_LAUNCH_PARAM_BUFFER_POINTER";
static const char __pyx_k_CU_LIBRARY_BINARY_IS_PRESERVED[] = "CU_LIBRARY_BINARY_IS_PRESERVED";
static const char __pyx_k_CU_MEMCPY_OPERAND_TYPE_POINTER[] = "CU_MEMCPY_OPERAND_TYPE_POINTER";
static const char __pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_ANY[] = "CU_MEMCPY_SRC_ACCESS_ORDER_ANY";
static const char __pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_MAX[] = "CU_MEMCPY_SRC_ACCESS_ORDER_MAX";
static const char __pyx_k_CU_MEM_ALLOCATION_COMP_GENERIC[] = "CU_MEM_ALLOCATION_COMP_GENERIC";
static const char __pyx_k_CU_MEM_ALLOCATION_TYPE_INVALID[] = "CU_MEM_ALLOCATION_TYPE_INVALID";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA[] = "CU_MEM_LOCATION_TYPE_HOST_NUMA";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_BUFFER_ID[] = "CU_POINTER_ATTRIBUTE_BUFFER_ID";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC6H[] = "CU_RES_VIEW_FORMAT_SIGNED_BC6H";
static const char __pyx_k_CU_STREAM_CAPTURE_MODE_RELAXED[] = "CU_STREAM_CAPTURE_MODE_RELAXED";
static const char __pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_32[] = "CU_STREAM_MEM_OP_WAIT_VALUE_32";
static const char __pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_64[] = "CU_STREAM_MEM_OP_WAIT_VALUE_64";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT16[] = "CU_TENSOR_MAP_DATA_TYPE_UINT16";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT32[] = "CU_TENSOR_MAP_DATA_TYPE_UINT32";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT64[] = "CU_TENSOR_MAP_DATA_TYPE_UINT64";
static const char __pyx_k_CU_TRSF_NORMALIZED_COORDINATES[] = "CU_TRSF_NORMALIZED_COORDINATES";
static const char __pyx_k_CUaccessPolicyWindow_st_getPtr[] = "CUaccessPolicyWindow_st.getPtr";
static const char __pyx_k_CUcheckpointLockArgs_st_getPtr[] = "CUcheckpointLockArgs_st.getPtr";
static const char __pyx_k_CUdeviceptr_v2___reduce_cython[] = "CUdeviceptr_v2.__reduce_cython__";
static const char __pyx_k_CUdevprop_st___setstate_cython[] = "CUdevprop_st.__setstate_cython__";
static const char __pyx_k_CUdriverProcAddressQueryResult[] = "CUdriverProcAddressQueryResult";
static const char __pyx_k_CUgraphChildGraphNodeOwnership[] = "CUgraphChildGraphNodeOwnership";
static const char __pyx_k_CUgraphExecUpdateResultInfo_st[] = "CUgraphExecUpdateResultInfo_st";
static const char __pyx_k_CUgraphExecUpdateResultInfo_v1[] = "CUgraphExecUpdateResultInfo_v1";
static const char __pyx_k_CUlogsCallback___reduce_cython[] = "CUlogsCallback.__reduce_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle_2[] = "CUmemGenericAllocationHandle";
static const char __pyx_k_CUmemoryPool___setstate_cython[] = "CUmemoryPool.__setstate_cython__";
static const char __pyx_k_CUstreamBatchMemOpParams_union[] = "CUstreamBatchMemOpParams_union";
static const char __pyx_k_CUsurfObject___setstate_cython[] = "CUsurfObject.__setstate_cython__";
static const char __pyx_k_CUtensorMap_st___reduce_cython[] = "CUtensorMap_st.__reduce_cython__";
static const char __pyx_k_CUtexObject_v1___reduce_cython[] = "CUtexObject_v1.__reduce_cython__";
static const char __pyx_k_CUuserObject___setstate_cython[] = "CUuserObject.__setstate_cython__";
static const char __pyx_k_Cq_1O1_1A_1G1A_z_S_1_A_AQ_A_Ja[] = "\200\001\360@\001\000\005\010\200}\220C\220q\330\010\030\230\001\330\t\023\2201\220O\2401\330\010\030\230\003\2301\230A\340\010\030\230\003\2301\230G\2401\240A\330\004\025\320\025'\240z\260\021\340\004\007\200~\220S\230\001\330\010\031\230\021\330\t\023\2201\320\024$\240A\330\010\031\230\023\230A\230Q\340\010\031\230\023\230A\230[\250\001\250\021\330\004\026\320\026,\250J\260a\330\004\036\230k\250\021\330\t\n\330\010\026\320\026-\250Q\320.E\300V\310;\320Vg\320gh\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Cz_iq_uCq_1G1_1A_1L_Ja_1_s_5_F[] = "\200\001\330#$\360,\000\005\013\210&\220\004\220C\220z\240\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\330\004+\2501\330\004\007\200s\210!\2105\220\002\220!\330\010\020\320\020,\250F\260!\2603\260a\260v\270Q\330\010\013\2106\220\023\220A\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320TZ\320Z\\\320\\`\320`b\320be\320ef\320fg\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\2305\240\001\240\027\320(9\270\023\270A\270U\300+\310Q\330\t\014\210A\210U\220#\220Q\330\010\021\320\021\"\240#\240Q\240c\250\021\330\004\007\200v\210R\210x\220s\230!\2306\240\026\240|\2601\3204J\310\"\310C\310q\320PS\320ST\320TZ\320Z\\\320\\b\320bd\320dg\320gh\320hi\330\t\n\330\010\026\320\026)\250\021\250(\260'\270\021\330\004\007\200s\210!\2105\220\002\220\"\220D\230\006\230g\240Q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_DEF_xs_1_1Ja_3aq_3axq_Q_wc_1IQ[] = "\200\001\330DE\360F\003\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220k\240\021\240!\330\004\017\320\017%\240Z\250q\330\t\n\330\010\026\320\026,\250A\250Z\260w\270h\300i\310q\320PT\320T[\320[\\\330\004\014\210N\230!\2301";
static const char __pyx_k_D_uCq_1G1_1A_1L_Ja_I_R_ccmmn_Q[] = "\200\001\330-.\360D\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\330\004\037\230{\250!\330\004<\270I\300]\320R\\\320\\c\320cm\320mn\330\t\n\330\010\026\320\026-\250Q\320.E\300W\310K\320W_\320_`\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_D_wc_1IQ_Qa_QgQa_1_a_S_q_q_83a[] = "\200\001\330\034\035\360D\001\000\005!\240\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004)\250\021\330\004\016\210a\330\004\007\200~\220S\230\001\330\010\022\320\022)\250\026\250q\260\017\270q\330\010\013\2108\2203\220a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\004&\240a\330\004\013\2101\330\004\007\200~\220S\230\001\330\010\017\320\017&\240f\250A\250_\270A\330\010\013\2105\220\003\2201\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\t\n\330\010\026\320\026&\240a\240z\260\031\270&\300\001\300\021\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\022\220!\220;\230a\230{\250*\260G\2701\270F\300$\300g\310U\320RS\320ST\330\004\007\200x\210w\220a\330\010\014\210A\210Q\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\017\210q\220\013\2301\230K\240z\260\024\260Q\260f\270D\300\007\300u\310A\310Q\330\004\007\200u\210G\2201\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2506\260\021\330\004\014\210N\230!\2306\240\031\250&\260\001";
static const char __pyx_k_EFF_Q_1_gZxq_Q_9_RRZZees_t_B_B[] = "\200\001\330EF\360F\001\000\005\"\240\034\250Q\330\004\017\320\017\"\240!\2401\330\004\036\230g\240Z\250x\260q\330\004;\270:\300Q\330\t\n\330\010\026\320\0269\270\021\320:R\320RZ\320Ze\320es\360\000\000t\001B\002\360\000\000B\002C\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_EFH_0_K1_AQ_z_1_5Q6_ddoo_A_t_a[] = "\200\001\330EF\360H\001\000\0050\320/K\3101\330\004\021\320\021$\240A\240Q\330\004 \240\007\240z\260\032\2701\330\004=\270\\\310\021\330\t\n\330\010\026\320\0265\260Q\3206^\320^d\320do\320o\177\360\000\000@\002A\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_EGLStreamKHR___setstate_cython[] = "EGLStreamKHR.__setstate_cython__";
static const char __pyx_k_F_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c[] = "\200\001\360F\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230)\2401\240A\330\004\023\320\023'\240z\260\021\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230)\2401\240A\330\004\023\320\023'\240z\260\021\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\320\026(\250\001\250\035\260n\300M\320Q_\320_j\320jk\330\004\014\210N\230!\2301";
static const char __pyx_k_F_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L[] = "\200\001\360F\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\320\026(\250\001\250\035\260j\300\004\300G\3108\320ST\330\004\014\210N\230!\2301";
static const char __pyx_k_Flags_for_controlling_coredump[] = "\n    Flags for controlling coredump contents\n    ";
static const char __pyx_k_H_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa[] = "\200\001\360H\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\004\"\240!\330\t\n\330\010\026\320\026,\250A\250^\2709\300A\300Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_H_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B[] = "\200\001\360H\001\000\005\010\200x\210s\220!\330\010\024\320\024(\250\n\260!\330\t\023\2201\220J\230a\330\010\023\2207\230'\240\021\330\010\024\320\024(\250\n\260!\330\t\023\2201\220J\230a\330\010\024\320\024(\250\n\260!\340\010\016\210i\220q\320\030v\320vx\320x{\320{|\360\000\000}\001A\002\360\000\000A\002B\002\360\000\000B\002C\002\340\004\007\200~\220S\230\001\330\010\032\320\0328\270\n\300!\330\t\023\2201\320\024$\240A\330\010\031\230\035\240g\250Q\330\010\032\320\0328\270\n\300!\330\t\023\2201\320\024$\240A\330\010\032\320\0328\270\n\300!\340\010\016\210i\220q\360\000\000\031G\002\360\000\000G\002I\002\360\000\000I\002L\002\360\000\000L\002M\002\360\000\000M\002Q\002\360\000\000Q\002R\002\360\000\000R\002S\002\340\004\007\200u\210C\210q\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\020\220\004\220G\2301\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\021\320\0212\260*\270A\340\010\016\210i\220q\360\000\000\031A\002\360\000\000A\002C\002\360\000\000C\002F\002\360\000\000F\002G\002\360\000\000G\002K\002\360\000\000K\002L\002\360\000\000L\002M\002\330\t\n\330\010\026\320\0266\260a\260x\320?P\320P[\320[\\\330\004\014\210N\230!\2301";
static const char __pyx_k_H_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L[] = "\200\001\360H\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\320\026)\250\021\250-\260z\300\024\300W\310H\320TU\330\004\014\210N\230!\2301";
static const char __pyx_k_HelperCUcoredumpSettings_pyObj[] = "_HelperCUcoredumpSettings.pyObj";
static const char __pyx_k_HelperCUlibraryOption___reduce[] = "_HelperCUlibraryOption.__reduce_cython__";
static const char __pyx_k_HelperCudaJitOption___setstate[] = "_HelperCudaJitOption.__setstate_cython__";
static const char __pyx_k_InputVoidPtrPtrHelper___reduce[] = "_InputVoidPtrPtrHelper.__reduce_cython__";
static const char __pyx_k_J_uCq_1G1_1A_1Jaq_A_a_A_a_AQ_t[] = "\200\001\360J\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\036\230a\330\004\034\230A\330\t\n\330\010\026\320\026)\250\021\250(\260,\270a\270}\310A\310Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\035\250a";
static const char __pyx_k_J_xs_1_1Ja_3aq_3axq_Q_Qk_a_N_1[] = "\200\001\330;<\360J\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004(\250\002\250!\330\t\n\330\010\026\320\026-\250Q\250k\270\025\270a\330\004\014\210N\230!\2301";
static const char __pyx_k_L_vS_1HA_AQ_A_Ja_0_Q_S_0_a_a_Q[] = "\200\001\330)*\360L\001\000\005!\240\001\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0040\260\001\330\004\025\220Q\330\004\007\200~\220S\230\001\330\010\031\320\0310\260\006\260a\260\177\300a\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\0040\260\001\330\004\021\220\021\330\004\007\200~\220S\230\001\330\010\025\320\0250\260\006\260a\260\177\300a\330\010\013\210;\220c\230\021\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\t\n\330\010\026\320\0264\260A\260Y\320>N\310l\320Z[\320[\\\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\031\230\021\230+\240Q\240k\260\032\270>\310\021\310&\320PT\320T[\320[`\320`a\320ab\330\004\007\200\177\220g\230Q\330\010\014\210A\210Q\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\025\220Q\220o\240Q\240e\250:\260Q\260j\300\001\300\026\300t\3107\320RW\320WX\320XY\330\004\007\200{\220'\230\021\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2506\260\021\330\004\014\210N\230!\2306\320!1\260\034\270Q";
static const char __pyx_k_Launch_attributes_enum_used_as[] = "\n    Launch attributes enum; used as id field of\n    :py:obj:`~.CUlaunchAttribute`\n    ";
static const char __pyx_k_MQt_wc_1IQ_Qa_Qk_Zq_Zq_iq_iq_Q[] = "\200\001\330(M\310Q\360t\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220k\240\021\240!\330\004\017\320\017%\240Z\250q\330\004\021\220\026\220{\240#\240Z\250q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\r\210Q\320\016*\250!\250>\270\035\300e\310>\320Yi\320il\320lm\320my\320yz\330\0045\3205K\3101\310A\330\004'\240x\250z\3209K\3101\330\004&\240a\330\004?\270q\300\014\310G\320SW\320Wg\320gh\320hi\330\004\007\200~\220R\220x\230s\240!\240<\250v\260\\\300\021\320BX\320XZ\320Z]\320]^\320^a\320ab\320bn\320np\320pv\320vx\320x{\320{|\320|}\330\004\007\200~\220R\220x\230s\240!\240=\260\006\260l\300!\320CY\320Y[\320[^\320^_\320_b\320bc\320cp\320pr\320rx\320xz\320z}\320}~\320~\177\330\t\n\330\010\026\320\026.\250a\320/E\300[\320PU\320UY\320Ye\320ej\320jn\320n}\360\000\000~\001H\002\360\000\000H\002I\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021\240#\240V\2503\250d\260'\270\021";
static const char __pyx_k_NVCL_EVENT_SCHED_BLOCKING_SYNC[] = "NVCL_EVENT_SCHED_BLOCKING_SYNC";
static const char __pyx_k_Optional_CUDA_ARRAY_DESCRIPTOR[] = "Optional[CUDA_ARRAY_DESCRIPTOR]";
static const char __pyx_k_Optional_CUDA_HOST_NODE_PARAMS[] = "Optional[CUDA_HOST_NODE_PARAMS]";
static const char __pyx_k_Optional_CUkernelNodeAttrValue[] = "Optional[CUkernelNodeAttrValue]";
static const char __pyx_k_Optional_CUmemDecompressParams[] = "Optional[CUmemDecompressParams]";
static const char __pyx_k_Optional_CUmulticastObjectProp[] = "Optional[CUmulticastObjectProp]";
static const char __pyx_k_P_Q_a_1M_c_c_Zq_vS_1HA_AQ_A_Ja[] = "\200\001\360P\001\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230'\240\021\240!\330\004\023\320\023%\240Z\250q\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\t\n\330\010\026\320\0269\270\021\270.\310\t\320QR\330\004\014\210N\230!\2301";
static const char __pyx_k_P_t3a_q_1F_s_1_s_9AQ_wc_1IQ_Qa[] = "\200\001\360P\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\0040\3200H\310\001\330\t\n\330\010\026\320\0265\260Q\3206Z\320Ze\320ep\320pz\360\000\000{\001B\002\360\000\000B\002V\002\360\000\000V\002W\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_P_wc_1IQ_Qa_Q_2_1_6j____wj8I_Q[] = "\200\001\330?@\360P\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\0262\260!\2601\330\004\017\320\0176\260j\300\001\330\004>\320>^\320^_\320_`\330\004'\240w\250j\3208I\310\021\330\004;\270:\300Q\330\t\n\330\010\026\320\0263\2601\3204K\310:\320Uc\320cd\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\320!2\260&\270\001";
static const char __pyx_k_P_wc_1IQ_Qa_QfAQ_a_1_2PP_hhrrs[] = "\200\001\360P\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220f\230A\230Q\330\004\017\320\017 \240\n\250!\330\004,\320,>\270a\330\t\n\330\010\026\320\0261\260\021\3202P\320P]\320]h\320hr\320rs\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_P_xs_1_1Ja_3aq_3axq_Q_q_nA_t_a[] = "\200\001\360P\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004'\240q\330\t\n\330\010\026\220n\240A\240[\260\001\260\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Q_a_1M_c_c_1_j_a_1_ZZggr_s_A_A[] = "\200\001\360\\\001\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\320\032*\250!\2501\330\004\023\320\023.\250j\270\001\330\004,\320,>\270a\330\t\n\330\010\026\320\026;\2701\320<Z\320Zg\320gr\360\000\000s\001A\002\360\000\000A\002B\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_R_j_Q_iq_5Q_q_s_b_0_as_q_s_Q_J[] = "\200\001\330*+\360R\001\000\005\021\220\006\220j\240\003\240:\250Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004$\320$5\260Q\330\004/\250q\330\004\007\200s\210!\210;\220b\230\001\330\010\026\320\0260\260\006\260a\260s\270!\270<\300q\330\010\013\210<\220s\230!\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T`\320`b\320bf\320fh\320hk\320kl\320lm\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\230;\240a\240w\250o\270Y\300a\300u\310K\320WX\330\t\014\210A\210[\230\003\2301\330\010\027\220\177\240i\250q\260\003\2601\330\004\007\200|\2202\220S\230\001\230\034\240V\250<\260q\3208N\310b\320PS\320ST\320TW\320WX\320Xd\320df\320fl\320ln\320nq\320qr\320rs\330\t\n\330\010\026\320\0260\260\001\3201N\310f\320T_\320_l\320lm\330\004\007\200s\210!\210;\220b\230\002\230$\230l\250'\260\021\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_R_t3a_q_1F_s_1_s_81A_q_Cz_iq_1[] = "\200\001\330!\"\360R\004\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\022\220&\230\014\240C\240z\260\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\032\230)\2401\330\0047\260q\330\004\007\200s\210!\210=\230\002\230!\330\010\030\320\0308\270\006\270a\270s\300!\300>\320QR\330\010\013\210>\230\023\230A\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tb\320bd\320dh\320hj\320jm\320mn\320no\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\230=\250\001\250\027\3200E\300[\320PQ\320QV\320Va\320ab\330\t\014\210A\210]\230#\230Q\330\010\031\320\031.\250k\270\021\270#\270Q\330\t\n\330\010\026\220o\240Q\320&;\2704\270{\310/\320Yd\320dk\320kl\330\004\007\200s\210!\210=\230\002\230\"\230D\240\016\250g\260Q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_R_wc_1IQ_Qa_QgQa_1_a_S_q_q_83a[] = "\200\001\330\037 \360R\001\000\005!\240\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004)\250\021\330\004\016\210a\330\004\007\200~\220S\230\001\330\010\022\320\022)\250\026\250q\260\017\270q\330\010\013\2108\2203\220a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\004&\240a\330\004\013\2101\330\004\007\200~\220S\230\001\330\010\017\320\017&\240f\250A\250_\270A\330\010\013\2105\220\003\2201\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\0040\260\001\330\004\021\220\021\330\004\007\200~\220S\230\001\330\010\025\320\0250\260\006\260a\260\177\300a\330\010\013\210;\220c\230\021\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\t\n\330\010\026\320\026)\250\021\250*\260I\270V\300<\310q\320PQ\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\022\220!\220;\230a\230{\250*\260G\2701\270F\300$\300g\310U\320RS\320ST\330\004\007\200x\210w\220a\330\010\014\210A\210Q\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\017\210q\220\013\2301\230K\240z\260\024\260Q\260f\270D\300\007\300u\310A\310Q\330\004\007\200u\210G\2201\330\010\014\210A\210Q\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\025\220Q\220o\240Q\240e\250:\260Q\260j\300\001\300\026\300t\3107\320RW\320WX\320XY\330\004\007\200{\220'\230\021\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2506\260\026\260q\330\004\014\210N\230!\2306\240\031\250&\260\014\270A";
static const char __pyx_k_Resource_location_flags_sysmem[] = "\n    Resource location flags- sysmem or vidmem  For CUDA context on\n    iGPU, since video and system memory are equivalent - these flags\n    will not have an effect on the execution.  For CUDA context on\n    dGPU, applications can use the flag\n    :py:obj:`~.CUeglResourceLocationFlags` to give a hint about the\n    desired location.  :py:obj:`~.CU_EGL_RESOURCE_LOCATION_SYSMEM` -\n    the frame data is made resident on the system memory to be accessed\n    by CUDA.  :py:obj:`~.CU_EGL_RESOURCE_LOCATION_VIDMEM` - the frame\n    data is made resident on the dedicated video memory to be accessed\n    by CUDA.  There may be an additional latency due to new allocation\n    and data migration, if the frame is produced on a different memory.\n    ";
static const char __pyx_k_Specifies_the_type_of_location[] = "\n    Specifies the type of location\n    ";
static const char __pyx_k_T_1_a_FaxsR_WJgQ_we1_Qj_Qa_t_a[] = "\200\001\330-.\360T\003\000\0051\260\006\260a\330\004-\320-F\300a\300x\310s\320R\\\320\\]\330\004\035\230W\240J\250g\260Q\330\004\027\220w\230e\2401\330\t\n\330\010\026\320\026-\250Q\250j\270\r\300Q\300a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\027\250\006\250a";
static const char __pyx_k_T_6_c_1_iq_t3a_q_1F_s_1_s_aq_A[] = "\200\001\330,-\360T\001\000\005\014\2106\220\025\220c\230\032\2401\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\004,\250A\330\004\007\200s\210!\2106\220\022\2201\330\010\021\320\021-\250V\2601\260C\260q\270\007\270q\330\010\013\2107\220#\220Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T[\320[]\320]a\320ac\320cf\320fg\320gh\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\2306\240\021\240'\320):\270$\270a\270u\300K\310q\330\t\014\210A\210V\2203\220a\330\010\022\320\022#\2404\240q\250\003\2501\330\004\007\200v\210R\210x\220s\230!\2307\240&\250\014\260A\3205K\3102\310S\320PQ\320QT\320TU\320U\\\320\\^\320^d\320df\320fi\320ij\320jk\330\t\n\330\010\026\220o\240Q\240g\250V\2608\2701\330\004\007\200s\210!\2106\220\022\2202\220T\230\027\240\007\240q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_T_xs_1_1Ja_3aq_3az_Zq_7_q0C7_U[] = "\200\001\360T\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220z\240\021\240!\330\004\020\320\020%\240Z\250q\330\004\033\2307\240!\330\t\n\330\010\026\320\026/\250q\3200C\3007\310+\320U`\320`a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_These_flags_allow_applications[] = "\n    These flags allow applications to convey the source access ordering\n    CUDA must maintain. The destination will always be accessed in\n    stream order.\n    ";
static const char __pyx_k_V_Q_M_Zgguu_G_G_H_0_1PPZZeef_t[] = "\200\001\330./\360V\004\000\005+\320*=\270Q\330\004M\310]\320Zg\320gu\320u|\360\000\000}\001G\002\360\000\000G\002H\002\330\t\n\330\010\026\320\0260\260\001\3201P\320PZ\320Ze\320ef\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_V_t3a_q_1F_s_1_s_81A_q_0_a_1AT[] = "\200\001\330+,\360V\r\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\022\220!\330\0040\260\006\260a\330\t\n\330\010\026\320\026+\2501\250A\250T\260\032\2701\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_V_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B[] = "\200\001\330>?\360V\001\000\005\010\200x\210s\220!\330\010\024\320\024(\250\n\260!\330\t\023\2201\220J\230a\330\010\023\2207\230'\240\021\330\010\024\320\024(\250\n\260!\330\t\023\2201\220J\230a\330\010\024\320\024(\250\n\260!\340\010\016\210i\220q\320\030v\320vx\320x{\320{|\360\000\000}\001A\002\360\000\000A\002B\002\360\000\000B\002C\002\340\004\007\200u\210C\210q\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\020\220\004\220G\2301\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\021\320\0212\260*\270A\340\010\016\210i\220q\360\000\000\031A\002\360\000\000A\002C\002\360\000\000C\002F\002\360\000\000F\002G\002\360\000\000G\002K\002\360\000\000K\002L\002\360\000\000L\002M\002\330\t\n\330\010\026\320\0266\260a\260x\270x\300y\320PQ\320QU\320UV\330\004\014\210N\230!\2301";
static const char __pyx_k_V_xs_1_1Ja_3aq_3axq_Q_Ja_6LEQR[] = "\200\001\360V\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\034\230J\240a\330\t\n\330\010\026\320\026*\250!\250;\3206L\310E\320QR\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_X_6_c_1_iq_xs_1_1Ja_3aq_3axq_Q[] = "\200\001\330>?\360X\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\t\n\330\010\026\320\0268\270\001\270\033\320DT\320Te\320ef\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_Z_1_a_FaxwV_a_WJgQ_we1_Qj_Qa_N[] = "\200\001\330-.\360Z\003\000\0051\260\006\260a\330\004-\320-F\300a\300x\310w\320V`\320`a\330\004\035\230W\240J\250g\260Q\330\004\027\220w\230e\2401\330\t\n\330\010\026\320\026-\250Q\250j\270\r\300Q\300a\330\004\014\210N\230!\2301";
static const char __pyx_k_Z_a_y_q_XQ_havQ_t_a_avV1_N_6_1[] = "\200\001\330\"#\360Z\001\000\005/\250a\330\004\007\200y\220\007\220q\330\010\025\220X\230Q\330\t\n\330\010\026\320\026)\250\021\250,\260h\270a\270v\300Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\032\2501";
static const char __pyx_k_Z_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D[] = "\200\001\360Z\003\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200r\210\023\210A\330\010\r\210Q\330\t\023\2201\220D\230\001\330\010\r\210S\220\001\220\021\340\010\r\210S\220\001\220\032\2301\230A\330\004\n\320\n\037\230z\250\021\330\004\025\320\025(\250\001\250\021\330\004%\240X\250Z\260~\300Q\330\t\n\330\010\026\220o\240Q\240e\250:\260Z\270z\310\033\320T_\320_j\320jz\360\000\000{\001F\002\360\000\000F\002Z\002\360\000\000Z\002b\002\360\000\000b\002c\002\330\004\014\210N\230!\2301";
static const char __pyx_k_anon_struct0___setstate_cython[] = "anon_struct0.__setstate_cython__";
static const char __pyx_k_anon_struct1___setstate_cython[] = "anon_struct1.__setstate_cython__";
static const char __pyx_k_anon_struct2___setstate_cython[] = "anon_struct2.__setstate_cython__";
static const char __pyx_k_anon_struct3___setstate_cython[] = "anon_struct3.__setstate_cython__";
static const char __pyx_k_anon_struct4___setstate_cython[] = "anon_struct4.__setstate_cython__";
static const char __pyx_k_anon_struct5___setstate_cython[] = "anon_struct5.__setstate_cython__";
static const char __pyx_k_anon_struct6___setstate_cython[] = "anon_struct6.__setstate_cython__";
static const char __pyx_k_anon_struct7___setstate_cython[] = "anon_struct7.__setstate_cython__";
static const char __pyx_k_anon_struct8___setstate_cython[] = "anon_struct8.__setstate_cython__";
static const char __pyx_k_anon_struct9___setstate_cython[] = "anon_struct9.__setstate_cython__";
static const char __pyx_k_anon_union10___setstate_cython[] = "anon_union10.__setstate_cython__";
static const char __pyx_k_anon_union11___setstate_cython[] = "anon_union11.__setstate_cython__";
static const char __pyx_k_anon_union12___setstate_cython[] = "anon_union12.__setstate_cython__";
static const char __pyx_k_anon_union15___setstate_cython[] = "anon_union15.__setstate_cython__";
static const char __pyx_k_b_xs_1_1Ja_3aq_3axq_Q_1_oQk1Fd[] = "\200\001\360b\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\032\230)\2401\330\t\n\330\010\026\220o\240Q\240k\3201F\300d\310!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_b_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D[] = "\200\001\360b\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200r\210\023\210A\330\010\r\210Q\330\t\023\2201\220D\230\001\330\010\r\210S\220\001\220\021\340\010\r\210S\220\001\220\032\2301\230A\330\004\n\320\n\037\230z\250\021\330\t\n\330\010\026\320\026(\250\001\250\025\250l\270-\300q\330\004\014\210N\230!\2301";
static const char __pyx_k_cuDeviceGetExecAffinitySupport[] = "cuDeviceGetExecAffinitySupport";
static const char __pyx_k_cuDeviceGetNvSciSyncAttributes[] = "cuDeviceGetNvSciSyncAttributes";
static const char __pyx_k_cuEGLStreamProducerReturnFrame[] = "cuEGLStreamProducerReturnFrame";
static const char __pyx_k_cuGraphBatchMemOpNodeGetParams[] = "cuGraphBatchMemOpNodeGetParams";
static const char __pyx_k_cuGraphBatchMemOpNodeSetParams[] = "cuGraphBatchMemOpNodeSetParams";
static const char __pyx_k_cuGraphConditionalHandleCreate[] = "cuGraphConditionalHandleCreate";
static const char __pyx_k_cuGraphEventRecordNodeGetEvent[] = "cuGraphEventRecordNodeGetEvent";
static const char __pyx_k_cuGraphEventRecordNodeSetEvent[] = "cuGraphEventRecordNodeSetEvent";
static const char __pyx_k_cuGraphExecKernelNodeSetParams[] = "cuGraphExecKernelNodeSetParams";
static const char __pyx_k_cuGraphExecMemcpyNodeSetParams[] = "cuGraphExecMemcpyNodeSetParams";
static const char __pyx_k_cuGraphExecMemsetNodeSetParams[] = "cuGraphExecMemsetNodeSetParams";
static const char __pyx_k_cuMemImportFromShareableHandle[] = "cuMemImportFromShareableHandle";
static const char __pyx_k_cuTexObjectGetResourceViewDesc[] = "cuTexObjectGetResourceViewDesc";
static const char __pyx_k_dict_CUCoredumpGenerationFlags[] = "_dict_CUCoredumpGenerationFlags";
static const char __pyx_k_dict_CUclusterSchedulingPolicy[] = "_dict_CUclusterSchedulingPolicy";
static const char __pyx_k_dict_CUdriverProcAddress_flags[] = "_dict_CUdriverProcAddress_flags";
static const char __pyx_k_dict_CUmemAllocationHandleType[] = "_dict_CUmemAllocationHandleType";
static const char __pyx_k_dict_CUtensorMapIm2ColWideMode[] = "_dict_CUtensorMapIm2ColWideMode";
static const char __pyx_k_e_f_c_c_d_B_vYc_1_iq_s_Zq_iq_F[] = "\200\001\330.e\360\000\000f\001c\002\360\000\000c\002d\002\360B\001\000\005\020\210v\220Y\230c\240\032\2501\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\t\210\026\210s\220#\220Z\230q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\014\210F\220&\230\003\230:\240Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004)\250\021\330\004\007\200s\210!\2107\220\"\220A\330\010\022\320\022*\250&\260\001\260\023\260A\260X\270Q\330\010\013\2108\2203\220a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T\\\320\\^\320^b\320bd\320dg\320gh\320hi\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\027\220q\230\007\320\0376\260m\3005\310\001\310\025\310i\320WX\320XY\330\t\014\210A\210W\220C\220q\330\010\022\320\022*\250-\260u\270A\270S\300\001\330\004&\240a\330\004\007\200s\210!\2104\210r\220\021\330\010\017\320\017'\240v\250Q\250c\260\021\260%\260q\330\010\013\2105\220\003\2201\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320TY\320Y[\320[_\320_a\320ad\320de\320ef\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\024\220A\220W\320\0343\260=\300\002\300!\3005\310\t\320QR\320RS\330\t\014\210A\210T\220\023\220A\330\010\017\320\017'\240}\260B\260a\260s\270!\330\0040\260\001\330\004\007\200s\210!\210:\220R\220q\330\010\025\320\0251\260\026\260q\270\003\2701\270K\300q\330\010\013\210;\220c\230\021\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T_\320_a\320ae\320eg\320gj\320jk\320kl\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\230:\240Q\240g\320->\270h\300a\300u\310K\320WX\330\t\014\210A\210Z\220s\230!\330\010\026\320\026'\240x\250q\260\003\2601\330\t\n\330\010\026\320\0260\260\001\260\032\2709\300F\310,\320VW\330\004\007\200s\210!\2107\220\"\220B\220d\230(\240'\250\021\330""\010\014\210A\210Q\330\004\007\200s\210!\2104\210r\220\022\2204\220u\230G\2401\330\010\014\210A\210Q\330\004\007\200s\210!\210:\220R\220r\230\024\230[\250\007\250q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_f_t3a_q_1F_s_1_s_81A_q_uCq_1G1[] = "\200\001\360f\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\320\024%\240Q\240a\330\004\r\320\r)\250\032\2601\330\004\034\230J\240a\330\t\n\330\010\026\320\026'\240q\320(>\270e\300;\310h\320V]\320]^\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_h_uCq_1G1_1A_1Jaq_A_K1A_X_kk_t[] = "\200\001\360h\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\031\230\021\330\t\n\330\010\026\320\026K\3101\310A\310[\320X`\320`k\320k|\320|}\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_j_vS_1HA_AQ_AZq_Q_2_4z_t_a_avQ[] = "\200\001\330)*\360j\003\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\004\022\220!\330\0042\260&\270\001\330\t\n\330\010\026\320\026)\250\021\250!\2504\250z\270\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_l_vS_1HA_AQ_AZq_Q_q_m9TUUV_t_a[] = "\200\001\360l\002\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\004\030\230\001\340\t\n\330\010\026\320\026'\240q\250\010\260\010\270\001\270\025\270m\3109\320TU\320UV\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\025\320&D\300A\300Q";
static const char __pyx_k_l_wc_1IQ_Qa_Qk_Zq_y_1_A_1Kq_Cq[] = "\200\001\360l\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220k\240\021\240!\330\004\017\320\017%\240Z\250q\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\0304\260A\260Q\330\004\021\320\0218\270\n\300!\330\t\n\330\010\026\320\026*\250!\250<\260z\300\032\3106\320QR\330\004\014\210N\230!\2301";
static const char __pyx_k_maxMipmapLevelClamp_ValueError[] = "maxMipmapLevelClamp : <ValueError>";
static const char __pyx_k_minMipmapLevelClamp_ValueError[] = "minMipmapLevelClamp : <ValueError>";
static const char __pyx_k_n_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L[] = "\200\001\360n\002\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\030\240\021\240!\330\004\022\320\022%\240Q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220k\240\021\240!\330\004\017\320\017%\240Z\250q\330\t\n\330\010\026\320\026)\250\021\250*\260G\270=\310\001\330\004\014\210N\230!\2301";
static const char __pyx_k_p_wc_1IQ_Qa_QgQa_1_a_A_KWaab_t[] = "\200\001\360p\002\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\t\n\330\010\026\320\026)\250\021\320*A\300\033\310K\320Wa\320ab\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_preferredClusterDim_ValueError[] = "preferredClusterDim : <ValueError>";
static const char __pyx_k_r_A_Q_1D_S_S_1A_z_1_G7R_XZ_Q_q[] = "\200\001\330\036\037\360~\006\000\005\010\200r\210\023\210A\330\010\r\210Q\330\t\023\2201\220D\230\001\330\010\r\210S\220\001\220\021\340\010\r\210S\220\001\220\032\2301\230A\330\004\n\320\n\037\230z\250\021\330\0041\260\026\260}\300G\3107\320R\\\320\\]\330\004\025\320\025(\250\001\250\021\330\004%\240X\250Z\260~\300Q\330\t\n\330\010\026\320\026'\240q\250\016\260e\320;O\310x\320WX\330\004\014\210N\230!\2301";
static const char __pyx_k_r_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D[] = "\200\001\360r\002\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200r\210\023\210A\330\010\r\210Q\330\t\023\2201\220D\230\001\330\010\r\210S\220\001\220\021\340\010\r\210S\220\001\220\032\2301\230A\330\004\n\320\n\037\230z\250\021\330\004\025\320\025(\250\001\250\021\330\004%\240X\250Z\260~\300Q\330\t\n\330\010\026\320\0260\260\001\260\025\260j\300\n\310*\320T_\320_j\320ju\360\000\000v\001F\002\360\000\000F\002Q\002\360\000\000Q\002R\002\330\004\014\210N\230!\2301";
static const char __pyx_k_t3a_q_1F_s_1_s_81A_q_1_A_B_kQR[] = "\200\001\360~\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\032\230)\2401\330\t\n\330\010\026\320\026,\250A\320-B\300$\300k\320QR\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t3a_q_1F_s_1_s_81A_q_1_l_8_Kwa[] = "\200\001\360@\004\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\032\230)\2401\330\t\n\330\010\026\220l\240!\320#8\270\004\270K\300w\310a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t3a_q_1F_s_1_s_81A_q_Q_Q_0_t_a[] = "\200\001\360>\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\025\220Q\330\004\025\220Q\330\t\n\330\010\026\320\0260\260\001\260\021\260'\270\021\270'\300\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\027\250\001";
static const char __pyx_k_t3a_q_1F_s_1_s_9AQ_t_a_avQ_N_6[] = "\200\001\360>\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\004 \240\001\330\t\n\330\010\026\320\026)\250\021\250'\260\021\260!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t3a_q_1F_s_1_s_aq_A_t3a_q_1F_s[] = "\200\001\360<\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\t\n\330\010\026\220i\230q\240\007\240w\250a\330\004\014\210N\230!\2301";
static const char __pyx_k_t_Kq_a_d_QhVddllm_t_a_avV1_N_6[] = "\200\001\360t\001\000\005\035\230K\240q\330\004\031\230\021\330\t\n\330\010\026\320\026&\240a\320'>\270d\300+\310Q\310h\320Vd\320dl\320lm\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\026\240q";
static const char __pyx_k_totalConstantMemory_ValueError[] = "totalConstantMemory : <ValueError>";
static const char __pyx_k_triggerAtBlockStart_ValueError[] = "triggerAtBlockStart : <ValueError>";
static const char __pyx_k_uCq_1G1_1A_1Jaq_A_aq_QQYYdde_t[] = "\200\001\360<\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\"\240!\330\t\n\330\010\026\320\026>\270a\270q\320@Q\320QY\320Yd\320de\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_AZq_Q_q_7_E_l_9HKq_N[] = "\200\001\360>\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\004\014\320\014\037\230q\240\001\330\004\033\2307\240*\250E\260\021\330\t\n\330\010\026\220l\240!\2409\250H\260K\270q\330\004\014\210N\230!\2301";
static const char __pyx_k_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1Kq[] = "\200\001\360@\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\t\n\330\010\026\320\026+\2501\250J\260h\270i\300q\330\004\014\210N\230!\2301";
static const char __pyx_k_vS_1HA_AQ_A_Ja_0_Q_S_0_a_a_Q_Q[] = "\200\001\330&'\360>\000\005!\240\001\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0040\260\001\330\004\025\220Q\330\004\007\200~\220S\230\001\330\010\031\320\0310\260\006\260a\260\177\300a\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\t\n\330\010\026\320\0261\260\021\260)\320;K\3101\310A\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\031\230\021\230+\240Q\240k\260\032\270>\310\021\310&\320PT\320T[\320[`\320`a\320ab\330\004\007\200\177\220g\230Q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\320!1\260\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_44QQR_A_Ktt_t_a[] = "\200\001\360:\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0044\3204Q\320QR\330\t\n\330\010\026\320\026A\300\021\300)\320Kt\320t~\320~\177\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_66UUV_C1IMx_y_C[] = "\200\001\360:\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0046\3206U\320UV\330\t\n\330\010\026\320\026C\3001\300I\320Mx\360\000\000y\001C\002\360\000\000C\002D\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa_1[] = "\200\001\360^\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\t\n\330\010\026\320\026,\250A\250^\2709\300A\330\004\014\210N\230!\2301";
static const char __pyx_k_v_vS_1HA_AQ_A_Ja_a_1_2PP_hhqqr[] = "\200\001\360v\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004,\320,>\270a\330\t\n\330\010\026\320\0261\260\021\3202P\320P]\320]h\320hq\320qr\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_v_w_w_w_W_W_D_D_r_r_H_H_I_V_Zq[] = "\200\001\330:v\360\000\000w\001w\002\360\000\000w\002W\005\360\000\000W\005]\006\360\000\000]\006D\007\360\000\000D\007r\007\360\000\000r\007]\010\360\000\000]\010H\t\360\000\000H\tI\t\360^\007\000\005\026\220V\230?\250#\250Z\260q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\320\007\027\220s\230!\330\010\033\2301\330\t\023\2201\320\024&\240a\330\010\033\2303\230a\230q\340\010\033\2303\230a\230z\250\021\250!\330\004\030\320\030-\250Z\260q\340\004\007\320\007\030\230\003\2301\330\010\034\230A\330\t\023\2201\320\024'\240q\330\010\034\230C\230q\240\001\340\010\034\230C\230q\240\n\250!\2501\330\004\031\320\031.\250j\270\001\330\004\024\220F\230.\250\003\250:\260Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\020\220\006\220j\240\003\240:\250Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230*\240A\240Q\330\004\023\320\023(\250\n\260!\330\004!\240\033\250A\330\0049\270\036\300q\330\004\026\320\026)\250\021\250!\330\004%\240W\250J\260o\300Q\330\004,\250A\330\004\007\200s\210!\210;\220b\230\001\330\010\026\320\026-\250V\2601\260C\260q\270\014\300A\330\010\013\210<\220s\230!\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T`\320`b\320bf\320fh\320hk\320kl\320lm\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\033\2301\230G\320#9\270\034\300Y\310a\310u\320T]\320]^\320^_\330\t\014\210A\210[\230\003\2301\330\010\026\320\026-\250\\\270\031\300!\3003\300a\330\0040\260\001\330\004\007\200s\210!\210?\230\"\230A\330\010\032\320\0321\260\026\260q\270\003\2701\320<L\310A\330\010\013\320\013\033\2303\230a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Td\320df\320fj\320jl\320lo\320op\320pq\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\037\230q\240\007\320'=\270\\\310\035\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210_\230C\230q\330\010""\032\320\0321\260\034\270]\310!\3103\310a\330\0041\260\021\330\004\007\200s\210!\320\013\033\2302\230Q\330\010\033\320\0332\260&\270\001\270\023\270A\320=N\310a\330\010\013\320\013\034\230C\230q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Te\320eg\320gk\320km\320mp\320pq\320qr\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020 \240\001\240\027\320(>\270l\310.\320XY\320Y^\320^g\320gh\320hi\330\t\014\210A\320\r\035\230S\240\001\330\010\033\320\0332\260,\270n\310A\310S\320PQ\330\0047\260z\300\021\330\0045\260T\270\021\330\0041\260\027\270\001\330\0049\270\033\300A\330\0046\260g\270Q\330\t\n\330\010\026\320\0262\260!\3203J\310)\320S^\320^p\320p~\360\000\000\177\001T\002\360\000\000T\002a\002\360\000\000a\002r\002\360\000\000r\002L\003\360\000\000L\003f\003\360\000\000f\003z\003\360\000\000z\003M\004\360\000\000M\004_\004\360\000\000_\004m\004\360\000\000m\004u\004\360\000\000u\004@\005\360\000\000@\005O\005\360\000\000O\005P\005\330\004\007\200s\210!\210;\220b\230\002\230$\230l\250'\260\021\330\010\014\210A\210Q\330\004\007\200s\210!\210?\230\"\230B\230d\320\"2\260'\270\021\330\010\014\210A\210Q\330\004\007\200s\210!\320\013\033\2302\230R\230t\320#4\260G\2701\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_voidStarHelperjitOptionsValues[] = "voidStarHelperjitOptionsValues";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_a_KK_ii_C_C_M[] = "\200\001\330=>\360~\003\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\004K\320K\\\320\\i\320i{\360\000\000|\001C\002\360\000\000C\002M\002\360\000\000M\002N\002\330\t\n\330\010\026\320\0263\2601\3204K\310;\320Va\320ak\320kl\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_a_S_q_q_83a_Q[] = "\200\001\330\034\035\360<\000\005!\240\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004)\250\021\330\004\016\210a\330\004\007\200~\220S\230\001\330\010\022\320\022)\250\026\250q\260\017\270q\330\010\013\2108\2203\220a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\t\n\330\010\026\320\026&\240a\240z\260\031\270!\2701\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\022\220!\220;\230a\230{\250*\260G\2701\270F\300$\300g\310U\320RS\320ST\330\004\007\200x\210w\220a\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\031\250!";
static const char __pyx_k_wc_1IQ_Qa_Qk_Zq_oQj_z_RSST_N_1[] = "\200\001\330;]\320]^\360|\005\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220k\240\021\240!\330\004\017\320\017%\240Z\250q\330\004*\250&\260\001\330\t\n\330\010\026\220o\240Q\240j\260\007\260z\300\030\310\031\320RS\320ST\330\004\014\210N\230!\2301";
static const char __pyx_k_win32HandleMetaData_ValueError[] = "win32HandleMetaData : <ValueError>";
static const char __pyx_k_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B_C[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\024\320\024(\250\n\260!\330\t\023\2201\220J\230a\330\010\023\2207\230'\240\021\330\010\024\320\024(\250\n\260!\330\t\023\2201\220J\230a\330\010\024\320\024(\250\n\260!\340\010\016\210i\220q\320\030v\320vx\320x{\320{|\360\000\000}\001A\002\360\000\000A\002B\002\360\000\000B\002C\002\340\004\007\200~\220S\230\001\330\010\031\230\021\330\t\023\2201\320\024$\240A\330\010\031\230\023\230A\230Q\340\010\031\230\023\230A\320\035/\250q\260\001\330\004\026\320\0263\260:\270Q\340\004\007\200u\210C\210q\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\020\220\004\220G\2301\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\021\320\0212\260*\270A\340\010\016\210i\220q\360\000\000\031A\002\360\000\000A\002C\002\360\000\000C\002F\002\360\000\000F\002G\002\360\000\000G\002K\002\360\000\000K\002L\002\360\000\000L\002M\002\330\t\n\330\010\026\320\0266\260a\260x\320?P\320PQ\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_1_t3a_q_1F_s[] = "\200\001\360>\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\2401\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\035\230Q\330\t\n\330\010\026\320\026,\250A\250Q\250o\270W\300A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_7_5H_q_t_a[] = "\200\001\360>\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\033\2307\240!\330\t\n\330\010\026\320\026)\250\021\250+\3205H\310\007\310q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c_c[] = "\200\001\360@\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\t\n\330\010\026\220n\240A\240^\2601\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_a_Qa_Q_t_a[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\036\230a\330\t\n\330\010\026\320\026-\250Q\250a\250~\270Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_aq_t_a_avQ[] = "\200\001\360>\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\030\230\001\330\t\n\330\010\026\320\026*\250!\250;\260a\260q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_t3a_q_1F_s[] = "\200\001\360@\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\t\n\330\010\026\220n\240A\240W\250G\260;\270a\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\004\020\320\020#\2401\240A\330\004\037\230w\240j\260\t\270\021\330\t\n\330\010\026\320\026(\250\001\250\035\260o\300[\320PQ\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3ay_Ja_Kq_1_A_PQQ[] = "\200\001\360>\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220y\240\001\240\021\330\004\020\320\020$\240J\250a\330\004\034\230K\240q\330\004\033\2301\330\t\n\330\010\026\320\026)\250\021\320*A\300\024\300[\320PQ\320Q[\320[f\320fg\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\026\240q";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_q_Q_z_A_Q_1L_S[] = "\200\001\360@\001\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\007\230q\240\001\330\004\021\320\021#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\220m\2401\240M\260\034\270[\310\001\330\004\014\210N\230!\2301";
static const char __pyx_k_01R_uCq_1G1_1A_1Jaq_A_1_1_G7R_3[] = "\200\001\33001\360R\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\033\2301\330\0041\260\026\260}\300G\3107\320R\\\320\\]\330\t\n\330\010\026\320\0263\2601\260A\260]\300(\310!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_01_uCq_1G1_1A_1L_Ja_t1_H_sR_WJg[] = "\200\001\33001\360@\002\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\330\004/\250t\2601\330\004.\320.H\310\001\310\026\310s\320R\\\320\\]\330\004\035\230W\240J\250g\260Q\330\t\n\330\010\026\320\026,\250A\250X\260X\270Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\027\250\006\250a";
static const char __pyx_k_0B_t3a_q_1F_s_1_s_aq_A_Gq_SVV_a[] = "\200\001\330/0\360B\006\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\004-\320-G\300q\310\013\320SV\320V`\320`a\330\004\034\230G\240:\250V\2601\330\0044\260I\270Q\330\t\n\330\010\026\320\026,\250A\250\\\270\035\300a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\026\240v\250Q";
static const char __pyx_k_0_K1_G_V1_2_3_aallm_t_a_avQ_N_6[] = "\200\001\360:\000\0050\320/K\3101\330\004\r\320\r \240\001\240\021\330\004\034\230G\240:\250V\2601\330\t\n\330\010\026\320\0262\260!\3203[\320[a\320al\320lm\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_0_t3a_q_1F_s_1_s_81A_q_Q_0_1I_Q[] = "\200\001\3600\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004!\240\034\250Q\330\t\n\330\010\026\320\0260\260\001\3201I\310\030\320Q\\\320\\]\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_0_t3a_q_1F_s_1_s_81A_z_t3a_q_1F[] = "\200\001\3600\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230z\250\021\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230z\250\021\330\t\n\330\010\026\320\026-\250Q\250g\260Q\330\004\014\210N\230!\2301";
static const char __pyx_k_0_wc_1IQ_Qa_Qhaq_A_1_t_a_t_a_av[] = "\200\001\3600\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004\032\230)\2401\330\t\n\330\010\026\320\026)\250\021\320*?\270t\300;\310a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_12Z_xs_1_1Ja_3aq_3axq_Q_V7_Zq_i[] = "\200\001\33012\360Z\003\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\r\210V\2207\230#\230Z\240q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\007\200w\210b\220\010\230\003\2301\230I\240V\250<\260q\3208N\310b\320PS\320ST\320TW\320WX\320Xa\320ac\320ci\320ik\320kn\320no\320op\330\0045\260Q\330\004\007\200s\210!\2108\2202\220Q\330\010\023\320\0236\260f\270A\270S\300\001\300\031\310!\330\010\013\2109\220C\220q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T]\320]_\320_c\320ce\320eh\320hi\320ij\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\2308\2401\240G\320+C\3006\310\021\310%\310{\320Z[\330\t\014\210A\210X\220S\230\001\330\010\024\320\024,\250F\260!\2603\260a\330\004\032\230!\330\t\n\330\010\026\320\026+\2501\250H\260J\270a\270y\310\007\310q\330\004\007\200s\210!\2108\2202\220R\220t\2309\240G\2501\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_12_4A_GGZZgg_C_C_M_M_N_Q_J_Q_ww[] = "\200\001\33012\360^\003\000\005%\320$4\260A\330\004G\320GZ\320Zg\320g{\360\000\000|\001C\002\360\000\000C\002M\002\360\000\000M\002N\002\330\t\n\330\010\026\320\026-\250Q\320.J\310'\320Q\\\320\\w\320wx\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_12_vS_1HA_AQ_A_Ja_JmS_eeoop_q_N[] = "\200\001\33012\360,\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004<\270J\300m\320S^\320^e\320eo\320op\330\t\n\330\010\026\320\026/\250q\260\t\270\021\330\004\014\210N\230!\2301";
static const char __pyx_k_12l_uCq_1G1_1A_1Kq_Q_6_c_1_iq_w[] = "\200\001\33012\360l\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\t\n\330\010\026\320\026,\250A\320-D\300K\310{\320Zd\320dt\360\000\000u\001F\002\360\000\000F\002G\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_1A_A_B_h_wc_1IQ_Qa_Qhaq_A_Cz_iq[] = "\200\001\360\002\0001A\002\360\000\000A\002B\002\360h\002\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004\022\220&\230\014\240C\240z\260\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\022\220&\230\014\240C\240z\260\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\0047\260q\330\004\007\200s\210!\210=\230\002\230!\330\010\030\320\0308\270\006\270a\270s\300!\300>\320QR\330\010\013\210>\230\023\230A\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tb\320bd\320dh\320hj\320jm\320mn\320no\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\035\230Q\230g\320%D\320DY\320Yd\320de\320ej\320js\320st\320tu\330\t\014\210A\210]\230#\230Q\330\010\030\320\0308\3208M\310[\320XY\320Y\\\320\\]\330\004G\300q\330\004\007\200s\210!\210=\230\002\230!\330\010\030\320\030H\310\006\310a\310s\320RS\320Sa\320ab\330\010\013\210>\230\023\230A\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tb\320bd\320dh\320hj\320jm\320mn\320no\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\230=\250\001\250\027\3200U\320U`\320`a\320af\320fq\320qr\330\t\014\210A\210]\230#\230Q\330\010\031\320\031>\270k\310\021\310#\310Q\330\004\007\200{\220\"\220C\220q\230\016\240f\250L\270\001\3209O\310r\320QT\320TU\320UX\320XY\320Yg\320gi\320io\320oq\320qt\320tu\320uv\330\004\007\200{\220\"\220C\220q\230\016\240f\250L\270\001\3209O\310r\320QT\320TU\320UX\320XY\320Yg\320gi\320io\320oq\320qt\320tu\320uv\330\t\n\330\010\026\320\0264\260A\260_\300O\320S_\320_`\330\004\007\200s\210!\210=\230\002\230\"\230D\240\016\250g\260Q\330\010\014\210A\210Q\330\004\007\200s\210!\210=\230\002\230\"\230D\240\016\250g\260Q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_1H_H_I_p_6_c_1_iq_wc_1IQ_Qa_QgQ[] = "\200\001\360\002\0001H\002\360\000\000H\002I\002\360p\002\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004>\270j\310\r\320U`\320`g\320gq\320qr\330\t\n\330\010\026\320\026+\2501\320,C\300;\310k\320Yc\320cs\360\000\000t\001E\002\360\000\000E\002F\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_1H_H_I_t3a_q_1F_s_1_s_9AQ_6_c_1[] = "\200\001\360\002\0001H\002\360\000\000H\002I\002\360`\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\0044\260J\270m\310;\320V]\320]g\320gh\330\t\n\330\010\026\320\026+\2501\320,C\300;\310k\320Yc\320cs\360\000\000t\001E\002\360\000\000E\002W\002\360\000\000W\002X\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_1J_J_K_L_t3a_q_1F_s_1_s_9AQ_6_c[] = "\200\001\360\002\0001J\002\360\000\000J\002K\002\360L\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004@\300\014\310M\320Yf\320fm\320mw\320wx\330\t\n\330\010\026\320\026+\2501\320,C\300;\310k\320Yc\320cs\360\000\000t\001E\002\360\000\000E\002Y\002\360\000\000Y\002Z\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_1h_i_f_f_g_N_vYc_1_iq_s_Zq_iq_F[] = "\200\001\3301h\360\000\000i\001f\002\360\000\000f\002g\002\360N\001\000\005\020\210v\220Y\230c\240\032\2501\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\t\210\026\210s\220#\220Z\230q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\014\210F\220&\230\003\230:\240Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004)\250\021\330\004\007\200s\210!\2107\220\"\220A\330\010\022\320\022*\250&\260\001\260\023\260A\260X\270Q\330\010\013\2108\2203\220a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T\\\320\\^\320^b\320bd\320dg\320gh\320hi\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\027\220q\230\007\320\0376\260m\3005\310\001\310\025\310i\320WX\320XY\330\t\014\210A\210W\220C\220q\330\010\022\320\022*\250-\260u\270A\270S\300\001\330\004&\240a\330\004\007\200s\210!\2104\210r\220\021\330\010\017\320\017'\240v\250Q\250c\260\021\260%\260q\330\010\013\2105\220\003\2201\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320TY\320Y[\320[_\320_a\320ad\320de\320ef\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\024\220A\220W\320\0343\260=\300\002\300!\3005\310\t\320QR\320RS\330\t\014\210A\210T\220\023\220A\330\010\017\320\017'\240}\260B\260a\260s\270!\330\0040\260\001\330\004\007\200s\210!\210:\220R\220q\330\010\025\320\0251\260\026\260q\270\003\2701\270K\300q\330\010\013\210;\220c\230\021\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T_\320_a\320ae\320eg\320gj\320jk\320kl\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\230:\240Q\240g\320->\270h\300a\300u\310K\320WX\330\t\014\210A\210Z\220s\230!\330\010\026\320\026'\240x\250q\260\003\2601\330\t\n\330\010\026\320\0263\2601\260J\270i\300v\310\\\320YZ\330\004\007\200s\210!\2107\220\"\220B\220d\230(\240'\250\021\330\010""\014\210A\210Q\330\004\007\200s\210!\2104\210r\220\022\2204\220u\230G\2401\330\010\014\210A\210Q\330\004\007\200s\210!\210:\220R\220r\230\024\230[\250\007\250q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_232_uCq_1G1_1A_1IQa_1_q_1_83LHT[] = "\200\001\33023\3602\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220I\230Q\230a\330\004\r\320\r!\240\032\2501\330\004\"\240-\250q\330\0041\260\030\270\021\330\t\n\330\010\026\320\026*\250!\2508\3203L\310H\320T_\320_`\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_232_xs_1_1Ja_3aq_3axq_Q_a_8_1Kx[] = "\200\001\33023\3602\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004*\250$\250a\330\004'\320'8\270\001\330\t\n\330\010\026\320\026+\2501\250K\260x\320?\\\320\\e\320ef\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_2J_4_xs_1_1Ja_3aq_3axq_Q_a_35_V[] = "\200\001\3302J\310!\3604\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004*\250$\250a\330\0043\2605\270\r\300V\3107\320R\\\320\\]\330\t\n\330\010\026\320\026+\2501\250K\260x\270q\330\004\014\210N\230!\2301";
static const char __pyx_k_2_t3a_q_1F_s_1_s_81A_q_vQ_D_1_t[] = "\200\001\3602\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\027\220v\230Q\330\t\n\330\010\026\320\026)\250\021\320*<\270D\300\013\3101\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_2_vS_1HA_AQ_AXQa_1_A_aq_a_t_a_a[] = "\200\001\3602\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220X\230Q\230a\330\004\016\320\016!\240\032\2501\330\004\034\230A\330\t\n\330\010\026\320\026&\240a\240q\250\006\250a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\027\250\010\260\005\260S\270\n\300!";
static const char __pyx_k_2_vS_1HA_AQ_AZq_Q_A_nAQfA_t_a_a[] = "\200\001\3602\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\004\034\230A\330\t\n\330\010\026\220n\240A\240Q\240f\250A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\027\250\010\260\005\260S\270\n\300!";
static const char __pyx_k_2_wc_1IQ_Qa_Qhaq_A_Ja_A_kQR_t_a[] = "\200\001\3602\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004\034\230J\240a\330\t\n\330\010\026\320\026*\250!\320+A\300\025\300k\320QR\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_2_xs_1_1Ja_3aq_3a_1A_z_2_yPWWaa[] = "\200\001\330+,\3602\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220|\2401\240A\330\004\020\320\020'\240z\260\021\340\0042\260(\270-\300y\320PW\320Wa\320ab\330\t\n\330\010\026\320\026)\250\021\250!\2507\260+\270Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\320!2\260!\2601";
static const char __pyx_k_2_xs_1_1Ja_3aq_3axq_Q_q_q_t_a_a[] = "\200\001\3602\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\037\230q\330\t\n\330\010\026\320\026'\240q\250\001\250\030\260\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_2_xs_1_1Ja_3aq_3ay_Ja_d_Q_t_a_a[] = "\200\001\3602\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220y\240\001\240\021\330\004\020\320\020$\240J\250a\330\004\031\230\030\240\021\330\t\n\330\010\026\320\026)\250\021\320*>\270d\300+\310Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_2_y_1_A_1Kq_Cq_Cq_Qa_1_1_wc_1IQ[] = "\200\001\3602\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030-\250Q\250a\330\004\021\320\0211\260\032\2701\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\330\t\n\330\010\026\320\026:\270!\270:\300Q\330\004\007\200t\210;\220a\330\010\014\210A\210X\220[\240\001\240\021\330\010\020\220\013\2306\240\021\240*\250A\330\004\014\210N\230!\2301";
static const char __pyx_k_2_z_A_Q_1L_S_S_AQ_00Gq_5Q6YYeep[] = "\200\001\3602\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\0040\3200G\300q\330\t\n\330\010\026\320\0265\260Q\3206Y\320Ye\320ep\320pq\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_34L_1_a_FaxsR_WJgQ_we1_31Jm1A_t[] = "\200\001\33034\360L\003\000\0051\260\006\260a\330\004-\320-F\300a\300x\310s\320R\\\320\\]\330\004\035\230W\240J\250g\260Q\330\004\027\220w\230e\2401\330\t\n\330\010\026\320\0263\2601\260J\270m\3101\310A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\027\250\006\250a";
static const char __pyx_k_34_vS_1HA_AQ_A_Ja_4Jm_V_ggh_1_1[] = "\200\001\33034\360,\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0044\260J\270m\310;\320V]\320]g\320gh\330\t\n\330\010\026\320\0261\260\021\260)\2701\330\004\014\210N\230!\2301";
static const char __pyx_k_34_vS_1HA_AQ_A_Ja_j_U_ggqqr_1_1[] = "\200\001\33034\360,\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004>\270j\310\r\320U`\320`g\320gq\320qr\330\t\n\330\010\026\320\0261\260\021\260)\2701\330\004\014\210N\230!\2301";
static const char __pyx_k_34d_1_a_FaxwV_a_WJgQ_we1_31Jm1A[] = "\200\001\33034\360d\003\000\0051\260\006\260a\330\004-\320-F\300a\300x\310w\320V`\320`a\330\004\035\230W\240J\250g\260Q\330\004\027\220w\230e\2401\330\t\n\330\010\026\320\0263\2601\260J\270m\3101\310A\330\004\014\210N\230!\2301";
static const char __pyx_k_3C_C_D_z_wc_1IQ_Qa_Qhaq_A_Cz_iq[] = "\200\001\360\002\0003C\002\360\000\000C\002D\002\360z\002\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004\022\220&\230\014\240C\240z\260\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\022\220&\230\014\240C\240z\260\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\0047\260q\330\004\007\200s\210!\210=\230\002\230!\330\010\030\320\0308\270\006\270a\270s\300!\300>\320QR\330\010\013\210>\230\023\230A\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tb\320bd\320dh\320hj\320jm\320mn\320no\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\035\230Q\230g\320%D\320DY\320Yd\320de\320ej\320js\320st\320tu\330\t\014\210A\210]\230#\230Q\330\010\030\320\0308\3208M\310[\320XY\320Y\\\320\\]\330\004I\310\021\330\004\007\200s\210!\210=\230\002\230!\330\010\030\320\030J\310&\320PQ\320QT\320TU\320Uc\320cd\330\010\013\210>\230\023\230A\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tb\320bd\320dh\320hj\320jm\320mn\320no\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\230=\250\001\250\027\3200W\320Wb\320bc\320ch\320hs\320st\330\t\014\210A\210]\230#\230Q\330\010\031\320\031@\300\013\3101\310C\310q\330\004\007\200{\220\"\220C\220q\230\016\240f\250L\270\001\3209O\310r\320QT\320TU\320UX\320XY\320Yg\320gi\320io\320oq\320qt\320tu\320uv\330\004\007\200{\220\"\220C\220q\230\016\240f\250L\270\001\3209O\310r\320QT\320TU\320UX\320XY\320Yg\320gi\320io\320oq\320qt\320tu\320uv\330\t\n\330\010\026\320\0266\260a\260\177\300o\320Ua\320ab\330\004\007\200s\210!\210=\230\002\230\"\230D\240\016\250g\260Q\330\010\014\210A\210Q\330\004\007\200s\210!\210=\230\002\230\"\230D\240\016\250g\260Q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_3J_J_K_X_6_c_1_iq_wc_1IQ_Qa_QgQ[] = "\200\001\360\002\0003J\002\360\000\000J\002K\002\360X\002\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004A\300\032\310=\320Xc\320cj\320jt\320tu\330\t\n\330\010\026\320\026-\250Q\320.E\300[\320P[\320[e\320eu\360\000\000v\001G\002\360\000\000G\002H\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_45N_Q_a_1M_c_c_Zq_6_c_1_iq_wc_1[] = "\200\001\33045\360N\001\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230'\240\021\240!\330\004\023\320\023%\240Z\250q\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\t\n\330\010\026\320\026/\250q\3200G\300{\320R]\320]g\320gw\360\000\000x\001I\002\360\000\000I\002J\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_A_Q_1_gQ_Q_1_Q_iq_J_J_L_L_O_O[] = "\200\001\3604\000\005\010\320\007\031\230\023\230A\330\010\036\320\036;\270:\300Q\330\t\023\2201\320\024(\250\001\330\010\035\320\035.\250g\260Q\330\010\036\320\036;\270:\300Q\330\t\023\2201\320\024(\250\001\330\010\036\320\036;\270:\300Q\340\010\016\210i\220q\360\000\000\031J\002\360\000\000J\002L\002\360\000\000L\002O\002\360\000\000O\002P\002\360\000\000P\002T\002\360\000\000T\002U\002\360\000\000U\002V\002\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\031\240!\2401\330\004\022\320\022&\240j\260\001\330\004\034\230H\240A\330\t\n\330\010\026\320\026'\240q\320(<\270G\300;\310m\320[\\\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_t3a_q_1F_s_1_s_9AQ_A_k_t_a_av[] = "\200\001\3604\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\004$\240A\330\t\n\330\010\026\220k\240\021\240'\250\021\250!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_t3a_q_1F_s_1_s_aq_A_00Fa_Q_PP[] = "\200\001\3604\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\0040\3200F\300a\330\t\n\330\010\026\320\026-\250Q\320.P\320P]\320]h\320hi\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_vS_1HA_AQ_A_Ja_11K1_31I_ccmmn[] = "\200\001\3604\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0041\3201K\3101\330\t\n\330\010\026\320\0263\2601\260I\320=c\320cm\320mn\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_wc_1IQ_Qa_QgQa_1_22Gq_1_MM_hh[] = "\200\001\3604\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\0042\3202G\300q\330\t\n\330\010\026\320\026+\2501\320,M\320M]\320]h\320hi\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_wc_1IQ_Qa_Ql_1_j_1_1_2SSWWbbc[] = "\200\001\3604\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220l\240!\2401\330\004\017\320\017&\240j\260\001\330\004&\320&;\2701\330\t\n\330\010\026\320\0261\260\021\3202S\320SW\320Wb\320bc\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_q_A_t_a_a[] = "\200\001\3604\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\031\230\021\330\t\n\330\010\026\320\026/\250q\260\001\260\033\270A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_uCq_1G1_1[] = "\200\001\3604\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\330\t\n\330\010\026\220o\240Q\240h\250a\330\004\014\210N\230!\2301";
static const char __pyx_k_4wwxd_6_c_1_fHCz_iq_Cq_A5K2SPQQ[] = "\200\001\3304w\320wx\360d\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\016\210f\220H\230C\230z\250\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\007\200{\220\"\220C\220q\230\n\240&\250\014\260A\3205K\3102\310S\320PQ\320QT\320TU\320U_\320_a\320ag\320gi\320il\320lm\320mn\330\004\007\200{\220\"\220C\220q\230\017\240v\250\\\270\021\320:P\320PR\320RU\320UV\320VY\320YZ\320Zi\320ik\320kq\320qs\320sv\320vw\320wx\330\0043\2601\260I\270W\300D\310\r\320UV\320VW\330\004\r\210Q\320\016!\240\021\240+\320-=\270T\300\033\320L^\320^a\320ab\320bk\320kl\330\004=\320=S\320ST\320TU\330\004%\240X\250Z\3207Q\320QR\330\004 \240\013\2501\330\t\n\330\010\026\220m\2401\240L\260\t\270\025\270d\320BV\320V^\320^_\330\004\014\210K\220w\230a\230q\330\004\010\210\n\220!\330\010\020\220\013\2307\240!\2401\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_56x_t3a_q_1F_s_1_s_81A_q_wc_1IQ[] = "\200\001\33056\360x\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004*\250&\260\001\330\t\n\330\010\026\320\026-\250Q\250j\270\n\300!\330\004\014\210N\230!\2301";
static const char __pyx_k_5L_L_M_N_6_c_1_iq_wc_1IQ_Qa_QgQ[] = "\200\001\360\002\0005L\002\360\000\000L\002M\002\360N\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004D\300J\310m\320[f\320fm\320mw\320wx\330\t\n\330\010\026\320\026/\250q\3200G\300{\320R]\320]g\320gw\360\000\000x\001I\002\360\000\000I\002J\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_67L_t3a_q_1F_s_1_s_aq_A_H_T_eef[] = "\200\001\33067\360L\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\004.\320.H\310\001\310\033\320T[\320[e\320ef\330\004\035\230W\240J\250g\260Q\330\0044\260I\270Q\330\t\n\330\010\026\320\026,\250A\250]\270-\300q\330\004\014\210N\230!\2301";
static const char __pyx_k_67R_uCq_1G1_1A_1Jaq_A_1_1_G7R_9[] = "\200\001\33067\360R\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\033\2301\330\0041\260\026\260}\300G\3107\320R\\\320\\]\330\t\n\330\010\026\320\0269\270\021\270!\270=\310\010\320PQ\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_vS_1HA_AQ_AZq_Q_a_4_t_a_avQ_N[] = "\200\001\3606\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\004\031\230\030\240\021\330\t\n\330\010\026\320\026&\240a\320';\2704\270{\310!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_7_q_7_Q_t[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\033\2307\240!\330\t\n\330\010\026\320\026'\240q\320(;\2707\300+\310Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_A_kQR_t_a[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\035\230[\250\001\330\t\n\330\010\026\320\026)\250\021\320*A\300\025\300k\320QR\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_q_1_7_t_a[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\027\220q\330\t\n\330\010\026\320\0261\260\021\260!\2607\270!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_vS_1HA_AQ[] = "\200\001\3606\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\330\t\n\330\010\026\320\026'\240q\250\t\260\031\270!\330\004\014\210N\230!\2301";
static const char __pyx_k_6_z_A_Q_1L_S_S_AQ_1A_wj_m1M_N_1[] = "\200\001\3606\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\004\020\320\020#\2401\240A\330\004\037\230w\240j\260\t\270\021\330\t\n\330\010\026\220m\2401\240M\260\037\300\001\330\004\014\210N\230!\2301";
static const char __pyx_k_6_z_A_Q_1L_S_S_AQ_1A_wj_m1O_N_1[] = "\200\001\3606\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\004\020\320\020#\2401\240A\330\004\037\230w\240j\260\t\270\021\330\t\n\330\010\026\220m\2401\240O\260=\300\001\330\004\014\210N\230!\2301";
static const char __pyx_k_782_uCq_1G1_1A_1Jaq_A_q_1_q_8QQ[] = "\200\001\33078\3602\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\"\240-\250q\330\0041\260\030\270\021\330\t\n\330\010\026\320\026/\250q\260\010\3208Q\320QY\320Yd\320de\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_788_wc_1IQ_Qa_Qhaq_q_1_Qj8QQYYd[] = "\200\001\33078\3608\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\330\004\"\240-\250q\330\0041\260\030\270\021\330\t\n\330\010\026\320\026-\250Q\250j\3208Q\320QY\320Yd\320de\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_7q_J_Wddrry_z_D_D_E_Q_J_T___t_a[] = "\200\001\330+,\360`\004\000\005(\320'7\260q\330\004J\310-\320Wd\320dr\320ry\360\000\000z\001D\002\360\000\000D\002E\002\330\t\n\330\010\026\320\026-\250Q\320.J\310*\320T_\320_`\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_89B_wc_1IQ_Qa_Qhaq_wc_1IQ_Qa_Qk[] = "\200\001\33089\360B\005\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220k\240\021\240!\330\004\017\320\017%\240Z\250q\330\004*\250&\260\001\330\t\n\330\010\026\220l\240!\240:\250W\260J\270a\330\004\014\210N\230!\2301";
static const char __pyx_k_8_t3a_q_1F_s_1_s_81A_q_U_A_a_av[] = "\200\001\3608\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\r\210U\220\"\220A\330\004\026\220a\330\t\n\330\010\026\320\026&\240a\240v\250X\260Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_8_t3a_q_1F_s_1_s_81A_q_vQ_a_9_t[] = "\200\001\3608\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\027\220v\230Q\330\t\n\330\010\026\320\026&\240a\320'9\270\024\270[\310\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_8_uCq_1G1_1A_1Kq_Q_1_C5_STT_t_a[] = "\200\001\3608\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\330\004\035\230[\250\001\330\004\030\230\001\330\t\n\330\010\026\320\026+\2501\320,C\3005\310\013\320ST\320T[\320[\\\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\027\250\001";
static const char __pyx_k_8_vS_1HA_AQ_A_Ja_88UUV_5Qi_hhvv[] = "\200\001\3608\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0048\3208U\320UV\330\t\n\330\010\026\320\0265\260Q\260i\320?h\320hv\320vw\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_8_vS_1HA_AQ_A_Ja_8_Zaakkl_1IQ_N[] = "\200\001\330-.\3608\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0048\270\n\300-\310{\320Za\320ak\320kl\330\t\n\330\010\026\320\026+\2501\250I\260Q\330\004\014\210N\230!\2301";
static const char __pyx_k_8_xs_1_1Ja_3aq_3axq_Q_Q_0_1MM_h[] = "\200\001\3608\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004-\320-=\270Q\330\t\n\330\010\026\320\0260\260\001\3201M\320M]\320]h\320hi\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_9UUV2_vS_1HA_AQ_A_Ja_d_7uM_wV_a[] = "\200\001\3309U\320UV\3602\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004.\250d\260!\330\0047\260u\270M\310\026\310w\320V`\320`a\330\t\n\330\010\026\320\0264\260A\260Y\270h\300a\330\004\014\210N\230!\2301";
static const char __pyx_k_9_2_vS_1HA_AQ_A_Ja_d_4AYhFggppq[] = "\200\001\3309:\3602\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004.\250d\260!\330\004+\320+@\300\001\330\t\n\330\010\026\320\0264\260A\260Y\270h\320Fg\320gp\320pq\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_9_f_wc_1IQ_Qa_Q_aq_A_k_GzQ_iipp[] = "\200\001\3309:\360f\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\026&\240a\240q\330\004\017\320\017*\250*\260A\330\004\036\230k\250\021\330\004G\300z\320Q^\320^i\320ip\320pz\320z{\330\t\n\330\010\026\320\0266\260a\3207N\310f\320T_\320_i\320ij\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_ABJ_uCq_1G1_1A_1L_Ja_99YYZZ_q_Q[] = "\200\001\330AB\360J\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\330\0049\3209Y\320YZ\320Z[\330\004\"\240'\250\032\260<\270q\330\004;\270:\300Q\330\t\n\330\010\026\320\0267\260q\3208J\310(\320R`\320`a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\034\250V\2601";
static const char __pyx_k_AB_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa[] = "\200\001\330AB\360>\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\004<\270J\300m\320S^\320^e\320eo\320op\330\t\n\330\010\026\320\0263\2601\260N\300)\3101\330\004\014\210N\230!\2301";
static const char __pyx_k_ABl_wc_1IQ_Qa_Q_aq_A_31_PPZZggr[] = "\200\001\330AB\360l\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\026&\240a\240q\330\004\017\320\017*\250*\260A\330\004#\320#3\2601\330\004P\320PZ\320Zg\320gr\320ry\360\000\000z\001D\002\360\000\000D\002E\002\330\t\n\330\010\026\320\026>\270a\320?[\320[a\320al\320lv\320vw\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_AT_Zq_iq_wc_1IQ_Qa_Qhaq_A_vRs_l[] = "\200\001\330@A\360T\001\000\005\022\220\026\220{\240#\240Z\250q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004\007\200v\210R\210s\220!\220=\240\006\240l\260!\3203I\310\022\3103\310a\310s\320RS\320S`\320`b\320bh\320hj\320jm\320mn\320no\330\004;\2701\330\004\007\200s\210!\210<\220r\230\021\330\010\027\320\027<\270F\300!\3003\300a\300}\320TU\330\010\013\210=\230\003\2301\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Ta\320ac\320cg\320gi\320il\320lm\320mn\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\230<\240q\250\007\320/I\310\032\320ST\320TY\320Yd\320de\330\t\014\210A\210\\\230\023\230A\330\010\030\320\0302\260*\270A\270S\300\001\330\t\n\330\010\026\320\026)\250\021\250*\260G\270>\310\021\330\004\007\200s\210!\210<\220r\230\022\2304\230}\250G\2601\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_A_A_q_S_G5_y_1_F_Q_9Cq_Q_J_CqPZ[] = "\200\001\330@A\360|\002\000\005-\250A\330\004\017\210q\220\r\230S\240\004\240G\2505\260\001\260\021\330\004\007\200y\220\003\2201\330\010\023\320\023,\250F\260!\260:\270Q\330\010\013\2109\220C\220q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PZ\320Z\\\320\\`\320`b\320be\320ef\320fg\330\004#\2401\330\0040\260\006\260m\3007\310'\320Q[\320[\\\330\004#\240=\260\001\330\t\n\330\010\026\320\0262\260!\260:\270Q\270l\310.\320Xq\320qz\360\000\000{\001F\002\360\000\000F\002P\002\360\000\000P\002Q\002\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\014\210G\2205\230\001\230\021\330\022\031\230\022\230?\250(\260!\2605\270\013\3001\300H\310A\310V\320ST\330\004\007\200y\220\007\220q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2506\260\021\330\004\014\210N\230!\2306\240\032\250<\260q";
static const char __pyx_k_A_X_X_Y_H_6_c_1_iq_wc_1IQ_Qa_Qg[] = "\200\001\360\002\000A\001X\002\360\000\000X\002Y\002\360H\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004D\300J\310m\320[f\320fm\320mw\320wx\330\t\n\330\010\026\320\026;\2701\320<S\320S^\320^i\320is\360\000\000t\001D\002\360\000\000D\002U\002\360\000\000U\002V\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Access_flags_that_specify_the_l[] = "\n    Access flags that specify the level of access the current context's\n    device has on the memory referenced.\n    ";
static const char __pyx_k_Argument_boxDim_is_not_instance[] = "Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]";
static const char __pyx_k_Argument_kernelParams_failed_to[] = "Argument 'kernelParams' failed to retrieve buffer through Buffer Protocol";
static const char __pyx_k_Argument_map_is_not_instance_of[] = "Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]";
static const char __pyx_k_Argument_opList_is_not_instance[] = "Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]";
static const char __pyx_k_Argument_pixelBoxLowerCorner_is[] = "Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]";
static const char __pyx_k_Argument_pixelBoxUpperCorner_is[] = "Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]";
static const char __pyx_k_B_A_Q_1_gQ_Q_1_Q_iq_J_J_L_L_O_O[] = "\200\001\360B\001\000\005\010\320\007\031\230\023\230A\330\010\036\320\036;\270:\300Q\330\t\023\2201\320\024(\250\001\330\010\035\320\035.\250g\260Q\330\010\036\320\036;\270:\300Q\330\t\023\2201\320\024(\250\001\330\010\036\320\036;\270:\300Q\340\010\016\210i\220q\360\000\000\031J\002\360\000\000J\002L\002\360\000\000L\002O\002\360\000\000O\002P\002\360\000\000P\002T\002\360\000\000T\002U\002\360\000\000U\002V\002\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\031\240!\2401\330\004\022\320\022&\240j\260\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\330\004\032\230)\2401\330\t\n\330\010\026\320\026'\240q\320(=\270T\300\033\310G\320S]\320]j\320jk\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_B_B_C_X_6_c_1_iq_wc_1IQ_Qa_QgQa[] = "\200\001\360\002\000+B\002\360\000\000B\002C\002\360X\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\0048\270\n\300-\310{\320Za\320ak\320kl\330\t\n\330\010\026\220o\240Q\320&=\270[\310\013\320S]\320]m\320m~\320~\177\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_B_E_E_F_6_c_1_fHCz_iq_81_WJgQ_C[] = "\200\001\360\002\000B\001E\002\360\000\000E\002F\002\360<\000\005\024\2206\230\035\240c\250\032\2601\330\004\016\210f\220H\230C\230z\250\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\033\2308\2401\330\004\016\320\016!\240\021\240!\330\004\035\230W\240J\250g\260Q\330\004\007\200{\220\"\220C\220q\230\n\240&\250\014\260A\3205K\3102\310S\320PQ\320QT\320TU\320U_\320_a\320ag\320gi\320il\320lm\320mn\330\004\007\200{\220\"\220C\220q\230\017\240v\250\\\270\021\320:P\320PR\320RU\320UV\320VY\320YZ\320Zi\320ik\320kq\320qs\320sv\320vw\320wx\330\0043\2601\260I\270W\300D\310\r\320UV\320VW\330\004\r\210Q\320\016!\240\021\240+\320-=\270T\300\033\320L^\320^a\320ab\320bk\320kl\330\004=\320=S\320ST\320TU\330\004%\240X\250Z\3207Q\320QR\330\t\n\330\010\026\320\026)\250\021\320*>\270f\300K\310}\320\\h\320hq\320qv\320vz\320z{\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_B_E_E_F_T_V_Zq_iq_6_c_1_iq_xs_1[] = "\200\001\360\002\000B\001E\002\360\000\000E\002F\002\360T\001\000\005\026\220V\230?\250#\250Z\260q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\0046\260a\330\004\007\200s\210!\320\013\033\2302\230Q\330\010\033\320\0337\260v\270Q\270c\300\021\320BS\320ST\330\010\013\320\013\034\230C\230q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Te\320eg\320gk\320km\320mp\320pq\320qr\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\320\033+\2501\250G\3203D\300N\320RS\320SX\320Xc\320cd\330\t\014\210A\320\r\035\230S\240\001\330\010\034\320\034-\250^\2701\270C\270q\330\t\n\330\010\026\320\026;\2701\270K\320GW\320Wi\320iz\320z{\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200s\210!\320\013\033\2302\230R\230t\320#4\260G\2701\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_B_S_1_A_AQ_AWAQ_q_m1_7_a_t_a_av[] = "\200\001\360B\001\000\005\010\200~\220S\230\001\330\010\031\230\021\330\t\023\2201\320\024$\240A\330\010\031\230\023\230A\230Q\340\010\031\230\023\230A\230W\240A\240Q\330\004\026\320\026(\250\n\260!\330\004 \240\007\240q\330\t\n\330\010\026\220m\2401\320$7\260|\300;\310a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_B_t3a_q_1F_s_1_s_81A_z_A_Cq_F_s[] = "\200\001\360B\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230z\250\021\330\004,\250A\330\004\022\220!\330\004\007\200}\220C\220q\330\010\026\320\026,\250F\260!\260>\300\021\330\010\013\210<\220s\230!\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P^\320^`\320`d\320df\320fi\320ij\320jk\330\t\n\330\010\026\320\0261\260\021\260-\270~\310Q\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\026\220a\220z\240\021\240+\250Z\260{\300!\3006\310\024\310W\320TY\320YZ\320Z[\330\004\007\200|\2207\230!\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_B_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja[] = "\200\001\360B\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\t\n\330\010\026\320\0269\270\021\270.\310\t\320QR\330\004\014\210N\230!\2301";
static const char __pyx_k_B_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1[] = "\200\001\360B\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\t\n\330\010\026\320\026,\250A\250X\260Q\330\004\014\210N\230!\2301";
static const char __pyx_k_B_wc_1IQ_Qa_Qhaq_vS_1HA_AQ_AWAQ[] = "\200\001\360B\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\330\004=\320=[\320[\\\330\t\n\330\010\026\320\0263\2601\3204^\320^p\320p{\360\000\000|\001E\002\360\000\000E\002F\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_B_xs_1_1Ja_3aq_3ay_Ja_Kq_1_B_kQ[] = "\200\001\360B\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220y\240\001\240\021\330\004\020\320\020$\240J\250a\330\004\034\230K\240q\330\004\033\2301\330\t\n\330\010\026\320\026*\250!\320+B\300$\300k\320QR\320R\\\320\\g\320gh\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\026\240q";
static const char __pyx_k_Bitmasks_for_CU_DEVICE_ATTRIBUT[] = "\n    Bitmasks for CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK.\n    ";
static const char __pyx_k_Bitmasks_for_py_obj_CU_DEVICE_A[] = "\n    Bitmasks for\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS`\n    ";
static const char __pyx_k_CDV_t3a_q_1F_s_1_s_9AQ_vS_1HA_A[] = "\200\001\330CD\360V\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\0044\260J\270m\310;\320V]\320]g\320gh\330\t\n\330\010\026\320\0265\260Q\260n\300I\320M_\320_`\330\004\014\210N\230!\2301";
static const char __pyx_k_CD_vS_1HA_AQ_A_Ja_DJm_ffmmwwx_A[] = "\200\001\330CD\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004D\300J\310m\320[f\320fm\320mw\320wx\330\t\n\330\010\026\320\026A\300\021\300)\3101\330\004\014\210N\230!\2301";
static const char __pyx_k_CDr_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q[] = "\200\001\330CD\360r\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\004>\270j\310\r\320U`\320`g\320gq\320qr\330\t\n\330\010\026\320\0265\260Q\260n\300I\310Q\330\004\014\210N\230!\2301";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_st_getPtr[] = "CUDA_ARRAY_DESCRIPTOR_st.getPtr";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st[] = "CUDA_ARRAY_SPARSE_PROPERTIES_st";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_v1[] = "CUDA_ARRAY_SPARSE_PROPERTIES_v1";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st[] = "CUDA_CHILD_GRAPH_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EGL_Color_Format_The_diffe[] = "\n    CUDA EGL Color Format - The different planar and multiplanar\n    formats currently supported for CUDA_EGL interops. Three channel\n    formats are currently not supported for\n    :py:obj:`~.CU_EGL_FRAME_TYPE_ARRAY`\n    ";
static const char __pyx_k_CUDA_ERROR_CDP_VERSION_MISMATCH[] = "CUDA_ERROR_CDP_VERSION_MISMATCH";
static const char __pyx_k_CUDA_ERROR_COMPAT_NOT_SUPPORTED[] = "CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE";
static const char __pyx_k_CUDA_ERROR_CONTEXT_IS_DESTROYED[] = "CUDA_ERROR_CONTEXT_IS_DESTROYED";
static const char __pyx_k_CUDA_ERROR_HARDWARE_STACK_ERROR[] = "CUDA_ERROR_HARDWARE_STACK_ERROR";
static const char __pyx_k_CUDA_ERROR_INVALID_CLUSTER_SIZE[] = "CUDA_ERROR_INVALID_CLUSTER_SIZE";
static const char __pyx_k_CUDA_ERROR_MPS_SERVER_NOT_READY[] = "CUDA_ERROR_MPS_SERVER_NOT_READY";
static const char __pyx_k_CUDA_ERROR_NVLINK_UNCORRECTABLE[] = "CUDA_ERROR_NVLINK_UNCORRECTABLE";
static const char __pyx_k_CUDA_ERROR_SHARED_OBJECT_SYMBOL[] = "CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_MERGE[] = "CUDA_ERROR_STREAM_CAPTURE_MERGE";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_WRONG[] = "CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EglFrame_type_array_or_poi[] = "\n    CUDA EglFrame type - array or pointer\n    ";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_USE[] = "CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_MULTIPLE[] = "CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_st_getPtr[] = "CUDA_HOST_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_2[] = "CUDA_KERNEL_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_3[] = "CUDA_KERNEL_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_2[] = "CUDA_KERNEL_NODE_PARAMS_v3_st.__reduce_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_3[] = "CUDA_KERNEL_NODE_PARAMS_v3_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_2[] = "CUDA_MEMSET_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_3[] = "CUDA_MEMSET_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_TEXTURE_DESC_st___setstate[] = "CUDA_TEXTURE_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_devices_corresponding_to_a[] = "\n    CUDA devices corresponding to an OpenGL device\n    ";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT_101010_2[] = "CU_AD_FORMAT_UNORM_INT_101010_2";
static const char __pyx_k_CU_ASYNC_NOTIFICATION_TYPE_OVER[] = "CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET";
static const char __pyx_k_CU_COREDUMP_ENABLE_ON_EXCEPTION[] = "CU_COREDUMP_ENABLE_ON_EXCEPTION";
static const char __pyx_k_CU_COREDUMP_ENABLE_USER_TRIGGER[] = "CU_COREDUMP_ENABLE_USER_TRIGGER";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE[] = "CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_ECC_ENABLED[] = "CU_DEVICE_ATTRIBUTE_ECC_ENABLED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP[] = "CU_DEVICE_ATTRIBUTE_GPU_OVERLAP";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE[] = "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NATIVE[] = "CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC[] = "CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS[] = "CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MPS_ENABLED[] = "CU_DEVICE_ATTRIBUTE_MPS_ENABLED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG[] = "CU_DEVICE_ATTRIBUTE_NUMA_CONFIG";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA[] = "CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED";
static const char __pyx_k_CU_DEVICE_NUMA_CONFIG_NUMA_NODE[] = "CU_DEVICE_NUMA_CONFIG_NUMA_NODE";
static const char __pyx_k_CU_DEV_SM_RESOURCE_SPLIT_IGNORE[] = "CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_709_ER[] = "CU_EGL_COLOR_FORMAT_UYVY_709_ER";
static const char __pyx_k_CU_EGL_RESOURCE_LOCATION_SYSMEM[] = "CU_EGL_RESOURCE_LOCATION_SYSMEM";
static const char __pyx_k_CU_EGL_RESOURCE_LOCATION_VIDMEM[] = "CU_EGL_RESOURCE_LOCATION_VIDMEM";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA[] = "CU_FUNC_ATTRIBUTE_CACHE_MODE_CA";
static const char __pyx_k_CU_GET_PROC_ADDRESS_VERSION_NOT[] = "CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT";
static const char __pyx_k_CU_GL_DEVICE_LIST_CURRENT_FRAME[] = "CU_GL_DEVICE_LIST_CURRENT_FRAME";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_NONE[] = "CU_GRAPHICS_REGISTER_FLAGS_NONE";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_READ[] = "CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL[] = "CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY[] = "CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET[] = "CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NODE[] = "CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED";
static const char __pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH[] = "CU_GRAPH_MEM_ATTR_USED_MEM_HIGH";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP[] = "CU_GRAPH_NODE_TYPE_BATCH_MEM_OP";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_EVENT_RECORD[] = "CU_GRAPH_NODE_TYPE_EVENT_RECORD";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_ACCESS[] = "CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_DEVICE[] = "CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_COOPERATIVE[] = "CU_LAUNCH_ATTRIBUTE_COOPERATIVE";
static const char __pyx_k_CU_LAUNCH_KERNEL_REQUIRED_BLOCK[] = "CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM";
static const char __pyx_k_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH[] = "CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH";
static const char __pyx_k_CU_MEM_ADVISE_UNSET_ACCESSED_BY[] = "CU_MEM_ADVISE_UNSET_ACCESSED_BY";
static const char __pyx_k_CU_MEM_ADVISE_UNSET_READ_MOSTLY[] = "CU_MEM_ADVISE_UNSET_READ_MOSTLY";
static const char __pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_LZ4[] = "CU_MEM_DECOMPRESS_ALGORITHM_LZ4";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_ACCESSED[] = "CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_IS_MANAGED[] = "CU_POINTER_ATTRIBUTE_IS_MANAGED";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_P2P_TOKENS[] = "CU_POINTER_ATTRIBUTE_P2P_TOKENS";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_RANGE_SIZE[] = "CU_POINTER_ATTRIBUTE_RANGE_SIZE";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC1[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC1";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC2[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC2";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC3[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC3";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC4[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC4";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC5[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC5";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC7[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC7";
static const char __pyx_k_CU_SHARED_MEM_CONFIG_EIGHT_BYTE[] = "CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE";
static const char __pyx_k_CU_STREAM_CAPTURE_STATUS_ACTIVE[] = "CU_STREAM_CAPTURE_STATUS_ACTIVE";
static const char __pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_32[] = "CU_STREAM_MEM_OP_WRITE_VALUE_32";
static const char __pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_64[] = "CU_STREAM_MEM_OP_WRITE_VALUE_64";
static const char __pyx_k_CU_STREAM_WRITE_VALUE_NO_MEMORY[] = "CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT16[] = "CU_TENSOR_MAP_DATA_TYPE_FLOAT16";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32[] = "CU_TENSOR_MAP_DATA_TYPE_FLOAT32";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT64[] = "CU_TENSOR_MAP_DATA_TYPE_FLOAT64";
static const char __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_NONE[] = "CU_TENSOR_MAP_L2_PROMOTION_NONE";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM[] = "CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B";
static const char __pyx_k_CUasyncCallback___reduce_cython[] = "CUasyncCallback.__reduce_cython__";
static const char __pyx_k_CUcheckpointCheckpointArgs_st_2[] = "CUcheckpointCheckpointArgs_st.__reduce_cython__";
static const char __pyx_k_CUcheckpointCheckpointArgs_st_3[] = "CUcheckpointCheckpointArgs_st.__setstate_cython__";
static const char __pyx_k_CUctxCreateParams_st___setstate[] = "CUctxCreateParams_st.__setstate_cython__";
static const char __pyx_k_CUeglFrame_st___setstate_cython[] = "CUeglFrame_st.__setstate_cython__";
static const char __pyx_k_CUexecAffinityParam_st___reduce[] = "CUexecAffinityParam_st.__reduce_cython__";
static const char __pyx_k_CUexecAffinitySmCount_st_getPtr[] = "CUexecAffinitySmCount_st.getPtr";
static const char __pyx_k_CUextent3D_st___setstate_cython[] = "CUextent3D_st.__setstate_cython__";
static const char __pyx_k_CUflushGPUDirectRDMAWritesScope[] = "CUflushGPUDirectRDMAWritesScope";
static const char __pyx_k_CUgraphConditionalHandle_getPtr[] = "CUgraphConditionalHandle.getPtr";
static const char __pyx_k_CUgraphNodeParams_st___setstate[] = "CUgraphNodeParams_st.__setstate_cython__";
static const char __pyx_k_CUlaunchAttribute_st___setstate[] = "CUlaunchAttribute_st.__setstate_cython__";
static const char __pyx_k_CUlogIterator___setstate_cython[] = "CUlogIterator.__setstate_cython__";
static const char __pyx_k_CUlogsCallbackHandle___setstate[] = "CUlogsCallbackHandle.__setstate_cython__";
static const char __pyx_k_CUmemAllocationProp_st___reduce[] = "CUmemAllocationProp_st.__reduce_cython__";
static const char __pyx_k_CUmemDecompressParams_st_getPtr[] = "CUmemDecompressParams_st.getPtr";
static const char __pyx_k_CUmemFabricHandle_st___setstate[] = "CUmemFabricHandle_st.__setstate_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle_v1[] = "<CUmemGenericAllocationHandle_v1 ";
static const char __pyx_k_CUmemcpy3DOperand_st___setstate[] = "CUmemcpy3DOperand_st.__setstate_cython__";
static const char __pyx_k_CUmulticastObjectProp_st_getPtr[] = "CUmulticastObjectProp_st.getPtr";
static const char __pyx_k_CUoffset3D_st___setstate_cython[] = "CUoffset3D_st.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpWaitValueParams_st[] = "CUstreamMemOpWaitValueParams_st";
static const char __pyx_k_CUsurfObject_v1___reduce_cython[] = "CUsurfObject_v1.__reduce_cython__";
static const char __pyx_k_C_C_D_Z_6_c_1_fHCz_iq_vS_1HA_AQ[] = "\200\001\330-\177\360\000\000@\002C\003\360\000\000C\003D\003\360Z\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\016\210f\220H\230C\230z\250\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004.\250h\260a\330\004\r\320\r \240\001\240\021\330\004\034\230G\240:\250V\2601\330\004\007\200{\220\"\220C\220q\230\n\240&\250\014\260A\3205K\3102\310S\320PQ\320QT\320TU\320U_\320_a\320ag\320gi\320il\320lm\320mn\330\004\007\200{\220\"\220C\220q\230\017\240v\250\\\270\021\320:P\320PR\320RU\320UV\320VY\320YZ\320Zi\320ik\320kq\320qs\320sv\320vw\320wx\330\0043\2601\260I\270W\300D\310\r\320UV\320VW\330\004\r\210Q\320\016!\240\021\240+\320-=\270T\300\033\320L^\320^a\320ab\320bk\320kl\330\004=\320=S\320ST\320TU\330\004%\240X\250Z\3207Q\320QR\330\t\n\330\010\026\220n\240A\240Y\250l\270,\300f\310F\320R^\320^g\320gl\320lp\320pq\330\004\014\210N\230!\2301";
static const char __pyx_k_C_Z_Z_H_6_c_1_iq_wc_1IQ_Qa_QgQa[] = "\200\001\360\002\000C\001Z\002\360\000\000Z\002[\002\360H\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004F\300j\320P]\320]h\320ho\320oy\320yz\330\t\n\330\010\026\320\026=\270Q\320>U\320U`\320`k\320ku\360\000\000v\001F\002\360\000\000F\002W\002\360\000\000W\002X\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Cluster_scheduling_policies_The[] = "\n    Cluster scheduling policies. These may be passed to\n    :py:obj:`~.cuFuncSetAttribute` or :py:obj:`~.cuKernelSetAttribute`\n    ";
static const char __pyx_k_Cq_1O1_1A_1N_1_j_AQ_z_1_a_6_q_w[] = "\200\001\360*\000\005\010\200}\220C\220q\330\010\030\230\001\330\t\023\2201\220O\2401\330\010\030\230\003\2301\230A\340\010\030\230\003\2301\230N\250!\2501\330\004\025\320\025.\250j\270\001\330\004\021\320\021$\240A\240Q\330\004 \240\007\240z\260\032\2701\340\004&\240a\330\004\r\320\r#\2406\250\021\250'\260\026\260q\270\001\330\004\007\200w\210c\220\021\330\010\020\220\010\320\0303\2601\330\004\n\210,\220a\330\004\n\210,\220a\340\004-\320-A\300\021\330\t\n\330\010\026\320\026-\250Q\320.G\320G^\320^f\320fn\360\000\000o\001O\002\360\000\000O\002[\002\360\000\000[\002\\\002\330\004\007\200t\210;\220a\330\010\014\210A\210Q\340\010\020\220\013\2301\230C\230q\320 1\260\021\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Cubin_matching_fallback_strateg[] = "\n    Cubin matching fallback strategies\n    ";
static const char __pyx_k_DEJ_t3a_q_1F_s_1_s_aq_A_Zq_iq_R[] = "\200\001\330DE\360J\002\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\004\021\220\026\220{\240#\240Z\250q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\007\200~\220R\220s\230!\230=\250\006\250l\270!\320;Q\320QS\320SV\320VW\320WZ\320Z[\320[h\320hj\320jp\320pr\320ru\320uv\320vw\330\004=\270Q\270l\310'\320QU\320Ue\320ef\320fg\330\004\r\210Q\320\016(\250\001\250\036\260s\270*\300F\310$\320N^\320^_\330\0045\3205K\3101\310A\330\004'\240x\250z\3209K\3101\330\t\n\330\010\026\320\026-\250Q\250o\270\\\310\025\310d\320Rh\320hi\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021\240#\240V\2503\250d\260'\270\021";
static const char __pyx_k_D_t3a_q_1F_s_1_s_81A_q_y_1_A_1K[] = "\200\001\360D\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\0304\260A\260Q\330\004\021\320\0218\270\n\300!\330\t\n\330\010\026\320\026+\2501\250L\270\001\330\004\014\210N\230!\2301";
static const char __pyx_k_D_uCq_1G1_1A_1Jaq_A_B_1KxWbbc_t[] = "\200\001\360D\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\031\230\021\330\t\n\330\010\026\320\026B\300!\3001\300K\310x\320Wb\320bc\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_D_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K[] = "\200\001\360D\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\t\n\330\010\026\320\026+\2501\250J\260h\270i\300q\330\004\014\210N\230!\2301";
static const char __pyx_k_D_wc_1IQ_Qa_Qhaq_wc_1IQ_Qa_Q_aq[] = "\200\001\360D\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\026&\240a\240q\330\004\017\320\017*\250*\260A\330\004=\320=[\320[\\\330\t\n\330\010\026\320\026<\270A\320=g\320gy\360\000\000z\001E\002\360\000\000E\002O\002\360\000\000O\002P\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_D_wc_1IQ_Qa_Ql_1_j_vS_1HA_AQ_AW[] = "\200\001\360D\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220l\240!\2401\330\004\017\320\017&\240j\260\001\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\330\t\n\330\010\026\320\026.\250a\250y\270\n\300'\310\021\330\004\014\210N\230!\2301";
static const char __pyx_k_D_xs_1_1Ja_3aq_3axq_Q_uCq_1G1_1[] = "\200\001\360D\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\330\004\034\230K\240q\330\t\n\330\010\026\320\026.\250a\320/F\300d\310+\320U_\320_g\320gh\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_Defines_the_allocation_types_av[] = "\n    Defines the allocation types available\n    ";
static const char __pyx_k_Deprecated_Shared_memory_config[] = "\n    [Deprecated]  Shared memory configurations\n    ";
static const char __pyx_k_EF_t3a_q_1F_s_1_s_9AQ_vS_1HA_AQ[] = "\200\001\330EF\360`\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\004@\300\014\310M\320Yf\320fm\320mw\320wx\330\t\n\330\010\026\320\0265\260Q\260n\300I\320Ma\320ab\330\004\014\210N\230!\2301";
static const char __pyx_k_EF_vS_1HA_AQ_A_Ja_FjP_hhooyyz_C[] = "\200\001\330EF\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004F\300j\320P]\320]h\320ho\320oy\320yz\330\t\n\330\010\026\320\026C\3001\300I\310Q\330\004\014\210N\230!\2301";
static const char __pyx_k_External_semaphore_handle_types[] = "\n    External semaphore handle types\n    ";
static const char __pyx_k_F_F_G_F_6_c_1_iq_wc_1IQ_Qa_QgQa[] = "\200\001\360\002\000/F\002\360\000\000F\002G\002\360F\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004<\270J\300m\320S^\320^e\320eo\320op\330\t\n\330\010\026\320\026)\250\021\320*A\300\033\310K\320Wa\320aq\360\000\000r\001C\002\360\000\000C\002D\002\330\004\007\200s\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_F_wc_1IQ_Qa_Qhaq_A_Uaahhrrs_Q_0[] = "\200\001\330,-\360F\002\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004=\270[\310\r\320Ua\320ah\320hr\320rs\330\004\035\230Q\330\t\n\330\010\026\320\0260\260\001\3201D\300G\3107\320RS\320S_\320_`\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_F_y_1_A_1Kq_Cq_Cq_q_Q_y_1_A_1Kq[] = "\200\001\360F\001\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\007\230q\240\001\330\004\021\320\021#\240:\250Q\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\007\230q\240\001\330\004\021\320\021#\240:\250Q\330\t\n\330\010\026\220m\2401\240L\260\013\270<\300{\320RS\330\004\014\210N\230!\2301";
static const char __pyx_k_Flag_for_requesting_different_o[] = "\n    Flag for requesting different optimal and required granularities\n    for an allocation.\n    ";
static const char __pyx_k_Flag_for_requesting_handle_type[] = "\n    Flag for requesting handle type for address range.\n    ";
static const char __pyx_k_Flags_for_choosing_a_coredump_a[] = "\n    Flags for choosing a coredump attribute to get/set\n    ";
static const char __pyx_k_Flags_for_instantiating_a_graph[] = "\n    Flags for instantiating a graph\n    ";
static const char __pyx_k_Flags_for_mapping_and_unmapping[] = "\n    Flags for mapping and unmapping interop resources\n    ";
static const char __pyx_k_Flags_for_py_obj_CUstreamBatchM[] = "\n    Flags for :py:obj:`~.CUstreamBatchMemOpParams`::memoryBarrier\n    ";
static const char __pyx_k_Flags_for_py_obj_cuStreamUpdate[] = "\n    Flags for :py:obj:`~.cuStreamUpdateCaptureDependencies`\n    ";
static const char __pyx_k_Flags_for_py_obj_cuStreamWaitVa[] = "\n    Flags for :py:obj:`~.cuStreamWaitValue32` and\n    :py:obj:`~.cuStreamWaitValue64`\n    ";
static const char __pyx_k_Flags_for_py_obj_cuStreamWriteV[] = "\n    Flags for :py:obj:`~.cuStreamWriteValue32`\n    ";
static const char __pyx_k_Flags_for_querying_different_gr[] = "\n    Flags for querying different granularities for a multicast object\n    ";
static const char __pyx_k_Flags_for_retaining_user_object[] = "\n    Flags for retaining user object references for graphs\n    ";
static const char __pyx_k_Flags_for_specifying_particular[] = "\n    Flags for specifying particular handle types\n    ";
static const char __pyx_k_Flags_for_user_objects_for_grap[] = "\n    Flags for user objects for graphs\n    ";
static const char __pyx_k_Flags_to_indicate_search_status[] = "\n    Flags to indicate search status. For more details see\n    :py:obj:`~.cuGetProcAddress`\n    ";
static const char __pyx_k_Flags_to_map_or_unmap_a_resourc[] = "\n    Flags to map or unmap a resource\n    ";
static const char __pyx_k_Flags_to_register_a_graphics_re[] = "\n    Flags to register a graphics resource\n    ";
static const char __pyx_k_Flags_to_specify_for_copies_wit[] = "\n    Flags to specify for copies within a batch. For more details see\n    :py:obj:`~.cuMemcpyBatchAsync`.\n    ";
static const char __pyx_k_Flags_to_specify_search_options[] = "\n    Flags to specify search options. For more details see\n    :py:obj:`~.cuGetProcAddress`\n    ";
static const char __pyx_k_GH_Q_Q_s_V14EQ_Q_Q_J_CqPaaccggi[] = "\200\001\330GH\360^\001\000\005*\250\021\330\004-\250Q\330\004\025\220Q\330\004\007\320\007\027\220s\230!\330\010\031\320\031-\250V\2601\3204E\300Q\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320Pa\320ac\320cg\320gi\320il\320lm\320mn\330\0040\260\n\270!\330\t\n\330\010\026\220o\240Q\240a\320'9\3209I\320IZ\320Z[\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\031\230\021\230(\240!\240;\250j\270\016\300a\300v\310T\320QX\320X]\320]^\320^_\330\004\007\200\177\220g\230Q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\320!3\2601";
static const char __pyx_k_GH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa[] = "\200\001\330GH\360^\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\004D\300J\310m\320[f\320fm\320mw\320wx\330\t\n\330\010\026\320\0269\270\021\270.\310\t\320QR\330\004\014\210N\230!\2301";
static const char __pyx_k_H_t3a_q_1F_s_1_s_81A_q_1__MYiip[] = "\200\001\330%&\360H\005\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\032\230)\2401\330\004=\270_\310M\320Yi\320ip\320pz\320z{\330\t\n\330\010\026\220o\240Q\320&;\2704\270{\320Ja\320ah\320hi\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_H_uCq_1G1_1A_1Kq_Q_a_B_PVVaaiij[] = "\200\001\360H\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\330\004\033\230;\240a\330\t\n\330\010\026\320\026*\250!\320+B\300#\300[\320PV\320Va\320ai\320ij\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_HelperCUcoredumpSettings___redu[] = "_HelperCUcoredumpSettings.__reduce_cython__";
static const char __pyx_k_HelperCUcoredumpSettings___sets[] = "_HelperCUcoredumpSettings.__setstate_cython__";
static const char __pyx_k_HelperCUgraphMem_attribute___re[] = "_HelperCUgraphMem_attribute.__reduce_cython__";
static const char __pyx_k_HelperCUgraphMem_attribute___se[] = "_HelperCUgraphMem_attribute.__setstate_cython__";
static const char __pyx_k_HelperCUgraphMem_attribute_pyOb[] = "_HelperCUgraphMem_attribute.pyObj";
static const char __pyx_k_HelperCUjit_option___reduce_cyt[] = "_HelperCUjit_option.__reduce_cython__";
static const char __pyx_k_HelperCUjit_option___setstate_c[] = "_HelperCUjit_option.__setstate_cython__";
static const char __pyx_k_HelperCUlibraryOption___setstat[] = "_HelperCUlibraryOption.__setstate_cython__";
static const char __pyx_k_HelperCUmemAllocationHandleType[] = "_HelperCUmemAllocationHandleType";
static const char __pyx_k_HelperCUmemPool_attribute___red[] = "_HelperCUmemPool_attribute.__reduce_cython__";
static const char __pyx_k_HelperCUmemPool_attribute___set[] = "_HelperCUmemPool_attribute.__setstate_cython__";
static const char __pyx_k_HelperCUmemPool_attribute_pyObj[] = "_HelperCUmemPool_attribute.pyObj";
static const char __pyx_k_HelperCUmem_range_attribute___r[] = "_HelperCUmem_range_attribute.__reduce_cython__";
static const char __pyx_k_HelperCUmem_range_attribute___s[] = "_HelperCUmem_range_attribute.__setstate_cython__";
static const char __pyx_k_HelperCUmem_range_attribute_pyO[] = "_HelperCUmem_range_attribute.pyObj";
static const char __pyx_k_HelperCUpointer_attribute___red[] = "_HelperCUpointer_attribute.__reduce_cython__";
static const char __pyx_k_HelperCUpointer_attribute___set[] = "_HelperCUpointer_attribute.__setstate_cython__";
static const char __pyx_k_HelperCUpointer_attribute_pyObj[] = "_HelperCUpointer_attribute.pyObj";
static const char __pyx_k_HelperCudaJitOption___reduce_cy[] = "_HelperCudaJitOption.__reduce_cython__";
static const char __pyx_k_HelperCudaLibraryOption___reduc[] = "_HelperCudaLibraryOption.__reduce_cython__";
static const char __pyx_k_HelperCudaLibraryOption___setst[] = "_HelperCudaLibraryOption.__setstate_cython__";
static const char __pyx_k_HelperInputVoidPtr___reduce_cyt[] = "_HelperInputVoidPtr.__reduce_cython__";
static const char __pyx_k_HelperInputVoidPtr___setstate_c[] = "_HelperInputVoidPtr.__setstate_cython__";
static const char __pyx_k_HelperKernelParams___reduce_cyt[] = "_HelperKernelParams.__reduce_cython__";
static const char __pyx_k_HelperKernelParams___setstate_c[] = "_HelperKernelParams.__setstate_cython__";
static const char __pyx_k_InputVoidPtrPtrHelper___setstat[] = "_InputVoidPtrPtrHelper.__setstate_cython__";
static const char __pyx_k_JJvvwD_Q_7x_IU_ffg_6hm9T_eef_MY[] = "\200\001\330!J\320Jv\320vw\360D\007\000\005#\240+\250Q\330\0047\260x\270}\310I\320U\\\320\\f\320fg\330\0046\260h\270m\3109\320T[\320[e\320ef\330\004@\300\014\310M\320Yf\320fm\320mw\320wx\330\t\n\330\010\026\320\026(\250\001\320)@\300\n\310+\320Ue\320eu\320uv\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_J_t3a_q_1F_s_1_s_81A_q_y_1_A_1K[] = "\200\001\360J\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\0304\260A\260Q\330\004\021\320\0218\270\n\300!\330\t\n\330\010\026\320\026(\250\001\250\034\260W\270J\300a\330\004\014\210N\230!\2301";
static const char __pyx_k_J_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1[] = "\200\001\360J\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220I\230Q\230a\330\004\r\320\r!\240\032\2501\330\t\n\330\010\026\220o\240Q\240h\250a\330\004\014\210N\230!\2301";
static const char __pyx_k_J_wc_1IQ_Qa_QgQa_1_xs_1_1Ja_3aq[] = "\200\001\360J\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026(\250\001\250\033\260J\270a\330\004\014\210N\230!\2301";
static const char __pyx_k_J_wc_1IQ_Qa_Qhaq_A_a_A_1Jl_PQQR[] = "\200\001\360J\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004\036\230a\330\004\034\230A\330\t\n\330\010\026\320\026+\2501\250J\260l\300!\300=\320PQ\320QR\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\035\250a";
static const char __pyx_k_J_xs_1_1Ja_3aq_3axq_Q_Kq_a_d_ZW[] = "\200\001\360J\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\034\230K\240q\330\t\n\330\010\026\320\026&\240a\320'>\270d\300+\310Z\320WX\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_J_xs_1_1Ja_3aq_3axq_Q_z_A_4Ja_1[] = "\200\001\360J\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\026\320\0264\260J\270a\330\t\023\2201\220L\240\001\330\010\025\220Y\230g\240Q\330\010\026\320\0264\260J\270a\330\t\023\2201\220L\240\001\330\010\026\320\0264\260J\270a\340\010\016\210i\220q\360\000\000\031C\002\360\000\000C\002E\002\360\000\000E\002H\002\360\000\000H\002I\002\360\000\000I\002M\002\360\000\000M\002N\002\360\000\000N\002O\002\330\t\n\330\010\026\320\026/\250q\260\007\260}\300A\330\004\014\210N\230!\2301";
static const char __pyx_k_KLt_uCq_1G1_1A_1Kq_Q_a_gQa_6j_4[] = "\200\001\330KL\360t\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\330\004\026\220a\330\004\036\230g\240Q\240a\330\0046\260j\300\001\330\t\n\330\010\026\320\0264\260A\260^\3008\3106\320Q_\320_`\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_L_vS_1HA_AQ_A_Ja_2_q_S_2_Cq_Q_J[] = "\200\001\330+,\360L\001\000\005!\240\001\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0042\260!\330\004\027\220q\330\004\007\200~\220S\230\001\330\010\033\320\0332\260&\270\001\270\037\310\001\330\010\013\320\013\034\230C\230q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\0040\260\001\330\004\021\220\021\330\004\007\200~\220S\230\001\330\010\025\320\0250\260\006\260a\260\177\300a\330\010\013\210;\220c\230\021\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\t\n\330\010\026\320\0266\260a\260y\320@R\320R^\320^_\320_`\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\033\2301\230K\240q\250\013\260:\320=M\310Q\310f\320TX\320X_\320_d\320de\320ef\330\004\007\320\007\030\230\007\230q\330\010\014\210A\210Q\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\025\220Q\220o\240Q\240e\250:\260Q\260j\300\001\300\026\300t\3107\320RW\320WX\320XY\330\004\007\200{\220'\230\021\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2506\260\021\330\004\014\210N\230!\2306\320!3\260<\270q";
static const char __pyx_k_L_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1[] = "\200\001\360L\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220I\230Q\230a\330\004\r\320\r!\240\032\2501\330\t\n\330\010\026\320\026'\240q\250\010\260\001\330\004\014\210N\230!\2301";
static const char __pyx_k_L_xs_1_1Ja_3aq_3axq_Q_wc_1IQ_Qa[] = "\200\001\360L\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\t\n\330\010\026\220n\240A\240Z\250q\330\004\014\210N\230!\2301";
static const char __pyx_k_L_y_1_A_1Kq_Cq_Cq_Ja_xs_1_1Ja_3[] = "\200\001\360L\002\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030(\250\001\250\021\330\004\021\320\021,\250J\260a\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\021\320\021$\240A\240Q\330\004 \240\007\240z\260\032\2701\340\004(\250\001\330\004\r\320\r%\240V\2501\250G\2606\270\021\270!\330\004\007\200w\210c\220\021\330\010\020\220\010\230\001\330\004\n\210,\220a\330\004\n\210,\220a\340\t\n\330\010\026\320\026*\250!\250;\3206Q\320Qj\320jr\320rz\320z{\330\004\007\200t\210;\220a\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_Library_options_to_be_specified[] = "\n    Library options to be specified with\n    :py:obj:`~.cuLibraryLoadData()` or\n    :py:obj:`~.cuLibraryLoadFromFile()`\n    ";
static const char __pyx_k_Memory_Synchronization_Domain_A[] = "\n    Memory Synchronization Domain  A kernel can be launched in a\n    specified memory synchronization domain that affects all memory\n    operations issued by that kernel. A memory barrier issued in one\n    domain will only order memory operations in that domain, thus\n    eliminating latency increase from memory barriers ordering\n    unrelated traffic.  By default, kernels are launched in domain 0.\n    Kernel launched with :py:obj:`~.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE`\n    will have a different domain ID. User may also alter the domain ID\n    with :py:obj:`~.CUlaunchMemSyncDomainMap` for a specific stream /\n    graph node / kernel launch. See\n    :py:obj:`~.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN`,\n    :py:obj:`~.cuStreamSetAttribute`, :py:obj:`~.cuLaunchKernelEx`,\n    :py:obj:`~.cuGraphKernelNodeSetAttribute`.  Memory operations done\n    in kernels launched in different domains are considered system-\n    scope distanced. In other words, a GPU scoped memory\n    synchronization is not sufficient for memory order to be observed\n    by kernels in another memory synchronization domain even if they\n    are on the same GPU.\n    ";
static const char __pyx_k_N_uCq_1G1_1A_1Kq_Q_C7_UV_t_a_av[] = "\200\001\360N\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\330\004\"\240.\260\001\330\t\n\330\010\026\320\026(\250\001\320)C\3007\310+\320UV\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_N_vS_1HA_AQ_AWAQ_99UUV_1_2ZZjju[] = "\200\001\360N\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\330\0049\3209U\320UV\330\t\n\330\010\026\320\0261\260\021\3202Z\320Zj\320ju\320uv\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_N_wc_1IQ_Qa_QgQa_1_wa_a_PZZ_t_a[] = "\200\001\360N\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004\037\230w\240a\330\t\n\330\010\026\320\026&\240a\320':\270+\300[\320PZ\320Z[\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_N_xs_1_1Ja_3aq_3axq_Q_z_A_4Ja_1[] = "\200\001\360N\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\026\320\0264\260J\270a\330\t\023\2201\220L\240\001\330\010\025\220Y\230g\240Q\330\010\026\320\0264\260J\270a\330\t\023\2201\220L\240\001\330\010\026\320\0264\260J\270a\340\010\016\210i\220q\360\000\000\031C\002\360\000\000C\002E\002\360\000\000E\002H\002\360\000\000H\002I\002\360\000\000I\002M\002\360\000\000M\002N\002\360\000\000N\002O\002\330\t\n\330\010\026\320\026-\250Q\250g\260]\300!\330\004\014\210N\230!\2301";
static const char __pyx_k_Online_compiler_and_linker_opti[] = "\n    Online compiler and linker options\n    ";
static const char __pyx_k_Operations_for_py_obj_cuStreamB[] = "\n    Operations for :py:obj:`~.cuStreamBatchMemOp`\n    ";
static const char __pyx_k_Optional_CUDA_BATCH_MEM_OP_NODE[] = "Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_EXT_SEM_WAIT_NODE[] = "Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_GRAPH_INSTANTIATE[] = "Optional[CUDA_GRAPH_INSTANTIATE_PARAMS]";
static const char __pyx_k_Optional_CUcheckpointUnlockArgs[] = "Optional[CUcheckpointUnlockArgs]";
static const char __pyx_k_Optional_CUmemPoolPtrExportData[] = "Optional[CUmemPoolPtrExportData]";
static const char __pyx_k_Optional_tuple_CUdeviceptr_list[] = "Optional[tuple[CUdeviceptr] | list[CUdeviceptr]]";
static const char __pyx_k_Optional_tuple_CUgraphNode_list[] = "Optional[tuple[CUgraphNode] | list[CUgraphNode]]";
static const char __pyx_k_P_xs_1_1Ja_3aq_3axq_Q_Zq_WA_Q_a[] = "\200\001\360P\002\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\035\230Z\240q\330\004\035\230W\240A\330\004:\270!\330\004\031\230\021\330\004:\270!\330\004\025\220Q\330\004&\240a\330\t\n\330\010\026\320\0260\260\001\260\033\270A\320=P\320Pf\320fl\320lw\360\000\000x\001K\002\360\000\000K\002T\002\360\000\000T\002_\002\360\000\000_\002`\002\360\000\000`\002t\002\360\000\000t\002u\002\360\000\000u\002E\003\360\000\000E\003F\003\360\000\000F\003G\003\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\035\230Q\230k\250\021\250+\260Z\320?Q\320QR\320RX\320X\\\320\\c\320ch\320hi\320ij\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\031\230\021\230/\250\021\250%\250z\270\021\270.\310\001\310\026\310t\320SZ\320Z_\320_`\320`a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2506\260\026\260v\270V\3001\330\004\014\210N\230!\2306\320!6\260a\3207K\3108\320S^\320^r\360\000\000s\001C\002\360\000\000C\002D\002";
static const char __pyx_k_Platform_native_ordering_for_GP[] = "\n    Platform native ordering for GPUDirect RDMA writes\n    ";
static const char __pyx_k_Possible_modes_for_stream_captu[] = "\n    Possible modes for stream capture thread interactions. For more\n    details see :py:obj:`~.cuStreamBeginCapture` and\n    :py:obj:`~.cuThreadExchangeStreamCaptureMode`\n    ";
static const char __pyx_k_Possible_stream_capture_statuse[] = "\n    Possible stream capture statuses returned by\n    :py:obj:`~.cuStreamIsCapturing`\n    ";
static const char __pyx_k_Q_a_1M_c_c_Zq_a_YYffqq_A_t_a_av[] = "\200\001\360\\\001\000\005\010\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230/\250\021\250!\330\004\023\320\023-\250Z\260q\330\004,\320,>\270a\330\t\n\330\010\026\320\026:\270!\320;Y\320Yf\320fq\320q\177\360\000\000@\002A\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_R_t3a_q_1F_s_1_s_81A_q_1_q0ET_T[] = "\200\001\360R\001\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\032\230)\2401\330\t\n\330\010\026\320\026/\250q\3200E\300T\310\033\320TU\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_R_wc_1IQ_Qa_Q_aq_A_99UUV_ccss_t[] = "\200\001\360R\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\026&\240a\240q\330\004\017\320\017*\250*\260A\330\0049\3209U\320UV\330\t\n\330\010\026\320\026:\270!\320;c\320cs\320s~\320~\177\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_R_y_1_A_1Kq_Cq_Cq_1_j_NfT__kkww[] = "\200\001\360R\001\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030*\250!\2501\330\004\021\320\021.\250j\270\001\330\004\032\230'\240\021\330\t\n\330\010\026\320\026:\270!\320;N\310f\320T_\320_k\320kw\320wx\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_STH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q[] = "\200\001\330ST\360H\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\004D\300J\310m\320[f\320fm\320mw\320wx\330\t\n\330\010\026\320\026E\300Q\300n\320T]\320]^\330\004\014\210N\230!\2301";
static const char __pyx_k_Shared_memory_carveout_configur[] = "\n    Shared memory carveout configurations. These may be passed to\n    :py:obj:`~.cuFuncSetAttribute` or :py:obj:`~.cuKernelSetAttribute`\n    ";
static const char __pyx_k_Specifies_compression_attribute[] = "\n    Specifies compression attribute for an allocation.\n    ";
static const char __pyx_k_Specifies_performance_hint_with[] = "\n    Specifies performance hint with :py:obj:`~.CUaccessPolicyWindow`\n    for hitProp and missProp members.\n    ";
static const char __pyx_k_Specifies_the_handle_type_for_a[] = "\n    Specifies the handle type for address range\n    ";
static const char __pyx_k_Specifies_the_memory_protection[] = "\n    Specifies the memory protection flags for mapping.\n    ";
static const char __pyx_k_T_0_K1_4D_U_Q_l_K6Q_bbnno_t_a_a[] = "\200\001\330$%\360T\002\000\0050\320/K\3101\330\0044\260D\270\r\300U\310'\320Q[\320[\\\330\t\n\330\010\026\220l\240!\320#K\3106\320Q\\\320\\b\320bn\320no\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_T_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K[] = "\200\001\360T\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\t\n\330\010\026\320\026*\250!\250:\260X\270Y\300a\330\004\014\210N\230!\2301";
static const char __pyx_k_Tensor_map_interleave_layout_ty[] = "\n    Tensor map interleave layout type\n    ";
static const char __pyx_k_Tensor_map_out_of_bounds_fill_t[] = "\n    Tensor map out-of-bounds fill type\n    ";
static const char __pyx_k_Tensor_map_swizzling_mode_of_sh[] = "\n    Tensor map swizzling mode of shared memory banks\n    ";
static const char __pyx_k_Texture_reference_addressing_mo[] = "\n    Texture reference addressing modes\n    ";
static const char __pyx_k_Texture_reference_filtering_mod[] = "\n    Texture reference filtering modes\n    ";
static const char __pyx_k_The_additional_write_options_fo[] = "\n    The additional write options for :py:obj:`~.cuGraphDebugDotPrint`\n    ";
static const char __pyx_k_The_scopes_for_py_obj_cuFlushGP[] = "\n    The scopes for :py:obj:`~.cuFlushGPUDirectRDMAWrites`\n    ";
static const char __pyx_k_The_targets_for_py_obj_cuFlushG[] = "\n    The targets for :py:obj:`~.cuFlushGPUDirectRDMAWrites`\n    ";
static const char __pyx_k_Type_annotations_that_can_be_ap[] = "\n    Type annotations that can be applied to graph edges as part of\n    :py:obj:`~.CUgraphEdgeData`.\n    ";
static const char __pyx_k_Types_of_async_notification_tha[] = "\n    Types of async notification that can be sent\n    ";
static const char __pyx_k_UVH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q[] = "\200\001\330UV\360H\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\004F\300j\320P]\320]h\320ho\320oy\320yz\330\t\n\330\010\026\320\026G\300q\310\016\320V_\320_`\330\004\014\210N\230!\2301";
static const char __pyx_k_V_wc_1IQ_Qa_QfAQ_vS_1HA_AQ_AV1A[] = "\200\001\360V\002\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220f\230A\230Q\330\004\017\320\017 \240\n\250!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220V\2301\230A\330\004\016\320\016\037\230z\250\021\330\004,\320,>\270a\330\t\n\330\010\026\320\0260\260\001\3201O\310}\320\\g\320gp\320pz\320z{\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_V_xs_1_1Ja_3aq_3axq_Q_q_q_7_E_B[] = "\200\001\360V\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004#\240<\250q\330\004\014\320\014\037\230q\240\001\330\004\033\2307\240*\250E\260\021\330\t\n\330\010\026\320\026)\250\021\320*B\300*\310K\320Wb\320bm\320m~\320~\177\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_VdpVideoSurface___reduce_cython[] = "VdpVideoSurface.__reduce_cython__";
static const char __pyx_k_W_X_R_R_L_L_M_xs_1_1Ja_3aq_3axq[] = "\200\001\330\036W\360\000\000X\001R\002\360\000\000R\002@\003\360\000\000@\003L\004\360\000\000L\004M\004\360\\\003\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\014\210F\220&\230\003\230:\240Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\013\2106\220\025\220c\230\032\2401\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\013\2106\220\025\220c\230\032\2401\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004(\250\001\330\004\007\200s\210!\2106\220\022\2201\330\010\021\320\021)\250\026\250q\260\003\2601\260G\2701\330\010\013\2107\220#\220Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T[\320[]\320]a\320ac\320cf\320fg\320gh\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\026\220a\220w\320\0365\260]\300$\300a\300u\310I\320UV\320VW\330\t\014\210A\210V\2203\220a\330\010\021\320\021)\250\035\260d\270!\2703\270a\330\004(\250\001\330\004\007\200s\210!\2106\220\022\2201\330\010\021\320\021)\250\026\250q\260\003\2601\260G\2701\330\010\013\2107\220#\220Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T[\320[]\320]a\320ac\320cf\320fg\320gh\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\026\220a\220w\320\0365\260]\300$\300a\300u\310I\320UV\320VW\330\t\014\210A\210V\2203\220a\330\010\021\320\021)\250\035\260d\270!\2703\270a\330\004\"\240!\330\004\007\200v\210R\210x\220s\230!\2307\240&\250\014\260A\3205K\3102\310S\320PQ\320QT\320TU\320U\\\320\\^\320^d\320df\320fi\320ij\320jk\330\004\007\200v\210R\210x\220s\230!\2307\240&\250\014\260A\3205K\3102\310S\320PQ\320QT\320TU\320U\\\320\\^\320^d\320df\320fi\320ij\320jk\330\004\007\200v\210R\210x\220s\230!\2308\2406\250\034\260Q\3206L\310B\310c\320QR\320RU\320UV\320V^\320^`\320`""f\320fh\320hk\320kl\320lm\330\0040\260\001\330\004\007\200s\210!\2107\220\"\220A\330\010\022\320\0221\260\026\260q\270\003\2701\270H\300A\330\010\013\2108\2203\220a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T\\\320\\^\320^b\320bd\320dg\320gh\320hi\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\2307\240!\2407\320*>\270e\3001\300E\310\033\320TU\330\t\014\210A\210W\220C\220q\330\010\023\320\023'\240u\250A\250S\260\001\330\004&\240a\330\004\007\200y\220\002\220(\230#\230Q\230h\240f\250L\270\001\3209O\310r\320QT\320TU\320UX\320XY\320Ya\320ac\320ci\320ik\320kn\320no\320op\330\004\007\200y\220\002\220(\230#\230Q\230l\250&\260\014\270A\320=S\320SU\320UX\320XY\320Y\\\320\\]\320]i\320ik\320kq\320qs\320sv\320vw\320wx\330\004\032\230!\330\t\n\330\010\026\320\026)\250\021\250(\260(\270'\300\025\300d\310'\320QZ\320Ze\320ej\320jn\320nx\320xy\360\000\000z\001C\002\360\000\000C\002D\002\330\004\007\200s\210!\2106\220\022\2202\220T\230\027\240\007\240q\330\010\014\210A\210Q\330\004\007\200s\210!\2106\220\022\2202\220T\230\027\240\007\240q\330\010\014\210A\210Q\330\004\007\200s\210!\2107\220\"\220B\220d\230(\240'\250\021\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_X_Cq_1O1_1A_1O1A_z_wc_1IQ_Qa_Qh[] = "\200\001\360X\001\000\005\010\200}\220C\220q\330\010\030\230\001\330\t\023\2201\220O\2401\330\010\030\230\003\2301\230A\340\010\030\230\003\2301\230O\2501\250A\330\004\025\320\025/\250z\270\021\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240!\330\004\021\320\021$\240A\240Q\330\004 \240\007\240z\260\032\2701\340\004'\240q\330\004\r\320\r$\240F\250!\2507\260&\270\001\270\021\330\004\007\200w\210c\220\021\330\010\020\220\010\320\0303\2601\330\004\n\210,\220a\330\004\n\210,\220a\340\004*\320*?\270q\330\t\n\330\010\026\320\0268\270\001\270\032\320C]\360\000\000^\001B\002\360\000\000B\002J\002\360\000\000J\002R\002\360\000\000R\002s\002\360\000\000s\002{\002\360\000\000{\002|\002\330\004\007\200t\210;\220a\330\010\014\210A\210Q\340\010\020\220\013\2301\230C\230q\240\r\250Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_X_t3a_q_1F_s_1_s_81A_q_wc_1IQ_Q[] = "\200\001\330+,\360X\003\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\004\022\220!\330\0042\260&\270\001\330\t\n\330\010\026\320\026+\2501\250A\250T\260\032\270:\300Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_X_vS_1HA_AQ_AWAQ_4A_GwkYZ_t_a_a[] = "\200\001\360X\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\330\004$\320$4\260A\330\t\n\330\010\026\320\026*\250!\320+G\300w\310k\320YZ\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_X_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K[] = "\200\001\360X\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220Z\230q\240\001\330\004\016\320\016#\240:\250Q\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\t\n\330\010\026\320\026*\250!\250:\260X\270Y\300a\330\004\014\210N\230!\2301";
static const char __pyx_k_ZZ_4_a_4D_U_Q_fA_4AQm_q_t_a_avQ[] = "\200\001\330)Z\320Z[\3604\000\005\037\230a\330\0044\260D\270\r\300U\310'\320Q[\320[\\\330\004>\270f\300A\330\t\n\330\010\026\320\0264\260A\260Q\260m\300<\310q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_add_native_handle_getters_local[] = "_add_native_handle_getters.<locals>.CUcontext_getter";
static const char __pyx_k_anon_struct10___setstate_cython[] = "anon_struct10.__setstate_cython__";
static const char __pyx_k_anon_struct11___setstate_cython[] = "anon_struct11.__setstate_cython__";
static const char __pyx_k_anon_struct12___setstate_cython[] = "anon_struct12.__setstate_cython__";
static const char __pyx_k_anon_struct13___setstate_cython[] = "anon_struct13.__setstate_cython__";
static const char __pyx_k_anon_struct14___setstate_cython[] = "anon_struct14.__setstate_cython__";
static const char __pyx_k_anon_struct15___setstate_cython[] = "anon_struct15.__setstate_cython__";
static const char __pyx_k_anon_struct16___setstate_cython[] = "anon_struct16.__setstate_cython__";
static const char __pyx_k_anon_struct17___setstate_cython[] = "anon_struct17.__setstate_cython__";
static const char __pyx_k_anon_struct18___setstate_cython[] = "anon_struct18.__setstate_cython__";
static const char __pyx_k_anon_struct19___setstate_cython[] = "anon_struct19.__setstate_cython__";
static const char __pyx_k_anon_struct20___setstate_cython[] = "anon_struct20.__setstate_cython__";
static const char __pyx_k_anon_struct21___setstate_cython[] = "anon_struct21.__setstate_cython__";
static const char __pyx_k_anon_struct22___setstate_cython[] = "anon_struct22.__setstate_cython__";
static const char __pyx_k_anon_struct23___setstate_cython[] = "anon_struct23.__setstate_cython__";
static const char __pyx_k_anon_struct24___setstate_cython[] = "anon_struct24.__setstate_cython__";
static const char __pyx_k_b_21MQ_6d_uGS_QQYYdde_t_a_avQ_N[] = "\200\001\330\035\036\360b\001\000\0052\3201M\310Q\330\0046\260d\270-\300u\310G\320S]\320]^\330\t\n\330\010\026\320\026(\250\001\320)Q\320QY\320Yd\320de\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_bbc_s_Zq_iq_F_Q_iq_wc_1IQ_Qa_Qg[] = "\200\001\330+b\320bc\360<\000\005\n\210\026\210s\220#\220Z\230q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\014\210F\220&\230\003\230:\240Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004)\250\021\330\004\007\200s\210!\2107\220\"\220A\330\010\022\320\022*\250&\260\001\260\023\260A\260X\270Q\330\010\013\2108\2203\220a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T\\\320\\^\320^b\320bd\320dg\320gh\320hi\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\027\220q\230\007\320\0376\260m\3005\310\001\310\025\310i\320WX\320XY\330\t\014\210A\210W\220C\220q\330\010\022\320\022*\250-\260u\270A\270S\300\001\330\004&\240a\330\004\007\200s\210!\2104\210r\220\021\330\010\017\320\017'\240v\250Q\250c\260\021\260%\260q\330\010\013\2105\220\003\2201\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320TY\320Y[\320[_\320_a\320ad\320de\320ef\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\024\220A\220W\320\0343\260=\300\002\300!\3005\310\t\320QR\320RS\330\t\014\210A\210T\220\023\220A\330\010\017\320\017'\240}\260B\260a\260s\270!\330\t\n\330\010\026\320\026-\250Q\250j\270\t\300\026\300q\330\004\007\200s\210!\2107\220\"\220B\220d\230(\240'\250\021\330\010\014\210A\210Q\330\004\007\200s\210!\2104\210r\220\022\2204\220u\230G\2401\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_cuEGLStreamConsumerAcquireFrame[] = "cuEGLStreamConsumerAcquireFrame";
static const char __pyx_k_cuEGLStreamConsumerReleaseFrame[] = "cuEGLStreamConsumerReleaseFrame";
static const char __pyx_k_cuEGLStreamProducerPresentFrame[] = "cuEGLStreamProducerPresentFrame";
static const char __pyx_k_cuExternalMemoryGetMappedBuffer[] = "cuExternalMemoryGetMappedBuffer";
static const char __pyx_k_cuGraphAddBatchMemOpNode_locals[] = "cuGraphAddBatchMemOpNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddChildGraphNode_locals[] = "cuGraphAddChildGraphNode.<locals>.genexpr";
static const char __pyx_k_cuGraphKernelNodeCopyAttributes[] = "cuGraphKernelNodeCopyAttributes";
static const char __pyx_k_cuGraphNodeGetDependentNodes_v2[] = "cuGraphNodeGetDependentNodes_v2";
static const char __pyx_k_cuSignalExternalSemaphoresAsync[] = "cuSignalExternalSemaphoresAsync.<locals>.genexpr";
static const char __pyx_k_d_t3a_q_1F_s_1_s_81A_q_Qa_MQ_5Q[] = "\200\001\360d\002\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\032\320\032-\250Q\250a\330\004)\250\027\260\n\320:M\310Q\330\t\n\330\010\026\320\0265\260Q\3206O\310w\320VW\330\004\014\210N\230!\2301";
static const char __pyx_k_d_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq[] = "\200\001\360d\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\035\230Q\330\t\n\330\010\026\320\026)\250\021\250!\250<\260{\300(\310!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_dict_CUDA_POINTER_ATTRIBUTE_ACC[] = "_dict_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS";
static const char __pyx_k_dict_CUGPUDirectRDMAWritesOrder[] = "_dict_CUGPUDirectRDMAWritesOrdering";
static const char __pyx_k_dict_CUarraySparseSubresourceTy[] = "_dict_CUarraySparseSubresourceType";
static const char __pyx_k_dict_CUdevSmResourceSplit_flags[] = "_dict_CUdevSmResourceSplit_flags";
static const char __pyx_k_dict_CUdriverProcAddressQueryRe[] = "_dict_CUdriverProcAddressQueryResult";
static const char __pyx_k_dict_CUeglResourceLocationFlags[] = "_dict_CUeglResourceLocationFlags";
static const char __pyx_k_dict_CUexternalMemoryHandleType[] = "_dict_CUexternalMemoryHandleType";
static const char __pyx_k_dict_CUexternalSemaphoreHandleT[] = "_dict_CUexternalSemaphoreHandleType";
static const char __pyx_k_dict_CUflushGPUDirectRDMAWrites[] = "_dict_CUflushGPUDirectRDMAWritesOptions";
static const char __pyx_k_dict_CUgraphChildGraphNodeOwner[] = "_dict_CUgraphChildGraphNodeOwnership";
static const char __pyx_k_dict_CUgraphConditionalNodeType[] = "_dict_CUgraphConditionalNodeType";
static const char __pyx_k_dict_CUgraphicsMapResourceFlags[] = "_dict_CUgraphicsMapResourceFlags";
static const char __pyx_k_dict_CUmemAllocationGranularity[] = "_dict_CUmemAllocationGranularity_flags";
static const char __pyx_k_dict_CUmulticastGranularity_fla[] = "_dict_CUmulticastGranularity_flags";
static const char __pyx_k_dict_CUstreamMemoryBarrier_flag[] = "_dict_CUstreamMemoryBarrier_flags";
static const char __pyx_k_dict_CUstreamUpdateCaptureDepen[] = "_dict_CUstreamUpdateCaptureDependencies_flags";
static const char __pyx_k_eefD_s_Zq_iq_F_Q_iq_wc_1IQ_Qa_Q[] = "\200\001\330.e\320ef\360D\001\000\005\n\210\026\210s\220#\220Z\230q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\014\210F\220&\230\003\230:\240Q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004)\250\021\330\004\007\200s\210!\2107\220\"\220A\330\010\022\320\022*\250&\260\001\260\023\260A\260X\270Q\330\010\013\2108\2203\220a\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320T\\\320\\^\320^b\320bd\320dg\320gh\320hi\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\027\220q\230\007\320\0376\260m\3005\310\001\310\025\310i\320WX\320XY\330\t\014\210A\210W\220C\220q\330\010\022\320\022*\250-\260u\270A\270S\300\001\330\004&\240a\330\004\007\200s\210!\2104\210r\220\021\330\010\017\320\017'\240v\250Q\250c\260\021\260%\260q\330\010\013\2105\220\003\2201\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320TY\320Y[\320[_\320_a\320ad\320de\320ef\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\024\220A\220W\320\0343\260=\300\002\300!\3005\310\t\320QR\320RS\330\t\014\210A\210T\220\023\220A\330\010\017\320\017'\240}\260B\260a\260s\270!\330\t\n\330\010\026\320\0260\260\001\260\032\2709\300F\310!\330\004\007\200s\210!\2107\220\"\220B\220d\230(\240'\250\021\330\010\014\210A\210Q\330\004\007\200s\210!\2104\210r\220\022\2204\220u\230G\2401\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_gpuDirectRDMACapable_ValueError[] = "gpuDirectRDMACapable : <ValueError>";
static const char __pyx_k_internal_padding_length_must_be[] = "_internal_padding length must be 92, is ";
static const char __pyx_k_l_m_p_p_q_V_6_c_1_fHCz_iq_vS_1H[] = "\200\001\330-l\360\000\000m\001p\002\360\000\000p\002q\002\360V\001\000\005\024\2206\230\035\240c\250\032\2601\330\004\016\210f\220H\230C\230z\250\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004.\250h\260a\330\004\007\200{\220\"\220C\220q\230\n\240&\250\014\260A\3205K\3102\310S\320PQ\320QT\320TU\320U_\320_a\320ag\320gi\320il\320lm\320mn\330\004\007\200{\220\"\220C\220q\230\017\240v\250\\\270\021\320:P\320PR\320RU\320UV\320VY\320YZ\320Zi\320ik\320kq\320qs\320sv\320vw\320wx\330\0043\2601\260I\270W\300D\310\r\320UV\320VW\330\004\r\210Q\320\016!\240\021\240+\320-=\270T\300\033\320L^\320^a\320ab\320bk\320kl\330\004=\320=S\320ST\320TU\330\004%\240X\250Z\3207Q\320QR\330\t\n\330\010\026\220n\240A\240Y\250l\270&\300\014\310I\320UZ\320Z^\320^_\330\004\014\210N\230!\2301";
static const char __pyx_k_n_v_c_1_iq_1_s_Rq_F_3aGZZ_c_Q_J[] = "\200\001\330<=\360n\004\000\005\030\220v\320\035.\250c\260\032\2701\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004;\2701\330\004\007\200s\210!\320\013\035\230R\230q\330\010\035\320\035<\270F\300!\3003\300a\320GZ\320Z[\330\010\013\320\013\036\230c\240\021\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tg\320gi\320im\320mo\320or\320rs\320st\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\320\033-\250Q\250g\3205I\320IY\320YZ\320Z_\320_j\320jk\330\t\014\210A\320\r\037\230s\240!\330\010\036\320\0362\3202B\300!\3003\300a\330\004\007\200{\220\"\220C\220q\320\030+\2506\260\034\270Q\320>T\320TV\320VY\320YZ\320Z]\320]^\320^q\320qs\320sy\320y{\320{~\320~\177\360\000\000@\002A\002\330\t\n\330\010\026\320\026;\2701\320<P\320P\\\320\\]\330\004\007\200s\210!\320\013\035\230R\230r\240\024\320%8\270\007\270q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_p_q_P_P_Q_B_4Cz_V_Zq_iq_v_c_1_Z[] = "\200\001\330)p\360\000\000q\001@\003\360\000\000@\003P\004\360\000\000P\004Q\004\360B\002\000\005\033\230&\320 4\260C\260z\300\021\330\004\025\220V\230?\250#\250Z\260q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\027\220v\320\035.\250c\260\032\2701\330\004\021\220\026\220{\240#\240Z\250q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\035\230Y\240a\330\004\r\320\r \240\001\240\021\330\004\034\230G\240:\250V\2601\330\0046\260a\260|\3007\310$\320N^\320^_\320_`\330\004\r\210Q\320\016!\240\021\240+\320-=\270T\300\033\320L^\320^a\320ab\320bn\320no\330\004A\320AW\320WX\320XY\330\004)\250\030\260\032\320;Y\320YZ\330\004\007\200~\220R\220s\230!\230=\250\006\250l\270!\320;Q\320QS\320SV\320VW\320WZ\320Z[\320[h\320hj\320jp\320pr\320ru\320uv\320vw\330\004\007\200~\220R\220s\230!\320\033.\250f\260L\300\001\320AW\320WY\320Y\\\320\\]\320]`\320`a\320at\320tv\320v|\320|~\360\000\000\177\001B\002\360\000\000B\002C\002\360\000\000C\002D\002\330\004=\270Q\320>N\310g\320UY\320Ym\320mn\320no\330\004\r\210Q\320\016$\240A\240[\3200@\300\004\300K\320Oa\320ad\320de\320eu\320uv\330\004D\320DZ\320Z[\320[\\\330\004,\250H\260J\320>_\320_`\330\004\007\320\007\031\230\022\2303\230a\320\0370\260\006\260l\300!\320CY\320Y[\320[^\320^_\320_b\320bc\320ct\320tv\320v|\320|~\360\000\000\177\001B\002\360\000\000B\002C\002\360\000\000C\002D\002\330\004\007\320\007\031\230\022\2303\230a\320\0375\260V\270<\300q\320H^\320^`\320`c\320cd\320dg\320gh\320h~\360\000\000\177\001A\002\360\000\000A\002G\002\360\000\000G\002I\002\360\000\000I\002L\002\360\000\000L\002M\002\360\000\000M\002N\002\330\t\n\330\010\026\320\026(\250\001\320)>\270g\300[\320P\\\320\\h\320hm\320mq\360\000\000r\001J\002\360\000\000J\002Y\002\360\000\000Y\002i\002\360\000\000i\002n\002\360\000\000n\002r\002\360\000\000r\002M\003\360\000\000M\003N\003\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_p_q_P_P_Q_V_Zq_iq_6_c_1_iq_wc_1[] = "\200\001\330-p\360\000\000q\001P\003\360\000\000P\003Q\003\360^\001\000\005\026\220V\230?\250#\250Z\260q\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\004\023\2206\230\035\240c\250\032\2601\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004#\240;\250a\330\0040\260\001\330\004\007\200s\210!\210>\230\022\2301\330\010\031\320\0311\260\026\260q\270\003\2701\270O\3101\330\010\013\210?\230#\230Q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tc\320ce\320ei\320ik\320kn\320no\320op\340\014\020\220\007\220u\230A\230S\240\001\240\021\330\020\036\230a\230w\320&=\270]\310,\320VW\320W\\\320\\e\320ef\320fg\330\t\014\210A\210^\2303\230a\330\010\031\320\0311\260\035\270l\310!\3103\310a\330\0046\260a\330\004\007\200s\210!\320\013\033\2302\230Q\330\010\033\320\0337\260v\270Q\270c\300\021\320BS\320ST\330\010\013\320\013\034\230C\230q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Te\320eg\320gk\320km\320mp\320pq\320qr\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\320\033+\2501\250G\3203D\300N\320RS\320SX\320Xc\320cd\330\t\014\210A\320\r\035\230S\240\001\330\010\034\320\034-\250^\2701\270C\270q\330\004\007\320\007\027\220r\230\030\240\023\240A\240_\260F\270,\300a\320G]\320]_\320_b\320bc\320cf\320fg\320gv\320vx\320x~\360\000\000\177\001A\002\360\000\000A\002D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\004\007\320\007\027\220r\230\030\240\023\240A\320%6\260f\270L\310\001\320I_\320_a\320ad\320de\320eh\320hi\320iz\320z|\360\000\000}\001C\002\360\000\000C\002E\002\360\000\000E\002H\002\360\000\000H\002I\002\360\000\000I\002J\002\330\0048\270\n\300-\310{\320Za\320ak\320kl\330\t\n\330\010\026\320\026(\250\001\320)@\300\013\310;\320V`\320`p\360\000\000q\001C\002\360\000\000C\002T\002\360\000\000T\002U\002\330\004\007\200s""\210!\210>\230\022\2302\230T\240\037\260\007\260q\330\010\014\210A\210Q\330\004\007\200s\210!\320\013\033\2302\230R\230t\320#4\260G\2701\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_r_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq[] = "\200\001\330)*\360r\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\0046\260d\270-\300u\310G\320S]\320]^\330\t\n\330\010\026\320\026+\2501\250K\260|\3008\3101\330\004\014\210N\230!\2301";
static const char __pyx_k_requestedHandleTypes_ValueError[] = "requestedHandleTypes : <ValueError>";
static const char __pyx_k_s_1_1_a_3aq_3a_q_3_Q_wa_q0C_kYl[] = "\200\001\360:\000\005\010\320\007\027\220s\230!\330\010\033\2301\330\t\023\2201\320\024&\240a\330\010\033\2303\230a\230q\340\010\033\2303\230a\320\037/\250q\260\001\330\004\030\320\0303\260:\270Q\330\004\037\230w\240a\330\t\n\330\010\026\320\026/\250q\3200C\300;\310k\320Yl\320lm\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_s_1_1_a_3aq_3a_q_3_Q_xs_1_1Ja_3[] = "\200\001\360>\000\005\010\320\007\027\220s\230!\330\010\033\2301\330\t\023\2201\320\024&\240a\330\010\033\2303\230a\230q\340\010\033\2303\230a\320\037/\250q\260\001\330\004\030\320\0303\260:\270Q\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\0260\260\001\260\033\320<O\310q\330\004\014\210N\230!\2301";
static const char __pyx_k_s_Q_a_1E_c_c_1_j_xs_1_1Ja_3aq_3[] = "\200\001\360|\001\000\005\010\200s\210#\210Q\330\010\016\210a\330\t\023\2201\220E\230\021\330\010\016\210c\220\021\220!\340\010\016\210c\220\021\220(\230!\2301\330\004\013\320\013\036\230j\250\001\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\021\320\021$\240A\240Q\330\004 \240\007\240z\260\032\2701\340\004&\240a\330\004\r\320\r#\2406\250\021\250'\260\026\260q\270\001\330\004\007\200w\210c\220\021\330\010\020\220\010\230\001\330\004\n\210,\220a\330\004\n\210,\220a\340\t\n\330\010\026\320\026'\240q\250\013\3203F\320F]\320]e\320ef\330\004\007\200t\210;\220a\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_t3a_q_1F_s_1_s_81A_q_Q_WA_9_O_Z[] = "\200\001\330:;\360:\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004%\240Q\330\004-\250W\260A\330\t\n\330\010\026\320\0269\270\021\270!\320;O\310{\320Zg\320gh\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t3a_q_1F_s_1_s_81A_q_b_XQ_t_a_a[] = "\200\001\360>\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\004\021\220\025\220b\230\001\330\004\032\230!\330\t\n\330\010\026\320\026*\250!\250:\260X\270Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t3a_q_1F_s_1_s_81A_z_a_q_t_a_av[] = "\200\001\360&\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230z\250\021\330\004\036\230a\330\t\n\330\010\026\320\026/\250q\260\001\260\027\270\001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t3a_q_1F_s_1_s_9AQ_a_aq_q_t_a_a[] = "\200\001\360&\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2209\230A\230Q\330\004\014\320\014 \240\n\250!\330\004\036\230a\330\t\n\330\010\026\320\026.\250a\250q\260\007\260q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t3a_q_1F_s_1_s_aq_A_A_2_yPWWaab[] = "\200\001\330\036\037\360,\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\004$\240A\330\0042\260(\270-\300y\320PW\320Wa\320ab\330\t\n\330\010\026\220o\240Q\240a\240w\320.>\270a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t_y_1_A_1Kq_Cq_Cq_1_j_XQ_Q_B_Ua[] = "\200\001\360t\001\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\n\240!\2401\330\004\021\320\021&\240j\260\001\330\004\035\230X\240Q\330\t\n\330\010\026\320\026-\250Q\320.B\300(\310+\320Ua\320ah\320hi\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_t_z_A_Q_1L_S_S_5Qa_9_1_y_1_A_1K[] = "\200\001\360t\001\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\320\0315\260Q\260a\330\004\022\320\0229\270\032\3001\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\0304\260A\260Q\330\004\021\320\0218\270\n\300!\330\t\n\330\010\026\320\026)\250\021\250,\260j\300\r\310[\320X^\320^_\330\004\014\210N\230!\2301";
static const char __pyx_k_uCq_1G1_1A_1G1A_z_wc_1IQ_Qa_QgQ[] = "\200\001\360`\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220G\2301\230A\330\004\r\320\r\037\230z\250\021\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004\037\230q\330\t\n\330\010\026\320\026)\250\021\250!\250?\270*\300A\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_uCq_1G1_1A_1HAQ_HA_WKxWX_t_a_av[] = "\200\001\360@\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220H\230A\230Q\330\004\r\320\r \240\n\250!\330\004\034\230H\240A\330\t\n\330\010\026\320\026(\250\001\320)=\270W\300K\310x\320WX\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_uCq_1G1_1A_1HAQ_Kq_1_KqPZZbbc_t[] = "\200\001\360>\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220H\230A\230Q\330\004\r\320\r \240\n\250!\330\004\034\230K\240q\330\004\033\2301\330\t\n\330\010\026\320\026(\250\001\320)@\300\004\300K\310q\320PZ\320Zb\320bc\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\026\240q";
static const char __pyx_k_uCq_1G1_1A_1HAQ_iq_x_RZZ_t_a_av[] = "\200\001\360<\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220H\230A\230Q\330\004\r\320\r \240\n\250!\330\004\036\230i\240q\330\t\n\330\010\026\320\026)\250\021\320*?\270x\300{\320RZ\320Z[\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_uCq_1G1_1A_1Jaq_A_iq_hkQR_t_a_a[] = "\200\001\360@\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\036\230i\240q\330\t\n\330\010\026\320\026(\250\001\320)>\270h\300k\320QR\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_uCq_1G1_1A_1L_Ja_t3a_q_1F_s_1_s[] = "\200\001\360<\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220L\240\001\240\021\330\004\r\320\r$\240J\250a\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\330\t\n\330\010\026\320\026)\250\021\250'\260\021\330\004\014\210N\230!\2301";
static const char __pyx_k_uCq_2_A_1G1_G1_2_A_1G1_2_A_iq_A[] = "\200\001\360*\000\005\010\200u\210C\210q\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\020\220\004\220G\2301\330\010\021\320\0212\260*\270A\330\t\023\2201\220G\2301\330\010\021\320\0212\260*\270A\340\010\016\210i\220q\360\000\000\031A\002\360\000\000A\002C\002\360\000\000C\002F\002\360\000\000F\002G\002\360\000\000G\002K\002\360\000\000K\002L\002\360\000\000L\002M\002\330\t\n\330\010\026\320\0264\260A\260Q\330\004\014\210N\230!\2301";
static const char __pyx_k_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_3[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\t\n\330\010\026\320\0263\2601\260I\270Q\330\004\014\210N\230!\2301";
static const char __pyx_k_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_5[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\t\n\330\010\026\320\0265\260Q\260i\270q\330\004\014\210N\230!\2301";
static const char __pyx_k_vS_1HA_AQ_A_Ja_1_2_9_SS_t_a_avQ[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004 \240\013\2501\330\t\n\330\010\026\320\0262\260!\2609\320<S\320S[\320[\\\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_2_q_S_2_Cq_Q_J_C[] = "\200\001\330()\360>\000\005!\240\001\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\0042\260!\330\004\027\220q\330\004\007\200~\220S\230\001\330\010\033\320\0332\260&\270\001\270\037\310\001\330\010\013\320\013\034\230C\230q\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\t\n\330\010\026\320\0263\2601\260I\320=O\310q\320PQ\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\033\2301\230K\240q\250\013\260:\320=M\310Q\310f\320TX\320X_\320_d\320de\320ef\330\004\007\320\007\030\230\007\230q\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\320!3\2601";
static const char __pyx_k_vS_1HA_AQ_A_Ja_A_q_9ZZdde_t_a_a[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004,\320,A\300\021\330\t\n\330\010\026\320\026/\250q\260\t\3209Z\320Zd\320de\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_EQ_1_hhi_t_a_avQ[] = "\200\001\360@\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004.\320.E\300Q\330\t\n\330\010\026\320\0261\260\021\260)\320;^\320^h\320hi\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_M_1_TT___t_a_avQ[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004$\240M\260\021\330\t\n\330\010\026\320\0261\260\021\260)\320;T\320T^\320^_\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_Q_oQixq_1_t_a_av[] = "\200\001\360:\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004\035\230Q\330\004\032\230!\330\t\n\330\010\026\220o\240Q\240i\250x\260q\270\n\300!\3001\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\032\2501";
static const char __pyx_k_vS_1HA_AQ_A_Ja_WA_31I_PPYYZ_t_a[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004\035\230W\240A\330\t\n\330\010\026\320\0263\2601\260I\320=P\320PY\320YZ\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_WA_5Qi_RR_t_a_av[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004\035\230W\240A\330\t\n\330\010\026\320\0265\260Q\260i\320?R\320R[\320[\\\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_v_t3a_q_1F_s_1_s_81A_q_wc_1IQ_Q[] = "\200\001\330+,\360v\002\000\005\010\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\2208\2301\230A\330\004\014\320\014\037\230q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220h\230a\230q\330\004\017\320\017\"\240*\250A\330\0042\260&\270\001\330\t\n\330\010\026\320\026+\2501\250J\260e\270:\300Q\330\004\014\210N\230!\2301";
static const char __pyx_k_v_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq[] = "\200\001\360v\002\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220K\230q\240\001\330\004\r\320\r#\240:\250Q\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026-\250Q\250k\270\030\300\030\310\021\330\004\014\210N\230!\2301";
static const char __pyx_k_v_wc_1IQ_Qa_QgQa_1_Q_a_1M_c_c_Q[] = "\200\001\360v\004\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\0042\3202M\310Q\330\t\n\330\010\026\320\026(\250\001\250\036\260z\320Ah\320hr\320rs\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_wc_1IQ_Qa_Q_2_1_6j_7q_Q_aallm_t[] = "\200\001\360,\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\0262\260!\2601\330\004\017\320\0176\260j\300\001\330\004$\320$7\260q\330\t\n\330\010\026\320\026=\270Q\320>]\320]a\320al\320lm\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_wc_1IQ_Qa_QfAQ_vS_1HA_AQ_AV1A_z[] = "\200\001\360<\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220f\230A\230Q\330\004\017\320\017 \240\n\250!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220V\2301\230A\330\004\016\320\016\037\230z\250\021\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220l\240!\2401\330\004\017\320\017&\240j\260\001\330\004&\320&;\2701\330\t\n\330\010\026\320\0261\260\021\3202S\320SW\320Wb\320bl\320lu\320uv\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_44K1_Q_QQaallm[] = "\200\001\360<\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\0044\3204K\3101\330\t\n\330\010\026\320\026-\250Q\320.Q\320Qa\320al\320lm\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_Q_S_V1O1_s_Q_J[] = "\200\001\330 !\360<\000\005!\240\001\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004-\250Q\330\004\022\220!\330\004\007\200~\220S\230\001\330\010\026\320\026-\250V\2601\260O\3001\330\010\013\210<\220s\230!\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320P_\320_a\320ae\320eg\320gj\320jk\320kl\330\t\n\330\010\026\320\026*\250!\250:\260]\300!\3001\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\026\220a\220{\240!\240;\250j\270\013\3001\300F\310$\310g\320UZ\320Z[\320[\\\330\004\007\200|\2207\230!\330\010\014\210A\210Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\035\250a";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_xs_1_1Ja_3aq_3[] = "\200\001\360>\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\t\n\330\010\026\320\026'\240q\250\013\260:\270Q\330\004\014\210N\230!\2301";
static const char __pyx_k_wc_1IQ_Qa_QgQa_1_y_1_A_1Kq_Cq_C[] = "\200\001\360@\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\t\240\021\240!\330\004\021\320\021%\240Z\250q\330\t\n\330\010\026\320\026(\250\001\250\034\260Z\270q\330\004\014\210N\230!\2301";
static const char __pyx_k_wc_1IQ_Qa_Ql_1_j_1_kkuuv_t_a_av[] = "\200\001\360<\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220l\240!\2401\330\004\017\320\017&\240j\260\001\330\004&\320&;\2701\330\t\n\330\010\026\320\026:\270!\320;\\\320\\`\320`k\320ku\320uv\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_wc_1IQ_Qa_Ql_1_j_vS_1HA_AQ_AWAQ[] = "\200\001\360:\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220l\240!\2401\330\004\017\320\017&\240j\260\001\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\330\t\n\330\010\026\320\026/\250q\260\t\270\032\3001\330\004\014\210N\230!\2301";
static const char __pyx_k_x_Q_a_1_1_c_c_AQ_uCq_1G1_1A_1Ja[] = "\200\001\360x\001\000\005\010\320\007\"\240#\240Q\330\010&\240a\330\t\023\2201\320\0241\260\021\330\010&\240c\250\021\250!\340\010&\240c\250\021\320*<\270A\270Q\330\004#\320#@\300\n\310!\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\033\2301\330\004\031\230\021\330\t\n\330\010\026\320\026@\300\001\300\021\300-\310q\320P[\320[c\360\000\000d\001B\002\360\000\000B\002S\002\360\000\000S\002c\002\360\000\000c\002d\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\035\250a";
static const char __pyx_k_x_xs_1_1Ja_3aq_3axq_Q_1_4I_Xnnw[] = "\200\001\360x\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\032\230)\2401\330\004 \240\n\250!\330\t\n\330\010\026\320\026(\250\001\250\033\3204I\310\024\310[\320Xn\320nw\320wx\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\026\240q";
static const char __pyx_k_x_xs_1_1Ja_3aq_3axq_Q_Zq_WA_a_Q[] = "\200\001\360x\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\035\230Z\240q\330\004\035\230W\240A\330\004:\270!\330\004\031\230\021\330\004&\240a\330\t\n\330\010\026\320\026-\250Q\250k\270\021\320:M\320Mc\320ci\320it\360\000\000u\001H\002\360\000\000H\002Q\002\360\000\000Q\002\\\002\360\000\000\\\002]\002\360\000\000]\002q\002\360\000\000q\002r\002\360\000\000r\002s\002\330\004\007\200x\210q\220\005\220S\230\010\240\001\240\021\330\010\035\230Q\230k\250\021\250+\260Z\320?Q\320QR\320RX\320X\\\320\\c\320ch\320hi\320ij\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2506\260\026\260v\270Q\330\004\014\210N\230!\2306\320!6\260a\3207K\3108\320S^\320^r\320rs";
static const char __pyx_k_x_xs_1_1Ja_3aq_3axq_Q_uM_wjXY_a[] = "\200\001\330\034\035\360x\003\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004/\250u\260M\300\026\300w\310j\320XY\330\t\n\330\010\026\320\026&\240a\240}\260A\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_81_4H_a_t_a[] = "\200\001\360.\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\033\2308\2401\330\t\n\330\010\026\320\026(\250\001\250\033\3204H\310\006\310a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_A_1N_t_a_av[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\034\230A\330\t\n\330\010\026\320\026(\250\001\250\021\250)\2601\260N\300!\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\036\250q\260\n\270!";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_Cz_iq_2_s_3[] = "\200\001\330%&\360`\004\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004\022\220&\230\014\240C\240z\260\021\330\004\007\320\007\031\230\021\330\010\016\210i\220q\230\001\330\0042\260!\330\004\007\200s\210!\210=\230\002\230!\330\010\030\320\0303\2606\270\021\270#\270Q\270n\310A\330\010\013\210>\230\023\230A\330\014\022\220+\230Q\320\036J\310\"\310C\310q\320PS\320ST\320Tb\320bd\320dh\320hj\320jm\320mn\320no\330\010\014\210G\2205\230\001\230\023\230A\230Q\330\022\031\230\021\230!\230=\250\001\250\027\3200@\300\013\3101\310E\320Q\\\320\\]\330\t\014\210A\210]\230#\230Q\330\010\031\320\031)\250\033\260A\260S\270\001\330\004\007\200v\210R\210s\220!\220>\240\026\240|\2601\3204J\310\"\310C\310q\320PS\320ST\320Tb\320bd\320dj\320jl\320lo\320op\320pq\330\t\n\330\010\026\320\026)\250\021\250/\270\027\300\001\330\004\007\200s\210!\210=\230\002\230\"\230D\240\016\250g\260Q\330\010\014\210A\210Q\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_QauKq_t_a_a[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\t\n\330\010\026\320\026-\250Q\250a\250u\260K\270q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\036\250q\260\001";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_a_a_2_14J_K[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004&\240a\330\004&\240a\330\t\n\330\010\026\320\0262\260!\2601\3204J\310!\320Ka\320ab\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\320!7\260q";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_uM_wjXY_a_A[] = "\200\001\330\034\035\360@\004\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\330\004/\250u\260M\300\026\300w\310j\320XY\330\t\n\330\010\026\320\026&\240a\240}\260A\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_wc_1IQ_Qa_Q[] = "\200\001\360`\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\t\n\330\010\026\320\026-\250Q\250j\270\013\3001\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_y_1_A_1Kq_C[] = "\200\001\360@\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\007\230q\240\001\330\004\021\320\021#\240:\250Q\330\004\020\320\020#\2401\240A\330\004\037\230w\240j\260\t\270\021\330\t\n\330\010\026\320\026(\250\001\250\034\260[\300\017\310{\320Z[\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3ay_Ja_2_81F_Q_t_a[] = "\200\001\360<\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220y\240\001\240\021\330\004\020\320\020$\240J\250a\330\004\031\230\021\330\t\n\330\010\026\320\0262\260!\2608\2701\270F\300+\310Q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_q_xs_q_xs_q_xs_q_xs_q_xs_q_x[] = "\200\001\360\034\000\005\010\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q""\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x""\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010""\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004""\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!""\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\007\200x\210s\220!\330\010\017\210q\330\004\n\210)\2201\320\024%\240R\240s\250!\2501";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_9_QQXXccddk[] = "\200\001\360:\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030*\250!\2501\330\004\021\320\021.\250j\270\001\330\004\037\230{\250!\330\004\030\230\001\330\t\n\330\010\026\320\0269\270\021\320:Q\320QX\320Xc\320cd\320dk\320kl\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\031\250!";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_A_A_llwwx_t[] = "\200\001\360<\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030*\250!\2501\330\004\021\320\021.\250j\270\001\330\004,\320,<\270A\330\t\n\330\010\026\320\026@\300\001\320A]\320]l\320lw\320wx\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_oQawa_t_a_a[] = "\200\001\360.\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\n\240!\2401\330\004\021\320\021&\240j\260\001\340\t\n\330\010\026\220o\240Q\240a\240w\250a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\320!7\260q\270\001";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_z_QQYYddppw[] = "\200\001\360@\001\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030*\250!\2501\330\004\021\320\021.\250j\270\001\330\004\037\230z\250\021\330\t\n\330\010\026\320\026:\270!\320;Q\320QY\320Yd\320dp\320pw\320wx\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_AQ_0_q_t_a_AX_6[] = "\200\001\360\036\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\320\030,\250A\250Q\330\004\021\320\0210\260\n\270!\330\t\n\330\010\026\320\026/\250q\260\001\330\004\007\200t\210;\220a\330\010\014\210A\210X\220[\240\001\240\021\330\010\020\220\013\2306\240\021\240*\250A\330\004\014\210N\230!\2301";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_q_Q_1A_wj_m1L_N[] = "\200\001\360<\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\007\230q\240\001\330\004\021\320\021#\240:\250Q\330\004\020\320\020#\2401\240A\330\004\037\230w\240j\260\t\270\021\330\t\n\330\010\026\220m\2401\240L\260\013\270?\310!\330\004\014\210N\230!\2301";
static const char __pyx_k_y_1_A_1Kq_Cq_Cq_q_Q_1A_wj_m1O_N[] = "\200\001\360<\000\005\010\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\007\230q\240\001\330\004\021\320\021#\240:\250Q\330\004\020\320\020#\2401\240A\330\004\037\230w\240j\260\t\270\021\330\t\n\330\010\026\220m\2401\240O\260<\270{\310!\330\004\014\210N\230!\2301";
static const char __pyx_k_z_A_Q_1L_S_S_AQ_y_1_A_1Kq_Cq_Cq[] = "\200\001\360<\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\007\230q\240\001\330\004\021\320\021#\240:\250Q\330\t\n\330\010\026\220m\2401\240L\260\013\270=\310\001\330\004\014\210N\230!\2301";
static const char __pyx_k_z_A_Q_1L_S_S_Q_z_A_Q_1L_S_S_Q_Q[] = "\200\001\330./\360^\001\000\005\010\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\030\240\021\240!\330\004\022\320\022%\240Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\030\240\021\240!\330\004\022\320\022%\240Q\330\004\025\220Q\330\0043\2606\270\021\330\t\n\330\010\026\320\026.\250a\250q\260\007\260z\300\035\310a\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_z_Q_a_1_1_c_c_AQ_uCq_1G1_1A_1Ja[] = "\200\001\360z\001\000\005\010\320\007\"\240#\240Q\330\010&\240a\330\t\023\2201\320\0241\260\021\330\010&\240c\250\021\250!\340\010&\240c\250\021\320*<\270A\270Q\330\004#\320#@\300\n\310!\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\004\033\2301\330\004\031\230\021\330\t\n\330\010\026\320\0267\260q\270\001\270\035\300a\300{\320RZ\320Zx\360\000\000y\001J\002\360\000\000J\002K\002\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240V\2501\330\004\014\210N\230!\2306\240\035\250a";
static const char __pyx_k_z_wc_1IQ_Qa_Q_2_1_6j_t3a_q_1F_s[] = "\200\001\360z\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\320\0262\260!\2601\330\004\017\320\0176\260j\300\001\340\004\007\200t\2103\210a\330\010\017\210q\330\t\023\2201\220F\230!\330\010\017\210s\220!\2201\340\010\017\210s\220!\220;\230a\230q\330\004\014\320\014\"\240*\250A\330\t\n\330\010\026\220i\230q\240\007\240v\250X\260Z\270q\330\004\014\210N\230!\2301";
static const char __pyx_k_A_4w_Q_4q_q_1D_auD_uAS_PQQR_1_WA[] = "\200A\330\010\013\2104\210w\320\026=\270Q\330=>\330=>\330\014\023\2204\220q\330\r\021\220\027\320\030?\270q\330\014\023\2201\220D\230\016\240a\240u\250D\260\007\260u\270A\270S\300\001\300\024\300[\320PQ\320QR\340\014\022\220)\2301\320\034=\270W\300A\300T\310\021";
static const char __pyx_k_A_C1_4q_C1_4q_C1_T_C1_4q_C1_4q_1[] = "\200A\330\010\t\340\r\021\220\027\320\030C\3001\330\014\023\2204\220q\330\r\021\220\027\320\030C\3001\330\014\023\2204\220q\330\r\021\220\027\320\030C\3001\330\014\023\220:\230T\240\021\330\r\021\220\027\320\030C\3001\330\014\023\2204\220q\330\r\021\220\027\320\030C\3001\330\014\023\2204\220q\340\014\022\220)\2301\320\0347\260w\270a\270t\3001";
static const char __pyx_k_A_t_s_4w_1_4q_Q_4q_Q_4q_Q_T_Q_4q[] = "\200A\330\010\017\210t\220<\230s\240!\330\010\013\2104\210w\320\026;\2701\330\014\023\2204\220q\330\r\021\220\027\320\030=\270Q\330=>\330=>\330=>\330=>\330\014\023\2204\220q\330\r\021\220\027\320\030=\270Q\330=>\330\014\023\2204\220q\330\r\021\220\027\320\030=\270Q\330\014\023\220:\230T\240\021\330\r\021\220\027\320\030=\270Q\330\014\023\2204\220q\330\r\021\220\027\320\030=\270Q\330=>\330=>\330=>\330\014\023\2204\220q\330\r\021\220\027\320\030=\270Q\330\014\023\2204\220q\330\r\021\220\027\320\030=\270Q\330\014\023\2204\220q\330\r\021\220\027\320\030=\270Q\330\014\023\2204\220q\340\014\022\220)\2301\320\034=\270W\300A\300T\310\021";
static const char __pyx_k_Argument_attributes_is_not_insta[] = "Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]";
static const char __pyx_k_Argument_attrsIdxs_is_not_instan[] = "Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]";
static const char __pyx_k_Argument_attrs_is_not_instance_o[] = "Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]";
static const char __pyx_k_Argument_conn_is_not_instance_of[] = "Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found ";
static const char __pyx_k_Argument_dataSizes_is_not_instan[] = "Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]";
static const char __pyx_k_Argument_dependencies_is_not_ins[] = "Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]";
static const char __pyx_k_Argument_dependencyData_is_not_i[] = "Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]";
static const char __pyx_k_Argument_desc_is_not_instance_of[] = "Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]";
static const char __pyx_k_Argument_dsts_is_not_instance_of[] = "Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]";
static const char __pyx_k_Argument_edgeData_is_not_instanc[] = "Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]";
static const char __pyx_k_Argument_elementStrides_is_not_i[] = "Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]";
static const char __pyx_k_Argument_extSemArray_is_not_inst[] = "Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]";
static const char __pyx_k_Argument_from__is_not_instance_o[] = "Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]";
static const char __pyx_k_Argument_globalDim_is_not_instan[] = "Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]";
static const char __pyx_k_Argument_globalStrides_is_not_in[] = "Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]";
static const char __pyx_k_Argument_jitOptions_is_not_insta[] = "Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]";
static const char __pyx_k_Argument_kernelParams_has_tuples[] = "Argument 'kernelParams' has tuples with different length";
static const char __pyx_k_Argument_kernelParams_is_not_a_v[] = "Argument 'kernelParams' is not a valid type: tuple[tuple[Any, ...], tuple[Any, ...]] or PyObject implimenting Buffer Protocol or Int";
static const char __pyx_k_Argument_launchParamsList_is_not[] = "Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]";
static const char __pyx_k_Argument_libraryOptions_is_not_i[] = "Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]";
static const char __pyx_k_Argument_mapInfoList_is_not_inst[] = "Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]";
static const char __pyx_k_Argument_options_is_not_instance[] = "Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]";
static const char __pyx_k_Argument_pCudaResource_is_not_in[] = "Argument 'pCudaResource' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found ";
static const char __pyx_k_Argument_pStream_is_not_instance[] = "Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found ";
static const char __pyx_k_Argument_paramArray_is_not_insta[] = "Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]";
static const char __pyx_k_Argument_paramsArray_is_not_inst[] = "Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]";
static const char __pyx_k_Argument_resources_is_not_instan[] = "Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found ";
static const char __pyx_k_Argument_sizes_is_not_instance_o[] = "Argument 'sizes' is not instance of type (expected tuple[int] or list[int]";
static const char __pyx_k_Argument_srcs_is_not_instance_of[] = "Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]";
static const char __pyx_k_Argument_to_is_not_instance_of_t[] = "Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]";
static const char __pyx_k_Argument_vdpGetProcAddress_is_no[] = "Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found ";
static const char __pyx_k_CIG_DATA_TYPE_D3D12_COMMAND_QUEU[] = "CIG_DATA_TYPE_D3D12_COMMAND_QUEUE";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___red[] = "CUDA_ARRAY3D_DESCRIPTOR_st.__reduce_cython__";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___set[] = "CUDA_ARRAY3D_DESCRIPTOR_st.__setstate_cython__";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st_getPt[] = "CUDA_ARRAY3D_DESCRIPTOR_st.getPtr";
static const char __pyx_k_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE[] = "CUDA_ARRAY3D_VIDEO_ENCODE_DECODE";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_st___reduc[] = "CUDA_ARRAY_DESCRIPTOR_st.__reduce_cython__";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_st___setst[] = "CUDA_ARRAY_DESCRIPTOR_st.__setstate_cython__";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_st";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_v[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_v1";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___r[] = "CUDA_CONDITIONAL_NODE_PARAMS.__reduce_cython__";
static const char __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___s[] = "CUDA_CONDITIONAL_NODE_PARAMS.__setstate_cython__";
static const char __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS_get[] = "CUDA_CONDITIONAL_NODE_PARAMS.getPtr";
static const char __pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE[] = "CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC";
static const char __pyx_k_CUDA_ERROR_CONTEXT_ALREADY_CURRE[] = "CUDA_ERROR_CONTEXT_ALREADY_CURRENT";
static const char __pyx_k_CUDA_ERROR_CONTEXT_ALREADY_IN_US[] = "CUDA_ERROR_CONTEXT_ALREADY_IN_USE";
static const char __pyx_k_CUDA_ERROR_COOPERATIVE_LAUNCH_TO[] = "CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE";
static const char __pyx_k_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI[] = "CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE";
static const char __pyx_k_CUDA_ERROR_HOST_MEMORY_ALREADY_R[] = "CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED";
static const char __pyx_k_CUDA_ERROR_HOST_MEMORY_NOT_REGIS[] = "CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED";
static const char __pyx_k_CUDA_ERROR_INVALID_ADDRESS_SPACE[] = "CUDA_ERROR_INVALID_ADDRESS_SPACE";
static const char __pyx_k_CUDA_ERROR_INVALID_GRAPHICS_CONT[] = "CUDA_ERROR_INVALID_GRAPHICS_CONTEXT";
static const char __pyx_k_CUDA_ERROR_INVALID_RESOURCE_CONF[] = "CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION";
static const char __pyx_k_CUDA_ERROR_INVALID_RESOURCE_TYPE[] = "CUDA_ERROR_INVALID_RESOURCE_TYPE";
static const char __pyx_k_CUDA_ERROR_JIT_COMPILATION_DISAB[] = "CUDA_ERROR_JIT_COMPILATION_DISABLED";
static const char __pyx_k_CUDA_ERROR_JIT_COMPILER_NOT_FOUN[] = "CUDA_ERROR_JIT_COMPILER_NOT_FOUND";
static const char __pyx_k_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T[] = "CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING";
static const char __pyx_k_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC[] = "CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES";
static const char __pyx_k_CUDA_ERROR_MPS_CLIENT_TERMINATED[] = "CUDA_ERROR_MPS_CLIENT_TERMINATED";
static const char __pyx_k_CUDA_ERROR_MPS_CONNECTION_FAILED[] = "CUDA_ERROR_MPS_CONNECTION_FAILED";
static const char __pyx_k_CUDA_ERROR_MPS_MAX_CLIENTS_REACH[] = "CUDA_ERROR_MPS_MAX_CLIENTS_REACHED";
static const char __pyx_k_CUDA_ERROR_MPS_MAX_CONNECTIONS_R[] = "CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED";
static const char __pyx_k_CUDA_ERROR_NOT_MAPPED_AS_POINTER[] = "CUDA_ERROR_NOT_MAPPED_AS_POINTER";
static const char __pyx_k_CUDA_ERROR_PEER_ACCESS_ALREADY_E[] = "CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED";
static const char __pyx_k_CUDA_ERROR_PEER_ACCESS_NOT_ENABL[] = "CUDA_ERROR_PEER_ACCESS_NOT_ENABLED";
static const char __pyx_k_CUDA_ERROR_PEER_ACCESS_UNSUPPORT[] = "CUDA_ERROR_PEER_ACCESS_UNSUPPORTED";
static const char __pyx_k_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV[] = "CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE";
static const char __pyx_k_CUDA_ERROR_PROFILER_ALREADY_STAR[] = "CUDA_ERROR_PROFILER_ALREADY_STARTED";
static const char __pyx_k_CUDA_ERROR_PROFILER_ALREADY_STOP[] = "CUDA_ERROR_PROFILER_ALREADY_STOPPED";
static const char __pyx_k_CUDA_ERROR_PROFILER_NOT_INITIALI[] = "CUDA_ERROR_PROFILER_NOT_INITIALIZED";
static const char __pyx_k_CUDA_ERROR_SHARED_OBJECT_INIT_FA[] = "CUDA_ERROR_SHARED_OBJECT_INIT_FAILED";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_IMPLIC[] = "CUDA_ERROR_STREAM_CAPTURE_IMPLICIT";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_INVALI[] = "CUDA_ERROR_STREAM_CAPTURE_INVALIDATED";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_ISOLAT[] = "CUDA_ERROR_STREAM_CAPTURE_ISOLATION";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNJOIN[] = "CUDA_ERROR_STREAM_CAPTURE_UNJOINED";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNMATC[] = "CUDA_ERROR_STREAM_CAPTURE_UNMATCHED";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNSUPP[] = "CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED";
static const char __pyx_k_CUDA_ERROR_SYSTEM_DRIVER_MISMATC[] = "CUDA_ERROR_SYSTEM_DRIVER_MISMATCH";
static const char __pyx_k_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S[] = "CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC";
static const char __pyx_k_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI[] = "CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY";
static const char __pyx_k_CUDA_ERROR_UNSUPPORTED_PTX_VERSI[] = "CUDA_ERROR_UNSUPPORTED_PTX_VERSION";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st[] = "CUDA_EVENT_RECORD_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_2[] = "CUDA_EVENT_WAIT_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_3[] = "CUDA_EVENT_WAIT_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_g[] = "CUDA_EVENT_WAIT_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_CONDITION[] = "CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO[] = "CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI[] = "CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO[] = "CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_INVALID_S[] = "CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_NODE_OPER[] = "CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st[] = "CUDA_GRAPH_INSTANTIATE_PARAMS_st";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_st___reduc[] = "CUDA_HOST_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_st___setst[] = "CUDA_HOST_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___re[] = "CUDA_HOST_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___se[] = "CUDA_HOST_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st_getP[] = "CUDA_HOST_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_st___red[] = "CUDA_KERNEL_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_st___set[] = "CUDA_KERNEL_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_st_getPt[] = "CUDA_KERNEL_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_ge[] = "CUDA_KERNEL_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_ge[] = "CUDA_KERNEL_NODE_PARAMS_v3_st.getPtr";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_st___reduce_c[] = "CUDA_LAUNCH_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_st___setstate[] = "CUDA_LAUNCH_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY2D_st___reduce_cython[] = "CUDA_MEMCPY2D_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY2D_st___setstate_cyth[] = "CUDA_MEMCPY2D_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_BATCH_OP_st___redu[] = "CUDA_MEMCPY3D_BATCH_OP_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_BATCH_OP_st___sets[] = "CUDA_MEMCPY3D_BATCH_OP_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_BATCH_OP_st_getPtr[] = "CUDA_MEMCPY3D_BATCH_OP_st.getPtr";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_st___reduce_c[] = "CUDA_MEMCPY3D_PEER_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_st___setstate[] = "CUDA_MEMCPY3D_PEER_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_st___reduce_cython[] = "CUDA_MEMCPY3D_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_st___setstate_cyth[] = "CUDA_MEMCPY3D_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___red[] = "CUDA_MEMCPY_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___set[] = "CUDA_MEMCPY_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st_getPt[] = "CUDA_MEMCPY_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_st___red[] = "CUDA_MEMSET_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_st___set[] = "CUDA_MEMSET_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_st_getPt[] = "CUDA_MEMSET_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_ge[] = "CUDA_MEMSET_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___r[] = "CUDA_MEM_FREE_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___s[] = "CUDA_MEM_FREE_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st_get[] = "CUDA_MEM_FREE_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_ACCESS_FL[] = "CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS";
static const char __pyx_k_CUDA_RESOURCE_DESC_st___reduce_c[] = "CUDA_RESOURCE_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_RESOURCE_DESC_st___setstate[] = "CUDA_RESOURCE_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_st___red[] = "CUDA_RESOURCE_VIEW_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_st___set[] = "CUDA_RESOURCE_VIEW_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_st_getPt[] = "CUDA_RESOURCE_VIEW_DESC_st.getPtr";
static const char __pyx_k_CUDA_TEXTURE_DESC_st___reduce_cy[] = "CUDA_TEXTURE_DESC_st.__reduce_cython__";
static const char __pyx_k_CU_AD_FORMAT_YUV444_16bit_SemiPl[] = "CU_AD_FORMAT_YUV444_16bit_SemiPlanar";
static const char __pyx_k_CU_AD_FORMAT_YUV444_8bit_SemiPla[] = "CU_AD_FORMAT_YUV444_8bit_SemiPlanar";
static const char __pyx_k_CU_ARRAY_SPARSE_PROPERTIES_SINGL[] = "CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL";
static const char __pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE[] = "CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL";
static const char __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_DEF[] = "CU_CLUSTER_SCHEDULING_POLICY_DEFAULT";
static const char __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_LOA[] = "CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING";
static const char __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_SPR[] = "CU_CLUSTER_SCHEDULING_POLICY_SPREAD";
static const char __pyx_k_CU_COMPUTEMODE_EXCLUSIVE_PROCESS[] = "CU_COMPUTEMODE_EXCLUSIVE_PROCESS";
static const char __pyx_k_CU_COMPUTE_ACCELERATED_TARGET_BA[] = "CU_COMPUTE_ACCELERATED_TARGET_BASE";
static const char __pyx_k_CU_COREDUMP_SKIP_CONSTBANK_MEMOR[] = "CU_COREDUMP_SKIP_CONSTBANK_MEMORY";
static const char __pyx_k_CU_COREDUMP_SKIP_NONRELOCATED_EL[] = "CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE[] = "CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE[] = "CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST[] = "CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA[] = "CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN[] = "CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA[] = "CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE[] = "CU_DEVICE_ATTRIBUTE_COMPUTE_MODE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE[] = "CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_K[] = "CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_M[] = "CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_D3D12_CIG_SU[] = "CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP[] = "CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG[] = "CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP[] = "CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GENERIC_COMP[] = "CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA[] = "CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR[] = "CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R[] = "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVI[] = "CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBS[] = "CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID[] = "CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ME[] = "CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_MU[] = "CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_VI[] = "CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_REGISTE[] = "CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU[] = "CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ[] = "CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC[] = "CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO[] = "CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P[] = "CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P[] = "CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI[] = "CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM[] = "CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI[] = "CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER[] = "CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M[] = "CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK[] = "CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS[] = "CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP[] = "CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE[] = "CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM[] = "CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MULTICAST_SU[] = "CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MULTIPROCESS[] = "CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO[] = "CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM[] = "CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I[] = "CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I[] = "CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO[] = "CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_REGISTERS_PE[] = "CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_RESERVED_SHA[] = "CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR[] = "CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO[] = "CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR[] = "CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG[] = "CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A[] = "CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG[] = "CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC[] = "CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM[] = "CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA[] = "CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR[] = "CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC[] = "CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR[] = "CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO[] = "CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_VULKAN_CIG_S[] = "CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A[] = "CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S[] = "CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR[] = "CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A[] = "CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA[] = "CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK";
static const char __pyx_k_CU_DEV_SM_RESOURCE_SPLIT_MAX_POT[] = "CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER10_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_CCCC[] = "CU_EGL_COLOR_FORMAT_BAYER10_CCCC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER10_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER10_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER10_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BCCR[] = "CU_EGL_COLOR_FORMAT_BAYER12_BCCR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER12_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CBRC[] = "CU_EGL_COLOR_FORMAT_BAYER12_CBRC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CCCC[] = "CU_EGL_COLOR_FORMAT_BAYER12_CCCC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CRBC[] = "CU_EGL_COLOR_FORMAT_BAYER12_CRBC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER12_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER12_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RCCB[] = "CU_EGL_COLOR_FORMAT_BAYER12_RCCB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER12_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER14_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER14_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER14_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER14_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER20_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER20_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER20_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER20_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG[] = "CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB[] = "CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR[] = "CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG[] = "CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA[] = "CU_EGL_COLOR_FORMAT_YUV420_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP[] = "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA[] = "CU_EGL_COLOR_FORMAT_YUV422_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP[] = "CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA[] = "CU_EGL_COLOR_FORMAT_YUV444_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP[] = "CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA[] = "CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP[] = "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA[] = "CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP[] = "CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA[] = "CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP[] = "CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD";
static const char __pyx_k_CU_FUNCTION_LOADING_STATE_LOADED[] = "CU_FUNCTION_LOADING_STATE_LOADED";
static const char __pyx_k_CU_FUNCTION_LOADING_STATE_UNLOAD[] = "CU_FUNCTION_LOADING_STATE_UNLOADED";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_BINARY_VERSION[] = "CU_FUNC_ATTRIBUTE_BINARY_VERSION";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU[] = "CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M[] = "CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT[] = "CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT[] = "CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH[] = "CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE[] = "CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C[] = "CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR[] = "CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST[] = "CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY[] = "CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES";
static const char __pyx_k_CU_GET_PROC_ADDRESS_LEGACY_STREA[] = "CU_GET_PROC_ADDRESS_LEGACY_STREAM";
static const char __pyx_k_CU_GET_PROC_ADDRESS_PER_THREAD_D[] = "CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM";
static const char __pyx_k_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F[] = "CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND";
static const char __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_READ_ON[] = "CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY";
static const char __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D[] = "CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD";
static const char __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI[] = "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE";
static const char __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N[] = "CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE";
static const char __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R[] = "CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY";
static const char __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W[] = "CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_SURFA[] = "CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_TEXTU[] = "CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_WRITE[] = "CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD";
static const char __pyx_k_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_C[] = "CU_GRAPH_CHILD_GRAPH_OWNERSHIP_CLONE";
static const char __pyx_k_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_M[] = "CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M[] = "CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI[] = "CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N[] = "CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T[] = "CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM[] = "CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES[] = "CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO[] = "CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL[] = "CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE[] = "CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME[] = "CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE[] = "CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE";
static const char __pyx_k_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT[] = "CU_GRAPH_DEPENDENCY_TYPE_DEFAULT";
static const char __pyx_k_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM[] = "CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI[] = "CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT[] = "CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S[] = "CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM[] = "CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL[] = "CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP[] = "CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE";
static const char __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL[] = "CU_GRAPH_KERNEL_NODE_PORT_DEFAULT";
static const char __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH[] = "CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER";
static const char __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_PROGRA[] = "CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC";
static const char __pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C[] = "CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT";
static const char __pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H[] = "CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH";
static const char __pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE[] = "CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG[] = "CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI[] = "CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT";
static const char __pyx_k_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE[] = "CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS";
static const char __pyx_k_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT[] = "CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES";
static const char __pyx_k_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE[] = "CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES";
static const char __pyx_k_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA[] = "CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES";
static const char __pyx_k_CU_JIT_OVERRIDE_DIRECTIVE_VALUES[] = "CU_JIT_OVERRIDE_DIRECTIVE_VALUES";
static const char __pyx_k_CU_JIT_POSITION_INDEPENDENT_CODE[] = "CU_JIT_POSITION_INDEPENDENT_CODE";
static const char __pyx_k_CU_JIT_REFERENCED_VARIABLE_COUNT[] = "CU_JIT_REFERENCED_VARIABLE_COUNT";
static const char __pyx_k_CU_JIT_REFERENCED_VARIABLE_NAMES[] = "CU_JIT_REFERENCED_VARIABLE_NAMES";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER[] = "CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_COOPERA[] = "CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN[] = "CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PREFERR[] = "CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT[] = "CU_KERNEL_NODE_ATTRIBUTE_PRIORITY";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC[] = "CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME[] = "CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE[] = "CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT[] = "CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL[] = "CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM[] = "CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL[] = "CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH[] = "CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC[] = "CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT[] = "CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY";
static const char __pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL[] = "CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT";
static const char __pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE[] = "CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE";
static const char __pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER_A[] = "CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT";
static const char __pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I[] = "CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT";
static const char __pyx_k_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI[] = "CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE";
static const char __pyx_k_CU_LIMIT_CIG_SHMEM_FALLBACK_ENAB[] = "CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED";
static const char __pyx_k_CU_LIMIT_DEV_RUNTIME_PENDING_LAU[] = "CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT";
static const char __pyx_k_CU_LIMIT_MAX_L2_FETCH_GRANULARIT[] = "CU_LIMIT_MAX_L2_FETCH_GRANULARITY";
static const char __pyx_k_CU_LIMIT_PERSISTING_L2_CACHE_SIZ[] = "CU_LIMIT_PERSISTING_L2_CACHE_SIZE";
static const char __pyx_k_CU_MEMCPY_FLAG_PREFER_OVERLAP_WI[] = "CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE";
static const char __pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_DURIN[] = "CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL";
static const char __pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_INVAL[] = "CU_MEMCPY_SRC_ACCESS_ORDER_INVALID";
static const char __pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_STREA[] = "CU_MEMCPY_SRC_ACCESS_ORDER_STREAM";
static const char __pyx_k_CU_MEMPOOL_ATTR_RELEASE_THRESHOL[] = "CU_MEMPOOL_ATTR_RELEASE_THRESHOLD";
static const char __pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR[] = "CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT";
static const char __pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG[] = "CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH";
static const char __pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE[] = "CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES";
static const char __pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO[] = "CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC";
static const char __pyx_k_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE[] = "CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES";
static const char __pyx_k_CU_MEMPOOL_ATTR_USED_MEM_CURRENT[] = "CU_MEMPOOL_ATTR_USED_MEM_CURRENT";
static const char __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READWRI[] = "CU_MEM_ACCESS_FLAGS_PROT_READWRITE";
static const char __pyx_k_CU_MEM_ADVISE_SET_PREFERRED_LOCA[] = "CU_MEM_ADVISE_SET_PREFERRED_LOCATION";
static const char __pyx_k_CU_MEM_ADVISE_UNSET_PREFERRED_LO[] = "CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION";
static const char __pyx_k_CU_MEM_ALLOC_GRANULARITY_MINIMUM[] = "CU_MEM_ALLOC_GRANULARITY_MINIMUM";
static const char __pyx_k_CU_MEM_ALLOC_GRANULARITY_RECOMME[] = "CU_MEM_ALLOC_GRANULARITY_RECOMMENDED";
static const char __pyx_k_CU_MEM_CREATE_USAGE_HW_DECOMPRES[] = "CU_MEM_CREATE_USAGE_HW_DECOMPRESS";
static const char __pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_DEFL[] = "CU_MEM_DECOMPRESS_ALGORITHM_DEFLATE";
static const char __pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_SNAP[] = "CU_MEM_DECOMPRESS_ALGORITHM_SNAPPY";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE[] = "CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA_C[] = "CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT";
static const char __pyx_k_CU_MEM_POOL_CREATE_USAGE_HW_DECO[] = "CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF[] = "CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED[] = "CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_READ_MOST[] = "CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY";
static const char __pyx_k_CU_MEM_RANGE_FLAG_DMA_BUF_MAPPIN[] = "CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE";
static const char __pyx_k_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF[] = "CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD";
static const char __pyx_k_CU_MULTICAST_GRANULARITY_MINIMUM[] = "CU_MULTICAST_GRANULARITY_MINIMUM";
static const char __pyx_k_CU_MULTICAST_GRANULARITY_RECOMME[] = "CU_MULTICAST_GRANULARITY_RECOMMENDED";
static const char __pyx_k_CU_OCCUPANCY_DISABLE_CACHING_OVE[] = "CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG[] = "CU_POINTER_ATTRIBUTE_ACCESS_FLAGS";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ALLOWED_HAN[] = "CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_ORDI[] = "CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_POIN[] = "CU_POINTER_ATTRIBUTE_DEVICE_POINTER";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_HOST_POINTE[] = "CU_POINTER_ATTRIBUTE_HOST_POINTER";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE[] = "CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_IS_HW_DECOM[] = "CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_IS_LEGACY_C[] = "CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_BAS[] = "CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_SIZ[] = "CU_POINTER_ATTRIBUTE_MAPPING_SIZE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_BLOC[] = "CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_TYPE[] = "CU_POINTER_ATTRIBUTE_MEMORY_TYPE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN[] = "CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_RANGE_START[] = "CU_POINTER_ATTRIBUTE_RANGE_START_ADDR";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS[] = "CU_POINTER_ATTRIBUTE_SYNC_MEMOPS";
static const char __pyx_k_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY[] = "CU_RESOURCE_TYPE_MIPMAPPED_ARRAY";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC6H";
static const char __pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_SHARED[] = "CU_SHAREDMEM_CARVEOUT_MAX_SHARED";
static const char __pyx_k_CU_SHARED_MEM_CONFIG_DEFAULT_BAN[] = "CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE";
static const char __pyx_k_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B[] = "CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE";
static const char __pyx_k_CU_STREAM_ADD_CAPTURE_DEPENDENCI[] = "CU_STREAM_ADD_CAPTURE_DEPENDENCIES";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_ACCESS_POLIC[] = "CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM[] = "CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT[] = "CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY";
static const char __pyx_k_CU_STREAM_CAPTURE_MODE_THREAD_LO[] = "CU_STREAM_CAPTURE_MODE_THREAD_LOCAL";
static const char __pyx_k_CU_STREAM_CAPTURE_STATUS_INVALID[] = "CU_STREAM_CAPTURE_STATUS_INVALIDATED";
static const char __pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_GP[] = "CU_STREAM_MEMORY_BARRIER_TYPE_GPU";
static const char __pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_SY[] = "CU_STREAM_MEMORY_BARRIER_TYPE_SYS";
static const char __pyx_k_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR[] = "CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES";
static const char __pyx_k_CU_STREAM_SET_CAPTURE_DEPENDENCI[] = "CU_STREAM_SET_CAPTURE_DEPENDENCIES";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI[] = "CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U6_ALI[] = "CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16[] = "CU_TENSOR_MAP_DATA_TYPE_BFLOAT16";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32[] = "CU_TENSOR_MAP_DATA_TYPE_TFLOAT32";
static const char __pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN[] = "CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA";
static const char __pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON[] = "CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE";
static const char __pyx_k_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W[] = "CU_TENSOR_MAP_IM2COL_WIDE_MODE_W";
static const char __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_12[] = "CU_TENSOR_MAP_L2_PROMOTION_L2_128B";
static const char __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_25[] = "CU_TENSOR_MAP_L2_PROMOTION_L2_256B";
static const char __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_64[] = "CU_TENSOR_MAP_L2_PROMOTION_L2_64B";
static const char __pyx_k_CU_TRSF_DISABLE_TRILINEAR_OPTIMI[] = "CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION";
static const char __pyx_k_CU_USER_OBJECT_NO_DESTRUCTOR_SYN[] = "CU_USER_OBJECT_NO_DESTRUCTOR_SYNC";
static const char __pyx_k_CUaccessPolicyWindow_st___reduce[] = "CUaccessPolicyWindow_st.__reduce_cython__";
static const char __pyx_k_CUaccessPolicyWindow_st___setsta[] = "CUaccessPolicyWindow_st.__setstate_cython__";
static const char __pyx_k_CUarrayMapInfo_st___reduce_cytho[] = "CUarrayMapInfo_st.__reduce_cython__";
static const char __pyx_k_CUarrayMapInfo_st___setstate_cyt[] = "CUarrayMapInfo_st.__setstate_cython__";
static const char __pyx_k_CUasyncCallbackHandle___reduce_c[] = "CUasyncCallbackHandle.__reduce_cython__";
static const char __pyx_k_CUasyncCallbackHandle___setstate[] = "CUasyncCallbackHandle.__setstate_cython__";
static const char __pyx_k_CUasyncCallback___setstate_cytho[] = "CUasyncCallback.__setstate_cython__";
static const char __pyx_k_CUasyncNotificationInfo_st___red[] = "CUasyncNotificationInfo_st.__reduce_cython__";
static const char __pyx_k_CUasyncNotificationInfo_st___set[] = "CUasyncNotificationInfo_st.__setstate_cython__";
static const char __pyx_k_CUasyncNotificationInfo_st_getPt[] = "CUasyncNotificationInfo_st.getPtr";
static const char __pyx_k_CUcheckpointCheckpointArgs_st_ge[] = "CUcheckpointCheckpointArgs_st.getPtr";
static const char __pyx_k_CUcheckpointLockArgs_st___reduce[] = "CUcheckpointLockArgs_st.__reduce_cython__";
static const char __pyx_k_CUcheckpointLockArgs_st___setsta[] = "CUcheckpointLockArgs_st.__setstate_cython__";
static const char __pyx_k_CUcheckpointRestoreArgs_st___red[] = "CUcheckpointRestoreArgs_st.__reduce_cython__";
static const char __pyx_k_CUcheckpointRestoreArgs_st___set[] = "CUcheckpointRestoreArgs_st.__setstate_cython__";
static const char __pyx_k_CUcheckpointRestoreArgs_st_getPt[] = "CUcheckpointRestoreArgs_st.getPtr";
static const char __pyx_k_CUcheckpointUnlockArgs_st___redu[] = "CUcheckpointUnlockArgs_st.__reduce_cython__";
static const char __pyx_k_CUcheckpointUnlockArgs_st___sets[] = "CUcheckpointUnlockArgs_st.__setstate_cython__";
static const char __pyx_k_CUcheckpointUnlockArgs_st_getPtr[] = "CUcheckpointUnlockArgs_st.getPtr";
static const char __pyx_k_CUctxCigParam_st___reduce_cython[] = "CUctxCigParam_st.__reduce_cython__";
static const char __pyx_k_CUctxCigParam_st___setstate_cyth[] = "CUctxCigParam_st.__setstate_cython__";
static const char __pyx_k_CUctxCreateParams_st___reduce_cy[] = "CUctxCreateParams_st.__reduce_cython__";
static const char __pyx_k_CUdevResourceDesc___reduce_cytho[] = "CUdevResourceDesc.__reduce_cython__";
static const char __pyx_k_CUdevResourceDesc___setstate_cyt[] = "CUdevResourceDesc.__setstate_cython__";
static const char __pyx_k_CUdevResource_st___reduce_cython[] = "CUdevResource_st.__reduce_cython__";
static const char __pyx_k_CUdevResource_st___setstate_cyth[] = "CUdevResource_st.__setstate_cython__";
static const char __pyx_k_CUdevSmResource_st___reduce_cyth[] = "CUdevSmResource_st.__reduce_cython__";
static const char __pyx_k_CUdevSmResource_st___setstate_cy[] = "CUdevSmResource_st.__setstate_cython__";
static const char __pyx_k_CUdeviceptr_v2___setstate_cython[] = "CUdeviceptr_v2.__setstate_cython__";
static const char __pyx_k_CUeglStreamConnection___reduce_c[] = "CUeglStreamConnection.__reduce_cython__";
static const char __pyx_k_CUeglStreamConnection___setstate[] = "CUeglStreamConnection.__setstate_cython__";
static const char __pyx_k_CUexecAffinityParam_st___setstat[] = "CUexecAffinityParam_st.__setstate_cython__";
static const char __pyx_k_CUexecAffinitySmCount_st___reduc[] = "CUexecAffinitySmCount_st.__reduce_cython__";
static const char __pyx_k_CUexecAffinitySmCount_st___setst[] = "CUexecAffinitySmCount_st.__setstate_cython__";
static const char __pyx_k_CUexternalMemory___reduce_cython[] = "CUexternalMemory.__reduce_cython__";
static const char __pyx_k_CUexternalMemory___setstate_cyth[] = "CUexternalMemory.__setstate_cython__";
static const char __pyx_k_CUexternalSemaphore___reduce_cyt[] = "CUexternalSemaphore.__reduce_cython__";
static const char __pyx_k_CUexternalSemaphore___setstate_c[] = "CUexternalSemaphore.__setstate_cython__";
static const char __pyx_k_CUflushGPUDirectRDMAWritesOption[] = "CUflushGPUDirectRDMAWritesOptions";
static const char __pyx_k_CUflushGPUDirectRDMAWritesTarget[] = "CUflushGPUDirectRDMAWritesTarget";
static const char __pyx_k_CUgraphConditionalHandle___reduc[] = "CUgraphConditionalHandle.__reduce_cython__";
static const char __pyx_k_CUgraphConditionalHandle___setst[] = "CUgraphConditionalHandle.__setstate_cython__";
static const char __pyx_k_CUgraphDeviceNode___reduce_cytho[] = "CUgraphDeviceNode.__reduce_cython__";
static const char __pyx_k_CUgraphDeviceNode___setstate_cyt[] = "CUgraphDeviceNode.__setstate_cython__";
static const char __pyx_k_CUgraphEdgeData_st___reduce_cyth[] = "CUgraphEdgeData_st.__reduce_cython__";
static const char __pyx_k_CUgraphEdgeData_st___setstate_cy[] = "CUgraphEdgeData_st.__setstate_cython__";
static const char __pyx_k_CUgraphExecUpdateResultInfo_st_2[] = "CUgraphExecUpdateResultInfo_st.__reduce_cython__";
static const char __pyx_k_CUgraphExecUpdateResultInfo_st_3[] = "CUgraphExecUpdateResultInfo_st.__setstate_cython__";
static const char __pyx_k_CUgraphExecUpdateResultInfo_st_g[] = "CUgraphExecUpdateResultInfo_st.getPtr";
static const char __pyx_k_CUgraphNodeParams_st___reduce_cy[] = "CUgraphNodeParams_st.__reduce_cython__";
static const char __pyx_k_CUgraphicsResource___reduce_cyth[] = "CUgraphicsResource.__reduce_cython__";
static const char __pyx_k_CUgraphicsResource___setstate_cy[] = "CUgraphicsResource.__setstate_cython__";
static const char __pyx_k_CUipcEventHandle_st___reduce_cyt[] = "CUipcEventHandle_st.__reduce_cython__";
static const char __pyx_k_CUipcEventHandle_st___setstate_c[] = "CUipcEventHandle_st.__setstate_cython__";
static const char __pyx_k_CUipcMemHandle_st___reduce_cytho[] = "CUipcMemHandle_st.__reduce_cython__";
static const char __pyx_k_CUipcMemHandle_st___setstate_cyt[] = "CUipcMemHandle_st.__setstate_cython__";
static const char __pyx_k_CUlaunchAttributeValue_union___r[] = "CUlaunchAttributeValue_union.__reduce_cython__";
static const char __pyx_k_CUlaunchAttributeValue_union___s[] = "CUlaunchAttributeValue_union.__setstate_cython__";
static const char __pyx_k_CUlaunchAttributeValue_union_get[] = "CUlaunchAttributeValue_union.getPtr";
static const char __pyx_k_CUlaunchAttribute_st___reduce_cy[] = "CUlaunchAttribute_st.__reduce_cython__";
static const char __pyx_k_CUlaunchConfig_st___reduce_cytho[] = "CUlaunchConfig_st.__reduce_cython__";
static const char __pyx_k_CUlaunchConfig_st___setstate_cyt[] = "CUlaunchConfig_st.__setstate_cython__";
static const char __pyx_k_CUlaunchMemSyncDomainMap_st___re[] = "CUlaunchMemSyncDomainMap_st.__reduce_cython__";
static const char __pyx_k_CUlaunchMemSyncDomainMap_st___se[] = "CUlaunchMemSyncDomainMap_st.__setstate_cython__";
static const char __pyx_k_CUlaunchMemSyncDomainMap_st_getP[] = "CUlaunchMemSyncDomainMap_st.getPtr";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn[] = "CUlibraryHostUniversalFunctionAndDataTable_st";
static const char __pyx_k_CUlogsCallbackHandle___reduce_cy[] = "CUlogsCallbackHandle.__reduce_cython__";
static const char __pyx_k_CUlogsCallback___setstate_cython[] = "CUlogsCallback.__setstate_cython__";
static const char __pyx_k_CUmemAccessDesc_st___reduce_cyth[] = "CUmemAccessDesc_st.__reduce_cython__";
static const char __pyx_k_CUmemAccessDesc_st___setstate_cy[] = "CUmemAccessDesc_st.__setstate_cython__";
static const char __pyx_k_CUmemAllocationGranularity_flags[] = "CUmemAllocationGranularity_flags";
static const char __pyx_k_CUmemAllocationProp_st___setstat[] = "CUmemAllocationProp_st.__setstate_cython__";
static const char __pyx_k_CUmemDecompressParams_st___reduc[] = "CUmemDecompressParams_st.__reduce_cython__";
static const char __pyx_k_CUmemDecompressParams_st___setst[] = "CUmemDecompressParams_st.__setstate_cython__";
static const char __pyx_k_CUmemFabricHandle_st___reduce_cy[] = "CUmemFabricHandle_st.__reduce_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle___r[] = "CUmemGenericAllocationHandle.__reduce_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle___s[] = "CUmemGenericAllocationHandle.__setstate_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle_get[] = "CUmemGenericAllocationHandle.getPtr";
static const char __pyx_k_CUmemLocation_st___reduce_cython[] = "CUmemLocation_st.__reduce_cython__";
static const char __pyx_k_CUmemLocation_st___setstate_cyth[] = "CUmemLocation_st.__setstate_cython__";
static const char __pyx_k_CUmemPoolProps_st___reduce_cytho[] = "CUmemPoolProps_st.__reduce_cython__";
static const char __pyx_k_CUmemPoolProps_st___setstate_cyt[] = "CUmemPoolProps_st.__setstate_cython__";
static const char __pyx_k_CUmemPoolPtrExportData_st___redu[] = "CUmemPoolPtrExportData_st.__reduce_cython__";
static const char __pyx_k_CUmemPoolPtrExportData_st___sets[] = "CUmemPoolPtrExportData_st.__setstate_cython__";
static const char __pyx_k_CUmemPoolPtrExportData_st_getPtr[] = "CUmemPoolPtrExportData_st.getPtr";
static const char __pyx_k_CUmemcpy3DOperand_st___reduce_cy[] = "CUmemcpy3DOperand_st.__reduce_cython__";
static const char __pyx_k_CUmemcpyAttributes_st___reduce_c[] = "CUmemcpyAttributes_st.__reduce_cython__";
static const char __pyx_k_CUmemcpyAttributes_st___setstate[] = "CUmemcpyAttributes_st.__setstate_cython__";
static const char __pyx_k_CUmipmappedArray___reduce_cython[] = "CUmipmappedArray.__reduce_cython__";
static const char __pyx_k_CUmipmappedArray___setstate_cyth[] = "CUmipmappedArray.__setstate_cython__";
static const char __pyx_k_CUmulticastObjectProp_st___reduc[] = "CUmulticastObjectProp_st.__reduce_cython__";
static const char __pyx_k_CUmulticastObjectProp_st___setst[] = "CUmulticastObjectProp_st.__setstate_cython__";
static const char __pyx_k_CUoccupancyB2DSize___reduce_cyth[] = "CUoccupancyB2DSize.__reduce_cython__";
static const char __pyx_k_CUoccupancyB2DSize___setstate_cy[] = "CUoccupancyB2DSize.__setstate_cython__";
static const char __pyx_k_CUstreamBatchMemOpParams_union_2[] = "CUstreamBatchMemOpParams_union.__reduce_cython__";
static const char __pyx_k_CUstreamBatchMemOpParams_union_3[] = "CUstreamBatchMemOpParams_union.__setstate_cython__";
static const char __pyx_k_CUstreamBatchMemOpParams_union_g[] = "CUstreamBatchMemOpParams_union.getPtr";
static const char __pyx_k_CUstreamCallback___reduce_cython[] = "CUstreamCallback.__reduce_cython__";
static const char __pyx_k_CUstreamCallback___setstate_cyth[] = "CUstreamCallback.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpFlushRemoteWritesPa[] = "CUstreamMemOpFlushRemoteWritesParams_st";
static const char __pyx_k_CUstreamMemOpMemoryBarrierParams[] = "CUstreamMemOpMemoryBarrierParams_st";
static const char __pyx_k_CUstreamMemOpWriteValueParams_st[] = "CUstreamMemOpWriteValueParams_st";
static const char __pyx_k_CUstreamUpdateCaptureDependencie[] = "CUstreamUpdateCaptureDependencies_flags";
static const char __pyx_k_CUsurfObject_v1___setstate_cytho[] = "CUsurfObject_v1.__setstate_cython__";
static const char __pyx_k_CUtensorMap_st___setstate_cython[] = "CUtensorMap_st.__setstate_cython__";
static const char __pyx_k_CUtexObject_v1___setstate_cython[] = "CUtexObject_v1.__setstate_cython__";
static const char __pyx_k_Failed_to_allocate_length_x_size[] = "Failed to allocate length x size memory: ";
static const char __pyx_k_Failed_to_allocated_length_x_siz[] = "Failed to allocated length x size memory: {}x{}";
static const char __pyx_k_Failed_to_retrieve_buffer_throug[] = "Failed to retrieve buffer through Buffer Protocol";
static const char __pyx_k_H_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa_2[] = "\200\001\330=>\360H\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\0048\270\n\300-\310{\320Za\320ak\320kl\330\t\n\330\010\026\320\026/\250q\260\016\270i\300q\330\004\014\210N\230!\2301";
static const char __pyx_k_Note_that_Cython_is_deliberately[] = "Note that Cython is deliberately stricter than PEP-484 and rejects subclasses of builtin types. If you need to pass subclasses then set the 'annotation_typing' directive to False.";
static const char __pyx_k_Optional_CUDA_ARRAY3D_DESCRIPTOR[] = "Optional[CUDA_ARRAY3D_DESCRIPTOR]";
static const char __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_BU[] = "Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC]";
static const char __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_HA[] = "Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC]";
static const char __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_MI[] = "Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC]";
static const char __pyx_k_Optional_CUDA_EXTERNAL_SEMAPHORE[] = "Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC]";
static const char __pyx_k_Optional_CUDA_EXT_SEM_SIGNAL_NOD[] = "Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_KERNEL_NODE_PARAMS[] = "Optional[CUDA_KERNEL_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_MEMSET_NODE_PARAMS[] = "Optional[CUDA_MEMSET_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_MEM_ALLOC_NODE_PAR[] = "Optional[CUDA_MEM_ALLOC_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_RESOURCE_VIEW_DESC[] = "Optional[CUDA_RESOURCE_VIEW_DESC]";
static const char __pyx_k_Optional_CUcheckpointCheckpointA[] = "Optional[CUcheckpointCheckpointArgs]";
static const char __pyx_k_Optional_CUcheckpointRestoreArgs[] = "Optional[CUcheckpointRestoreArgs]";
static const char __pyx_k_Optional_tuple_CUDA_EXTERNAL_SEM[] = "Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]]";
static const char __pyx_k_Optional_tuple_CUDA_LAUNCH_PARAM[] = "Optional[tuple[CUDA_LAUNCH_PARAMS] | list[CUDA_LAUNCH_PARAMS]]";
static const char __pyx_k_Optional_tuple_CUDA_MEMCPY3D_BAT[] = "Optional[tuple[CUDA_MEMCPY3D_BATCH_OP] | list[CUDA_MEMCPY3D_BATCH_OP]]";
static const char __pyx_k_Optional_tuple_CUarrayMapInfo_li[] = "Optional[tuple[CUarrayMapInfo] | list[CUarrayMapInfo]]";
static const char __pyx_k_Optional_tuple_CUdevResource_lis[] = "Optional[tuple[CUdevResource] | list[CUdevResource]]";
static const char __pyx_k_Optional_tuple_CUexecAffinityPar[] = "Optional[tuple[CUexecAffinityParam] | list[CUexecAffinityParam]]";
static const char __pyx_k_Optional_tuple_CUexternalSemapho[] = "Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]]";
static const char __pyx_k_Optional_tuple_CUgraphEdgeData_l[] = "Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]]";
static const char __pyx_k_Optional_tuple_CUjit_option_list[] = "Optional[tuple[CUjit_option] | list[CUjit_option]]";
static const char __pyx_k_Optional_tuple_CUlibraryOption_l[] = "Optional[tuple[CUlibraryOption] | list[CUlibraryOption]]";
static const char __pyx_k_Optional_tuple_CUmemAccessDesc_l[] = "Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]]";
static const char __pyx_k_Optional_tuple_CUmem_range_attri[] = "Optional[tuple[CUmem_range_attribute] | list[CUmem_range_attribute]]";
static const char __pyx_k_Optional_tuple_CUmemcpyAttribute[] = "Optional[tuple[CUmemcpyAttributes] | list[CUmemcpyAttributes]]";
static const char __pyx_k_Optional_tuple_CUpointer_attribu[] = "Optional[tuple[CUpointer_attribute] | list[CUpointer_attribute]]";
static const char __pyx_k_Optional_tuple_CUstreamBatchMemO[] = "Optional[tuple[CUstreamBatchMemOpParams] | list[CUstreamBatchMemOpParams]]";
static const char __pyx_k_Optional_tuple_cuuint32_t_list_c[] = "Optional[tuple[cuuint32_t] | list[cuuint32_t]]";
static const char __pyx_k_Optional_tuple_cuuint64_t_list_c[] = "Optional[tuple[cuuint64_t] | list[cuuint64_t]]";
static const char __pyx_k_Provided_argument_is_of_type_but[] = "Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute";
static const char __pyx_k_These_flags_allow_applications_2[] = "\n    These flags allow applications to convey the operand type for\n    individual copies specified in :py:obj:`~.cuMemcpy3DBatchAsync`.\n    ";
static const char __pyx_k_VdpGetProcAddress___reduce_cytho[] = "VdpGetProcAddress.__reduce_cython__";
static const char __pyx_k_VdpGetProcAddress___setstate_cyt[] = "VdpGetProcAddress.__setstate_cython__";
static const char __pyx_k_VdpOutputSurface___reduce_cython[] = "VdpOutputSurface.__reduce_cython__";
static const char __pyx_k_VdpOutputSurface___setstate_cyth[] = "VdpOutputSurface.__setstate_cython__";
static const char __pyx_k_VdpVideoSurface___setstate_cytho[] = "VdpVideoSurface.__setstate_cython__";
static const char __pyx_k_clusterSchedulingPolicyPreferenc[] = "clusterSchedulingPolicyPreference : ";
static const char __pyx_k_cuCheckpointProcessGetRestoreThr[] = "cuCheckpointProcessGetRestoreThreadId";
static const char __pyx_k_cuDevResourceGenerateDesc_locals[] = "cuDevResourceGenerateDesc.<locals>.genexpr";
static const char __pyx_k_cuDeviceGetTexture1DLinearMaxWid[] = "cuDeviceGetTexture1DLinearMaxWidth";
static const char __pyx_k_cuDeviceRegisterAsyncNotificatio[] = "cuDeviceRegisterAsyncNotification";
static const char __pyx_k_cuDeviceUnregisterAsyncNotificat[] = "cuDeviceUnregisterAsyncNotification";
static const char __pyx_k_cuEGLStreamConsumerConnectWithFl[] = "cuEGLStreamConsumerConnectWithFlags";
static const char __pyx_k_cuExternalMemoryGetMappedMipmapp[] = "cuExternalMemoryGetMappedMipmappedArray";
static const char __pyx_k_cuGraphAddDependencies_locals_ge[] = "cuGraphAddDependencies.<locals>.genexpr";
static const char __pyx_k_cuGraphAddDependencies_v2_locals[] = "cuGraphAddDependencies_v2.<locals>.genexpr";
static const char __pyx_k_cuGraphAddEmptyNode_locals_genex[] = "cuGraphAddEmptyNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddEventRecordNode_locals[] = "cuGraphAddEventRecordNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddEventWaitNode_locals_g[] = "cuGraphAddEventWaitNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddExternalSemaphoresSign[] = "cuGraphAddExternalSemaphoresSignalNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddExternalSemaphoresWait[] = "cuGraphAddExternalSemaphoresWaitNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddHostNode_locals_genexp[] = "cuGraphAddHostNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddKernelNode_locals_gene[] = "cuGraphAddKernelNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddMemAllocNode_locals_ge[] = "cuGraphAddMemAllocNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddMemFreeNode_locals_gen[] = "cuGraphAddMemFreeNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddMemcpyNode_locals_gene[] = "cuGraphAddMemcpyNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddMemsetNode_locals_gene[] = "cuGraphAddMemsetNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddNode_v2_locals_genexpr[] = "cuGraphAddNode_v2.<locals>.genexpr";
static const char __pyx_k_cuGraphExecBatchMemOpNodeSetPara[] = "cuGraphExecBatchMemOpNodeSetParams";
static const char __pyx_k_cuGraphExecChildGraphNodeSetPara[] = "cuGraphExecChildGraphNodeSetParams";
static const char __pyx_k_cuGraphExecEventRecordNodeSetEve[] = "cuGraphExecEventRecordNodeSetEvent";
static const char __pyx_k_cuGraphExecEventWaitNodeSetEvent[] = "cuGraphExecEventWaitNodeSetEvent";
static const char __pyx_k_cuGraphExecExternalSemaphoresSig[] = "cuGraphExecExternalSemaphoresSignalNodeSetParams";
static const char __pyx_k_cuGraphExecExternalSemaphoresWai[] = "cuGraphExecExternalSemaphoresWaitNodeSetParams";
static const char __pyx_k_cuGraphExternalSemaphoresSignalN[] = "cuGraphExternalSemaphoresSignalNodeGetParams";
static const char __pyx_k_cuGraphExternalSemaphoresWaitNod[] = "cuGraphExternalSemaphoresWaitNodeGetParams";
static const char __pyx_k_cuGraphRemoveDependencies_locals[] = "cuGraphRemoveDependencies.<locals>.genexpr";
static const char __pyx_k_cuGraphRemoveDependencies_v2_loc[] = "cuGraphRemoveDependencies_v2.<locals>.genexpr";
static const char __pyx_k_cuGraphicsResourceGetMappedEglFr[] = "cuGraphicsResourceGetMappedEglFrame";
static const char __pyx_k_cuGraphicsResourceGetMappedMipma[] = "cuGraphicsResourceGetMappedMipmappedArray";
static const char __pyx_k_cuGraphicsResourceGetMappedPoint[] = "cuGraphicsResourceGetMappedPointer";
static const char __pyx_k_cuGraphicsSubResourceGetMappedAr[] = "cuGraphicsSubResourceGetMappedArray";
static const char __pyx_k_cuGraphicsVDPAURegisterOutputSur[] = "cuGraphicsVDPAURegisterOutputSurface";
static const char __pyx_k_cuGraphicsVDPAURegisterVideoSurf[] = "cuGraphicsVDPAURegisterVideoSurface";
static const char __pyx_k_cuLaunchCooperativeKernelMultiDe[] = "cuLaunchCooperativeKernelMultiDevice.<locals>.genexpr";
static const char __pyx_k_cuLibraryLoadData_locals_genexpr[] = "cuLibraryLoadData.<locals>.genexpr";
static const char __pyx_k_cuLibraryLoadFromFile_locals_gen[] = "cuLibraryLoadFromFile.<locals>.genexpr";
static const char __pyx_k_cuMemGetAllocationPropertiesFrom[] = "cuMemGetAllocationPropertiesFromHandle";
static const char __pyx_k_cuMemMapArrayAsync_locals_genexp[] = "cuMemMapArrayAsync.<locals>.genexpr";
static const char __pyx_k_cuMemPoolExportToShareableHandle[] = "cuMemPoolExportToShareableHandle";
static const char __pyx_k_cuMemPoolImportFromShareableHand[] = "cuMemPoolImportFromShareableHandle";
static const char __pyx_k_cuMemPoolSetAccess_locals_genexp[] = "cuMemPoolSetAccess.<locals>.genexpr";
static const char __pyx_k_cuMemRangeGetAttributes_locals_g[] = "cuMemRangeGetAttributes.<locals>.genexpr";
static const char __pyx_k_cuMemcpy3DBatchAsync_locals_gene[] = "cuMemcpy3DBatchAsync.<locals>.genexpr";
static const char __pyx_k_cuMemcpyBatchAsync_locals_genexp[] = "cuMemcpyBatchAsync.<locals>.genexpr";
static const char __pyx_k_cuMipmappedArrayGetMemoryRequire[] = "cuMipmappedArrayGetMemoryRequirements";
static const char __pyx_k_cuMipmappedArrayGetSparsePropert[] = "cuMipmappedArrayGetSparseProperties";
static const char __pyx_k_cuModuleLoadDataEx_locals_genexp[] = "cuModuleLoadDataEx.<locals>.genexpr";
static const char __pyx_k_cuOccupancyAvailableDynamicSMemP[] = "cuOccupancyAvailableDynamicSMemPerBlock";
static const char __pyx_k_cuOccupancyMaxActiveBlocksPerMul[] = "cuOccupancyMaxActiveBlocksPerMultiprocessor";
static const char __pyx_k_cuOccupancyMaxPotentialBlockSize[] = "cuOccupancyMaxPotentialBlockSize";
static const char __pyx_k_cuOccupancyMaxPotentialClusterSi[] = "cuOccupancyMaxPotentialClusterSize";
static const char __pyx_k_cuPointerGetAttributes_locals_ge[] = "cuPointerGetAttributes.<locals>.genexpr";
static const char __pyx_k_cuStreamBatchMemOp_locals_genexp[] = "cuStreamBatchMemOp.<locals>.genexpr";
static const char __pyx_k_cuStreamBeginCaptureToGraph_loca[] = "cuStreamBeginCaptureToGraph.<locals>.genexpr";
static const char __pyx_k_cuStreamUpdateCaptureDependencie[] = "cuStreamUpdateCaptureDependencies.<locals>.genexpr";
static const char __pyx_k_cuTensorMapEncodeIm2colWide_loca[] = "cuTensorMapEncodeIm2colWide.<locals>.genexpr";
static const char __pyx_k_cuTensorMapEncodeIm2col_locals_g[] = "cuTensorMapEncodeIm2col.<locals>.genexpr";
static const char __pyx_k_cuTensorMapEncodeTiled_locals_ge[] = "cuTensorMapEncodeTiled.<locals>.genexpr";
static const char __pyx_k_cuThreadExchangeStreamCaptureMod[] = "cuThreadExchangeStreamCaptureMode";
static const char __pyx_k_cuWaitExternalSemaphoresAsync_lo[] = "cuWaitExternalSemaphoresAsync.<locals>.genexpr";
static const char __pyx_k_cudaBindingsDriverGlobal___reduc[] = "cudaBindingsDriverGlobal.__reduce_cython__";
static const char __pyx_k_cudaBindingsDriverGlobal___setst[] = "cudaBindingsDriverGlobal.__setstate_cython__";
static const char __pyx_k_deviceUpdatableKernelNode_ValueE[] = "deviceUpdatableKernelNode : <ValueError>";
static const char __pyx_k_launchCompletionEvent_ValueError[] = "launchCompletionEvent : <ValueError>";
static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
static const char __pyx_k_not_enough_values_found_during_a[] = "not enough values found during array assignment, expected 3, got";
static const char __pyx_k_numExecAffinityParams_ValueError[] = "numExecAffinityParams : <ValueError>";
static const char __pyx_k_programmaticStreamSerializationA[] = "programmaticStreamSerializationAllowed : ";
static const char __pyx_k_self__allocated_cannot_be_conver[] = "self._allocated cannot be converted to a Python object for pickling";
static const char __pyx_k_voidStarHelperlibraryOptionValue[] = "voidStarHelperlibraryOptionValues";
static const char __pyx_k_win32SecurityAttributes_ValueErr[] = "win32SecurityAttributes : <ValueError>";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_aq_t_a_avQ_2[] = "\200\001\360\\\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\t\n\330\010\026\320\026*\250!\250;\260a\260q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\320!6\260a\260q";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S_2[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\004\020\320\020#\2401\240A\330\004\037\230w\240j\260\t\270\021\330\t\n\330\010\026\320\026(\250\001\250\037\270\r\300[\320PQ\330\004\014\210N\230!\2301";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S_3[] = "\200\001\360:\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\340\004\007\200z\220\023\220A\330\010\025\220Q\330\t\023\2201\220L\240\001\330\010\025\220S\230\001\230\021\340\010\025\220S\230\001\230\033\240A\240Q\330\004\022\320\022(\250\n\260!\330\t\n\330\010\026\320\026(\250\001\250\035\260m\300;\310a\330\004\014\210N\230!\2301";
static const char __pyx_k_B_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_2[] = "\200\001\360B\001\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220W\230A\230Q\330\004\016\320\016 \240\n\250!\340\004\007\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\340\004\007\200{\220#\220Q\330\010\026\220a\330\t\023\2201\220M\240\021\330\010\026\220c\230\021\230!\340\010\026\220c\230\021\230+\240Q\240a\330\004\023\320\023)\250\032\2601\330\t\n\330\010\026\320\0267\260q\270\016\300i\310q\330\004\014\210N\230!\2301";
static const char __pyx_k_B_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1_2[] = "\200\001\360B\001\000\005\010\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\340\004\007\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220J\230a\230q\330\004\r\320\r\"\240*\250A\330\t\n\330\010\026\320\026*\250!\2508\2601\330\004\014\210N\230!\2301";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_2[] = "CUDA_ARRAY_SPARSE_PROPERTIES_st.getPtr";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_3[] = "CUDA_ARRAY_SPARSE_PROPERTIES_st.__reduce_cython__";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_4[] = "CUDA_ARRAY_SPARSE_PROPERTIES_st.__setstate_cython__";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2[] = "CUDA_CHILD_GRAPH_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3[] = "CUDA_CHILD_GRAPH_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4[] = "CUDA_CHILD_GRAPH_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2[] = "CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2[] = "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3[] = "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4[] = "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2[] = "CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2[] = "CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2[] = "CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_2[] = "CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_3[] = "CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B";
static const char __pyx_k_CUmemGenericAllocationHandle_v1_2[] = "CUmemGenericAllocationHandle_v1";
static const char __pyx_k_CUmemGenericAllocationHandle_v1_3[] = "CUmemGenericAllocationHandle_v1.getPtr";
static const char __pyx_k_CUmemGenericAllocationHandle_v1_4[] = "CUmemGenericAllocationHandle_v1.__reduce_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle_v1_5[] = "CUmemGenericAllocationHandle_v1.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpWaitValueParams_st_2[] = "CUstreamMemOpWaitValueParams_st.getPtr";
static const char __pyx_k_CUstreamMemOpWaitValueParams_st_3[] = "CUstreamMemOpWaitValueParams_st.__reduce_cython__";
static const char __pyx_k_CUstreamMemOpWaitValueParams_st_4[] = "CUstreamMemOpWaitValueParams_st.__setstate_cython__";
static const char __pyx_k_HelperCUmemAllocationHandleType_2[] = "_HelperCUmemAllocationHandleType.pyObj";
static const char __pyx_k_HelperCUmemAllocationHandleType_3[] = "_HelperCUmemAllocationHandleType.__reduce_cython__";
static const char __pyx_k_HelperCUmemAllocationHandleType_4[] = "_HelperCUmemAllocationHandleType.__setstate_cython__";
static const char __pyx_k_add_native_handle_getters_local_2[] = "_add_native_handle_getters.<locals>.CUmodule_getter";
static const char __pyx_k_add_native_handle_getters_local_3[] = "_add_native_handle_getters.<locals>.CUfunction_getter";
static const char __pyx_k_add_native_handle_getters_local_4[] = "_add_native_handle_getters.<locals>.CUlibrary_getter";
static const char __pyx_k_add_native_handle_getters_local_5[] = "_add_native_handle_getters.<locals>.CUkernel_getter";
static const char __pyx_k_add_native_handle_getters_local_6[] = "_add_native_handle_getters.<locals>.CUarray_getter";
static const char __pyx_k_add_native_handle_getters_local_7[] = "_add_native_handle_getters.<locals>.CUmipmappedArray_getter";
static const char __pyx_k_add_native_handle_getters_local_8[] = "_add_native_handle_getters.<locals>.CUtexref_getter";
static const char __pyx_k_add_native_handle_getters_local_9[] = "_add_native_handle_getters.<locals>.CUsurfref_getter";
static const char __pyx_k_cuSignalExternalSemaphoresAsync_2[] = "cuSignalExternalSemaphoresAsync";
static const char __pyx_k_dict_CUflushGPUDirectRDMAWrites_2[] = "_dict_CUflushGPUDirectRDMAWritesScope";
static const char __pyx_k_dict_CUflushGPUDirectRDMAWrites_3[] = "_dict_CUflushGPUDirectRDMAWritesTarget";
static const char __pyx_k_uCq_1G1_1A_1G1A_z_wc_1IQ_Qa_QgQ_2[] = "\200\001\360`\001\000\005\010\200u\210C\210q\330\010\020\220\001\330\t\023\2201\220G\2301\330\010\020\220\003\2201\220A\340\010\020\220\003\2201\220G\2301\230A\330\004\r\320\r\037\230z\250\021\340\004\007\200w\210c\220\021\330\010\022\220!\330\t\023\2201\220I\230Q\330\010\022\220#\220Q\220a\340\010\022\220#\220Q\220g\230Q\230a\330\004\017\320\017!\240\032\2501\330\004\037\230q\330\t\n\330\010\026\320\026,\250A\250Q\250o\270Z\300q\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_vS_1HA_AQ_A_Ja_EQ_1_hhi_t_a_avQ_2[] = "\200\001\360.\000\005\010\200v\210S\220\001\330\010\021\220\021\330\t\023\2201\220H\230A\330\010\021\220\023\220A\220Q\340\010\021\220\023\220A\220[\240\001\240\021\330\004\016\320\016$\240J\250a\330\004.\320.E\300Q\330\t\n\330\010\026\320\0261\260\021\260)\320;^\320^h\320hi\330\004\007\200t\210;\220a\330\010\020\220\016\230a\230v\240Q\330\004\014\210N\230!\2306\240\021";
static const char __pyx_k_xs_1_1Ja_3aq_3axq_Q_y_1_A_1Kq_C_2[] = "\200\001\360@\001\000\005\010\200x\210s\220!\330\010\023\2201\330\t\023\2201\220J\230a\330\010\023\2203\220a\220q\340\010\023\2203\220a\220x\230q\240\001\330\004\020\320\020#\240:\250Q\340\004\007\200y\220\003\2201\330\010\024\220A\330\t\023\2201\220K\230q\330\010\024\220C\220q\230\001\340\010\024\220C\220q\230\007\230q\240\001\330\004\021\320\021#\240:\250Q\330\004\020\320\020#\2401\240A\330\004\037\230w\240j\260\t\270\021\330\t\n\330\010\026\320\026(\250\001\250\037\270\014\300K\310{\320Z[\330\004\014\210N\230!\2301";
static const char __pyx_k_Argument_attributes_is_not_insta_2[] = "Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]";
static const char __pyx_k_Argument_paramsArray_is_not_inst_2[] = "Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]";
static const char __pyx_k_Argument_paramsArray_is_not_inst_3[] = "Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]";
static const char __pyx_k_Argument_resources_is_not_instan_2[] = "Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.getPtr";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__reduce_cython__";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__setstate_cython__";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.getPtr";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__reduce_cython__";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__setstate_cython__";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2[] = "CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_2[] = "CUDA_EVENT_RECORD_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_3[] = "CUDA_EVENT_RECORD_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_4[] = "CUDA_EVENT_RECORD_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2[] = "CUDA_GRAPH_INSTANTIATE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3[] = "CUDA_GRAPH_INSTANTIATE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4[] = "CUDA_GRAPH_INSTANTIATE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.getPtr";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.getPtr";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__reduce_cython__";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__setstate_cython__";
static const char __pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2[] = "CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2[] = "CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2[] = "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3[] = "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4[] = "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2[] = "CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3[] = "CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2[] = "CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3[] = "CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2[] = "CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2[] = "CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3[] = "CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE_2[] = "CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2[] = "CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2[] = "CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3[] = "CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4[] = "CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3[] = "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4[] = "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YVU420_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3[] = "CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4[] = "CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3[] = "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4[] = "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YVU422_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YVU444_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2[] = "CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3[] = "CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH";
static const char __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2[] = "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER";
static const char __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3[] = "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2[] = "CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2[] = "CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2[] = "CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PREFERR_2[] = "CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2[] = "CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2[] = "CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2[] = "CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3[] = "CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2[] = "CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3[] = "CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2[] = "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3[] = "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4[] = "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2[] = "CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI_2[] = "CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2[] = "CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ";
static const char __pyx_k_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W_2[] = "CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn_2[] = "CUlibraryHostUniversalFunctionAndDataTable";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn_3[] = "CUlibraryHostUniversalFunctionAndDataTable_st.getPtr";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn_4[] = "CUlibraryHostUniversalFunctionAndDataTable_st.__reduce_cython__";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn_5[] = "CUlibraryHostUniversalFunctionAndDataTable_st.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpFlushRemoteWritesPa_2[] = "CUstreamMemOpFlushRemoteWritesParams_st.getPtr";
static const char __pyx_k_CUstreamMemOpFlushRemoteWritesPa_3[] = "CUstreamMemOpFlushRemoteWritesParams_st.__reduce_cython__";
static const char __pyx_k_CUstreamMemOpFlushRemoteWritesPa_4[] = "CUstreamMemOpFlushRemoteWritesParams_st.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpMemoryBarrierParams_2[] = "CUstreamMemOpMemoryBarrierParams_st.getPtr";
static const char __pyx_k_CUstreamMemOpMemoryBarrierParams_3[] = "CUstreamMemOpMemoryBarrierParams_st.__reduce_cython__";
static const char __pyx_k_CUstreamMemOpMemoryBarrierParams_4[] = "CUstreamMemOpMemoryBarrierParams_st.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpWriteValueParams_st_2[] = "CUstreamMemOpWriteValueParams_st.getPtr";
static const char __pyx_k_CUstreamMemOpWriteValueParams_st_3[] = "CUstreamMemOpWriteValueParams_st.__reduce_cython__";
static const char __pyx_k_CUstreamMemOpWriteValueParams_st_4[] = "CUstreamMemOpWriteValueParams_st.__setstate_cython__";
static const char __pyx_k_Optional_tuple_CUDA_EXTERNAL_SEM_2[] = "Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]]";
static const char __pyx_k_Provided_argument_is_of_type_but_2[] = "Provided argument is of type {} but expected Type {}, {} or object with Buffer Protocol";
static const char __pyx_k_add_native_handle_getters_local_10[] = "_add_native_handle_getters.<locals>.CUevent_getter";
static const char __pyx_k_add_native_handle_getters_local_11[] = "_add_native_handle_getters.<locals>.CUstream_getter";
static const char __pyx_k_add_native_handle_getters_local_12[] = "_add_native_handle_getters.<locals>.CUgraphicsResource_getter";
static const char __pyx_k_add_native_handle_getters_local_13[] = "_add_native_handle_getters.<locals>.CUexternalMemory_getter";
static const char __pyx_k_add_native_handle_getters_local_14[] = "_add_native_handle_getters.<locals>.CUexternalSemaphore_getter";
static const char __pyx_k_add_native_handle_getters_local_15[] = "_add_native_handle_getters.<locals>.CUgraph_getter";
static const char __pyx_k_add_native_handle_getters_local_16[] = "_add_native_handle_getters.<locals>.CUgraphNode_getter";
static const char __pyx_k_add_native_handle_getters_local_17[] = "_add_native_handle_getters.<locals>.CUgraphExec_getter";
static const char __pyx_k_add_native_handle_getters_local_18[] = "_add_native_handle_getters.<locals>.CUmemoryPool_getter";
static const char __pyx_k_add_native_handle_getters_local_19[] = "_add_native_handle_getters.<locals>.CUuserObject_getter";
static const char __pyx_k_add_native_handle_getters_local_20[] = "_add_native_handle_getters.<locals>.CUgraphDeviceNode_getter";
static const char __pyx_k_add_native_handle_getters_local_21[] = "_add_native_handle_getters.<locals>.CUasyncCallbackHandle_getter";
static const char __pyx_k_add_native_handle_getters_local_22[] = "_add_native_handle_getters.<locals>.CUgreenCtx_getter";
static const char __pyx_k_add_native_handle_getters_local_23[] = "_add_native_handle_getters.<locals>.CUlinkState_getter";
static const char __pyx_k_add_native_handle_getters_local_24[] = "_add_native_handle_getters.<locals>.CUdevResourceDesc_getter";
static const char __pyx_k_add_native_handle_getters_local_25[] = "_add_native_handle_getters.<locals>.CUlogsCallbackHandle_getter";
static const char __pyx_k_add_native_handle_getters_local_26[] = "_add_native_handle_getters.<locals>.CUeglStreamConnection_getter";
static const char __pyx_k_add_native_handle_getters_local_27[] = "_add_native_handle_getters.<locals>.EGLImageKHR_getter";
static const char __pyx_k_add_native_handle_getters_local_28[] = "_add_native_handle_getters.<locals>.EGLStreamKHR_getter";
static const char __pyx_k_add_native_handle_getters_local_29[] = "_add_native_handle_getters.<locals>.EGLSyncKHR_getter";
static const char __pyx_k_clusterSchedulingPolicyPreferenc_2[] = "clusterSchedulingPolicyPreference";
static const char __pyx_k_clusterSchedulingPolicyPreferenc_3[] = "clusterSchedulingPolicyPreference : <ValueError>";
static const char __pyx_k_cuGraphAddExternalSemaphoresSign_2[] = "cuGraphAddExternalSemaphoresSignalNode";
static const char __pyx_k_cuGraphAddExternalSemaphoresWait_2[] = "cuGraphAddExternalSemaphoresWaitNode";
static const char __pyx_k_cuGraphExternalSemaphoresSignalN_2[] = "cuGraphExternalSemaphoresSignalNodeSetParams";
static const char __pyx_k_cuGraphExternalSemaphoresWaitNod_2[] = "cuGraphExternalSemaphoresWaitNodeSetParams";
static const char __pyx_k_cuLaunchCooperativeKernelMultiDe_2[] = "cuLaunchCooperativeKernelMultiDevice";
static const char __pyx_k_cuOccupancyMaxActiveBlocksPerMul_2[] = "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags";
static const char __pyx_k_cuOccupancyMaxPotentialBlockSize_2[] = "cuOccupancyMaxPotentialBlockSizeWithFlags";
static const char __pyx_k_cuStreamUpdateCaptureDependencie_2[] = "cuStreamUpdateCaptureDependencies_v2.<locals>.genexpr";
static const char __pyx_k_cuStreamUpdateCaptureDependencie_3[] = "cuStreamUpdateCaptureDependencies";
static const char __pyx_k_cuStreamUpdateCaptureDependencie_4[] = "cuStreamUpdateCaptureDependencies_v2";
static const char __pyx_k_programmaticStreamSerializationA_2[] = "programmaticStreamSerializationAllowed";
static const char __pyx_k_programmaticStreamSerializationA_3[] = "programmaticStreamSerializationAllowed : <ValueError>";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32";
/* #### Code section: decls ### */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_948genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_951genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_954genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_957genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_960genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_963genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_966genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_969genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_972genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_975genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_978genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_981genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_984genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_987genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_990genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_993genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_996genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_999genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1002genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1005genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1008genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1011genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1014genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1017genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1020genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1023genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1026genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1029genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1032genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1035genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1038genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1041genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1044genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1047genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1050genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1053genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1056genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1059genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1062genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1065genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1068genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1071genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1074genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1077genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1080genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1083genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1086genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1089genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1092genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1095genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1098genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1101genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1104genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1107genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1110genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1113genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1116genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1119genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1122genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1125genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1128genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1131genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1134genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1137genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1140genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1143genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1146genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1149genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1152genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1155genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1158genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1161genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1164genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1167genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1170genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1173genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1176genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1179genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1182genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1185genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1188genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1191genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1194genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1197genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1200genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1203genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1206genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1209genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1212genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1215genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1218genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1221genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1224genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1227genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1230genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1233genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1236genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1239genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1242genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1245genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1248genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1251genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1254genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1257genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1260genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1263genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1266genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1269genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1272genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1275genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1278genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1281genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1284genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1287genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_lambda_funcdef_4cuda_8bindings_6driver_19_HelperKernelParams_lambda(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_t); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_2__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_13ckernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_5__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_7__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self, PyObject *__pyx_v_ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_2__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value, PyObject *__pyx_v_is_getter); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_data_size); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_2__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value, PyObject *__pyx_v_is_getter); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value, PyObject *__pyx_v_is_getter); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self, PyObject *__pyx_v_attr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self, PyObject *__pyx_v_lst); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_2__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value, PyObject *__pyx_v_is_getter); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4size(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_6pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUdevice___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self, int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_8CUdevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUtexObject___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11CUtexObject_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self, uint64_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9CUcontext___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9CUcontext_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_9CUcontext_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUmodule___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUmodule_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_8CUmodule_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_10CUfunction___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_10CUfunction_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_10CUfunction_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9CUlibrary___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUkernel___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUkernel_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_8CUkernel_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_7CUarray___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_7CUarray_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_7CUarray_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUtexref___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUtexref_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_8CUtexref_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9CUsurfref___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_7CUevent___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_7CUevent_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_7CUevent_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUstream___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUstream_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_8CUstream_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_7CUgraph___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_7CUgraph_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_7CUgraph_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUuserObject___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUlinkState___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUhostFn___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_5bytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self, PyObject *__pyx_v_data); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_address); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_value64); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_alias); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_address); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_value64); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_alias); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_waitValue); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_writeValue); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_flushRemoteWrites); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_memoryBarrier); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, PyObject *__pyx_v_pad); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct0___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_bytesOverBudget); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union2___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union2_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11anon_union2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_10overBudget___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union2_10overBudget_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_overBudget); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_info); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_maxThreadsPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, PyObject *__pyx_v_maxGridSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_sharedMemPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_totalConstantMemory); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_SIMDWidth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_memPitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_regsPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_clockRate); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_textureAlign); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_base_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, size_t __pyx_v_num_bytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, float __pyx_v_hitRatio); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_hitProp); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_missProp); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_kern); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_kern); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_dst); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_elementSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_dst); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_elementSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_fn); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_fn); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, unsigned int __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_from_port); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_to_port); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hUploadStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hErrNode_out); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_result_out); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default____get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, unsigned char __pyx_v_default_); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, unsigned char __pyx_v_remote); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1x___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1x_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1y___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1y_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_y); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1z___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1z_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5event___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5event_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, int __pyx_v_triggerAtBlockStart); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct3___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5event___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5event_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1x___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1x_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, unsigned int __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1y___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1y_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, unsigned int __pyx_v_y); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1z___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1z_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, unsigned int __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct5___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, int __pyx_v_deviceUpdatable); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_7devNode___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_7devNode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, PyObject *__pyx_v_devNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_pad); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow *__pyx_v_accessPolicyWindow); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_cooperative); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_syncPolicy); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_clusterDim); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_programmaticStreamSerializationAllowed); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_programmaticEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_launchCompletionEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap *__pyx_v_memSyncDomainMap); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_memSyncDomain); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_preferredClusterDim); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_deviceUpdatableKernelNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, unsigned int __pyx_v_sharedMemCarveout); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, PyObject *__pyx_v_id); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_numAttrs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self, unsigned int __pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union3___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union3_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11anon_union3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_7smCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union3_7smCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount *__pyx_v_smCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_param); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, PyObject *__pyx_v_sharedDataType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, PyObject *__pyx_v_sharedData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, int __pyx_v_numExecAffinityParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, PyObject *__pyx_v_functionTable); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, size_t __pyx_v_functionWindowSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, PyObject *__pyx_v_dataTable); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, size_t __pyx_v_dataWindowSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcHost); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcDevice); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcPitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstHost); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstPitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_WidthInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcLOD); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcHost); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcDevice); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_reserved0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcPitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcHeight); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstLOD); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstHost); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_reserved1); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstPitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstHeight); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_WidthInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_Depth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcLOD); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcHost); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcDevice); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcContext); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcPitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcHeight); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstLOD); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstHost); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstContext); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstPitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstHeight); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_WidthInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_Depth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, int __pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_copyCtx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_copyParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, PyObject *__pyx_v_Format); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_NumChannels); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Depth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, PyObject *__pyx_v_Format); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_NumChannels); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, unsigned int __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, unsigned int __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, unsigned int __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_tileExtent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned int __pyx_v_miptailFirstLevel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_miptailSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, size_t __pyx_v_alignment); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct7___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6hArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6hArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self, PyObject *__pyx_v_hArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct8___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self, PyObject *__pyx_v_hMipmappedArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6devPtr___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6devPtr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6format___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, PyObject *__pyx_v_format); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11numChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11numChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, unsigned int __pyx_v_numChannels); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, size_t __pyx_v_sizeInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6devPtr___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6devPtr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6format___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, PyObject *__pyx_v_format); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_11numChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_11numChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, unsigned int __pyx_v_numChannels); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, size_t __pyx_v_pitchInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct11___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11anon_union4_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_5array___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_5array_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_6mipmap___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6mipmap_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_6linear___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6linear_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_linear); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_7pitch2D___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_7pitch2D_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_pitch2D); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, PyObject *__pyx_v_resType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_res); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_addressMode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_filterMode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, unsigned int __pyx_v_maxAnisotropy); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_mipmapLevelBias); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_minMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_maxMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_borderColor); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, PyObject *__pyx_v_format); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_firstMipmapLevel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_lastMipmapLevel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_firstLayer); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_lastLayer); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self, PyObject *__pyx_v_opaque); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_p2pToken); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, unsigned int __pyx_v_vaSpaceToken); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_function); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct12___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4name___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4name_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11anon_union5_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_2fd___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5_2fd_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, int __pyx_v_fd); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_5win32___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5_5win32_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_win32); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_arrayDesc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, unsigned int __pyx_v_numLevels); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct13___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4name___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4name_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11anon_union6_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_2fd___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6_2fd_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, int __pyx_v_fd); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_5win32___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6_5win32_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_win32); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct14___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union7___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union7_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11anon_union7_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_5fence___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union7_5fence_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, PyObject *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union7_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct15___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_3key___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_3key_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_5fence___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_5fence_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_nvSciSync); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_keyedMutex); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_params); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct17___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union8___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union8_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11anon_union8_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_5fence___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union8_5fence_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, PyObject *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union8_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct18___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_3key___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_3key_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, unsigned int __pyx_v_timeoutMs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_5fence___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_5fence_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_nvSciSync); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_keyedMutex); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_params); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union9___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union9_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11anon_union9_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_6mipmap___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union9_6mipmap_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, PyObject *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_5array___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11anon_union9_5array_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5level___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5level_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_level); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5layer___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5layer_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_layer); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetX___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_offsetX); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetY___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_offsetY); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_offsetZ); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentWidth___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_extentWidth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12extentHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_extentHeight); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentDepth___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_extentDepth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_5layer___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_5layer_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, unsigned int __pyx_v_layer); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union10___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union10_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_union10_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_11sparseLevel___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_sparseLevel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_7miptail___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union10_7miptail_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_miptail); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union11___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union11_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_union11_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_9memHandle___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union11_9memHandle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self, PyObject *__pyx_v_memHandle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_resourceType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_subresourceType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_subresource); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_memOperationType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_memHandleType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_memHandle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, unsigned int __pyx_v_deviceBitMask); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2id___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2id_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, int __pyx_v_id); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_15compressionType___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_15compressionType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, unsigned char __pyx_v_compressionType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, unsigned char __pyx_v_gpuDirectRDMACapable); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_5usage___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_5usage_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, unsigned short __pyx_v_usage); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_requestedHandleTypes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_win32HandleMetaData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_allocFlags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, unsigned int __pyx_v_numDevices); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_handleTypes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, PyObject *__pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_result); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_errorNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_errorFromNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_allocType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_handleTypes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, size_t __pyx_v_maxSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, unsigned short __pyx_v_usage); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, PyObject *__pyx_v_srcAccessOrder); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_srcLocHint); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_dstLocHint); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1x___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1x_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, size_t __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1y___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1y_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, size_t __pyx_v_y); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1z___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1z_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, size_t __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, size_t __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_3ptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_3ptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_9rowLength___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_9rowLength_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, size_t __pyx_v_rowLength); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_11layerHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, size_t __pyx_v_layerHeight); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_7locHint___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_7locHint_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_locHint); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct24___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_5array___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_5array_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D *__pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union12___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union12_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_union12_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_3ptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union12_3ptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_5array___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union12_5array_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_op); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *__pyx_v_dst); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D *__pyx_v_extent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, PyObject *__pyx_v_srcAccessOrder); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, size_t __pyx_v_accessDescCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_accessDescCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_ownership); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_reserved0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_reserved1); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 *__pyx_v_kernel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS *__pyx_v_memcpy); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 *__pyx_v_memset); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 *__pyx_v_host); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS *__pyx_v_eventWait); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS *__pyx_v_eventRecord); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *__pyx_v_extSemSignal); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *__pyx_v_extSemWait); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *__pyx_v_alloc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS *__pyx_v_free); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *__pyx_v_memOp); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_conditional); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, PY_LONG_LONG __pyx_v_reserved2); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, unsigned int __pyx_v_timeoutMs); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, unsigned int __pyx_v_reserved0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved1); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, size_t __pyx_v_srcNumBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, size_t __pyx_v_dstNumBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstActBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, PyObject *__pyx_v_dst); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, PyObject *__pyx_v_algo); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, PyObject *__pyx_v_padding); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_smCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v__internal_padding); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2sm___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2sm_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource *__pyx_v_sm); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v__oversize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union15___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union15_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_12anon_union15_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, PyObject *__pyx_v_pArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, PyObject *__pyx_v_pPitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5frame___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_frame); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_planeCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_numChannels); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_frameType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_eglColorFormat); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_cuFormat); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self, uint64_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self, int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_6GLenum___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_6GLenum_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_6GLuint___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_6GLuint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_6EGLint___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_6EGLint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_9VdpDevice___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_9VdpDevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_cuGetErrorString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_2cuGetErrorName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_4cuInit(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_6cuDriverGetVersion(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8cuDeviceGet(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_ordinal); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuDeviceGetCount(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12cuDeviceGetName(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14cuDeviceGetUuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16cuDeviceGetUuid_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuDeviceGetLuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuDeviceTotalMem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuDeviceGetTexture1DLinearMaxWidth(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pformat, unsigned int __pyx_v_numChannels, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cuDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26cuDeviceGetNvSciSyncAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nvSciSyncAttrList, PyObject *__pyx_v_dev, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28cuDeviceSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_pool); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_30cuDeviceGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_32cuDeviceGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34cuDeviceGetExecAffinitySupport(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_typename, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuFlushGPUDirectRDMAWrites(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38cuDeviceGetProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_40cuDeviceComputeCapability(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_42cuDevicePrimaryCtxRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_44cuDevicePrimaryCtxRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_46cuDevicePrimaryCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_48cuDevicePrimaryCtxGetState(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_50cuDevicePrimaryCtxReset(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_52cuCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14cuCtxCreate_v3_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_54cuCtxCreate_v3(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_paramsArray, int __pyx_v_numParams, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_56cuCtxCreate_v4(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams *__pyx_v_ctxCreateParams, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_58cuCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_60cuCtxPushCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_62cuCtxPopCurrent(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_64cuCtxSetCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_66cuCtxGetCurrent(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_68cuCtxGetDevice(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_70cuCtxGetFlags(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_72cuCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_74cuCtxGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_76cuCtxSynchronize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_78cuCtxSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_80cuCtxGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_82cuCtxGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_84cuCtxSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_86cuCtxGetApiVersion(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_88cuCtxGetStreamPriorityRange(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_90cuCtxResetPersistingL2Cache(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_92cuCtxGetExecAffinity(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_94cuCtxRecordEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_96cuCtxWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_98cuCtxAttach(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_100cuCtxDetach(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_102cuCtxGetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_104cuCtxSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_106cuModuleLoad(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_fname); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_108cuModuleLoadData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuModuleLoadDataEx_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_110cuModuleLoadDataEx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_112cuModuleLoadFatBinary(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fatCubin); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_114cuModuleUnload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_116cuModuleGetLoadingMode(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_118cuModuleGetFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_120cuModuleGetFunctionCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mod); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_122cuModuleEnumerateFunctions(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numFunctions, PyObject *__pyx_v_mod); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_124cuModuleGetGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_12cuLinkCreate_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_126cuLinkCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13cuLinkAddData_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_128cuLinkAddData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state, PyObject *__pyx_v_typename, PyObject *__pyx_v_data, size_t __pyx_v_size, char *__pyx_v_name, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_13cuLinkAddFile_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_130cuLinkAddFile(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state, PyObject *__pyx_v_typename, char *__pyx_v_path, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_132cuLinkComplete(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_134cuLinkDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_136cuModuleGetTexRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_138cuModuleGetSurfRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17cuLibraryLoadData_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17cuLibraryLoadData_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_140cuLibraryLoadData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code, PyObject *__pyx_v_jitOptions, PyObject *__pyx_v_jitOptionsValues, unsigned int __pyx_v_numJitOptions, PyObject *__pyx_v_libraryOptions, PyObject *__pyx_v_libraryOptionValues, unsigned int __pyx_v_numLibraryOptions); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_142cuLibraryLoadFromFile(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_fileName, PyObject *__pyx_v_jitOptions, PyObject *__pyx_v_jitOptionsValues, unsigned int __pyx_v_numJitOptions, PyObject *__pyx_v_libraryOptions, PyObject *__pyx_v_libraryOptionValues, unsigned int __pyx_v_numLibraryOptions); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_144cuLibraryUnload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_146cuLibraryGetKernel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_148cuLibraryGetKernelCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_lib); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_150cuLibraryEnumerateKernels(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numKernels, PyObject *__pyx_v_lib); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_152cuLibraryGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_154cuKernelGetFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_156cuKernelGetLibrary(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_158cuLibraryGetGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_160cuLibraryGetManaged(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_162cuLibraryGetUnifiedFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_symbol); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_164cuKernelGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_kernel, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_166cuKernelSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, int __pyx_v_val, PyObject *__pyx_v_kernel, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_168cuKernelSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel, PyObject *__pyx_v_config, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_170cuKernelGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_172cuKernelGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel, size_t __pyx_v_paramIndex); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_174cuMemGetInfo(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_176cuMemAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_178cuMemAllocPitch(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_WidthInBytes, size_t __pyx_v_Height, unsigned int __pyx_v_ElementSizeBytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_180cuMemFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_182cuMemGetAddressRange(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_184cuMemAllocHost(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_186cuMemFreeHost(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_188cuMemHostAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_190cuMemHostGetDevicePointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_192cuMemHostGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_194cuMemAllocManaged(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_196cuDeviceRegisterAsyncNotification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_callbackFunc, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_198cuDeviceUnregisterAsyncNotification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_200cuDeviceGetByPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_pciBusId); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_202cuDeviceGetPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_204cuIpcGetEventHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_206cuIpcOpenEventHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_208cuIpcGetMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_210cuIpcOpenMemHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle *__pyx_v_handle, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_212cuIpcCloseMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_214cuMemHostRegister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p, size_t __pyx_v_bytesize, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_216cuMemHostUnregister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_218cuMemcpy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_220cuMemcpyPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_dstContext, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_srcContext, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_222cuMemcpyHtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_224cuMemcpyDtoH(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_226cuMemcpyDtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_228cuMemcpyDtoA(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstArray, size_t __pyx_v_dstOffset, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_230cuMemcpyAtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcArray, size_t __pyx_v_srcOffset, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_232cuMemcpyHtoA(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstArray, size_t __pyx_v_dstOffset, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_234cuMemcpyAtoH(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcArray, size_t __pyx_v_srcOffset, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_236cuMemcpyAtoA(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstArray, size_t __pyx_v_dstOffset, PyObject *__pyx_v_srcArray, size_t __pyx_v_srcOffset, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_238cuMemcpy2D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_240cuMemcpy2DUnaligned(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_242cuMemcpy3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_pCopy); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_244cuMemcpy3DPeer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_246cuMemcpyAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_248cuMemcpyPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_dstContext, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_srcContext, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_250cuMemcpyHtoDAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_252cuMemcpyDtoHAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_254cuMemcpyDtoDAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_256cuMemcpyHtoAAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstArray, size_t __pyx_v_dstOffset, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_258cuMemcpyAtoHAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcArray, size_t __pyx_v_srcOffset, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_260cuMemcpy2DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_262cuMemcpy3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_pCopy, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_264cuMemcpy3DPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_12genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_266cuMemcpyBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dsts, PyObject *__pyx_v_srcs, PyObject *__pyx_v_sizes, size_t __pyx_v_count, PyObject *__pyx_v_attrs, PyObject *__pyx_v_attrsIdxs, size_t __pyx_v_numAttrs, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_268cuMemcpy3DBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_numOps, PyObject *__pyx_v_opList, unsigned PY_LONG_LONG __pyx_v_flags, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_270cuMemsetD8(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned char __pyx_v_uc, size_t __pyx_v_N); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_272cuMemsetD16(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned short __pyx_v_us, size_t __pyx_v_N); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_274cuMemsetD32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned int __pyx_v_ui, size_t __pyx_v_N); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_276cuMemsetD2D8(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned char __pyx_v_uc, size_t __pyx_v_Width, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_278cuMemsetD2D16(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned short __pyx_v_us, size_t __pyx_v_Width, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_280cuMemsetD2D32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned int __pyx_v_ui, size_t __pyx_v_Width, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_282cuMemsetD8Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned char __pyx_v_uc, size_t __pyx_v_N, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_284cuMemsetD16Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned short __pyx_v_us, size_t __pyx_v_N, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_286cuMemsetD32Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned int __pyx_v_ui, size_t __pyx_v_N, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_288cuMemsetD2D8Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned char __pyx_v_uc, size_t __pyx_v_Width, size_t __pyx_v_Height, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_290cuMemsetD2D16Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned short __pyx_v_us, size_t __pyx_v_Width, size_t __pyx_v_Height, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_292cuMemsetD2D32Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned int __pyx_v_ui, size_t __pyx_v_Width, size_t __pyx_v_Height, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_294cuArrayCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *__pyx_v_pAllocateArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_296cuArrayGetDescriptor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_298cuArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_300cuMipmappedArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_302cuArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_304cuMipmappedArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_306cuArrayGetPlane(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray, unsigned int __pyx_v_planeIdx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_308cuArrayDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_310cuArray3DCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pAllocateArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_312cuArray3DGetDescriptor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_314cuMipmappedArrayCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pMipmappedArrayDesc, unsigned int __pyx_v_numMipmapLevels); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_316cuMipmappedArrayGetLevel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hMipmappedArray, unsigned int __pyx_v_level); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_318cuMipmappedArrayDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hMipmappedArray); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_320cuMemGetHandleForAddressRange(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr, size_t __pyx_v_size, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_322cuMemBatchDecompressAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams *__pyx_v_paramsArray, size_t __pyx_v_count, unsigned int __pyx_v_flags, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_324cuMemAddressReserve(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, size_t __pyx_v_alignment, PyObject *__pyx_v_addr, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_326cuMemAddressFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_328cuMemCreate(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *__pyx_v_prop, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_330cuMemRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_332cuMemMap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size, size_t __pyx_v_offset, PyObject *__pyx_v_handle, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemMapArrayAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_334cuMemMapArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mapInfoList, unsigned int __pyx_v_count, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_336cuMemUnmap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14cuMemSetAccess_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_338cuMemSetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size, PyObject *__pyx_v_desc, size_t __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_340cuMemGetAccess(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_342cuMemExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_344cuMemImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_osHandle, PyObject *__pyx_v_shHandleType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_346cuMemGetAllocationGranularity(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *__pyx_v_prop, PyObject *__pyx_v_option); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_348cuMemGetAllocationPropertiesFromHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_350cuMemRetainAllocationHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_addr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_352cuMemFreeAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_354cuMemAllocAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_356cuMemPoolTrimTo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, size_t __pyx_v_minBytesToKeep); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_358cuMemPoolSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_attr, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_360cuMemPoolGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemPoolSetAccess_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_362cuMemPoolSetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_map, size_t __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_364cuMemPoolGetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_366cuMemPoolCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_368cuMemPoolDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_370cuMemAllocFromPoolAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, PyObject *__pyx_v_pool, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_372cuMemPoolExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_374cuMemPoolImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_376cuMemPoolExportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_378cuMemPoolImportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData *__pyx_v_shareData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_380cuMulticastCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *__pyx_v_prop); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_382cuMulticastAddDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_384cuMulticastBindMem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, size_t __pyx_v_mcOffset, PyObject *__pyx_v_memHandle, size_t __pyx_v_memOffset, size_t __pyx_v_size, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_386cuMulticastBindAddr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, size_t __pyx_v_mcOffset, PyObject *__pyx_v_memptr, size_t __pyx_v_size, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_388cuMulticastUnbind(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev, size_t __pyx_v_mcOffset, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_390cuMulticastGetGranularity(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *__pyx_v_prop, PyObject *__pyx_v_option); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_392cuPointerGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_394cuMemPrefetchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_396cuMemPrefetchAsync_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, unsigned int __pyx_v_flags, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_398cuMemAdvise(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_400cuMemAdvise_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_402cuMemRangeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_dataSize, PyObject *__pyx_v_attribute, PyObject *__pyx_v_devPtr, size_t __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_404cuMemRangeGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dataSizes, PyObject *__pyx_v_attributes, size_t __pyx_v_numAttributes, PyObject *__pyx_v_devPtr, size_t __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_406cuPointerSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuPointerGetAttributes_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_408cuPointerGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numAttributes, PyObject *__pyx_v_attributes, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_410cuStreamCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_412cuStreamCreateWithPriority(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_414cuStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_416cuStreamGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_418cuStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_420cuStreamGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_422cuStreamGetCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_424cuStreamGetCtx_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_426cuStreamWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_hEvent, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_428cuStreamAddCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_callback, PyObject *__pyx_v_userData, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_430cuStreamBeginCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_432cuStreamBeginCaptureToGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_434cuThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_436cuStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_438cuStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_440cuStreamGetCaptureInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_442cuStreamGetCaptureInfo_v3(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_444cuStreamUpdateCaptureDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_446cuStreamUpdateCaptureDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_448cuStreamAttachMemAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dptr, size_t __pyx_v_length, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_450cuStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_452cuStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_454cuStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_456cuStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_458cuStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_460cuStreamSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_462cuEventCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_464cuEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_466cuEventRecordWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_468cuEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_470cuEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_472cuEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_474cuEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStart, PyObject *__pyx_v_hEnd); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_476cuEventElapsedTime_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStart, PyObject *__pyx_v_hEnd); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_478cuImportExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC *__pyx_v_memHandleDesc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_480cuExternalMemoryGetMappedBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC *__pyx_v_bufferDesc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_482cuExternalMemoryGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *__pyx_v_mipmapDesc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_484cuDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_486cuImportExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *__pyx_v_semHandleDesc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_488cuSignalExternalSemaphoresAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSemArray, PyObject *__pyx_v_paramsArray, unsigned int __pyx_v_numExtSems, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_490cuWaitExternalSemaphoresAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSemArray, PyObject *__pyx_v_paramsArray, unsigned int __pyx_v_numExtSems, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_492cuDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSem); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_494cuStreamWaitValue32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_addr, PyObject *__pyx_v_value, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_496cuStreamWaitValue64(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_addr, PyObject *__pyx_v_value, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_498cuStreamWriteValue32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_addr, PyObject *__pyx_v_value, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_500cuStreamWriteValue64(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_addr, PyObject *__pyx_v_value, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuStreamBatchMemOp_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_502cuStreamBatchMemOp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, unsigned int __pyx_v_count, PyObject *__pyx_v_paramArray, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_504cuFuncGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_506cuFuncSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_attrib, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_508cuFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_510cuFuncGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_512cuFuncGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_514cuFuncGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, size_t __pyx_v_paramIndex); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_516cuFuncIsLoaded(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_518cuFuncLoad(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_520cuLaunchKernel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, unsigned int __pyx_v_gridDimX, unsigned int __pyx_v_gridDimY, unsigned int __pyx_v_gridDimZ, unsigned int __pyx_v_blockDimX, unsigned int __pyx_v_blockDimY, unsigned int __pyx_v_blockDimZ, unsigned int __pyx_v_sharedMemBytes, PyObject *__pyx_v_hStream, PyObject *__pyx_v_kernelParams, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_522cuLaunchKernelEx(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config, PyObject *__pyx_v_f, PyObject *__pyx_v_kernelParams, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_524cuLaunchCooperativeKernel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, unsigned int __pyx_v_gridDimX, unsigned int __pyx_v_gridDimY, unsigned int __pyx_v_gridDimZ, unsigned int __pyx_v_blockDimX, unsigned int __pyx_v_blockDimY, unsigned int __pyx_v_blockDimZ, unsigned int __pyx_v_sharedMemBytes, PyObject *__pyx_v_hStream, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuLaunchCooperativeKernelMultiDevice_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_526cuLaunchCooperativeKernelMultiDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_launchParamsList, unsigned int __pyx_v_numDevices, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_528cuLaunchHostFunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_fn, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_530cuFuncSetBlockShape(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_x, int __pyx_v_y, int __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_532cuFuncSetSharedSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_534cuParamSetSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_536cuParamSeti(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_538cuParamSetf(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_540cuParamSetv(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, PyObject *__pyx_v_ptr, unsigned int __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_542cuLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_544cuLaunchGrid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, int __pyx_v_grid_width, int __pyx_v_grid_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_546cuLaunchGridAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, int __pyx_v_grid_width, int __pyx_v_grid_height, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_548cuParamSetTexRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_texunit, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_550cuFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_552cuGraphCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuGraphAddKernelNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_554cuGraphAddKernelNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_556cuGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_558cuGraphKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_560cuGraphAddMemcpyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_copyParams, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_562cuGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_564cuGraphMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_566cuGraphAddMemsetNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_568cuGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_570cuGraphMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuGraphAddHostNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_572cuGraphAddHostNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_574cuGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_576cuGraphHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_578cuGraphAddChildGraphNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_childGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_580cuGraphChildGraphNodeGetGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_19cuGraphAddEmptyNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_582cuGraphAddEmptyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_584cuGraphAddEventRecordNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_586cuGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_588cuGraphEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_590cuGraphAddEventWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_592cuGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_594cuGraphEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_38cuGraphAddExternalSemaphoresSignalNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_596cuGraphAddExternalSemaphoresSignalNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_598cuGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_600cuGraphExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuGraphAddExternalSemaphoresWaitNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_602cuGraphAddExternalSemaphoresWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_604cuGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cuGraphAddBatchMemOpNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_608cuGraphAddBatchMemOpNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_610cuGraphBatchMemOpNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_612cuGraphBatchMemOpNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_614cuGraphExecBatchMemOpNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuGraphAddMemAllocNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_616cuGraphAddMemAllocNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_618cuGraphMemAllocNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_620cuGraphAddMemFreeNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_622cuGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_624cuDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_626cuDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_628cuDeviceSetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_630cuGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_632cuGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hOriginalNode, PyObject *__pyx_v_hClonedGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_634cuGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_636cuGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numNodes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_638cuGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numRootNodes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_640cuGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_642cuGraphGetEdges_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_644cuGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_646cuGraphNodeGetDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_648cuGraphNodeGetDependentNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependentNodes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_650cuGraphNodeGetDependentNodes_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependentNodes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuGraphAddDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuGraphAddDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_652cuGraphAddDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_654cuGraphAddDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, PyObject *__pyx_v_edgeData, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_656cuGraphRemoveDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_658cuGraphRemoveDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, PyObject *__pyx_v_edgeData, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_660cuGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_662cuGraphInstantiate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_664cuGraphInstantiateWithParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS *__pyx_v_instantiateParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_666cuGraphExecGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_668cuGraphExecKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_670cuGraphExecMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_copyParams, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_672cuGraphExecMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_674cuGraphExecHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_676cuGraphExecChildGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_childGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_678cuGraphExecEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_680cuGraphExecEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_682cuGraphExecExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_684cuGraphExecExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_686cuGraphNodeSetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, unsigned int __pyx_v_isEnabled); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_688cuGraphNodeGetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_690cuGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_692cuGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_694cuGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_696cuGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_698cuGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_700cuGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_702cuGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_704cuGraphKernelNodeSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_706cuGraphDebugDotPrint(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, char *__pyx_v_path, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_708cuUserObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, PyObject *__pyx_v_destroy, unsigned int __pyx_v_initialRefcount, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_710cuUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_712cuUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_714cuGraphRetainUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_716cuGraphReleaseUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_14cuGraphAddNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_718cuGraphAddNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17cuGraphAddNode_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_17cuGraphAddNode_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_720cuGraphAddNode_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_722cuGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_724cuGraphExecNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_726cuGraphConditionalHandleCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_ctx, unsigned int __pyx_v_defaultLaunchValue, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_728cuOccupancyMaxActiveBlocksPerMultiprocessor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_730cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_732cuOccupancyMaxPotentialBlockSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_blockSizeToDynamicSMemSize, size_t __pyx_v_dynamicSMemSize, int __pyx_v_blockSizeLimit); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_734cuOccupancyMaxPotentialBlockSizeWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_blockSizeToDynamicSMemSize, size_t __pyx_v_dynamicSMemSize, int __pyx_v_blockSizeLimit, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_736cuOccupancyAvailableDynamicSMemPerBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_numBlocks, int __pyx_v_blockSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_738cuOccupancyMaxPotentialClusterSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_740cuOccupancyMaxActiveClusters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_742cuTexRefSetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_hArray, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_744cuTexRefSetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_hMipmappedArray, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_746cuTexRefSetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_dptr, size_t __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_748cuTexRefSetAddress2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *__pyx_v_desc, PyObject *__pyx_v_dptr, size_t __pyx_v_Pitch); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_750cuTexRefSetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fmt, int __pyx_v_NumPackedComponents); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_752cuTexRefSetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim, PyObject *__pyx_v_am); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_754cuTexRefSetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_756cuTexRefSetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_758cuTexRefSetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_bias); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_760cuTexRefSetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_minMipmapLevelClamp, float __pyx_v_maxMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_762cuTexRefSetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_maxAniso); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_764cuTexRefSetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_pBorderColor); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_766cuTexRefSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_768cuTexRefGetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_770cuTexRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_772cuTexRefGetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_774cuTexRefGetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_776cuTexRefGetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_778cuTexRefGetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_780cuTexRefGetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_782cuTexRefGetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_784cuTexRefGetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_786cuTexRefGetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_788cuTexRefGetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_790cuTexRefGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_792cuTexRefCreate(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_794cuTexRefDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_796cuSurfRefSetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef, PyObject *__pyx_v_hArray, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_798cuSurfRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_800cuTexObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *__pyx_v_pResDesc, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC *__pyx_v_pTexDesc, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC *__pyx_v_pResViewDesc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_802cuTexObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_804cuTexObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_806cuTexObjectGetTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_808cuTexObjectGetResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_810cuSurfObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *__pyx_v_pResDesc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_812cuSurfObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_814cuSurfObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_816cuTensorMapEncodeTiled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_tensorDataType, PyObject *__pyx_v_tensorRank, PyObject *__pyx_v_globalAddress, PyObject *__pyx_v_globalDim, PyObject *__pyx_v_globalStrides, PyObject *__pyx_v_boxDim, PyObject *__pyx_v_elementStrides, PyObject *__pyx_v_interleave, PyObject *__pyx_v_swizzle, PyObject *__pyx_v_l2Promotion, PyObject *__pyx_v_oobFill); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_12genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_818cuTensorMapEncodeIm2col(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_tensorDataType, PyObject *__pyx_v_tensorRank, PyObject *__pyx_v_globalAddress, PyObject *__pyx_v_globalDim, PyObject *__pyx_v_globalStrides, PyObject *__pyx_v_pixelBoxLowerCorner, PyObject *__pyx_v_pixelBoxUpperCorner, PyObject *__pyx_v_channelsPerPixel, PyObject *__pyx_v_pixelsPerColumn, PyObject *__pyx_v_elementStrides, PyObject *__pyx_v_interleave, PyObject *__pyx_v_swizzle, PyObject *__pyx_v_l2Promotion, PyObject *__pyx_v_oobFill); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_820cuTensorMapEncodeIm2colWide(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_tensorDataType, PyObject *__pyx_v_tensorRank, PyObject *__pyx_v_globalAddress, PyObject *__pyx_v_globalDim, PyObject *__pyx_v_globalStrides, int __pyx_v_pixelBoxLowerCornerWidth, int __pyx_v_pixelBoxUpperCornerWidth, PyObject *__pyx_v_channelsPerPixel, PyObject *__pyx_v_pixelsPerColumn, PyObject *__pyx_v_elementStrides, PyObject *__pyx_v_interleave, PyObject *__pyx_v_mode, PyObject *__pyx_v_swizzle, PyObject *__pyx_v_l2Promotion, PyObject *__pyx_v_oobFill); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_822cuTensorMapReplaceAddress(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *__pyx_v_tensorMap, PyObject *__pyx_v_globalAddress); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_824cuDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_peerDev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_826cuCtxEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_828cuCtxDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_830cuDeviceGetP2PAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_832cuGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_834cuGraphicsSubResourceGetMappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_arrayIndex, unsigned int __pyx_v_mipLevel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_836cuGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_838cuGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_840cuGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_842cuGraphicsMapResources(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_844cuGraphicsUnmapResources(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_846cuGetProcAddress(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_symbol, int __pyx_v_cudaVersion, PyObject *__pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_848cuCoredumpGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_850cuCoredumpGetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_852cuCoredumpSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_854cuCoredumpSetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_856cuGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_pExportTableId); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_858cuGreenCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_desc, PyObject *__pyx_v_dev, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_860cuGreenCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_862cuCtxFromGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_864cuDeviceGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_866cuCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_868cuGreenCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_870cuDevSmResourceSplitByCount(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_nbGroups, struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_input_, unsigned int __pyx_v_useFlags, unsigned int __pyx_v_minCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuDevResourceGenerateDesc_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_872cuDevResourceGenerateDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resources, unsigned int __pyx_v_nbResources); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_874cuGreenCtxRecordEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_876cuGreenCtxWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_878cuStreamGetGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_880cuGreenCtxStreamCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_greenCtx, unsigned int __pyx_v_flags, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_882cuLogsRegisterCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callbackFunc, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_884cuLogsUnregisterCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_886cuLogsCurrent(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_888cuLogsDumpToFile(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_iterator, char *__pyx_v_pathToFile, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_890cuLogsDumpToMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_iterator, char *__pyx_v_buffer, size_t __pyx_v_size, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_892cuCheckpointProcessGetRestoreThreadId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_894cuCheckpointProcessGetState(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_896cuCheckpointProcessLock(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid, struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_898cuCheckpointProcessCheckpoint(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid, struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_900cuCheckpointProcessRestore(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid, struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_902cuCheckpointProcessUnlock(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid, struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_904cuProfilerStart(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_906cuProfilerStop(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_908cuGraphicsEGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_910cuEGLStreamConsumerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_912cuEGLStreamConsumerConnectWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_914cuEGLStreamConsumerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_916cuEGLStreamConsumerAcquireFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream, unsigned int __pyx_v_timeout); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_918cuEGLStreamConsumerReleaseFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_920cuEGLStreamProducerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_width, PyObject *__pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_922cuEGLStreamProducerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_924cuEGLStreamProducerPresentFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_926cuEGLStreamProducerReturnFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_928cuGraphicsResourceGetMappedEglFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_index, unsigned int __pyx_v_mipLevel); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_930cuEventCreateFromEGLSync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglSync, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_932cuGraphicsGLRegisterBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buffer, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_934cuGraphicsGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, PyObject *__pyx_v_target, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_936cuGLGetDevices(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_cudaDeviceCount, PyObject *__pyx_v_deviceList); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_938cuVDPAUGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_940cuVDPAUCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, PyObject *__pyx_v_device, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_942cuGraphicsVDPAURegisterVideoSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_944cuGraphicsVDPAURegisterOutputSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal___dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_946sizeof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_CUcontext_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_2CUmodule_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_4CUfunction_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_6CUlibrary_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_8CUkernel_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_10CUarray_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_12CUmipmappedArray_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_14CUtexref_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_16CUsurfref_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_18CUevent_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_20CUstream_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_22CUgraphicsResource_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_24CUexternalMemory_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_26CUexternalSemaphore_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_28CUgraph_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_30CUgraphNode_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_32CUgraphExec_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_34CUmemoryPool_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_36CUuserObject_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_38CUgraphDeviceNode_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_40CUasyncCallbackHandle_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_42CUgreenCtx_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_44CUlinkState_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_46CUdevResourceDesc_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_48CUlogsCallbackHandle_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_50CUeglStreamConnection_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_52EGLImageKHR_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_54EGLStreamKHR_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_56EGLSyncKHR_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_x); /* proto */
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperKernelParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperInputVoidPtr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmemPool_attribute(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmem_range_attribute(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUpointer_attribute(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUgraphMem_attribute(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUjit_option(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCudaJitOption(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUlibraryOption(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCudaLibraryOption(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__InputVoidPtrPtrHelper(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUcoredumpSettings(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcontext(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmodule(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUfunction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlibrary(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUkernel(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUarray(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmipmappedArray(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUtexref(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUsurfref(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUevent(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphicsResource(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUexternalMemory(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUexternalSemaphore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraph(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphExec(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemoryPool(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUuserObject(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphDeviceNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUasyncCallbackHandle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgreenCtx(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlinkState(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevResourceDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlogsCallbackHandle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUeglStreamConnection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_EGLImageKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_EGLStreamKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_EGLSyncKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUasyncCallback(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUhostFn(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamCallback(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUoccupancyB2DSize(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlogsCallback(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUuuid_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemFabricHandle_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUipcEventHandle_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUipcMemHandle_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct0(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union2(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUasyncNotificationInfo_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevprop_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUaccessPolicyWindow_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphEdgeData_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct2(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct3(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct4(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct5(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttribute_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchConfig_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinitySmCount_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union3(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinityParam_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUctxCigParam_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUctxCreateParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct6(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct7(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct8(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct9(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct10(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct11(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union4(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUtensorMap_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct12(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union5(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct13(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union6(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct14(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union7(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct15(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct16(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct17(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union8(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct18(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct19(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union9(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct20(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct21(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union10(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union11(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUarrayMapInfo_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemLocation_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct22(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemAllocationProp_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmulticastObjectProp_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemAccessDesc_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolProps_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpyAttributes_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUoffset3D_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUextent3D_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct23(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct24(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union12(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpy3DOperand_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphNodeParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointLockArgs_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemDecompressParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevSmResource_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevResource_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union15(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUeglFrame_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdeviceptr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUtexObject(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUsurfObject(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphConditionalHandle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemGenericAllocationHandle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_cuuint32_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_cuuint64_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdeviceptr_v2(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevice_v1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUtexObject_v1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUsurfObject_v1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlogIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_GLenum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_GLuint(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_EGLint(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_VdpDevice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_VdpGetProcAddress(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_VdpVideoSurface(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_VdpOutputSurface(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_cudaBindingsDriverGlobal(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct__genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
/* #### Code section: late_includes ### */
/* #### Code section: module_state ### */
/* SmallCodeConfig */
#ifndef CYTHON_SMALL_CODE
#if defined(__clang__)
    #define CYTHON_SMALL_CODE
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
    #define CYTHON_SMALL_CODE __attribute__((cold))
#else
    #define CYTHON_SMALL_CODE
#endif
#endif

typedef struct {
  PyObject *__pyx_d;
  PyObject *__pyx_b;
  PyObject *__pyx_cython_runtime;
  PyObject *__pyx_empty_tuple;
  PyObject *__pyx_empty_bytes;
  PyObject *__pyx_empty_unicode;
  #ifdef __Pyx_CyFunction_USED
  PyTypeObject *__pyx_CyFunctionType;
  #endif
  #ifdef __Pyx_FusedFunction_USED
  PyTypeObject *__pyx_FusedFunctionType;
  #endif
  #ifdef __Pyx_Generator_USED
  PyTypeObject *__pyx_GeneratorType;
  #endif
  #ifdef __Pyx_IterableCoroutine_USED
  PyTypeObject *__pyx_IterableCoroutineType;
  #endif
  #ifdef __Pyx_Coroutine_USED
  PyTypeObject *__pyx_CoroutineAwaitType;
  #endif
  #ifdef __Pyx_Coroutine_USED
  PyTypeObject *__pyx_CoroutineType;
  #endif
  PyTypeObject *__pyx_ptype_7cpython_4type_type;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperKernelParams;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCUjit_option;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType;
  PyObject *__pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper;
  PyObject *__pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcontext;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmodule;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUfunction;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlibrary;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUkernel;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUarray;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmipmappedArray;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUtexref;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUsurfref;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUevent;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstream;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphicsResource;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUexternalMemory;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraph;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphNode;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphExec;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemoryPool;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUuserObject;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgreenCtx;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlinkState;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection;
  PyObject *__pyx_type_4cuda_8bindings_6driver_EGLImageKHR;
  PyObject *__pyx_type_4cuda_8bindings_6driver_EGLStreamKHR;
  PyObject *__pyx_type_4cuda_8bindings_6driver_EGLSyncKHR;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUasyncCallback;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUhostFn;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamCallback;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlogsCallback;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUuuid_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct0;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevprop_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct3;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct4;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct5;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union3;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct6;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct7;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct8;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct9;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct10;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct11;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union4;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUtensorMap_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct12;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union5;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct13;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union6;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct14;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union7;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct15;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct16;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct17;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union8;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct18;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct19;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union9;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct20;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct21;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union10;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union11;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemLocation_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct22;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUoffset3D_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUextent3D_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct23;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_struct24;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union12;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevResource_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_anon_union15;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUeglFrame_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdeviceptr;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevice;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUtexObject;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUsurfObject;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUuuid;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevprop_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevprop;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUctxCigParam;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUtensorMap;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemLocation;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUoffset3D;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUextent3D_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUextent3D;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevSmResource;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevResource_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevResource;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUeglFrame;
  PyObject *__pyx_type_4cuda_8bindings_6driver_cuuint32_t;
  PyObject *__pyx_type_4cuda_8bindings_6driver_cuuint64_t;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevice_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUtexObject_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUlogIterator;
  PyObject *__pyx_type_4cuda_8bindings_6driver_GLenum;
  PyObject *__pyx_type_4cuda_8bindings_6driver_GLuint;
  PyObject *__pyx_type_4cuda_8bindings_6driver_EGLint;
  PyObject *__pyx_type_4cuda_8bindings_6driver_VdpDevice;
  PyObject *__pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress;
  PyObject *__pyx_type_4cuda_8bindings_6driver_VdpVideoSurface;
  PyObject *__pyx_type_4cuda_8bindings_6driver_VdpOutputSurface;
  PyObject *__pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcontext;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmodule;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUfunction;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlibrary;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUkernel;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUarray;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUtexref;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUsurfref;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUevent;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstream;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraph;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUuserObject;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlinkState;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUhostFn;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct0;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct3;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct4;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct5;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union3;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct6;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct7;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct8;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct9;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct10;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct11;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union4;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct12;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union5;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct13;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union6;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct14;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union7;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct15;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct16;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct17;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union8;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct18;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct19;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union9;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct20;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct21;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union10;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union11;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct22;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct23;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_struct24;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union12;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_anon_union15;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevice;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUtexObject;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUuuid;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevprop;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUextent3D;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevResource;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_GLenum;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_GLuint;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_EGLint;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_VdpDevice;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_pop;
  PyObject *__pyx_tuple[1];
  PyObject *__pyx_codeobj_tab[1255];
  PyObject *__pyx_string_tab[4566];
  PyObject *__pyx_int_0;
  PyObject *__pyx_int_1;
  PyObject *__pyx_int_127;
  PyObject *__pyx_int_256;
  PyObject *__pyx_int_1024;
  PyObject *__pyx_int_neg_129;
/* #### Code section: module_state_contents ### */
/* CommonTypesMetaclass.module_state_decls */
PyTypeObject *__pyx_CommonTypesMetaclassType;

/* CachedMethodType.module_state_decls */
#if CYTHON_COMPILING_IN_LIMITED_API
PyObject *__Pyx_CachedMethodType;
#endif


#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct__genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct__genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr;
#endif
/* CodeObjectCache.module_state_decls */
struct __Pyx_CodeObjectCache __pyx_code_cache;

/* IterNextPlain.module_state_decls */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
PyObject *__Pyx_GetBuiltinNext_LimitedAPI_cache;
#endif

/* #### Code section: module_state_end ### */
} __pyx_mstatetype;

#if CYTHON_USE_MODULE_STATE
#ifdef __cplusplus
namespace {
extern struct PyModuleDef __pyx_moduledef;
} /* anonymous namespace */
#else
static struct PyModuleDef __pyx_moduledef;
#endif

#define __pyx_mstate_global (__Pyx_PyModule_GetState(__Pyx_State_FindModule(&__pyx_moduledef)))

#define __pyx_m (__Pyx_State_FindModule(&__pyx_moduledef))
#else
static __pyx_mstatetype __pyx_mstate_global_static =
#ifdef __cplusplus
    {};
#else
    {0};
#endif
static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_static;
#endif
/* #### Code section: constant_name_defines ### */
#define __pyx_kp_u_ __pyx_string_tab[0]
#define __pyx_kp_u_Access_flags_that_specify_the_l __pyx_string_tab[1]
#define __pyx_n_u_Any __pyx_string_tab[2]
#define __pyx_kp_u_Argument_attributes_is_not_insta __pyx_string_tab[3]
#define __pyx_kp_u_Argument_attributes_is_not_insta_2 __pyx_string_tab[4]
#define __pyx_kp_u_Argument_attrsIdxs_is_not_instan __pyx_string_tab[5]
#define __pyx_kp_u_Argument_attrs_is_not_instance_o __pyx_string_tab[6]
#define __pyx_kp_u_Argument_boxDim_is_not_instance __pyx_string_tab[7]
#define __pyx_kp_u_Argument_conn_is_not_instance_of __pyx_string_tab[8]
#define __pyx_kp_u_Argument_dataSizes_is_not_instan __pyx_string_tab[9]
#define __pyx_kp_u_Argument_dependencies_is_not_ins __pyx_string_tab[10]
#define __pyx_kp_u_Argument_dependencyData_is_not_i __pyx_string_tab[11]
#define __pyx_kp_u_Argument_desc_is_not_instance_of __pyx_string_tab[12]
#define __pyx_kp_u_Argument_dsts_is_not_instance_of __pyx_string_tab[13]
#define __pyx_kp_u_Argument_edgeData_is_not_instanc __pyx_string_tab[14]
#define __pyx_kp_u_Argument_elementStrides_is_not_i __pyx_string_tab[15]
#define __pyx_kp_u_Argument_extSemArray_is_not_inst __pyx_string_tab[16]
#define __pyx_kp_u_Argument_from__is_not_instance_o __pyx_string_tab[17]
#define __pyx_kp_u_Argument_globalDim_is_not_instan __pyx_string_tab[18]
#define __pyx_kp_u_Argument_globalStrides_is_not_in __pyx_string_tab[19]
#define __pyx_kp_u_Argument_jitOptions_is_not_insta __pyx_string_tab[20]
#define __pyx_kp_u_Argument_kernelParams_failed_to __pyx_string_tab[21]
#define __pyx_kp_u_Argument_kernelParams_has_tuples __pyx_string_tab[22]
#define __pyx_kp_u_Argument_kernelParams_is_not_a_v __pyx_string_tab[23]
#define __pyx_kp_u_Argument_launchParamsList_is_not __pyx_string_tab[24]
#define __pyx_kp_u_Argument_libraryOptions_is_not_i __pyx_string_tab[25]
#define __pyx_kp_u_Argument_mapInfoList_is_not_inst __pyx_string_tab[26]
#define __pyx_kp_u_Argument_map_is_not_instance_of __pyx_string_tab[27]
#define __pyx_kp_u_Argument_opList_is_not_instance __pyx_string_tab[28]
#define __pyx_kp_u_Argument_options_is_not_instance __pyx_string_tab[29]
#define __pyx_kp_u_Argument_pCudaResource_is_not_in __pyx_string_tab[30]
#define __pyx_kp_u_Argument_pStream_is_not_instance __pyx_string_tab[31]
#define __pyx_kp_u_Argument_paramArray_is_not_insta __pyx_string_tab[32]
#define __pyx_kp_u_Argument_paramsArray_is_not_inst __pyx_string_tab[33]
#define __pyx_kp_u_Argument_paramsArray_is_not_inst_2 __pyx_string_tab[34]
#define __pyx_kp_u_Argument_paramsArray_is_not_inst_3 __pyx_string_tab[35]
#define __pyx_kp_u_Argument_pixelBoxLowerCorner_is __pyx_string_tab[36]
#define __pyx_kp_u_Argument_pixelBoxUpperCorner_is __pyx_string_tab[37]
#define __pyx_kp_u_Argument_resources_is_not_instan __pyx_string_tab[38]
#define __pyx_kp_u_Argument_resources_is_not_instan_2 __pyx_string_tab[39]
#define __pyx_kp_u_Argument_sizes_is_not_instance_o __pyx_string_tab[40]
#define __pyx_kp_u_Argument_srcs_is_not_instance_of __pyx_string_tab[41]
#define __pyx_kp_u_Argument_to_is_not_instance_of_t __pyx_string_tab[42]
#define __pyx_kp_u_Argument_vdpGetProcAddress_is_no __pyx_string_tab[43]
#define __pyx_kp_u_Array_formats __pyx_string_tab[44]
#define __pyx_kp_u_Array_indices_for_cube_faces __pyx_string_tab[45]
#define __pyx_n_u_AssertionError __pyx_string_tab[46]
#define __pyx_kp_u_Bitmasks_for_CU_DEVICE_ATTRIBUT __pyx_string_tab[47]
#define __pyx_kp_u_Bitmasks_for_py_obj_CU_DEVICE_A __pyx_string_tab[48]
#define __pyx_n_u_ByteCount __pyx_string_tab[49]
#define __pyx_n_u_ByteOffset __pyx_string_tab[50]
#define __pyx_n_u_CIG_DATA_TYPE_D3D12_COMMAND_QUEU __pyx_string_tab[51]
#define __pyx_n_u_CIG_DATA_TYPE_NV_BLOB __pyx_string_tab[52]
#define __pyx_n_u_CUCoredumpGenerationFlags __pyx_string_tab[53]
#define __pyx_n_u_CUDA_ARRAY3D_2DARRAY __pyx_string_tab[54]
#define __pyx_n_u_CUDA_ARRAY3D_COLOR_ATTACHMENT __pyx_string_tab[55]
#define __pyx_n_u_CUDA_ARRAY3D_CUBEMAP __pyx_string_tab[56]
#define __pyx_n_u_CUDA_ARRAY3D_DEFERRED_MAPPING __pyx_string_tab[57]
#define __pyx_n_u_CUDA_ARRAY3D_DEPTH_TEXTURE __pyx_string_tab[58]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR __pyx_string_tab[59]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_string_tab[60]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st___red __pyx_string_tab[61]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st___set __pyx_string_tab[62]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st_getPt __pyx_string_tab[63]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_v2 __pyx_string_tab[64]
#define __pyx_n_u_CUDA_ARRAY3D_LAYERED __pyx_string_tab[65]
#define __pyx_n_u_CUDA_ARRAY3D_SPARSE __pyx_string_tab[66]
#define __pyx_n_u_CUDA_ARRAY3D_SURFACE_LDST __pyx_string_tab[67]
#define __pyx_n_u_CUDA_ARRAY3D_TEXTURE_GATHER __pyx_string_tab[68]
#define __pyx_n_u_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE __pyx_string_tab[69]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR __pyx_string_tab[70]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st __pyx_string_tab[71]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st___reduc __pyx_string_tab[72]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st___setst __pyx_string_tab[73]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st_getPtr __pyx_string_tab[74]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_v2 __pyx_string_tab[75]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS __pyx_string_tab[76]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s __pyx_string_tab[77]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2 __pyx_string_tab[78]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3 __pyx_string_tab[79]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4 __pyx_string_tab[80]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_v __pyx_string_tab[81]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES __pyx_string_tab[82]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_string_tab[83]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_2 __pyx_string_tab[84]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_3 __pyx_string_tab[85]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_4 __pyx_string_tab[86]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_v1 __pyx_string_tab[87]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS __pyx_string_tab[88]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 __pyx_string_tab[89]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2 __pyx_string_tab[90]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3 __pyx_string_tab[91]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4 __pyx_string_tab[92]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5 __pyx_string_tab[93]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 __pyx_string_tab[94]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2 __pyx_string_tab[95]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3 __pyx_string_tab[96]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4 __pyx_string_tab[97]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5 __pyx_string_tab[98]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS __pyx_string_tab[99]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st __pyx_string_tab[100]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2 __pyx_string_tab[101]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3 __pyx_string_tab[102]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4 __pyx_string_tab[103]
#define __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS __pyx_string_tab[104]
#define __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS___r __pyx_string_tab[105]
#define __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS___s __pyx_string_tab[106]
#define __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS_get __pyx_string_tab[107]
#define __pyx_n_u_CUDA_COOPERATIVE_LAUNCH_MULTI_DE __pyx_string_tab[108]
#define __pyx_n_u_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2 __pyx_string_tab[109]
#define __pyx_kp_u_CUDA_EGL_Color_Format_The_diffe __pyx_string_tab[110]
#define __pyx_n_u_CUDA_EGL_INFINITE_TIMEOUT __pyx_string_tab[111]
#define __pyx_n_u_CUDA_ERROR_ALREADY_ACQUIRED __pyx_string_tab[112]
#define __pyx_n_u_CUDA_ERROR_ALREADY_MAPPED __pyx_string_tab[113]
#define __pyx_n_u_CUDA_ERROR_ARRAY_IS_MAPPED __pyx_string_tab[114]
#define __pyx_n_u_CUDA_ERROR_ASSERT __pyx_string_tab[115]
#define __pyx_n_u_CUDA_ERROR_CAPTURED_EVENT __pyx_string_tab[116]
#define __pyx_n_u_CUDA_ERROR_CDP_NOT_SUPPORTED __pyx_string_tab[117]
#define __pyx_n_u_CUDA_ERROR_CDP_VERSION_MISMATCH __pyx_string_tab[118]
#define __pyx_n_u_CUDA_ERROR_COMPAT_NOT_SUPPORTED __pyx_string_tab[119]
#define __pyx_n_u_CUDA_ERROR_CONTAINED __pyx_string_tab[120]
#define __pyx_n_u_CUDA_ERROR_CONTEXT_ALREADY_CURRE __pyx_string_tab[121]
#define __pyx_n_u_CUDA_ERROR_CONTEXT_ALREADY_IN_US __pyx_string_tab[122]
#define __pyx_n_u_CUDA_ERROR_CONTEXT_IS_DESTROYED __pyx_string_tab[123]
#define __pyx_n_u_CUDA_ERROR_COOPERATIVE_LAUNCH_TO __pyx_string_tab[124]
#define __pyx_n_u_CUDA_ERROR_DEINITIALIZED __pyx_string_tab[125]
#define __pyx_n_u_CUDA_ERROR_DEVICE_NOT_LICENSED __pyx_string_tab[126]
#define __pyx_n_u_CUDA_ERROR_DEVICE_UNAVAILABLE __pyx_string_tab[127]
#define __pyx_n_u_CUDA_ERROR_ECC_UNCORRECTABLE __pyx_string_tab[128]
#define __pyx_n_u_CUDA_ERROR_EXTERNAL_DEVICE __pyx_string_tab[129]
#define __pyx_n_u_CUDA_ERROR_FILE_NOT_FOUND __pyx_string_tab[130]
#define __pyx_n_u_CUDA_ERROR_FUNCTION_NOT_LOADED __pyx_string_tab[131]
#define __pyx_n_u_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI __pyx_string_tab[132]
#define __pyx_n_u_CUDA_ERROR_HARDWARE_STACK_ERROR __pyx_string_tab[133]
#define __pyx_n_u_CUDA_ERROR_HOST_MEMORY_ALREADY_R __pyx_string_tab[134]
#define __pyx_n_u_CUDA_ERROR_HOST_MEMORY_NOT_REGIS __pyx_string_tab[135]
#define __pyx_n_u_CUDA_ERROR_ILLEGAL_ADDRESS __pyx_string_tab[136]
#define __pyx_n_u_CUDA_ERROR_ILLEGAL_INSTRUCTION __pyx_string_tab[137]
#define __pyx_n_u_CUDA_ERROR_ILLEGAL_STATE __pyx_string_tab[138]
#define __pyx_n_u_CUDA_ERROR_INVALID_ADDRESS_SPACE __pyx_string_tab[139]
#define __pyx_n_u_CUDA_ERROR_INVALID_CLUSTER_SIZE __pyx_string_tab[140]
#define __pyx_n_u_CUDA_ERROR_INVALID_CONTEXT __pyx_string_tab[141]
#define __pyx_n_u_CUDA_ERROR_INVALID_DEVICE __pyx_string_tab[142]
#define __pyx_n_u_CUDA_ERROR_INVALID_GRAPHICS_CONT __pyx_string_tab[143]
#define __pyx_n_u_CUDA_ERROR_INVALID_HANDLE __pyx_string_tab[144]
#define __pyx_n_u_CUDA_ERROR_INVALID_IMAGE __pyx_string_tab[145]
#define __pyx_n_u_CUDA_ERROR_INVALID_PC __pyx_string_tab[146]
#define __pyx_n_u_CUDA_ERROR_INVALID_PTX __pyx_string_tab[147]
#define __pyx_n_u_CUDA_ERROR_INVALID_RESOURCE_CONF __pyx_string_tab[148]
#define __pyx_n_u_CUDA_ERROR_INVALID_RESOURCE_TYPE __pyx_string_tab[149]
#define __pyx_n_u_CUDA_ERROR_INVALID_SOURCE __pyx_string_tab[150]
#define __pyx_n_u_CUDA_ERROR_INVALID_VALUE __pyx_string_tab[151]
#define __pyx_n_u_CUDA_ERROR_JIT_COMPILATION_DISAB __pyx_string_tab[152]
#define __pyx_n_u_CUDA_ERROR_JIT_COMPILER_NOT_FOUN __pyx_string_tab[153]
#define __pyx_n_u_CUDA_ERROR_KEY_ROTATION __pyx_string_tab[154]
#define __pyx_n_u_CUDA_ERROR_LAUNCH_FAILED __pyx_string_tab[155]
#define __pyx_n_u_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T __pyx_string_tab[156]
#define __pyx_n_u_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC __pyx_string_tab[157]
#define __pyx_n_u_CUDA_ERROR_LAUNCH_TIMEOUT __pyx_string_tab[158]
#define __pyx_n_u_CUDA_ERROR_LOSSY_QUERY __pyx_string_tab[159]
#define __pyx_n_u_CUDA_ERROR_MAP_FAILED __pyx_string_tab[160]
#define __pyx_n_u_CUDA_ERROR_MISALIGNED_ADDRESS __pyx_string_tab[161]
#define __pyx_n_u_CUDA_ERROR_MPS_CLIENT_TERMINATED __pyx_string_tab[162]
#define __pyx_n_u_CUDA_ERROR_MPS_CONNECTION_FAILED __pyx_string_tab[163]
#define __pyx_n_u_CUDA_ERROR_MPS_MAX_CLIENTS_REACH __pyx_string_tab[164]
#define __pyx_n_u_CUDA_ERROR_MPS_MAX_CONNECTIONS_R __pyx_string_tab[165]
#define __pyx_n_u_CUDA_ERROR_MPS_RPC_FAILURE __pyx_string_tab[166]
#define __pyx_n_u_CUDA_ERROR_MPS_SERVER_NOT_READY __pyx_string_tab[167]
#define __pyx_n_u_CUDA_ERROR_NOT_FOUND __pyx_string_tab[168]
#define __pyx_n_u_CUDA_ERROR_NOT_INITIALIZED __pyx_string_tab[169]
#define __pyx_n_u_CUDA_ERROR_NOT_MAPPED __pyx_string_tab[170]
#define __pyx_n_u_CUDA_ERROR_NOT_MAPPED_AS_ARRAY __pyx_string_tab[171]
#define __pyx_n_u_CUDA_ERROR_NOT_MAPPED_AS_POINTER __pyx_string_tab[172]
#define __pyx_n_u_CUDA_ERROR_NOT_PERMITTED __pyx_string_tab[173]
#define __pyx_n_u_CUDA_ERROR_NOT_READY __pyx_string_tab[174]
#define __pyx_n_u_CUDA_ERROR_NOT_SUPPORTED __pyx_string_tab[175]
#define __pyx_n_u_CUDA_ERROR_NO_BINARY_FOR_GPU __pyx_string_tab[176]
#define __pyx_n_u_CUDA_ERROR_NO_DEVICE __pyx_string_tab[177]
#define __pyx_n_u_CUDA_ERROR_NVLINK_UNCORRECTABLE __pyx_string_tab[178]
#define __pyx_n_u_CUDA_ERROR_OPERATING_SYSTEM __pyx_string_tab[179]
#define __pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY __pyx_string_tab[180]
#define __pyx_n_u_CUDA_ERROR_PEER_ACCESS_ALREADY_E __pyx_string_tab[181]
#define __pyx_n_u_CUDA_ERROR_PEER_ACCESS_NOT_ENABL __pyx_string_tab[182]
#define __pyx_n_u_CUDA_ERROR_PEER_ACCESS_UNSUPPORT __pyx_string_tab[183]
#define __pyx_n_u_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV __pyx_string_tab[184]
#define __pyx_n_u_CUDA_ERROR_PROFILER_ALREADY_STAR __pyx_string_tab[185]
#define __pyx_n_u_CUDA_ERROR_PROFILER_ALREADY_STOP __pyx_string_tab[186]
#define __pyx_n_u_CUDA_ERROR_PROFILER_DISABLED __pyx_string_tab[187]
#define __pyx_n_u_CUDA_ERROR_PROFILER_NOT_INITIALI __pyx_string_tab[188]
#define __pyx_n_u_CUDA_ERROR_SHARED_OBJECT_INIT_FA __pyx_string_tab[189]
#define __pyx_n_u_CUDA_ERROR_SHARED_OBJECT_SYMBOL __pyx_string_tab[190]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_IMPLIC __pyx_string_tab[191]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_INVALI __pyx_string_tab[192]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_ISOLAT __pyx_string_tab[193]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_MERGE __pyx_string_tab[194]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNJOIN __pyx_string_tab[195]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNMATC __pyx_string_tab[196]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNSUPP __pyx_string_tab[197]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_WRONG __pyx_string_tab[198]
#define __pyx_n_u_CUDA_ERROR_STUB_LIBRARY __pyx_string_tab[199]
#define __pyx_n_u_CUDA_ERROR_SYSTEM_DRIVER_MISMATC __pyx_string_tab[200]
#define __pyx_n_u_CUDA_ERROR_SYSTEM_NOT_READY __pyx_string_tab[201]
#define __pyx_n_u_CUDA_ERROR_TENSOR_MEMORY_LEAK __pyx_string_tab[202]
#define __pyx_n_u_CUDA_ERROR_TIMEOUT __pyx_string_tab[203]
#define __pyx_n_u_CUDA_ERROR_TOO_MANY_PEERS __pyx_string_tab[204]
#define __pyx_n_u_CUDA_ERROR_UNKNOWN __pyx_string_tab[205]
#define __pyx_n_u_CUDA_ERROR_UNMAP_FAILED __pyx_string_tab[206]
#define __pyx_n_u_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S __pyx_string_tab[207]
#define __pyx_n_u_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI __pyx_string_tab[208]
#define __pyx_n_u_CUDA_ERROR_UNSUPPORTED_LIMIT __pyx_string_tab[209]
#define __pyx_n_u_CUDA_ERROR_UNSUPPORTED_PTX_VERSI __pyx_string_tab[210]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS __pyx_string_tab[211]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st __pyx_string_tab[212]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_2 __pyx_string_tab[213]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_3 __pyx_string_tab[214]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_4 __pyx_string_tab[215]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS __pyx_string_tab[216]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st __pyx_string_tab[217]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_2 __pyx_string_tab[218]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_3 __pyx_string_tab[219]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_g __pyx_string_tab[220]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC __pyx_string_tab[221]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2 __pyx_string_tab[222]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3 __pyx_string_tab[223]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4 __pyx_string_tab[224]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5 __pyx_string_tab[225]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6 __pyx_string_tab[226]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_DEDICATED __pyx_string_tab[227]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC __pyx_string_tab[228]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2 __pyx_string_tab[229]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3 __pyx_string_tab[230]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4 __pyx_string_tab[231]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5 __pyx_string_tab[232]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6 __pyx_string_tab[233]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A __pyx_string_tab[234]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2 __pyx_string_tab[235]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3 __pyx_string_tab[236]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4 __pyx_string_tab[237]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5 __pyx_string_tab[238]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6 __pyx_string_tab[239]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D __pyx_string_tab[240]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2 __pyx_string_tab[241]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3 __pyx_string_tab[242]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4 __pyx_string_tab[243]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5 __pyx_string_tab[244]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6 __pyx_string_tab[245]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P __pyx_string_tab[246]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2 __pyx_string_tab[247]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3 __pyx_string_tab[248]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4 __pyx_string_tab[249]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5 __pyx_string_tab[250]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6 __pyx_string_tab[251]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S __pyx_string_tab[252]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR __pyx_string_tab[253]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2 __pyx_string_tab[254]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3 __pyx_string_tab[255]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4 __pyx_string_tab[256]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5 __pyx_string_tab[257]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6 __pyx_string_tab[258]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI __pyx_string_tab[259]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS __pyx_string_tab[260]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10 __pyx_string_tab[261]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11 __pyx_string_tab[262]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2 __pyx_string_tab[263]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3 __pyx_string_tab[264]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4 __pyx_string_tab[265]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5 __pyx_string_tab[266]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6 __pyx_string_tab[267]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7 __pyx_string_tab[268]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8 __pyx_string_tab[269]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9 __pyx_string_tab[270]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS __pyx_string_tab[271]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st __pyx_string_tab[272]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2 __pyx_string_tab[273]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3 __pyx_string_tab[274]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4 __pyx_string_tab[275]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 __pyx_string_tab[276]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 __pyx_string_tab[277]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2 __pyx_string_tab[278]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3 __pyx_string_tab[279]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4 __pyx_string_tab[280]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5 __pyx_string_tab[281]
#define __pyx_kp_u_CUDA_EglFrame_type_array_or_poi __pyx_string_tab[282]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_CONDITION __pyx_string_tab[283]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_ERROR __pyx_string_tab[284]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO __pyx_string_tab[285]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI __pyx_string_tab[286]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO __pyx_string_tab[287]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_USE __pyx_string_tab[288]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_INVALID_S __pyx_string_tab[289]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_MULTIPLE __pyx_string_tab[290]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_NODE_OPER __pyx_string_tab[291]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS __pyx_string_tab[292]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st __pyx_string_tab[293]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2 __pyx_string_tab[294]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3 __pyx_string_tab[295]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4 __pyx_string_tab[296]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_SUCCESS __pyx_string_tab[297]
#define __pyx_kp_u_CUDA_Graph_Update_error_types __pyx_string_tab[298]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS __pyx_string_tab[299]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_st __pyx_string_tab[300]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_st___reduc __pyx_string_tab[301]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_st___setst __pyx_string_tab[302]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_st_getPtr __pyx_string_tab[303]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v1 __pyx_string_tab[304]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2 __pyx_string_tab[305]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st __pyx_string_tab[306]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st___re __pyx_string_tab[307]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st___se __pyx_string_tab[308]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st_getP __pyx_string_tab[309]
#define __pyx_kp_u_CUDA_Ipc_Mem_Flags __pyx_string_tab[310]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS __pyx_string_tab[311]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st __pyx_string_tab[312]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st___red __pyx_string_tab[313]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st___set __pyx_string_tab[314]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st_getPt __pyx_string_tab[315]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v1 __pyx_string_tab[316]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2 __pyx_string_tab[317]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st __pyx_string_tab[318]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_2 __pyx_string_tab[319]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_3 __pyx_string_tab[320]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_ge __pyx_string_tab[321]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3 __pyx_string_tab[322]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st __pyx_string_tab[323]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_2 __pyx_string_tab[324]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_3 __pyx_string_tab[325]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_ge __pyx_string_tab[326]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS __pyx_string_tab[327]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_st __pyx_string_tab[328]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_st___reduce_c __pyx_string_tab[329]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_st___setstate __pyx_string_tab[330]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_st_getPtr __pyx_string_tab[331]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_v1 __pyx_string_tab[332]
#define __pyx_kp_u_CUDA_Lazy_Loading_status __pyx_string_tab[333]
#define __pyx_n_u_CUDA_MEMCPY2D __pyx_string_tab[334]
#define __pyx_n_u_CUDA_MEMCPY2D_st __pyx_string_tab[335]
#define __pyx_n_u_CUDA_MEMCPY2D_st___reduce_cython __pyx_string_tab[336]
#define __pyx_n_u_CUDA_MEMCPY2D_st___setstate_cyth __pyx_string_tab[337]
#define __pyx_n_u_CUDA_MEMCPY2D_st_getPtr __pyx_string_tab[338]
#define __pyx_n_u_CUDA_MEMCPY2D_v2 __pyx_string_tab[339]
#define __pyx_n_u_CUDA_MEMCPY3D __pyx_string_tab[340]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP __pyx_string_tab[341]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st __pyx_string_tab[342]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st___redu __pyx_string_tab[343]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st___sets __pyx_string_tab[344]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st_getPtr __pyx_string_tab[345]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_v1 __pyx_string_tab[346]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER __pyx_string_tab[347]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_st __pyx_string_tab[348]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_st___reduce_c __pyx_string_tab[349]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_st___setstate __pyx_string_tab[350]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_st_getPtr __pyx_string_tab[351]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_v1 __pyx_string_tab[352]
#define __pyx_n_u_CUDA_MEMCPY3D_st __pyx_string_tab[353]
#define __pyx_n_u_CUDA_MEMCPY3D_st___reduce_cython __pyx_string_tab[354]
#define __pyx_n_u_CUDA_MEMCPY3D_st___setstate_cyth __pyx_string_tab[355]
#define __pyx_n_u_CUDA_MEMCPY3D_st_getPtr __pyx_string_tab[356]
#define __pyx_n_u_CUDA_MEMCPY3D_v2 __pyx_string_tab[357]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS __pyx_string_tab[358]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st __pyx_string_tab[359]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st___red __pyx_string_tab[360]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st___set __pyx_string_tab[361]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st_getPt __pyx_string_tab[362]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS __pyx_string_tab[363]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st __pyx_string_tab[364]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st___red __pyx_string_tab[365]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st___set __pyx_string_tab[366]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st_getPt __pyx_string_tab[367]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v1 __pyx_string_tab[368]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2 __pyx_string_tab[369]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st __pyx_string_tab[370]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_2 __pyx_string_tab[371]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_3 __pyx_string_tab[372]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_ge __pyx_string_tab[373]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS __pyx_string_tab[374]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1 __pyx_string_tab[375]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st __pyx_string_tab[376]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2 __pyx_string_tab[377]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3 __pyx_string_tab[378]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4 __pyx_string_tab[379]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2 __pyx_string_tab[380]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st __pyx_string_tab[381]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2 __pyx_string_tab[382]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3 __pyx_string_tab[383]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4 __pyx_string_tab[384]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS __pyx_string_tab[385]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st __pyx_string_tab[386]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st___r __pyx_string_tab[387]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st___s __pyx_string_tab[388]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st_get __pyx_string_tab[389]
#define __pyx_kp_u_CUDA_Mem_Attach_Flags __pyx_string_tab[390]
#define __pyx_n_u_CUDA_NVSCISYNC_ATTR_SIGNAL __pyx_string_tab[391]
#define __pyx_n_u_CUDA_NVSCISYNC_ATTR_WAIT __pyx_string_tab[392]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_ACCESS_FL __pyx_string_tab[393]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN __pyx_string_tab[394]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2 __pyx_string_tab[395]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3 __pyx_string_tab[396]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4 __pyx_string_tab[397]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5 __pyx_string_tab[398]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6 __pyx_string_tab[399]
#define __pyx_kp_u_CUDA_Process_States __pyx_string_tab[400]
#define __pyx_n_u_CUDA_RESOURCE_DESC __pyx_string_tab[401]
#define __pyx_n_u_CUDA_RESOURCE_DESC_st __pyx_string_tab[402]
#define __pyx_n_u_CUDA_RESOURCE_DESC_st___reduce_c __pyx_string_tab[403]
#define __pyx_n_u_CUDA_RESOURCE_DESC_st___setstate __pyx_string_tab[404]
#define __pyx_n_u_CUDA_RESOURCE_DESC_st_getPtr __pyx_string_tab[405]
#define __pyx_n_u_CUDA_RESOURCE_DESC_v1 __pyx_string_tab[406]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC __pyx_string_tab[407]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st __pyx_string_tab[408]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st___red __pyx_string_tab[409]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st___set __pyx_string_tab[410]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st_getPt __pyx_string_tab[411]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_v1 __pyx_string_tab[412]
#define __pyx_n_u_CUDA_SUCCESS __pyx_string_tab[413]
#define __pyx_n_u_CUDA_TEXTURE_DESC __pyx_string_tab[414]
#define __pyx_n_u_CUDA_TEXTURE_DESC_st __pyx_string_tab[415]
#define __pyx_n_u_CUDA_TEXTURE_DESC_st___reduce_cy __pyx_string_tab[416]
#define __pyx_n_u_CUDA_TEXTURE_DESC_st___setstate __pyx_string_tab[417]
#define __pyx_n_u_CUDA_TEXTURE_DESC_st_getPtr __pyx_string_tab[418]
#define __pyx_n_u_CUDA_TEXTURE_DESC_v1 __pyx_string_tab[419]
#define __pyx_n_u_CUDA_VERSION __pyx_string_tab[420]
#define __pyx_kp_u_CUDA_device_NUMA_configuration __pyx_string_tab[421]
#define __pyx_kp_u_CUDA_devices_corresponding_to_a __pyx_string_tab[422]
#define __pyx_kp_u_CUDA_memory_pool_attributes __pyx_string_tab[423]
#define __pyx_n_u_CUGLDeviceList __pyx_string_tab[424]
#define __pyx_n_u_CUGLmap_flags __pyx_string_tab[425]
#define __pyx_n_u_CUGPUDirectRDMAWritesOrdering __pyx_string_tab[426]
#define __pyx_n_u_CU_ACCESS_PROPERTY_NORMAL __pyx_string_tab[427]
#define __pyx_n_u_CU_ACCESS_PROPERTY_PERSISTING __pyx_string_tab[428]
#define __pyx_n_u_CU_ACCESS_PROPERTY_STREAMING __pyx_string_tab[429]
#define __pyx_n_u_CU_AD_FORMAT_AYUV __pyx_string_tab[430]
#define __pyx_n_u_CU_AD_FORMAT_BC1_UNORM __pyx_string_tab[431]
#define __pyx_n_u_CU_AD_FORMAT_BC1_UNORM_SRGB __pyx_string_tab[432]
#define __pyx_n_u_CU_AD_FORMAT_BC2_UNORM __pyx_string_tab[433]
#define __pyx_n_u_CU_AD_FORMAT_BC2_UNORM_SRGB __pyx_string_tab[434]
#define __pyx_n_u_CU_AD_FORMAT_BC3_UNORM __pyx_string_tab[435]
#define __pyx_n_u_CU_AD_FORMAT_BC3_UNORM_SRGB __pyx_string_tab[436]
#define __pyx_n_u_CU_AD_FORMAT_BC4_SNORM __pyx_string_tab[437]
#define __pyx_n_u_CU_AD_FORMAT_BC4_UNORM __pyx_string_tab[438]
#define __pyx_n_u_CU_AD_FORMAT_BC5_SNORM __pyx_string_tab[439]
#define __pyx_n_u_CU_AD_FORMAT_BC5_UNORM __pyx_string_tab[440]
#define __pyx_n_u_CU_AD_FORMAT_BC6H_SF16 __pyx_string_tab[441]
#define __pyx_n_u_CU_AD_FORMAT_BC6H_UF16 __pyx_string_tab[442]
#define __pyx_n_u_CU_AD_FORMAT_BC7_UNORM __pyx_string_tab[443]
#define __pyx_n_u_CU_AD_FORMAT_BC7_UNORM_SRGB __pyx_string_tab[444]
#define __pyx_n_u_CU_AD_FORMAT_FLOAT __pyx_string_tab[445]
#define __pyx_n_u_CU_AD_FORMAT_HALF __pyx_string_tab[446]
#define __pyx_n_u_CU_AD_FORMAT_MAX __pyx_string_tab[447]
#define __pyx_n_u_CU_AD_FORMAT_NV12 __pyx_string_tab[448]
#define __pyx_n_u_CU_AD_FORMAT_NV16 __pyx_string_tab[449]
#define __pyx_n_u_CU_AD_FORMAT_P010 __pyx_string_tab[450]
#define __pyx_n_u_CU_AD_FORMAT_P016 __pyx_string_tab[451]
#define __pyx_n_u_CU_AD_FORMAT_P210 __pyx_string_tab[452]
#define __pyx_n_u_CU_AD_FORMAT_P216 __pyx_string_tab[453]
#define __pyx_n_u_CU_AD_FORMAT_SIGNED_INT16 __pyx_string_tab[454]
#define __pyx_n_u_CU_AD_FORMAT_SIGNED_INT32 __pyx_string_tab[455]
#define __pyx_n_u_CU_AD_FORMAT_SIGNED_INT8 __pyx_string_tab[456]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X1 __pyx_string_tab[457]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X2 __pyx_string_tab[458]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X4 __pyx_string_tab[459]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X1 __pyx_string_tab[460]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X2 __pyx_string_tab[461]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X4 __pyx_string_tab[462]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X1 __pyx_string_tab[463]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X2 __pyx_string_tab[464]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X4 __pyx_string_tab[465]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X1 __pyx_string_tab[466]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X2 __pyx_string_tab[467]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X4 __pyx_string_tab[468]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT_101010_2 __pyx_string_tab[469]
#define __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT16 __pyx_string_tab[470]
#define __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT32 __pyx_string_tab[471]
#define __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT8 __pyx_string_tab[472]
#define __pyx_n_u_CU_AD_FORMAT_Y210 __pyx_string_tab[473]
#define __pyx_n_u_CU_AD_FORMAT_Y216 __pyx_string_tab[474]
#define __pyx_n_u_CU_AD_FORMAT_Y410 __pyx_string_tab[475]
#define __pyx_n_u_CU_AD_FORMAT_Y416 __pyx_string_tab[476]
#define __pyx_n_u_CU_AD_FORMAT_Y444_PLANAR10 __pyx_string_tab[477]
#define __pyx_n_u_CU_AD_FORMAT_Y444_PLANAR8 __pyx_string_tab[478]
#define __pyx_n_u_CU_AD_FORMAT_YUV444_16bit_SemiPl __pyx_string_tab[479]
#define __pyx_n_u_CU_AD_FORMAT_YUV444_8bit_SemiPla __pyx_string_tab[480]
#define __pyx_n_u_CU_AD_FORMAT_YUY2 __pyx_string_tab[481]
#define __pyx_n_u_CU_ARRAY_SPARSE_PROPERTIES_SINGL __pyx_string_tab[482]
#define __pyx_n_u_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE __pyx_string_tab[483]
#define __pyx_n_u_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2 __pyx_string_tab[484]
#define __pyx_n_u_CU_ASYNC_NOTIFICATION_TYPE_OVER __pyx_string_tab[485]
#define __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_DEF __pyx_string_tab[486]
#define __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_LOA __pyx_string_tab[487]
#define __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_SPR __pyx_string_tab[488]
#define __pyx_n_u_CU_COMPUTEMODE_DEFAULT __pyx_string_tab[489]
#define __pyx_n_u_CU_COMPUTEMODE_EXCLUSIVE_PROCESS __pyx_string_tab[490]
#define __pyx_n_u_CU_COMPUTEMODE_PROHIBITED __pyx_string_tab[491]
#define __pyx_n_u_CU_COMPUTE_ACCELERATED_TARGET_BA __pyx_string_tab[492]
#define __pyx_n_u_CU_COMPUTE_FAMILY_TARGET_BASE __pyx_string_tab[493]
#define __pyx_n_u_CU_COREDUMP_DEFAULT_FLAGS __pyx_string_tab[494]
#define __pyx_n_u_CU_COREDUMP_ENABLE_ON_EXCEPTION __pyx_string_tab[495]
#define __pyx_n_u_CU_COREDUMP_ENABLE_USER_TRIGGER __pyx_string_tab[496]
#define __pyx_n_u_CU_COREDUMP_FILE __pyx_string_tab[497]
#define __pyx_n_u_CU_COREDUMP_GENERATION_FLAGS __pyx_string_tab[498]
#define __pyx_n_u_CU_COREDUMP_LIGHTWEIGHT __pyx_string_tab[499]
#define __pyx_n_u_CU_COREDUMP_LIGHTWEIGHT_FLAGS __pyx_string_tab[500]
#define __pyx_n_u_CU_COREDUMP_MAX __pyx_string_tab[501]
#define __pyx_n_u_CU_COREDUMP_PIPE __pyx_string_tab[502]
#define __pyx_n_u_CU_COREDUMP_SKIP_ABORT __pyx_string_tab[503]
#define __pyx_n_u_CU_COREDUMP_SKIP_CONSTBANK_MEMOR __pyx_string_tab[504]
#define __pyx_n_u_CU_COREDUMP_SKIP_GLOBAL_MEMORY __pyx_string_tab[505]
#define __pyx_n_u_CU_COREDUMP_SKIP_LOCAL_MEMORY __pyx_string_tab[506]
#define __pyx_n_u_CU_COREDUMP_SKIP_NONRELOCATED_EL __pyx_string_tab[507]
#define __pyx_n_u_CU_COREDUMP_SKIP_SHARED_MEMORY __pyx_string_tab[508]
#define __pyx_n_u_CU_COREDUMP_TRIGGER_HOST __pyx_string_tab[509]
#define __pyx_n_u_CU_CTX_BLOCKING_SYNC __pyx_string_tab[510]
#define __pyx_n_u_CU_CTX_COREDUMP_ENABLE __pyx_string_tab[511]
#define __pyx_n_u_CU_CTX_FLAGS_MASK __pyx_string_tab[512]
#define __pyx_n_u_CU_CTX_LMEM_RESIZE_TO_MAX __pyx_string_tab[513]
#define __pyx_n_u_CU_CTX_MAP_HOST __pyx_string_tab[514]
#define __pyx_n_u_CU_CTX_SCHED_AUTO __pyx_string_tab[515]
#define __pyx_n_u_CU_CTX_SCHED_BLOCKING_SYNC __pyx_string_tab[516]
#define __pyx_n_u_CU_CTX_SCHED_MASK __pyx_string_tab[517]
#define __pyx_n_u_CU_CTX_SCHED_SPIN __pyx_string_tab[518]
#define __pyx_n_u_CU_CTX_SCHED_YIELD __pyx_string_tab[519]
#define __pyx_n_u_CU_CTX_SYNC_MEMOPS __pyx_string_tab[520]
#define __pyx_n_u_CU_CTX_USER_COREDUMP_ENABLE __pyx_string_tab[521]
#define __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_X __pyx_string_tab[522]
#define __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_Y __pyx_string_tab[523]
#define __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_Z __pyx_string_tab[524]
#define __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_X __pyx_string_tab[525]
#define __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_Y __pyx_string_tab[526]
#define __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_Z __pyx_string_tab[527]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE __pyx_string_tab[528]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE __pyx_string_tab[529]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST __pyx_string_tab[530]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA __pyx_string_tab[531]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B __pyx_string_tab[532]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2 __pyx_string_tab[533]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST __pyx_string_tab[534]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE __pyx_string_tab[535]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2 __pyx_string_tab[536]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3 __pyx_string_tab[537]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CLOCK_RATE __pyx_string_tab[538]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN __pyx_string_tab[539]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA __pyx_string_tab[540]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2 __pyx_string_tab[541]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE __pyx_string_tab[542]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE __pyx_string_tab[543]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CONCURRENT_K __pyx_string_tab[544]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CONCURRENT_M __pyx_string_tab[545]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COOPERATIVE __pyx_string_tab[546]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2 __pyx_string_tab[547]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_D3D12_CIG_SU __pyx_string_tab[548]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP __pyx_string_tab[549]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG __pyx_string_tab[550]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP __pyx_string_tab[551]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_ECC_ENABLED __pyx_string_tab[552]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GENERIC_COMP __pyx_string_tab[553]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA __pyx_string_tab[554]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR __pyx_string_tab[555]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R __pyx_string_tab[556]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2 __pyx_string_tab[557]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3 __pyx_string_tab[558]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4 __pyx_string_tab[559]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP __pyx_string_tab[560]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVI __pyx_string_tab[561]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBS __pyx_string_tab[562]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE __pyx_string_tab[563]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2 __pyx_string_tab[564]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3 __pyx_string_tab[565]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4 __pyx_string_tab[566]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NATIVE __pyx_string_tab[567]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID __pyx_string_tab[568]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ME __pyx_string_tab[569]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_MU __pyx_string_tab[570]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_VI __pyx_string_tab[571]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_REGISTE __pyx_string_tab[572]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_INTEGRATED __pyx_string_tab[573]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU __pyx_string_tab[574]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC __pyx_string_tab[575]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ __pyx_string_tab[576]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC __pyx_string_tab[577]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO __pyx_string_tab[578]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX __pyx_string_tab[579]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF __pyx_string_tab[580]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10 __pyx_string_tab[581]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11 __pyx_string_tab[582]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12 __pyx_string_tab[583]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13 __pyx_string_tab[584]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14 __pyx_string_tab[585]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2 __pyx_string_tab[586]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3 __pyx_string_tab[587]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4 __pyx_string_tab[588]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5 __pyx_string_tab[589]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6 __pyx_string_tab[590]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7 __pyx_string_tab[591]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8 __pyx_string_tab[592]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9 __pyx_string_tab[593]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT __pyx_string_tab[594]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10 __pyx_string_tab[595]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11 __pyx_string_tab[596]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12 __pyx_string_tab[597]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13 __pyx_string_tab[598]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14 __pyx_string_tab[599]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15 __pyx_string_tab[600]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16 __pyx_string_tab[601]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17 __pyx_string_tab[602]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18 __pyx_string_tab[603]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19 __pyx_string_tab[604]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2 __pyx_string_tab[605]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20 __pyx_string_tab[606]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21 __pyx_string_tab[607]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22 __pyx_string_tab[608]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23 __pyx_string_tab[609]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24 __pyx_string_tab[610]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25 __pyx_string_tab[611]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26 __pyx_string_tab[612]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27 __pyx_string_tab[613]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28 __pyx_string_tab[614]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29 __pyx_string_tab[615]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3 __pyx_string_tab[616]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4 __pyx_string_tab[617]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5 __pyx_string_tab[618]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6 __pyx_string_tab[619]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7 __pyx_string_tab[620]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8 __pyx_string_tab[621]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9 __pyx_string_tab[622]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P __pyx_string_tab[623]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P __pyx_string_tab[624]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI __pyx_string_tab[625]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2 __pyx_string_tab[626]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3 __pyx_string_tab[627]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM __pyx_string_tab[628]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2 __pyx_string_tab[629]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3 __pyx_string_tab[630]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI __pyx_string_tab[631]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_PITCH __pyx_string_tab[632]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_REGISTER __pyx_string_tab[633]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2 __pyx_string_tab[634]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M __pyx_string_tab[635]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2 __pyx_string_tab[636]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3 __pyx_string_tab[637]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_THREADS __pyx_string_tab[638]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2 __pyx_string_tab[639]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK __pyx_string_tab[640]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS __pyx_string_tab[641]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP __pyx_string_tab[642]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE __pyx_string_tab[643]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE_2 __pyx_string_tab[644]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM __pyx_string_tab[645]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MPS_ENABLED __pyx_string_tab[646]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTICAST_SU __pyx_string_tab[647]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTIPROCESS __pyx_string_tab[648]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO __pyx_string_tab[649]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2 __pyx_string_tab[650]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG __pyx_string_tab[651]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_NUMA_ID __pyx_string_tab[652]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM __pyx_string_tab[653]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2 __pyx_string_tab[654]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID __pyx_string_tab[655]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I __pyx_string_tab[656]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I __pyx_string_tab[657]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO __pyx_string_tab[658]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_REGISTERS_PE __pyx_string_tab[659]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_RESERVED_SHA __pyx_string_tab[660]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR __pyx_string_tab[661]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO __pyx_string_tab[662]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA __pyx_string_tab[663]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR __pyx_string_tab[664]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG __pyx_string_tab[665]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TCC_DRIVER __pyx_string_tab[666]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A __pyx_string_tab[667]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG __pyx_string_tab[668]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC __pyx_string_tab[669]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM __pyx_string_tab[670]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA __pyx_string_tab[671]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR __pyx_string_tab[672]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC __pyx_string_tab[673]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR __pyx_string_tab[674]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO __pyx_string_tab[675]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_VULKAN_CIG_S __pyx_string_tab[676]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_WARP_SIZE __pyx_string_tab[677]
#define __pyx_n_u_CU_DEVICE_CPU __pyx_string_tab[678]
#define __pyx_n_u_CU_DEVICE_INVALID __pyx_string_tab[679]
#define __pyx_n_u_CU_DEVICE_NUMA_CONFIG_NONE __pyx_string_tab[680]
#define __pyx_n_u_CU_DEVICE_NUMA_CONFIG_NUMA_NODE __pyx_string_tab[681]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A __pyx_string_tab[682]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S __pyx_string_tab[683]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR __pyx_string_tab[684]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A __pyx_string_tab[685]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA __pyx_string_tab[686]
#define __pyx_n_u_CU_DEV_RESOURCE_TYPE_INVALID __pyx_string_tab[687]
#define __pyx_n_u_CU_DEV_RESOURCE_TYPE_SM __pyx_string_tab[688]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_SPLIT_IGNORE __pyx_string_tab[689]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_SPLIT_MAX_POT __pyx_string_tab[690]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_A __pyx_string_tab[691]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_ABGR __pyx_string_tab[692]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_ARGB __pyx_string_tab[693]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_AYUV __pyx_string_tab[694]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_AYUV_ER __pyx_string_tab[695]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_BGGR __pyx_string_tab[696]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_CCCC __pyx_string_tab[697]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_GBRG __pyx_string_tab[698]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_GRBG __pyx_string_tab[699]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_RGGB __pyx_string_tab[700]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_BCCR __pyx_string_tab[701]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_BGGR __pyx_string_tab[702]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CBRC __pyx_string_tab[703]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CCCC __pyx_string_tab[704]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CRBC __pyx_string_tab[705]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_GBRG __pyx_string_tab[706]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_GRBG __pyx_string_tab[707]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_RCCB __pyx_string_tab[708]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_RGGB __pyx_string_tab[709]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_BGGR __pyx_string_tab[710]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_GBRG __pyx_string_tab[711]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_GRBG __pyx_string_tab[712]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_RGGB __pyx_string_tab[713]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_BGGR __pyx_string_tab[714]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_GBRG __pyx_string_tab[715]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_GRBG __pyx_string_tab[716]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_RGGB __pyx_string_tab[717]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_BCCR __pyx_string_tab[718]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_BGGR __pyx_string_tab[719]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_CBRC __pyx_string_tab[720]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_CRBC __pyx_string_tab[721]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_GBRG __pyx_string_tab[722]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_GRBG __pyx_string_tab[723]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG __pyx_string_tab[724]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB __pyx_string_tab[725]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR __pyx_string_tab[726]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG __pyx_string_tab[727]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_RCCB __pyx_string_tab[728]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_RGGB __pyx_string_tab[729]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BGR __pyx_string_tab[730]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BGRA __pyx_string_tab[731]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_L __pyx_string_tab[732]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_MAX __pyx_string_tab[733]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_R __pyx_string_tab[734]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_RG __pyx_string_tab[735]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_RGB __pyx_string_tab[736]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_RGBA __pyx_string_tab[737]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_2020 __pyx_string_tab[738]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_422 __pyx_string_tab[739]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_709 __pyx_string_tab[740]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_709_ER __pyx_string_tab[741]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_ER __pyx_string_tab[742]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_VYUY __pyx_string_tab[743]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_VYUY_ER __pyx_string_tab[744]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y __pyx_string_tab[745]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42 __pyx_string_tab[746]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2 __pyx_string_tab[747]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3 __pyx_string_tab[748]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4 __pyx_string_tab[749]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5 __pyx_string_tab[750]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6 __pyx_string_tab[751]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7 __pyx_string_tab[752]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8 __pyx_string_tab[753]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44 __pyx_string_tab[754]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2 __pyx_string_tab[755]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3 __pyx_string_tab[756]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10_709_ER __pyx_string_tab[757]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10_ER __pyx_string_tab[758]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42 __pyx_string_tab[759]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2 __pyx_string_tab[760]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3 __pyx_string_tab[761]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44 __pyx_string_tab[762]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2 __pyx_string_tab[763]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3 __pyx_string_tab[764]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12_709_ER __pyx_string_tab[765]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12_ER __pyx_string_tab[766]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV __pyx_string_tab[767]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA __pyx_string_tab[768]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2 __pyx_string_tab[769]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3 __pyx_string_tab[770]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4 __pyx_string_tab[771]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP __pyx_string_tab[772]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2 __pyx_string_tab[773]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3 __pyx_string_tab[774]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4 __pyx_string_tab[775]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_PLANA __pyx_string_tab[776]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2 __pyx_string_tab[777]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_SEMIP __pyx_string_tab[778]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2 __pyx_string_tab[779]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_PLANA __pyx_string_tab[780]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2 __pyx_string_tab[781]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_SEMIP __pyx_string_tab[782]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2 __pyx_string_tab[783]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUVA __pyx_string_tab[784]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUVA_ER __pyx_string_tab[785]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV_ER __pyx_string_tab[786]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUYV_422 __pyx_string_tab[787]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUYV_ER __pyx_string_tab[788]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA __pyx_string_tab[789]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2 __pyx_string_tab[790]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3 __pyx_string_tab[791]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4 __pyx_string_tab[792]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP __pyx_string_tab[793]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2 __pyx_string_tab[794]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3 __pyx_string_tab[795]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4 __pyx_string_tab[796]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_PLANA __pyx_string_tab[797]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2 __pyx_string_tab[798]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_SEMIP __pyx_string_tab[799]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2 __pyx_string_tab[800]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_PLANA __pyx_string_tab[801]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2 __pyx_string_tab[802]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_SEMIP __pyx_string_tab[803]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2 __pyx_string_tab[804]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVYU __pyx_string_tab[805]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVYU_ER __pyx_string_tab[806]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y_709_ER __pyx_string_tab[807]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y_ER __pyx_string_tab[808]
#define __pyx_n_u_CU_EGL_FRAME_TYPE_ARRAY __pyx_string_tab[809]
#define __pyx_n_u_CU_EGL_FRAME_TYPE_PITCH __pyx_string_tab[810]
#define __pyx_n_u_CU_EGL_RESOURCE_LOCATION_SYSMEM __pyx_string_tab[811]
#define __pyx_n_u_CU_EGL_RESOURCE_LOCATION_VIDMEM __pyx_string_tab[812]
#define __pyx_n_u_CU_EVENT_BLOCKING_SYNC __pyx_string_tab[813]
#define __pyx_n_u_CU_EVENT_DEFAULT __pyx_string_tab[814]
#define __pyx_n_u_CU_EVENT_DISABLE_TIMING __pyx_string_tab[815]
#define __pyx_n_u_CU_EVENT_INTERPROCESS __pyx_string_tab[816]
#define __pyx_n_u_CU_EVENT_RECORD_DEFAULT __pyx_string_tab[817]
#define __pyx_n_u_CU_EVENT_RECORD_EXTERNAL __pyx_string_tab[818]
#define __pyx_n_u_CU_EVENT_SCHED_AUTO __pyx_string_tab[819]
#define __pyx_n_u_CU_EVENT_SCHED_BLOCKING_SYNC __pyx_string_tab[820]
#define __pyx_n_u_CU_EVENT_SCHED_SPIN __pyx_string_tab[821]
#define __pyx_n_u_CU_EVENT_SCHED_YIELD __pyx_string_tab[822]
#define __pyx_n_u_CU_EVENT_WAIT_DEFAULT __pyx_string_tab[823]
#define __pyx_n_u_CU_EVENT_WAIT_EXTERNAL __pyx_string_tab[824]
#define __pyx_n_u_CU_EXEC_AFFINITY_TYPE_MAX __pyx_string_tab[825]
#define __pyx_n_u_CU_EXEC_AFFINITY_TYPE_SM_COUNT __pyx_string_tab[826]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D __pyx_string_tab[827]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2 __pyx_string_tab[828]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3 __pyx_string_tab[829]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4 __pyx_string_tab[830]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N __pyx_string_tab[831]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O __pyx_string_tab[832]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2 __pyx_string_tab[833]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3 __pyx_string_tab[834]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP __pyx_string_tab[835]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10 __pyx_string_tab[836]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2 __pyx_string_tab[837]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3 __pyx_string_tab[838]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4 __pyx_string_tab[839]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5 __pyx_string_tab[840]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6 __pyx_string_tab[841]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7 __pyx_string_tab[842]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8 __pyx_string_tab[843]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9 __pyx_string_tab[844]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES __pyx_string_tab[845]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2 __pyx_string_tab[846]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3 __pyx_string_tab[847]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4 __pyx_string_tab[848]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5 __pyx_string_tab[849]
#define __pyx_n_u_CU_FUNCTION_LOADING_STATE_LOADED __pyx_string_tab[850]
#define __pyx_n_u_CU_FUNCTION_LOADING_STATE_MAX __pyx_string_tab[851]
#define __pyx_n_u_CU_FUNCTION_LOADING_STATE_UNLOAD __pyx_string_tab[852]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_BINARY_VERSION __pyx_string_tab[853]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA __pyx_string_tab[854]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU __pyx_string_tab[855]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M __pyx_string_tab[856]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT __pyx_string_tab[857]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT __pyx_string_tab[858]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX __pyx_string_tab[859]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH __pyx_string_tab[860]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE __pyx_string_tab[861]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C __pyx_string_tab[862]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_NUM_REGS __pyx_string_tab[863]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR __pyx_string_tab[864]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_PTX_VERSION __pyx_string_tab[865]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST __pyx_string_tab[866]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2 __pyx_string_tab[867]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3 __pyx_string_tab[868]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY __pyx_string_tab[869]
#define __pyx_n_u_CU_FUNC_CACHE_PREFER_EQUAL __pyx_string_tab[870]
#define __pyx_n_u_CU_FUNC_CACHE_PREFER_L1 __pyx_string_tab[871]
#define __pyx_n_u_CU_FUNC_CACHE_PREFER_NONE __pyx_string_tab[872]
#define __pyx_n_u_CU_FUNC_CACHE_PREFER_SHARED __pyx_string_tab[873]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_DEFAULT __pyx_string_tab[874]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_LEGACY_STREA __pyx_string_tab[875]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_PER_THREAD_D __pyx_string_tab[876]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_SUCCESS __pyx_string_tab[877]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F __pyx_string_tab[878]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_VERSION_NOT __pyx_string_tab[879]
#define __pyx_n_u_CU_GL_DEVICE_LIST_ALL __pyx_string_tab[880]
#define __pyx_n_u_CU_GL_DEVICE_LIST_CURRENT_FRAME __pyx_string_tab[881]
#define __pyx_n_u_CU_GL_DEVICE_LIST_NEXT_FRAME __pyx_string_tab[882]
#define __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_NONE __pyx_string_tab[883]
#define __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_READ_ON __pyx_string_tab[884]
#define __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D __pyx_string_tab[885]
#define __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI __pyx_string_tab[886]
#define __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2 __pyx_string_tab[887]
#define __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3 __pyx_string_tab[888]
#define __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N __pyx_string_tab[889]
#define __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R __pyx_string_tab[890]
#define __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W __pyx_string_tab[891]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_NONE __pyx_string_tab[892]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_READ __pyx_string_tab[893]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_SURFA __pyx_string_tab[894]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_TEXTU __pyx_string_tab[895]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_WRITE __pyx_string_tab[896]
#define __pyx_n_u_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_C __pyx_string_tab[897]
#define __pyx_n_u_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_M __pyx_string_tab[898]
#define __pyx_n_u_CU_GRAPH_COND_ASSIGN_DEFAULT __pyx_string_tab[899]
#define __pyx_n_u_CU_GRAPH_COND_TYPE_IF __pyx_string_tab[900]
#define __pyx_n_u_CU_GRAPH_COND_TYPE_SWITCH __pyx_string_tab[901]
#define __pyx_n_u_CU_GRAPH_COND_TYPE_WHILE __pyx_string_tab[902]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M __pyx_string_tab[903]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI __pyx_string_tab[904]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N __pyx_string_tab[905]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T __pyx_string_tab[906]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM __pyx_string_tab[907]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2 __pyx_string_tab[908]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES __pyx_string_tab[909]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO __pyx_string_tab[910]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL __pyx_string_tab[911]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2 __pyx_string_tab[912]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY __pyx_string_tab[913]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET __pyx_string_tab[914]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL __pyx_string_tab[915]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE __pyx_string_tab[916]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME __pyx_string_tab[917]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE __pyx_string_tab[918]
#define __pyx_n_u_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT __pyx_string_tab[919]
#define __pyx_n_u_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM __pyx_string_tab[920]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR __pyx_string_tab[921]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI __pyx_string_tab[922]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT __pyx_string_tab[923]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_NODE __pyx_string_tab[924]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S __pyx_string_tab[925]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM __pyx_string_tab[926]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL __pyx_string_tab[927]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP __pyx_string_tab[928]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_SUCCESS __pyx_string_tab[929]
#define __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL __pyx_string_tab[930]
#define __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH __pyx_string_tab[931]
#define __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_PROGRA __pyx_string_tab[932]
#define __pyx_n_u_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C __pyx_string_tab[933]
#define __pyx_n_u_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H __pyx_string_tab[934]
#define __pyx_n_u_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE __pyx_string_tab[935]
#define __pyx_n_u_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH __pyx_string_tab[936]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP __pyx_string_tab[937]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_CONDITIONAL __pyx_string_tab[938]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_EMPTY __pyx_string_tab[939]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_EVENT_RECORD __pyx_string_tab[940]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG __pyx_string_tab[941]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI __pyx_string_tab[942]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_GRAPH __pyx_string_tab[943]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_HOST __pyx_string_tab[944]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_KERNEL __pyx_string_tab[945]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_MEMCPY __pyx_string_tab[946]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_MEMSET __pyx_string_tab[947]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_MEM_ALLOC __pyx_string_tab[948]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_MEM_FREE __pyx_string_tab[949]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_WAIT_EVENT __pyx_string_tab[950]
#define __pyx_n_u_CU_GRAPH_USER_OBJECT_MOVE __pyx_string_tab[951]
#define __pyx_n_u_CU_GREEN_CTX_DEFAULT_STREAM __pyx_string_tab[952]
#define __pyx_n_u_CU_IPC_HANDLE_SIZE __pyx_string_tab[953]
#define __pyx_n_u_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE __pyx_string_tab[954]
#define __pyx_n_u_CU_JIT_CACHE_MODE __pyx_string_tab[955]
#define __pyx_n_u_CU_JIT_CACHE_OPTION_CA __pyx_string_tab[956]
#define __pyx_n_u_CU_JIT_CACHE_OPTION_CG __pyx_string_tab[957]
#define __pyx_n_u_CU_JIT_CACHE_OPTION_NONE __pyx_string_tab[958]
#define __pyx_n_u_CU_JIT_ERROR_LOG_BUFFER __pyx_string_tab[959]
#define __pyx_n_u_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT __pyx_string_tab[960]
#define __pyx_n_u_CU_JIT_FALLBACK_STRATEGY __pyx_string_tab[961]
#define __pyx_n_u_CU_JIT_FAST_COMPILE __pyx_string_tab[962]
#define __pyx_n_u_CU_JIT_FMA __pyx_string_tab[963]
#define __pyx_n_u_CU_JIT_FTZ __pyx_string_tab[964]
#define __pyx_n_u_CU_JIT_GENERATE_DEBUG_INFO __pyx_string_tab[965]
#define __pyx_n_u_CU_JIT_GENERATE_LINE_INFO __pyx_string_tab[966]
#define __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_ADDRESSES __pyx_string_tab[967]
#define __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_COUNT __pyx_string_tab[968]
#define __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_NAMES __pyx_string_tab[969]
#define __pyx_n_u_CU_JIT_INFO_LOG_BUFFER __pyx_string_tab[970]
#define __pyx_n_u_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE __pyx_string_tab[971]
#define __pyx_n_u_CU_JIT_INPUT_CUBIN __pyx_string_tab[972]
#define __pyx_n_u_CU_JIT_INPUT_FATBINARY __pyx_string_tab[973]
#define __pyx_n_u_CU_JIT_INPUT_LIBRARY __pyx_string_tab[974]
#define __pyx_n_u_CU_JIT_INPUT_NVVM __pyx_string_tab[975]
#define __pyx_n_u_CU_JIT_INPUT_OBJECT __pyx_string_tab[976]
#define __pyx_n_u_CU_JIT_INPUT_PTX __pyx_string_tab[977]
#define __pyx_n_u_CU_JIT_LOG_VERBOSE __pyx_string_tab[978]
#define __pyx_n_u_CU_JIT_LTO __pyx_string_tab[979]
#define __pyx_n_u_CU_JIT_MAX_REGISTERS __pyx_string_tab[980]
#define __pyx_n_u_CU_JIT_MAX_THREADS_PER_BLOCK __pyx_string_tab[981]
#define __pyx_n_u_CU_JIT_MIN_CTA_PER_SM __pyx_string_tab[982]
#define __pyx_n_u_CU_JIT_NEW_SM3X_OPT __pyx_string_tab[983]
#define __pyx_n_u_CU_JIT_NUM_INPUT_TYPES __pyx_string_tab[984]
#define __pyx_n_u_CU_JIT_NUM_OPTIONS __pyx_string_tab[985]
#define __pyx_n_u_CU_JIT_OPTIMIZATION_LEVEL __pyx_string_tab[986]
#define __pyx_n_u_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA __pyx_string_tab[987]
#define __pyx_n_u_CU_JIT_OVERRIDE_DIRECTIVE_VALUES __pyx_string_tab[988]
#define __pyx_n_u_CU_JIT_POSITION_INDEPENDENT_CODE __pyx_string_tab[989]
#define __pyx_n_u_CU_JIT_PREC_DIV __pyx_string_tab[990]
#define __pyx_n_u_CU_JIT_PREC_SQRT __pyx_string_tab[991]
#define __pyx_n_u_CU_JIT_REFERENCED_KERNEL_COUNT __pyx_string_tab[992]
#define __pyx_n_u_CU_JIT_REFERENCED_KERNEL_NAMES __pyx_string_tab[993]
#define __pyx_n_u_CU_JIT_REFERENCED_VARIABLE_COUNT __pyx_string_tab[994]
#define __pyx_n_u_CU_JIT_REFERENCED_VARIABLE_NAMES __pyx_string_tab[995]
#define __pyx_n_u_CU_JIT_TARGET __pyx_string_tab[996]
#define __pyx_n_u_CU_JIT_TARGET_FROM_CUCONTEXT __pyx_string_tab[997]
#define __pyx_n_u_CU_JIT_THREADS_PER_BLOCK __pyx_string_tab[998]
#define __pyx_n_u_CU_JIT_WALL_TIME __pyx_string_tab[999]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_ACCESS __pyx_string_tab[1000]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER __pyx_string_tab[1001]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2 __pyx_string_tab[1002]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_COOPERA __pyx_string_tab[1003]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_DEVICE __pyx_string_tab[1004]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN __pyx_string_tab[1005]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2 __pyx_string_tab[1006]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PREFERR __pyx_string_tab[1007]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PREFERR_2 __pyx_string_tab[1008]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT __pyx_string_tab[1009]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC __pyx_string_tab[1010]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME __pyx_string_tab[1011]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE __pyx_string_tab[1012]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_COOPERATIVE __pyx_string_tab[1013]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT __pyx_string_tab[1014]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_IGNORE __pyx_string_tab[1015]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL __pyx_string_tab[1016]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM __pyx_string_tab[1017]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2 __pyx_string_tab[1018]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL __pyx_string_tab[1019]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH __pyx_string_tab[1020]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PRIORITY __pyx_string_tab[1021]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC __pyx_string_tab[1022]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2 __pyx_string_tab[1023]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT __pyx_string_tab[1024]
#define __pyx_n_u_CU_LAUNCH_KERNEL_REQUIRED_BLOCK __pyx_string_tab[1025]
#define __pyx_n_u_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL __pyx_string_tab[1026]
#define __pyx_n_u_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE __pyx_string_tab[1027]
#define __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_POINTER __pyx_string_tab[1028]
#define __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_POINTER_A __pyx_string_tab[1029]
#define __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_SIZE __pyx_string_tab[1030]
#define __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I __pyx_string_tab[1031]
#define __pyx_n_u_CU_LAUNCH_PARAM_END __pyx_string_tab[1032]
#define __pyx_n_u_CU_LAUNCH_PARAM_END_AS_INT __pyx_string_tab[1033]
#define __pyx_n_u_CU_LIBRARY_BINARY_IS_PRESERVED __pyx_string_tab[1034]
#define __pyx_n_u_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI __pyx_string_tab[1035]
#define __pyx_n_u_CU_LIBRARY_NUM_OPTIONS __pyx_string_tab[1036]
#define __pyx_n_u_CU_LIMIT_CIG_ENABLED __pyx_string_tab[1037]
#define __pyx_n_u_CU_LIMIT_CIG_SHMEM_FALLBACK_ENAB __pyx_string_tab[1038]
#define __pyx_n_u_CU_LIMIT_DEV_RUNTIME_PENDING_LAU __pyx_string_tab[1039]
#define __pyx_n_u_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH __pyx_string_tab[1040]
#define __pyx_n_u_CU_LIMIT_MALLOC_HEAP_SIZE __pyx_string_tab[1041]
#define __pyx_n_u_CU_LIMIT_MAX __pyx_string_tab[1042]
#define __pyx_n_u_CU_LIMIT_MAX_L2_FETCH_GRANULARIT __pyx_string_tab[1043]
#define __pyx_n_u_CU_LIMIT_PERSISTING_L2_CACHE_SIZ __pyx_string_tab[1044]
#define __pyx_n_u_CU_LIMIT_PRINTF_FIFO_SIZE __pyx_string_tab[1045]
#define __pyx_n_u_CU_LIMIT_SHMEM_SIZE __pyx_string_tab[1046]
#define __pyx_n_u_CU_LIMIT_STACK_SIZE __pyx_string_tab[1047]
#define __pyx_n_u_CU_LOG_LEVEL_ERROR __pyx_string_tab[1048]
#define __pyx_n_u_CU_LOG_LEVEL_WARNING __pyx_string_tab[1049]
#define __pyx_n_u_CU_MEMCPY_FLAG_DEFAULT __pyx_string_tab[1050]
#define __pyx_n_u_CU_MEMCPY_FLAG_PREFER_OVERLAP_WI __pyx_string_tab[1051]
#define __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_ARRAY __pyx_string_tab[1052]
#define __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_MAX __pyx_string_tab[1053]
#define __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_POINTER __pyx_string_tab[1054]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_ANY __pyx_string_tab[1055]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_DURIN __pyx_string_tab[1056]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_INVAL __pyx_string_tab[1057]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_MAX __pyx_string_tab[1058]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_STREA __pyx_string_tab[1059]
#define __pyx_n_u_CU_MEMHOSTALLOC_DEVICEMAP __pyx_string_tab[1060]
#define __pyx_n_u_CU_MEMHOSTALLOC_PORTABLE __pyx_string_tab[1061]
#define __pyx_n_u_CU_MEMHOSTALLOC_WRITECOMBINED __pyx_string_tab[1062]
#define __pyx_n_u_CU_MEMHOSTREGISTER_DEVICEMAP __pyx_string_tab[1063]
#define __pyx_n_u_CU_MEMHOSTREGISTER_IOMEMORY __pyx_string_tab[1064]
#define __pyx_n_u_CU_MEMHOSTREGISTER_PORTABLE __pyx_string_tab[1065]
#define __pyx_n_u_CU_MEMHOSTREGISTER_READ_ONLY __pyx_string_tab[1066]
#define __pyx_n_u_CU_MEMORYTYPE_ARRAY __pyx_string_tab[1067]
#define __pyx_n_u_CU_MEMORYTYPE_DEVICE __pyx_string_tab[1068]
#define __pyx_n_u_CU_MEMORYTYPE_HOST __pyx_string_tab[1069]
#define __pyx_n_u_CU_MEMORYTYPE_UNIFIED __pyx_string_tab[1070]
#define __pyx_n_u_CU_MEMPOOL_ATTR_RELEASE_THRESHOL __pyx_string_tab[1071]
#define __pyx_n_u_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR __pyx_string_tab[1072]
#define __pyx_n_u_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG __pyx_string_tab[1073]
#define __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE __pyx_string_tab[1074]
#define __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO __pyx_string_tab[1075]
#define __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE __pyx_string_tab[1076]
#define __pyx_n_u_CU_MEMPOOL_ATTR_USED_MEM_CURRENT __pyx_string_tab[1077]
#define __pyx_n_u_CU_MEMPOOL_ATTR_USED_MEM_HIGH __pyx_string_tab[1078]
#define __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_MAX __pyx_string_tab[1079]
#define __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_NONE __pyx_string_tab[1080]
#define __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_READ __pyx_string_tab[1081]
#define __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_READWRI __pyx_string_tab[1082]
#define __pyx_n_u_CU_MEM_ADVISE_SET_ACCESSED_BY __pyx_string_tab[1083]
#define __pyx_n_u_CU_MEM_ADVISE_SET_PREFERRED_LOCA __pyx_string_tab[1084]
#define __pyx_n_u_CU_MEM_ADVISE_SET_READ_MOSTLY __pyx_string_tab[1085]
#define __pyx_n_u_CU_MEM_ADVISE_UNSET_ACCESSED_BY __pyx_string_tab[1086]
#define __pyx_n_u_CU_MEM_ADVISE_UNSET_PREFERRED_LO __pyx_string_tab[1087]
#define __pyx_n_u_CU_MEM_ADVISE_UNSET_READ_MOSTLY __pyx_string_tab[1088]
#define __pyx_n_u_CU_MEM_ALLOCATION_COMP_GENERIC __pyx_string_tab[1089]
#define __pyx_n_u_CU_MEM_ALLOCATION_COMP_NONE __pyx_string_tab[1090]
#define __pyx_n_u_CU_MEM_ALLOCATION_TYPE_INVALID __pyx_string_tab[1091]
#define __pyx_n_u_CU_MEM_ALLOCATION_TYPE_MAX __pyx_string_tab[1092]
#define __pyx_n_u_CU_MEM_ALLOCATION_TYPE_PINNED __pyx_string_tab[1093]
#define __pyx_n_u_CU_MEM_ALLOC_GRANULARITY_MINIMUM __pyx_string_tab[1094]
#define __pyx_n_u_CU_MEM_ALLOC_GRANULARITY_RECOMME __pyx_string_tab[1095]
#define __pyx_n_u_CU_MEM_ATTACH_GLOBAL __pyx_string_tab[1096]
#define __pyx_n_u_CU_MEM_ATTACH_HOST __pyx_string_tab[1097]
#define __pyx_n_u_CU_MEM_ATTACH_SINGLE __pyx_string_tab[1098]
#define __pyx_n_u_CU_MEM_CREATE_USAGE_HW_DECOMPRES __pyx_string_tab[1099]
#define __pyx_n_u_CU_MEM_CREATE_USAGE_TILE_POOL __pyx_string_tab[1100]
#define __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_DEFL __pyx_string_tab[1101]
#define __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_LZ4 __pyx_string_tab[1102]
#define __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_SNAP __pyx_string_tab[1103]
#define __pyx_n_u_CU_MEM_DECOMPRESS_UNSUPPORTED __pyx_string_tab[1104]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_FABRIC __pyx_string_tab[1105]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_GENERIC __pyx_string_tab[1106]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_MAX __pyx_string_tab[1107]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_NONE __pyx_string_tab[1108]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE __pyx_string_tab[1109]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_WIN32 __pyx_string_tab[1110]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_WIN32_KMT __pyx_string_tab[1111]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_DEVICE __pyx_string_tab[1112]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST __pyx_string_tab[1113]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST_NUMA __pyx_string_tab[1114]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST_NUMA_C __pyx_string_tab[1115]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_INVALID __pyx_string_tab[1116]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_MAX __pyx_string_tab[1117]
#define __pyx_n_u_CU_MEM_OPERATION_TYPE_MAP __pyx_string_tab[1118]
#define __pyx_n_u_CU_MEM_OPERATION_TYPE_UNMAP __pyx_string_tab[1119]
#define __pyx_n_u_CU_MEM_POOL_CREATE_USAGE_HW_DECO __pyx_string_tab[1120]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_ACCESSED __pyx_string_tab[1121]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF __pyx_string_tab[1122]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2 __pyx_string_tab[1123]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3 __pyx_string_tab[1124]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED __pyx_string_tab[1125]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2 __pyx_string_tab[1126]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3 __pyx_string_tab[1127]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_READ_MOST __pyx_string_tab[1128]
#define __pyx_n_u_CU_MEM_RANGE_FLAG_DMA_BUF_MAPPIN __pyx_string_tab[1129]
#define __pyx_n_u_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF __pyx_string_tab[1130]
#define __pyx_n_u_CU_MEM_RANGE_HANDLE_TYPE_MAX __pyx_string_tab[1131]
#define __pyx_n_u_CU_MODULE_EAGER_LOADING __pyx_string_tab[1132]
#define __pyx_n_u_CU_MODULE_LAZY_LOADING __pyx_string_tab[1133]
#define __pyx_n_u_CU_MULTICAST_GRANULARITY_MINIMUM __pyx_string_tab[1134]
#define __pyx_n_u_CU_MULTICAST_GRANULARITY_RECOMME __pyx_string_tab[1135]
#define __pyx_n_u_CU_OCCUPANCY_DEFAULT __pyx_string_tab[1136]
#define __pyx_n_u_CU_OCCUPANCY_DISABLE_CACHING_OVE __pyx_string_tab[1137]
#define __pyx_n_u_CU_OUT_CSV __pyx_string_tab[1138]
#define __pyx_n_u_CU_OUT_KEY_VALUE_PAIR __pyx_string_tab[1139]
#define __pyx_n_u_CU_PARAM_TR_DEFAULT __pyx_string_tab[1140]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG __pyx_string_tab[1141]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2 __pyx_string_tab[1142]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3 __pyx_string_tab[1143]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4 __pyx_string_tab[1144]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ALLOWED_HAN __pyx_string_tab[1145]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_BUFFER_ID __pyx_string_tab[1146]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_CONTEXT __pyx_string_tab[1147]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_DEVICE_ORDI __pyx_string_tab[1148]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_DEVICE_POIN __pyx_string_tab[1149]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_HOST_POINTE __pyx_string_tab[1150]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE __pyx_string_tab[1151]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_HW_DECOM __pyx_string_tab[1152]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_LEGACY_C __pyx_string_tab[1153]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_MANAGED __pyx_string_tab[1154]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPED __pyx_string_tab[1155]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPING_BAS __pyx_string_tab[1156]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPING_SIZ __pyx_string_tab[1157]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMORY_BLOC __pyx_string_tab[1158]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMORY_TYPE __pyx_string_tab[1159]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN __pyx_string_tab[1160]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_P2P_TOKENS __pyx_string_tab[1161]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_RANGE_SIZE __pyx_string_tab[1162]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_RANGE_START __pyx_string_tab[1163]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS __pyx_string_tab[1164]
#define __pyx_n_u_CU_PREFER_BINARY __pyx_string_tab[1165]
#define __pyx_n_u_CU_PREFER_PTX __pyx_string_tab[1166]
#define __pyx_n_u_CU_PROCESS_STATE_CHECKPOINTED __pyx_string_tab[1167]
#define __pyx_n_u_CU_PROCESS_STATE_FAILED __pyx_string_tab[1168]
#define __pyx_n_u_CU_PROCESS_STATE_LOCKED __pyx_string_tab[1169]
#define __pyx_n_u_CU_PROCESS_STATE_RUNNING __pyx_string_tab[1170]
#define __pyx_n_u_CU_RESOURCE_TYPE_ARRAY __pyx_string_tab[1171]
#define __pyx_n_u_CU_RESOURCE_TYPE_LINEAR __pyx_string_tab[1172]
#define __pyx_n_u_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY __pyx_string_tab[1173]
#define __pyx_n_u_CU_RESOURCE_TYPE_PITCH2D __pyx_string_tab[1174]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_1X16 __pyx_string_tab[1175]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_1X32 __pyx_string_tab[1176]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_2X16 __pyx_string_tab[1177]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_2X32 __pyx_string_tab[1178]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_4X16 __pyx_string_tab[1179]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_4X32 __pyx_string_tab[1180]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_NONE __pyx_string_tab[1181]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC4 __pyx_string_tab[1182]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC5 __pyx_string_tab[1183]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC6H __pyx_string_tab[1184]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X16 __pyx_string_tab[1185]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X32 __pyx_string_tab[1186]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X8 __pyx_string_tab[1187]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X16 __pyx_string_tab[1188]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X32 __pyx_string_tab[1189]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X8 __pyx_string_tab[1190]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X16 __pyx_string_tab[1191]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X32 __pyx_string_tab[1192]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X8 __pyx_string_tab[1193]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X16 __pyx_string_tab[1194]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X32 __pyx_string_tab[1195]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X8 __pyx_string_tab[1196]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X16 __pyx_string_tab[1197]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X32 __pyx_string_tab[1198]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X8 __pyx_string_tab[1199]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X16 __pyx_string_tab[1200]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X32 __pyx_string_tab[1201]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X8 __pyx_string_tab[1202]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC1 __pyx_string_tab[1203]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC2 __pyx_string_tab[1204]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC3 __pyx_string_tab[1205]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC4 __pyx_string_tab[1206]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC5 __pyx_string_tab[1207]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H __pyx_string_tab[1208]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC7 __pyx_string_tab[1209]
#define __pyx_n_u_CU_SHAREDMEM_CARVEOUT_DEFAULT __pyx_string_tab[1210]
#define __pyx_n_u_CU_SHAREDMEM_CARVEOUT_MAX_L1 __pyx_string_tab[1211]
#define __pyx_n_u_CU_SHAREDMEM_CARVEOUT_MAX_SHARED __pyx_string_tab[1212]
#define __pyx_n_u_CU_SHARED_MEM_CONFIG_DEFAULT_BAN __pyx_string_tab[1213]
#define __pyx_n_u_CU_SHARED_MEM_CONFIG_EIGHT_BYTE __pyx_string_tab[1214]
#define __pyx_n_u_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B __pyx_string_tab[1215]
#define __pyx_n_u_CU_STREAM_ADD_CAPTURE_DEPENDENCI __pyx_string_tab[1216]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_ACCESS_POLIC __pyx_string_tab[1217]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM __pyx_string_tab[1218]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2 __pyx_string_tab[1219]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_PRIORITY __pyx_string_tab[1220]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT __pyx_string_tab[1221]
#define __pyx_n_u_CU_STREAM_CAPTURE_MODE_GLOBAL __pyx_string_tab[1222]
#define __pyx_n_u_CU_STREAM_CAPTURE_MODE_RELAXED __pyx_string_tab[1223]
#define __pyx_n_u_CU_STREAM_CAPTURE_MODE_THREAD_LO __pyx_string_tab[1224]
#define __pyx_n_u_CU_STREAM_CAPTURE_STATUS_ACTIVE __pyx_string_tab[1225]
#define __pyx_n_u_CU_STREAM_CAPTURE_STATUS_INVALID __pyx_string_tab[1226]
#define __pyx_n_u_CU_STREAM_CAPTURE_STATUS_NONE __pyx_string_tab[1227]
#define __pyx_n_u_CU_STREAM_DEFAULT __pyx_string_tab[1228]
#define __pyx_n_u_CU_STREAM_LEGACY __pyx_string_tab[1229]
#define __pyx_n_u_CU_STREAM_MEMORY_BARRIER_TYPE_GP __pyx_string_tab[1230]
#define __pyx_n_u_CU_STREAM_MEMORY_BARRIER_TYPE_SY __pyx_string_tab[1231]
#define __pyx_n_u_CU_STREAM_MEM_OP_BARRIER __pyx_string_tab[1232]
#define __pyx_n_u_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR __pyx_string_tab[1233]
#define __pyx_n_u_CU_STREAM_MEM_OP_WAIT_VALUE_32 __pyx_string_tab[1234]
#define __pyx_n_u_CU_STREAM_MEM_OP_WAIT_VALUE_64 __pyx_string_tab[1235]
#define __pyx_n_u_CU_STREAM_MEM_OP_WRITE_VALUE_32 __pyx_string_tab[1236]
#define __pyx_n_u_CU_STREAM_MEM_OP_WRITE_VALUE_64 __pyx_string_tab[1237]
#define __pyx_n_u_CU_STREAM_NON_BLOCKING __pyx_string_tab[1238]
#define __pyx_n_u_CU_STREAM_PER_THREAD __pyx_string_tab[1239]
#define __pyx_n_u_CU_STREAM_SET_CAPTURE_DEPENDENCI __pyx_string_tab[1240]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_AND __pyx_string_tab[1241]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_EQ __pyx_string_tab[1242]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_FLUSH __pyx_string_tab[1243]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_GEQ __pyx_string_tab[1244]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_NOR __pyx_string_tab[1245]
#define __pyx_n_u_CU_STREAM_WRITE_VALUE_DEFAULT __pyx_string_tab[1246]
#define __pyx_n_u_CU_STREAM_WRITE_VALUE_NO_MEMORY __pyx_string_tab[1247]
#define __pyx_n_u_CU_SYNC_POLICY_AUTO __pyx_string_tab[1248]
#define __pyx_n_u_CU_SYNC_POLICY_BLOCKING_SYNC __pyx_string_tab[1249]
#define __pyx_n_u_CU_SYNC_POLICY_SPIN __pyx_string_tab[1250]
#define __pyx_n_u_CU_SYNC_POLICY_YIELD __pyx_string_tab[1251]
#define __pyx_n_u_CU_TARGET_COMPUTE_100 __pyx_string_tab[1252]
#define __pyx_n_u_CU_TARGET_COMPUTE_100A __pyx_string_tab[1253]
#define __pyx_n_u_CU_TARGET_COMPUTE_100F __pyx_string_tab[1254]
#define __pyx_n_u_CU_TARGET_COMPUTE_101 __pyx_string_tab[1255]
#define __pyx_n_u_CU_TARGET_COMPUTE_101A __pyx_string_tab[1256]
#define __pyx_n_u_CU_TARGET_COMPUTE_101F __pyx_string_tab[1257]
#define __pyx_n_u_CU_TARGET_COMPUTE_103 __pyx_string_tab[1258]
#define __pyx_n_u_CU_TARGET_COMPUTE_103A __pyx_string_tab[1259]
#define __pyx_n_u_CU_TARGET_COMPUTE_103F __pyx_string_tab[1260]
#define __pyx_n_u_CU_TARGET_COMPUTE_120 __pyx_string_tab[1261]
#define __pyx_n_u_CU_TARGET_COMPUTE_120A __pyx_string_tab[1262]
#define __pyx_n_u_CU_TARGET_COMPUTE_120F __pyx_string_tab[1263]
#define __pyx_n_u_CU_TARGET_COMPUTE_121 __pyx_string_tab[1264]
#define __pyx_n_u_CU_TARGET_COMPUTE_121A __pyx_string_tab[1265]
#define __pyx_n_u_CU_TARGET_COMPUTE_121F __pyx_string_tab[1266]
#define __pyx_n_u_CU_TARGET_COMPUTE_30 __pyx_string_tab[1267]
#define __pyx_n_u_CU_TARGET_COMPUTE_32 __pyx_string_tab[1268]
#define __pyx_n_u_CU_TARGET_COMPUTE_35 __pyx_string_tab[1269]
#define __pyx_n_u_CU_TARGET_COMPUTE_37 __pyx_string_tab[1270]
#define __pyx_n_u_CU_TARGET_COMPUTE_50 __pyx_string_tab[1271]
#define __pyx_n_u_CU_TARGET_COMPUTE_52 __pyx_string_tab[1272]
#define __pyx_n_u_CU_TARGET_COMPUTE_53 __pyx_string_tab[1273]
#define __pyx_n_u_CU_TARGET_COMPUTE_60 __pyx_string_tab[1274]
#define __pyx_n_u_CU_TARGET_COMPUTE_61 __pyx_string_tab[1275]
#define __pyx_n_u_CU_TARGET_COMPUTE_62 __pyx_string_tab[1276]
#define __pyx_n_u_CU_TARGET_COMPUTE_70 __pyx_string_tab[1277]
#define __pyx_n_u_CU_TARGET_COMPUTE_72 __pyx_string_tab[1278]
#define __pyx_n_u_CU_TARGET_COMPUTE_75 __pyx_string_tab[1279]
#define __pyx_n_u_CU_TARGET_COMPUTE_80 __pyx_string_tab[1280]
#define __pyx_n_u_CU_TARGET_COMPUTE_86 __pyx_string_tab[1281]
#define __pyx_n_u_CU_TARGET_COMPUTE_87 __pyx_string_tab[1282]
#define __pyx_n_u_CU_TARGET_COMPUTE_89 __pyx_string_tab[1283]
#define __pyx_n_u_CU_TARGET_COMPUTE_90 __pyx_string_tab[1284]
#define __pyx_n_u_CU_TARGET_COMPUTE_90A __pyx_string_tab[1285]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI __pyx_string_tab[1286]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI_2 __pyx_string_tab[1287]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U6_ALI __pyx_string_tab[1288]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 __pyx_string_tab[1289]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT16 __pyx_string_tab[1290]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT32 __pyx_string_tab[1291]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2 __pyx_string_tab[1292]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT64 __pyx_string_tab[1293]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_INT32 __pyx_string_tab[1294]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_INT64 __pyx_string_tab[1295]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 __pyx_string_tab[1296]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2 __pyx_string_tab[1297]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT16 __pyx_string_tab[1298]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT32 __pyx_string_tab[1299]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT64 __pyx_string_tab[1300]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT8 __pyx_string_tab[1301]
#define __pyx_n_u_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN __pyx_string_tab[1302]
#define __pyx_n_u_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON __pyx_string_tab[1303]
#define __pyx_n_u_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W __pyx_string_tab[1304]
#define __pyx_n_u_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W_2 __pyx_string_tab[1305]
#define __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_16B __pyx_string_tab[1306]
#define __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_32B __pyx_string_tab[1307]
#define __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_NONE __pyx_string_tab[1308]
#define __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_12 __pyx_string_tab[1309]
#define __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_25 __pyx_string_tab[1310]
#define __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_64 __pyx_string_tab[1311]
#define __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_NONE __pyx_string_tab[1312]
#define __pyx_n_u_CU_TENSOR_MAP_NUM_QWORDS __pyx_string_tab[1313]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B __pyx_string_tab[1314]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM __pyx_string_tab[1315]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_2 __pyx_string_tab[1316]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_3 __pyx_string_tab[1317]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_32B __pyx_string_tab[1318]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_64B __pyx_string_tab[1319]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_NONE __pyx_string_tab[1320]
#define __pyx_n_u_CU_TRSA_OVERRIDE_FORMAT __pyx_string_tab[1321]
#define __pyx_n_u_CU_TRSF_DISABLE_TRILINEAR_OPTIMI __pyx_string_tab[1322]
#define __pyx_n_u_CU_TRSF_NORMALIZED_COORDINATES __pyx_string_tab[1323]
#define __pyx_n_u_CU_TRSF_READ_AS_INTEGER __pyx_string_tab[1324]
#define __pyx_n_u_CU_TRSF_SEAMLESS_CUBEMAP __pyx_string_tab[1325]
#define __pyx_n_u_CU_TRSF_SRGB __pyx_string_tab[1326]
#define __pyx_n_u_CU_TR_ADDRESS_MODE_BORDER __pyx_string_tab[1327]
#define __pyx_n_u_CU_TR_ADDRESS_MODE_CLAMP __pyx_string_tab[1328]
#define __pyx_n_u_CU_TR_ADDRESS_MODE_MIRROR __pyx_string_tab[1329]
#define __pyx_n_u_CU_TR_ADDRESS_MODE_WRAP __pyx_string_tab[1330]
#define __pyx_n_u_CU_TR_FILTER_MODE_LINEAR __pyx_string_tab[1331]
#define __pyx_n_u_CU_TR_FILTER_MODE_POINT __pyx_string_tab[1332]
#define __pyx_n_u_CU_USER_OBJECT_NO_DESTRUCTOR_SYN __pyx_string_tab[1333]
#define __pyx_n_u_CUaccessPolicyWindow __pyx_string_tab[1334]
#define __pyx_n_u_CUaccessPolicyWindow_st __pyx_string_tab[1335]
#define __pyx_n_u_CUaccessPolicyWindow_st___reduce __pyx_string_tab[1336]
#define __pyx_n_u_CUaccessPolicyWindow_st___setsta __pyx_string_tab[1337]
#define __pyx_n_u_CUaccessPolicyWindow_st_getPtr __pyx_string_tab[1338]
#define __pyx_n_u_CUaccessPolicyWindow_v1 __pyx_string_tab[1339]
#define __pyx_n_u_CUaccessProperty __pyx_string_tab[1340]
#define __pyx_n_u_CUaddress_mode __pyx_string_tab[1341]
#define __pyx_kp_u_CUarray __pyx_string_tab[1342]
#define __pyx_n_u_CUarrayMapInfo __pyx_string_tab[1343]
#define __pyx_n_u_CUarrayMapInfo_st __pyx_string_tab[1344]
#define __pyx_n_u_CUarrayMapInfo_st___reduce_cytho __pyx_string_tab[1345]
#define __pyx_n_u_CUarrayMapInfo_st___setstate_cyt __pyx_string_tab[1346]
#define __pyx_n_u_CUarrayMapInfo_st_getPtr __pyx_string_tab[1347]
#define __pyx_n_u_CUarrayMapInfo_v1 __pyx_string_tab[1348]
#define __pyx_n_u_CUarraySparseSubresourceType __pyx_string_tab[1349]
#define __pyx_n_u_CUarray_2 __pyx_string_tab[1350]
#define __pyx_n_u_CUarray___reduce_cython __pyx_string_tab[1351]
#define __pyx_n_u_CUarray___setstate_cython __pyx_string_tab[1352]
#define __pyx_n_u_CUarray_cubemap_face __pyx_string_tab[1353]
#define __pyx_n_u_CUarray_format __pyx_string_tab[1354]
#define __pyx_n_u_CUarray_getPtr __pyx_string_tab[1355]
#define __pyx_n_u_CUarray_getter __pyx_string_tab[1356]
#define __pyx_kp_u_CUasyncCallback __pyx_string_tab[1357]
#define __pyx_kp_u_CUasyncCallbackHandle __pyx_string_tab[1358]
#define __pyx_n_u_CUasyncCallbackHandle_2 __pyx_string_tab[1359]
#define __pyx_n_u_CUasyncCallbackHandle___reduce_c __pyx_string_tab[1360]
#define __pyx_n_u_CUasyncCallbackHandle___setstate __pyx_string_tab[1361]
#define __pyx_n_u_CUasyncCallbackHandle_getPtr __pyx_string_tab[1362]
#define __pyx_n_u_CUasyncCallbackHandle_getter __pyx_string_tab[1363]
#define __pyx_n_u_CUasyncCallback_2 __pyx_string_tab[1364]
#define __pyx_n_u_CUasyncCallback___reduce_cython __pyx_string_tab[1365]
#define __pyx_n_u_CUasyncCallback___setstate_cytho __pyx_string_tab[1366]
#define __pyx_n_u_CUasyncCallback_getPtr __pyx_string_tab[1367]
#define __pyx_n_u_CUasyncNotificationInfo __pyx_string_tab[1368]
#define __pyx_n_u_CUasyncNotificationInfo_st __pyx_string_tab[1369]
#define __pyx_n_u_CUasyncNotificationInfo_st___red __pyx_string_tab[1370]
#define __pyx_n_u_CUasyncNotificationInfo_st___set __pyx_string_tab[1371]
#define __pyx_n_u_CUasyncNotificationInfo_st_getPt __pyx_string_tab[1372]
#define __pyx_n_u_CUasyncNotificationType __pyx_string_tab[1373]
#define __pyx_n_u_CUcheckpointCheckpointArgs __pyx_string_tab[1374]
#define __pyx_n_u_CUcheckpointCheckpointArgs_st __pyx_string_tab[1375]
#define __pyx_n_u_CUcheckpointCheckpointArgs_st_2 __pyx_string_tab[1376]
#define __pyx_n_u_CUcheckpointCheckpointArgs_st_3 __pyx_string_tab[1377]
#define __pyx_n_u_CUcheckpointCheckpointArgs_st_ge __pyx_string_tab[1378]
#define __pyx_n_u_CUcheckpointLockArgs __pyx_string_tab[1379]
#define __pyx_n_u_CUcheckpointLockArgs_st __pyx_string_tab[1380]
#define __pyx_n_u_CUcheckpointLockArgs_st___reduce __pyx_string_tab[1381]
#define __pyx_n_u_CUcheckpointLockArgs_st___setsta __pyx_string_tab[1382]
#define __pyx_n_u_CUcheckpointLockArgs_st_getPtr __pyx_string_tab[1383]
#define __pyx_n_u_CUcheckpointRestoreArgs __pyx_string_tab[1384]
#define __pyx_n_u_CUcheckpointRestoreArgs_st __pyx_string_tab[1385]
#define __pyx_n_u_CUcheckpointRestoreArgs_st___red __pyx_string_tab[1386]
#define __pyx_n_u_CUcheckpointRestoreArgs_st___set __pyx_string_tab[1387]
#define __pyx_n_u_CUcheckpointRestoreArgs_st_getPt __pyx_string_tab[1388]
#define __pyx_n_u_CUcheckpointUnlockArgs __pyx_string_tab[1389]
#define __pyx_n_u_CUcheckpointUnlockArgs_st __pyx_string_tab[1390]
#define __pyx_n_u_CUcheckpointUnlockArgs_st___redu __pyx_string_tab[1391]
#define __pyx_n_u_CUcheckpointUnlockArgs_st___sets __pyx_string_tab[1392]
#define __pyx_n_u_CUcheckpointUnlockArgs_st_getPtr __pyx_string_tab[1393]
#define __pyx_n_u_CUcigDataType __pyx_string_tab[1394]
#define __pyx_n_u_CUclusterSchedulingPolicy __pyx_string_tab[1395]
#define __pyx_n_u_CUcomputemode __pyx_string_tab[1396]
#define __pyx_n_u_CUcontext __pyx_string_tab[1397]
#define __pyx_kp_u_CUcontext_2 __pyx_string_tab[1398]
#define __pyx_n_u_CUcontext___reduce_cython __pyx_string_tab[1399]
#define __pyx_n_u_CUcontext___setstate_cython __pyx_string_tab[1400]
#define __pyx_n_u_CUcontext_getPtr __pyx_string_tab[1401]
#define __pyx_n_u_CUcontext_getter __pyx_string_tab[1402]
#define __pyx_n_u_CUcoredumpSettings __pyx_string_tab[1403]
#define __pyx_n_u_CUctxCigParam __pyx_string_tab[1404]
#define __pyx_n_u_CUctxCigParam_st __pyx_string_tab[1405]
#define __pyx_n_u_CUctxCigParam_st___reduce_cython __pyx_string_tab[1406]
#define __pyx_n_u_CUctxCigParam_st___setstate_cyth __pyx_string_tab[1407]
#define __pyx_n_u_CUctxCigParam_st_getPtr __pyx_string_tab[1408]
#define __pyx_n_u_CUctxCreateParams __pyx_string_tab[1409]
#define __pyx_n_u_CUctxCreateParams_st __pyx_string_tab[1410]
#define __pyx_n_u_CUctxCreateParams_st___reduce_cy __pyx_string_tab[1411]
#define __pyx_n_u_CUctxCreateParams_st___setstate __pyx_string_tab[1412]
#define __pyx_n_u_CUctxCreateParams_st_getPtr __pyx_string_tab[1413]
#define __pyx_n_u_CUctx_flags __pyx_string_tab[1414]
#define __pyx_n_u_CUdevResource __pyx_string_tab[1415]
#define __pyx_kp_u_CUdevResourceDesc __pyx_string_tab[1416]
#define __pyx_n_u_CUdevResourceDesc_2 __pyx_string_tab[1417]
#define __pyx_n_u_CUdevResourceDesc___reduce_cytho __pyx_string_tab[1418]
#define __pyx_n_u_CUdevResourceDesc___setstate_cyt __pyx_string_tab[1419]
#define __pyx_n_u_CUdevResourceDesc_getPtr __pyx_string_tab[1420]
#define __pyx_n_u_CUdevResourceDesc_getter __pyx_string_tab[1421]
#define __pyx_n_u_CUdevResourceType __pyx_string_tab[1422]
#define __pyx_n_u_CUdevResource_st __pyx_string_tab[1423]
#define __pyx_n_u_CUdevResource_st___reduce_cython __pyx_string_tab[1424]
#define __pyx_n_u_CUdevResource_st___setstate_cyth __pyx_string_tab[1425]
#define __pyx_n_u_CUdevResource_st_getPtr __pyx_string_tab[1426]
#define __pyx_n_u_CUdevResource_v1 __pyx_string_tab[1427]
#define __pyx_n_u_CUdevSmResource __pyx_string_tab[1428]
#define __pyx_n_u_CUdevSmResourceSplit_flags __pyx_string_tab[1429]
#define __pyx_n_u_CUdevSmResource_st __pyx_string_tab[1430]
#define __pyx_n_u_CUdevSmResource_st___reduce_cyth __pyx_string_tab[1431]
#define __pyx_n_u_CUdevSmResource_st___setstate_cy __pyx_string_tab[1432]
#define __pyx_n_u_CUdevSmResource_st_getPtr __pyx_string_tab[1433]
#define __pyx_kp_u_CUdevice __pyx_string_tab[1434]
#define __pyx_n_u_CUdeviceNumaConfig __pyx_string_tab[1435]
#define __pyx_n_u_CUdevice_2 __pyx_string_tab[1436]
#define __pyx_n_u_CUdevice_P2PAttribute __pyx_string_tab[1437]
#define __pyx_n_u_CUdevice___reduce_cython __pyx_string_tab[1438]
#define __pyx_n_u_CUdevice___setstate_cython __pyx_string_tab[1439]
#define __pyx_n_u_CUdevice_attribute __pyx_string_tab[1440]
#define __pyx_n_u_CUdevice_getPtr __pyx_string_tab[1441]
#define __pyx_kp_u_CUdevice_v1 __pyx_string_tab[1442]
#define __pyx_n_u_CUdevice_v1_2 __pyx_string_tab[1443]
#define __pyx_n_u_CUdevice_v1___reduce_cython __pyx_string_tab[1444]
#define __pyx_n_u_CUdevice_v1___setstate_cython __pyx_string_tab[1445]
#define __pyx_n_u_CUdevice_v1_getPtr __pyx_string_tab[1446]
#define __pyx_n_u_CUdeviceptr __pyx_string_tab[1447]
#define __pyx_kp_u_CUdeviceptr_2 __pyx_string_tab[1448]
#define __pyx_n_u_CUdeviceptr___reduce_cython __pyx_string_tab[1449]
#define __pyx_n_u_CUdeviceptr___setstate_cython __pyx_string_tab[1450]
#define __pyx_n_u_CUdeviceptr_getPtr __pyx_string_tab[1451]
#define __pyx_kp_u_CUdeviceptr_v2 __pyx_string_tab[1452]
#define __pyx_n_u_CUdeviceptr_v2_2 __pyx_string_tab[1453]
#define __pyx_n_u_CUdeviceptr_v2___reduce_cython __pyx_string_tab[1454]
#define __pyx_n_u_CUdeviceptr_v2___setstate_cython __pyx_string_tab[1455]
#define __pyx_n_u_CUdeviceptr_v2_getPtr __pyx_string_tab[1456]
#define __pyx_n_u_CUdevprop __pyx_string_tab[1457]
#define __pyx_n_u_CUdevprop_st __pyx_string_tab[1458]
#define __pyx_n_u_CUdevprop_st___reduce_cython __pyx_string_tab[1459]
#define __pyx_n_u_CUdevprop_st___setstate_cython __pyx_string_tab[1460]
#define __pyx_n_u_CUdevprop_st_getPtr __pyx_string_tab[1461]
#define __pyx_n_u_CUdevprop_v1 __pyx_string_tab[1462]
#define __pyx_n_u_CUdriverProcAddressQueryResult __pyx_string_tab[1463]
#define __pyx_n_u_CUdriverProcAddress_flags __pyx_string_tab[1464]
#define __pyx_n_u_CUeglColorFormat __pyx_string_tab[1465]
#define __pyx_n_u_CUeglFrame __pyx_string_tab[1466]
#define __pyx_n_u_CUeglFrameType __pyx_string_tab[1467]
#define __pyx_n_u_CUeglFrame_st __pyx_string_tab[1468]
#define __pyx_n_u_CUeglFrame_st___reduce_cython __pyx_string_tab[1469]
#define __pyx_n_u_CUeglFrame_st___setstate_cython __pyx_string_tab[1470]
#define __pyx_n_u_CUeglFrame_st_getPtr __pyx_string_tab[1471]
#define __pyx_n_u_CUeglFrame_v1 __pyx_string_tab[1472]
#define __pyx_n_u_CUeglResourceLocationFlags __pyx_string_tab[1473]
#define __pyx_kp_u_CUeglStreamConnection __pyx_string_tab[1474]
#define __pyx_n_u_CUeglStreamConnection_2 __pyx_string_tab[1475]
#define __pyx_n_u_CUeglStreamConnection___reduce_c __pyx_string_tab[1476]
#define __pyx_n_u_CUeglStreamConnection___setstate __pyx_string_tab[1477]
#define __pyx_n_u_CUeglStreamConnection_getPtr __pyx_string_tab[1478]
#define __pyx_n_u_CUeglStreamConnection_getter __pyx_string_tab[1479]
#define __pyx_kp_u_CUevent __pyx_string_tab[1480]
#define __pyx_n_u_CUevent_2 __pyx_string_tab[1481]
#define __pyx_n_u_CUevent___reduce_cython __pyx_string_tab[1482]
#define __pyx_n_u_CUevent___setstate_cython __pyx_string_tab[1483]
#define __pyx_n_u_CUevent_flags __pyx_string_tab[1484]
#define __pyx_n_u_CUevent_getPtr __pyx_string_tab[1485]
#define __pyx_n_u_CUevent_getter __pyx_string_tab[1486]
#define __pyx_n_u_CUevent_record_flags __pyx_string_tab[1487]
#define __pyx_n_u_CUevent_sched_flags __pyx_string_tab[1488]
#define __pyx_n_u_CUevent_wait_flags __pyx_string_tab[1489]
#define __pyx_n_u_CUexecAffinityParam __pyx_string_tab[1490]
#define __pyx_n_u_CUexecAffinityParam_st __pyx_string_tab[1491]
#define __pyx_n_u_CUexecAffinityParam_st___reduce __pyx_string_tab[1492]
#define __pyx_n_u_CUexecAffinityParam_st___setstat __pyx_string_tab[1493]
#define __pyx_n_u_CUexecAffinityParam_st_getPtr __pyx_string_tab[1494]
#define __pyx_n_u_CUexecAffinityParam_v1 __pyx_string_tab[1495]
#define __pyx_n_u_CUexecAffinitySmCount __pyx_string_tab[1496]
#define __pyx_n_u_CUexecAffinitySmCount_st __pyx_string_tab[1497]
#define __pyx_n_u_CUexecAffinitySmCount_st___reduc __pyx_string_tab[1498]
#define __pyx_n_u_CUexecAffinitySmCount_st___setst __pyx_string_tab[1499]
#define __pyx_n_u_CUexecAffinitySmCount_st_getPtr __pyx_string_tab[1500]
#define __pyx_n_u_CUexecAffinitySmCount_v1 __pyx_string_tab[1501]
#define __pyx_n_u_CUexecAffinityType __pyx_string_tab[1502]
#define __pyx_n_u_CUextent3D __pyx_string_tab[1503]
#define __pyx_n_u_CUextent3D_st __pyx_string_tab[1504]
#define __pyx_n_u_CUextent3D_st___reduce_cython __pyx_string_tab[1505]
#define __pyx_n_u_CUextent3D_st___setstate_cython __pyx_string_tab[1506]
#define __pyx_n_u_CUextent3D_st_getPtr __pyx_string_tab[1507]
#define __pyx_n_u_CUextent3D_v1 __pyx_string_tab[1508]
#define __pyx_kp_u_CUexternalMemory __pyx_string_tab[1509]
#define __pyx_n_u_CUexternalMemoryHandleType __pyx_string_tab[1510]
#define __pyx_n_u_CUexternalMemory_2 __pyx_string_tab[1511]
#define __pyx_n_u_CUexternalMemory___reduce_cython __pyx_string_tab[1512]
#define __pyx_n_u_CUexternalMemory___setstate_cyth __pyx_string_tab[1513]
#define __pyx_n_u_CUexternalMemory_getPtr __pyx_string_tab[1514]
#define __pyx_n_u_CUexternalMemory_getter __pyx_string_tab[1515]
#define __pyx_kp_u_CUexternalSemaphore __pyx_string_tab[1516]
#define __pyx_n_u_CUexternalSemaphoreHandleType __pyx_string_tab[1517]
#define __pyx_n_u_CUexternalSemaphore_2 __pyx_string_tab[1518]
#define __pyx_n_u_CUexternalSemaphore___reduce_cyt __pyx_string_tab[1519]
#define __pyx_n_u_CUexternalSemaphore___setstate_c __pyx_string_tab[1520]
#define __pyx_n_u_CUexternalSemaphore_getPtr __pyx_string_tab[1521]
#define __pyx_n_u_CUexternalSemaphore_getter __pyx_string_tab[1522]
#define __pyx_n_u_CUfilter_mode __pyx_string_tab[1523]
#define __pyx_n_u_CUflushGPUDirectRDMAWritesOption __pyx_string_tab[1524]
#define __pyx_n_u_CUflushGPUDirectRDMAWritesScope __pyx_string_tab[1525]
#define __pyx_n_u_CUflushGPUDirectRDMAWritesTarget __pyx_string_tab[1526]
#define __pyx_n_u_CUfunc_cache __pyx_string_tab[1527]
#define __pyx_kp_u_CUfunction __pyx_string_tab[1528]
#define __pyx_n_u_CUfunctionLoadingState __pyx_string_tab[1529]
#define __pyx_n_u_CUfunction_2 __pyx_string_tab[1530]
#define __pyx_n_u_CUfunction___reduce_cython __pyx_string_tab[1531]
#define __pyx_n_u_CUfunction___setstate_cython __pyx_string_tab[1532]
#define __pyx_n_u_CUfunction_attribute __pyx_string_tab[1533]
#define __pyx_n_u_CUfunction_getPtr __pyx_string_tab[1534]
#define __pyx_n_u_CUfunction_getter __pyx_string_tab[1535]
#define __pyx_kp_u_CUgraph __pyx_string_tab[1536]
#define __pyx_n_u_CUgraphChildGraphNodeOwnership __pyx_string_tab[1537]
#define __pyx_kp_u_CUgraphConditionalHandle __pyx_string_tab[1538]
#define __pyx_n_u_CUgraphConditionalHandle_2 __pyx_string_tab[1539]
#define __pyx_n_u_CUgraphConditionalHandle___reduc __pyx_string_tab[1540]
#define __pyx_n_u_CUgraphConditionalHandle___setst __pyx_string_tab[1541]
#define __pyx_n_u_CUgraphConditionalHandle_getPtr __pyx_string_tab[1542]
#define __pyx_n_u_CUgraphConditionalNodeType __pyx_string_tab[1543]
#define __pyx_n_u_CUgraphDebugDot_flags __pyx_string_tab[1544]
#define __pyx_n_u_CUgraphDependencyType __pyx_string_tab[1545]
#define __pyx_kp_u_CUgraphDeviceNode __pyx_string_tab[1546]
#define __pyx_n_u_CUgraphDeviceNode_2 __pyx_string_tab[1547]
#define __pyx_n_u_CUgraphDeviceNode___reduce_cytho __pyx_string_tab[1548]
#define __pyx_n_u_CUgraphDeviceNode___setstate_cyt __pyx_string_tab[1549]
#define __pyx_n_u_CUgraphDeviceNode_getPtr __pyx_string_tab[1550]
#define __pyx_n_u_CUgraphDeviceNode_getter __pyx_string_tab[1551]
#define __pyx_n_u_CUgraphEdgeData __pyx_string_tab[1552]
#define __pyx_n_u_CUgraphEdgeData_st __pyx_string_tab[1553]
#define __pyx_n_u_CUgraphEdgeData_st___reduce_cyth __pyx_string_tab[1554]
#define __pyx_n_u_CUgraphEdgeData_st___setstate_cy __pyx_string_tab[1555]
#define __pyx_n_u_CUgraphEdgeData_st_getPtr __pyx_string_tab[1556]
#define __pyx_kp_u_CUgraphExec __pyx_string_tab[1557]
#define __pyx_n_u_CUgraphExecUpdateResult __pyx_string_tab[1558]
#define __pyx_n_u_CUgraphExecUpdateResultInfo __pyx_string_tab[1559]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_st __pyx_string_tab[1560]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_st_2 __pyx_string_tab[1561]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_st_3 __pyx_string_tab[1562]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_st_g __pyx_string_tab[1563]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_v1 __pyx_string_tab[1564]
#define __pyx_n_u_CUgraphExec_2 __pyx_string_tab[1565]
#define __pyx_n_u_CUgraphExec___reduce_cython __pyx_string_tab[1566]
#define __pyx_n_u_CUgraphExec___setstate_cython __pyx_string_tab[1567]
#define __pyx_n_u_CUgraphExec_getPtr __pyx_string_tab[1568]
#define __pyx_n_u_CUgraphExec_getter __pyx_string_tab[1569]
#define __pyx_n_u_CUgraphInstantiateResult __pyx_string_tab[1570]
#define __pyx_n_u_CUgraphInstantiate_flags __pyx_string_tab[1571]
#define __pyx_n_u_CUgraphMem_attribute __pyx_string_tab[1572]
#define __pyx_kp_u_CUgraphNode __pyx_string_tab[1573]
#define __pyx_n_u_CUgraphNodeParams __pyx_string_tab[1574]
#define __pyx_n_u_CUgraphNodeParams_st __pyx_string_tab[1575]
#define __pyx_n_u_CUgraphNodeParams_st___reduce_cy __pyx_string_tab[1576]
#define __pyx_n_u_CUgraphNodeParams_st___setstate __pyx_string_tab[1577]
#define __pyx_n_u_CUgraphNodeParams_st_getPtr __pyx_string_tab[1578]
#define __pyx_n_u_CUgraphNodeType __pyx_string_tab[1579]
#define __pyx_n_u_CUgraphNode_2 __pyx_string_tab[1580]
#define __pyx_n_u_CUgraphNode___reduce_cython __pyx_string_tab[1581]
#define __pyx_n_u_CUgraphNode___setstate_cython __pyx_string_tab[1582]
#define __pyx_n_u_CUgraphNode_getPtr __pyx_string_tab[1583]
#define __pyx_n_u_CUgraphNode_getter __pyx_string_tab[1584]
#define __pyx_n_u_CUgraph_2 __pyx_string_tab[1585]
#define __pyx_n_u_CUgraph___reduce_cython __pyx_string_tab[1586]
#define __pyx_n_u_CUgraph___setstate_cython __pyx_string_tab[1587]
#define __pyx_n_u_CUgraph_getPtr __pyx_string_tab[1588]
#define __pyx_n_u_CUgraph_getter __pyx_string_tab[1589]
#define __pyx_n_u_CUgraphicsMapResourceFlags __pyx_string_tab[1590]
#define __pyx_n_u_CUgraphicsRegisterFlags __pyx_string_tab[1591]
#define __pyx_kp_u_CUgraphicsResource __pyx_string_tab[1592]
#define __pyx_n_u_CUgraphicsResource_2 __pyx_string_tab[1593]
#define __pyx_n_u_CUgraphicsResource___reduce_cyth __pyx_string_tab[1594]
#define __pyx_n_u_CUgraphicsResource___setstate_cy __pyx_string_tab[1595]
#define __pyx_n_u_CUgraphicsResource_getPtr __pyx_string_tab[1596]
#define __pyx_n_u_CUgraphicsResource_getter __pyx_string_tab[1597]
#define __pyx_kp_u_CUgreenCtx __pyx_string_tab[1598]
#define __pyx_n_u_CUgreenCtxCreate_flags __pyx_string_tab[1599]
#define __pyx_n_u_CUgreenCtx_2 __pyx_string_tab[1600]
#define __pyx_n_u_CUgreenCtx___reduce_cython __pyx_string_tab[1601]
#define __pyx_n_u_CUgreenCtx___setstate_cython __pyx_string_tab[1602]
#define __pyx_n_u_CUgreenCtx_getPtr __pyx_string_tab[1603]
#define __pyx_n_u_CUgreenCtx_getter __pyx_string_tab[1604]
#define __pyx_kp_u_CUhostFn __pyx_string_tab[1605]
#define __pyx_n_u_CUhostFn_2 __pyx_string_tab[1606]
#define __pyx_n_u_CUhostFn___reduce_cython __pyx_string_tab[1607]
#define __pyx_n_u_CUhostFn___setstate_cython __pyx_string_tab[1608]
#define __pyx_n_u_CUhostFn_getPtr __pyx_string_tab[1609]
#define __pyx_n_u_CUipcEventHandle __pyx_string_tab[1610]
#define __pyx_n_u_CUipcEventHandle_st __pyx_string_tab[1611]
#define __pyx_n_u_CUipcEventHandle_st___reduce_cyt __pyx_string_tab[1612]
#define __pyx_n_u_CUipcEventHandle_st___setstate_c __pyx_string_tab[1613]
#define __pyx_n_u_CUipcEventHandle_st_getPtr __pyx_string_tab[1614]
#define __pyx_n_u_CUipcEventHandle_v1 __pyx_string_tab[1615]
#define __pyx_n_u_CUipcMemHandle __pyx_string_tab[1616]
#define __pyx_n_u_CUipcMemHandle_st __pyx_string_tab[1617]
#define __pyx_n_u_CUipcMemHandle_st___reduce_cytho __pyx_string_tab[1618]
#define __pyx_n_u_CUipcMemHandle_st___setstate_cyt __pyx_string_tab[1619]
#define __pyx_n_u_CUipcMemHandle_st_getPtr __pyx_string_tab[1620]
#define __pyx_n_u_CUipcMemHandle_v1 __pyx_string_tab[1621]
#define __pyx_n_u_CUipcMem_flags __pyx_string_tab[1622]
#define __pyx_n_u_CUjitInputType __pyx_string_tab[1623]
#define __pyx_n_u_CUjit_cacheMode __pyx_string_tab[1624]
#define __pyx_n_u_CUjit_fallback __pyx_string_tab[1625]
#define __pyx_n_u_CUjit_option __pyx_string_tab[1626]
#define __pyx_n_u_CUjit_target __pyx_string_tab[1627]
#define __pyx_kp_u_CUkernel __pyx_string_tab[1628]
#define __pyx_n_u_CUkernelNodeAttrID __pyx_string_tab[1629]
#define __pyx_n_u_CUkernelNodeAttrValue __pyx_string_tab[1630]
#define __pyx_n_u_CUkernelNodeAttrValue_v1 __pyx_string_tab[1631]
#define __pyx_n_u_CUkernel_2 __pyx_string_tab[1632]
#define __pyx_n_u_CUkernel___reduce_cython __pyx_string_tab[1633]
#define __pyx_n_u_CUkernel___setstate_cython __pyx_string_tab[1634]
#define __pyx_n_u_CUkernel_getPtr __pyx_string_tab[1635]
#define __pyx_n_u_CUkernel_getter __pyx_string_tab[1636]
#define __pyx_n_u_CUlaunchAttribute __pyx_string_tab[1637]
#define __pyx_n_u_CUlaunchAttributeID __pyx_string_tab[1638]
#define __pyx_n_u_CUlaunchAttributeValue __pyx_string_tab[1639]
#define __pyx_n_u_CUlaunchAttributeValue_union __pyx_string_tab[1640]
#define __pyx_n_u_CUlaunchAttributeValue_union___r __pyx_string_tab[1641]
#define __pyx_n_u_CUlaunchAttributeValue_union___s __pyx_string_tab[1642]
#define __pyx_n_u_CUlaunchAttributeValue_union_get __pyx_string_tab[1643]
#define __pyx_n_u_CUlaunchAttribute_st __pyx_string_tab[1644]
#define __pyx_n_u_CUlaunchAttribute_st___reduce_cy __pyx_string_tab[1645]
#define __pyx_n_u_CUlaunchAttribute_st___setstate __pyx_string_tab[1646]
#define __pyx_n_u_CUlaunchAttribute_st_getPtr __pyx_string_tab[1647]
#define __pyx_n_u_CUlaunchConfig __pyx_string_tab[1648]
#define __pyx_n_u_CUlaunchConfig_st __pyx_string_tab[1649]
#define __pyx_n_u_CUlaunchConfig_st___reduce_cytho __pyx_string_tab[1650]
#define __pyx_n_u_CUlaunchConfig_st___setstate_cyt __pyx_string_tab[1651]
#define __pyx_n_u_CUlaunchConfig_st_getPtr __pyx_string_tab[1652]
#define __pyx_n_u_CUlaunchMemSyncDomain __pyx_string_tab[1653]
#define __pyx_n_u_CUlaunchMemSyncDomainMap __pyx_string_tab[1654]
#define __pyx_n_u_CUlaunchMemSyncDomainMap_st __pyx_string_tab[1655]
#define __pyx_n_u_CUlaunchMemSyncDomainMap_st___re __pyx_string_tab[1656]
#define __pyx_n_u_CUlaunchMemSyncDomainMap_st___se __pyx_string_tab[1657]
#define __pyx_n_u_CUlaunchMemSyncDomainMap_st_getP __pyx_string_tab[1658]
#define __pyx_kp_u_CUlibrary __pyx_string_tab[1659]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn __pyx_string_tab[1660]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn_2 __pyx_string_tab[1661]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn_3 __pyx_string_tab[1662]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn_4 __pyx_string_tab[1663]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn_5 __pyx_string_tab[1664]
#define __pyx_n_u_CUlibraryOption __pyx_string_tab[1665]
#define __pyx_n_u_CUlibrary_2 __pyx_string_tab[1666]
#define __pyx_n_u_CUlibrary___reduce_cython __pyx_string_tab[1667]
#define __pyx_n_u_CUlibrary___setstate_cython __pyx_string_tab[1668]
#define __pyx_n_u_CUlibrary_getPtr __pyx_string_tab[1669]
#define __pyx_n_u_CUlibrary_getter __pyx_string_tab[1670]
#define __pyx_n_u_CUlimit __pyx_string_tab[1671]
#define __pyx_kp_u_CUlinkState __pyx_string_tab[1672]
#define __pyx_n_u_CUlinkState_2 __pyx_string_tab[1673]
#define __pyx_n_u_CUlinkState___reduce_cython __pyx_string_tab[1674]
#define __pyx_n_u_CUlinkState___setstate_cython __pyx_string_tab[1675]
#define __pyx_n_u_CUlinkState_getPtr __pyx_string_tab[1676]
#define __pyx_n_u_CUlinkState_getter __pyx_string_tab[1677]
#define __pyx_kp_u_CUlogIterator __pyx_string_tab[1678]
#define __pyx_n_u_CUlogIterator_2 __pyx_string_tab[1679]
#define __pyx_n_u_CUlogIterator___reduce_cython __pyx_string_tab[1680]
#define __pyx_n_u_CUlogIterator___setstate_cython __pyx_string_tab[1681]
#define __pyx_n_u_CUlogIterator_getPtr __pyx_string_tab[1682]
#define __pyx_n_u_CUlogLevel __pyx_string_tab[1683]
#define __pyx_kp_u_CUlogsCallback __pyx_string_tab[1684]
#define __pyx_kp_u_CUlogsCallbackHandle __pyx_string_tab[1685]
#define __pyx_n_u_CUlogsCallbackHandle_2 __pyx_string_tab[1686]
#define __pyx_n_u_CUlogsCallbackHandle___reduce_cy __pyx_string_tab[1687]
#define __pyx_n_u_CUlogsCallbackHandle___setstate __pyx_string_tab[1688]
#define __pyx_n_u_CUlogsCallbackHandle_getPtr __pyx_string_tab[1689]
#define __pyx_n_u_CUlogsCallbackHandle_getter __pyx_string_tab[1690]
#define __pyx_n_u_CUlogsCallback_2 __pyx_string_tab[1691]
#define __pyx_n_u_CUlogsCallback___reduce_cython __pyx_string_tab[1692]
#define __pyx_n_u_CUlogsCallback___setstate_cython __pyx_string_tab[1693]
#define __pyx_n_u_CUlogsCallback_getPtr __pyx_string_tab[1694]
#define __pyx_n_u_CUmemAccessDesc __pyx_string_tab[1695]
#define __pyx_n_u_CUmemAccessDesc_st __pyx_string_tab[1696]
#define __pyx_n_u_CUmemAccessDesc_st___reduce_cyth __pyx_string_tab[1697]
#define __pyx_n_u_CUmemAccessDesc_st___setstate_cy __pyx_string_tab[1698]
#define __pyx_n_u_CUmemAccessDesc_st_getPtr __pyx_string_tab[1699]
#define __pyx_n_u_CUmemAccessDesc_v1 __pyx_string_tab[1700]
#define __pyx_n_u_CUmemAccess_flags __pyx_string_tab[1701]
#define __pyx_n_u_CUmemAllocationCompType __pyx_string_tab[1702]
#define __pyx_n_u_CUmemAllocationGranularity_flags __pyx_string_tab[1703]
#define __pyx_n_u_CUmemAllocationHandleType __pyx_string_tab[1704]
#define __pyx_n_u_CUmemAllocationProp __pyx_string_tab[1705]
#define __pyx_n_u_CUmemAllocationProp_st __pyx_string_tab[1706]
#define __pyx_n_u_CUmemAllocationProp_st___reduce __pyx_string_tab[1707]
#define __pyx_n_u_CUmemAllocationProp_st___setstat __pyx_string_tab[1708]
#define __pyx_n_u_CUmemAllocationProp_st_getPtr __pyx_string_tab[1709]
#define __pyx_n_u_CUmemAllocationProp_v1 __pyx_string_tab[1710]
#define __pyx_n_u_CUmemAllocationType __pyx_string_tab[1711]
#define __pyx_n_u_CUmemAttach_flags __pyx_string_tab[1712]
#define __pyx_n_u_CUmemDecompressAlgorithm __pyx_string_tab[1713]
#define __pyx_n_u_CUmemDecompressParams __pyx_string_tab[1714]
#define __pyx_n_u_CUmemDecompressParams_st __pyx_string_tab[1715]
#define __pyx_n_u_CUmemDecompressParams_st___reduc __pyx_string_tab[1716]
#define __pyx_n_u_CUmemDecompressParams_st___setst __pyx_string_tab[1717]
#define __pyx_n_u_CUmemDecompressParams_st_getPtr __pyx_string_tab[1718]
#define __pyx_n_u_CUmemFabricHandle __pyx_string_tab[1719]
#define __pyx_n_u_CUmemFabricHandle_st __pyx_string_tab[1720]
#define __pyx_n_u_CUmemFabricHandle_st___reduce_cy __pyx_string_tab[1721]
#define __pyx_n_u_CUmemFabricHandle_st___setstate __pyx_string_tab[1722]
#define __pyx_n_u_CUmemFabricHandle_st_getPtr __pyx_string_tab[1723]
#define __pyx_n_u_CUmemFabricHandle_v1 __pyx_string_tab[1724]
#define __pyx_kp_u_CUmemGenericAllocationHandle __pyx_string_tab[1725]
#define __pyx_n_u_CUmemGenericAllocationHandle_2 __pyx_string_tab[1726]
#define __pyx_n_u_CUmemGenericAllocationHandle___r __pyx_string_tab[1727]
#define __pyx_n_u_CUmemGenericAllocationHandle___s __pyx_string_tab[1728]
#define __pyx_n_u_CUmemGenericAllocationHandle_get __pyx_string_tab[1729]
#define __pyx_kp_u_CUmemGenericAllocationHandle_v1 __pyx_string_tab[1730]
#define __pyx_n_u_CUmemGenericAllocationHandle_v1_2 __pyx_string_tab[1731]
#define __pyx_n_u_CUmemGenericAllocationHandle_v1_3 __pyx_string_tab[1732]
#define __pyx_n_u_CUmemGenericAllocationHandle_v1_4 __pyx_string_tab[1733]
#define __pyx_n_u_CUmemGenericAllocationHandle_v1_5 __pyx_string_tab[1734]
#define __pyx_n_u_CUmemHandleType __pyx_string_tab[1735]
#define __pyx_n_u_CUmemLocation __pyx_string_tab[1736]
#define __pyx_n_u_CUmemLocationType __pyx_string_tab[1737]
#define __pyx_n_u_CUmemLocation_st __pyx_string_tab[1738]
#define __pyx_n_u_CUmemLocation_st___reduce_cython __pyx_string_tab[1739]
#define __pyx_n_u_CUmemLocation_st___setstate_cyth __pyx_string_tab[1740]
#define __pyx_n_u_CUmemLocation_st_getPtr __pyx_string_tab[1741]
#define __pyx_n_u_CUmemLocation_v1 __pyx_string_tab[1742]
#define __pyx_n_u_CUmemOperationType __pyx_string_tab[1743]
#define __pyx_n_u_CUmemPoolProps __pyx_string_tab[1744]
#define __pyx_n_u_CUmemPoolProps_st __pyx_string_tab[1745]
#define __pyx_n_u_CUmemPoolProps_st___reduce_cytho __pyx_string_tab[1746]
#define __pyx_n_u_CUmemPoolProps_st___setstate_cyt __pyx_string_tab[1747]
#define __pyx_n_u_CUmemPoolProps_st_getPtr __pyx_string_tab[1748]
#define __pyx_n_u_CUmemPoolProps_v1 __pyx_string_tab[1749]
#define __pyx_n_u_CUmemPoolPtrExportData __pyx_string_tab[1750]
#define __pyx_n_u_CUmemPoolPtrExportData_st __pyx_string_tab[1751]
#define __pyx_n_u_CUmemPoolPtrExportData_st___redu __pyx_string_tab[1752]
#define __pyx_n_u_CUmemPoolPtrExportData_st___sets __pyx_string_tab[1753]
#define __pyx_n_u_CUmemPoolPtrExportData_st_getPtr __pyx_string_tab[1754]
#define __pyx_n_u_CUmemPoolPtrExportData_v1 __pyx_string_tab[1755]
#define __pyx_n_u_CUmemPool_attribute __pyx_string_tab[1756]
#define __pyx_n_u_CUmemRangeFlags __pyx_string_tab[1757]
#define __pyx_n_u_CUmemRangeHandleType __pyx_string_tab[1758]
#define __pyx_n_u_CUmem_advise __pyx_string_tab[1759]
#define __pyx_n_u_CUmem_range_attribute __pyx_string_tab[1760]
#define __pyx_n_u_CUmemcpy3DOperand __pyx_string_tab[1761]
#define __pyx_n_u_CUmemcpy3DOperandType __pyx_string_tab[1762]
#define __pyx_n_u_CUmemcpy3DOperand_st __pyx_string_tab[1763]
#define __pyx_n_u_CUmemcpy3DOperand_st___reduce_cy __pyx_string_tab[1764]
#define __pyx_n_u_CUmemcpy3DOperand_st___setstate __pyx_string_tab[1765]
#define __pyx_n_u_CUmemcpy3DOperand_st_getPtr __pyx_string_tab[1766]
#define __pyx_n_u_CUmemcpy3DOperand_v1 __pyx_string_tab[1767]
#define __pyx_n_u_CUmemcpyAttributes __pyx_string_tab[1768]
#define __pyx_n_u_CUmemcpyAttributes_st __pyx_string_tab[1769]
#define __pyx_n_u_CUmemcpyAttributes_st___reduce_c __pyx_string_tab[1770]
#define __pyx_n_u_CUmemcpyAttributes_st___setstate __pyx_string_tab[1771]
#define __pyx_n_u_CUmemcpyAttributes_st_getPtr __pyx_string_tab[1772]
#define __pyx_n_u_CUmemcpyAttributes_v1 __pyx_string_tab[1773]
#define __pyx_n_u_CUmemcpyFlags __pyx_string_tab[1774]
#define __pyx_n_u_CUmemcpySrcAccessOrder __pyx_string_tab[1775]
#define __pyx_n_u_CUmemoryPool __pyx_string_tab[1776]
#define __pyx_kp_u_CUmemoryPool_2 __pyx_string_tab[1777]
#define __pyx_n_u_CUmemoryPool___reduce_cython __pyx_string_tab[1778]
#define __pyx_n_u_CUmemoryPool___setstate_cython __pyx_string_tab[1779]
#define __pyx_n_u_CUmemoryPool_getPtr __pyx_string_tab[1780]
#define __pyx_n_u_CUmemoryPool_getter __pyx_string_tab[1781]
#define __pyx_n_u_CUmemorytype __pyx_string_tab[1782]
#define __pyx_kp_u_CUmipmappedArray __pyx_string_tab[1783]
#define __pyx_n_u_CUmipmappedArray_2 __pyx_string_tab[1784]
#define __pyx_n_u_CUmipmappedArray___reduce_cython __pyx_string_tab[1785]
#define __pyx_n_u_CUmipmappedArray___setstate_cyth __pyx_string_tab[1786]
#define __pyx_n_u_CUmipmappedArray_getPtr __pyx_string_tab[1787]
#define __pyx_n_u_CUmipmappedArray_getter __pyx_string_tab[1788]
#define __pyx_kp_u_CUmodule __pyx_string_tab[1789]
#define __pyx_n_u_CUmoduleLoadingMode __pyx_string_tab[1790]
#define __pyx_n_u_CUmodule_2 __pyx_string_tab[1791]
#define __pyx_n_u_CUmodule___reduce_cython __pyx_string_tab[1792]
#define __pyx_n_u_CUmodule___setstate_cython __pyx_string_tab[1793]
#define __pyx_n_u_CUmodule_getPtr __pyx_string_tab[1794]
#define __pyx_n_u_CUmodule_getter __pyx_string_tab[1795]
#define __pyx_n_u_CUmulticastGranularity_flags __pyx_string_tab[1796]
#define __pyx_n_u_CUmulticastObjectProp __pyx_string_tab[1797]
#define __pyx_n_u_CUmulticastObjectProp_st __pyx_string_tab[1798]
#define __pyx_n_u_CUmulticastObjectProp_st___reduc __pyx_string_tab[1799]
#define __pyx_n_u_CUmulticastObjectProp_st___setst __pyx_string_tab[1800]
#define __pyx_n_u_CUmulticastObjectProp_st_getPtr __pyx_string_tab[1801]
#define __pyx_n_u_CUmulticastObjectProp_v1 __pyx_string_tab[1802]
#define __pyx_kp_u_CUoccupancyB2DSize __pyx_string_tab[1803]
#define __pyx_n_u_CUoccupancyB2DSize_2 __pyx_string_tab[1804]
#define __pyx_n_u_CUoccupancyB2DSize___reduce_cyth __pyx_string_tab[1805]
#define __pyx_n_u_CUoccupancyB2DSize___setstate_cy __pyx_string_tab[1806]
#define __pyx_n_u_CUoccupancyB2DSize_getPtr __pyx_string_tab[1807]
#define __pyx_n_u_CUoccupancy_flags __pyx_string_tab[1808]
#define __pyx_n_u_CUoffset3D __pyx_string_tab[1809]
#define __pyx_n_u_CUoffset3D_st __pyx_string_tab[1810]
#define __pyx_n_u_CUoffset3D_st___reduce_cython __pyx_string_tab[1811]
#define __pyx_n_u_CUoffset3D_st___setstate_cython __pyx_string_tab[1812]
#define __pyx_n_u_CUoffset3D_st_getPtr __pyx_string_tab[1813]
#define __pyx_n_u_CUoffset3D_v1 __pyx_string_tab[1814]
#define __pyx_n_u_CUoutput_mode __pyx_string_tab[1815]
#define __pyx_n_u_CUpointer_attribute __pyx_string_tab[1816]
#define __pyx_n_u_CUprocessState __pyx_string_tab[1817]
#define __pyx_n_u_CUresourceViewFormat __pyx_string_tab[1818]
#define __pyx_n_u_CUresourcetype __pyx_string_tab[1819]
#define __pyx_n_u_CUresult __pyx_string_tab[1820]
#define __pyx_n_u_CUshared_carveout __pyx_string_tab[1821]
#define __pyx_n_u_CUsharedconfig __pyx_string_tab[1822]
#define __pyx_kp_u_CUstream __pyx_string_tab[1823]
#define __pyx_n_u_CUstreamAttrID __pyx_string_tab[1824]
#define __pyx_n_u_CUstreamAttrValue __pyx_string_tab[1825]
#define __pyx_n_u_CUstreamAttrValue_v1 __pyx_string_tab[1826]
#define __pyx_n_u_CUstreamBatchMemOpParams __pyx_string_tab[1827]
#define __pyx_n_u_CUstreamBatchMemOpParams_union __pyx_string_tab[1828]
#define __pyx_n_u_CUstreamBatchMemOpParams_union_2 __pyx_string_tab[1829]
#define __pyx_n_u_CUstreamBatchMemOpParams_union_3 __pyx_string_tab[1830]
#define __pyx_n_u_CUstreamBatchMemOpParams_union_g __pyx_string_tab[1831]
#define __pyx_n_u_CUstreamBatchMemOpParams_v1 __pyx_string_tab[1832]
#define __pyx_n_u_CUstreamBatchMemOpType __pyx_string_tab[1833]
#define __pyx_kp_u_CUstreamCallback __pyx_string_tab[1834]
#define __pyx_n_u_CUstreamCallback_2 __pyx_string_tab[1835]
#define __pyx_n_u_CUstreamCallback___reduce_cython __pyx_string_tab[1836]
#define __pyx_n_u_CUstreamCallback___setstate_cyth __pyx_string_tab[1837]
#define __pyx_n_u_CUstreamCallback_getPtr __pyx_string_tab[1838]
#define __pyx_n_u_CUstreamCaptureMode __pyx_string_tab[1839]
#define __pyx_n_u_CUstreamCaptureStatus __pyx_string_tab[1840]
#define __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa __pyx_string_tab[1841]
#define __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_2 __pyx_string_tab[1842]
#define __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_3 __pyx_string_tab[1843]
#define __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_4 __pyx_string_tab[1844]
#define __pyx_n_u_CUstreamMemOpMemoryBarrierParams __pyx_string_tab[1845]
#define __pyx_n_u_CUstreamMemOpMemoryBarrierParams_2 __pyx_string_tab[1846]
#define __pyx_n_u_CUstreamMemOpMemoryBarrierParams_3 __pyx_string_tab[1847]
#define __pyx_n_u_CUstreamMemOpMemoryBarrierParams_4 __pyx_string_tab[1848]
#define __pyx_n_u_CUstreamMemOpWaitValueParams_st __pyx_string_tab[1849]
#define __pyx_n_u_CUstreamMemOpWaitValueParams_st_2 __pyx_string_tab[1850]
#define __pyx_n_u_CUstreamMemOpWaitValueParams_st_3 __pyx_string_tab[1851]
#define __pyx_n_u_CUstreamMemOpWaitValueParams_st_4 __pyx_string_tab[1852]
#define __pyx_n_u_CUstreamMemOpWriteValueParams_st __pyx_string_tab[1853]
#define __pyx_n_u_CUstreamMemOpWriteValueParams_st_2 __pyx_string_tab[1854]
#define __pyx_n_u_CUstreamMemOpWriteValueParams_st_3 __pyx_string_tab[1855]
#define __pyx_n_u_CUstreamMemOpWriteValueParams_st_4 __pyx_string_tab[1856]
#define __pyx_n_u_CUstreamMemoryBarrier_flags __pyx_string_tab[1857]
#define __pyx_n_u_CUstreamUpdateCaptureDependencie __pyx_string_tab[1858]
#define __pyx_n_u_CUstreamWaitValue_flags __pyx_string_tab[1859]
#define __pyx_n_u_CUstreamWriteValue_flags __pyx_string_tab[1860]
#define __pyx_n_u_CUstream_2 __pyx_string_tab[1861]
#define __pyx_n_u_CUstream___reduce_cython __pyx_string_tab[1862]
#define __pyx_n_u_CUstream___setstate_cython __pyx_string_tab[1863]
#define __pyx_n_u_CUstream_flags __pyx_string_tab[1864]
#define __pyx_n_u_CUstream_getPtr __pyx_string_tab[1865]
#define __pyx_n_u_CUstream_getter __pyx_string_tab[1866]
#define __pyx_kp_u_CUsurfObject __pyx_string_tab[1867]
#define __pyx_n_u_CUsurfObject_2 __pyx_string_tab[1868]
#define __pyx_n_u_CUsurfObject___reduce_cython __pyx_string_tab[1869]
#define __pyx_n_u_CUsurfObject___setstate_cython __pyx_string_tab[1870]
#define __pyx_n_u_CUsurfObject_getPtr __pyx_string_tab[1871]
#define __pyx_kp_u_CUsurfObject_v1 __pyx_string_tab[1872]
#define __pyx_n_u_CUsurfObject_v1_2 __pyx_string_tab[1873]
#define __pyx_n_u_CUsurfObject_v1___reduce_cython __pyx_string_tab[1874]
#define __pyx_n_u_CUsurfObject_v1___setstate_cytho __pyx_string_tab[1875]
#define __pyx_n_u_CUsurfObject_v1_getPtr __pyx_string_tab[1876]
#define __pyx_kp_u_CUsurfref __pyx_string_tab[1877]
#define __pyx_n_u_CUsurfref_2 __pyx_string_tab[1878]
#define __pyx_n_u_CUsurfref___reduce_cython __pyx_string_tab[1879]
#define __pyx_n_u_CUsurfref___setstate_cython __pyx_string_tab[1880]
#define __pyx_n_u_CUsurfref_getPtr __pyx_string_tab[1881]
#define __pyx_n_u_CUsurfref_getter __pyx_string_tab[1882]
#define __pyx_n_u_CUsynchronizationPolicy __pyx_string_tab[1883]
#define __pyx_n_u_CUtensorMap __pyx_string_tab[1884]
#define __pyx_n_u_CUtensorMapDataType __pyx_string_tab[1885]
#define __pyx_n_u_CUtensorMapFloatOOBfill __pyx_string_tab[1886]
#define __pyx_n_u_CUtensorMapIm2ColWideMode __pyx_string_tab[1887]
#define __pyx_n_u_CUtensorMapInterleave __pyx_string_tab[1888]
#define __pyx_n_u_CUtensorMapL2promotion __pyx_string_tab[1889]
#define __pyx_n_u_CUtensorMapSwizzle __pyx_string_tab[1890]
#define __pyx_n_u_CUtensorMap_st __pyx_string_tab[1891]
#define __pyx_n_u_CUtensorMap_st___reduce_cython __pyx_string_tab[1892]
#define __pyx_n_u_CUtensorMap_st___setstate_cython __pyx_string_tab[1893]
#define __pyx_n_u_CUtensorMap_st_getPtr __pyx_string_tab[1894]
#define __pyx_kp_u_CUtexObject __pyx_string_tab[1895]
#define __pyx_n_u_CUtexObject_2 __pyx_string_tab[1896]
#define __pyx_n_u_CUtexObject___reduce_cython __pyx_string_tab[1897]
#define __pyx_n_u_CUtexObject___setstate_cython __pyx_string_tab[1898]
#define __pyx_n_u_CUtexObject_getPtr __pyx_string_tab[1899]
#define __pyx_kp_u_CUtexObject_v1 __pyx_string_tab[1900]
#define __pyx_n_u_CUtexObject_v1_2 __pyx_string_tab[1901]
#define __pyx_n_u_CUtexObject_v1___reduce_cython __pyx_string_tab[1902]
#define __pyx_n_u_CUtexObject_v1___setstate_cython __pyx_string_tab[1903]
#define __pyx_n_u_CUtexObject_v1_getPtr __pyx_string_tab[1904]
#define __pyx_kp_u_CUtexref __pyx_string_tab[1905]
#define __pyx_n_u_CUtexref_2 __pyx_string_tab[1906]
#define __pyx_n_u_CUtexref___reduce_cython __pyx_string_tab[1907]
#define __pyx_n_u_CUtexref___setstate_cython __pyx_string_tab[1908]
#define __pyx_n_u_CUtexref_getPtr __pyx_string_tab[1909]
#define __pyx_n_u_CUtexref_getter __pyx_string_tab[1910]
#define __pyx_kp_u_CUuserObject __pyx_string_tab[1911]
#define __pyx_n_u_CUuserObjectRetain_flags __pyx_string_tab[1912]
#define __pyx_n_u_CUuserObject_2 __pyx_string_tab[1913]
#define __pyx_n_u_CUuserObject___reduce_cython __pyx_string_tab[1914]
#define __pyx_n_u_CUuserObject___setstate_cython __pyx_string_tab[1915]
#define __pyx_n_u_CUuserObject_flags __pyx_string_tab[1916]
#define __pyx_n_u_CUuserObject_getPtr __pyx_string_tab[1917]
#define __pyx_n_u_CUuserObject_getter __pyx_string_tab[1918]
#define __pyx_n_u_CUuuid __pyx_string_tab[1919]
#define __pyx_n_u_CUuuid_st __pyx_string_tab[1920]
#define __pyx_n_u_CUuuid_st___reduce_cython __pyx_string_tab[1921]
#define __pyx_n_u_CUuuid_st___setstate_cython __pyx_string_tab[1922]
#define __pyx_n_u_CUuuid_st_getPtr __pyx_string_tab[1923]
#define __pyx_kp_u_Caching_modes_for_dlcm __pyx_string_tab[1924]
#define __pyx_kp_u_Child_graph_node_ownership __pyx_string_tab[1925]
#define __pyx_kp_u_Cluster_scheduling_policies_The __pyx_string_tab[1926]
#define __pyx_kp_u_Compute_Modes __pyx_string_tab[1927]
#define __pyx_kp_u_Conditional_node_types __pyx_string_tab[1928]
#define __pyx_kp_u_Context_creation_flags __pyx_string_tab[1929]
#define __pyx_kp_u_Cubin_matching_fallback_strateg __pyx_string_tab[1930]
#define __pyx_kp_u_Defines_the_allocation_types_av __pyx_string_tab[1931]
#define __pyx_kp_u_Deprecated_Shared_memory_config __pyx_string_tab[1932]
#define __pyx_kp_u_Depth __pyx_string_tab[1933]
#define __pyx_n_u_Depth_2 __pyx_string_tab[1934]
#define __pyx_kp_u_Depth_ValueError __pyx_string_tab[1935]
#define __pyx_kp_u_Device_code_formats __pyx_string_tab[1936]
#define __pyx_kp_u_Device_properties __pyx_string_tab[1937]
#define __pyx_kp_u_EGLImageKHR __pyx_string_tab[1938]
#define __pyx_n_u_EGLImageKHR_2 __pyx_string_tab[1939]
#define __pyx_n_u_EGLImageKHR___reduce_cython __pyx_string_tab[1940]
#define __pyx_n_u_EGLImageKHR___setstate_cython __pyx_string_tab[1941]
#define __pyx_n_u_EGLImageKHR_getPtr __pyx_string_tab[1942]
#define __pyx_n_u_EGLImageKHR_getter __pyx_string_tab[1943]
#define __pyx_kp_u_EGLStreamKHR __pyx_string_tab[1944]
#define __pyx_n_u_EGLStreamKHR_2 __pyx_string_tab[1945]
#define __pyx_n_u_EGLStreamKHR___reduce_cython __pyx_string_tab[1946]
#define __pyx_n_u_EGLStreamKHR___setstate_cython __pyx_string_tab[1947]
#define __pyx_n_u_EGLStreamKHR_getPtr __pyx_string_tab[1948]
#define __pyx_n_u_EGLStreamKHR_getter __pyx_string_tab[1949]
#define __pyx_kp_u_EGLSyncKHR __pyx_string_tab[1950]
#define __pyx_n_u_EGLSyncKHR_2 __pyx_string_tab[1951]
#define __pyx_n_u_EGLSyncKHR___reduce_cython __pyx_string_tab[1952]
#define __pyx_n_u_EGLSyncKHR___setstate_cython __pyx_string_tab[1953]
#define __pyx_n_u_EGLSyncKHR_getPtr __pyx_string_tab[1954]
#define __pyx_n_u_EGLSyncKHR_getter __pyx_string_tab[1955]
#define __pyx_kp_u_EGLint __pyx_string_tab[1956]
#define __pyx_n_u_EGLint_2 __pyx_string_tab[1957]
#define __pyx_n_u_EGLint___reduce_cython __pyx_string_tab[1958]
#define __pyx_n_u_EGLint___setstate_cython __pyx_string_tab[1959]
#define __pyx_n_u_EGLint_getPtr __pyx_string_tab[1960]
#define __pyx_n_u_ElementSizeBytes __pyx_string_tab[1961]
#define __pyx_n_u_Enum __pyx_string_tab[1962]
#define __pyx_n_u_Enum_2 __pyx_string_tab[1963]
#define __pyx_kp_u_Error_codes __pyx_string_tab[1964]
#define __pyx_kp_u_Event_creation_flags __pyx_string_tab[1965]
#define __pyx_kp_u_Event_record_flags __pyx_string_tab[1966]
#define __pyx_kp_u_Event_sched_flags __pyx_string_tab[1967]
#define __pyx_kp_u_Event_wait_flags __pyx_string_tab[1968]
#define __pyx_kp_u_Execution_Affinity_Types __pyx_string_tab[1969]
#define __pyx_kp_u_External_memory_handle_types __pyx_string_tab[1970]
#define __pyx_kp_u_External_semaphore_handle_types __pyx_string_tab[1971]
#define __pyx_kp_u_Failed_to_allocate_length_x_size __pyx_string_tab[1972]
#define __pyx_kp_u_Failed_to_allocated_length_x_siz __pyx_string_tab[1973]
#define __pyx_kp_u_Failed_to_retrieve_buffer_throug __pyx_string_tab[1974]
#define __pyx_kp_u_Flag_for_requesting_different_o __pyx_string_tab[1975]
#define __pyx_kp_u_Flag_for_requesting_handle_type __pyx_string_tab[1976]
#define __pyx_kp_u_Flags __pyx_string_tab[1977]
#define __pyx_n_u_Flags_2 __pyx_string_tab[1978]
#define __pyx_kp_u_Flags_ValueError __pyx_string_tab[1979]
#define __pyx_kp_u_Flags_for_choosing_a_coredump_a __pyx_string_tab[1980]
#define __pyx_kp_u_Flags_for_controlling_coredump __pyx_string_tab[1981]
#define __pyx_kp_u_Flags_for_instantiating_a_graph __pyx_string_tab[1982]
#define __pyx_kp_u_Flags_for_mapping_and_unmapping __pyx_string_tab[1983]
#define __pyx_kp_u_Flags_for_py_obj_CUstreamBatchM __pyx_string_tab[1984]
#define __pyx_kp_u_Flags_for_py_obj_cuStreamUpdate __pyx_string_tab[1985]
#define __pyx_kp_u_Flags_for_py_obj_cuStreamWaitVa __pyx_string_tab[1986]
#define __pyx_kp_u_Flags_for_py_obj_cuStreamWriteV __pyx_string_tab[1987]
#define __pyx_kp_u_Flags_for_querying_different_gr __pyx_string_tab[1988]
#define __pyx_kp_u_Flags_for_retaining_user_object __pyx_string_tab[1989]
#define __pyx_kp_u_Flags_for_specifying_particular __pyx_string_tab[1990]
#define __pyx_kp_u_Flags_for_user_objects_for_grap __pyx_string_tab[1991]
#define __pyx_kp_u_Flags_to_indicate_search_status __pyx_string_tab[1992]
#define __pyx_kp_u_Flags_to_map_or_unmap_a_resourc __pyx_string_tab[1993]
#define __pyx_kp_u_Flags_to_register_a_graphics_re __pyx_string_tab[1994]
#define __pyx_kp_u_Flags_to_specify_for_copies_wit __pyx_string_tab[1995]
#define __pyx_kp_u_Flags_to_specify_search_options __pyx_string_tab[1996]
#define __pyx_kp_u_Format __pyx_string_tab[1997]
#define __pyx_n_u_Format_2 __pyx_string_tab[1998]
#define __pyx_kp_u_Format_ValueError __pyx_string_tab[1999]
#define __pyx_kp_u_Function_cache_configurations __pyx_string_tab[2000]
#define __pyx_kp_u_Function_properties __pyx_string_tab[2001]
#define __pyx_kp_u_GLenum __pyx_string_tab[2002]
#define __pyx_n_u_GLenum_2 __pyx_string_tab[2003]
#define __pyx_n_u_GLenum___reduce_cython __pyx_string_tab[2004]
#define __pyx_n_u_GLenum___setstate_cython __pyx_string_tab[2005]
#define __pyx_n_u_GLenum_getPtr __pyx_string_tab[2006]
#define __pyx_kp_u_GLuint __pyx_string_tab[2007]
#define __pyx_n_u_GLuint_2 __pyx_string_tab[2008]
#define __pyx_n_u_GLuint___reduce_cython __pyx_string_tab[2009]
#define __pyx_n_u_GLuint___setstate_cython __pyx_string_tab[2010]
#define __pyx_n_u_GLuint_getPtr __pyx_string_tab[2011]
#define __pyx_kp_u_Graph_instantiation_results __pyx_string_tab[2012]
#define __pyx_kp_u_Graph_node_types __pyx_string_tab[2013]
#define __pyx_kp_u_Height __pyx_string_tab[2014]
#define __pyx_n_u_Height_2 __pyx_string_tab[2015]
#define __pyx_kp_u_Height_ValueError __pyx_string_tab[2016]
#define __pyx_n_u_HelperCUcoredumpSettings __pyx_string_tab[2017]
#define __pyx_n_u_HelperCUcoredumpSettings___redu __pyx_string_tab[2018]
#define __pyx_n_u_HelperCUcoredumpSettings___sets __pyx_string_tab[2019]
#define __pyx_n_u_HelperCUcoredumpSettings_pyObj __pyx_string_tab[2020]
#define __pyx_n_u_HelperCUcoredumpSettings_size __pyx_string_tab[2021]
#define __pyx_n_u_HelperCUgraphMem_attribute __pyx_string_tab[2022]
#define __pyx_n_u_HelperCUgraphMem_attribute___re __pyx_string_tab[2023]
#define __pyx_n_u_HelperCUgraphMem_attribute___se __pyx_string_tab[2024]
#define __pyx_n_u_HelperCUgraphMem_attribute_pyOb __pyx_string_tab[2025]
#define __pyx_n_u_HelperCUjit_option __pyx_string_tab[2026]
#define __pyx_n_u_HelperCUjit_option___reduce_cyt __pyx_string_tab[2027]
#define __pyx_n_u_HelperCUjit_option___setstate_c __pyx_string_tab[2028]
#define __pyx_n_u_HelperCUlibraryOption __pyx_string_tab[2029]
#define __pyx_n_u_HelperCUlibraryOption___reduce __pyx_string_tab[2030]
#define __pyx_n_u_HelperCUlibraryOption___setstat __pyx_string_tab[2031]
#define __pyx_n_u_HelperCUmemAllocationHandleType __pyx_string_tab[2032]
#define __pyx_n_u_HelperCUmemAllocationHandleType_2 __pyx_string_tab[2033]
#define __pyx_n_u_HelperCUmemAllocationHandleType_3 __pyx_string_tab[2034]
#define __pyx_n_u_HelperCUmemAllocationHandleType_4 __pyx_string_tab[2035]
#define __pyx_n_u_HelperCUmemPool_attribute __pyx_string_tab[2036]
#define __pyx_n_u_HelperCUmemPool_attribute___red __pyx_string_tab[2037]
#define __pyx_n_u_HelperCUmemPool_attribute___set __pyx_string_tab[2038]
#define __pyx_n_u_HelperCUmemPool_attribute_pyObj __pyx_string_tab[2039]
#define __pyx_n_u_HelperCUmem_range_attribute __pyx_string_tab[2040]
#define __pyx_n_u_HelperCUmem_range_attribute___r __pyx_string_tab[2041]
#define __pyx_n_u_HelperCUmem_range_attribute___s __pyx_string_tab[2042]
#define __pyx_n_u_HelperCUmem_range_attribute_pyO __pyx_string_tab[2043]
#define __pyx_n_u_HelperCUpointer_attribute __pyx_string_tab[2044]
#define __pyx_n_u_HelperCUpointer_attribute___red __pyx_string_tab[2045]
#define __pyx_n_u_HelperCUpointer_attribute___set __pyx_string_tab[2046]
#define __pyx_n_u_HelperCUpointer_attribute_pyObj __pyx_string_tab[2047]
#define __pyx_n_u_HelperCudaJitOption __pyx_string_tab[2048]
#define __pyx_n_u_HelperCudaJitOption___reduce_cy __pyx_string_tab[2049]
#define __pyx_n_u_HelperCudaJitOption___setstate __pyx_string_tab[2050]
#define __pyx_n_u_HelperCudaLibraryOption __pyx_string_tab[2051]
#define __pyx_n_u_HelperCudaLibraryOption___reduc __pyx_string_tab[2052]
#define __pyx_n_u_HelperCudaLibraryOption___setst __pyx_string_tab[2053]
#define __pyx_n_u_HelperInputVoidPtr __pyx_string_tab[2054]
#define __pyx_n_u_HelperInputVoidPtr___reduce_cyt __pyx_string_tab[2055]
#define __pyx_n_u_HelperInputVoidPtr___setstate_c __pyx_string_tab[2056]
#define __pyx_n_u_HelperKernelParams __pyx_string_tab[2057]
#define __pyx_n_u_HelperKernelParams___reduce_cyt __pyx_string_tab[2058]
#define __pyx_n_u_HelperKernelParams___setstate_c __pyx_string_tab[2059]
#define __pyx_n_u_HelperKernelParams_lambda __pyx_string_tab[2060]
#define __pyx_n_u_IndexError __pyx_string_tab[2061]
#define __pyx_n_u_InputVoidPtrPtrHelper __pyx_string_tab[2062]
#define __pyx_n_u_InputVoidPtrPtrHelper___reduce __pyx_string_tab[2063]
#define __pyx_n_u_InputVoidPtrPtrHelper___setstat __pyx_string_tab[2064]
#define __pyx_n_u_IntEnum __pyx_string_tab[2065]
#define __pyx_kp_u_Launch_attributes_enum_used_as __pyx_string_tab[2066]
#define __pyx_kp_u_Library_options_to_be_specified __pyx_string_tab[2067]
#define __pyx_kp_u_Limits __pyx_string_tab[2068]
#define __pyx_kp_u_List_is_too_small __pyx_string_tab[2069]
#define __pyx_n_u_MAX_PLANES __pyx_string_tab[2070]
#define __pyx_n_u_MemoryError __pyx_string_tab[2071]
#define __pyx_kp_u_Memory_Synchronization_Domain_A __pyx_string_tab[2072]
#define __pyx_kp_u_Memory_advise_values __pyx_string_tab[2073]
#define __pyx_kp_u_Memory_handle_types __pyx_string_tab[2074]
#define __pyx_kp_u_Memory_operation_types __pyx_string_tab[2075]
#define __pyx_kp_u_Memory_types __pyx_string_tab[2076]
#define __pyx_n_u_N __pyx_string_tab[2077]
#define __pyx_n_u_NVCL_CTX_SCHED_AUTO __pyx_string_tab[2078]
#define __pyx_n_u_NVCL_CTX_SCHED_BLOCKING_SYNC __pyx_string_tab[2079]
#define __pyx_n_u_NVCL_CTX_SCHED_SPIN __pyx_string_tab[2080]
#define __pyx_n_u_NVCL_CTX_SCHED_YIELD __pyx_string_tab[2081]
#define __pyx_n_u_NVCL_EVENT_SCHED_AUTO __pyx_string_tab[2082]
#define __pyx_n_u_NVCL_EVENT_SCHED_BLOCKING_SYNC __pyx_string_tab[2083]
#define __pyx_n_u_NVCL_EVENT_SCHED_SPIN __pyx_string_tab[2084]
#define __pyx_n_u_NVCL_EVENT_SCHED_YIELD __pyx_string_tab[2085]
#define __pyx_kp_u_NVCL_context_scheduling_flags __pyx_string_tab[2086]
#define __pyx_kp_u_NVCL_event_scheduling_flags __pyx_string_tab[2087]
#define __pyx_kp_u_Note_that_Cython_is_deliberately __pyx_string_tab[2088]
#define __pyx_kp_u_NumChannels __pyx_string_tab[2089]
#define __pyx_n_u_NumChannels_2 __pyx_string_tab[2090]
#define __pyx_kp_u_NumChannels_ValueError __pyx_string_tab[2091]
#define __pyx_n_u_NumPackedComponents __pyx_string_tab[2092]
#define __pyx_kp_u_Occupancy_calculator_flag __pyx_string_tab[2093]
#define __pyx_kp_u_Online_compilation_targets __pyx_string_tab[2094]
#define __pyx_kp_u_Online_compiler_and_linker_opti __pyx_string_tab[2095]
#define __pyx_kp_u_Operations_for_py_obj_cuStreamB __pyx_string_tab[2096]
#define __pyx_n_u_Optional __pyx_string_tab[2097]
#define __pyx_kp_u_Optional_CUDA_ARRAY3D_DESCRIPTOR __pyx_string_tab[2098]
#define __pyx_kp_u_Optional_CUDA_ARRAY_DESCRIPTOR __pyx_string_tab[2099]
#define __pyx_kp_u_Optional_CUDA_BATCH_MEM_OP_NODE __pyx_string_tab[2100]
#define __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_BU __pyx_string_tab[2101]
#define __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_HA __pyx_string_tab[2102]
#define __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_MI __pyx_string_tab[2103]
#define __pyx_kp_u_Optional_CUDA_EXTERNAL_SEMAPHORE __pyx_string_tab[2104]
#define __pyx_kp_u_Optional_CUDA_EXT_SEM_SIGNAL_NOD __pyx_string_tab[2105]
#define __pyx_kp_u_Optional_CUDA_EXT_SEM_WAIT_NODE __pyx_string_tab[2106]
#define __pyx_kp_u_Optional_CUDA_GRAPH_INSTANTIATE __pyx_string_tab[2107]
#define __pyx_kp_u_Optional_CUDA_HOST_NODE_PARAMS __pyx_string_tab[2108]
#define __pyx_kp_u_Optional_CUDA_KERNEL_NODE_PARAMS __pyx_string_tab[2109]
#define __pyx_kp_u_Optional_CUDA_MEMCPY2D __pyx_string_tab[2110]
#define __pyx_kp_u_Optional_CUDA_MEMCPY3D __pyx_string_tab[2111]
#define __pyx_kp_u_Optional_CUDA_MEMCPY3D_PEER __pyx_string_tab[2112]
#define __pyx_kp_u_Optional_CUDA_MEMSET_NODE_PARAMS __pyx_string_tab[2113]
#define __pyx_kp_u_Optional_CUDA_MEM_ALLOC_NODE_PAR __pyx_string_tab[2114]
#define __pyx_kp_u_Optional_CUDA_RESOURCE_DESC __pyx_string_tab[2115]
#define __pyx_kp_u_Optional_CUDA_RESOURCE_VIEW_DESC __pyx_string_tab[2116]
#define __pyx_kp_u_Optional_CUDA_TEXTURE_DESC __pyx_string_tab[2117]
#define __pyx_kp_u_Optional_CUcheckpointCheckpointA __pyx_string_tab[2118]
#define __pyx_kp_u_Optional_CUcheckpointLockArgs __pyx_string_tab[2119]
#define __pyx_kp_u_Optional_CUcheckpointRestoreArgs __pyx_string_tab[2120]
#define __pyx_kp_u_Optional_CUcheckpointUnlockArgs __pyx_string_tab[2121]
#define __pyx_kp_u_Optional_CUctxCreateParams __pyx_string_tab[2122]
#define __pyx_kp_u_Optional_CUdevResource __pyx_string_tab[2123]
#define __pyx_kp_u_Optional_CUeglFrame __pyx_string_tab[2124]
#define __pyx_kp_u_Optional_CUgraphNodeParams __pyx_string_tab[2125]
#define __pyx_kp_u_Optional_CUkernelNodeAttrValue __pyx_string_tab[2126]
#define __pyx_kp_u_Optional_CUlaunchConfig __pyx_string_tab[2127]
#define __pyx_kp_u_Optional_CUlogIterator __pyx_string_tab[2128]
#define __pyx_kp_u_Optional_CUmemAllocationProp __pyx_string_tab[2129]
#define __pyx_kp_u_Optional_CUmemDecompressParams __pyx_string_tab[2130]
#define __pyx_kp_u_Optional_CUmemLocation __pyx_string_tab[2131]
#define __pyx_kp_u_Optional_CUmemPoolProps __pyx_string_tab[2132]
#define __pyx_kp_u_Optional_CUmemPoolPtrExportData __pyx_string_tab[2133]
#define __pyx_kp_u_Optional_CUmulticastObjectProp __pyx_string_tab[2134]
#define __pyx_kp_u_Optional_CUstreamAttrValue __pyx_string_tab[2135]
#define __pyx_kp_u_Optional_CUtensorMap __pyx_string_tab[2136]
#define __pyx_kp_u_Optional_CUuuid __pyx_string_tab[2137]
#define __pyx_kp_u_Optional_tuple_Any_list_Any __pyx_string_tab[2138]
#define __pyx_kp_u_Optional_tuple_CUDA_EXTERNAL_SEM __pyx_string_tab[2139]
#define __pyx_kp_u_Optional_tuple_CUDA_EXTERNAL_SEM_2 __pyx_string_tab[2140]
#define __pyx_kp_u_Optional_tuple_CUDA_LAUNCH_PARAM __pyx_string_tab[2141]
#define __pyx_kp_u_Optional_tuple_CUDA_MEMCPY3D_BAT __pyx_string_tab[2142]
#define __pyx_kp_u_Optional_tuple_CUarrayMapInfo_li __pyx_string_tab[2143]
#define __pyx_kp_u_Optional_tuple_CUdevResource_lis __pyx_string_tab[2144]
#define __pyx_kp_u_Optional_tuple_CUdeviceptr_list __pyx_string_tab[2145]
#define __pyx_kp_u_Optional_tuple_CUexecAffinityPar __pyx_string_tab[2146]
#define __pyx_kp_u_Optional_tuple_CUexternalSemapho __pyx_string_tab[2147]
#define __pyx_kp_u_Optional_tuple_CUgraphEdgeData_l __pyx_string_tab[2148]
#define __pyx_kp_u_Optional_tuple_CUgraphNode_list __pyx_string_tab[2149]
#define __pyx_kp_u_Optional_tuple_CUjit_option_list __pyx_string_tab[2150]
#define __pyx_kp_u_Optional_tuple_CUlibraryOption_l __pyx_string_tab[2151]
#define __pyx_kp_u_Optional_tuple_CUmemAccessDesc_l __pyx_string_tab[2152]
#define __pyx_kp_u_Optional_tuple_CUmem_range_attri __pyx_string_tab[2153]
#define __pyx_kp_u_Optional_tuple_CUmemcpyAttribute __pyx_string_tab[2154]
#define __pyx_kp_u_Optional_tuple_CUpointer_attribu __pyx_string_tab[2155]
#define __pyx_kp_u_Optional_tuple_CUstreamBatchMemO __pyx_string_tab[2156]
#define __pyx_kp_u_Optional_tuple_cuuint32_t_list_c __pyx_string_tab[2157]
#define __pyx_kp_u_Optional_tuple_cuuint64_t_list_c __pyx_string_tab[2158]
#define __pyx_kp_u_Optional_tuple_int_list_int __pyx_string_tab[2159]
#define __pyx_n_u_OverflowError __pyx_string_tab[2160]
#define __pyx_kp_u_P2P_Attributes __pyx_string_tab[2161]
#define __pyx_n_u_Pitch __pyx_string_tab[2162]
#define __pyx_kp_u_Platform_native_ordering_for_GP __pyx_string_tab[2163]
#define __pyx_kp_u_Pointer_information __pyx_string_tab[2164]
#define __pyx_kp_u_Possible_modes_for_stream_captu __pyx_string_tab[2165]
#define __pyx_kp_u_Possible_stream_capture_statuse __pyx_string_tab[2166]
#define __pyx_kp_u_Profiler_Output_Modes __pyx_string_tab[2167]
#define __pyx_kp_u_Provided_argument_is_of_type_but __pyx_string_tab[2168]
#define __pyx_kp_u_Provided_argument_is_of_type_but_2 __pyx_string_tab[2169]
#define __pyx_n_u_RESOURCE_ABI_EXTERNAL_BYTES __pyx_string_tab[2170]
#define __pyx_n_u_RESOURCE_ABI_VERSION __pyx_string_tab[2171]
#define __pyx_kp_u_Resource_location_flags_sysmem __pyx_string_tab[2172]
#define __pyx_kp_u_Resource_types __pyx_string_tab[2173]
#define __pyx_kp_u_Resource_view_format __pyx_string_tab[2174]
#define __pyx_n_u_RuntimeError __pyx_string_tab[2175]
#define __pyx_kp_u_SIMDWidth __pyx_string_tab[2176]
#define __pyx_n_u_SIMDWidth_2 __pyx_string_tab[2177]
#define __pyx_kp_u_SIMDWidth_ValueError __pyx_string_tab[2178]
#define __pyx_kp_u_Shared_memory_carveout_configur __pyx_string_tab[2179]
#define __pyx_kp_u_Sparse_subresource_types __pyx_string_tab[2180]
#define __pyx_kp_u_Specifies_compression_attribute __pyx_string_tab[2181]
#define __pyx_kp_u_Specifies_performance_hint_with __pyx_string_tab[2182]
#define __pyx_kp_u_Specifies_the_handle_type_for_a __pyx_string_tab[2183]
#define __pyx_kp_u_Specifies_the_memory_protection __pyx_string_tab[2184]
#define __pyx_kp_u_Specifies_the_type_of_location __pyx_string_tab[2185]
#define __pyx_kp_u_Stream_creation_flags __pyx_string_tab[2186]
#define __pyx_n_u_Structure __pyx_string_tab[2187]
#define __pyx_kp_u_Tensor_map_Im2Col_wide_mode __pyx_string_tab[2188]
#define __pyx_kp_u_Tensor_map_L2_promotion_type __pyx_string_tab[2189]
#define __pyx_kp_u_Tensor_map_data_type __pyx_string_tab[2190]
#define __pyx_kp_u_Tensor_map_interleave_layout_ty __pyx_string_tab[2191]
#define __pyx_kp_u_Tensor_map_out_of_bounds_fill_t __pyx_string_tab[2192]
#define __pyx_kp_u_Tensor_map_swizzling_mode_of_sh __pyx_string_tab[2193]
#define __pyx_kp_u_Texture_reference_addressing_mo __pyx_string_tab[2194]
#define __pyx_kp_u_Texture_reference_filtering_mod __pyx_string_tab[2195]
#define __pyx_kp_u_The_additional_write_options_fo __pyx_string_tab[2196]
#define __pyx_kp_u_The_scopes_for_py_obj_cuFlushGP __pyx_string_tab[2197]
#define __pyx_kp_u_The_targets_for_py_obj_cuFlushG __pyx_string_tab[2198]
#define __pyx_kp_u_These_flags_allow_applications __pyx_string_tab[2199]
#define __pyx_kp_u_These_flags_allow_applications_2 __pyx_string_tab[2200]
#define __pyx_n_u_TypeError __pyx_string_tab[2201]
#define __pyx_kp_u_Type_annotations_that_can_be_ap __pyx_string_tab[2202]
#define __pyx_kp_u_Type_of_resource __pyx_string_tab[2203]
#define __pyx_kp_u_Types_of_async_notification_tha __pyx_string_tab[2204]
#define __pyx_kp_u_Unknown_type __pyx_string_tab[2205]
#define __pyx_kp_u_Unsupported_attribute __pyx_string_tab[2206]
#define __pyx_kp_u_Unsupported_attribute_value __pyx_string_tab[2207]
#define __pyx_kp_u_Unsupported_type __pyx_string_tab[2208]
#define __pyx_n_u_ValueError __pyx_string_tab[2209]
#define __pyx_kp_u_VdpDevice __pyx_string_tab[2210]
#define __pyx_n_u_VdpDevice_2 __pyx_string_tab[2211]
#define __pyx_n_u_VdpDevice___reduce_cython __pyx_string_tab[2212]
#define __pyx_n_u_VdpDevice___setstate_cython __pyx_string_tab[2213]
#define __pyx_n_u_VdpDevice_getPtr __pyx_string_tab[2214]
#define __pyx_kp_u_VdpGetProcAddress __pyx_string_tab[2215]
#define __pyx_n_u_VdpGetProcAddress_2 __pyx_string_tab[2216]
#define __pyx_n_u_VdpGetProcAddress___reduce_cytho __pyx_string_tab[2217]
#define __pyx_n_u_VdpGetProcAddress___setstate_cyt __pyx_string_tab[2218]
#define __pyx_n_u_VdpGetProcAddress_getPtr __pyx_string_tab[2219]
#define __pyx_kp_u_VdpOutputSurface __pyx_string_tab[2220]
#define __pyx_n_u_VdpOutputSurface_2 __pyx_string_tab[2221]
#define __pyx_n_u_VdpOutputSurface___reduce_cython __pyx_string_tab[2222]
#define __pyx_n_u_VdpOutputSurface___setstate_cyth __pyx_string_tab[2223]
#define __pyx_n_u_VdpOutputSurface_getPtr __pyx_string_tab[2224]
#define __pyx_kp_u_VdpVideoSurface __pyx_string_tab[2225]
#define __pyx_n_u_VdpVideoSurface_2 __pyx_string_tab[2226]
#define __pyx_n_u_VdpVideoSurface___reduce_cython __pyx_string_tab[2227]
#define __pyx_n_u_VdpVideoSurface___setstate_cytho __pyx_string_tab[2228]
#define __pyx_n_u_VdpVideoSurface_getPtr __pyx_string_tab[2229]
#define __pyx_kp_u_Width __pyx_string_tab[2230]
#define __pyx_kp_u_WidthInBytes __pyx_string_tab[2231]
#define __pyx_n_u_WidthInBytes_2 __pyx_string_tab[2232]
#define __pyx_kp_u_WidthInBytes_ValueError __pyx_string_tab[2233]
#define __pyx_n_u_Width_2 __pyx_string_tab[2234]
#define __pyx_kp_u_Width_ValueError __pyx_string_tab[2235]
#define __pyx_kp_u__2 __pyx_string_tab[2236]
#define __pyx_kp_u__3 __pyx_string_tab[2237]
#define __pyx_kp_u__4 __pyx_string_tab[2238]
#define __pyx_kp_b__5 __pyx_string_tab[2239]
#define __pyx_kp_u__6 __pyx_string_tab[2240]
#define __pyx_kp_u__7 __pyx_string_tab[2241]
#define __pyx_kp_u__8 __pyx_string_tab[2242]
#define __pyx_kp_u__9 __pyx_string_tab[2243]
#define __pyx_kp_u_accessDescCount __pyx_string_tab[2244]
#define __pyx_n_u_accessDescCount_2 __pyx_string_tab[2245]
#define __pyx_kp_u_accessDescCount_ValueError __pyx_string_tab[2246]
#define __pyx_kp_u_accessDescs __pyx_string_tab[2247]
#define __pyx_n_u_accessDescs_2 __pyx_string_tab[2248]
#define __pyx_kp_u_accessDescs_ValueError __pyx_string_tab[2249]
#define __pyx_kp_u_accessPolicyWindow __pyx_string_tab[2250]
#define __pyx_n_u_accessPolicyWindow_2 __pyx_string_tab[2251]
#define __pyx_kp_u_accessPolicyWindow_ValueError __pyx_string_tab[2252]
#define __pyx_n_u_active __pyx_string_tab[2253]
#define __pyx_n_u_add_cuda_native_handle_getter __pyx_string_tab[2254]
#define __pyx_n_u_add_native_handle_getters_local __pyx_string_tab[2255]
#define __pyx_n_u_add_native_handle_getters_local_10 __pyx_string_tab[2256]
#define __pyx_n_u_add_native_handle_getters_local_11 __pyx_string_tab[2257]
#define __pyx_n_u_add_native_handle_getters_local_12 __pyx_string_tab[2258]
#define __pyx_n_u_add_native_handle_getters_local_13 __pyx_string_tab[2259]
#define __pyx_n_u_add_native_handle_getters_local_14 __pyx_string_tab[2260]
#define __pyx_n_u_add_native_handle_getters_local_15 __pyx_string_tab[2261]
#define __pyx_n_u_add_native_handle_getters_local_16 __pyx_string_tab[2262]
#define __pyx_n_u_add_native_handle_getters_local_17 __pyx_string_tab[2263]
#define __pyx_n_u_add_native_handle_getters_local_18 __pyx_string_tab[2264]
#define __pyx_n_u_add_native_handle_getters_local_19 __pyx_string_tab[2265]
#define __pyx_n_u_add_native_handle_getters_local_2 __pyx_string_tab[2266]
#define __pyx_n_u_add_native_handle_getters_local_20 __pyx_string_tab[2267]
#define __pyx_n_u_add_native_handle_getters_local_21 __pyx_string_tab[2268]
#define __pyx_n_u_add_native_handle_getters_local_22 __pyx_string_tab[2269]
#define __pyx_n_u_add_native_handle_getters_local_23 __pyx_string_tab[2270]
#define __pyx_n_u_add_native_handle_getters_local_24 __pyx_string_tab[2271]
#define __pyx_n_u_add_native_handle_getters_local_25 __pyx_string_tab[2272]
#define __pyx_n_u_add_native_handle_getters_local_26 __pyx_string_tab[2273]
#define __pyx_n_u_add_native_handle_getters_local_27 __pyx_string_tab[2274]
#define __pyx_n_u_add_native_handle_getters_local_28 __pyx_string_tab[2275]
#define __pyx_n_u_add_native_handle_getters_local_29 __pyx_string_tab[2276]
#define __pyx_n_u_add_native_handle_getters_local_3 __pyx_string_tab[2277]
#define __pyx_n_u_add_native_handle_getters_local_4 __pyx_string_tab[2278]
#define __pyx_n_u_add_native_handle_getters_local_5 __pyx_string_tab[2279]
#define __pyx_n_u_add_native_handle_getters_local_6 __pyx_string_tab[2280]
#define __pyx_n_u_add_native_handle_getters_local_7 __pyx_string_tab[2281]
#define __pyx_n_u_add_native_handle_getters_local_8 __pyx_string_tab[2282]
#define __pyx_n_u_add_native_handle_getters_local_9 __pyx_string_tab[2283]
#define __pyx_kp_u_add_note __pyx_string_tab[2284]
#define __pyx_n_u_addr __pyx_string_tab[2285]
#define __pyx_kp_u_address __pyx_string_tab[2286]
#define __pyx_kp_u_addressMode __pyx_string_tab[2287]
#define __pyx_n_u_addressMode_2 __pyx_string_tab[2288]
#define __pyx_kp_u_addressMode_ValueError __pyx_string_tab[2289]
#define __pyx_n_u_address_2 __pyx_string_tab[2290]
#define __pyx_kp_u_address_ValueError __pyx_string_tab[2291]
#define __pyx_n_u_addressof __pyx_string_tab[2292]
#define __pyx_n_u_advice __pyx_string_tab[2293]
#define __pyx_kp_u_algo __pyx_string_tab[2294]
#define __pyx_n_u_algo_2 __pyx_string_tab[2295]
#define __pyx_kp_u_algo_ValueError __pyx_string_tab[2296]
#define __pyx_kp_u_alias __pyx_string_tab[2297]
#define __pyx_n_u_alias_2 __pyx_string_tab[2298]
#define __pyx_kp_u_alias_ValueError __pyx_string_tab[2299]
#define __pyx_kp_u_alignment __pyx_string_tab[2300]
#define __pyx_n_u_alignment_2 __pyx_string_tab[2301]
#define __pyx_kp_u_alignment_ValueError __pyx_string_tab[2302]
#define __pyx_kp_u_alloc __pyx_string_tab[2303]
#define __pyx_kp_u_allocFlags __pyx_string_tab[2304]
#define __pyx_n_u_allocFlags_2 __pyx_string_tab[2305]
#define __pyx_kp_u_allocFlags_ValueError __pyx_string_tab[2306]
#define __pyx_kp_u_allocType __pyx_string_tab[2307]
#define __pyx_n_u_allocType_2 __pyx_string_tab[2308]
#define __pyx_kp_u_allocType_ValueError __pyx_string_tab[2309]
#define __pyx_n_u_alloc_2 __pyx_string_tab[2310]
#define __pyx_kp_u_alloc_ValueError __pyx_string_tab[2311]
#define __pyx_n_u_am __pyx_string_tab[2312]
#define __pyx_n_u_anon_struct0 __pyx_string_tab[2313]
#define __pyx_n_u_anon_struct0___reduce_cython __pyx_string_tab[2314]
#define __pyx_n_u_anon_struct0___setstate_cython __pyx_string_tab[2315]
#define __pyx_n_u_anon_struct0_getPtr __pyx_string_tab[2316]
#define __pyx_n_u_anon_struct1 __pyx_string_tab[2317]
#define __pyx_n_u_anon_struct10 __pyx_string_tab[2318]
#define __pyx_n_u_anon_struct10___reduce_cython __pyx_string_tab[2319]
#define __pyx_n_u_anon_struct10___setstate_cython __pyx_string_tab[2320]
#define __pyx_n_u_anon_struct10_getPtr __pyx_string_tab[2321]
#define __pyx_n_u_anon_struct11 __pyx_string_tab[2322]
#define __pyx_n_u_anon_struct11___reduce_cython __pyx_string_tab[2323]
#define __pyx_n_u_anon_struct11___setstate_cython __pyx_string_tab[2324]
#define __pyx_n_u_anon_struct11_getPtr __pyx_string_tab[2325]
#define __pyx_n_u_anon_struct12 __pyx_string_tab[2326]
#define __pyx_n_u_anon_struct12___reduce_cython __pyx_string_tab[2327]
#define __pyx_n_u_anon_struct12___setstate_cython __pyx_string_tab[2328]
#define __pyx_n_u_anon_struct12_getPtr __pyx_string_tab[2329]
#define __pyx_n_u_anon_struct13 __pyx_string_tab[2330]
#define __pyx_n_u_anon_struct13___reduce_cython __pyx_string_tab[2331]
#define __pyx_n_u_anon_struct13___setstate_cython __pyx_string_tab[2332]
#define __pyx_n_u_anon_struct13_getPtr __pyx_string_tab[2333]
#define __pyx_n_u_anon_struct14 __pyx_string_tab[2334]
#define __pyx_n_u_anon_struct14___reduce_cython __pyx_string_tab[2335]
#define __pyx_n_u_anon_struct14___setstate_cython __pyx_string_tab[2336]
#define __pyx_n_u_anon_struct14_getPtr __pyx_string_tab[2337]
#define __pyx_n_u_anon_struct15 __pyx_string_tab[2338]
#define __pyx_n_u_anon_struct15___reduce_cython __pyx_string_tab[2339]
#define __pyx_n_u_anon_struct15___setstate_cython __pyx_string_tab[2340]
#define __pyx_n_u_anon_struct15_getPtr __pyx_string_tab[2341]
#define __pyx_n_u_anon_struct16 __pyx_string_tab[2342]
#define __pyx_n_u_anon_struct16___reduce_cython __pyx_string_tab[2343]
#define __pyx_n_u_anon_struct16___setstate_cython __pyx_string_tab[2344]
#define __pyx_n_u_anon_struct16_getPtr __pyx_string_tab[2345]
#define __pyx_n_u_anon_struct17 __pyx_string_tab[2346]
#define __pyx_n_u_anon_struct17___reduce_cython __pyx_string_tab[2347]
#define __pyx_n_u_anon_struct17___setstate_cython __pyx_string_tab[2348]
#define __pyx_n_u_anon_struct17_getPtr __pyx_string_tab[2349]
#define __pyx_n_u_anon_struct18 __pyx_string_tab[2350]
#define __pyx_n_u_anon_struct18___reduce_cython __pyx_string_tab[2351]
#define __pyx_n_u_anon_struct18___setstate_cython __pyx_string_tab[2352]
#define __pyx_n_u_anon_struct18_getPtr __pyx_string_tab[2353]
#define __pyx_n_u_anon_struct19 __pyx_string_tab[2354]
#define __pyx_n_u_anon_struct19___reduce_cython __pyx_string_tab[2355]
#define __pyx_n_u_anon_struct19___setstate_cython __pyx_string_tab[2356]
#define __pyx_n_u_anon_struct19_getPtr __pyx_string_tab[2357]
#define __pyx_n_u_anon_struct1___reduce_cython __pyx_string_tab[2358]
#define __pyx_n_u_anon_struct1___setstate_cython __pyx_string_tab[2359]
#define __pyx_n_u_anon_struct1_getPtr __pyx_string_tab[2360]
#define __pyx_n_u_anon_struct2 __pyx_string_tab[2361]
#define __pyx_n_u_anon_struct20 __pyx_string_tab[2362]
#define __pyx_n_u_anon_struct20___reduce_cython __pyx_string_tab[2363]
#define __pyx_n_u_anon_struct20___setstate_cython __pyx_string_tab[2364]
#define __pyx_n_u_anon_struct20_getPtr __pyx_string_tab[2365]
#define __pyx_n_u_anon_struct21 __pyx_string_tab[2366]
#define __pyx_n_u_anon_struct21___reduce_cython __pyx_string_tab[2367]
#define __pyx_n_u_anon_struct21___setstate_cython __pyx_string_tab[2368]
#define __pyx_n_u_anon_struct21_getPtr __pyx_string_tab[2369]
#define __pyx_n_u_anon_struct22 __pyx_string_tab[2370]
#define __pyx_n_u_anon_struct22___reduce_cython __pyx_string_tab[2371]
#define __pyx_n_u_anon_struct22___setstate_cython __pyx_string_tab[2372]
#define __pyx_n_u_anon_struct22_getPtr __pyx_string_tab[2373]
#define __pyx_n_u_anon_struct23 __pyx_string_tab[2374]
#define __pyx_n_u_anon_struct23___reduce_cython __pyx_string_tab[2375]
#define __pyx_n_u_anon_struct23___setstate_cython __pyx_string_tab[2376]
#define __pyx_n_u_anon_struct23_getPtr __pyx_string_tab[2377]
#define __pyx_n_u_anon_struct24 __pyx_string_tab[2378]
#define __pyx_n_u_anon_struct24___reduce_cython __pyx_string_tab[2379]
#define __pyx_n_u_anon_struct24___setstate_cython __pyx_string_tab[2380]
#define __pyx_n_u_anon_struct24_getPtr __pyx_string_tab[2381]
#define __pyx_n_u_anon_struct2___reduce_cython __pyx_string_tab[2382]
#define __pyx_n_u_anon_struct2___setstate_cython __pyx_string_tab[2383]
#define __pyx_n_u_anon_struct2_getPtr __pyx_string_tab[2384]
#define __pyx_n_u_anon_struct3 __pyx_string_tab[2385]
#define __pyx_n_u_anon_struct3___reduce_cython __pyx_string_tab[2386]
#define __pyx_n_u_anon_struct3___setstate_cython __pyx_string_tab[2387]
#define __pyx_n_u_anon_struct3_getPtr __pyx_string_tab[2388]
#define __pyx_n_u_anon_struct4 __pyx_string_tab[2389]
#define __pyx_n_u_anon_struct4___reduce_cython __pyx_string_tab[2390]
#define __pyx_n_u_anon_struct4___setstate_cython __pyx_string_tab[2391]
#define __pyx_n_u_anon_struct4_getPtr __pyx_string_tab[2392]
#define __pyx_n_u_anon_struct5 __pyx_string_tab[2393]
#define __pyx_n_u_anon_struct5___reduce_cython __pyx_string_tab[2394]
#define __pyx_n_u_anon_struct5___setstate_cython __pyx_string_tab[2395]
#define __pyx_n_u_anon_struct5_getPtr __pyx_string_tab[2396]
#define __pyx_n_u_anon_struct6 __pyx_string_tab[2397]
#define __pyx_n_u_anon_struct6___reduce_cython __pyx_string_tab[2398]
#define __pyx_n_u_anon_struct6___setstate_cython __pyx_string_tab[2399]
#define __pyx_n_u_anon_struct6_getPtr __pyx_string_tab[2400]
#define __pyx_n_u_anon_struct7 __pyx_string_tab[2401]
#define __pyx_n_u_anon_struct7___reduce_cython __pyx_string_tab[2402]
#define __pyx_n_u_anon_struct7___setstate_cython __pyx_string_tab[2403]
#define __pyx_n_u_anon_struct7_getPtr __pyx_string_tab[2404]
#define __pyx_n_u_anon_struct8 __pyx_string_tab[2405]
#define __pyx_n_u_anon_struct8___reduce_cython __pyx_string_tab[2406]
#define __pyx_n_u_anon_struct8___setstate_cython __pyx_string_tab[2407]
#define __pyx_n_u_anon_struct8_getPtr __pyx_string_tab[2408]
#define __pyx_n_u_anon_struct9 __pyx_string_tab[2409]
#define __pyx_n_u_anon_struct9___reduce_cython __pyx_string_tab[2410]
#define __pyx_n_u_anon_struct9___setstate_cython __pyx_string_tab[2411]
#define __pyx_n_u_anon_struct9_getPtr __pyx_string_tab[2412]
#define __pyx_n_u_anon_union10 __pyx_string_tab[2413]
#define __pyx_n_u_anon_union10___reduce_cython __pyx_string_tab[2414]
#define __pyx_n_u_anon_union10___setstate_cython __pyx_string_tab[2415]
#define __pyx_n_u_anon_union10_getPtr __pyx_string_tab[2416]
#define __pyx_n_u_anon_union11 __pyx_string_tab[2417]
#define __pyx_n_u_anon_union11___reduce_cython __pyx_string_tab[2418]
#define __pyx_n_u_anon_union11___setstate_cython __pyx_string_tab[2419]
#define __pyx_n_u_anon_union11_getPtr __pyx_string_tab[2420]
#define __pyx_n_u_anon_union12 __pyx_string_tab[2421]
#define __pyx_n_u_anon_union12___reduce_cython __pyx_string_tab[2422]
#define __pyx_n_u_anon_union12___setstate_cython __pyx_string_tab[2423]
#define __pyx_n_u_anon_union12_getPtr __pyx_string_tab[2424]
#define __pyx_n_u_anon_union15 __pyx_string_tab[2425]
#define __pyx_n_u_anon_union15___reduce_cython __pyx_string_tab[2426]
#define __pyx_n_u_anon_union15___setstate_cython __pyx_string_tab[2427]
#define __pyx_n_u_anon_union15_getPtr __pyx_string_tab[2428]
#define __pyx_n_u_anon_union2 __pyx_string_tab[2429]
#define __pyx_n_u_anon_union2___reduce_cython __pyx_string_tab[2430]
#define __pyx_n_u_anon_union2___setstate_cython __pyx_string_tab[2431]
#define __pyx_n_u_anon_union2_getPtr __pyx_string_tab[2432]
#define __pyx_n_u_anon_union3 __pyx_string_tab[2433]
#define __pyx_n_u_anon_union3___reduce_cython __pyx_string_tab[2434]
#define __pyx_n_u_anon_union3___setstate_cython __pyx_string_tab[2435]
#define __pyx_n_u_anon_union3_getPtr __pyx_string_tab[2436]
#define __pyx_n_u_anon_union4 __pyx_string_tab[2437]
#define __pyx_n_u_anon_union4___reduce_cython __pyx_string_tab[2438]
#define __pyx_n_u_anon_union4___setstate_cython __pyx_string_tab[2439]
#define __pyx_n_u_anon_union4_getPtr __pyx_string_tab[2440]
#define __pyx_n_u_anon_union5 __pyx_string_tab[2441]
#define __pyx_n_u_anon_union5___reduce_cython __pyx_string_tab[2442]
#define __pyx_n_u_anon_union5___setstate_cython __pyx_string_tab[2443]
#define __pyx_n_u_anon_union5_getPtr __pyx_string_tab[2444]
#define __pyx_n_u_anon_union6 __pyx_string_tab[2445]
#define __pyx_n_u_anon_union6___reduce_cython __pyx_string_tab[2446]
#define __pyx_n_u_anon_union6___setstate_cython __pyx_string_tab[2447]
#define __pyx_n_u_anon_union6_getPtr __pyx_string_tab[2448]
#define __pyx_n_u_anon_union7 __pyx_string_tab[2449]
#define __pyx_n_u_anon_union7___reduce_cython __pyx_string_tab[2450]
#define __pyx_n_u_anon_union7___setstate_cython __pyx_string_tab[2451]
#define __pyx_n_u_anon_union7_getPtr __pyx_string_tab[2452]
#define __pyx_n_u_anon_union8 __pyx_string_tab[2453]
#define __pyx_n_u_anon_union8___reduce_cython __pyx_string_tab[2454]
#define __pyx_n_u_anon_union8___setstate_cython __pyx_string_tab[2455]
#define __pyx_n_u_anon_union8_getPtr __pyx_string_tab[2456]
#define __pyx_n_u_anon_union9 __pyx_string_tab[2457]
#define __pyx_n_u_anon_union9___reduce_cython __pyx_string_tab[2458]
#define __pyx_n_u_anon_union9___setstate_cython __pyx_string_tab[2459]
#define __pyx_n_u_anon_union9_getPtr __pyx_string_tab[2460]
#define __pyx_n_u_args __pyx_string_tab[2461]
#define __pyx_kp_u_array __pyx_string_tab[2462]
#define __pyx_kp_u_arrayDesc __pyx_string_tab[2463]
#define __pyx_n_u_arrayDesc_2 __pyx_string_tab[2464]
#define __pyx_kp_u_arrayDesc_ValueError __pyx_string_tab[2465]
#define __pyx_n_u_arrayIndex __pyx_string_tab[2466]
#define __pyx_n_u_array_2 __pyx_string_tab[2467]
#define __pyx_kp_u_array_3 __pyx_string_tab[2468]
#define __pyx_kp_u_array_ValueError __pyx_string_tab[2469]
#define __pyx_n_u_asyncio_coroutines __pyx_string_tab[2470]
#define __pyx_n_u_attr __pyx_string_tab[2471]
#define __pyx_n_u_attrib __pyx_string_tab[2472]
#define __pyx_n_u_attribute __pyx_string_tab[2473]
#define __pyx_n_u_attributes __pyx_string_tab[2474]
#define __pyx_kp_u_attrs __pyx_string_tab[2475]
#define __pyx_n_u_attrsIdxs __pyx_string_tab[2476]
#define __pyx_n_u_attrs_2 __pyx_string_tab[2477]
#define __pyx_kp_u_attrs_ValueError __pyx_string_tab[2478]
#define __pyx_kp_u_base_ptr __pyx_string_tab[2479]
#define __pyx_n_u_base_ptr_2 __pyx_string_tab[2480]
#define __pyx_kp_u_base_ptr_ValueError __pyx_string_tab[2481]
#define __pyx_n_u_bias __pyx_string_tab[2482]
#define __pyx_n_u_bindings __pyx_string_tab[2483]
#define __pyx_kp_u_blockDimX __pyx_string_tab[2484]
#define __pyx_n_u_blockDimX_2 __pyx_string_tab[2485]
#define __pyx_kp_u_blockDimX_ValueError __pyx_string_tab[2486]
#define __pyx_kp_u_blockDimY __pyx_string_tab[2487]
#define __pyx_n_u_blockDimY_2 __pyx_string_tab[2488]
#define __pyx_kp_u_blockDimY_ValueError __pyx_string_tab[2489]
#define __pyx_kp_u_blockDimZ __pyx_string_tab[2490]
#define __pyx_n_u_blockDimZ_2 __pyx_string_tab[2491]
#define __pyx_kp_u_blockDimZ_ValueError __pyx_string_tab[2492]
#define __pyx_n_u_blockSize __pyx_string_tab[2493]
#define __pyx_n_u_blockSizeLimit __pyx_string_tab[2494]
#define __pyx_n_u_blockSizeToDynamicSMemSize __pyx_string_tab[2495]
#define __pyx_kp_u_borderColor __pyx_string_tab[2496]
#define __pyx_n_u_borderColor_2 __pyx_string_tab[2497]
#define __pyx_kp_u_borderColor_ValueError __pyx_string_tab[2498]
#define __pyx_n_u_boxDim __pyx_string_tab[2499]
#define __pyx_n_u_buffer __pyx_string_tab[2500]
#define __pyx_n_u_bufferDesc __pyx_string_tab[2501]
#define __pyx_kp_u_bytes __pyx_string_tab[2502]
#define __pyx_kp_u_bytesOverBudget __pyx_string_tab[2503]
#define __pyx_n_u_bytesOverBudget_2 __pyx_string_tab[2504]
#define __pyx_kp_u_bytesOverBudget_ValueError __pyx_string_tab[2505]
#define __pyx_n_u_bytes_2 __pyx_string_tab[2506]
#define __pyx_kp_u_bytes_ValueError __pyx_string_tab[2507]
#define __pyx_kp_u_bytesize __pyx_string_tab[2508]
#define __pyx_n_u_bytesize_2 __pyx_string_tab[2509]
#define __pyx_kp_u_bytesize_ValueError __pyx_string_tab[2510]
#define __pyx_n_u_c_bool __pyx_string_tab[2511]
#define __pyx_n_u_c_byte __pyx_string_tab[2512]
#define __pyx_n_u_c_char __pyx_string_tab[2513]
#define __pyx_n_u_c_double __pyx_string_tab[2514]
#define __pyx_n_u_c_float __pyx_string_tab[2515]
#define __pyx_n_u_c_int __pyx_string_tab[2516]
#define __pyx_n_u_c_long __pyx_string_tab[2517]
#define __pyx_n_u_c_longlong __pyx_string_tab[2518]
#define __pyx_n_u_c_short __pyx_string_tab[2519]
#define __pyx_n_u_c_size_t __pyx_string_tab[2520]
#define __pyx_n_u_c_ubyte __pyx_string_tab[2521]
#define __pyx_n_u_c_uint __pyx_string_tab[2522]
#define __pyx_n_u_c_ulong __pyx_string_tab[2523]
#define __pyx_n_u_c_ulonglong __pyx_string_tab[2524]
#define __pyx_n_u_c_ushort __pyx_string_tab[2525]
#define __pyx_n_u_c_void_p __pyx_string_tab[2526]
#define __pyx_n_u_c_wchar __pyx_string_tab[2527]
#define __pyx_n_u_callback __pyx_string_tab[2528]
#define __pyx_n_u_callbackFunc __pyx_string_tab[2529]
#define __pyx_n_u_callback_out __pyx_string_tab[2530]
#define __pyx_n_u_canAccessPeer __pyx_string_tab[2531]
#define __pyx_n_u_captureStatus __pyx_string_tab[2532]
#define __pyx_n_u_captureStatus_out __pyx_string_tab[2533]
#define __pyx_n_u_cbData __pyx_string_tab[2534]
#define __pyx_n_u_channelsPerPixel __pyx_string_tab[2535]
#define __pyx_n_u_childGraph __pyx_string_tab[2536]
#define __pyx_kp_u_cigParams __pyx_string_tab[2537]
#define __pyx_n_u_cigParams_2 __pyx_string_tab[2538]
#define __pyx_kp_u_cigParams_ValueError __pyx_string_tab[2539]
#define __pyx_n_u_ckernelParams __pyx_string_tab[2540]
#define __pyx_n_u_cl_context_flags __pyx_string_tab[2541]
#define __pyx_n_u_cl_event_flags __pyx_string_tab[2542]
#define __pyx_n_u_class_getitem __pyx_string_tab[2543]
#define __pyx_n_u_cline_in_traceback __pyx_string_tab[2544]
#define __pyx_kp_u_clockRate __pyx_string_tab[2545]
#define __pyx_n_u_clockRate_2 __pyx_string_tab[2546]
#define __pyx_kp_u_clockRate_ValueError __pyx_string_tab[2547]
#define __pyx_n_u_close __pyx_string_tab[2548]
#define __pyx_kp_u_clusterDim __pyx_string_tab[2549]
#define __pyx_n_u_clusterDim_2 __pyx_string_tab[2550]
#define __pyx_kp_u_clusterDim_ValueError __pyx_string_tab[2551]
#define __pyx_kp_u_clusterSchedulingPolicyPreferenc __pyx_string_tab[2552]
#define __pyx_n_u_clusterSchedulingPolicyPreferenc_2 __pyx_string_tab[2553]
#define __pyx_kp_u_clusterSchedulingPolicyPreferenc_3 __pyx_string_tab[2554]
#define __pyx_n_u_clusterSize __pyx_string_tab[2555]
#define __pyx_n_u_code __pyx_string_tab[2556]
#define __pyx_kp_u_compressionType __pyx_string_tab[2557]
#define __pyx_n_u_compressionType_2 __pyx_string_tab[2558]
#define __pyx_kp_u_compressionType_ValueError __pyx_string_tab[2559]
#define __pyx_kp_u_conditional __pyx_string_tab[2560]
#define __pyx_n_u_conditional_2 __pyx_string_tab[2561]
#define __pyx_kp_u_conditional_ValueError __pyx_string_tab[2562]
#define __pyx_n_u_config __pyx_string_tab[2563]
#define __pyx_n_u_conn __pyx_string_tab[2564]
#define __pyx_kp_u_cooperative __pyx_string_tab[2565]
#define __pyx_n_u_cooperative_2 __pyx_string_tab[2566]
#define __pyx_kp_u_cooperative_ValueError __pyx_string_tab[2567]
#define __pyx_kp_u_copyCtx __pyx_string_tab[2568]
#define __pyx_n_u_copyCtx_2 __pyx_string_tab[2569]
#define __pyx_kp_u_copyCtx_ValueError __pyx_string_tab[2570]
#define __pyx_kp_u_copyParams __pyx_string_tab[2571]
#define __pyx_n_u_copyParams_2 __pyx_string_tab[2572]
#define __pyx_kp_u_copyParams_ValueError __pyx_string_tab[2573]
#define __pyx_kp_u_count __pyx_string_tab[2574]
#define __pyx_n_u_count_2 __pyx_string_tab[2575]
#define __pyx_kp_u_count_ValueError __pyx_string_tab[2576]
#define __pyx_n_u_cptr __pyx_string_tab[2577]
#define __pyx_kp_u_ctx __pyx_string_tab[2578]
#define __pyx_n_u_ctxCreateParams __pyx_string_tab[2579]
#define __pyx_n_u_ctxId __pyx_string_tab[2580]
#define __pyx_n_u_ctx_2 __pyx_string_tab[2581]
#define __pyx_kp_u_ctx_ValueError __pyx_string_tab[2582]
#define __pyx_n_u_ctypes __pyx_string_tab[2583]
#define __pyx_n_u_ctypes_2 __pyx_string_tab[2584]
#define __pyx_n_u_cuArray3DCreate __pyx_string_tab[2585]
#define __pyx_n_u_cuArray3DGetDescriptor __pyx_string_tab[2586]
#define __pyx_n_u_cuArrayCreate __pyx_string_tab[2587]
#define __pyx_n_u_cuArrayDestroy __pyx_string_tab[2588]
#define __pyx_n_u_cuArrayGetDescriptor __pyx_string_tab[2589]
#define __pyx_n_u_cuArrayGetMemoryRequirements __pyx_string_tab[2590]
#define __pyx_n_u_cuArrayGetPlane __pyx_string_tab[2591]
#define __pyx_n_u_cuArrayGetSparseProperties __pyx_string_tab[2592]
#define __pyx_n_u_cuCheckpointProcessCheckpoint __pyx_string_tab[2593]
#define __pyx_n_u_cuCheckpointProcessGetRestoreThr __pyx_string_tab[2594]
#define __pyx_n_u_cuCheckpointProcessGetState __pyx_string_tab[2595]
#define __pyx_n_u_cuCheckpointProcessLock __pyx_string_tab[2596]
#define __pyx_n_u_cuCheckpointProcessRestore __pyx_string_tab[2597]
#define __pyx_n_u_cuCheckpointProcessUnlock __pyx_string_tab[2598]
#define __pyx_n_u_cuCoredumpGetAttribute __pyx_string_tab[2599]
#define __pyx_n_u_cuCoredumpGetAttributeGlobal __pyx_string_tab[2600]
#define __pyx_n_u_cuCoredumpSetAttribute __pyx_string_tab[2601]
#define __pyx_n_u_cuCoredumpSetAttributeGlobal __pyx_string_tab[2602]
#define __pyx_n_u_cuCtxAttach __pyx_string_tab[2603]
#define __pyx_n_u_cuCtxCreate __pyx_string_tab[2604]
#define __pyx_n_u_cuCtxCreate_v3 __pyx_string_tab[2605]
#define __pyx_n_u_cuCtxCreate_v3_locals_genexpr __pyx_string_tab[2606]
#define __pyx_n_u_cuCtxCreate_v4 __pyx_string_tab[2607]
#define __pyx_n_u_cuCtxDestroy __pyx_string_tab[2608]
#define __pyx_n_u_cuCtxDetach __pyx_string_tab[2609]
#define __pyx_n_u_cuCtxDisablePeerAccess __pyx_string_tab[2610]
#define __pyx_n_u_cuCtxEnablePeerAccess __pyx_string_tab[2611]
#define __pyx_n_u_cuCtxFromGreenCtx __pyx_string_tab[2612]
#define __pyx_n_u_cuCtxGetApiVersion __pyx_string_tab[2613]
#define __pyx_n_u_cuCtxGetCacheConfig __pyx_string_tab[2614]
#define __pyx_n_u_cuCtxGetCurrent __pyx_string_tab[2615]
#define __pyx_n_u_cuCtxGetDevResource __pyx_string_tab[2616]
#define __pyx_n_u_cuCtxGetDevice __pyx_string_tab[2617]
#define __pyx_n_u_cuCtxGetExecAffinity __pyx_string_tab[2618]
#define __pyx_n_u_cuCtxGetFlags __pyx_string_tab[2619]
#define __pyx_n_u_cuCtxGetId __pyx_string_tab[2620]
#define __pyx_n_u_cuCtxGetLimit __pyx_string_tab[2621]
#define __pyx_n_u_cuCtxGetSharedMemConfig __pyx_string_tab[2622]
#define __pyx_n_u_cuCtxGetStreamPriorityRange __pyx_string_tab[2623]
#define __pyx_n_u_cuCtxPopCurrent __pyx_string_tab[2624]
#define __pyx_n_u_cuCtxPushCurrent __pyx_string_tab[2625]
#define __pyx_n_u_cuCtxRecordEvent __pyx_string_tab[2626]
#define __pyx_n_u_cuCtxResetPersistingL2Cache __pyx_string_tab[2627]
#define __pyx_n_u_cuCtxSetCacheConfig __pyx_string_tab[2628]
#define __pyx_n_u_cuCtxSetCurrent __pyx_string_tab[2629]
#define __pyx_n_u_cuCtxSetFlags __pyx_string_tab[2630]
#define __pyx_n_u_cuCtxSetLimit __pyx_string_tab[2631]
#define __pyx_n_u_cuCtxSetSharedMemConfig __pyx_string_tab[2632]
#define __pyx_n_u_cuCtxSynchronize __pyx_string_tab[2633]
#define __pyx_n_u_cuCtxWaitEvent __pyx_string_tab[2634]
#define __pyx_n_u_cuDestroyExternalMemory __pyx_string_tab[2635]
#define __pyx_n_u_cuDestroyExternalSemaphore __pyx_string_tab[2636]
#define __pyx_n_u_cuDevResourceGenerateDesc __pyx_string_tab[2637]
#define __pyx_n_u_cuDevResourceGenerateDesc_locals __pyx_string_tab[2638]
#define __pyx_n_u_cuDevSmResourceSplitByCount __pyx_string_tab[2639]
#define __pyx_n_u_cuDeviceCanAccessPeer __pyx_string_tab[2640]
#define __pyx_n_u_cuDeviceComputeCapability __pyx_string_tab[2641]
#define __pyx_n_u_cuDeviceGet __pyx_string_tab[2642]
#define __pyx_n_u_cuDeviceGetAttribute __pyx_string_tab[2643]
#define __pyx_n_u_cuDeviceGetByPCIBusId __pyx_string_tab[2644]
#define __pyx_n_u_cuDeviceGetCount __pyx_string_tab[2645]
#define __pyx_n_u_cuDeviceGetDefaultMemPool __pyx_string_tab[2646]
#define __pyx_n_u_cuDeviceGetDevResource __pyx_string_tab[2647]
#define __pyx_n_u_cuDeviceGetExecAffinitySupport __pyx_string_tab[2648]
#define __pyx_n_u_cuDeviceGetGraphMemAttribute __pyx_string_tab[2649]
#define __pyx_n_u_cuDeviceGetLuid __pyx_string_tab[2650]
#define __pyx_n_u_cuDeviceGetMemPool __pyx_string_tab[2651]
#define __pyx_n_u_cuDeviceGetName __pyx_string_tab[2652]
#define __pyx_n_u_cuDeviceGetNvSciSyncAttributes __pyx_string_tab[2653]
#define __pyx_n_u_cuDeviceGetP2PAttribute __pyx_string_tab[2654]
#define __pyx_n_u_cuDeviceGetPCIBusId __pyx_string_tab[2655]
#define __pyx_n_u_cuDeviceGetProperties __pyx_string_tab[2656]
#define __pyx_n_u_cuDeviceGetTexture1DLinearMaxWid __pyx_string_tab[2657]
#define __pyx_n_u_cuDeviceGetUuid __pyx_string_tab[2658]
#define __pyx_n_u_cuDeviceGetUuid_v2 __pyx_string_tab[2659]
#define __pyx_n_u_cuDeviceGraphMemTrim __pyx_string_tab[2660]
#define __pyx_n_u_cuDevicePrimaryCtxGetState __pyx_string_tab[2661]
#define __pyx_n_u_cuDevicePrimaryCtxRelease __pyx_string_tab[2662]
#define __pyx_n_u_cuDevicePrimaryCtxReset __pyx_string_tab[2663]
#define __pyx_n_u_cuDevicePrimaryCtxRetain __pyx_string_tab[2664]
#define __pyx_n_u_cuDevicePrimaryCtxSetFlags __pyx_string_tab[2665]
#define __pyx_n_u_cuDeviceRegisterAsyncNotificatio __pyx_string_tab[2666]
#define __pyx_n_u_cuDeviceSetGraphMemAttribute __pyx_string_tab[2667]
#define __pyx_n_u_cuDeviceSetMemPool __pyx_string_tab[2668]
#define __pyx_n_u_cuDeviceTotalMem __pyx_string_tab[2669]
#define __pyx_n_u_cuDeviceUnregisterAsyncNotificat __pyx_string_tab[2670]
#define __pyx_n_u_cuDriverGetVersion __pyx_string_tab[2671]
#define __pyx_n_u_cuEGLStreamConsumerAcquireFrame __pyx_string_tab[2672]
#define __pyx_n_u_cuEGLStreamConsumerConnect __pyx_string_tab[2673]
#define __pyx_n_u_cuEGLStreamConsumerConnectWithFl __pyx_string_tab[2674]
#define __pyx_n_u_cuEGLStreamConsumerDisconnect __pyx_string_tab[2675]
#define __pyx_n_u_cuEGLStreamConsumerReleaseFrame __pyx_string_tab[2676]
#define __pyx_n_u_cuEGLStreamProducerConnect __pyx_string_tab[2677]
#define __pyx_n_u_cuEGLStreamProducerDisconnect __pyx_string_tab[2678]
#define __pyx_n_u_cuEGLStreamProducerPresentFrame __pyx_string_tab[2679]
#define __pyx_n_u_cuEGLStreamProducerReturnFrame __pyx_string_tab[2680]
#define __pyx_n_u_cuEventCreate __pyx_string_tab[2681]
#define __pyx_n_u_cuEventCreateFromEGLSync __pyx_string_tab[2682]
#define __pyx_n_u_cuEventDestroy __pyx_string_tab[2683]
#define __pyx_n_u_cuEventElapsedTime __pyx_string_tab[2684]
#define __pyx_n_u_cuEventElapsedTime_v2 __pyx_string_tab[2685]
#define __pyx_n_u_cuEventQuery __pyx_string_tab[2686]
#define __pyx_n_u_cuEventRecord __pyx_string_tab[2687]
#define __pyx_n_u_cuEventRecordWithFlags __pyx_string_tab[2688]
#define __pyx_n_u_cuEventSynchronize __pyx_string_tab[2689]
#define __pyx_n_u_cuExternalMemoryGetMappedBuffer __pyx_string_tab[2690]
#define __pyx_n_u_cuExternalMemoryGetMappedMipmapp __pyx_string_tab[2691]
#define __pyx_n_u_cuFlushGPUDirectRDMAWrites __pyx_string_tab[2692]
#define __pyx_kp_u_cuFormat __pyx_string_tab[2693]
#define __pyx_n_u_cuFormat_2 __pyx_string_tab[2694]
#define __pyx_kp_u_cuFormat_ValueError __pyx_string_tab[2695]
#define __pyx_n_u_cuFuncGetAttribute __pyx_string_tab[2696]
#define __pyx_n_u_cuFuncGetModule __pyx_string_tab[2697]
#define __pyx_n_u_cuFuncGetName __pyx_string_tab[2698]
#define __pyx_n_u_cuFuncGetParamInfo __pyx_string_tab[2699]
#define __pyx_n_u_cuFuncIsLoaded __pyx_string_tab[2700]
#define __pyx_n_u_cuFuncLoad __pyx_string_tab[2701]
#define __pyx_n_u_cuFuncSetAttribute __pyx_string_tab[2702]
#define __pyx_n_u_cuFuncSetBlockShape __pyx_string_tab[2703]
#define __pyx_n_u_cuFuncSetCacheConfig __pyx_string_tab[2704]
#define __pyx_n_u_cuFuncSetSharedMemConfig __pyx_string_tab[2705]
#define __pyx_n_u_cuFuncSetSharedSize __pyx_string_tab[2706]
#define __pyx_n_u_cuGLGetDevices __pyx_string_tab[2707]
#define __pyx_n_u_cuGetErrorName __pyx_string_tab[2708]
#define __pyx_n_u_cuGetErrorString __pyx_string_tab[2709]
#define __pyx_n_u_cuGetExportTable __pyx_string_tab[2710]
#define __pyx_n_u_cuGetProcAddress __pyx_string_tab[2711]
#define __pyx_n_u_cuGraphAddBatchMemOpNode __pyx_string_tab[2712]
#define __pyx_n_u_cuGraphAddBatchMemOpNode_locals __pyx_string_tab[2713]
#define __pyx_n_u_cuGraphAddChildGraphNode __pyx_string_tab[2714]
#define __pyx_n_u_cuGraphAddChildGraphNode_locals __pyx_string_tab[2715]
#define __pyx_n_u_cuGraphAddDependencies __pyx_string_tab[2716]
#define __pyx_n_u_cuGraphAddDependencies_locals_ge __pyx_string_tab[2717]
#define __pyx_n_u_cuGraphAddDependencies_v2 __pyx_string_tab[2718]
#define __pyx_n_u_cuGraphAddDependencies_v2_locals __pyx_string_tab[2719]
#define __pyx_n_u_cuGraphAddEmptyNode __pyx_string_tab[2720]
#define __pyx_n_u_cuGraphAddEmptyNode_locals_genex __pyx_string_tab[2721]
#define __pyx_n_u_cuGraphAddEventRecordNode __pyx_string_tab[2722]
#define __pyx_n_u_cuGraphAddEventRecordNode_locals __pyx_string_tab[2723]
#define __pyx_n_u_cuGraphAddEventWaitNode __pyx_string_tab[2724]
#define __pyx_n_u_cuGraphAddEventWaitNode_locals_g __pyx_string_tab[2725]
#define __pyx_n_u_cuGraphAddExternalSemaphoresSign __pyx_string_tab[2726]
#define __pyx_n_u_cuGraphAddExternalSemaphoresSign_2 __pyx_string_tab[2727]
#define __pyx_n_u_cuGraphAddExternalSemaphoresWait __pyx_string_tab[2728]
#define __pyx_n_u_cuGraphAddExternalSemaphoresWait_2 __pyx_string_tab[2729]
#define __pyx_n_u_cuGraphAddHostNode __pyx_string_tab[2730]
#define __pyx_n_u_cuGraphAddHostNode_locals_genexp __pyx_string_tab[2731]
#define __pyx_n_u_cuGraphAddKernelNode __pyx_string_tab[2732]
#define __pyx_n_u_cuGraphAddKernelNode_locals_gene __pyx_string_tab[2733]
#define __pyx_n_u_cuGraphAddMemAllocNode __pyx_string_tab[2734]
#define __pyx_n_u_cuGraphAddMemAllocNode_locals_ge __pyx_string_tab[2735]
#define __pyx_n_u_cuGraphAddMemFreeNode __pyx_string_tab[2736]
#define __pyx_n_u_cuGraphAddMemFreeNode_locals_gen __pyx_string_tab[2737]
#define __pyx_n_u_cuGraphAddMemcpyNode __pyx_string_tab[2738]
#define __pyx_n_u_cuGraphAddMemcpyNode_locals_gene __pyx_string_tab[2739]
#define __pyx_n_u_cuGraphAddMemsetNode __pyx_string_tab[2740]
#define __pyx_n_u_cuGraphAddMemsetNode_locals_gene __pyx_string_tab[2741]
#define __pyx_n_u_cuGraphAddNode __pyx_string_tab[2742]
#define __pyx_n_u_cuGraphAddNode_locals_genexpr __pyx_string_tab[2743]
#define __pyx_n_u_cuGraphAddNode_v2 __pyx_string_tab[2744]
#define __pyx_n_u_cuGraphAddNode_v2_locals_genexpr __pyx_string_tab[2745]
#define __pyx_n_u_cuGraphBatchMemOpNodeGetParams __pyx_string_tab[2746]
#define __pyx_n_u_cuGraphBatchMemOpNodeSetParams __pyx_string_tab[2747]
#define __pyx_n_u_cuGraphChildGraphNodeGetGraph __pyx_string_tab[2748]
#define __pyx_n_u_cuGraphClone __pyx_string_tab[2749]
#define __pyx_n_u_cuGraphConditionalHandleCreate __pyx_string_tab[2750]
#define __pyx_n_u_cuGraphCreate __pyx_string_tab[2751]
#define __pyx_n_u_cuGraphDebugDotPrint __pyx_string_tab[2752]
#define __pyx_n_u_cuGraphDestroy __pyx_string_tab[2753]
#define __pyx_n_u_cuGraphDestroyNode __pyx_string_tab[2754]
#define __pyx_n_u_cuGraphEventRecordNodeGetEvent __pyx_string_tab[2755]
#define __pyx_n_u_cuGraphEventRecordNodeSetEvent __pyx_string_tab[2756]
#define __pyx_n_u_cuGraphEventWaitNodeGetEvent __pyx_string_tab[2757]
#define __pyx_n_u_cuGraphEventWaitNodeSetEvent __pyx_string_tab[2758]
#define __pyx_n_u_cuGraphExecBatchMemOpNodeSetPara __pyx_string_tab[2759]
#define __pyx_n_u_cuGraphExecChildGraphNodeSetPara __pyx_string_tab[2760]
#define __pyx_n_u_cuGraphExecDestroy __pyx_string_tab[2761]
#define __pyx_n_u_cuGraphExecEventRecordNodeSetEve __pyx_string_tab[2762]
#define __pyx_n_u_cuGraphExecEventWaitNodeSetEvent __pyx_string_tab[2763]
#define __pyx_n_u_cuGraphExecExternalSemaphoresSig __pyx_string_tab[2764]
#define __pyx_n_u_cuGraphExecExternalSemaphoresWai __pyx_string_tab[2765]
#define __pyx_n_u_cuGraphExecGetFlags __pyx_string_tab[2766]
#define __pyx_n_u_cuGraphExecHostNodeSetParams __pyx_string_tab[2767]
#define __pyx_n_u_cuGraphExecKernelNodeSetParams __pyx_string_tab[2768]
#define __pyx_n_u_cuGraphExecMemcpyNodeSetParams __pyx_string_tab[2769]
#define __pyx_n_u_cuGraphExecMemsetNodeSetParams __pyx_string_tab[2770]
#define __pyx_n_u_cuGraphExecNodeSetParams __pyx_string_tab[2771]
#define __pyx_n_u_cuGraphExecUpdate __pyx_string_tab[2772]
#define __pyx_n_u_cuGraphExternalSemaphoresSignalN __pyx_string_tab[2773]
#define __pyx_n_u_cuGraphExternalSemaphoresSignalN_2 __pyx_string_tab[2774]
#define __pyx_n_u_cuGraphExternalSemaphoresWaitNod __pyx_string_tab[2775]
#define __pyx_n_u_cuGraphExternalSemaphoresWaitNod_2 __pyx_string_tab[2776]
#define __pyx_n_u_cuGraphGetEdges __pyx_string_tab[2777]
#define __pyx_n_u_cuGraphGetEdges_v2 __pyx_string_tab[2778]
#define __pyx_n_u_cuGraphGetNodes __pyx_string_tab[2779]
#define __pyx_n_u_cuGraphGetRootNodes __pyx_string_tab[2780]
#define __pyx_n_u_cuGraphHostNodeGetParams __pyx_string_tab[2781]
#define __pyx_n_u_cuGraphHostNodeSetParams __pyx_string_tab[2782]
#define __pyx_n_u_cuGraphInstantiate __pyx_string_tab[2783]
#define __pyx_n_u_cuGraphInstantiateWithParams __pyx_string_tab[2784]
#define __pyx_n_u_cuGraphKernelNodeCopyAttributes __pyx_string_tab[2785]
#define __pyx_n_u_cuGraphKernelNodeGetAttribute __pyx_string_tab[2786]
#define __pyx_n_u_cuGraphKernelNodeGetParams __pyx_string_tab[2787]
#define __pyx_n_u_cuGraphKernelNodeSetAttribute __pyx_string_tab[2788]
#define __pyx_n_u_cuGraphKernelNodeSetParams __pyx_string_tab[2789]
#define __pyx_n_u_cuGraphLaunch __pyx_string_tab[2790]
#define __pyx_n_u_cuGraphMemAllocNodeGetParams __pyx_string_tab[2791]
#define __pyx_n_u_cuGraphMemFreeNodeGetParams __pyx_string_tab[2792]
#define __pyx_n_u_cuGraphMemcpyNodeGetParams __pyx_string_tab[2793]
#define __pyx_n_u_cuGraphMemcpyNodeSetParams __pyx_string_tab[2794]
#define __pyx_n_u_cuGraphMemsetNodeGetParams __pyx_string_tab[2795]
#define __pyx_n_u_cuGraphMemsetNodeSetParams __pyx_string_tab[2796]
#define __pyx_n_u_cuGraphNodeFindInClone __pyx_string_tab[2797]
#define __pyx_n_u_cuGraphNodeGetDependencies __pyx_string_tab[2798]
#define __pyx_n_u_cuGraphNodeGetDependencies_v2 __pyx_string_tab[2799]
#define __pyx_n_u_cuGraphNodeGetDependentNodes __pyx_string_tab[2800]
#define __pyx_n_u_cuGraphNodeGetDependentNodes_v2 __pyx_string_tab[2801]
#define __pyx_n_u_cuGraphNodeGetEnabled __pyx_string_tab[2802]
#define __pyx_n_u_cuGraphNodeGetType __pyx_string_tab[2803]
#define __pyx_n_u_cuGraphNodeSetEnabled __pyx_string_tab[2804]
#define __pyx_n_u_cuGraphNodeSetParams __pyx_string_tab[2805]
#define __pyx_n_u_cuGraphReleaseUserObject __pyx_string_tab[2806]
#define __pyx_n_u_cuGraphRemoveDependencies __pyx_string_tab[2807]
#define __pyx_n_u_cuGraphRemoveDependencies_locals __pyx_string_tab[2808]
#define __pyx_n_u_cuGraphRemoveDependencies_v2 __pyx_string_tab[2809]
#define __pyx_n_u_cuGraphRemoveDependencies_v2_loc __pyx_string_tab[2810]
#define __pyx_n_u_cuGraphRetainUserObject __pyx_string_tab[2811]
#define __pyx_n_u_cuGraphUpload __pyx_string_tab[2812]
#define __pyx_n_u_cuGraphicsEGLRegisterImage __pyx_string_tab[2813]
#define __pyx_n_u_cuGraphicsGLRegisterBuffer __pyx_string_tab[2814]
#define __pyx_n_u_cuGraphicsGLRegisterImage __pyx_string_tab[2815]
#define __pyx_n_u_cuGraphicsMapResources __pyx_string_tab[2816]
#define __pyx_n_u_cuGraphicsResourceGetMappedEglFr __pyx_string_tab[2817]
#define __pyx_n_u_cuGraphicsResourceGetMappedMipma __pyx_string_tab[2818]
#define __pyx_n_u_cuGraphicsResourceGetMappedPoint __pyx_string_tab[2819]
#define __pyx_n_u_cuGraphicsResourceSetMapFlags __pyx_string_tab[2820]
#define __pyx_n_u_cuGraphicsSubResourceGetMappedAr __pyx_string_tab[2821]
#define __pyx_n_u_cuGraphicsUnmapResources __pyx_string_tab[2822]
#define __pyx_n_u_cuGraphicsUnregisterResource __pyx_string_tab[2823]
#define __pyx_n_u_cuGraphicsVDPAURegisterOutputSur __pyx_string_tab[2824]
#define __pyx_n_u_cuGraphicsVDPAURegisterVideoSurf __pyx_string_tab[2825]
#define __pyx_n_u_cuGreenCtxCreate __pyx_string_tab[2826]
#define __pyx_n_u_cuGreenCtxDestroy __pyx_string_tab[2827]
#define __pyx_n_u_cuGreenCtxGetDevResource __pyx_string_tab[2828]
#define __pyx_n_u_cuGreenCtxRecordEvent __pyx_string_tab[2829]
#define __pyx_n_u_cuGreenCtxStreamCreate __pyx_string_tab[2830]
#define __pyx_n_u_cuGreenCtxWaitEvent __pyx_string_tab[2831]
#define __pyx_n_u_cuImportExternalMemory __pyx_string_tab[2832]
#define __pyx_n_u_cuImportExternalSemaphore __pyx_string_tab[2833]
#define __pyx_n_u_cuInit __pyx_string_tab[2834]
#define __pyx_n_u_cuIpcCloseMemHandle __pyx_string_tab[2835]
#define __pyx_n_u_cuIpcGetEventHandle __pyx_string_tab[2836]
#define __pyx_n_u_cuIpcGetMemHandle __pyx_string_tab[2837]
#define __pyx_n_u_cuIpcOpenEventHandle __pyx_string_tab[2838]
#define __pyx_n_u_cuIpcOpenMemHandle __pyx_string_tab[2839]
#define __pyx_n_u_cuKernelGetAttribute __pyx_string_tab[2840]
#define __pyx_n_u_cuKernelGetFunction __pyx_string_tab[2841]
#define __pyx_n_u_cuKernelGetLibrary __pyx_string_tab[2842]
#define __pyx_n_u_cuKernelGetName __pyx_string_tab[2843]
#define __pyx_n_u_cuKernelGetParamInfo __pyx_string_tab[2844]
#define __pyx_n_u_cuKernelSetAttribute __pyx_string_tab[2845]
#define __pyx_n_u_cuKernelSetCacheConfig __pyx_string_tab[2846]
#define __pyx_n_u_cuLaunch __pyx_string_tab[2847]
#define __pyx_n_u_cuLaunchCooperativeKernel __pyx_string_tab[2848]
#define __pyx_n_u_cuLaunchCooperativeKernelMultiDe __pyx_string_tab[2849]
#define __pyx_n_u_cuLaunchCooperativeKernelMultiDe_2 __pyx_string_tab[2850]
#define __pyx_n_u_cuLaunchGrid __pyx_string_tab[2851]
#define __pyx_n_u_cuLaunchGridAsync __pyx_string_tab[2852]
#define __pyx_n_u_cuLaunchHostFunc __pyx_string_tab[2853]
#define __pyx_n_u_cuLaunchKernel __pyx_string_tab[2854]
#define __pyx_n_u_cuLaunchKernelEx __pyx_string_tab[2855]
#define __pyx_n_u_cuLibraryEnumerateKernels __pyx_string_tab[2856]
#define __pyx_n_u_cuLibraryGetGlobal __pyx_string_tab[2857]
#define __pyx_n_u_cuLibraryGetKernel __pyx_string_tab[2858]
#define __pyx_n_u_cuLibraryGetKernelCount __pyx_string_tab[2859]
#define __pyx_n_u_cuLibraryGetManaged __pyx_string_tab[2860]
#define __pyx_n_u_cuLibraryGetModule __pyx_string_tab[2861]
#define __pyx_n_u_cuLibraryGetUnifiedFunction __pyx_string_tab[2862]
#define __pyx_n_u_cuLibraryLoadData __pyx_string_tab[2863]
#define __pyx_n_u_cuLibraryLoadData_locals_genexpr __pyx_string_tab[2864]
#define __pyx_n_u_cuLibraryLoadFromFile __pyx_string_tab[2865]
#define __pyx_n_u_cuLibraryLoadFromFile_locals_gen __pyx_string_tab[2866]
#define __pyx_n_u_cuLibraryUnload __pyx_string_tab[2867]
#define __pyx_n_u_cuLinkAddData __pyx_string_tab[2868]
#define __pyx_n_u_cuLinkAddData_locals_genexpr __pyx_string_tab[2869]
#define __pyx_n_u_cuLinkAddFile __pyx_string_tab[2870]
#define __pyx_n_u_cuLinkAddFile_locals_genexpr __pyx_string_tab[2871]
#define __pyx_n_u_cuLinkComplete __pyx_string_tab[2872]
#define __pyx_n_u_cuLinkCreate __pyx_string_tab[2873]
#define __pyx_n_u_cuLinkCreate_locals_genexpr __pyx_string_tab[2874]
#define __pyx_n_u_cuLinkDestroy __pyx_string_tab[2875]
#define __pyx_n_u_cuLogsCurrent __pyx_string_tab[2876]
#define __pyx_n_u_cuLogsDumpToFile __pyx_string_tab[2877]
#define __pyx_n_u_cuLogsDumpToMemory __pyx_string_tab[2878]
#define __pyx_n_u_cuLogsRegisterCallback __pyx_string_tab[2879]
#define __pyx_n_u_cuLogsUnregisterCallback __pyx_string_tab[2880]
#define __pyx_n_u_cuMemAddressFree __pyx_string_tab[2881]
#define __pyx_n_u_cuMemAddressReserve __pyx_string_tab[2882]
#define __pyx_n_u_cuMemAdvise __pyx_string_tab[2883]
#define __pyx_n_u_cuMemAdvise_v2 __pyx_string_tab[2884]
#define __pyx_n_u_cuMemAlloc __pyx_string_tab[2885]
#define __pyx_n_u_cuMemAllocAsync __pyx_string_tab[2886]
#define __pyx_n_u_cuMemAllocFromPoolAsync __pyx_string_tab[2887]
#define __pyx_n_u_cuMemAllocHost __pyx_string_tab[2888]
#define __pyx_n_u_cuMemAllocManaged __pyx_string_tab[2889]
#define __pyx_n_u_cuMemAllocPitch __pyx_string_tab[2890]
#define __pyx_n_u_cuMemBatchDecompressAsync __pyx_string_tab[2891]
#define __pyx_n_u_cuMemCreate __pyx_string_tab[2892]
#define __pyx_n_u_cuMemExportToShareableHandle __pyx_string_tab[2893]
#define __pyx_n_u_cuMemFree __pyx_string_tab[2894]
#define __pyx_n_u_cuMemFreeAsync __pyx_string_tab[2895]
#define __pyx_n_u_cuMemFreeHost __pyx_string_tab[2896]
#define __pyx_n_u_cuMemGetAccess __pyx_string_tab[2897]
#define __pyx_n_u_cuMemGetAddressRange __pyx_string_tab[2898]
#define __pyx_n_u_cuMemGetAllocationGranularity __pyx_string_tab[2899]
#define __pyx_n_u_cuMemGetAllocationPropertiesFrom __pyx_string_tab[2900]
#define __pyx_n_u_cuMemGetHandleForAddressRange __pyx_string_tab[2901]
#define __pyx_n_u_cuMemGetInfo __pyx_string_tab[2902]
#define __pyx_n_u_cuMemHostAlloc __pyx_string_tab[2903]
#define __pyx_n_u_cuMemHostGetDevicePointer __pyx_string_tab[2904]
#define __pyx_n_u_cuMemHostGetFlags __pyx_string_tab[2905]
#define __pyx_n_u_cuMemHostRegister __pyx_string_tab[2906]
#define __pyx_n_u_cuMemHostUnregister __pyx_string_tab[2907]
#define __pyx_n_u_cuMemImportFromShareableHandle __pyx_string_tab[2908]
#define __pyx_n_u_cuMemMap __pyx_string_tab[2909]
#define __pyx_n_u_cuMemMapArrayAsync __pyx_string_tab[2910]
#define __pyx_n_u_cuMemMapArrayAsync_locals_genexp __pyx_string_tab[2911]
#define __pyx_n_u_cuMemPoolCreate __pyx_string_tab[2912]
#define __pyx_n_u_cuMemPoolDestroy __pyx_string_tab[2913]
#define __pyx_n_u_cuMemPoolExportPointer __pyx_string_tab[2914]
#define __pyx_n_u_cuMemPoolExportToShareableHandle __pyx_string_tab[2915]
#define __pyx_n_u_cuMemPoolGetAccess __pyx_string_tab[2916]
#define __pyx_n_u_cuMemPoolGetAttribute __pyx_string_tab[2917]
#define __pyx_n_u_cuMemPoolImportFromShareableHand __pyx_string_tab[2918]
#define __pyx_n_u_cuMemPoolImportPointer __pyx_string_tab[2919]
#define __pyx_n_u_cuMemPoolSetAccess __pyx_string_tab[2920]
#define __pyx_n_u_cuMemPoolSetAccess_locals_genexp __pyx_string_tab[2921]
#define __pyx_n_u_cuMemPoolSetAttribute __pyx_string_tab[2922]
#define __pyx_n_u_cuMemPoolTrimTo __pyx_string_tab[2923]
#define __pyx_n_u_cuMemPrefetchAsync __pyx_string_tab[2924]
#define __pyx_n_u_cuMemPrefetchAsync_v2 __pyx_string_tab[2925]
#define __pyx_n_u_cuMemRangeGetAttribute __pyx_string_tab[2926]
#define __pyx_n_u_cuMemRangeGetAttributes __pyx_string_tab[2927]
#define __pyx_n_u_cuMemRangeGetAttributes_locals_g __pyx_string_tab[2928]
#define __pyx_n_u_cuMemRelease __pyx_string_tab[2929]
#define __pyx_n_u_cuMemRetainAllocationHandle __pyx_string_tab[2930]
#define __pyx_n_u_cuMemSetAccess __pyx_string_tab[2931]
#define __pyx_n_u_cuMemSetAccess_locals_genexpr __pyx_string_tab[2932]
#define __pyx_n_u_cuMemUnmap __pyx_string_tab[2933]
#define __pyx_n_u_cuMemcpy __pyx_string_tab[2934]
#define __pyx_n_u_cuMemcpy2D __pyx_string_tab[2935]
#define __pyx_n_u_cuMemcpy2DAsync __pyx_string_tab[2936]
#define __pyx_n_u_cuMemcpy2DUnaligned __pyx_string_tab[2937]
#define __pyx_n_u_cuMemcpy3D __pyx_string_tab[2938]
#define __pyx_n_u_cuMemcpy3DAsync __pyx_string_tab[2939]
#define __pyx_n_u_cuMemcpy3DBatchAsync __pyx_string_tab[2940]
#define __pyx_n_u_cuMemcpy3DBatchAsync_locals_gene __pyx_string_tab[2941]
#define __pyx_n_u_cuMemcpy3DPeer __pyx_string_tab[2942]
#define __pyx_n_u_cuMemcpy3DPeerAsync __pyx_string_tab[2943]
#define __pyx_n_u_cuMemcpyAsync __pyx_string_tab[2944]
#define __pyx_n_u_cuMemcpyAtoA __pyx_string_tab[2945]
#define __pyx_n_u_cuMemcpyAtoD __pyx_string_tab[2946]
#define __pyx_n_u_cuMemcpyAtoH __pyx_string_tab[2947]
#define __pyx_n_u_cuMemcpyAtoHAsync __pyx_string_tab[2948]
#define __pyx_n_u_cuMemcpyBatchAsync __pyx_string_tab[2949]
#define __pyx_n_u_cuMemcpyBatchAsync_locals_genexp __pyx_string_tab[2950]
#define __pyx_n_u_cuMemcpyDtoA __pyx_string_tab[2951]
#define __pyx_n_u_cuMemcpyDtoD __pyx_string_tab[2952]
#define __pyx_n_u_cuMemcpyDtoDAsync __pyx_string_tab[2953]
#define __pyx_n_u_cuMemcpyDtoH __pyx_string_tab[2954]
#define __pyx_n_u_cuMemcpyDtoHAsync __pyx_string_tab[2955]
#define __pyx_n_u_cuMemcpyHtoA __pyx_string_tab[2956]
#define __pyx_n_u_cuMemcpyHtoAAsync __pyx_string_tab[2957]
#define __pyx_n_u_cuMemcpyHtoD __pyx_string_tab[2958]
#define __pyx_n_u_cuMemcpyHtoDAsync __pyx_string_tab[2959]
#define __pyx_n_u_cuMemcpyPeer __pyx_string_tab[2960]
#define __pyx_n_u_cuMemcpyPeerAsync __pyx_string_tab[2961]
#define __pyx_n_u_cuMemsetD16 __pyx_string_tab[2962]
#define __pyx_n_u_cuMemsetD16Async __pyx_string_tab[2963]
#define __pyx_n_u_cuMemsetD2D16 __pyx_string_tab[2964]
#define __pyx_n_u_cuMemsetD2D16Async __pyx_string_tab[2965]
#define __pyx_n_u_cuMemsetD2D32 __pyx_string_tab[2966]
#define __pyx_n_u_cuMemsetD2D32Async __pyx_string_tab[2967]
#define __pyx_n_u_cuMemsetD2D8 __pyx_string_tab[2968]
#define __pyx_n_u_cuMemsetD2D8Async __pyx_string_tab[2969]
#define __pyx_n_u_cuMemsetD32 __pyx_string_tab[2970]
#define __pyx_n_u_cuMemsetD32Async __pyx_string_tab[2971]
#define __pyx_n_u_cuMemsetD8 __pyx_string_tab[2972]
#define __pyx_n_u_cuMemsetD8Async __pyx_string_tab[2973]
#define __pyx_n_u_cuMipmappedArrayCreate __pyx_string_tab[2974]
#define __pyx_n_u_cuMipmappedArrayDestroy __pyx_string_tab[2975]
#define __pyx_n_u_cuMipmappedArrayGetLevel __pyx_string_tab[2976]
#define __pyx_n_u_cuMipmappedArrayGetMemoryRequire __pyx_string_tab[2977]
#define __pyx_n_u_cuMipmappedArrayGetSparsePropert __pyx_string_tab[2978]
#define __pyx_n_u_cuModuleEnumerateFunctions __pyx_string_tab[2979]
#define __pyx_n_u_cuModuleGetFunction __pyx_string_tab[2980]
#define __pyx_n_u_cuModuleGetFunctionCount __pyx_string_tab[2981]
#define __pyx_n_u_cuModuleGetGlobal __pyx_string_tab[2982]
#define __pyx_n_u_cuModuleGetLoadingMode __pyx_string_tab[2983]
#define __pyx_n_u_cuModuleGetSurfRef __pyx_string_tab[2984]
#define __pyx_n_u_cuModuleGetTexRef __pyx_string_tab[2985]
#define __pyx_n_u_cuModuleLoad __pyx_string_tab[2986]
#define __pyx_n_u_cuModuleLoadData __pyx_string_tab[2987]
#define __pyx_n_u_cuModuleLoadDataEx __pyx_string_tab[2988]
#define __pyx_n_u_cuModuleLoadDataEx_locals_genexp __pyx_string_tab[2989]
#define __pyx_n_u_cuModuleLoadFatBinary __pyx_string_tab[2990]
#define __pyx_n_u_cuModuleUnload __pyx_string_tab[2991]
#define __pyx_n_u_cuMulticastAddDevice __pyx_string_tab[2992]
#define __pyx_n_u_cuMulticastBindAddr __pyx_string_tab[2993]
#define __pyx_n_u_cuMulticastBindMem __pyx_string_tab[2994]
#define __pyx_n_u_cuMulticastCreate __pyx_string_tab[2995]
#define __pyx_n_u_cuMulticastGetGranularity __pyx_string_tab[2996]
#define __pyx_n_u_cuMulticastUnbind __pyx_string_tab[2997]
#define __pyx_n_u_cuOccupancyAvailableDynamicSMemP __pyx_string_tab[2998]
#define __pyx_n_u_cuOccupancyMaxActiveBlocksPerMul __pyx_string_tab[2999]
#define __pyx_n_u_cuOccupancyMaxActiveBlocksPerMul_2 __pyx_string_tab[3000]
#define __pyx_n_u_cuOccupancyMaxActiveClusters __pyx_string_tab[3001]
#define __pyx_n_u_cuOccupancyMaxPotentialBlockSize __pyx_string_tab[3002]
#define __pyx_n_u_cuOccupancyMaxPotentialBlockSize_2 __pyx_string_tab[3003]
#define __pyx_n_u_cuOccupancyMaxPotentialClusterSi __pyx_string_tab[3004]
#define __pyx_n_u_cuParamSetSize __pyx_string_tab[3005]
#define __pyx_n_u_cuParamSetTexRef __pyx_string_tab[3006]
#define __pyx_n_u_cuParamSetf __pyx_string_tab[3007]
#define __pyx_n_u_cuParamSeti __pyx_string_tab[3008]
#define __pyx_n_u_cuParamSetv __pyx_string_tab[3009]
#define __pyx_n_u_cuPointerGetAttribute __pyx_string_tab[3010]
#define __pyx_n_u_cuPointerGetAttributes __pyx_string_tab[3011]
#define __pyx_n_u_cuPointerGetAttributes_locals_ge __pyx_string_tab[3012]
#define __pyx_n_u_cuPointerSetAttribute __pyx_string_tab[3013]
#define __pyx_n_u_cuProfilerStart __pyx_string_tab[3014]
#define __pyx_n_u_cuProfilerStop __pyx_string_tab[3015]
#define __pyx_n_u_cuSignalExternalSemaphoresAsync __pyx_string_tab[3016]
#define __pyx_n_u_cuSignalExternalSemaphoresAsync_2 __pyx_string_tab[3017]
#define __pyx_n_u_cuStreamAddCallback __pyx_string_tab[3018]
#define __pyx_n_u_cuStreamAttachMemAsync __pyx_string_tab[3019]
#define __pyx_n_u_cuStreamBatchMemOp __pyx_string_tab[3020]
#define __pyx_n_u_cuStreamBatchMemOp_locals_genexp __pyx_string_tab[3021]
#define __pyx_n_u_cuStreamBeginCapture __pyx_string_tab[3022]
#define __pyx_n_u_cuStreamBeginCaptureToGraph __pyx_string_tab[3023]
#define __pyx_n_u_cuStreamBeginCaptureToGraph_loca __pyx_string_tab[3024]
#define __pyx_n_u_cuStreamCopyAttributes __pyx_string_tab[3025]
#define __pyx_n_u_cuStreamCreate __pyx_string_tab[3026]
#define __pyx_n_u_cuStreamCreateWithPriority __pyx_string_tab[3027]
#define __pyx_n_u_cuStreamDestroy __pyx_string_tab[3028]
#define __pyx_n_u_cuStreamEndCapture __pyx_string_tab[3029]
#define __pyx_n_u_cuStreamGetAttribute __pyx_string_tab[3030]
#define __pyx_n_u_cuStreamGetCaptureInfo __pyx_string_tab[3031]
#define __pyx_n_u_cuStreamGetCaptureInfo_v3 __pyx_string_tab[3032]
#define __pyx_n_u_cuStreamGetCtx __pyx_string_tab[3033]
#define __pyx_n_u_cuStreamGetCtx_v2 __pyx_string_tab[3034]
#define __pyx_n_u_cuStreamGetDevice __pyx_string_tab[3035]
#define __pyx_n_u_cuStreamGetFlags __pyx_string_tab[3036]
#define __pyx_n_u_cuStreamGetGreenCtx __pyx_string_tab[3037]
#define __pyx_n_u_cuStreamGetId __pyx_string_tab[3038]
#define __pyx_n_u_cuStreamGetPriority __pyx_string_tab[3039]
#define __pyx_n_u_cuStreamIsCapturing __pyx_string_tab[3040]
#define __pyx_n_u_cuStreamQuery __pyx_string_tab[3041]
#define __pyx_n_u_cuStreamSetAttribute __pyx_string_tab[3042]
#define __pyx_n_u_cuStreamSynchronize __pyx_string_tab[3043]
#define __pyx_n_u_cuStreamUpdateCaptureDependencie __pyx_string_tab[3044]
#define __pyx_n_u_cuStreamUpdateCaptureDependencie_2 __pyx_string_tab[3045]
#define __pyx_n_u_cuStreamUpdateCaptureDependencie_3 __pyx_string_tab[3046]
#define __pyx_n_u_cuStreamUpdateCaptureDependencie_4 __pyx_string_tab[3047]
#define __pyx_n_u_cuStreamWaitEvent __pyx_string_tab[3048]
#define __pyx_n_u_cuStreamWaitValue32 __pyx_string_tab[3049]
#define __pyx_n_u_cuStreamWaitValue64 __pyx_string_tab[3050]
#define __pyx_n_u_cuStreamWriteValue32 __pyx_string_tab[3051]
#define __pyx_n_u_cuStreamWriteValue64 __pyx_string_tab[3052]
#define __pyx_n_u_cuSurfObjectCreate __pyx_string_tab[3053]
#define __pyx_n_u_cuSurfObjectDestroy __pyx_string_tab[3054]
#define __pyx_n_u_cuSurfObjectGetResourceDesc __pyx_string_tab[3055]
#define __pyx_n_u_cuSurfRefGetArray __pyx_string_tab[3056]
#define __pyx_n_u_cuSurfRefSetArray __pyx_string_tab[3057]
#define __pyx_n_u_cuTensorMapEncodeIm2col __pyx_string_tab[3058]
#define __pyx_n_u_cuTensorMapEncodeIm2colWide __pyx_string_tab[3059]
#define __pyx_n_u_cuTensorMapEncodeIm2colWide_loca __pyx_string_tab[3060]
#define __pyx_n_u_cuTensorMapEncodeIm2col_locals_g __pyx_string_tab[3061]
#define __pyx_n_u_cuTensorMapEncodeTiled __pyx_string_tab[3062]
#define __pyx_n_u_cuTensorMapEncodeTiled_locals_ge __pyx_string_tab[3063]
#define __pyx_n_u_cuTensorMapReplaceAddress __pyx_string_tab[3064]
#define __pyx_n_u_cuTexObjectCreate __pyx_string_tab[3065]
#define __pyx_n_u_cuTexObjectDestroy __pyx_string_tab[3066]
#define __pyx_n_u_cuTexObjectGetResourceDesc __pyx_string_tab[3067]
#define __pyx_n_u_cuTexObjectGetResourceViewDesc __pyx_string_tab[3068]
#define __pyx_n_u_cuTexObjectGetTextureDesc __pyx_string_tab[3069]
#define __pyx_n_u_cuTexRefCreate __pyx_string_tab[3070]
#define __pyx_n_u_cuTexRefDestroy __pyx_string_tab[3071]
#define __pyx_n_u_cuTexRefGetAddress __pyx_string_tab[3072]
#define __pyx_n_u_cuTexRefGetAddressMode __pyx_string_tab[3073]
#define __pyx_n_u_cuTexRefGetArray __pyx_string_tab[3074]
#define __pyx_n_u_cuTexRefGetBorderColor __pyx_string_tab[3075]
#define __pyx_n_u_cuTexRefGetFilterMode __pyx_string_tab[3076]
#define __pyx_n_u_cuTexRefGetFlags __pyx_string_tab[3077]
#define __pyx_n_u_cuTexRefGetFormat __pyx_string_tab[3078]
#define __pyx_n_u_cuTexRefGetMaxAnisotropy __pyx_string_tab[3079]
#define __pyx_n_u_cuTexRefGetMipmapFilterMode __pyx_string_tab[3080]
#define __pyx_n_u_cuTexRefGetMipmapLevelBias __pyx_string_tab[3081]
#define __pyx_n_u_cuTexRefGetMipmapLevelClamp __pyx_string_tab[3082]
#define __pyx_n_u_cuTexRefGetMipmappedArray __pyx_string_tab[3083]
#define __pyx_n_u_cuTexRefSetAddress __pyx_string_tab[3084]
#define __pyx_n_u_cuTexRefSetAddress2D __pyx_string_tab[3085]
#define __pyx_n_u_cuTexRefSetAddressMode __pyx_string_tab[3086]
#define __pyx_n_u_cuTexRefSetArray __pyx_string_tab[3087]
#define __pyx_n_u_cuTexRefSetBorderColor __pyx_string_tab[3088]
#define __pyx_n_u_cuTexRefSetFilterMode __pyx_string_tab[3089]
#define __pyx_n_u_cuTexRefSetFlags __pyx_string_tab[3090]
#define __pyx_n_u_cuTexRefSetFormat __pyx_string_tab[3091]
#define __pyx_n_u_cuTexRefSetMaxAnisotropy __pyx_string_tab[3092]
#define __pyx_n_u_cuTexRefSetMipmapFilterMode __pyx_string_tab[3093]
#define __pyx_n_u_cuTexRefSetMipmapLevelBias __pyx_string_tab[3094]
#define __pyx_n_u_cuTexRefSetMipmapLevelClamp __pyx_string_tab[3095]
#define __pyx_n_u_cuTexRefSetMipmappedArray __pyx_string_tab[3096]
#define __pyx_n_u_cuThreadExchangeStreamCaptureMod __pyx_string_tab[3097]
#define __pyx_n_u_cuUserObjectCreate __pyx_string_tab[3098]
#define __pyx_n_u_cuUserObjectRelease __pyx_string_tab[3099]
#define __pyx_n_u_cuUserObjectRetain __pyx_string_tab[3100]
#define __pyx_n_u_cuVDPAUCtxCreate __pyx_string_tab[3101]
#define __pyx_n_u_cuVDPAUGetDevice __pyx_string_tab[3102]
#define __pyx_n_u_cuWaitExternalSemaphoresAsync __pyx_string_tab[3103]
#define __pyx_n_u_cuWaitExternalSemaphoresAsync_lo __pyx_string_tab[3104]
#define __pyx_n_u_cubinOut __pyx_string_tab[3105]
#define __pyx_n_u_cuda __pyx_string_tab[3106]
#define __pyx_n_u_cudaBindingsDriverGlobal __pyx_string_tab[3107]
#define __pyx_n_u_cudaBindingsDriverGlobal___reduc __pyx_string_tab[3108]
#define __pyx_n_u_cudaBindingsDriverGlobal___setst __pyx_string_tab[3109]
#define __pyx_n_u_cudaDeviceCount __pyx_string_tab[3110]
#define __pyx_n_u_cudaVersion __pyx_string_tab[3111]
#define __pyx_kp_u_cuda_bindings__lib_utils_pxi __pyx_string_tab[3112]
#define __pyx_n_u_cuda_bindings_driver __pyx_string_tab[3113]
#define __pyx_kp_u_cuda_bindings_driver_pyx __pyx_string_tab[3114]
#define __pyx_n_u_cuda_bindings_utils __pyx_string_tab[3115]
#define __pyx_kp_u_cuuint32_t __pyx_string_tab[3116]
#define __pyx_n_u_cuuint32_t_2 __pyx_string_tab[3117]
#define __pyx_n_u_cuuint32_t___reduce_cython __pyx_string_tab[3118]
#define __pyx_n_u_cuuint32_t___setstate_cython __pyx_string_tab[3119]
#define __pyx_n_u_cuuint32_t_getPtr __pyx_string_tab[3120]
#define __pyx_n_u_cuuint64_t __pyx_string_tab[3121]
#define __pyx_kp_u_cuuint64_t_2 __pyx_string_tab[3122]
#define __pyx_n_u_cuuint64_t___reduce_cython __pyx_string_tab[3123]
#define __pyx_n_u_cuuint64_t___setstate_cython __pyx_string_tab[3124]
#define __pyx_n_u_cuuint64_t_getPtr __pyx_string_tab[3125]
#define __pyx_n_u_cyaddr __pyx_string_tab[3126]
#define __pyx_n_u_cyaddr_ptr __pyx_string_tab[3127]
#define __pyx_n_u_cyadvice __pyx_string_tab[3128]
#define __pyx_n_u_cyam __pyx_string_tab[3129]
#define __pyx_n_u_cyargs_ptr __pyx_string_tab[3130]
#define __pyx_n_u_cyarray __pyx_string_tab[3131]
#define __pyx_n_u_cyattr __pyx_string_tab[3132]
#define __pyx_n_u_cyattrib __pyx_string_tab[3133]
#define __pyx_n_u_cyattribute __pyx_string_tab[3134]
#define __pyx_n_u_cyattributes __pyx_string_tab[3135]
#define __pyx_n_u_cyattrs __pyx_string_tab[3136]
#define __pyx_n_u_cyattrsIdxs __pyx_string_tab[3137]
#define __pyx_n_u_cyblockSizeToDynamicSMemSize __pyx_string_tab[3138]
#define __pyx_n_u_cyboxDim __pyx_string_tab[3139]
#define __pyx_n_u_cybuffer __pyx_string_tab[3140]
#define __pyx_n_u_cybufferDesc_ptr __pyx_string_tab[3141]
#define __pyx_n_u_cycallback __pyx_string_tab[3142]
#define __pyx_n_u_cycallbackFunc __pyx_string_tab[3143]
#define __pyx_n_u_cychannelsPerPixel __pyx_string_tab[3144]
#define __pyx_n_u_cychildGraph __pyx_string_tab[3145]
#define __pyx_n_u_cycode __pyx_string_tab[3146]
#define __pyx_n_u_cycode_ptr __pyx_string_tab[3147]
#define __pyx_n_u_cyconfig __pyx_string_tab[3148]
#define __pyx_n_u_cyconfig_ptr __pyx_string_tab[3149]
#define __pyx_n_u_cyconn __pyx_string_tab[3150]
#define __pyx_n_u_cycopyParams_ptr __pyx_string_tab[3151]
#define __pyx_n_u_cyctx __pyx_string_tab[3152]
#define __pyx_n_u_cyctxCreateParams_ptr __pyx_string_tab[3153]
#define __pyx_n_u_cydata __pyx_string_tab[3154]
#define __pyx_n_u_cydataSizes __pyx_string_tab[3155]
#define __pyx_n_u_cydata_ptr __pyx_string_tab[3156]
#define __pyx_n_u_cydependencies __pyx_string_tab[3157]
#define __pyx_n_u_cydependencies_out __pyx_string_tab[3158]
#define __pyx_n_u_cydependencyData __pyx_string_tab[3159]
#define __pyx_n_u_cydependentNodes __pyx_string_tab[3160]
#define __pyx_n_u_cydesc __pyx_string_tab[3161]
#define __pyx_n_u_cydesc_ptr __pyx_string_tab[3162]
#define __pyx_n_u_cydestroy __pyx_string_tab[3163]
#define __pyx_n_u_cydev __pyx_string_tab[3164]
#define __pyx_n_u_cydevPtr __pyx_string_tab[3165]
#define __pyx_n_u_cydevice __pyx_string_tab[3166]
#define __pyx_n_u_cydeviceList __pyx_string_tab[3167]
#define __pyx_n_u_cydptr __pyx_string_tab[3168]
#define __pyx_n_u_cydst __pyx_string_tab[3169]
#define __pyx_n_u_cydstArray __pyx_string_tab[3170]
#define __pyx_n_u_cydstContext __pyx_string_tab[3171]
#define __pyx_n_u_cydstDevice __pyx_string_tab[3172]
#define __pyx_n_u_cydstHost __pyx_string_tab[3173]
#define __pyx_n_u_cydstHost_ptr __pyx_string_tab[3174]
#define __pyx_n_u_cydsts __pyx_string_tab[3175]
#define __pyx_n_u_cyedgeData __pyx_string_tab[3176]
#define __pyx_n_u_cyedgeData_out __pyx_string_tab[3177]
#define __pyx_n_u_cyeglSync __pyx_string_tab[3178]
#define __pyx_n_u_cyeglframe_ptr __pyx_string_tab[3179]
#define __pyx_n_u_cyelementStrides __pyx_string_tab[3180]
#define __pyx_n_u_cyerror __pyx_string_tab[3181]
#define __pyx_n_u_cyevent __pyx_string_tab[3182]
#define __pyx_n_u_cyextMem __pyx_string_tab[3183]
#define __pyx_n_u_cyextSem __pyx_string_tab[3184]
#define __pyx_n_u_cyextSemArray __pyx_string_tab[3185]
#define __pyx_n_u_cyf __pyx_string_tab[3186]
#define __pyx_n_u_cyfatCubin __pyx_string_tab[3187]
#define __pyx_n_u_cyfatCubin_ptr __pyx_string_tab[3188]
#define __pyx_n_u_cyflags __pyx_string_tab[3189]
#define __pyx_n_u_cyfm __pyx_string_tab[3190]
#define __pyx_n_u_cyfmt __pyx_string_tab[3191]
#define __pyx_n_u_cyfn __pyx_string_tab[3192]
#define __pyx_n_u_cyfrom __pyx_string_tab[3193]
#define __pyx_n_u_cyfunc __pyx_string_tab[3194]
#define __pyx_n_u_cyfunction __pyx_string_tab[3195]
#define __pyx_n_u_cyfunctions __pyx_string_tab[3196]
#define __pyx_n_u_cyglobalAddress __pyx_string_tab[3197]
#define __pyx_n_u_cyglobalAddress_ptr __pyx_string_tab[3198]
#define __pyx_n_u_cyglobalDim __pyx_string_tab[3199]
#define __pyx_n_u_cyglobalStrides __pyx_string_tab[3200]
#define __pyx_n_u_cygraph __pyx_string_tab[3201]
#define __pyx_n_u_cygreenCtx __pyx_string_tab[3202]
#define __pyx_n_u_cyhArray __pyx_string_tab[3203]
#define __pyx_n_u_cyhClonedGraph __pyx_string_tab[3204]
#define __pyx_n_u_cyhCtx __pyx_string_tab[3205]
#define __pyx_n_u_cyhEnd __pyx_string_tab[3206]
#define __pyx_n_u_cyhEvent __pyx_string_tab[3207]
#define __pyx_n_u_cyhGraph __pyx_string_tab[3208]
#define __pyx_n_u_cyhGraphExec __pyx_string_tab[3209]
#define __pyx_n_u_cyhMipmappedArray __pyx_string_tab[3210]
#define __pyx_n_u_cyhNode __pyx_string_tab[3211]
#define __pyx_n_u_cyhOriginalNode __pyx_string_tab[3212]
#define __pyx_n_u_cyhStart __pyx_string_tab[3213]
#define __pyx_n_u_cyhStream __pyx_string_tab[3214]
#define __pyx_n_u_cyhSurfRef __pyx_string_tab[3215]
#define __pyx_n_u_cyhTexRef __pyx_string_tab[3216]
#define __pyx_n_u_cyhandle __pyx_string_tab[3217]
#define __pyx_n_u_cyhandleType __pyx_string_tab[3218]
#define __pyx_n_u_cyhandle_out __pyx_string_tab[3219]
#define __pyx_n_u_cyhandle_out_ptr __pyx_string_tab[3220]
#define __pyx_n_u_cyhandle_ptr __pyx_string_tab[3221]
#define __pyx_n_u_cyheight __pyx_string_tab[3222]
#define __pyx_n_u_cyhfunc __pyx_string_tab[3223]
#define __pyx_n_u_cyhmod __pyx_string_tab[3224]
#define __pyx_n_u_cyimage __pyx_string_tab[3225]
#define __pyx_n_u_cyimage_ptr __pyx_string_tab[3226]
#define __pyx_n_u_cyinput__ptr __pyx_string_tab[3227]
#define __pyx_n_u_cyinstantiateParams_ptr __pyx_string_tab[3228]
#define __pyx_n_u_cyinterleave __pyx_string_tab[3229]
#define __pyx_n_u_cyiterator __pyx_string_tab[3230]
#define __pyx_n_u_cyjitOptions __pyx_string_tab[3231]
#define __pyx_n_u_cyjitOptionsValues_ptr __pyx_string_tab[3232]
#define __pyx_n_u_cykernel __pyx_string_tab[3233]
#define __pyx_n_u_cykernelParams __pyx_string_tab[3234]
#define __pyx_n_u_cykernelParams_ptr __pyx_string_tab[3235]
#define __pyx_n_u_cykernels __pyx_string_tab[3236]
#define __pyx_n_u_cyl2Promotion __pyx_string_tab[3237]
#define __pyx_n_u_cylaunchParamsList __pyx_string_tab[3238]
#define __pyx_n_u_cylib __pyx_string_tab[3239]
#define __pyx_n_u_cylibrary __pyx_string_tab[3240]
#define __pyx_n_u_cylibraryOptionValues_ptr __pyx_string_tab[3241]
#define __pyx_n_u_cylibraryOptions __pyx_string_tab[3242]
#define __pyx_n_u_cylimit __pyx_string_tab[3243]
#define __pyx_n_u_cylocation_ptr __pyx_string_tab[3244]
#define __pyx_n_u_cymap __pyx_string_tab[3245]
#define __pyx_n_u_cymapInfoList __pyx_string_tab[3246]
#define __pyx_n_u_cymcHandle __pyx_string_tab[3247]
#define __pyx_n_u_cymemHandle __pyx_string_tab[3248]
#define __pyx_n_u_cymemHandleDesc_ptr __pyx_string_tab[3249]
#define __pyx_n_u_cymemPool __pyx_string_tab[3250]
#define __pyx_n_u_cymemptr __pyx_string_tab[3251]
#define __pyx_n_u_cymemsetParams_ptr __pyx_string_tab[3252]
#define __pyx_n_u_cymipmap __pyx_string_tab[3253]
#define __pyx_n_u_cymipmapDesc_ptr __pyx_string_tab[3254]
#define __pyx_n_u_cymod __pyx_string_tab[3255]
#define __pyx_n_u_cymode __pyx_string_tab[3256]
#define __pyx_n_u_cynbGroups __pyx_string_tab[3257]
#define __pyx_n_u_cynodeParams_ptr __pyx_string_tab[3258]
#define __pyx_n_u_cynodes __pyx_string_tab[3259]
#define __pyx_n_u_cynvSciSyncAttrList __pyx_string_tab[3260]
#define __pyx_n_u_cynvSciSyncAttrList_ptr __pyx_string_tab[3261]
#define __pyx_n_u_cyobject __pyx_string_tab[3262]
#define __pyx_n_u_cyoobFill __pyx_string_tab[3263]
#define __pyx_n_u_cyopList __pyx_string_tab[3264]
#define __pyx_n_u_cyoption __pyx_string_tab[3265]
#define __pyx_n_u_cyoptionValues_ptr __pyx_string_tab[3266]
#define __pyx_n_u_cyoptions __pyx_string_tab[3267]
#define __pyx_n_u_cyoriginalGraph __pyx_string_tab[3268]
#define __pyx_n_u_cyosHandle __pyx_string_tab[3269]
#define __pyx_n_u_cyosHandle_ptr __pyx_string_tab[3270]
#define __pyx_n_u_cyp __pyx_string_tab[3271]
#define __pyx_n_u_cypAllocateArray_ptr __pyx_string_tab[3272]
#define __pyx_n_u_cypCopy_ptr __pyx_string_tab[3273]
#define __pyx_n_u_cypCudaDevices __pyx_string_tab[3274]
#define __pyx_n_u_cypCudaResource __pyx_string_tab[3275]
#define __pyx_n_u_cypExportTableId_ptr __pyx_string_tab[3276]
#define __pyx_n_u_cypMipmappedArrayDesc_ptr __pyx_string_tab[3277]
#define __pyx_n_u_cypResDesc_ptr __pyx_string_tab[3278]
#define __pyx_n_u_cypResViewDesc_ptr __pyx_string_tab[3279]
#define __pyx_n_u_cypStream __pyx_string_tab[3280]
#define __pyx_n_u_cypTexDesc_ptr __pyx_string_tab[3281]
#define __pyx_n_u_cyp_ptr __pyx_string_tab[3282]
#define __pyx_n_u_cyparamArray __pyx_string_tab[3283]
#define __pyx_n_u_cyparamsArray __pyx_string_tab[3284]
#define __pyx_n_u_cyparamsArray_ptr __pyx_string_tab[3285]
#define __pyx_n_u_cypeerContext __pyx_string_tab[3286]
#define __pyx_n_u_cypeerDev __pyx_string_tab[3287]
#define __pyx_n_u_cypformat __pyx_string_tab[3288]
#define __pyx_n_u_cypixelBoxLowerCorner __pyx_string_tab[3289]
#define __pyx_n_u_cypixelBoxUpperCorner __pyx_string_tab[3290]
#define __pyx_n_u_cypixelsPerColumn __pyx_string_tab[3291]
#define __pyx_n_u_cypool __pyx_string_tab[3292]
#define __pyx_n_u_cypoolProps_ptr __pyx_string_tab[3293]
#define __pyx_n_u_cyprop_ptr __pyx_string_tab[3294]
#define __pyx_n_u_cyptr __pyx_string_tab[3295]
#define __pyx_n_u_cyptr_ptr __pyx_string_tab[3296]
#define __pyx_n_u_cyresource __pyx_string_tab[3297]
#define __pyx_n_u_cyresources __pyx_string_tab[3298]
#define __pyx_n_u_cyresult __pyx_string_tab[3299]
#define __pyx_n_u_cyrootNodes __pyx_string_tab[3300]
#define __pyx_n_u_cyscope __pyx_string_tab[3301]
#define __pyx_n_u_cysemHandleDesc_ptr __pyx_string_tab[3302]
#define __pyx_n_u_cyshHandleType __pyx_string_tab[3303]
#define __pyx_n_u_cyshareData_ptr __pyx_string_tab[3304]
#define __pyx_n_u_cyshareableHandle __pyx_string_tab[3305]
#define __pyx_n_u_cyshareableHandle_ptr __pyx_string_tab[3306]
#define __pyx_n_u_cysizes __pyx_string_tab[3307]
#define __pyx_n_u_cysrc __pyx_string_tab[3308]
#define __pyx_n_u_cysrcArray __pyx_string_tab[3309]
#define __pyx_n_u_cysrcContext __pyx_string_tab[3310]
#define __pyx_n_u_cysrcDevice __pyx_string_tab[3311]
#define __pyx_n_u_cysrcHost __pyx_string_tab[3312]
#define __pyx_n_u_cysrcHost_ptr __pyx_string_tab[3313]
#define __pyx_n_u_cysrcs __pyx_string_tab[3314]
#define __pyx_n_u_cystate __pyx_string_tab[3315]
#define __pyx_n_u_cystream __pyx_string_tab[3316]
#define __pyx_n_u_cysurfObject __pyx_string_tab[3317]
#define __pyx_n_u_cyswizzle __pyx_string_tab[3318]
#define __pyx_n_u_cytarget __pyx_string_tab[3319]
#define __pyx_n_u_cytensorDataType __pyx_string_tab[3320]
#define __pyx_n_u_cytensorMap_ptr __pyx_string_tab[3321]
#define __pyx_n_u_cytensorRank __pyx_string_tab[3322]
#define __pyx_n_u_cytexObject __pyx_string_tab[3323]
#define __pyx_n_u_cyto __pyx_string_tab[3324]
#define __pyx_n_u_cytypename __pyx_string_tab[3325]
#define __pyx_n_u_cyuserData __pyx_string_tab[3326]
#define __pyx_n_u_cyuserData_ptr __pyx_string_tab[3327]
#define __pyx_n_u_cyvalue __pyx_string_tab[3328]
#define __pyx_n_u_cyvalue_ptr __pyx_string_tab[3329]
#define __pyx_n_u_cyvdpDevice __pyx_string_tab[3330]
#define __pyx_n_u_cyvdpGetProcAddress __pyx_string_tab[3331]
#define __pyx_n_u_cyvdpSurface __pyx_string_tab[3332]
#define __pyx_n_u_cyvoidStarHelper_ptr __pyx_string_tab[3333]
#define __pyx_n_u_cywidth __pyx_string_tab[3334]
#define __pyx_kp_u_data __pyx_string_tab[3335]
#define __pyx_n_u_dataSize __pyx_string_tab[3336]
#define __pyx_n_u_dataSizes __pyx_string_tab[3337]
#define __pyx_kp_u_dataTable __pyx_string_tab[3338]
#define __pyx_n_u_dataTable_2 __pyx_string_tab[3339]
#define __pyx_kp_u_dataTable_ValueError __pyx_string_tab[3340]
#define __pyx_kp_u_dataWindowSize __pyx_string_tab[3341]
#define __pyx_n_u_dataWindowSize_2 __pyx_string_tab[3342]
#define __pyx_kp_u_dataWindowSize_ValueError __pyx_string_tab[3343]
#define __pyx_n_u_data_2 __pyx_string_tab[3344]
#define __pyx_kp_u_data_ValueError __pyx_string_tab[3345]
#define __pyx_kp_u_data_length_must_be_64_is __pyx_string_tab[3346]
#define __pyx_n_u_data_size __pyx_string_tab[3347]
#define __pyx_kp_u_default __pyx_string_tab[3348]
#define __pyx_n_u_defaultLaunchValue __pyx_string_tab[3349]
#define __pyx_n_u_default_2 __pyx_string_tab[3350]
#define __pyx_kp_u_default__ValueError __pyx_string_tab[3351]
#define __pyx_n_u_dependencies __pyx_string_tab[3352]
#define __pyx_n_u_dependencyData __pyx_string_tab[3353]
#define __pyx_kp_u_depth __pyx_string_tab[3354]
#define __pyx_n_u_depth_2 __pyx_string_tab[3355]
#define __pyx_kp_u_depth_ValueError __pyx_string_tab[3356]
#define __pyx_n_u_desc __pyx_string_tab[3357]
#define __pyx_n_u_destroy __pyx_string_tab[3358]
#define __pyx_n_u_dev __pyx_string_tab[3359]
#define __pyx_kp_u_devNode __pyx_string_tab[3360]
#define __pyx_n_u_devNode_2 __pyx_string_tab[3361]
#define __pyx_kp_u_devNode_ValueError __pyx_string_tab[3362]
#define __pyx_kp_u_devPtr __pyx_string_tab[3363]
#define __pyx_n_u_devPtr_2 __pyx_string_tab[3364]
#define __pyx_kp_u_devPtr_ValueError __pyx_string_tab[3365]
#define __pyx_n_u_device __pyx_string_tab[3366]
#define __pyx_kp_u_deviceBitMask __pyx_string_tab[3367]
#define __pyx_n_u_deviceBitMask_2 __pyx_string_tab[3368]
#define __pyx_kp_u_deviceBitMask_ValueError __pyx_string_tab[3369]
#define __pyx_n_u_deviceList __pyx_string_tab[3370]
#define __pyx_n_u_deviceNodeMask __pyx_string_tab[3371]
#define __pyx_kp_u_deviceUpdatable __pyx_string_tab[3372]
#define __pyx_kp_u_deviceUpdatableKernelNode __pyx_string_tab[3373]
#define __pyx_n_u_deviceUpdatableKernelNode_2 __pyx_string_tab[3374]
#define __pyx_kp_u_deviceUpdatableKernelNode_ValueE __pyx_string_tab[3375]
#define __pyx_n_u_deviceUpdatable_2 __pyx_string_tab[3376]
#define __pyx_kp_u_deviceUpdatable_ValueError __pyx_string_tab[3377]
#define __pyx_n_u_dict_CUCoredumpGenerationFlags __pyx_string_tab[3378]
#define __pyx_n_u_dict_CUDA_POINTER_ATTRIBUTE_ACC __pyx_string_tab[3379]
#define __pyx_n_u_dict_CUGLDeviceList __pyx_string_tab[3380]
#define __pyx_n_u_dict_CUGLmap_flags __pyx_string_tab[3381]
#define __pyx_n_u_dict_CUGPUDirectRDMAWritesOrder __pyx_string_tab[3382]
#define __pyx_n_u_dict_CUaccessProperty __pyx_string_tab[3383]
#define __pyx_n_u_dict_CUaddress_mode __pyx_string_tab[3384]
#define __pyx_n_u_dict_CUarraySparseSubresourceTy __pyx_string_tab[3385]
#define __pyx_n_u_dict_CUarray_cubemap_face __pyx_string_tab[3386]
#define __pyx_n_u_dict_CUarray_format __pyx_string_tab[3387]
#define __pyx_n_u_dict_CUasyncNotificationType __pyx_string_tab[3388]
#define __pyx_n_u_dict_CUcigDataType __pyx_string_tab[3389]
#define __pyx_n_u_dict_CUclusterSchedulingPolicy __pyx_string_tab[3390]
#define __pyx_n_u_dict_CUcomputemode __pyx_string_tab[3391]
#define __pyx_n_u_dict_CUcoredumpSettings __pyx_string_tab[3392]
#define __pyx_n_u_dict_CUctx_flags __pyx_string_tab[3393]
#define __pyx_n_u_dict_CUdevResourceType __pyx_string_tab[3394]
#define __pyx_n_u_dict_CUdevSmResourceSplit_flags __pyx_string_tab[3395]
#define __pyx_n_u_dict_CUdeviceNumaConfig __pyx_string_tab[3396]
#define __pyx_n_u_dict_CUdevice_P2PAttribute __pyx_string_tab[3397]
#define __pyx_n_u_dict_CUdevice_attribute __pyx_string_tab[3398]
#define __pyx_n_u_dict_CUdriverProcAddressQueryRe __pyx_string_tab[3399]
#define __pyx_n_u_dict_CUdriverProcAddress_flags __pyx_string_tab[3400]
#define __pyx_n_u_dict_CUeglColorFormat __pyx_string_tab[3401]
#define __pyx_n_u_dict_CUeglFrameType __pyx_string_tab[3402]
#define __pyx_n_u_dict_CUeglResourceLocationFlags __pyx_string_tab[3403]
#define __pyx_n_u_dict_CUevent_flags __pyx_string_tab[3404]
#define __pyx_n_u_dict_CUevent_record_flags __pyx_string_tab[3405]
#define __pyx_n_u_dict_CUevent_sched_flags __pyx_string_tab[3406]
#define __pyx_n_u_dict_CUevent_wait_flags __pyx_string_tab[3407]
#define __pyx_n_u_dict_CUexecAffinityType __pyx_string_tab[3408]
#define __pyx_n_u_dict_CUexternalMemoryHandleType __pyx_string_tab[3409]
#define __pyx_n_u_dict_CUexternalSemaphoreHandleT __pyx_string_tab[3410]
#define __pyx_n_u_dict_CUfilter_mode __pyx_string_tab[3411]
#define __pyx_n_u_dict_CUflushGPUDirectRDMAWrites __pyx_string_tab[3412]
#define __pyx_n_u_dict_CUflushGPUDirectRDMAWrites_2 __pyx_string_tab[3413]
#define __pyx_n_u_dict_CUflushGPUDirectRDMAWrites_3 __pyx_string_tab[3414]
#define __pyx_n_u_dict_CUfunc_cache __pyx_string_tab[3415]
#define __pyx_n_u_dict_CUfunctionLoadingState __pyx_string_tab[3416]
#define __pyx_n_u_dict_CUfunction_attribute __pyx_string_tab[3417]
#define __pyx_n_u_dict_CUgraphChildGraphNodeOwner __pyx_string_tab[3418]
#define __pyx_n_u_dict_CUgraphConditionalNodeType __pyx_string_tab[3419]
#define __pyx_n_u_dict_CUgraphDebugDot_flags __pyx_string_tab[3420]
#define __pyx_n_u_dict_CUgraphDependencyType __pyx_string_tab[3421]
#define __pyx_n_u_dict_CUgraphExecUpdateResult __pyx_string_tab[3422]
#define __pyx_n_u_dict_CUgraphInstantiateResult __pyx_string_tab[3423]
#define __pyx_n_u_dict_CUgraphInstantiate_flags __pyx_string_tab[3424]
#define __pyx_n_u_dict_CUgraphMem_attribute __pyx_string_tab[3425]
#define __pyx_n_u_dict_CUgraphNodeType __pyx_string_tab[3426]
#define __pyx_n_u_dict_CUgraphicsMapResourceFlags __pyx_string_tab[3427]
#define __pyx_n_u_dict_CUgraphicsRegisterFlags __pyx_string_tab[3428]
#define __pyx_n_u_dict_CUgreenCtxCreate_flags __pyx_string_tab[3429]
#define __pyx_n_u_dict_CUipcMem_flags __pyx_string_tab[3430]
#define __pyx_n_u_dict_CUjitInputType __pyx_string_tab[3431]
#define __pyx_n_u_dict_CUjit_cacheMode __pyx_string_tab[3432]
#define __pyx_n_u_dict_CUjit_fallback __pyx_string_tab[3433]
#define __pyx_n_u_dict_CUjit_option __pyx_string_tab[3434]
#define __pyx_n_u_dict_CUjit_target __pyx_string_tab[3435]
#define __pyx_n_u_dict_CUlaunchAttributeID __pyx_string_tab[3436]
#define __pyx_n_u_dict_CUlaunchMemSyncDomain __pyx_string_tab[3437]
#define __pyx_n_u_dict_CUlibraryOption __pyx_string_tab[3438]
#define __pyx_n_u_dict_CUlimit __pyx_string_tab[3439]
#define __pyx_n_u_dict_CUlogLevel __pyx_string_tab[3440]
#define __pyx_n_u_dict_CUmemAccess_flags __pyx_string_tab[3441]
#define __pyx_n_u_dict_CUmemAllocationCompType __pyx_string_tab[3442]
#define __pyx_n_u_dict_CUmemAllocationGranularity __pyx_string_tab[3443]
#define __pyx_n_u_dict_CUmemAllocationHandleType __pyx_string_tab[3444]
#define __pyx_n_u_dict_CUmemAllocationType __pyx_string_tab[3445]
#define __pyx_n_u_dict_CUmemAttach_flags __pyx_string_tab[3446]
#define __pyx_n_u_dict_CUmemDecompressAlgorithm __pyx_string_tab[3447]
#define __pyx_n_u_dict_CUmemHandleType __pyx_string_tab[3448]
#define __pyx_n_u_dict_CUmemLocationType __pyx_string_tab[3449]
#define __pyx_n_u_dict_CUmemOperationType __pyx_string_tab[3450]
#define __pyx_n_u_dict_CUmemPool_attribute __pyx_string_tab[3451]
#define __pyx_n_u_dict_CUmemRangeFlags __pyx_string_tab[3452]
#define __pyx_n_u_dict_CUmemRangeHandleType __pyx_string_tab[3453]
#define __pyx_n_u_dict_CUmem_advise __pyx_string_tab[3454]
#define __pyx_n_u_dict_CUmem_range_attribute __pyx_string_tab[3455]
#define __pyx_n_u_dict_CUmemcpy3DOperandType __pyx_string_tab[3456]
#define __pyx_n_u_dict_CUmemcpyFlags __pyx_string_tab[3457]
#define __pyx_n_u_dict_CUmemcpySrcAccessOrder __pyx_string_tab[3458]
#define __pyx_n_u_dict_CUmemorytype __pyx_string_tab[3459]
#define __pyx_n_u_dict_CUmoduleLoadingMode __pyx_string_tab[3460]
#define __pyx_n_u_dict_CUmulticastGranularity_fla __pyx_string_tab[3461]
#define __pyx_n_u_dict_CUoccupancy_flags __pyx_string_tab[3462]
#define __pyx_n_u_dict_CUoutput_mode __pyx_string_tab[3463]
#define __pyx_n_u_dict_CUpointer_attribute __pyx_string_tab[3464]
#define __pyx_n_u_dict_CUprocessState __pyx_string_tab[3465]
#define __pyx_n_u_dict_CUresourceViewFormat __pyx_string_tab[3466]
#define __pyx_n_u_dict_CUresourcetype __pyx_string_tab[3467]
#define __pyx_n_u_dict_CUresult __pyx_string_tab[3468]
#define __pyx_n_u_dict_CUshared_carveout __pyx_string_tab[3469]
#define __pyx_n_u_dict_CUsharedconfig __pyx_string_tab[3470]
#define __pyx_n_u_dict_CUstreamBatchMemOpType __pyx_string_tab[3471]
#define __pyx_n_u_dict_CUstreamCaptureMode __pyx_string_tab[3472]
#define __pyx_n_u_dict_CUstreamCaptureStatus __pyx_string_tab[3473]
#define __pyx_n_u_dict_CUstreamMemoryBarrier_flag __pyx_string_tab[3474]
#define __pyx_n_u_dict_CUstreamUpdateCaptureDepen __pyx_string_tab[3475]
#define __pyx_n_u_dict_CUstreamWaitValue_flags __pyx_string_tab[3476]
#define __pyx_n_u_dict_CUstreamWriteValue_flags __pyx_string_tab[3477]
#define __pyx_n_u_dict_CUstream_flags __pyx_string_tab[3478]
#define __pyx_n_u_dict_CUsynchronizationPolicy __pyx_string_tab[3479]
#define __pyx_n_u_dict_CUtensorMapDataType __pyx_string_tab[3480]
#define __pyx_n_u_dict_CUtensorMapFloatOOBfill __pyx_string_tab[3481]
#define __pyx_n_u_dict_CUtensorMapIm2ColWideMode __pyx_string_tab[3482]
#define __pyx_n_u_dict_CUtensorMapInterleave __pyx_string_tab[3483]
#define __pyx_n_u_dict_CUtensorMapL2promotion __pyx_string_tab[3484]
#define __pyx_n_u_dict_CUtensorMapSwizzle __pyx_string_tab[3485]
#define __pyx_n_u_dict_CUuserObjectRetain_flags __pyx_string_tab[3486]
#define __pyx_n_u_dict_CUuserObject_flags __pyx_string_tab[3487]
#define __pyx_n_u_dict_cl_context_flags __pyx_string_tab[3488]
#define __pyx_n_u_dict_cl_event_flags __pyx_string_tab[3489]
#define __pyx_n_u_dim __pyx_string_tab[3490]
#define __pyx_kp_u_disable __pyx_string_tab[3491]
#define __pyx_n_u_doc __pyx_string_tab[3492]
#define __pyx_kp_u_dptr __pyx_string_tab[3493]
#define __pyx_n_u_dptr_2 __pyx_string_tab[3494]
#define __pyx_kp_u_dptr_ValueError __pyx_string_tab[3495]
#define __pyx_n_u_dptr_out __pyx_string_tab[3496]
#define __pyx_n_u_driver __pyx_string_tab[3497]
#define __pyx_n_u_driverVersion __pyx_string_tab[3498]
#define __pyx_n_u_driver_2 __pyx_string_tab[3499]
#define __pyx_kp_u_dst __pyx_string_tab[3500]
#define __pyx_kp_u_dstActBytes __pyx_string_tab[3501]
#define __pyx_n_u_dstActBytes_2 __pyx_string_tab[3502]
#define __pyx_kp_u_dstActBytes_ValueError __pyx_string_tab[3503]
#define __pyx_kp_u_dstArray __pyx_string_tab[3504]
#define __pyx_n_u_dstArray_2 __pyx_string_tab[3505]
#define __pyx_kp_u_dstArray_ValueError __pyx_string_tab[3506]
#define __pyx_kp_u_dstContext __pyx_string_tab[3507]
#define __pyx_n_u_dstContext_2 __pyx_string_tab[3508]
#define __pyx_kp_u_dstContext_ValueError __pyx_string_tab[3509]
#define __pyx_kp_u_dstDevice __pyx_string_tab[3510]
#define __pyx_n_u_dstDevice_2 __pyx_string_tab[3511]
#define __pyx_kp_u_dstDevice_ValueError __pyx_string_tab[3512]
#define __pyx_kp_u_dstHeight __pyx_string_tab[3513]
#define __pyx_n_u_dstHeight_2 __pyx_string_tab[3514]
#define __pyx_kp_u_dstHeight_ValueError __pyx_string_tab[3515]
#define __pyx_kp_u_dstHost __pyx_string_tab[3516]
#define __pyx_n_u_dstHost_2 __pyx_string_tab[3517]
#define __pyx_kp_u_dstHost_ValueError __pyx_string_tab[3518]
#define __pyx_kp_u_dstLOD __pyx_string_tab[3519]
#define __pyx_n_u_dstLOD_2 __pyx_string_tab[3520]
#define __pyx_kp_u_dstLOD_ValueError __pyx_string_tab[3521]
#define __pyx_kp_u_dstLocHint __pyx_string_tab[3522]
#define __pyx_n_u_dstLocHint_2 __pyx_string_tab[3523]
#define __pyx_kp_u_dstLocHint_ValueError __pyx_string_tab[3524]
#define __pyx_kp_u_dstMemoryType __pyx_string_tab[3525]
#define __pyx_n_u_dstMemoryType_2 __pyx_string_tab[3526]
#define __pyx_kp_u_dstMemoryType_ValueError __pyx_string_tab[3527]
#define __pyx_kp_u_dstNumBytes __pyx_string_tab[3528]
#define __pyx_n_u_dstNumBytes_2 __pyx_string_tab[3529]
#define __pyx_kp_u_dstNumBytes_ValueError __pyx_string_tab[3530]
#define __pyx_n_u_dstOffset __pyx_string_tab[3531]
#define __pyx_kp_u_dstPitch __pyx_string_tab[3532]
#define __pyx_n_u_dstPitch_2 __pyx_string_tab[3533]
#define __pyx_kp_u_dstPitch_ValueError __pyx_string_tab[3534]
#define __pyx_kp_u_dstXInBytes __pyx_string_tab[3535]
#define __pyx_n_u_dstXInBytes_2 __pyx_string_tab[3536]
#define __pyx_kp_u_dstXInBytes_ValueError __pyx_string_tab[3537]
#define __pyx_kp_u_dstY __pyx_string_tab[3538]
#define __pyx_n_u_dstY_2 __pyx_string_tab[3539]
#define __pyx_kp_u_dstY_ValueError __pyx_string_tab[3540]
#define __pyx_kp_u_dstZ __pyx_string_tab[3541]
#define __pyx_n_u_dstZ_2 __pyx_string_tab[3542]
#define __pyx_kp_u_dstZ_ValueError __pyx_string_tab[3543]
#define __pyx_n_u_dst_2 __pyx_string_tab[3544]
#define __pyx_kp_u_dst_3 __pyx_string_tab[3545]
#define __pyx_kp_u_dst_ValueError __pyx_string_tab[3546]
#define __pyx_n_u_dsts __pyx_string_tab[3547]
#define __pyx_n_u_dynamicSMemSize __pyx_string_tab[3548]
#define __pyx_n_u_dynamicSmemSize __pyx_string_tab[3549]
#define __pyx_n_u_edgeData __pyx_string_tab[3550]
#define __pyx_kp_u_eglColorFormat __pyx_string_tab[3551]
#define __pyx_n_u_eglColorFormat_2 __pyx_string_tab[3552]
#define __pyx_kp_u_eglColorFormat_ValueError __pyx_string_tab[3553]
#define __pyx_n_u_eglFrame __pyx_string_tab[3554]
#define __pyx_n_u_eglSync __pyx_string_tab[3555]
#define __pyx_n_u_eglframe __pyx_string_tab[3556]
#define __pyx_kp_u_elementSize __pyx_string_tab[3557]
#define __pyx_n_u_elementSize_2 __pyx_string_tab[3558]
#define __pyx_kp_u_elementSize_ValueError __pyx_string_tab[3559]
#define __pyx_n_u_elementStrides __pyx_string_tab[3560]
#define __pyx_kp_u_enable __pyx_string_tab[3561]
#define __pyx_n_u_enum __pyx_string_tab[3562]
#define __pyx_n_u_enumerate __pyx_string_tab[3563]
#define __pyx_n_u_err __pyx_string_tab[3564]
#define __pyx_n_u_error __pyx_string_tab[3565]
#define __pyx_kp_u_errorFromNode __pyx_string_tab[3566]
#define __pyx_n_u_errorFromNode_2 __pyx_string_tab[3567]
#define __pyx_kp_u_errorFromNode_ValueError __pyx_string_tab[3568]
#define __pyx_n_u_errorIndex __pyx_string_tab[3569]
#define __pyx_kp_u_errorNode __pyx_string_tab[3570]
#define __pyx_n_u_errorNode_2 __pyx_string_tab[3571]
#define __pyx_kp_u_errorNode_ValueError __pyx_string_tab[3572]
#define __pyx_kp_u_event __pyx_string_tab[3573]
#define __pyx_kp_u_eventRecord __pyx_string_tab[3574]
#define __pyx_n_u_eventRecord_2 __pyx_string_tab[3575]
#define __pyx_kp_u_eventRecord_ValueError __pyx_string_tab[3576]
#define __pyx_kp_u_eventWait __pyx_string_tab[3577]
#define __pyx_n_u_eventWait_2 __pyx_string_tab[3578]
#define __pyx_kp_u_eventWait_ValueError __pyx_string_tab[3579]
#define __pyx_n_u_event_2 __pyx_string_tab[3580]
#define __pyx_kp_u_event_ValueError __pyx_string_tab[3581]
#define __pyx_n_u_event_out __pyx_string_tab[3582]
#define __pyx_kp_u_execAffinityParams __pyx_string_tab[3583]
#define __pyx_n_u_execAffinityParams_2 __pyx_string_tab[3584]
#define __pyx_kp_u_execAffinityParams_ValueError __pyx_string_tab[3585]
#define __pyx_n_u_extMem __pyx_string_tab[3586]
#define __pyx_n_u_extMem_out __pyx_string_tab[3587]
#define __pyx_n_u_extSem __pyx_string_tab[3588]
#define __pyx_kp_u_extSemArray __pyx_string_tab[3589]
#define __pyx_n_u_extSemArray_2 __pyx_string_tab[3590]
#define __pyx_kp_u_extSemArray_ValueError __pyx_string_tab[3591]
#define __pyx_kp_u_extSemSignal __pyx_string_tab[3592]
#define __pyx_n_u_extSemSignal_2 __pyx_string_tab[3593]
#define __pyx_kp_u_extSemSignal_ValueError __pyx_string_tab[3594]
#define __pyx_kp_u_extSemWait __pyx_string_tab[3595]
#define __pyx_n_u_extSemWait_2 __pyx_string_tab[3596]
#define __pyx_kp_u_extSemWait_ValueError __pyx_string_tab[3597]
#define __pyx_n_u_extSem_out __pyx_string_tab[3598]
#define __pyx_kp_u_extent __pyx_string_tab[3599]
#define __pyx_kp_u_extentDepth __pyx_string_tab[3600]
#define __pyx_n_u_extentDepth_2 __pyx_string_tab[3601]
#define __pyx_kp_u_extentDepth_ValueError __pyx_string_tab[3602]
#define __pyx_kp_u_extentHeight __pyx_string_tab[3603]
#define __pyx_n_u_extentHeight_2 __pyx_string_tab[3604]
#define __pyx_kp_u_extentHeight_ValueError __pyx_string_tab[3605]
#define __pyx_kp_u_extentWidth __pyx_string_tab[3606]
#define __pyx_n_u_extentWidth_2 __pyx_string_tab[3607]
#define __pyx_kp_u_extentWidth_ValueError __pyx_string_tab[3608]
#define __pyx_n_u_extent_2 __pyx_string_tab[3609]
#define __pyx_kp_u_extent_ValueError __pyx_string_tab[3610]
#define __pyx_kp_u_extra __pyx_string_tab[3611]
#define __pyx_n_u_extra_2 __pyx_string_tab[3612]
#define __pyx_kp_u_extra_ValueError __pyx_string_tab[3613]
#define __pyx_n_u_f __pyx_string_tab[3614]
#define __pyx_n_u_failIdx __pyx_string_tab[3615]
#define __pyx_n_u_fatCubin __pyx_string_tab[3616]
#define __pyx_kp_u_fd __pyx_string_tab[3617]
#define __pyx_n_u_fd_2 __pyx_string_tab[3618]
#define __pyx_kp_u_fd_ValueError __pyx_string_tab[3619]
#define __pyx_kp_u_fence __pyx_string_tab[3620]
#define __pyx_n_u_fence_2 __pyx_string_tab[3621]
#define __pyx_kp_u_fence_3 __pyx_string_tab[3622]
#define __pyx_kp_u_fence_ValueError __pyx_string_tab[3623]
#define __pyx_n_u_fileName __pyx_string_tab[3624]
#define __pyx_kp_u_filterMode __pyx_string_tab[3625]
#define __pyx_n_u_filterMode_2 __pyx_string_tab[3626]
#define __pyx_kp_u_filterMode_ValueError __pyx_string_tab[3627]
#define __pyx_kp_u_firstLayer __pyx_string_tab[3628]
#define __pyx_n_u_firstLayer_2 __pyx_string_tab[3629]
#define __pyx_kp_u_firstLayer_ValueError __pyx_string_tab[3630]
#define __pyx_kp_u_firstMipmapLevel __pyx_string_tab[3631]
#define __pyx_n_u_firstMipmapLevel_2 __pyx_string_tab[3632]
#define __pyx_kp_u_firstMipmapLevel_ValueError __pyx_string_tab[3633]
#define __pyx_kp_u_flags __pyx_string_tab[3634]
#define __pyx_n_u_flags_2 __pyx_string_tab[3635]
#define __pyx_kp_u_flags_ValueError __pyx_string_tab[3636]
#define __pyx_kp_u_flushRemoteWrites __pyx_string_tab[3637]
#define __pyx_n_u_flushRemoteWrites_2 __pyx_string_tab[3638]
#define __pyx_kp_u_flushRemoteWrites_ValueError __pyx_string_tab[3639]
#define __pyx_n_u_fm __pyx_string_tab[3640]
#define __pyx_n_u_fmt __pyx_string_tab[3641]
#define __pyx_kp_u_fn __pyx_string_tab[3642]
#define __pyx_n_u_fn_2 __pyx_string_tab[3643]
#define __pyx_kp_u_fn_ValueError __pyx_string_tab[3644]
#define __pyx_n_u_fname __pyx_string_tab[3645]
#define __pyx_n_u_format __pyx_string_tab[3646]
#define __pyx_kp_u_format_2 __pyx_string_tab[3647]
#define __pyx_kp_u_format_ValueError __pyx_string_tab[3648]
#define __pyx_n_u_fptr __pyx_string_tab[3649]
#define __pyx_kp_u_frame __pyx_string_tab[3650]
#define __pyx_kp_u_frameType __pyx_string_tab[3651]
#define __pyx_n_u_frameType_2 __pyx_string_tab[3652]
#define __pyx_kp_u_frameType_ValueError __pyx_string_tab[3653]
#define __pyx_n_u_frame_2 __pyx_string_tab[3654]
#define __pyx_kp_u_frame_ValueError __pyx_string_tab[3655]
#define __pyx_kp_u_free __pyx_string_tab[3656]
#define __pyx_n_u_free_2 __pyx_string_tab[3657]
#define __pyx_kp_u_free_ValueError __pyx_string_tab[3658]
#define __pyx_n_u_from __pyx_string_tab[3659]
#define __pyx_kp_u_from_port __pyx_string_tab[3660]
#define __pyx_n_u_from_port_2 __pyx_string_tab[3661]
#define __pyx_kp_u_from_port_ValueError __pyx_string_tab[3662]
#define __pyx_kp_u_func __pyx_string_tab[3663]
#define __pyx_n_u_func_2 __pyx_string_tab[3664]
#define __pyx_n_u_func_3 __pyx_string_tab[3665]
#define __pyx_kp_u_func_ValueError __pyx_string_tab[3666]
#define __pyx_kp_u_function __pyx_string_tab[3667]
#define __pyx_kp_u_functionTable __pyx_string_tab[3668]
#define __pyx_n_u_functionTable_2 __pyx_string_tab[3669]
#define __pyx_kp_u_functionTable_ValueError __pyx_string_tab[3670]
#define __pyx_kp_u_functionWindowSize __pyx_string_tab[3671]
#define __pyx_n_u_functionWindowSize_2 __pyx_string_tab[3672]
#define __pyx_kp_u_functionWindowSize_ValueError __pyx_string_tab[3673]
#define __pyx_n_u_function_2 __pyx_string_tab[3674]
#define __pyx_kp_u_function_ValueError __pyx_string_tab[3675]
#define __pyx_kp_u_gc __pyx_string_tab[3676]
#define __pyx_n_u_genexpr __pyx_string_tab[3677]
#define __pyx_n_u_getPtr __pyx_string_tab[3678]
#define __pyx_n_u_getstate __pyx_string_tab[3679]
#define __pyx_n_u_globalAddress __pyx_string_tab[3680]
#define __pyx_n_u_globalDim __pyx_string_tab[3681]
#define __pyx_n_u_globalStrides __pyx_string_tab[3682]
#define __pyx_kp_u_gpuDirectRDMACapable __pyx_string_tab[3683]
#define __pyx_n_u_gpuDirectRDMACapable_2 __pyx_string_tab[3684]
#define __pyx_kp_u_gpuDirectRDMACapable_ValueError __pyx_string_tab[3685]
#define __pyx_n_u_granularity __pyx_string_tab[3686]
#define __pyx_kp_u_graph __pyx_string_tab[3687]
#define __pyx_n_u_graph_2 __pyx_string_tab[3688]
#define __pyx_kp_u_graph_3 __pyx_string_tab[3689]
#define __pyx_kp_u_graph_ValueError __pyx_string_tab[3690]
#define __pyx_n_u_graph_length __pyx_string_tab[3691]
#define __pyx_n_u_graph_out __pyx_string_tab[3692]
#define __pyx_n_u_greatestPriority __pyx_string_tab[3693]
#define __pyx_n_u_greenCtx __pyx_string_tab[3694]
#define __pyx_kp_u_gridDimX __pyx_string_tab[3695]
#define __pyx_n_u_gridDimX_2 __pyx_string_tab[3696]
#define __pyx_kp_u_gridDimX_ValueError __pyx_string_tab[3697]
#define __pyx_kp_u_gridDimY __pyx_string_tab[3698]
#define __pyx_n_u_gridDimY_2 __pyx_string_tab[3699]
#define __pyx_kp_u_gridDimY_ValueError __pyx_string_tab[3700]
#define __pyx_kp_u_gridDimZ __pyx_string_tab[3701]
#define __pyx_n_u_gridDimZ_2 __pyx_string_tab[3702]
#define __pyx_kp_u_gridDimZ_ValueError __pyx_string_tab[3703]
#define __pyx_n_u_grid_height __pyx_string_tab[3704]
#define __pyx_n_u_grid_width __pyx_string_tab[3705]
#define __pyx_kp_u_hArray __pyx_string_tab[3706]
#define __pyx_n_u_hArray_2 __pyx_string_tab[3707]
#define __pyx_kp_u_hArray_ValueError __pyx_string_tab[3708]
#define __pyx_n_u_hClonedGraph __pyx_string_tab[3709]
#define __pyx_n_u_hCtx __pyx_string_tab[3710]
#define __pyx_n_u_hEnd __pyx_string_tab[3711]
#define __pyx_kp_u_hErrNode_out __pyx_string_tab[3712]
#define __pyx_n_u_hErrNode_out_2 __pyx_string_tab[3713]
#define __pyx_kp_u_hErrNode_out_ValueError __pyx_string_tab[3714]
#define __pyx_n_u_hEvent __pyx_string_tab[3715]
#define __pyx_n_u_hGraph __pyx_string_tab[3716]
#define __pyx_n_u_hGraphExec __pyx_string_tab[3717]
#define __pyx_kp_u_hMipmappedArray __pyx_string_tab[3718]
#define __pyx_n_u_hMipmappedArray_2 __pyx_string_tab[3719]
#define __pyx_kp_u_hMipmappedArray_ValueError __pyx_string_tab[3720]
#define __pyx_n_u_hNode __pyx_string_tab[3721]
#define __pyx_n_u_hOriginalNode __pyx_string_tab[3722]
#define __pyx_n_u_hStart __pyx_string_tab[3723]
#define __pyx_kp_u_hStream __pyx_string_tab[3724]
#define __pyx_n_u_hStream_2 __pyx_string_tab[3725]
#define __pyx_kp_u_hStream_ValueError __pyx_string_tab[3726]
#define __pyx_n_u_hSurfRef __pyx_string_tab[3727]
#define __pyx_n_u_hTexRef __pyx_string_tab[3728]
#define __pyx_kp_u_hUploadStream __pyx_string_tab[3729]
#define __pyx_n_u_hUploadStream_2 __pyx_string_tab[3730]
#define __pyx_kp_u_hUploadStream_ValueError __pyx_string_tab[3731]
#define __pyx_kp_u_handle __pyx_string_tab[3732]
#define __pyx_n_u_handleType __pyx_string_tab[3733]
#define __pyx_kp_u_handleTypes __pyx_string_tab[3734]
#define __pyx_n_u_handleTypes_2 __pyx_string_tab[3735]
#define __pyx_kp_u_handleTypes_ValueError __pyx_string_tab[3736]
#define __pyx_n_u_handle_2 __pyx_string_tab[3737]
#define __pyx_kp_u_handle_3 __pyx_string_tab[3738]
#define __pyx_kp_u_handle_ValueError __pyx_string_tab[3739]
#define __pyx_kp_u_height __pyx_string_tab[3740]
#define __pyx_n_u_height_2 __pyx_string_tab[3741]
#define __pyx_kp_u_height_ValueError __pyx_string_tab[3742]
#define __pyx_n_u_hex __pyx_string_tab[3743]
#define __pyx_n_u_hfunc __pyx_string_tab[3744]
#define __pyx_kp_u_hitProp __pyx_string_tab[3745]
#define __pyx_n_u_hitProp_2 __pyx_string_tab[3746]
#define __pyx_kp_u_hitProp_ValueError __pyx_string_tab[3747]
#define __pyx_kp_u_hitRatio __pyx_string_tab[3748]
#define __pyx_n_u_hitRatio_2 __pyx_string_tab[3749]
#define __pyx_kp_u_hitRatio_ValueError __pyx_string_tab[3750]
#define __pyx_n_u_hmod __pyx_string_tab[3751]
#define __pyx_kp_u_host __pyx_string_tab[3752]
#define __pyx_n_u_host_2 __pyx_string_tab[3753]
#define __pyx_kp_u_host_ValueError __pyx_string_tab[3754]
#define __pyx_kp_u_id __pyx_string_tab[3755]
#define __pyx_n_u_id_2 __pyx_string_tab[3756]
#define __pyx_kp_u_id_ValueError __pyx_string_tab[3757]
#define __pyx_n_u_id_out __pyx_string_tab[3758]
#define __pyx_n_u_idx __pyx_string_tab[3759]
#define __pyx_n_u_image __pyx_string_tab[3760]
#define __pyx_n_u_index __pyx_string_tab[3761]
#define __pyx_kp_u_info __pyx_string_tab[3762]
#define __pyx_n_u_info_2 __pyx_string_tab[3763]
#define __pyx_kp_u_info_ValueError __pyx_string_tab[3764]
#define __pyx_n_u_init_value __pyx_string_tab[3765]
#define __pyx_n_u_initialRefcount __pyx_string_tab[3766]
#define __pyx_n_u_initializing __pyx_string_tab[3767]
#define __pyx_n_u_input __pyx_string_tab[3768]
#define __pyx_n_u_instantiateParams __pyx_string_tab[3769]
#define __pyx_n_u_int __pyx_string_tab[3770]
#define __pyx_n_u_interleave __pyx_string_tab[3771]
#define __pyx_kp_u_internal_padding __pyx_string_tab[3772]
#define __pyx_n_u_internal_padding_2 __pyx_string_tab[3773]
#define __pyx_kp_u_internal_padding_ValueError __pyx_string_tab[3774]
#define __pyx_kp_u_internal_padding_length_must_be __pyx_string_tab[3775]
#define __pyx_n_u_isEnabled __pyx_string_tab[3776]
#define __pyx_n_u_is_coroutine __pyx_string_tab[3777]
#define __pyx_n_u_is_getter __pyx_string_tab[3778]
#define __pyx_kp_u_isenabled __pyx_string_tab[3779]
#define __pyx_n_u_items __pyx_string_tab[3780]
#define __pyx_n_u_iterator __pyx_string_tab[3781]
#define __pyx_n_u_iterator_out __pyx_string_tab[3782]
#define __pyx_n_u_jitOptions __pyx_string_tab[3783]
#define __pyx_n_u_jitOptionsValues __pyx_string_tab[3784]
#define __pyx_n_u_k __pyx_string_tab[3785]
#define __pyx_kp_u_kern __pyx_string_tab[3786]
#define __pyx_n_u_kern_2 __pyx_string_tab[3787]
#define __pyx_kp_u_kern_ValueError __pyx_string_tab[3788]
#define __pyx_kp_u_kernel __pyx_string_tab[3789]
#define __pyx_n_u_kernelParams __pyx_string_tab[3790]
#define __pyx_kp_u_kernelParams_2 __pyx_string_tab[3791]
#define __pyx_kp_u_kernelParams_ValueError __pyx_string_tab[3792]
#define __pyx_n_u_kernel_2 __pyx_string_tab[3793]
#define __pyx_kp_u_kernel_ValueError __pyx_string_tab[3794]
#define __pyx_kp_u_key __pyx_string_tab[3795]
#define __pyx_n_u_key_2 __pyx_string_tab[3796]
#define __pyx_kp_u_key_ValueError __pyx_string_tab[3797]
#define __pyx_kp_u_keyedMutex __pyx_string_tab[3798]
#define __pyx_n_u_keyedMutex_2 __pyx_string_tab[3799]
#define __pyx_kp_u_keyedMutex_ValueError __pyx_string_tab[3800]
#define __pyx_n_u_l2Promotion __pyx_string_tab[3801]
#define __pyx_n_u_lambda __pyx_string_tab[3802]
#define __pyx_kp_u_lastLayer __pyx_string_tab[3803]
#define __pyx_n_u_lastLayer_2 __pyx_string_tab[3804]
#define __pyx_kp_u_lastLayer_ValueError __pyx_string_tab[3805]
#define __pyx_kp_u_lastMipmapLevel __pyx_string_tab[3806]
#define __pyx_n_u_lastMipmapLevel_2 __pyx_string_tab[3807]
#define __pyx_kp_u_lastMipmapLevel_ValueError __pyx_string_tab[3808]
#define __pyx_kp_u_launchCompletionEvent __pyx_string_tab[3809]
#define __pyx_n_u_launchCompletionEvent_2 __pyx_string_tab[3810]
#define __pyx_kp_u_launchCompletionEvent_ValueError __pyx_string_tab[3811]
#define __pyx_n_u_launchParamsList __pyx_string_tab[3812]
#define __pyx_kp_u_layer __pyx_string_tab[3813]
#define __pyx_kp_u_layerHeight __pyx_string_tab[3814]
#define __pyx_n_u_layerHeight_2 __pyx_string_tab[3815]
#define __pyx_kp_u_layerHeight_ValueError __pyx_string_tab[3816]
#define __pyx_n_u_layer_2 __pyx_string_tab[3817]
#define __pyx_kp_u_layer_ValueError __pyx_string_tab[3818]
#define __pyx_n_u_leastPriority __pyx_string_tab[3819]
#define __pyx_n_u_length __pyx_string_tab[3820]
#define __pyx_kp_u_level __pyx_string_tab[3821]
#define __pyx_n_u_level_2 __pyx_string_tab[3822]
#define __pyx_kp_u_level_ValueError __pyx_string_tab[3823]
#define __pyx_n_u_lib __pyx_string_tab[3824]
#define __pyx_n_u_library __pyx_string_tab[3825]
#define __pyx_n_u_libraryOptionValues __pyx_string_tab[3826]
#define __pyx_n_u_libraryOptions __pyx_string_tab[3827]
#define __pyx_n_u_limit __pyx_string_tab[3828]
#define __pyx_kp_u_linear __pyx_string_tab[3829]
#define __pyx_n_u_linear_2 __pyx_string_tab[3830]
#define __pyx_kp_u_linear_ValueError __pyx_string_tab[3831]
#define __pyx_kp_u_locHint __pyx_string_tab[3832]
#define __pyx_n_u_locHint_2 __pyx_string_tab[3833]
#define __pyx_kp_u_locHint_ValueError __pyx_string_tab[3834]
#define __pyx_kp_u_location __pyx_string_tab[3835]
#define __pyx_n_u_location_2 __pyx_string_tab[3836]
#define __pyx_kp_u_location_ValueError __pyx_string_tab[3837]
#define __pyx_n_u_lst __pyx_string_tab[3838]
#define __pyx_n_u_luid __pyx_string_tab[3839]
#define __pyx_n_u_main __pyx_string_tab[3840]
#define __pyx_n_u_major __pyx_string_tab[3841]
#define __pyx_n_u_map __pyx_string_tab[3842]
#define __pyx_n_u_mapInfoList __pyx_string_tab[3843]
#define __pyx_n_u_max __pyx_string_tab[3844]
#define __pyx_n_u_maxAniso __pyx_string_tab[3845]
#define __pyx_kp_u_maxAnisotropy __pyx_string_tab[3846]
#define __pyx_n_u_maxAnisotropy_2 __pyx_string_tab[3847]
#define __pyx_kp_u_maxAnisotropy_ValueError __pyx_string_tab[3848]
#define __pyx_kp_u_maxGridSize __pyx_string_tab[3849]
#define __pyx_n_u_maxGridSize_2 __pyx_string_tab[3850]
#define __pyx_kp_u_maxGridSize_ValueError __pyx_string_tab[3851]
#define __pyx_kp_u_maxMipmapLevelClamp __pyx_string_tab[3852]
#define __pyx_n_u_maxMipmapLevelClamp_2 __pyx_string_tab[3853]
#define __pyx_kp_u_maxMipmapLevelClamp_ValueError __pyx_string_tab[3854]
#define __pyx_kp_u_maxSize __pyx_string_tab[3855]
#define __pyx_n_u_maxSize_2 __pyx_string_tab[3856]
#define __pyx_kp_u_maxSize_ValueError __pyx_string_tab[3857]
#define __pyx_kp_u_maxThreadsDim __pyx_string_tab[3858]
#define __pyx_n_u_maxThreadsDim_2 __pyx_string_tab[3859]
#define __pyx_kp_u_maxThreadsDim_ValueError __pyx_string_tab[3860]
#define __pyx_kp_u_maxThreadsPerBlock __pyx_string_tab[3861]
#define __pyx_n_u_maxThreadsPerBlock_2 __pyx_string_tab[3862]
#define __pyx_kp_u_maxThreadsPerBlock_ValueError __pyx_string_tab[3863]
#define __pyx_n_u_maxWidthInElements __pyx_string_tab[3864]
#define __pyx_n_u_max_param_size __pyx_string_tab[3865]
#define __pyx_n_u_mcHandle __pyx_string_tab[3866]
#define __pyx_n_u_mcOffset __pyx_string_tab[3867]
#define __pyx_kp_u_memHandle __pyx_string_tab[3868]
#define __pyx_n_u_memHandleDesc __pyx_string_tab[3869]
#define __pyx_kp_u_memHandleType __pyx_string_tab[3870]
#define __pyx_n_u_memHandleType_2 __pyx_string_tab[3871]
#define __pyx_kp_u_memHandleType_ValueError __pyx_string_tab[3872]
#define __pyx_n_u_memHandle_2 __pyx_string_tab[3873]
#define __pyx_kp_u_memHandle_3 __pyx_string_tab[3874]
#define __pyx_kp_u_memHandle_ValueError __pyx_string_tab[3875]
#define __pyx_n_u_memOffset __pyx_string_tab[3876]
#define __pyx_kp_u_memOp __pyx_string_tab[3877]
#define __pyx_n_u_memOp_2 __pyx_string_tab[3878]
#define __pyx_kp_u_memOp_ValueError __pyx_string_tab[3879]
#define __pyx_kp_u_memOperationType __pyx_string_tab[3880]
#define __pyx_n_u_memOperationType_2 __pyx_string_tab[3881]
#define __pyx_kp_u_memOperationType_ValueError __pyx_string_tab[3882]
#define __pyx_kp_u_memPitch __pyx_string_tab[3883]
#define __pyx_n_u_memPitch_2 __pyx_string_tab[3884]
#define __pyx_kp_u_memPitch_ValueError __pyx_string_tab[3885]
#define __pyx_n_u_memPool __pyx_string_tab[3886]
#define __pyx_kp_u_memSyncDomain __pyx_string_tab[3887]
#define __pyx_kp_u_memSyncDomainMap __pyx_string_tab[3888]
#define __pyx_n_u_memSyncDomainMap_2 __pyx_string_tab[3889]
#define __pyx_kp_u_memSyncDomainMap_ValueError __pyx_string_tab[3890]
#define __pyx_n_u_memSyncDomain_2 __pyx_string_tab[3891]
#define __pyx_kp_u_memSyncDomain_ValueError __pyx_string_tab[3892]
#define __pyx_n_u_members __pyx_string_tab[3893]
#define __pyx_kp_u_memcpy __pyx_string_tab[3894]
#define __pyx_n_u_memcpy_2 __pyx_string_tab[3895]
#define __pyx_kp_u_memcpy_ValueError __pyx_string_tab[3896]
#define __pyx_kp_u_memoryBarrier __pyx_string_tab[3897]
#define __pyx_n_u_memoryBarrier_2 __pyx_string_tab[3898]
#define __pyx_kp_u_memoryBarrier_ValueError __pyx_string_tab[3899]
#define __pyx_n_u_memoryRequirements __pyx_string_tab[3900]
#define __pyx_n_u_memptr __pyx_string_tab[3901]
#define __pyx_kp_u_memset __pyx_string_tab[3902]
#define __pyx_n_u_memsetParams __pyx_string_tab[3903]
#define __pyx_n_u_memset_2 __pyx_string_tab[3904]
#define __pyx_kp_u_memset_ValueError __pyx_string_tab[3905]
#define __pyx_n_u_metaclass __pyx_string_tab[3906]
#define __pyx_n_u_minBytesToKeep __pyx_string_tab[3907]
#define __pyx_n_u_minCount __pyx_string_tab[3908]
#define __pyx_n_u_minGridSize __pyx_string_tab[3909]
#define __pyx_kp_u_minMipmapLevelClamp __pyx_string_tab[3910]
#define __pyx_n_u_minMipmapLevelClamp_2 __pyx_string_tab[3911]
#define __pyx_kp_u_minMipmapLevelClamp_ValueError __pyx_string_tab[3912]
#define __pyx_n_u_minor __pyx_string_tab[3913]
#define __pyx_n_u_mipLevel __pyx_string_tab[3914]
#define __pyx_kp_u_mipmap __pyx_string_tab[3915]
#define __pyx_n_u_mipmapDesc __pyx_string_tab[3916]
#define __pyx_kp_u_mipmapFilterMode __pyx_string_tab[3917]
#define __pyx_n_u_mipmapFilterMode_2 __pyx_string_tab[3918]
#define __pyx_kp_u_mipmapFilterMode_ValueError __pyx_string_tab[3919]
#define __pyx_kp_u_mipmapLevelBias __pyx_string_tab[3920]
#define __pyx_n_u_mipmapLevelBias_2 __pyx_string_tab[3921]
#define __pyx_kp_u_mipmapLevelBias_ValueError __pyx_string_tab[3922]
#define __pyx_n_u_mipmap_2 __pyx_string_tab[3923]
#define __pyx_kp_u_mipmap_3 __pyx_string_tab[3924]
#define __pyx_kp_u_mipmap_ValueError __pyx_string_tab[3925]
#define __pyx_kp_u_miptail __pyx_string_tab[3926]
#define __pyx_kp_u_miptailFirstLevel __pyx_string_tab[3927]
#define __pyx_n_u_miptailFirstLevel_2 __pyx_string_tab[3928]
#define __pyx_kp_u_miptailFirstLevel_ValueError __pyx_string_tab[3929]
#define __pyx_kp_u_miptailSize __pyx_string_tab[3930]
#define __pyx_n_u_miptailSize_2 __pyx_string_tab[3931]
#define __pyx_kp_u_miptailSize_ValueError __pyx_string_tab[3932]
#define __pyx_n_u_miptail_2 __pyx_string_tab[3933]
#define __pyx_kp_u_miptail_ValueError __pyx_string_tab[3934]
#define __pyx_kp_u_missProp __pyx_string_tab[3935]
#define __pyx_n_u_missProp_2 __pyx_string_tab[3936]
#define __pyx_kp_u_missProp_ValueError __pyx_string_tab[3937]
#define __pyx_n_u_mod __pyx_string_tab[3938]
#define __pyx_n_u_mode __pyx_string_tab[3939]
#define __pyx_n_u_module __pyx_string_tab[3940]
#define __pyx_n_u_module_2 __pyx_string_tab[3941]
#define __pyx_n_u_mro_entries __pyx_string_tab[3942]
#define __pyx_n_u_name __pyx_string_tab[3943]
#define __pyx_kp_u_name_2 __pyx_string_tab[3944]
#define __pyx_n_u_name_3 __pyx_string_tab[3945]
#define __pyx_kp_u_name_ValueError __pyx_string_tab[3946]
#define __pyx_n_u_nbGroups __pyx_string_tab[3947]
#define __pyx_n_u_nbResources __pyx_string_tab[3948]
#define __pyx_n_u_next __pyx_string_tab[3949]
#define __pyx_kp_u_no_default___reduce___due_to_non __pyx_string_tab[3950]
#define __pyx_n_u_nodeParams __pyx_string_tab[3951]
#define __pyx_n_u_nodeParams_out __pyx_string_tab[3952]
#define __pyx_kp_u_not_enough_values_found_during_a __pyx_string_tab[3953]
#define __pyx_n_u_numAttributes __pyx_string_tab[3954]
#define __pyx_kp_u_numAttrs __pyx_string_tab[3955]
#define __pyx_n_u_numAttrs_2 __pyx_string_tab[3956]
#define __pyx_kp_u_numAttrs_ValueError __pyx_string_tab[3957]
#define __pyx_n_u_numBlocks __pyx_string_tab[3958]
#define __pyx_kp_u_numChannels __pyx_string_tab[3959]
#define __pyx_n_u_numChannels_2 __pyx_string_tab[3960]
#define __pyx_kp_u_numChannels_ValueError __pyx_string_tab[3961]
#define __pyx_n_u_numClusters __pyx_string_tab[3962]
#define __pyx_n_u_numDependencies __pyx_string_tab[3963]
#define __pyx_n_u_numDependencies_out __pyx_string_tab[3964]
#define __pyx_n_u_numDependentNodes __pyx_string_tab[3965]
#define __pyx_kp_u_numDevices __pyx_string_tab[3966]
#define __pyx_n_u_numDevices_2 __pyx_string_tab[3967]
#define __pyx_kp_u_numDevices_ValueError __pyx_string_tab[3968]
#define __pyx_n_u_numEdges __pyx_string_tab[3969]
#define __pyx_kp_u_numExecAffinityParams __pyx_string_tab[3970]
#define __pyx_n_u_numExecAffinityParams_2 __pyx_string_tab[3971]
#define __pyx_kp_u_numExecAffinityParams_ValueError __pyx_string_tab[3972]
#define __pyx_kp_u_numExtSems __pyx_string_tab[3973]
#define __pyx_n_u_numExtSems_2 __pyx_string_tab[3974]
#define __pyx_kp_u_numExtSems_ValueError __pyx_string_tab[3975]
#define __pyx_n_u_numFunctions __pyx_string_tab[3976]
#define __pyx_n_u_numJitOptions __pyx_string_tab[3977]
#define __pyx_n_u_numKernels __pyx_string_tab[3978]
#define __pyx_kp_u_numLevels __pyx_string_tab[3979]
#define __pyx_n_u_numLevels_2 __pyx_string_tab[3980]
#define __pyx_kp_u_numLevels_ValueError __pyx_string_tab[3981]
#define __pyx_n_u_numLibraryOptions __pyx_string_tab[3982]
#define __pyx_n_u_numMipmapLevels __pyx_string_tab[3983]
#define __pyx_n_u_numNodes __pyx_string_tab[3984]
#define __pyx_n_u_numOps __pyx_string_tab[3985]
#define __pyx_n_u_numOptions __pyx_string_tab[3986]
#define __pyx_n_u_numParams __pyx_string_tab[3987]
#define __pyx_n_u_numRootNodes __pyx_string_tab[3988]
#define __pyx_kp_u_num_bytes __pyx_string_tab[3989]
#define __pyx_n_u_num_bytes_2 __pyx_string_tab[3990]
#define __pyx_kp_u_num_bytes_ValueError __pyx_string_tab[3991]
#define __pyx_n_u_numbytes __pyx_string_tab[3992]
#define __pyx_kp_u_nvSciBufObject __pyx_string_tab[3993]
#define __pyx_n_u_nvSciBufObject_2 __pyx_string_tab[3994]
#define __pyx_kp_u_nvSciBufObject_ValueError __pyx_string_tab[3995]
#define __pyx_kp_u_nvSciSync __pyx_string_tab[3996]
#define __pyx_n_u_nvSciSyncAttrList __pyx_string_tab[3997]
#define __pyx_kp_u_nvSciSyncObj __pyx_string_tab[3998]
#define __pyx_n_u_nvSciSyncObj_2 __pyx_string_tab[3999]
#define __pyx_kp_u_nvSciSyncObj_ValueError __pyx_string_tab[4000]
#define __pyx_n_u_nvSciSync_2 __pyx_string_tab[4001]
#define __pyx_kp_u_nvSciSync_ValueError __pyx_string_tab[4002]
#define __pyx_n_u_obj __pyx_string_tab[4003]
#define __pyx_n_u_objType __pyx_string_tab[4004]
#define __pyx_n_u_object __pyx_string_tab[4005]
#define __pyx_n_u_object_out __pyx_string_tab[4006]
#define __pyx_kp_u_offset __pyx_string_tab[4007]
#define __pyx_kp_u_offsetX __pyx_string_tab[4008]
#define __pyx_n_u_offsetX_2 __pyx_string_tab[4009]
#define __pyx_kp_u_offsetX_ValueError __pyx_string_tab[4010]
#define __pyx_kp_u_offsetY __pyx_string_tab[4011]
#define __pyx_n_u_offsetY_2 __pyx_string_tab[4012]
#define __pyx_kp_u_offsetY_ValueError __pyx_string_tab[4013]
#define __pyx_kp_u_offsetZ __pyx_string_tab[4014]
#define __pyx_n_u_offsetZ_2 __pyx_string_tab[4015]
#define __pyx_kp_u_offsetZ_ValueError __pyx_string_tab[4016]
#define __pyx_n_u_offset_2 __pyx_string_tab[4017]
#define __pyx_kp_u_offset_3 __pyx_string_tab[4018]
#define __pyx_kp_u_offset_ValueError __pyx_string_tab[4019]
#define __pyx_n_u_oobFill __pyx_string_tab[4020]
#define __pyx_kp_u_op __pyx_string_tab[4021]
#define __pyx_n_u_opList __pyx_string_tab[4022]
#define __pyx_n_u_op_2 __pyx_string_tab[4023]
#define __pyx_kp_u_op_ValueError __pyx_string_tab[4024]
#define __pyx_kp_u_opaque __pyx_string_tab[4025]
#define __pyx_n_u_opaque_2 __pyx_string_tab[4026]
#define __pyx_kp_u_opaque_ValueError __pyx_string_tab[4027]
#define __pyx_kp_u_operation __pyx_string_tab[4028]
#define __pyx_n_u_operation_2 __pyx_string_tab[4029]
#define __pyx_kp_u_operation_ValueError __pyx_string_tab[4030]
#define __pyx_n_u_option __pyx_string_tab[4031]
#define __pyx_n_u_optionValues __pyx_string_tab[4032]
#define __pyx_n_u_options __pyx_string_tab[4033]
#define __pyx_n_u_ordinal __pyx_string_tab[4034]
#define __pyx_n_u_originalGraph __pyx_string_tab[4035]
#define __pyx_n_u_osHandle __pyx_string_tab[4036]
#define __pyx_kp_u_overBudget __pyx_string_tab[4037]
#define __pyx_n_u_overBudget_2 __pyx_string_tab[4038]
#define __pyx_kp_u_overBudget_ValueError __pyx_string_tab[4039]
#define __pyx_kp_u_oversize __pyx_string_tab[4040]
#define __pyx_n_u_oversize_2 __pyx_string_tab[4041]
#define __pyx_kp_u_oversize_ValueError __pyx_string_tab[4042]
#define __pyx_kp_u_oversize_length_must_be_48_is __pyx_string_tab[4043]
#define __pyx_kp_u_ownership __pyx_string_tab[4044]
#define __pyx_n_u_ownership_2 __pyx_string_tab[4045]
#define __pyx_kp_u_ownership_ValueError __pyx_string_tab[4046]
#define __pyx_n_u_p __pyx_string_tab[4047]
#define __pyx_kp_u_p2pToken __pyx_string_tab[4048]
#define __pyx_n_u_p2pToken_2 __pyx_string_tab[4049]
#define __pyx_kp_u_p2pToken_ValueError __pyx_string_tab[4050]
#define __pyx_n_u_pAllocateArray __pyx_string_tab[4051]
#define __pyx_kp_u_pArray __pyx_string_tab[4052]
#define __pyx_n_u_pArrayDescriptor __pyx_string_tab[4053]
#define __pyx_n_u_pArray_2 __pyx_string_tab[4054]
#define __pyx_kp_u_pArray_ValueError __pyx_string_tab[4055]
#define __pyx_n_u_pBorderColor __pyx_string_tab[4056]
#define __pyx_n_u_pConfig __pyx_string_tab[4057]
#define __pyx_n_u_pContext __pyx_string_tab[4058]
#define __pyx_n_u_pCopy __pyx_string_tab[4059]
#define __pyx_n_u_pCtx __pyx_string_tab[4060]
#define __pyx_n_u_pCudaDeviceCount __pyx_string_tab[4061]
#define __pyx_n_u_pCudaResource __pyx_string_tab[4062]
#define __pyx_n_u_pDevPtr __pyx_string_tab[4063]
#define __pyx_n_u_pDevice __pyx_string_tab[4064]
#define __pyx_n_u_pExecAffinity __pyx_string_tab[4065]
#define __pyx_n_u_pExportTableId __pyx_string_tab[4066]
#define __pyx_n_u_pFlags __pyx_string_tab[4067]
#define __pyx_n_u_pFormat __pyx_string_tab[4068]
#define __pyx_n_u_pFunc __pyx_string_tab[4069]
#define __pyx_n_u_pGreenCtx __pyx_string_tab[4070]
#define __pyx_n_u_pHandle __pyx_string_tab[4071]
#define __pyx_n_u_pHandle_out __pyx_string_tab[4072]
#define __pyx_n_u_pKernel __pyx_string_tab[4073]
#define __pyx_n_u_pLevelArray __pyx_string_tab[4074]
#define __pyx_n_u_pLib __pyx_string_tab[4075]
#define __pyx_n_u_pMilliseconds __pyx_string_tab[4076]
#define __pyx_n_u_pMipmappedArray __pyx_string_tab[4077]
#define __pyx_n_u_pMipmappedArrayDesc __pyx_string_tab[4078]
#define __pyx_n_u_pMod __pyx_string_tab[4079]
#define __pyx_n_u_pNumChannels __pyx_string_tab[4080]
#define __pyx_kp_u_pPitch __pyx_string_tab[4081]
#define __pyx_n_u_pPitch_2 __pyx_string_tab[4082]
#define __pyx_kp_u_pPitch_ValueError __pyx_string_tab[4083]
#define __pyx_n_u_pPlaneArray __pyx_string_tab[4084]
#define __pyx_n_u_pResDesc __pyx_string_tab[4085]
#define __pyx_n_u_pResViewDesc __pyx_string_tab[4086]
#define __pyx_n_u_pSize __pyx_string_tab[4087]
#define __pyx_n_u_pStr __pyx_string_tab[4088]
#define __pyx_n_u_pStream __pyx_string_tab[4089]
#define __pyx_n_u_pSurfObject __pyx_string_tab[4090]
#define __pyx_n_u_pSurfRef __pyx_string_tab[4091]
#define __pyx_n_u_pTexDesc __pyx_string_tab[4092]
#define __pyx_n_u_pTexObject __pyx_string_tab[4093]
#define __pyx_n_u_pTexRef __pyx_string_tab[4094]
#define __pyx_kp_u_pad __pyx_string_tab[4095]
#define __pyx_n_u_pad_2 __pyx_string_tab[4096]
#define __pyx_kp_u_pad_ValueError __pyx_string_tab[4097]
#define __pyx_kp_u_pad_length_must_be_64_is __pyx_string_tab[4098]
#define __pyx_kp_u_padding __pyx_string_tab[4099]
#define __pyx_n_u_padding_2 __pyx_string_tab[4100]
#define __pyx_kp_u_padding_ValueError __pyx_string_tab[4101]
#define __pyx_kp_u_padding_length_must_be_20_is __pyx_string_tab[4102]
#define __pyx_n_u_paddr __pyx_string_tab[4103]
#define __pyx_n_u_pam __pyx_string_tab[4104]
#define __pyx_kp_u_param __pyx_string_tab[4105]
#define __pyx_kp_u_paramArray __pyx_string_tab[4106]
#define __pyx_n_u_paramArray_2 __pyx_string_tab[4107]
#define __pyx_kp_u_paramArray_ValueError __pyx_string_tab[4108]
#define __pyx_n_u_paramIndex __pyx_string_tab[4109]
#define __pyx_n_u_paramOffset __pyx_string_tab[4110]
#define __pyx_n_u_paramSize __pyx_string_tab[4111]
#define __pyx_n_u_param_2 __pyx_string_tab[4112]
#define __pyx_kp_u_param_ValueError __pyx_string_tab[4113]
#define __pyx_kp_u_params __pyx_string_tab[4114]
#define __pyx_kp_u_paramsArray __pyx_string_tab[4115]
#define __pyx_n_u_paramsArray_2 __pyx_string_tab[4116]
#define __pyx_kp_u_paramsArray_ValueError __pyx_string_tab[4117]
#define __pyx_n_u_params_2 __pyx_string_tab[4118]
#define __pyx_kp_u_params_ValueError __pyx_string_tab[4119]
#define __pyx_n_u_params_out __pyx_string_tab[4120]
#define __pyx_n_u_parray __pyx_string_tab[4121]
#define __pyx_n_u_path __pyx_string_tab[4122]
#define __pyx_n_u_pathToFile __pyx_string_tab[4123]
#define __pyx_n_u_pbase __pyx_string_tab[4124]
#define __pyx_n_u_pbias __pyx_string_tab[4125]
#define __pyx_n_u_pblockSizeToDynamicSMemSize __pyx_string_tab[4126]
#define __pyx_n_u_pbuffer __pyx_string_tab[4127]
#define __pyx_n_u_pcallback __pyx_string_tab[4128]
#define __pyx_n_u_pcallbackFunc __pyx_string_tab[4129]
#define __pyx_n_u_pchannelsPerPixel __pyx_string_tab[4130]
#define __pyx_n_u_pchildGraph __pyx_string_tab[4131]
#define __pyx_n_u_pciBusId __pyx_string_tab[4132]
#define __pyx_n_u_pconfig __pyx_string_tab[4133]
#define __pyx_n_u_pconn __pyx_string_tab[4134]
#define __pyx_n_u_pctx __pyx_string_tab[4135]
#define __pyx_n_u_pdesc __pyx_string_tab[4136]
#define __pyx_n_u_pdestroy __pyx_string_tab[4137]
#define __pyx_n_u_pdev __pyx_string_tab[4138]
#define __pyx_n_u_pdevPtr __pyx_string_tab[4139]
#define __pyx_n_u_pdevice __pyx_string_tab[4140]
#define __pyx_n_u_pdptr __pyx_string_tab[4141]
#define __pyx_n_u_pdst __pyx_string_tab[4142]
#define __pyx_n_u_pdstArray __pyx_string_tab[4143]
#define __pyx_n_u_pdstContext __pyx_string_tab[4144]
#define __pyx_n_u_pdstDevice __pyx_string_tab[4145]
#define __pyx_n_u_peerContext __pyx_string_tab[4146]
#define __pyx_n_u_peerDev __pyx_string_tab[4147]
#define __pyx_n_u_peglSync __pyx_string_tab[4148]
#define __pyx_n_u_pevent __pyx_string_tab[4149]
#define __pyx_n_u_pextMem __pyx_string_tab[4150]
#define __pyx_n_u_pextSem __pyx_string_tab[4151]
#define __pyx_n_u_pf __pyx_string_tab[4152]
#define __pyx_n_u_pflags __pyx_string_tab[4153]
#define __pyx_n_u_pfm __pyx_string_tab[4154]
#define __pyx_n_u_pfn __pyx_string_tab[4155]
#define __pyx_n_u_pformat __pyx_string_tab[4156]
#define __pyx_n_u_pfunc __pyx_string_tab[4157]
#define __pyx_n_u_pfunction __pyx_string_tab[4158]
#define __pyx_n_u_pgraph __pyx_string_tab[4159]
#define __pyx_n_u_pgreenCtx __pyx_string_tab[4160]
#define __pyx_n_u_phArray __pyx_string_tab[4161]
#define __pyx_n_u_phClonedGraph __pyx_string_tab[4162]
#define __pyx_n_u_phCtx __pyx_string_tab[4163]
#define __pyx_n_u_phDesc __pyx_string_tab[4164]
#define __pyx_n_u_phEnd __pyx_string_tab[4165]
#define __pyx_n_u_phEvent __pyx_string_tab[4166]
#define __pyx_n_u_phGraph __pyx_string_tab[4167]
#define __pyx_n_u_phGraphClone __pyx_string_tab[4168]
#define __pyx_n_u_phGraphExec __pyx_string_tab[4169]
#define __pyx_n_u_phGraphNode __pyx_string_tab[4170]
#define __pyx_kp_u_phGraph_out __pyx_string_tab[4171]
#define __pyx_n_u_phGraph_out_2 __pyx_string_tab[4172]
#define __pyx_kp_u_phGraph_out_ValueError __pyx_string_tab[4173]
#define __pyx_n_u_phMipmappedArray __pyx_string_tab[4174]
#define __pyx_n_u_phNode __pyx_string_tab[4175]
#define __pyx_n_u_phOriginalNode __pyx_string_tab[4176]
#define __pyx_n_u_phStart __pyx_string_tab[4177]
#define __pyx_n_u_phStream __pyx_string_tab[4178]
#define __pyx_n_u_phSurfRef __pyx_string_tab[4179]
#define __pyx_n_u_phTexRef __pyx_string_tab[4180]
#define __pyx_n_u_phandle __pyx_string_tab[4181]
#define __pyx_n_u_pheight __pyx_string_tab[4182]
#define __pyx_n_u_phfunc __pyx_string_tab[4183]
#define __pyx_n_u_phmod __pyx_string_tab[4184]
#define __pyx_n_u_pi __pyx_string_tab[4185]
#define __pyx_n_u_pid __pyx_string_tab[4186]
#define __pyx_n_u_pimage __pyx_string_tab[4187]
#define __pyx_kp_u_pitch __pyx_string_tab[4188]
#define __pyx_kp_u_pitch2D __pyx_string_tab[4189]
#define __pyx_n_u_pitch2D_2 __pyx_string_tab[4190]
#define __pyx_kp_u_pitch2D_ValueError __pyx_string_tab[4191]
#define __pyx_kp_u_pitchInBytes __pyx_string_tab[4192]
#define __pyx_n_u_pitchInBytes_2 __pyx_string_tab[4193]
#define __pyx_kp_u_pitchInBytes_ValueError __pyx_string_tab[4194]
#define __pyx_n_u_pitch_2 __pyx_string_tab[4195]
#define __pyx_kp_u_pitch_ValueError __pyx_string_tab[4196]
#define __pyx_n_u_pixelBoxLowerCorner __pyx_string_tab[4197]
#define __pyx_n_u_pixelBoxLowerCornerWidth __pyx_string_tab[4198]
#define __pyx_n_u_pixelBoxUpperCorner __pyx_string_tab[4199]
#define __pyx_n_u_pixelBoxUpperCornerWidth __pyx_string_tab[4200]
#define __pyx_n_u_pixelsPerColumn __pyx_string_tab[4201]
#define __pyx_n_u_pkernel __pyx_string_tab[4202]
#define __pyx_kp_u_planeCount __pyx_string_tab[4203]
#define __pyx_n_u_planeCount_2 __pyx_string_tab[4204]
#define __pyx_kp_u_planeCount_ValueError __pyx_string_tab[4205]
#define __pyx_n_u_planeIdx __pyx_string_tab[4206]
#define __pyx_n_u_plib __pyx_string_tab[4207]
#define __pyx_n_u_plibrary __pyx_string_tab[4208]
#define __pyx_n_u_pmaxAniso __pyx_string_tab[4209]
#define __pyx_n_u_pmaxMipmapLevelClamp __pyx_string_tab[4210]
#define __pyx_n_u_pmcHandle __pyx_string_tab[4211]
#define __pyx_n_u_pmemHandle __pyx_string_tab[4212]
#define __pyx_n_u_pmemPool __pyx_string_tab[4213]
#define __pyx_n_u_pmemptr __pyx_string_tab[4214]
#define __pyx_n_u_pminMipmapLevelClamp __pyx_string_tab[4215]
#define __pyx_n_u_pmipmap __pyx_string_tab[4216]
#define __pyx_n_u_pmod __pyx_string_tab[4217]
#define __pyx_n_u_pobject __pyx_string_tab[4218]
#define __pyx_n_u_pool __pyx_string_tab[4219]
#define __pyx_kp_u_poolProps __pyx_string_tab[4220]
#define __pyx_n_u_poolProps_2 __pyx_string_tab[4221]
#define __pyx_kp_u_poolProps_ValueError __pyx_string_tab[4222]
#define __pyx_n_u_pool_out __pyx_string_tab[4223]
#define __pyx_n_u_pop __pyx_string_tab[4224]
#define __pyx_n_u_poriginalGraph __pyx_string_tab[4225]
#define __pyx_n_u_pp __pyx_string_tab[4226]
#define __pyx_n_u_ppCudaResource __pyx_string_tab[4227]
#define __pyx_n_u_ppExportTable __pyx_string_tab[4228]
#define __pyx_n_u_ppStream __pyx_string_tab[4229]
#define __pyx_n_u_ppeerContext __pyx_string_tab[4230]
#define __pyx_n_u_ppeerDev __pyx_string_tab[4231]
#define __pyx_n_u_ppixelsPerColumn __pyx_string_tab[4232]
#define __pyx_n_u_ppool __pyx_string_tab[4233]
#define __pyx_n_u_pptr __pyx_string_tab[4234]
#define __pyx_kp_u_preferredClusterDim __pyx_string_tab[4235]
#define __pyx_n_u_preferredClusterDim_2 __pyx_string_tab[4236]
#define __pyx_kp_u_preferredClusterDim_ValueError __pyx_string_tab[4237]
#define __pyx_n_u_prepare __pyx_string_tab[4238]
#define __pyx_n_u_presource __pyx_string_tab[4239]
#define __pyx_n_u_presources __pyx_string_tab[4240]
#define __pyx_kp_u_priority __pyx_string_tab[4241]
#define __pyx_n_u_priority_2 __pyx_string_tab[4242]
#define __pyx_kp_u_priority_ValueError __pyx_string_tab[4243]
#define __pyx_kp_u_programmaticEvent __pyx_string_tab[4244]
#define __pyx_n_u_programmaticEvent_2 __pyx_string_tab[4245]
#define __pyx_kp_u_programmaticEvent_ValueError __pyx_string_tab[4246]
#define __pyx_kp_u_programmaticStreamSerializationA __pyx_string_tab[4247]
#define __pyx_n_u_programmaticStreamSerializationA_2 __pyx_string_tab[4248]
#define __pyx_kp_u_programmaticStreamSerializationA_3 __pyx_string_tab[4249]
#define __pyx_n_u_prop __pyx_string_tab[4250]
#define __pyx_n_u_psize __pyx_string_tab[4251]
#define __pyx_n_u_psrc __pyx_string_tab[4252]
#define __pyx_n_u_psrcArray __pyx_string_tab[4253]
#define __pyx_n_u_psrcContext __pyx_string_tab[4254]
#define __pyx_n_u_psrcDevice __pyx_string_tab[4255]
#define __pyx_n_u_pstate __pyx_string_tab[4256]
#define __pyx_n_u_pstream __pyx_string_tab[4257]
#define __pyx_n_u_psurfObject __pyx_string_tab[4258]
#define __pyx_n_u_ptarget __pyx_string_tab[4259]
#define __pyx_n_u_ptensorRank __pyx_string_tab[4260]
#define __pyx_n_u_ptexObject __pyx_string_tab[4261]
#define __pyx_n_u_ptr __pyx_string_tab[4262]
#define __pyx_n_u_ptr_2 __pyx_string_tab[4263]
#define __pyx_kp_u_ptr_3 __pyx_string_tab[4264]
#define __pyx_kp_u_ptr_4 __pyx_string_tab[4265]
#define __pyx_kp_u_ptr_ValueError __pyx_string_tab[4266]
#define __pyx_n_u_ptr_out __pyx_string_tab[4267]
#define __pyx_n_u_pvalue __pyx_string_tab[4268]
#define __pyx_n_u_pvdpDevice __pyx_string_tab[4269]
#define __pyx_n_u_pvdpGetProcAddress __pyx_string_tab[4270]
#define __pyx_n_u_pvdpSurface __pyx_string_tab[4271]
#define __pyx_n_u_pwidth __pyx_string_tab[4272]
#define __pyx_n_u_pyObj __pyx_string_tab[4273]
#define __pyx_n_u_pyattributes __pyx_string_tab[4274]
#define __pyx_n_u_pydataSizes __pyx_string_tab[4275]
#define __pyx_n_u_pydependencies __pyx_string_tab[4276]
#define __pyx_n_u_pydependencies_out __pyx_string_tab[4277]
#define __pyx_n_u_pydependentNodes __pyx_string_tab[4278]
#define __pyx_n_u_pyedgeData __pyx_string_tab[4279]
#define __pyx_n_u_pyedgeData_out __pyx_string_tab[4280]
#define __pyx_n_u_pyfrom __pyx_string_tab[4281]
#define __pyx_n_u_pyfunctions __pyx_string_tab[4282]
#define __pyx_n_u_pyjitOptions __pyx_string_tab[4283]
#define __pyx_n_u_pykernels __pyx_string_tab[4284]
#define __pyx_n_u_pylibraryOptions __pyx_string_tab[4285]
#define __pyx_n_u_pylist __pyx_string_tab[4286]
#define __pyx_n_u_pyname __pyx_string_tab[4287]
#define __pyx_n_u_pynodes __pyx_string_tab[4288]
#define __pyx_n_u_pyoptionValues __pyx_string_tab[4289]
#define __pyx_n_u_pyoptions __pyx_string_tab[4290]
#define __pyx_n_u_pypCudaDevices __pyx_string_tab[4291]
#define __pyx_n_u_pypciBusId __pyx_string_tab[4292]
#define __pyx_n_u_pyresult __pyx_string_tab[4293]
#define __pyx_n_u_pyrootNodes __pyx_string_tab[4294]
#define __pyx_n_u_pyto __pyx_string_tab[4295]
#define __pyx_n_u_pyx_state __pyx_string_tab[4296]
#define __pyx_n_u_qualname __pyx_string_tab[4297]
#define __pyx_n_u_range __pyx_string_tab[4298]
#define __pyx_n_u_reduce __pyx_string_tab[4299]
#define __pyx_n_u_reduce_cython __pyx_string_tab[4300]
#define __pyx_n_u_reduce_ex __pyx_string_tab[4301]
#define __pyx_kp_u_regsPerBlock __pyx_string_tab[4302]
#define __pyx_n_u_regsPerBlock_2 __pyx_string_tab[4303]
#define __pyx_kp_u_regsPerBlock_ValueError __pyx_string_tab[4304]
#define __pyx_n_u_remaining __pyx_string_tab[4305]
#define __pyx_kp_u_remote __pyx_string_tab[4306]
#define __pyx_n_u_remote_2 __pyx_string_tab[4307]
#define __pyx_kp_u_remote_ValueError __pyx_string_tab[4308]
#define __pyx_kp_u_requestedHandleTypes __pyx_string_tab[4309]
#define __pyx_n_u_requestedHandleTypes_2 __pyx_string_tab[4310]
#define __pyx_kp_u_requestedHandleTypes_ValueError __pyx_string_tab[4311]
#define __pyx_kp_u_res __pyx_string_tab[4312]
#define __pyx_kp_u_resType __pyx_string_tab[4313]
#define __pyx_n_u_resType_2 __pyx_string_tab[4314]
#define __pyx_kp_u_resType_ValueError __pyx_string_tab[4315]
#define __pyx_n_u_res_2 __pyx_string_tab[4316]
#define __pyx_kp_u_res_ValueError __pyx_string_tab[4317]
#define __pyx_kp_u_reserved __pyx_string_tab[4318]
#define __pyx_kp_u_reserved0 __pyx_string_tab[4319]
#define __pyx_n_u_reserved0_2 __pyx_string_tab[4320]
#define __pyx_kp_u_reserved0_ValueError __pyx_string_tab[4321]
#define __pyx_kp_u_reserved1 __pyx_string_tab[4322]
#define __pyx_n_u_reserved1_2 __pyx_string_tab[4323]
#define __pyx_kp_u_reserved1_ValueError __pyx_string_tab[4324]
#define __pyx_kp_u_reserved2 __pyx_string_tab[4325]
#define __pyx_n_u_reserved2_2 __pyx_string_tab[4326]
#define __pyx_kp_u_reserved2_ValueError __pyx_string_tab[4327]
#define __pyx_n_u_reserved_2 __pyx_string_tab[4328]
#define __pyx_kp_u_reserved_3 __pyx_string_tab[4329]
#define __pyx_kp_u_reserved_ValueError __pyx_string_tab[4330]
#define __pyx_kp_u_reserved_length_must_be_4_is __pyx_string_tab[4331]
#define __pyx_kp_u_reserved_length_must_be_54_is __pyx_string_tab[4332]
#define __pyx_kp_u_reserved_length_must_be_5_is __pyx_string_tab[4333]
#define __pyx_kp_u_reserved_length_must_be_64_is __pyx_string_tab[4334]
#define __pyx_kp_u_resource __pyx_string_tab[4335]
#define __pyx_kp_u_resourceType __pyx_string_tab[4336]
#define __pyx_n_u_resourceType_2 __pyx_string_tab[4337]
#define __pyx_kp_u_resourceType_ValueError __pyx_string_tab[4338]
#define __pyx_n_u_resource_2 __pyx_string_tab[4339]
#define __pyx_kp_u_resource_ValueError __pyx_string_tab[4340]
#define __pyx_n_u_resources __pyx_string_tab[4341]
#define __pyx_kp_u_result __pyx_string_tab[4342]
#define __pyx_n_u_resultInfo __pyx_string_tab[4343]
#define __pyx_n_u_result_2 __pyx_string_tab[4344]
#define __pyx_kp_u_result_ValueError __pyx_string_tab[4345]
#define __pyx_kp_u_result_out __pyx_string_tab[4346]
#define __pyx_n_u_result_out_2 __pyx_string_tab[4347]
#define __pyx_kp_u_result_out_ValueError __pyx_string_tab[4348]
#define __pyx_kp_u_rowLength __pyx_string_tab[4349]
#define __pyx_n_u_rowLength_2 __pyx_string_tab[4350]
#define __pyx_kp_u_rowLength_ValueError __pyx_string_tab[4351]
#define __pyx_n_u_scope __pyx_string_tab[4352]
#define __pyx_n_u_self __pyx_string_tab[4353]
#define __pyx_kp_u_self__allocated_cannot_be_conver __pyx_string_tab[4354]
#define __pyx_n_u_semHandleDesc __pyx_string_tab[4355]
#define __pyx_n_u_send __pyx_string_tab[4356]
#define __pyx_n_u_set_name __pyx_string_tab[4357]
#define __pyx_n_u_setstate __pyx_string_tab[4358]
#define __pyx_n_u_setstate_cython __pyx_string_tab[4359]
#define __pyx_n_u_shHandleType __pyx_string_tab[4360]
#define __pyx_n_u_shareData __pyx_string_tab[4361]
#define __pyx_n_u_shareData_out __pyx_string_tab[4362]
#define __pyx_kp_u_sharedData __pyx_string_tab[4363]
#define __pyx_kp_u_sharedDataType __pyx_string_tab[4364]
#define __pyx_n_u_sharedDataType_2 __pyx_string_tab[4365]
#define __pyx_kp_u_sharedDataType_ValueError __pyx_string_tab[4366]
#define __pyx_n_u_sharedData_2 __pyx_string_tab[4367]
#define __pyx_kp_u_sharedData_ValueError __pyx_string_tab[4368]
#define __pyx_kp_u_sharedMemBytes __pyx_string_tab[4369]
#define __pyx_n_u_sharedMemBytes_2 __pyx_string_tab[4370]
#define __pyx_kp_u_sharedMemBytes_ValueError __pyx_string_tab[4371]
#define __pyx_kp_u_sharedMemCarveout __pyx_string_tab[4372]
#define __pyx_n_u_sharedMemCarveout_2 __pyx_string_tab[4373]
#define __pyx_kp_u_sharedMemCarveout_ValueError __pyx_string_tab[4374]
#define __pyx_kp_u_sharedMemPerBlock __pyx_string_tab[4375]
#define __pyx_n_u_sharedMemPerBlock_2 __pyx_string_tab[4376]
#define __pyx_kp_u_sharedMemPerBlock_ValueError __pyx_string_tab[4377]
#define __pyx_kp_u_size __pyx_string_tab[4378]
#define __pyx_kp_u_sizeInBytes __pyx_string_tab[4379]
#define __pyx_n_u_sizeInBytes_2 __pyx_string_tab[4380]
#define __pyx_kp_u_sizeInBytes_ValueError __pyx_string_tab[4381]
#define __pyx_n_u_sizeOut __pyx_string_tab[4382]
#define __pyx_n_u_size_2 __pyx_string_tab[4383]
#define __pyx_kp_u_size_ValueError __pyx_string_tab[4384]
#define __pyx_n_u_sizeof __pyx_string_tab[4385]
#define __pyx_n_u_sizes __pyx_string_tab[4386]
#define __pyx_kp_u_sm __pyx_string_tab[4387]
#define __pyx_kp_u_smCount __pyx_string_tab[4388]
#define __pyx_n_u_smCount_2 __pyx_string_tab[4389]
#define __pyx_kp_u_smCount_3 __pyx_string_tab[4390]
#define __pyx_kp_u_smCount_ValueError __pyx_string_tab[4391]
#define __pyx_n_u_sm_2 __pyx_string_tab[4392]
#define __pyx_kp_u_sm_ValueError __pyx_string_tab[4393]
#define __pyx_kp_u_sparseLevel __pyx_string_tab[4394]
#define __pyx_n_u_sparseLevel_2 __pyx_string_tab[4395]
#define __pyx_kp_u_sparseLevel_ValueError __pyx_string_tab[4396]
#define __pyx_n_u_sparseProperties __pyx_string_tab[4397]
#define __pyx_n_u_spec __pyx_string_tab[4398]
#define __pyx_kp_u_src __pyx_string_tab[4399]
#define __pyx_kp_u_srcAccessOrder __pyx_string_tab[4400]
#define __pyx_n_u_srcAccessOrder_2 __pyx_string_tab[4401]
#define __pyx_kp_u_srcAccessOrder_ValueError __pyx_string_tab[4402]
#define __pyx_kp_u_srcArray __pyx_string_tab[4403]
#define __pyx_n_u_srcArray_2 __pyx_string_tab[4404]
#define __pyx_kp_u_srcArray_ValueError __pyx_string_tab[4405]
#define __pyx_kp_u_srcContext __pyx_string_tab[4406]
#define __pyx_n_u_srcContext_2 __pyx_string_tab[4407]
#define __pyx_kp_u_srcContext_ValueError __pyx_string_tab[4408]
#define __pyx_kp_u_srcDevice __pyx_string_tab[4409]
#define __pyx_n_u_srcDevice_2 __pyx_string_tab[4410]
#define __pyx_kp_u_srcDevice_ValueError __pyx_string_tab[4411]
#define __pyx_kp_u_srcHeight __pyx_string_tab[4412]
#define __pyx_n_u_srcHeight_2 __pyx_string_tab[4413]
#define __pyx_kp_u_srcHeight_ValueError __pyx_string_tab[4414]
#define __pyx_kp_u_srcHost __pyx_string_tab[4415]
#define __pyx_n_u_srcHost_2 __pyx_string_tab[4416]
#define __pyx_kp_u_srcHost_ValueError __pyx_string_tab[4417]
#define __pyx_kp_u_srcLOD __pyx_string_tab[4418]
#define __pyx_n_u_srcLOD_2 __pyx_string_tab[4419]
#define __pyx_kp_u_srcLOD_ValueError __pyx_string_tab[4420]
#define __pyx_kp_u_srcLocHint __pyx_string_tab[4421]
#define __pyx_n_u_srcLocHint_2 __pyx_string_tab[4422]
#define __pyx_kp_u_srcLocHint_ValueError __pyx_string_tab[4423]
#define __pyx_kp_u_srcMemoryType __pyx_string_tab[4424]
#define __pyx_n_u_srcMemoryType_2 __pyx_string_tab[4425]
#define __pyx_kp_u_srcMemoryType_ValueError __pyx_string_tab[4426]
#define __pyx_kp_u_srcNumBytes __pyx_string_tab[4427]
#define __pyx_n_u_srcNumBytes_2 __pyx_string_tab[4428]
#define __pyx_kp_u_srcNumBytes_ValueError __pyx_string_tab[4429]
#define __pyx_n_u_srcOffset __pyx_string_tab[4430]
#define __pyx_kp_u_srcPitch __pyx_string_tab[4431]
#define __pyx_n_u_srcPitch_2 __pyx_string_tab[4432]
#define __pyx_kp_u_srcPitch_ValueError __pyx_string_tab[4433]
#define __pyx_kp_u_srcXInBytes __pyx_string_tab[4434]
#define __pyx_n_u_srcXInBytes_2 __pyx_string_tab[4435]
#define __pyx_kp_u_srcXInBytes_ValueError __pyx_string_tab[4436]
#define __pyx_kp_u_srcY __pyx_string_tab[4437]
#define __pyx_n_u_srcY_2 __pyx_string_tab[4438]
#define __pyx_kp_u_srcY_ValueError __pyx_string_tab[4439]
#define __pyx_kp_u_srcZ __pyx_string_tab[4440]
#define __pyx_n_u_srcZ_2 __pyx_string_tab[4441]
#define __pyx_kp_u_srcZ_ValueError __pyx_string_tab[4442]
#define __pyx_n_u_src_2 __pyx_string_tab[4443]
#define __pyx_kp_u_src_3 __pyx_string_tab[4444]
#define __pyx_kp_u_src_ValueError __pyx_string_tab[4445]
#define __pyx_n_u_srcs __pyx_string_tab[4446]
#define __pyx_n_u_state __pyx_string_tab[4447]
#define __pyx_n_u_stateOut __pyx_string_tab[4448]
#define __pyx_n_u_stream __pyx_string_tab[4449]
#define __pyx_n_u_streamId __pyx_string_tab[4450]
#define __pyx_kp_u_stringsource __pyx_string_tab[4451]
#define __pyx_kp_u_subresource __pyx_string_tab[4452]
#define __pyx_kp_u_subresourceType __pyx_string_tab[4453]
#define __pyx_n_u_subresourceType_2 __pyx_string_tab[4454]
#define __pyx_kp_u_subresourceType_ValueError __pyx_string_tab[4455]
#define __pyx_n_u_subresource_2 __pyx_string_tab[4456]
#define __pyx_kp_u_subresource_ValueError __pyx_string_tab[4457]
#define __pyx_n_u_supported_types __pyx_string_tab[4458]
#define __pyx_n_u_surfObject __pyx_string_tab[4459]
#define __pyx_n_u_swizzle __pyx_string_tab[4460]
#define __pyx_n_u_symbol __pyx_string_tab[4461]
#define __pyx_n_u_symbolStatus __pyx_string_tab[4462]
#define __pyx_kp_u_syncPolicy __pyx_string_tab[4463]
#define __pyx_n_u_syncPolicy_2 __pyx_string_tab[4464]
#define __pyx_kp_u_syncPolicy_ValueError __pyx_string_tab[4465]
#define __pyx_n_u_t __pyx_string_tab[4466]
#define __pyx_n_u_target __pyx_string_tab[4467]
#define __pyx_n_u_tensorDataType __pyx_string_tab[4468]
#define __pyx_n_u_tensorMap __pyx_string_tab[4469]
#define __pyx_n_u_tensorRank __pyx_string_tab[4470]
#define __pyx_n_u_test __pyx_string_tab[4471]
#define __pyx_n_u_texObject __pyx_string_tab[4472]
#define __pyx_kp_u_textureAlign __pyx_string_tab[4473]
#define __pyx_n_u_textureAlign_2 __pyx_string_tab[4474]
#define __pyx_kp_u_textureAlign_ValueError __pyx_string_tab[4475]
#define __pyx_n_u_texunit __pyx_string_tab[4476]
#define __pyx_n_u_throw __pyx_string_tab[4477]
#define __pyx_n_u_tid __pyx_string_tab[4478]
#define __pyx_kp_u_tileExtent __pyx_string_tab[4479]
#define __pyx_n_u_tileExtent_2 __pyx_string_tab[4480]
#define __pyx_kp_u_tileExtent_ValueError __pyx_string_tab[4481]
#define __pyx_n_u_timeout __pyx_string_tab[4482]
#define __pyx_kp_u_timeoutMs __pyx_string_tab[4483]
#define __pyx_n_u_timeoutMs_2 __pyx_string_tab[4484]
#define __pyx_kp_u_timeoutMs_ValueError __pyx_string_tab[4485]
#define __pyx_n_u_to __pyx_string_tab[4486]
#define __pyx_kp_u_to_port __pyx_string_tab[4487]
#define __pyx_n_u_to_port_2 __pyx_string_tab[4488]
#define __pyx_kp_u_to_port_ValueError __pyx_string_tab[4489]
#define __pyx_n_u_total __pyx_string_tab[4490]
#define __pyx_kp_u_totalConstantMemory __pyx_string_tab[4491]
#define __pyx_n_u_totalConstantMemory_2 __pyx_string_tab[4492]
#define __pyx_kp_u_totalConstantMemory_ValueError __pyx_string_tab[4493]
#define __pyx_kp_u_triggerAtBlockStart __pyx_string_tab[4494]
#define __pyx_n_u_triggerAtBlockStart_2 __pyx_string_tab[4495]
#define __pyx_kp_u_triggerAtBlockStart_ValueError __pyx_string_tab[4496]
#define __pyx_kp_u_tuple_int_list_int __pyx_string_tab[4497]
#define __pyx_kp_u_type __pyx_string_tab[4498]
#define __pyx_n_u_type_2 __pyx_string_tab[4499]
#define __pyx_kp_u_type_ValueError __pyx_string_tab[4500]
#define __pyx_n_u_typename __pyx_string_tab[4501]
#define __pyx_n_u_typing __pyx_string_tab[4502]
#define __pyx_n_u_uc __pyx_string_tab[4503]
#define __pyx_n_u_ui __pyx_string_tab[4504]
#define __pyx_n_u_us __pyx_string_tab[4505]
#define __pyx_kp_u_usage __pyx_string_tab[4506]
#define __pyx_n_u_usage_2 __pyx_string_tab[4507]
#define __pyx_kp_u_usage_ValueError __pyx_string_tab[4508]
#define __pyx_n_u_useFlags __pyx_string_tab[4509]
#define __pyx_kp_u_userData __pyx_string_tab[4510]
#define __pyx_n_u_userData_2 __pyx_string_tab[4511]
#define __pyx_kp_u_userData_ValueError __pyx_string_tab[4512]
#define __pyx_n_u_uuid __pyx_string_tab[4513]
#define __pyx_n_u_v __pyx_string_tab[4514]
#define __pyx_kp_u_vaSpaceToken __pyx_string_tab[4515]
#define __pyx_n_u_vaSpaceToken_2 __pyx_string_tab[4516]
#define __pyx_kp_u_vaSpaceToken_ValueError __pyx_string_tab[4517]
#define __pyx_kp_u_val __pyx_string_tab[4518]
#define __pyx_n_u_val_2 __pyx_string_tab[4519]
#define __pyx_kp_u_val_ValueError __pyx_string_tab[4520]
#define __pyx_n_u_value __pyx_string_tab[4521]
#define __pyx_kp_u_value64 __pyx_string_tab[4522]
#define __pyx_n_u_value64_2 __pyx_string_tab[4523]
#define __pyx_kp_u_value64_ValueError __pyx_string_tab[4524]
#define __pyx_kp_u_value_2 __pyx_string_tab[4525]
#define __pyx_kp_u_value_3 __pyx_string_tab[4526]
#define __pyx_kp_u_value_ValueError __pyx_string_tab[4527]
#define __pyx_n_u_value_out __pyx_string_tab[4528]
#define __pyx_n_u_vdpDevice __pyx_string_tab[4529]
#define __pyx_n_u_vdpGetProcAddress __pyx_string_tab[4530]
#define __pyx_n_u_vdpSurface __pyx_string_tab[4531]
#define __pyx_n_u_version __pyx_string_tab[4532]
#define __pyx_n_u_voidStarHelperdata __pyx_string_tab[4533]
#define __pyx_n_u_voidStarHelperjitOptionsValues __pyx_string_tab[4534]
#define __pyx_n_u_voidStarHelperlibraryOptionValue __pyx_string_tab[4535]
#define __pyx_n_u_voidStarHelperoptionValues __pyx_string_tab[4536]
#define __pyx_kp_u_waitValue __pyx_string_tab[4537]
#define __pyx_n_u_waitValue_2 __pyx_string_tab[4538]
#define __pyx_kp_u_waitValue_ValueError __pyx_string_tab[4539]
#define __pyx_kp_u_width __pyx_string_tab[4540]
#define __pyx_n_u_width_2 __pyx_string_tab[4541]
#define __pyx_kp_u_width_ValueError __pyx_string_tab[4542]
#define __pyx_kp_u_win32 __pyx_string_tab[4543]
#define __pyx_kp_u_win32HandleMetaData __pyx_string_tab[4544]
#define __pyx_n_u_win32HandleMetaData_2 __pyx_string_tab[4545]
#define __pyx_kp_u_win32HandleMetaData_ValueError __pyx_string_tab[4546]
#define __pyx_kp_u_win32SecurityAttributes __pyx_string_tab[4547]
#define __pyx_n_u_win32SecurityAttributes_2 __pyx_string_tab[4548]
#define __pyx_kp_u_win32SecurityAttributes_ValueErr __pyx_string_tab[4549]
#define __pyx_n_u_win32_2 __pyx_string_tab[4550]
#define __pyx_kp_u_win32_ValueError __pyx_string_tab[4551]
#define __pyx_kp_u_writeValue __pyx_string_tab[4552]
#define __pyx_n_u_writeValue_2 __pyx_string_tab[4553]
#define __pyx_kp_u_writeValue_ValueError __pyx_string_tab[4554]
#define __pyx_n_u_x __pyx_string_tab[4555]
#define __pyx_kp_u_x_2 __pyx_string_tab[4556]
#define __pyx_n_u_x_3 __pyx_string_tab[4557]
#define __pyx_kp_u_x_ValueError __pyx_string_tab[4558]
#define __pyx_kp_u_y __pyx_string_tab[4559]
#define __pyx_n_u_y_2 __pyx_string_tab[4560]
#define __pyx_kp_u_y_ValueError __pyx_string_tab[4561]
#define __pyx_kp_u_z __pyx_string_tab[4562]
#define __pyx_n_u_z_2 __pyx_string_tab[4563]
#define __pyx_kp_u_z_ValueError __pyx_string_tab[4564]
#define __pyx_n_u_zip __pyx_string_tab[4565]
/* #### Code section: module_state_clear ### */
#if CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) {
  __pyx_mstatetype *clear_module_state = __Pyx_PyModule_GetState(m);
  if (!clear_module_state) return 0;
  Py_CLEAR(clear_module_state->__pyx_d);
  Py_CLEAR(clear_module_state->__pyx_b);
  Py_CLEAR(clear_module_state->__pyx_cython_runtime);
  Py_CLEAR(clear_module_state->__pyx_empty_tuple);
  Py_CLEAR(clear_module_state->__pyx_empty_bytes);
  Py_CLEAR(clear_module_state->__pyx_empty_unicode);
  #ifdef __Pyx_CyFunction_USED
  Py_CLEAR(clear_module_state->__pyx_CyFunctionType);
  #endif
  #ifdef __Pyx_FusedFunction_USED
  Py_CLEAR(clear_module_state->__pyx_FusedFunctionType);
  #endif
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __Pyx_State_RemoveModule(NULL);
  #endif
  Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4type_type);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperKernelParams);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUjit_option);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcontext);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmodule);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUfunction);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlibrary);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUkernel);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUarray);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUtexref);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUsurfref);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUevent);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstream);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphicsResource);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUexternalMemory);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraph);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphNode);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphExec);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemoryPool);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUuserObject);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgreenCtx);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlinkState);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_EGLImageKHR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_EGLStreamKHR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_EGLSyncKHR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUasyncCallback);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUhostFn);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamCallback);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlogsCallback);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUuuid_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct0);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevprop_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct3);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct4);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct5);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union3);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union3);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct6);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct7);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct8);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct9);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct10);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct11);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union4);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union4);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUtensorMap_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct12);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union5);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union5);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct13);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union6);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union6);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct14);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union7);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union7);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct15);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct16);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct17);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union8);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union8);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct18);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct19);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union9);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union9);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct20);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct21);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union10);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union10);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union11);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union11);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemLocation_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct22);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUoffset3D_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUextent3D_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct23);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct24);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union12);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union12);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevResource_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union15);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union15);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUeglFrame_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdeviceptr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevice);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUtexObject);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUsurfObject);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUuuid);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUuuid);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevprop_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevprop);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUctxCigParam);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUtensorMap);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemLocation);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUoffset3D);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUextent3D_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUextent3D);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevSmResource);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevResource_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevResource);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUeglFrame);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_cuuint32_t);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_cuuint64_t);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevice_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUtexObject_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUlogIterator);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_GLenum);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_GLenum);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_GLuint);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_GLuint);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_EGLint);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_EGLint);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_VdpDevice);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_VdpVideoSurface);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_VdpOutputSurface);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr);
  for (int i=0; i<1; ++i) { Py_CLEAR(clear_module_state->__pyx_tuple[i]); }
  for (int i=0; i<1255; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); }
  for (int i=0; i<4566; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); }
  Py_CLEAR(clear_module_state->__pyx_int_0);
  Py_CLEAR(clear_module_state->__pyx_int_1);
  Py_CLEAR(clear_module_state->__pyx_int_127);
  Py_CLEAR(clear_module_state->__pyx_int_256);
  Py_CLEAR(clear_module_state->__pyx_int_1024);
  Py_CLEAR(clear_module_state->__pyx_int_neg_129);
  return 0;
}
#endif
/* #### Code section: module_state_traverse ### */
#if CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
  __pyx_mstatetype *traverse_module_state = __Pyx_PyModule_GetState(m);
  if (!traverse_module_state) return 0;
  Py_VISIT(traverse_module_state->__pyx_d);
  Py_VISIT(traverse_module_state->__pyx_b);
  Py_VISIT(traverse_module_state->__pyx_cython_runtime);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_tuple);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_bytes);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_unicode);
  #ifdef __Pyx_CyFunction_USED
  Py_VISIT(traverse_module_state->__pyx_CyFunctionType);
  #endif
  #ifdef __Pyx_FusedFunction_USED
  Py_VISIT(traverse_module_state->__pyx_FusedFunctionType);
  #endif
  Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4type_type);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperKernelParams);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUjit_option);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcontext);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmodule);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUfunction);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlibrary);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUkernel);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUarray);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUtexref);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUsurfref);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUevent);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstream);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphicsResource);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUexternalMemory);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraph);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphNode);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphExec);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemoryPool);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUuserObject);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgreenCtx);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlinkState);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_EGLImageKHR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_EGLStreamKHR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_EGLSyncKHR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUasyncCallback);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUhostFn);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamCallback);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlogsCallback);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUuuid_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct0);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevprop_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct3);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct4);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct5);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union3);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union3);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct6);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct7);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct8);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct9);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct10);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct11);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union4);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union4);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUtensorMap_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct12);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union5);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union5);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct13);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union6);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union6);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct14);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union7);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union7);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct15);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct16);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct17);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union8);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union8);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct18);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct19);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union9);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union9);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct20);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct21);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union10);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union10);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union11);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union11);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemLocation_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct22);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUoffset3D_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUextent3D_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct23);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_struct24);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union12);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union12);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevResource_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_anon_union15);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_anon_union15);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUeglFrame_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdeviceptr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevice);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUtexObject);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUsurfObject);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUuuid);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUuuid);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevprop_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevprop);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUctxCigParam);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUtensorMap);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemLocation);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUoffset3D);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUextent3D_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUextent3D);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevSmResource);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevResource_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevResource);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUeglFrame);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_cuuint32_t);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_cuuint64_t);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevice_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUtexObject_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUlogIterator);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_GLenum);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_GLenum);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_GLuint);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_GLuint);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_EGLint);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_EGLint);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_VdpDevice);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_VdpVideoSurface);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_VdpOutputSurface);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr);
  for (int i=0; i<1; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_tuple[i]); }
  for (int i=0; i<1255; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); }
  for (int i=0; i<4566; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); }
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_int_0);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_int_1);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_int_127);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_int_256);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_int_1024);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_int_neg_129);
  return 0;
}
#endif
/* #### Code section: module_code ### */
static PyObject *__pyx_gb_4cuda_8bindings_6driver_950generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":362
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = cydriver.CUipcMem_flags_enum.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS
 * 
 * _dict_CUipcMem_flags = dict(((int(v), v) for k, v in CUipcMem_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAttach_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_948genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct__genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 362, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_950generator, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 362, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_950generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 362, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 362, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 362, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 362, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_953generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":379
 *     CU_MEM_ATTACH_SINGLE = cydriver.CUmemAttach_flags_enum.CU_MEM_ATTACH_SINGLE
 * 
 * _dict_CUmemAttach_flags = dict(((int(v), v) for k, v in CUmemAttach_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUctx_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_951genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 379, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_953generator1, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 379, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_953generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 379, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 379, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 379, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 379, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_956generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":419
 *     CU_CTX_FLAGS_MASK = cydriver.CUctx_flags_enum.CU_CTX_FLAGS_MASK
 * 
 * _dict_CUctx_flags = dict(((int(v), v) for k, v in CUctx_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_sched_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_954genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 419, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_956generator2, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 419, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_956generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 419, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 419, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 419, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 419, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_959generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":438
 *     CU_EVENT_SCHED_BLOCKING_SYNC = cydriver.CUevent_sched_flags_enum.CU_EVENT_SCHED_BLOCKING_SYNC
 * 
 * _dict_CUevent_sched_flags = dict(((int(v), v) for k, v in CUevent_sched_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class cl_event_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_957genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 438, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_959generator3, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[3]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 438, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_959generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 438, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 438, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 438, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 438, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_962generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":457
 *     NVCL_EVENT_SCHED_BLOCKING_SYNC = cydriver.cl_event_flags_enum.NVCL_EVENT_SCHED_BLOCKING_SYNC
 * 
 * _dict_cl_event_flags = dict(((int(v), v) for k, v in cl_event_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class cl_context_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_960genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 457, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_962generator4, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[4]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 457, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_962generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 457, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 457, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 457, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 457, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_965generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":476
 *     NVCL_CTX_SCHED_BLOCKING_SYNC = cydriver.cl_context_flags_enum.NVCL_CTX_SCHED_BLOCKING_SYNC
 * 
 * _dict_cl_context_flags = dict(((int(v), v) for k, v in cl_context_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstream_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_963genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 476, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_965generator5, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[5]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 476, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_965generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 476, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 476, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 476, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 476, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_968generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":489
 *     CU_STREAM_NON_BLOCKING = cydriver.CUstream_flags_enum.CU_STREAM_NON_BLOCKING
 * 
 * _dict_CUstream_flags = dict(((int(v), v) for k, v in CUstream_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_966genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 489, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_968generator6, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[6]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 489, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_968generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 489, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 489, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 489, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 489, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_971generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":509
 *     CU_EVENT_INTERPROCESS = cydriver.CUevent_flags_enum.CU_EVENT_INTERPROCESS
 * 
 * _dict_CUevent_flags = dict(((int(v), v) for k, v in CUevent_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_record_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_969genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 509, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_971generator7, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[7]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 509, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_971generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 509, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 509, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 509, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 509, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_974generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":524
 *     CU_EVENT_RECORD_EXTERNAL = cydriver.CUevent_record_flags_enum.CU_EVENT_RECORD_EXTERNAL
 * 
 * _dict_CUevent_record_flags = dict(((int(v), v) for k, v in CUevent_record_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_wait_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_972genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 524, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_974generator8, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[8]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 524, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_974generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 524, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 524, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 524, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 524, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_977generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":538
 *     CU_EVENT_WAIT_EXTERNAL = cydriver.CUevent_wait_flags_enum.CU_EVENT_WAIT_EXTERNAL
 * 
 * _dict_CUevent_wait_flags = dict(((int(v), v) for k, v in CUevent_wait_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWaitValue_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_975genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 538, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_977generator9, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[9]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 538, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_977generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 538, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 538, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 538, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 538, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_980generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":574
 *     CU_STREAM_WAIT_VALUE_FLUSH = cydriver.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_FLUSH
 * 
 * _dict_CUstreamWaitValue_flags = dict(((int(v), v) for k, v in CUstreamWaitValue_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWriteValue_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_978genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 574, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_980generator10, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[10]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 574, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_980generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 574, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 574, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 574, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 574, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_983generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":592
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = cydriver.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER
 * 
 * _dict_CUstreamWriteValue_flags = dict(((int(v), v) for k, v in CUstreamWriteValue_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamBatchMemOpType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_981genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 592, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_983generator11, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[11]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 592, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_983generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 592, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 592, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 592, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 592, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_986generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":618
 *     CU_STREAM_MEM_OP_BARRIER = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_BARRIER
 * 
 * _dict_CUstreamBatchMemOpType = dict(((int(v), v) for k, v in CUstreamBatchMemOpType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamMemoryBarrier_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_984genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 618, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_986generator12, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[12]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 618, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_986generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 618, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 618, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 618, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 618, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_989generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":631
 *     CU_STREAM_MEMORY_BARRIER_TYPE_GPU = cydriver.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_GPU
 * 
 * _dict_CUstreamMemoryBarrier_flags = dict(((int(v), v) for k, v in CUstreamMemoryBarrier_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUoccupancy_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_987genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 631, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_989generator13, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[13]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 631, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_989generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 631, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 631, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 631, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 631, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_992generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":645
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = cydriver.CUoccupancy_flags_enum.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE
 * 
 * _dict_CUoccupancy_flags = dict(((int(v), v) for k, v in CUoccupancy_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamUpdateCaptureDependencies_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_990genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 645, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_992generator14, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[14]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 645, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_992generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 645, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 645, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 645, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 645, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_995generator15(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":658
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = cydriver.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_SET_CAPTURE_DEPENDENCIES
 * 
 * _dict_CUstreamUpdateCaptureDependencies_flags = dict(((int(v), v) for k, v in CUstreamUpdateCaptureDependencies_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUasyncNotificationType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_993genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 658, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_995generator15, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[15]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 658, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_995generator15(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 658, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 658, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 658, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 658, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_998generator16(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":668
 *     CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET = cydriver.CUasyncNotificationType_enum.CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET
 * 
 * _dict_CUasyncNotificationType = dict(((int(v), v) for k, v in CUasyncNotificationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarray_format(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_996genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 668, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_998generator16, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[16]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 668, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_998generator16(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 668, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 668, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 668, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 668, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1001generator17(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":843
 *     CU_AD_FORMAT_MAX = cydriver.CUarray_format_enum.CU_AD_FORMAT_MAX
 * 
 * _dict_CUarray_format = dict(((int(v), v) for k, v in CUarray_format.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUaddress_mode(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_999genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 843, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1001generator17, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[17]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 843, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1001generator17(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 843, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 843, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 843, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 843, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1004generator18(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":862
 *     CU_TR_ADDRESS_MODE_BORDER = cydriver.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_BORDER
 * 
 * _dict_CUaddress_mode = dict(((int(v), v) for k, v in CUaddress_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfilter_mode(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1002genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 862, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1004generator18, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[18]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 862, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1004generator18(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 862, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 862, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 862, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 862, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1007generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":875
 *     CU_TR_FILTER_MODE_LINEAR = cydriver.CUfilter_mode_enum.CU_TR_FILTER_MODE_LINEAR
 * 
 * _dict_CUfilter_mode = dict(((int(v), v) for k, v in CUfilter_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevice_attribute(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1005genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 875, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1007generator19, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[19]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 875, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1007generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 875, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 875, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 875, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 875, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1010generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1381
 *     CU_DEVICE_ATTRIBUTE_MAX = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX
 * 
 * _dict_CUdevice_attribute = dict(((int(v), v) for k, v in CUdevice_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUpointer_attribute(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1008genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1381, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1010generator20, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[20]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1381, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1010generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1381, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1381, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1381, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1013generator21(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1466
 *     CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE
 * 
 * _dict_CUpointer_attribute = dict(((int(v), v) for k, v in CUpointer_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunction_attribute(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1011genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1466, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1013generator21, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[21]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1466, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1013generator21(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1466, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1466, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1466, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1016generator22(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1588
 *     CU_FUNC_ATTRIBUTE_MAX = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX
 * 
 * _dict_CUfunction_attribute = dict(((int(v), v) for k, v in CUfunction_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunc_cache(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1014genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1588, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1016generator22, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[22]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1588, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1016generator22(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1588, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1588, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1588, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1019generator23(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1607
 *     CU_FUNC_CACHE_PREFER_EQUAL = cydriver.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_EQUAL
 * 
 * _dict_CUfunc_cache = dict(((int(v), v) for k, v in CUfunc_cache.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUsharedconfig(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1017genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1607, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1019generator23, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[23]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1607, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1019generator23(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1607, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1607, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1607, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1022generator24(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1623
 *     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = cydriver.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE
 * 
 * _dict_CUsharedconfig = dict(((int(v), v) for k, v in CUsharedconfig.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUshared_carveout(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1020genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1623, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1022generator24, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[24]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1623, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1022generator24(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1623, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1623, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1623, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1025generator25(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1640
 *     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = cydriver.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_SHARED
 * 
 * _dict_CUshared_carveout = dict(((int(v), v) for k, v in CUshared_carveout.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemorytype(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1023genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1640, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1025generator25, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[25]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1640, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1025generator25(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1640, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1640, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1640, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1028generator26(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1659
 *     CU_MEMORYTYPE_UNIFIED = cydriver.CUmemorytype_enum.CU_MEMORYTYPE_UNIFIED
 * 
 * _dict_CUmemorytype = dict(((int(v), v) for k, v in CUmemorytype.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcomputemode(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1026genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1659, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1028generator26, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[26]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1659, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1028generator26(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1659, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1659, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1659, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1031generator27(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1677
 *     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = cydriver.CUcomputemode_enum.CU_COMPUTEMODE_EXCLUSIVE_PROCESS
 * 
 * _dict_CUcomputemode = dict(((int(v), v) for k, v in CUcomputemode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmem_advise(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1029genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1677, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1031generator27, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[27]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1677, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1031generator27(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1677, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1677, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1677, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1034generator28(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1704
 *     CU_MEM_ADVISE_UNSET_ACCESSED_BY = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_ACCESSED_BY
 * 
 * _dict_CUmem_advise = dict(((int(v), v) for k, v in CUmem_advise.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmem_range_attribute(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1032genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1704, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1034generator28, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[28]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1704, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1034generator28(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1704, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1704, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1704, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1037generator29(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1737
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID
 * 
 * _dict_CUmem_range_attribute = dict(((int(v), v) for k, v in CUmem_range_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_option(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1035genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1737, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1037generator29, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[29]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1737, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1037generator29(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1737, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1737, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1737, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1040generator30(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1968
 *     CU_JIT_NUM_OPTIONS = cydriver.CUjit_option_enum.CU_JIT_NUM_OPTIONS
 * 
 * _dict_CUjit_option = dict(((int(v), v) for k, v in CUjit_option.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_target(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1038genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1968, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1040generator30, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[30]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 1968, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1040generator30(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 1968, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 1968, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 1968, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1043generator31(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2076
 *     CU_TARGET_COMPUTE_121F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_121F
 * 
 * _dict_CUjit_target = dict(((int(v), v) for k, v in CUjit_target.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_fallback(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1041genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2076, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1043generator31, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[31]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2076, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1043generator31(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2076, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2076, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2076, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1046generator32(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2090
 *     CU_PREFER_BINARY = cydriver.CUjit_fallback_enum.CU_PREFER_BINARY
 * 
 * _dict_CUjit_fallback = dict(((int(v), v) for k, v in CUjit_fallback.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_cacheMode(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1044genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2090, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1046generator32, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[32]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2090, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1046generator32(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2090, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2090, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2090, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1049generator33(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2106
 *     CU_JIT_CACHE_OPTION_CA = cydriver.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CA
 * 
 * _dict_CUjit_cacheMode = dict(((int(v), v) for k, v in CUjit_cacheMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjitInputType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1047genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2106, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1049generator33, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[33]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1049generator33(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2106, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2106, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1052generator34(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2142
 *     CU_JIT_NUM_INPUT_TYPES = cydriver.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES
 * 
 * _dict_CUjitInputType = dict(((int(v), v) for k, v in CUjitInputType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphicsRegisterFlags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1050genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2142, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1052generator34, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[34]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2142, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1052generator34(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2142, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2142, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2142, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1055generator35(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2154
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
 * 
 * _dict_CUgraphicsRegisterFlags = dict(((int(v), v) for k, v in CUgraphicsRegisterFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphicsMapResourceFlags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1053genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2154, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1055generator35, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[35]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2154, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1055generator35(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2154, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2154, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2154, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1058generator36(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2164
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 * _dict_CUgraphicsMapResourceFlags = dict(((int(v), v) for k, v in CUgraphicsMapResourceFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarray_cubemap_face(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1056genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2164, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1058generator36, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[36]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2164, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1058generator36(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2164, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2164, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2164, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1061generator37(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2189
 *     CU_CUBEMAP_FACE_NEGATIVE_Z = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Z
 * 
 * _dict_CUarray_cubemap_face = dict(((int(v), v) for k, v in CUarray_cubemap_face.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlimit(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1059genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2189, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1061generator37, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[37]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2189, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1061generator37(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2189, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2189, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2189, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1064generator38(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2232
 *     CU_LIMIT_MAX = cydriver.CUlimit_enum.CU_LIMIT_MAX
 * 
 * _dict_CUlimit = dict(((int(v), v) for k, v in CUlimit.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresourcetype(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1062genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2232, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1064generator38, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[38]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2232, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1064generator38(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2232, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2232, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2232, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1067generator39(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2251
 *     CU_RESOURCE_TYPE_PITCH2D = cydriver.CUresourcetype_enum.CU_RESOURCE_TYPE_PITCH2D
 * 
 * _dict_CUresourcetype = dict(((int(v), v) for k, v in CUresourcetype.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUaccessProperty(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1065genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2251, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1067generator39, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[39]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2251, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1067generator39(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2251, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2251, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2251, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1070generator40(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2268
 *     CU_ACCESS_PROPERTY_PERSISTING = cydriver.CUaccessProperty_enum.CU_ACCESS_PROPERTY_PERSISTING
 * 
 * _dict_CUaccessProperty = dict(((int(v), v) for k, v in CUaccessProperty.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphConditionalNodeType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1068genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2268, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1070generator40, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[40]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2268, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1070generator40(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2268, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2268, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2268, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1073generator41(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2289
 *     CU_GRAPH_COND_TYPE_SWITCH = cydriver.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_SWITCH
 * 
 * _dict_CUgraphConditionalNodeType = dict(((int(v), v) for k, v in CUgraphConditionalNodeType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphNodeType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1071genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2289, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1073generator41, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[41]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2289, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1073generator41(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2289, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2289, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2289, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2289, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1076generator42(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2362
 *     CU_GRAPH_NODE_TYPE_CONDITIONAL = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_CONDITIONAL
 * 
 * _dict_CUgraphNodeType = dict(((int(v), v) for k, v in CUgraphNodeType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphDependencyType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1074genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2362, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1076generator42, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[42]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2362, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1076generator42(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2362, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2362, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2362, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1079generator43(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2380
 *     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = cydriver.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC
 * 
 * _dict_CUgraphDependencyType = dict(((int(v), v) for k, v in CUgraphDependencyType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphInstantiateResult(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1077genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2380, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1079generator43, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[43]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2380, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1079generator43(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2380, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2380, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2380, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2380, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1082generator44(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2409
 *     CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED
 * 
 * _dict_CUgraphInstantiateResult = dict(((int(v), v) for k, v in CUgraphInstantiateResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUsynchronizationPolicy(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1080genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2409, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1082generator44, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[44]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2409, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1082generator44(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2409, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2409, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2409, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2409, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1085generator45(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2420
 *     CU_SYNC_POLICY_BLOCKING_SYNC = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
 * 
 * _dict_CUsynchronizationPolicy = dict(((int(v), v) for k, v in CUsynchronizationPolicy.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUclusterSchedulingPolicy(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1083genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2420, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1085generator45, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[45]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2420, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1085generator45(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2420, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2420, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2420, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2420, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1088generator46(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2438
 *     CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING = cydriver.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING
 * 
 * _dict_CUclusterSchedulingPolicy = dict(((int(v), v) for k, v in CUclusterSchedulingPolicy.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlaunchMemSyncDomain(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1086genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2438, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1088generator46, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[46]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2438, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1088generator46(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2438, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2438, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2438, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1091generator47(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2468
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE = cydriver.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE
 * 
 * _dict_CUlaunchMemSyncDomain = dict(((int(v), v) for k, v in CUlaunchMemSyncDomain.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlaunchAttributeID(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1089genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2468, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1091generator47, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[47]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2468, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1091generator47(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2468, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2468, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2468, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1094generator48(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2643
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureStatus(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1092genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2643, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1094generator48, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[48]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2643, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1094generator48(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2643, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2643, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2643, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1097generator49(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2661
 *     CU_STREAM_CAPTURE_STATUS_INVALIDATED = cydriver.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_INVALIDATED
 * 
 * _dict_CUstreamCaptureStatus = dict(((int(v), v) for k, v in CUstreamCaptureStatus.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureMode(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1095genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2661, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1097generator49, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[49]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2661, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1097generator49(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2661, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2661, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2661, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1100generator50(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2673
 *     CU_STREAM_CAPTURE_MODE_RELAXED = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
 * 
 * _dict_CUstreamCaptureMode = dict(((int(v), v) for k, v in CUstreamCaptureMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdriverProcAddress_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1098genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2673, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1100generator50, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[50]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2673, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1100generator50(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2673, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2673, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2673, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2673, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1103generator51(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2690
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = cydriver.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM
 * 
 * _dict_CUdriverProcAddress_flags = dict(((int(v), v) for k, v in CUdriverProcAddress_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdriverProcAddressQueryResult(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1101genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2690, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1103generator51, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[51]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2690, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1103generator51(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2690, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2690, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2690, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2690, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1106generator52(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2707
 *     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = cydriver.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT
 * 
 * _dict_CUdriverProcAddressQueryResult = dict(((int(v), v) for k, v in CUdriverProcAddressQueryResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexecAffinityType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1104genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2707, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1106generator52, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[52]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2707, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1106generator52(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2707, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2707, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2707, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1109generator53(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2718
 *     CU_EXEC_AFFINITY_TYPE_MAX = cydriver.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX
 * 
 * _dict_CUexecAffinityType = dict(((int(v), v) for k, v in CUexecAffinityType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcigDataType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1107genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2718, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1109generator53, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[53]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2718, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1109generator53(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2718, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2718, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2718, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2718, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1112generator54(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2729
 *     CIG_DATA_TYPE_NV_BLOB = cydriver.CUcigDataType_enum.CIG_DATA_TYPE_NV_BLOB
 * 
 * _dict_CUcigDataType = dict(((int(v), v) for k, v in CUcigDataType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlibraryOption(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1110genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2729, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1112generator54, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[54]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2729, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1112generator54(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2729, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2729, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2729, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2729, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1115generator55(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2751
 *     CU_LIBRARY_NUM_OPTIONS = cydriver.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS
 * 
 * _dict_CUlibraryOption = dict(((int(v), v) for k, v in CUlibraryOption.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresult(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1113genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2751, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1115generator55, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[55]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 2751, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1115generator55(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 2751, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 2751, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 2751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 2751, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1118generator56(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3238
 *     CUDA_ERROR_UNKNOWN = cydriver.cudaError_enum.CUDA_ERROR_UNKNOWN
 * 
 * _dict_CUresult = dict(((int(v), v) for k, v in CUresult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevice_P2PAttribute(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1116genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3238, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1118generator56, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[56]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3238, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1118generator56(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3238, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3238, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3238, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1121generator57(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3261
 *     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED
 * 
 * _dict_CUdevice_P2PAttribute = dict(((int(v), v) for k, v in CUdevice_P2PAttribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresourceViewFormat(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1119genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3261, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1121generator57, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[57]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3261, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1121generator57(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3261, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3261, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3261, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1124generator58(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3373
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC7
 * 
 * _dict_CUresourceViewFormat = dict(((int(v), v) for k, v in CUresourceViewFormat.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapDataType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1122genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3373, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1124generator58, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[58]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3373, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1124generator58(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3373, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3373, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3373, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3373, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1127generator59(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3396
 *     CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B
 * 
 * _dict_CUtensorMapDataType = dict(((int(v), v) for k, v in CUtensorMapDataType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapInterleave(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1125genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3396, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1127generator59, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[59]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3396, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1127generator59(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3396, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3396, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3396, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3396, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1130generator60(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3406
 *     CU_TENSOR_MAP_INTERLEAVE_32B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
 * 
 * _dict_CUtensorMapInterleave = dict(((int(v), v) for k, v in CUtensorMapInterleave.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapSwizzle(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1128genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3406, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1130generator60, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[60]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1130generator60(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3406, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3406, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1133generator61(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3420
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B
 * 
 * _dict_CUtensorMapSwizzle = dict(((int(v), v) for k, v in CUtensorMapSwizzle.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapL2promotion(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1131genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3420, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1133generator61, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[61]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3420, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1133generator61(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3420, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3420, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3420, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3420, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1136generator62(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3431
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
 * 
 * _dict_CUtensorMapL2promotion = dict(((int(v), v) for k, v in CUtensorMapL2promotion.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapFloatOOBfill(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1134genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3431, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1136generator62, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[62]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3431, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1136generator62(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3431, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3431, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3431, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3431, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1139generator63(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3440
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = cydriver.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA
 * 
 * _dict_CUtensorMapFloatOOBfill = dict(((int(v), v) for k, v in CUtensorMapFloatOOBfill.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapIm2ColWideMode(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1137genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3440, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1139generator63, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[63]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3440, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1139generator63(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3440, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3440, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3440, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3440, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1142generator64(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3449
 *     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = cydriver.CUtensorMapIm2ColWideMode_enum.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128
 * 
 * _dict_CUtensorMapIm2ColWideMode = dict(((int(v), v) for k, v in CUtensorMapIm2ColWideMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1140genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3449, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1142generator64, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[64]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3449, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1142generator64(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3449, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3449, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3449, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3449, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1145generator65(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3470
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = cydriver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE
 * 
 * _dict_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS = dict(((int(v), v) for k, v in CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexternalMemoryHandleType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1143genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3470, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1145generator65, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[65]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3470, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1145generator65(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3470, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3470, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3470, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1148generator66(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3501
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF
 * 
 * _dict_CUexternalMemoryHandleType = dict(((int(v), v) for k, v in CUexternalMemoryHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexternalSemaphoreHandleType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1146genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3501, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1148generator66, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[66]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3501, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1148generator66(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3501, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3501, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3501, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3501, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1151generator67(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3540
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32
 * 
 * _dict_CUexternalSemaphoreHandleType = dict(((int(v), v) for k, v in CUexternalSemaphoreHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationHandleType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1149genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3540, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1151generator67, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[67]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3540, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1151generator67(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3540, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3540, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3540, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3540, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1154generator68(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3564
 *     CU_MEM_HANDLE_TYPE_MAX = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX
 * 
 * _dict_CUmemAllocationHandleType = dict(((int(v), v) for k, v in CUmemAllocationHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAccess_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1152genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3564, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1154generator68, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[68]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3564, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1154generator68(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3564, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3564, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3564, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3564, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1157generator69(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3581
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX
 * 
 * _dict_CUmemAccess_flags = dict(((int(v), v) for k, v in CUmemAccess_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemLocationType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1155genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3581, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1157generator69, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[69]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3581, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1157generator69(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3581, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3581, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3581, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3581, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1160generator70(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3602
 *     CU_MEM_LOCATION_TYPE_MAX = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX
 * 
 * _dict_CUmemLocationType = dict(((int(v), v) for k, v in CUmemLocationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1158genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3602, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1160generator70, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[70]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3602, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1160generator70(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3602, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3602, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3602, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3602, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1163generator71(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3615
 *     CU_MEM_ALLOCATION_TYPE_MAX = cydriver.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX
 * 
 * _dict_CUmemAllocationType = dict(((int(v), v) for k, v in CUmemAllocationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationGranularity_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1161genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3615, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1163generator71, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[71]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3615, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1163generator71(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3615, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3615, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3615, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3615, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1166generator72(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3629
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = cydriver.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED
 * 
 * _dict_CUmemAllocationGranularity_flags = dict(((int(v), v) for k, v in CUmemAllocationGranularity_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemRangeHandleType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1164genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3629, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1166generator72, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[72]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3629, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1166generator72(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3629, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3629, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3629, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1169generator73(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3638
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = cydriver.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX
 * 
 * _dict_CUmemRangeHandleType = dict(((int(v), v) for k, v in CUmemRangeHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemRangeFlags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1167genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3638, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1169generator73, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[73]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3638, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1169generator73(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3638, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3638, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3638, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1172generator74(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3648
 *     CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE = cydriver.CUmemRangeFlags_enum.CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE
 * 
 * _dict_CUmemRangeFlags = dict(((int(v), v) for k, v in CUmemRangeFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarraySparseSubresourceType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1170genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3648, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1172generator74, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[74]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3648, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1172generator74(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3648, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3648, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3648, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3648, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1175generator75(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3657
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = cydriver.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL
 * 
 * _dict_CUarraySparseSubresourceType = dict(((int(v), v) for k, v in CUarraySparseSubresourceType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemOperationType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1173genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3657, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1175generator75, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[75]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3657, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1175generator75(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3657, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3657, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3657, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3657, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1178generator76(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3666
 *     CU_MEM_OPERATION_TYPE_UNMAP = cydriver.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP
 * 
 * _dict_CUmemOperationType = dict(((int(v), v) for k, v in CUmemOperationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemHandleType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1176genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3666, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1178generator76, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[76]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3666, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1178generator76(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3666, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3666, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3666, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3666, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1181generator77(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3674
 *     CU_MEM_HANDLE_TYPE_GENERIC = cydriver.CUmemHandleType_enum.CU_MEM_HANDLE_TYPE_GENERIC
 * 
 * _dict_CUmemHandleType = dict(((int(v), v) for k, v in CUmemHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationCompType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1179genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3674, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1181generator77, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[77]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3674, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1181generator77(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3674, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3674, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3674, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3674, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1184generator78(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3687
 *     CU_MEM_ALLOCATION_COMP_GENERIC = cydriver.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_GENERIC
 * 
 * _dict_CUmemAllocationCompType = dict(((int(v), v) for k, v in CUmemAllocationCompType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmulticastGranularity_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1182genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3687, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1184generator78, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[78]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1184generator78(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3687, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3687, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3687, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1187generator79(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3700
 *     CU_MULTICAST_GRANULARITY_RECOMMENDED = cydriver.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_RECOMMENDED
 * 
 * _dict_CUmulticastGranularity_flags = dict(((int(v), v) for k, v in CUmulticastGranularity_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphExecUpdateResult(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1185genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3700, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1187generator79, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[79]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3700, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1187generator79(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3700, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3700, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3700, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1190generator80(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3739
 *     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED
 * 
 * _dict_CUgraphExecUpdateResult = dict(((int(v), v) for k, v in CUgraphExecUpdateResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemPool_attribute(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1188genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3739, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1190generator80, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[80]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3739, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1190generator80(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3739, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3739, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3739, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3739, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1193generator81(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3787
 *     CU_MEMPOOL_ATTR_USED_MEM_HIGH = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH
 * 
 * _dict_CUmemPool_attribute = dict(((int(v), v) for k, v in CUmemPool_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpyFlags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1191genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3787, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1193generator81, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[81]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3787, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1193generator81(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3787, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3787, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3787, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3787, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1196generator82(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3800
 *     CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE = cydriver.CUmemcpyFlags_enum.CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE
 * 
 * _dict_CUmemcpyFlags = dict(((int(v), v) for k, v in CUmemcpyFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpySrcAccessOrder(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1194genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3800, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1196generator82, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[82]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3800, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1196generator82(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3800, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3800, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3800, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3800, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1199generator83(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3835
 *     CU_MEMCPY_SRC_ACCESS_ORDER_MAX = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_MAX
 * 
 * _dict_CUmemcpySrcAccessOrder = dict(((int(v), v) for k, v in CUmemcpySrcAccessOrder.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpy3DOperandType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1197genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3835, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1199generator83, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[83]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3835, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1199generator83(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3835, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3835, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3835, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3835, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1202generator84(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3850
 *     CU_MEMCPY_OPERAND_TYPE_MAX = cydriver.CUmemcpy3DOperandType_enum.CU_MEMCPY_OPERAND_TYPE_MAX
 * 
 * _dict_CUmemcpy3DOperandType = dict(((int(v), v) for k, v in CUmemcpy3DOperandType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphMem_attribute(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1200genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3850, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1202generator84, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[84]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3850, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1202generator84(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3850, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3850, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3850, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3850, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1205generator85(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3875
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH = cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH
 * 
 * _dict_CUgraphMem_attribute = dict(((int(v), v) for k, v in CUgraphMem_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphChildGraphNodeOwnership(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1203genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3875, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1205generator85, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[85]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3875, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1205generator85(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3875, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3875, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3875, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3875, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1208generator86(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3898
 *     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE = cydriver.CUgraphChildGraphNodeOwnership_enum.CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE
 * 
 * _dict_CUgraphChildGraphNodeOwnership = dict(((int(v), v) for k, v in CUgraphChildGraphNodeOwnership.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesOptions(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1206genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3898, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1208generator86, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[86]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1208generator86(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3898, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3898, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3898, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1211generator87(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3915
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = cydriver.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS
 * 
 * _dict_CUflushGPUDirectRDMAWritesOptions = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesOptions.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGPUDirectRDMAWritesOrdering(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1209genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3915, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1211generator87, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[87]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3915, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1211generator87(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3915, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3915, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3915, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3915, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1214generator88(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3935
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = cydriver.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES
 * 
 * _dict_CUGPUDirectRDMAWritesOrdering = dict(((int(v), v) for k, v in CUGPUDirectRDMAWritesOrdering.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesScope(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1212genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3935, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1214generator88, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[88]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3935, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1214generator88(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3935, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3935, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3935, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3935, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1217generator89(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3949
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = cydriver.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES
 * 
 * _dict_CUflushGPUDirectRDMAWritesScope = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesScope.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesTarget(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1215genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3949, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1217generator89, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[89]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3949, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1217generator89(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3949, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3949, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3949, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3949, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1220generator90(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3960
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = cydriver.CUflushGPUDirectRDMAWritesTarget_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX
 * 
 * _dict_CUflushGPUDirectRDMAWritesTarget = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesTarget.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphDebugDot_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1218genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3960, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1220generator90, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[90]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 3960, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1220generator90(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3960, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 3960, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 3960, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 3960, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1223generator91(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4015
 *     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS
 * 
 * _dict_CUgraphDebugDot_flags = dict(((int(v), v) for k, v in CUgraphDebugDot_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUuserObject_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1221genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4015, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1223generator91, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[91]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4015, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1223generator91(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4015, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4015, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4015, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4015, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1226generator92(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4026
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = cydriver.CUuserObject_flags_enum.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC
 * 
 * _dict_CUuserObject_flags = dict(((int(v), v) for k, v in CUuserObject_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUuserObjectRetain_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1224genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4026, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1226generator92, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[92]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4026, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1226generator92(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4026, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4026, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4026, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4026, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1229generator93(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4037
 *     CU_GRAPH_USER_OBJECT_MOVE = cydriver.CUuserObjectRetain_flags_enum.CU_GRAPH_USER_OBJECT_MOVE
 * 
 * _dict_CUuserObjectRetain_flags = dict(((int(v), v) for k, v in CUuserObjectRetain_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphInstantiate_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1227genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4037, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1229generator93, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[93]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4037, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1229generator93(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4037, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4037, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4037, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4037, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1232generator94(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4062
 *     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = cydriver.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY
 * 
 * _dict_CUgraphInstantiate_flags = dict(((int(v), v) for k, v in CUgraphInstantiate_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdeviceNumaConfig(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1230genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4062, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1232generator94, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[94]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4062, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1232generator94(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4062, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4062, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4062, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4062, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1235generator95(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4076
 *     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = cydriver.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NUMA_NODE
 * 
 * _dict_CUdeviceNumaConfig = dict(((int(v), v) for k, v in CUdeviceNumaConfig.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUprocessState(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1233genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4076, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1235generator95, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[95]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4076, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1235generator95(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4076, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4076, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4076, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4076, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1238generator96(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4097
 *     CU_PROCESS_STATE_FAILED = cydriver.CUprocessState_enum.CU_PROCESS_STATE_FAILED
 * 
 * _dict_CUprocessState = dict(((int(v), v) for k, v in CUprocessState.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmoduleLoadingMode(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1236genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4097, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1238generator96, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[96]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4097, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1238generator96(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4097, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4097, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4097, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4097, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1241generator97(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4110
 *     CU_MODULE_LAZY_LOADING = cydriver.CUmoduleLoadingMode_enum.CU_MODULE_LAZY_LOADING
 * 
 * _dict_CUmoduleLoadingMode = dict(((int(v), v) for k, v in CUmoduleLoadingMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemDecompressAlgorithm(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1239genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4110, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1241generator97, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[97]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4110, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1241generator97(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4110, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4110, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4110, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4110, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1244generator98(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4129
 *     CU_MEM_DECOMPRESS_ALGORITHM_LZ4 = cydriver.CUmemDecompressAlgorithm_enum.CU_MEM_DECOMPRESS_ALGORITHM_LZ4
 * 
 * _dict_CUmemDecompressAlgorithm = dict(((int(v), v) for k, v in CUmemDecompressAlgorithm.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunctionLoadingState(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1242genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4129, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1244generator98, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[98]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4129, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1244generator98(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4129, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4129, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4129, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4129, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1247generator99(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4139
 *     CU_FUNCTION_LOADING_STATE_MAX = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
 * 
 * _dict_CUfunctionLoadingState = dict(((int(v), v) for k, v in CUfunctionLoadingState.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcoredumpSettings(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1245genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4139, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1247generator99, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[99]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4139, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1247generator99(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4139, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4139, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4139, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4139, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1250generator100(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4154
 *     CU_COREDUMP_MAX = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_MAX
 * 
 * _dict_CUcoredumpSettings = dict(((int(v), v) for k, v in CUcoredumpSettings.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUCoredumpGenerationFlags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1248genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4154, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1250generator100, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[100]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4154, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1250generator100(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4154, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4154, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4154, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4154, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1253generator101(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4169
 *     CU_COREDUMP_LIGHTWEIGHT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_LIGHTWEIGHT_FLAGS
 * 
 * _dict_CUCoredumpGenerationFlags = dict(((int(v), v) for k, v in CUCoredumpGenerationFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgreenCtxCreate_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1251genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4169, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1253generator101, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[101]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4169, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1253generator101(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4169, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4169, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4169, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4169, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1256generator102(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4179
 *     CU_GREEN_CTX_DEFAULT_STREAM = cydriver.CUgreenCtxCreate_flags.CU_GREEN_CTX_DEFAULT_STREAM
 * 
 * _dict_CUgreenCtxCreate_flags = dict(((int(v), v) for k, v in CUgreenCtxCreate_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevSmResourceSplit_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1254genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4179, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1256generator102, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[102]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4179, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1256generator102(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4179, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4179, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4179, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4179, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1259generator103(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4188
 *     CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE = cydriver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE
 * 
 * _dict_CUdevSmResourceSplit_flags = dict(((int(v), v) for k, v in CUdevSmResourceSplit_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevResourceType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1257genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4188, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1259generator103, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[103]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4188, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1259generator103(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4188, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4188, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4188, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4188, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1262generator104(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4199
 *     CU_DEV_RESOURCE_TYPE_SM = cydriver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_SM
 * 
 * _dict_CUdevResourceType = dict(((int(v), v) for k, v in CUdevResourceType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlogLevel(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1260genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4199, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1262generator104, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[104]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4199, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1262generator104(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4199, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4199, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4199, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4199, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1265generator105(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4208
 *     CU_LOG_LEVEL_WARNING = cydriver.CUlogLevel_enum.CU_LOG_LEVEL_WARNING
 * 
 * _dict_CUlogLevel = dict(((int(v), v) for k, v in CUlogLevel.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUoutput_mode(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1263genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4208, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1265generator105, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[105]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1265generator105(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4208, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4208, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4208, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1268generator106(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4221
 *     CU_OUT_CSV = cydriver.CUoutput_mode_enum.CU_OUT_CSV
 * 
 * _dict_CUoutput_mode = dict(((int(v), v) for k, v in CUoutput_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglFrameType(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1266genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4221, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1268generator106, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[106]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4221, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1268generator106(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4221, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4221, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4221, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1271generator107(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4234
 *     CU_EGL_FRAME_TYPE_PITCH = cydriver.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_PITCH
 * 
 * _dict_CUeglFrameType = dict(((int(v), v) for k, v in CUeglFrameType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglResourceLocationFlags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1269genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4234, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1271generator107, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[107]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4234, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1271generator107(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4234, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4234, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4234, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4234, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1274generator108(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4257
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = cydriver.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_VIDMEM
 * 
 * _dict_CUeglResourceLocationFlags = dict(((int(v), v) for k, v in CUeglResourceLocationFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglColorFormat(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1272genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4257, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1274generator108, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[108]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4257, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1274generator108(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4257, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4257, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4257, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4257, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1277generator109(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4717
 *     CU_EGL_COLOR_FORMAT_MAX = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX
 * 
 * _dict_CUeglColorFormat = dict(((int(v), v) for k, v in CUeglColorFormat.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGLDeviceList(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1275genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4717, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1277generator109, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[109]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4717, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1277generator109(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4717, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4717, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4717, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4717, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1280generator110(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4735
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = cydriver.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_NEXT_FRAME
 * 
 * _dict_CUGLDeviceList = dict(((int(v), v) for k, v in CUGLDeviceList.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGLmap_flags(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1278genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4735, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1280generator110, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[110]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4735, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1280generator110(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4735, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4735, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4735, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4735, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1283generator111(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4745
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 * _dict_CUGLmap_flags = dict(((int(v), v) for k, v in CUGLmap_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdeviceptr:
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1281genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 4745, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1283generator111, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[111]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4745, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1283generator111(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4745, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 4745, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 4745, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 4745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 4745, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1286generator112(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":5053
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamAttrID(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1284genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 5053, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1286generator112, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[112]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 5053, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1286generator112(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 5053, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 5053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 5053, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 5053, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 5053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 5053, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_1289generator113(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":5228
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemGenericAllocationHandle:
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1287genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 5228, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_1289generator113, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[113]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 5228, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_1289generator113(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 5228, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 5228, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 5228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_k);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_k, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_v))) __PYX_ERR(0, 5228, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_cuuint64_t")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_cuuint64_t(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

static int __Pyx_carray_from_py_cuuint64_t(PyObject *__pyx_v_o, cuuint64_t *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_item = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  cuuint64_t __pyx_t_11;
  char const *__pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_from_py_cuuint64_t", 0);

  /* "carray.from_py":80
 * @cname("__Pyx_carray_from_py_cuuint64_t")
 * cdef int __Pyx_carray_from_py_cuuint64_t(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length             # <<<<<<<<<<<<<<
 *     try:
 *         i = len(o)
*/
  __pyx_v_i = __pyx_v_length;

  /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_cuuint64_t(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "carray.from_py":82
 *     cdef Py_ssize_t i = length
 *     try:
 *         i = len(o)             # <<<<<<<<<<<<<<
 *     except (TypeError, OverflowError):
 *         pass
*/
      __pyx_t_4 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_cuuint64_t(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_cuuint64_t(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 86, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_10 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8));
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 86, __pyx_L1_error)
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 86, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_v_i = __pyx_t_4;
      __pyx_t_4 = (__pyx_t_4 + 1);

      /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":88
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
*/
        goto __pyx_L13_break;

        /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      }

      /* "carray.from_py":89
 *             if i >= length:
 *                 break
 *             v[i] = item             # <<<<<<<<<<<<<<
 *         else:
 *             i += 1  # convert index to length
*/
      __pyx_t_11 = __Pyx_PyLong_As_uint64_t(__pyx_v_item); if (unlikely((__pyx_t_11 == ((cuuint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(2, 89, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L15_for_else;
    __pyx_L13_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L16_for_end;
    /*else*/ {
      __pyx_L15_for_else:;

      /* "carray.from_py":91
 *             v[i] = item
 *         else:
 *             i += 1  # convert index to length             # <<<<<<<<<<<<<<
 *             if i == length:
 *                 return 0
*/
      __pyx_v_i = (__pyx_v_i + 1);

      /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":93
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
*/
        __pyx_r = 0;
        goto __pyx_L0;

        /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      }
    }
    __pyx_L16_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
*/
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_cuuint64_t")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_cuuint64_t(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("carray.from_py.__Pyx_carray_from_py_cuuint64_t", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_int")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_int(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_int(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_int", 0);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
*/
    __pyx_t_5 = __Pyx_PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 121, __pyx_L1_error)
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = __pyx_v_l;
  goto __pyx_L0;

  /* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_int")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_int(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_int")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_int(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_int(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_int", 0);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
*/
    __pyx_t_5 = __Pyx_PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 133, __pyx_L1_error)
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = __pyx_v_t;
  goto __pyx_L0;

  /* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_int")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_int(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_int")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

static int __Pyx_carray_from_py_int(PyObject *__pyx_v_o, int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_item = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  char const *__pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_from_py_int", 0);

  /* "carray.from_py":80
 * @cname("__Pyx_carray_from_py_int")
 * cdef int __Pyx_carray_from_py_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length             # <<<<<<<<<<<<<<
 *     try:
 *         i = len(o)
*/
  __pyx_v_i = __pyx_v_length;

  /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "carray.from_py":82
 *     cdef Py_ssize_t i = length
 *     try:
 *         i = len(o)             # <<<<<<<<<<<<<<
 *     except (TypeError, OverflowError):
 *         pass
*/
      __pyx_t_4 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 86, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_10 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8));
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 86, __pyx_L1_error)
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 86, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_v_i = __pyx_t_4;
      __pyx_t_4 = (__pyx_t_4 + 1);

      /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":88
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
*/
        goto __pyx_L13_break;

        /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      }

      /* "carray.from_py":89
 *             if i >= length:
 *                 break
 *             v[i] = item             # <<<<<<<<<<<<<<
 *         else:
 *             i += 1  # convert index to length
*/
      __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_item); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 89, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_5;

      /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L15_for_else;
    __pyx_L13_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L16_for_end;
    /*else*/ {
      __pyx_L15_for_else:;

      /* "carray.from_py":91
 *             v[i] = item
 *         else:
 *             i += 1  # convert index to length             # <<<<<<<<<<<<<<
 *             if i == length:
 *                 return 0
*/
      __pyx_v_i = (__pyx_v_i + 1);

      /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":93
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
*/
        __pyx_r = 0;
        goto __pyx_L0;

        /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      }
    }
    __pyx_L16_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
*/
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_11 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_11 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_11, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_int")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("carray.from_py.__Pyx_carray_from_py_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_unsigned_int")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_unsigned_int(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_unsigned_int(unsigned int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_unsigned_int", 0);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
*/
    __pyx_t_5 = __Pyx_PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 121, __pyx_L1_error)
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = __pyx_v_l;
  goto __pyx_L0;

  /* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_unsigned_int")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_unsigned_int(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_unsigned_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_unsigned_int")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_unsigned_int(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_unsigned_int(unsigned int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_unsigned_int", 0);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
*/
    __pyx_t_5 = __Pyx_PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 133, __pyx_L1_error)
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = __pyx_v_t;
  goto __pyx_L0;

  /* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_unsigned_int")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_unsigned_int(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_unsigned_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_unsigned_int")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_unsigned_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

static int __Pyx_carray_from_py_unsigned_int(PyObject *__pyx_v_o, unsigned int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_item = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  unsigned int __pyx_t_11;
  char const *__pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_from_py_unsigned_int", 0);

  /* "carray.from_py":80
 * @cname("__Pyx_carray_from_py_unsigned_int")
 * cdef int __Pyx_carray_from_py_unsigned_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length             # <<<<<<<<<<<<<<
 *     try:
 *         i = len(o)
*/
  __pyx_v_i = __pyx_v_length;

  /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_unsigned_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "carray.from_py":82
 *     cdef Py_ssize_t i = length
 *     try:
 *         i = len(o)             # <<<<<<<<<<<<<<
 *     except (TypeError, OverflowError):
 *         pass
*/
      __pyx_t_4 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_unsigned_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_unsigned_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 86, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_10 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8));
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 86, __pyx_L1_error)
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 86, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_v_i = __pyx_t_4;
      __pyx_t_4 = (__pyx_t_4 + 1);

      /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":88
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
*/
        goto __pyx_L13_break;

        /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      }

      /* "carray.from_py":89
 *             if i >= length:
 *                 break
 *             v[i] = item             # <<<<<<<<<<<<<<
 *         else:
 *             i += 1  # convert index to length
*/
      __pyx_t_11 = __Pyx_PyLong_As_unsigned_int(__pyx_v_item); if (unlikely((__pyx_t_11 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(2, 89, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L15_for_else;
    __pyx_L13_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L16_for_end;
    /*else*/ {
      __pyx_L15_for_else:;

      /* "carray.from_py":91
 *             v[i] = item
 *         else:
 *             i += 1  # convert index to length             # <<<<<<<<<<<<<<
 *             if i == length:
 *                 return 0
*/
      __pyx_v_i = (__pyx_v_i + 1);

      /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":93
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
*/
        __pyx_r = 0;
        goto __pyx_L0;

        /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      }
    }
    __pyx_L16_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
*/
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_unsigned_int")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_unsigned_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("carray.from_py.__Pyx_carray_from_py_unsigned_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_CUaddress_mode")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_CUaddress_mode(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_CUaddress_mode(CUaddress_mode *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_CUaddress_mode", 0);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_enum__CUaddress_mode_enum((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
*/
    __pyx_t_5 = __Pyx_PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 121, __pyx_L1_error)
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = __pyx_v_l;
  goto __pyx_L0;

  /* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_CUaddress_mode")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_CUaddress_mode(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_CUaddress_mode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_CUaddress_mode")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_CUaddress_mode(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_CUaddress_mode(CUaddress_mode *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_CUaddress_mode", 0);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_enum__CUaddress_mode_enum((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
*/
    __pyx_t_5 = __Pyx_PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 133, __pyx_L1_error)
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = __pyx_v_t;
  goto __pyx_L0;

  /* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_CUaddress_mode")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_CUaddress_mode(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_CUaddress_mode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_CUaddress_mode")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_CUaddress_mode(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

static int __Pyx_carray_from_py_CUaddress_mode(PyObject *__pyx_v_o, CUaddress_mode *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_item = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  CUaddress_mode __pyx_t_11;
  char const *__pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_from_py_CUaddress_mode", 0);

  /* "carray.from_py":80
 * @cname("__Pyx_carray_from_py_CUaddress_mode")
 * cdef int __Pyx_carray_from_py_CUaddress_mode(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length             # <<<<<<<<<<<<<<
 *     try:
 *         i = len(o)
*/
  __pyx_v_i = __pyx_v_length;

  /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_CUaddress_mode(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "carray.from_py":82
 *     cdef Py_ssize_t i = length
 *     try:
 *         i = len(o)             # <<<<<<<<<<<<<<
 *     except (TypeError, OverflowError):
 *         pass
*/
      __pyx_t_4 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_CUaddress_mode(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_CUaddress_mode(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 86, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_10 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8));
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 86, __pyx_L1_error)
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 86, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_v_i = __pyx_t_4;
      __pyx_t_4 = (__pyx_t_4 + 1);

      /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":88
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
*/
        goto __pyx_L13_break;

        /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      }

      /* "carray.from_py":89
 *             if i >= length:
 *                 break
 *             v[i] = item             # <<<<<<<<<<<<<<
 *         else:
 *             i += 1  # convert index to length
*/
      __pyx_t_11 = ((enum CUaddress_mode_enum)__Pyx_PyLong_As_enum__CUaddress_mode_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 89, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L15_for_else;
    __pyx_L13_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L16_for_end;
    /*else*/ {
      __pyx_L15_for_else:;

      /* "carray.from_py":91
 *             v[i] = item
 *         else:
 *             i += 1  # convert index to length             # <<<<<<<<<<<<<<
 *             if i == length:
 *                 return 0
*/
      __pyx_v_i = (__pyx_v_i + 1);

      /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":93
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
*/
        __pyx_r = 0;
        goto __pyx_L0;

        /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      }
    }
    __pyx_L16_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
*/
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_CUaddress_mode")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_CUaddress_mode(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("carray.from_py.__Pyx_carray_from_py_CUaddress_mode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_float")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_float(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_float(float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_float", 0);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
*/
    __pyx_t_5 = __Pyx_PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 121, __pyx_L1_error)
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = __pyx_v_l;
  goto __pyx_L0;

  /* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_float")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_float(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_float")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_float(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_float(float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_float", 0);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
*/
    __pyx_t_5 = __Pyx_PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 133, __pyx_L1_error)
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = __pyx_v_t;
  goto __pyx_L0;

  /* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_float")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_float(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_float")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_float(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

static int __Pyx_carray_from_py_float(PyObject *__pyx_v_o, float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_item = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  float __pyx_t_11;
  char const *__pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_from_py_float", 0);

  /* "carray.from_py":80
 * @cname("__Pyx_carray_from_py_float")
 * cdef int __Pyx_carray_from_py_float(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length             # <<<<<<<<<<<<<<
 *     try:
 *         i = len(o)
*/
  __pyx_v_i = __pyx_v_length;

  /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_float(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "carray.from_py":82
 *     cdef Py_ssize_t i = length
 *     try:
 *         i = len(o)             # <<<<<<<<<<<<<<
 *     except (TypeError, OverflowError):
 *         pass
*/
      __pyx_t_4 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_float(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_float(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 86, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_10 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8));
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 86, __pyx_L1_error)
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 86, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_v_i = __pyx_t_4;
      __pyx_t_4 = (__pyx_t_4 + 1);

      /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":88
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
*/
        goto __pyx_L13_break;

        /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      }

      /* "carray.from_py":89
 *             if i >= length:
 *                 break
 *             v[i] = item             # <<<<<<<<<<<<<<
 *         else:
 *             i += 1  # convert index to length
*/
      __pyx_t_11 = __Pyx_PyFloat_AsFloat(__pyx_v_item); if (unlikely((__pyx_t_11 == (float)-1) && PyErr_Occurred())) __PYX_ERR(2, 89, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L15_for_else;
    __pyx_L13_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L16_for_end;
    /*else*/ {
      __pyx_L15_for_else:;

      /* "carray.from_py":91
 *             v[i] = item
 *         else:
 *             i += 1  # convert index to length             # <<<<<<<<<<<<<<
 *             if i == length:
 *                 return 0
*/
      __pyx_v_i = (__pyx_v_i + 1);

      /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":93
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
*/
        __pyx_r = 0;
        goto __pyx_L0;

        /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      }
    }
    __pyx_L16_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
*/
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_float")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_float(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("carray.from_py.__Pyx_carray_from_py_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_PY_LONG_LONG")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_PY_LONG_LONG(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_PY_LONG_LONG(PY_LONG_LONG *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_PY_LONG_LONG", 0);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
*/
    __pyx_t_5 = __Pyx_PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 121, __pyx_L1_error)
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = __pyx_v_l;
  goto __pyx_L0;

  /* "carray.to_py":113
 * 
 * 
 * @cname("__Pyx_carray_to_py_PY_LONG_LONG")             # <<<<<<<<<<<<<<
 * cdef inline list __Pyx_carray_to_py_PY_LONG_LONG(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_PY_LONG_LONG", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_PY_LONG_LONG")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_PY_LONG_LONG(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_PY_LONG_LONG(PY_LONG_LONG *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_PY_LONG_LONG", 0);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
*/
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
*/
    __pyx_t_5 = __Pyx_PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 133, __pyx_L1_error)
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = __pyx_v_t;
  goto __pyx_L0;

  /* "carray.to_py":125
 * 
 * 
 * @cname("__Pyx_carray_to_tuple_PY_LONG_LONG")             # <<<<<<<<<<<<<<
 * cdef inline tuple __Pyx_carray_to_tuple_PY_LONG_LONG(base_type *v, Py_ssize_t length):
 *     cdef size_t i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_PY_LONG_LONG", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_PY_LONG_LONG")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_PY_LONG_LONG(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

static int __Pyx_carray_from_py_PY_LONG_LONG(PyObject *__pyx_v_o, PY_LONG_LONG *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_item = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PY_LONG_LONG __pyx_t_11;
  char const *__pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_from_py_PY_LONG_LONG", 0);

  /* "carray.from_py":80
 * @cname("__Pyx_carray_from_py_PY_LONG_LONG")
 * cdef int __Pyx_carray_from_py_PY_LONG_LONG(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length             # <<<<<<<<<<<<<<
 *     try:
 *         i = len(o)
*/
  __pyx_v_i = __pyx_v_length;

  /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_PY_LONG_LONG(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "carray.from_py":82
 *     cdef Py_ssize_t i = length
 *     try:
 *         i = len(o)             # <<<<<<<<<<<<<<
 *     except (TypeError, OverflowError):
 *         pass
*/
      __pyx_t_4 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_PY_LONG_LONG(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_PY_LONG_LONG(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 86, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_10 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8));
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 86, __pyx_L1_error)
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 86, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_v_i = __pyx_t_4;
      __pyx_t_4 = (__pyx_t_4 + 1);

      /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":88
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
*/
        goto __pyx_L13_break;

        /* "carray.from_py":87
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
*/
      }

      /* "carray.from_py":89
 *             if i >= length:
 *                 break
 *             v[i] = item             # <<<<<<<<<<<<<<
 *         else:
 *             i += 1  # convert index to length
*/
      __pyx_t_11 = __Pyx_PyLong_As_PY_LONG_LONG(__pyx_v_item); if (unlikely((__pyx_t_11 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(2, 89, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
*/
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L15_for_else;
    __pyx_L13_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L16_for_end;
    /*else*/ {
      __pyx_L15_for_else:;

      /* "carray.from_py":91
 *             v[i] = item
 *         else:
 *             i += 1  # convert index to length             # <<<<<<<<<<<<<<
 *             if i == length:
 *                 return 0
*/
      __pyx_v_i = (__pyx_v_i + 1);

      /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
      if (__pyx_t_6) {

        /* "carray.from_py":93
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
*/
        __pyx_r = 0;
        goto __pyx_L0;

        /* "carray.from_py":92
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
*/
      }
    }
    __pyx_L16_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
*/
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
*/
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":78
 *     object PyErr_Format(exc, const char *format, ...)
 * 
 * @cname("__Pyx_carray_from_py_PY_LONG_LONG")             # <<<<<<<<<<<<<<
 * cdef int __Pyx_carray_from_py_PY_LONG_LONG(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("carray.from_py.__Pyx_carray_from_py_PY_LONG_LONG", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.from_py":51
 *     cdef Py_ssize_t __Pyx_PyObject_LengthHint(object o, Py_ssize_t defaultval) except -1
 * 
 * @cname("__pyx_convert_vector_from_py_char___2a_")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_char___2a_(object o) except *:
 * 
*/

static std::vector<char *>  __pyx_convert_vector_from_py_char___2a_(PyObject *__pyx_v_o) {
  std::vector<char *>  __pyx_v_v;
  Py_ssize_t __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::vector<char *>  __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  char *__pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_char___2a_", 0);

  /* "vector.from_py":55
 * 
 *     cdef vector[X] v
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)             # <<<<<<<<<<<<<<
 * 
 *     if s > 0:
*/
  __pyx_t_1 = __Pyx_PyObject_LengthHint(__pyx_v_o, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 55, __pyx_L1_error)
  __pyx_v_s = __pyx_t_1;

  /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  __pyx_t_2 = (__pyx_v_s > 0);
  if (__pyx_t_2) {

    /* "vector.from_py":58
 * 
 *     if s > 0:
 *         v.reserve(<size_t> s)             # <<<<<<<<<<<<<<
 * 
 *     for item in o:
*/
    try {
      __pyx_v_v.reserve(((size_t)__pyx_v_s));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 58, __pyx_L1_error)
    }

    /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  }

  /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_3 = __pyx_v_o; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 60, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 60, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_3);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 60, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "vector.from_py":61
 * 
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 * 
 *     return v
*/
    __pyx_t_6 = __Pyx_PyObject_AsWritableString(__pyx_v_item); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 61, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((char *)__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 61, __pyx_L1_error)
    }

    /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "vector.from_py":63
 *         v.push_back(<X>item)
 * 
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":51
 *     cdef Py_ssize_t __Pyx_PyObject_LengthHint(object o, Py_ssize_t defaultval) except -1
 * 
 * @cname("__pyx_convert_vector_from_py_char___2a_")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_char___2a_(object o) except *:
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_char___2a_", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static std::vector<CUjit_option>  __pyx_convert_vector_from_py_CUjit_option(PyObject *__pyx_v_o) {
  std::vector<CUjit_option>  __pyx_v_v;
  Py_ssize_t __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUjit_option>  __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  CUjit_option __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUjit_option", 0);

  /* "vector.from_py":55
 * 
 *     cdef vector[X] v
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)             # <<<<<<<<<<<<<<
 * 
 *     if s > 0:
*/
  __pyx_t_1 = __Pyx_PyObject_LengthHint(__pyx_v_o, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 55, __pyx_L1_error)
  __pyx_v_s = __pyx_t_1;

  /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  __pyx_t_2 = (__pyx_v_s > 0);
  if (__pyx_t_2) {

    /* "vector.from_py":58
 * 
 *     if s > 0:
 *         v.reserve(<size_t> s)             # <<<<<<<<<<<<<<
 * 
 *     for item in o:
*/
    try {
      __pyx_v_v.reserve(((size_t)__pyx_v_s));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 58, __pyx_L1_error)
    }

    /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  }

  /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_3 = __pyx_v_o; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 60, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 60, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_3);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 60, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "vector.from_py":61
 * 
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 * 
 *     return v
*/
    __pyx_t_6 = ((enum CUjit_option_enum)__Pyx_PyLong_As_enum__CUjit_option_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 61, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUjit_option)__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 61, __pyx_L1_error)
    }

    /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "vector.from_py":63
 *         v.push_back(<X>item)
 * 
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":51
 *     cdef Py_ssize_t __Pyx_PyObject_LengthHint(object o, Py_ssize_t defaultval) except -1
 * 
 * @cname("__pyx_convert_vector_from_py_CUjit_option")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_CUjit_option(object o) except *:
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_CUjit_option", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static std::vector<CUlibraryOption>  __pyx_convert_vector_from_py_CUlibraryOption(PyObject *__pyx_v_o) {
  std::vector<CUlibraryOption>  __pyx_v_v;
  Py_ssize_t __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUlibraryOption>  __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  CUlibraryOption __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUlibraryOption", 0);

  /* "vector.from_py":55
 * 
 *     cdef vector[X] v
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)             # <<<<<<<<<<<<<<
 * 
 *     if s > 0:
*/
  __pyx_t_1 = __Pyx_PyObject_LengthHint(__pyx_v_o, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 55, __pyx_L1_error)
  __pyx_v_s = __pyx_t_1;

  /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  __pyx_t_2 = (__pyx_v_s > 0);
  if (__pyx_t_2) {

    /* "vector.from_py":58
 * 
 *     if s > 0:
 *         v.reserve(<size_t> s)             # <<<<<<<<<<<<<<
 * 
 *     for item in o:
*/
    try {
      __pyx_v_v.reserve(((size_t)__pyx_v_s));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 58, __pyx_L1_error)
    }

    /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  }

  /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_3 = __pyx_v_o; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 60, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 60, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_3);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 60, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "vector.from_py":61
 * 
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 * 
 *     return v
*/
    __pyx_t_6 = ((enum CUlibraryOption_enum)__Pyx_PyLong_As_enum__CUlibraryOption_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 61, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUlibraryOption)__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 61, __pyx_L1_error)
    }

    /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "vector.from_py":63
 *         v.push_back(<X>item)
 * 
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":51
 *     cdef Py_ssize_t __Pyx_PyObject_LengthHint(object o, Py_ssize_t defaultval) except -1
 * 
 * @cname("__pyx_convert_vector_from_py_CUlibraryOption")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_CUlibraryOption(object o) except *:
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_CUlibraryOption", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static std::vector<size_t>  __pyx_convert_vector_from_py_size_t(PyObject *__pyx_v_o) {
  std::vector<size_t>  __pyx_v_v;
  Py_ssize_t __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::vector<size_t>  __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_size_t", 0);

  /* "vector.from_py":55
 * 
 *     cdef vector[X] v
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)             # <<<<<<<<<<<<<<
 * 
 *     if s > 0:
*/
  __pyx_t_1 = __Pyx_PyObject_LengthHint(__pyx_v_o, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 55, __pyx_L1_error)
  __pyx_v_s = __pyx_t_1;

  /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  __pyx_t_2 = (__pyx_v_s > 0);
  if (__pyx_t_2) {

    /* "vector.from_py":58
 * 
 *     if s > 0:
 *         v.reserve(<size_t> s)             # <<<<<<<<<<<<<<
 * 
 *     for item in o:
*/
    try {
      __pyx_v_v.reserve(((size_t)__pyx_v_s));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 58, __pyx_L1_error)
    }

    /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  }

  /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_3 = __pyx_v_o; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 60, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 60, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_3);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 60, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "vector.from_py":61
 * 
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 * 
 *     return v
*/
    __pyx_t_6 = __Pyx_PyLong_As_size_t(__pyx_v_item); if (unlikely((__pyx_t_6 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 61, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((size_t)__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 61, __pyx_L1_error)
    }

    /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "vector.from_py":63
 *         v.push_back(<X>item)
 * 
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":51
 *     cdef Py_ssize_t __Pyx_PyObject_LengthHint(object o, Py_ssize_t defaultval) except -1
 * 
 * @cname("__pyx_convert_vector_from_py_size_t")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_size_t(object o) except *:
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_size_t", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static std::vector<CUmem_range_attribute>  __pyx_convert_vector_from_py_CUmem_range_attribute(PyObject *__pyx_v_o) {
  std::vector<CUmem_range_attribute>  __pyx_v_v;
  Py_ssize_t __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUmem_range_attribute>  __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  CUmem_range_attribute __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUmem_range_attribute", 0);

  /* "vector.from_py":55
 * 
 *     cdef vector[X] v
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)             # <<<<<<<<<<<<<<
 * 
 *     if s > 0:
*/
  __pyx_t_1 = __Pyx_PyObject_LengthHint(__pyx_v_o, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 55, __pyx_L1_error)
  __pyx_v_s = __pyx_t_1;

  /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  __pyx_t_2 = (__pyx_v_s > 0);
  if (__pyx_t_2) {

    /* "vector.from_py":58
 * 
 *     if s > 0:
 *         v.reserve(<size_t> s)             # <<<<<<<<<<<<<<
 * 
 *     for item in o:
*/
    try {
      __pyx_v_v.reserve(((size_t)__pyx_v_s));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 58, __pyx_L1_error)
    }

    /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  }

  /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_3 = __pyx_v_o; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 60, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 60, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_3);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 60, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "vector.from_py":61
 * 
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 * 
 *     return v
*/
    __pyx_t_6 = ((enum CUmem_range_attribute_enum)__Pyx_PyLong_As_enum__CUmem_range_attribute_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 61, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUmem_range_attribute)__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 61, __pyx_L1_error)
    }

    /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "vector.from_py":63
 *         v.push_back(<X>item)
 * 
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":51
 *     cdef Py_ssize_t __Pyx_PyObject_LengthHint(object o, Py_ssize_t defaultval) except -1
 * 
 * @cname("__pyx_convert_vector_from_py_CUmem_range_attribute")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_CUmem_range_attribute(object o) except *:
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_CUmem_range_attribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static std::vector<CUpointer_attribute>  __pyx_convert_vector_from_py_CUpointer_attribute(PyObject *__pyx_v_o) {
  std::vector<CUpointer_attribute>  __pyx_v_v;
  Py_ssize_t __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUpointer_attribute>  __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  CUpointer_attribute __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUpointer_attribute", 0);

  /* "vector.from_py":55
 * 
 *     cdef vector[X] v
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)             # <<<<<<<<<<<<<<
 * 
 *     if s > 0:
*/
  __pyx_t_1 = __Pyx_PyObject_LengthHint(__pyx_v_o, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 55, __pyx_L1_error)
  __pyx_v_s = __pyx_t_1;

  /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  __pyx_t_2 = (__pyx_v_s > 0);
  if (__pyx_t_2) {

    /* "vector.from_py":58
 * 
 *     if s > 0:
 *         v.reserve(<size_t> s)             # <<<<<<<<<<<<<<
 * 
 *     for item in o:
*/
    try {
      __pyx_v_v.reserve(((size_t)__pyx_v_s));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 58, __pyx_L1_error)
    }

    /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  }

  /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_3 = __pyx_v_o; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 60, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 60, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_3);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 60, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "vector.from_py":61
 * 
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 * 
 *     return v
*/
    __pyx_t_6 = ((enum CUpointer_attribute_enum)__Pyx_PyLong_As_enum__CUpointer_attribute_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 61, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUpointer_attribute)__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 61, __pyx_L1_error)
    }

    /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "vector.from_py":63
 *         v.push_back(<X>item)
 * 
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":51
 *     cdef Py_ssize_t __Pyx_PyObject_LengthHint(object o, Py_ssize_t defaultval) except -1
 * 
 * @cname("__pyx_convert_vector_from_py_CUpointer_attribute")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_CUpointer_attribute(object o) except *:
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_CUpointer_attribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static std::vector<int>  __pyx_convert_vector_from_py_int(PyObject *__pyx_v_o) {
  std::vector<int>  __pyx_v_v;
  Py_ssize_t __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::vector<int>  __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_int", 0);

  /* "vector.from_py":55
 * 
 *     cdef vector[X] v
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)             # <<<<<<<<<<<<<<
 * 
 *     if s > 0:
*/
  __pyx_t_1 = __Pyx_PyObject_LengthHint(__pyx_v_o, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 55, __pyx_L1_error)
  __pyx_v_s = __pyx_t_1;

  /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  __pyx_t_2 = (__pyx_v_s > 0);
  if (__pyx_t_2) {

    /* "vector.from_py":58
 * 
 *     if s > 0:
 *         v.reserve(<size_t> s)             # <<<<<<<<<<<<<<
 * 
 *     for item in o:
*/
    try {
      __pyx_v_v.reserve(((size_t)__pyx_v_s));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 58, __pyx_L1_error)
    }

    /* "vector.from_py":57
 *     cdef Py_ssize_t s = __Pyx_PyObject_LengthHint(o, 0)
 * 
 *     if s > 0:             # <<<<<<<<<<<<<<
 *         v.reserve(<size_t> s)
 * 
*/
  }

  /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_3 = __pyx_v_o; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 60, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 60, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_3);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 60, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "vector.from_py":61
 * 
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 * 
 *     return v
*/
    __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_v_item); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 61, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((int)__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 61, __pyx_L1_error)
    }

    /* "vector.from_py":60
 *         v.reserve(<size_t> s)
 * 
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "vector.from_py":63
 *         v.push_back(<X>item)
 * 
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":51
 *     cdef Py_ssize_t __Pyx_PyObject_LengthHint(object o, Py_ssize_t defaultval) except -1
 * 
 * @cname("__pyx_convert_vector_from_py_int")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *:
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":15
 * cimport cuda.bindings._lib.param_packer as param_packer
 * 
 * cdef void* _callocWrapper(length, size):             # <<<<<<<<<<<<<<
 *     cdef void* out = calloc(length, size)
 *     if out is NULL:
*/

static void *__pyx_f_4cuda_8bindings_6driver__callocWrapper(PyObject *__pyx_v_length, PyObject *__pyx_v_size) {
  void *__pyx_v_out;
  void *__pyx_r;
  __Pyx_RefNannyDeclarations
  size_t __pyx_t_1;
  size_t __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_callocWrapper", 0);

  /* "cuda/bindings/_lib/utils.pxi":16
 * 
 * cdef void* _callocWrapper(length, size):
 *     cdef void* out = calloc(length, size)             # <<<<<<<<<<<<<<
 *     if out is NULL:
 *         raise MemoryError('Failed to allocated length x size memory: {}x{}'.format(length, size))
*/
  __pyx_t_1 = __Pyx_PyLong_As_size_t(__pyx_v_length); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 16, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyLong_As_size_t(__pyx_v_size); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 16, __pyx_L1_error)
  __pyx_v_out = calloc(__pyx_t_1, __pyx_t_2);

  /* "cuda/bindings/_lib/utils.pxi":17
 * cdef void* _callocWrapper(length, size):
 *     cdef void* out = calloc(length, size)
 *     if out is NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('Failed to allocated length x size memory: {}x{}'.format(length, size))
 *     return out
*/
  __pyx_t_3 = (__pyx_v_out == NULL);
  if (unlikely(__pyx_t_3)) {

    /* "cuda/bindings/_lib/utils.pxi":18
 *     cdef void* out = calloc(length, size)
 *     if out is NULL:
 *         raise MemoryError('Failed to allocated length x size memory: {}x{}'.format(length, size))             # <<<<<<<<<<<<<<
 *     return out
 * 
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_MemoryError);
    __pyx_t_6 = __pyx_builtin_MemoryError; 
    __pyx_t_8 = __pyx_mstate_global->__pyx_kp_u_Failed_to_allocated_length_x_siz;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_2 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_length, __pyx_v_size};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_2, (3-__pyx_t_2) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_2 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_2, (2-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 18, __pyx_L1_error)

    /* "cuda/bindings/_lib/utils.pxi":17
 * cdef void* _callocWrapper(length, size):
 *     cdef void* out = calloc(length, size)
 *     if out is NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('Failed to allocated length x size memory: {}x{}'.format(length, size))
 *     return out
*/
  }

  /* "cuda/bindings/_lib/utils.pxi":19
 *     if out is NULL:
 *         raise MemoryError('Failed to allocated length x size memory: {}x{}'.format(length, size))
 *     return out             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperKernelParams:
*/
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":15
 * cimport cuda.bindings._lib.param_packer as param_packer
 * 
 * cdef void* _callocWrapper(length, size):             # <<<<<<<<<<<<<<
 *     cdef void* out = calloc(length, size)
 *     if out is NULL:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver._callocWrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":41
 *     }
 * 
 *     max_param_size = max(_ctypes.sizeof(max(_HelperKernelParams.supported_types, key=lambda t:_ctypes.sizeof(t))), sizeof(void_ptr))             # <<<<<<<<<<<<<<
 * 
 *     def __cinit__(self, kernelParams):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_4lambda(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19_HelperKernelParams_4lambda = {"lambda", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_4lambda, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_4lambda(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_t = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_t,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 41, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 41, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lambda", 0) < (0)) __PYX_ERR(1, 41, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lambda", 1, 1, 1, i); __PYX_ERR(1, 41, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 41, __pyx_L3_error)
    }
    __pyx_v_t = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 41, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperKernelParams.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_lambda_funcdef_4cuda_8bindings_6driver_19_HelperKernelParams_lambda(__pyx_self, __pyx_v_t);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_lambda_funcdef_4cuda_8bindings_6driver_19_HelperKernelParams_lambda(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lambda", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sizeof); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_t};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperKernelParams.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":43
 *     max_param_size = max(_ctypes.sizeof(max(_HelperKernelParams.supported_types, key=lambda t:_ctypes.sizeof(t))), sizeof(void_ptr))
 * 
 *     def __cinit__(self, kernelParams):             # <<<<<<<<<<<<<<
 *         self._pyobj_acquired = False
 *         self._malloc_list_created = False
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_kernelParams = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_kernelParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 43, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 43, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 43, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(1, 43, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 43, __pyx_L3_error)
    }
    __pyx_v_kernelParams = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 43, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperKernelParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_v_self), __pyx_v_kernelParams);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_v_err_buffer;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_v_data_idx = NULL;
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_v_ctype = NULL;
  PyObject *__pyx_v_size = NULL;
  void *__pyx_v_addr;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  void *__pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *(*__pyx_t_14)(PyObject *);
  PyObject *(*__pyx_t_15)(PyObject *);
  Py_ssize_t __pyx_t_16;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_21;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":44
 * 
 *     def __cinit__(self, kernelParams):
 *         self._pyobj_acquired = False             # <<<<<<<<<<<<<<
 *         self._malloc_list_created = False
 *         if kernelParams is None:
*/
  __pyx_v_self->_pyobj_acquired = 0;

  /* "cuda/bindings/_lib/utils.pxi":45
 *     def __cinit__(self, kernelParams):
 *         self._pyobj_acquired = False
 *         self._malloc_list_created = False             # <<<<<<<<<<<<<<
 *         if kernelParams is None:
 *             self._ckernelParams = NULL
*/
  __pyx_v_self->_malloc_list_created = 0;

  /* "cuda/bindings/_lib/utils.pxi":46
 *         self._pyobj_acquired = False
 *         self._malloc_list_created = False
 *         if kernelParams is None:             # <<<<<<<<<<<<<<
 *             self._ckernelParams = NULL
 *         elif isinstance(kernelParams, (int)):
*/
  __pyx_t_1 = (__pyx_v_kernelParams == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":47
 *         self._malloc_list_created = False
 *         if kernelParams is None:
 *             self._ckernelParams = NULL             # <<<<<<<<<<<<<<
 *         elif isinstance(kernelParams, (int)):
 *             # Easy run, user gave us an already configured void** address
*/
    __pyx_v_self->_ckernelParams = NULL;

    /* "cuda/bindings/_lib/utils.pxi":46
 *         self._pyobj_acquired = False
 *         self._malloc_list_created = False
 *         if kernelParams is None:             # <<<<<<<<<<<<<<
 *             self._ckernelParams = NULL
 *         elif isinstance(kernelParams, (int)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/_lib/utils.pxi":48
 *         if kernelParams is None:
 *             self._ckernelParams = NULL
 *         elif isinstance(kernelParams, (int)):             # <<<<<<<<<<<<<<
 *             # Easy run, user gave us an already configured void** address
 *             self._ckernelParams = <void**><void_ptr>kernelParams
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_kernelParams); 
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":50
 *         elif isinstance(kernelParams, (int)):
 *             # Easy run, user gave us an already configured void** address
 *             self._ckernelParams = <void**><void_ptr>kernelParams             # <<<<<<<<<<<<<<
 *         elif PyObject_CheckBuffer(kernelParams):
 *             # Easy run, get address from Python Buffer Protocol
*/
    __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_kernelParams); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 50, __pyx_L1_error)
    __pyx_v_self->_ckernelParams = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

    /* "cuda/bindings/_lib/utils.pxi":48
 *         if kernelParams is None:
 *             self._ckernelParams = NULL
 *         elif isinstance(kernelParams, (int)):             # <<<<<<<<<<<<<<
 *             # Easy run, user gave us an already configured void** address
 *             self._ckernelParams = <void**><void_ptr>kernelParams
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/_lib/utils.pxi":51
 *             # Easy run, user gave us an already configured void** address
 *             self._ckernelParams = <void**><void_ptr>kernelParams
 *         elif PyObject_CheckBuffer(kernelParams):             # <<<<<<<<<<<<<<
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(kernelParams, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
*/
  __pyx_t_1 = PyObject_CheckBuffer(__pyx_v_kernelParams);
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":53
 *         elif PyObject_CheckBuffer(kernelParams):
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(kernelParams, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)             # <<<<<<<<<<<<<<
 *             if err_buffer == -1:
 *                 raise RuntimeError("Argument 'kernelParams' failed to retrieve buffer through Buffer Protocol")
*/
    __pyx_t_3 = PyObject_GetBuffer(__pyx_v_kernelParams, (&__pyx_v_self->_pybuffer), (PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 53, __pyx_L1_error)
    __pyx_v_err_buffer = __pyx_t_3;

    /* "cuda/bindings/_lib/utils.pxi":54
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(kernelParams, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
 *             if err_buffer == -1:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError("Argument 'kernelParams' failed to retrieve buffer through Buffer Protocol")
 *             self._pyobj_acquired = True
*/
    __pyx_t_1 = (__pyx_v_err_buffer == -1L);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/_lib/utils.pxi":55
 *             err_buffer = PyObject_GetBuffer(kernelParams, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
 *             if err_buffer == -1:
 *                 raise RuntimeError("Argument 'kernelParams' failed to retrieve buffer through Buffer Protocol")             # <<<<<<<<<<<<<<
 *             self._pyobj_acquired = True
 *             self._ckernelParams = <void**><void_ptr>self._pybuffer.buf
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_RuntimeError);
      __pyx_t_6 = __pyx_builtin_RuntimeError; 
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_kernelParams_failed_to};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 55, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(1, 55, __pyx_L1_error)

      /* "cuda/bindings/_lib/utils.pxi":54
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(kernelParams, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
 *             if err_buffer == -1:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError("Argument 'kernelParams' failed to retrieve buffer through Buffer Protocol")
 *             self._pyobj_acquired = True
*/
    }

    /* "cuda/bindings/_lib/utils.pxi":56
 *             if err_buffer == -1:
 *                 raise RuntimeError("Argument 'kernelParams' failed to retrieve buffer through Buffer Protocol")
 *             self._pyobj_acquired = True             # <<<<<<<<<<<<<<
 *             self._ckernelParams = <void**><void_ptr>self._pybuffer.buf
 *         elif isinstance(kernelParams, (tuple)) and len(kernelParams) == 2 and isinstance(kernelParams[0], (tuple)) and isinstance(kernelParams[1], (tuple)):
*/
    __pyx_v_self->_pyobj_acquired = 1;

    /* "cuda/bindings/_lib/utils.pxi":57
 *                 raise RuntimeError("Argument 'kernelParams' failed to retrieve buffer through Buffer Protocol")
 *             self._pyobj_acquired = True
 *             self._ckernelParams = <void**><void_ptr>self._pybuffer.buf             # <<<<<<<<<<<<<<
 *         elif isinstance(kernelParams, (tuple)) and len(kernelParams) == 2 and isinstance(kernelParams[0], (tuple)) and isinstance(kernelParams[1], (tuple)):
 *             # Hard run, construct and fill out contigues memory using provided kernel values and types based
*/
    __pyx_v_self->_ckernelParams = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pybuffer.buf));

    /* "cuda/bindings/_lib/utils.pxi":51
 *             # Easy run, user gave us an already configured void** address
 *             self._ckernelParams = <void**><void_ptr>kernelParams
 *         elif PyObject_CheckBuffer(kernelParams):             # <<<<<<<<<<<<<<
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(kernelParams, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/_lib/utils.pxi":58
 *             self._pyobj_acquired = True
 *             self._ckernelParams = <void**><void_ptr>self._pybuffer.buf
 *         elif isinstance(kernelParams, (tuple)) and len(kernelParams) == 2 and isinstance(kernelParams[0], (tuple)) and isinstance(kernelParams[1], (tuple)):             # <<<<<<<<<<<<<<
 *             # Hard run, construct and fill out contigues memory using provided kernel values and types based
 *             if len(kernelParams[0]) != len(kernelParams[1]):
*/
  __pyx_t_8 = PyTuple_Check(__pyx_v_kernelParams); 
  if (__pyx_t_8) {
  } else {
    __pyx_t_1 = __pyx_t_8;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_9 = PyObject_Length(__pyx_v_kernelParams); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(1, 58, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_9 == 2);
  if (__pyx_t_8) {
  } else {
    __pyx_t_1 = __pyx_t_8;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_kernelParams, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_Check(__pyx_t_4); 
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_8) {
  } else {
    __pyx_t_1 = __pyx_t_8;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_kernelParams, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_Check(__pyx_t_4); 
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __pyx_t_8;
  __pyx_L5_bool_binop_done:;
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/_lib/utils.pxi":60
 *         elif isinstance(kernelParams, (tuple)) and len(kernelParams) == 2 and isinstance(kernelParams[0], (tuple)) and isinstance(kernelParams[1], (tuple)):
 *             # Hard run, construct and fill out contigues memory using provided kernel values and types based
 *             if len(kernelParams[0]) != len(kernelParams[1]):             # <<<<<<<<<<<<<<
 *                 raise TypeError("Argument 'kernelParams' has tuples with different length")
 *             if len(kernelParams[0]) != 0:
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_kernelParams, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_kernelParams, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_1 = (__pyx_t_9 != __pyx_t_10);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/_lib/utils.pxi":61
 *             # Hard run, construct and fill out contigues memory using provided kernel values and types based
 *             if len(kernelParams[0]) != len(kernelParams[1]):
 *                 raise TypeError("Argument 'kernelParams' has tuples with different length")             # <<<<<<<<<<<<<<
 *             if len(kernelParams[0]) != 0:
 *                 self._length = len(kernelParams[0])
*/
      __pyx_t_6 = NULL;
      __Pyx_INCREF(__pyx_builtin_TypeError);
      __pyx_t_5 = __pyx_builtin_TypeError; 
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_Argument_kernelParams_has_tuples};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 61, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(1, 61, __pyx_L1_error)

      /* "cuda/bindings/_lib/utils.pxi":60
 *         elif isinstance(kernelParams, (tuple)) and len(kernelParams) == 2 and isinstance(kernelParams[0], (tuple)) and isinstance(kernelParams[1], (tuple)):
 *             # Hard run, construct and fill out contigues memory using provided kernel values and types based
 *             if len(kernelParams[0]) != len(kernelParams[1]):             # <<<<<<<<<<<<<<
 *                 raise TypeError("Argument 'kernelParams' has tuples with different length")
 *             if len(kernelParams[0]) != 0:
*/
    }

    /* "cuda/bindings/_lib/utils.pxi":62
 *             if len(kernelParams[0]) != len(kernelParams[1]):
 *                 raise TypeError("Argument 'kernelParams' has tuples with different length")
 *             if len(kernelParams[0]) != 0:             # <<<<<<<<<<<<<<
 *                 self._length = len(kernelParams[0])
 *                 self._ckernelParams = <void**>_callocWrapper(len(kernelParams[0]), sizeof(void*))
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_kernelParams, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(1, 62, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_1 = (__pyx_t_10 != 0);
    if (__pyx_t_1) {

      /* "cuda/bindings/_lib/utils.pxi":63
 *                 raise TypeError("Argument 'kernelParams' has tuples with different length")
 *             if len(kernelParams[0]) != 0:
 *                 self._length = len(kernelParams[0])             # <<<<<<<<<<<<<<
 *                 self._ckernelParams = <void**>_callocWrapper(len(kernelParams[0]), sizeof(void*))
 *                 self._ckernelParamsData = <char*>_callocWrapper(len(kernelParams[0]), _HelperKernelParams.max_param_size)
*/
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_kernelParams, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 63, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(1, 63, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_self->_length = __pyx_t_10;

      /* "cuda/bindings/_lib/utils.pxi":64
 *             if len(kernelParams[0]) != 0:
 *                 self._length = len(kernelParams[0])
 *                 self._ckernelParams = <void**>_callocWrapper(len(kernelParams[0]), sizeof(void*))             # <<<<<<<<<<<<<<
 *                 self._ckernelParamsData = <char*>_callocWrapper(len(kernelParams[0]), _HelperKernelParams.max_param_size)
 *                 self._malloc_list_created = True
*/
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_kernelParams, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 64, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(1, 64, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 64, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(void *))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 64, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_11 = __pyx_f_4cuda_8bindings_6driver__callocWrapper(__pyx_t_4, __pyx_t_5); if (unlikely(__pyx_t_11 == ((void *)0) && PyErr_Occurred())) __PYX_ERR(1, 64, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_v_self->_ckernelParams = ((void **)__pyx_t_11);

      /* "cuda/bindings/_lib/utils.pxi":65
 *                 self._length = len(kernelParams[0])
 *                 self._ckernelParams = <void**>_callocWrapper(len(kernelParams[0]), sizeof(void*))
 *                 self._ckernelParamsData = <char*>_callocWrapper(len(kernelParams[0]), _HelperKernelParams.max_param_size)             # <<<<<<<<<<<<<<
 *                 self._malloc_list_created = True
 * 
*/
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_kernelParams, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams), __pyx_mstate_global->__pyx_n_u_max_param_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_11 = __pyx_f_4cuda_8bindings_6driver__callocWrapper(__pyx_t_5, __pyx_t_4); if (unlikely(__pyx_t_11 == ((void *)0) && PyErr_Occurred())) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_self->_ckernelParamsData = ((char *)__pyx_t_11);

      /* "cuda/bindings/_lib/utils.pxi":66
 *                 self._ckernelParams = <void**>_callocWrapper(len(kernelParams[0]), sizeof(void*))
 *                 self._ckernelParamsData = <char*>_callocWrapper(len(kernelParams[0]), _HelperKernelParams.max_param_size)
 *                 self._malloc_list_created = True             # <<<<<<<<<<<<<<
 * 
 *             idx = 0
*/
      __pyx_v_self->_malloc_list_created = 1;

      /* "cuda/bindings/_lib/utils.pxi":62
 *             if len(kernelParams[0]) != len(kernelParams[1]):
 *                 raise TypeError("Argument 'kernelParams' has tuples with different length")
 *             if len(kernelParams[0]) != 0:             # <<<<<<<<<<<<<<
 *                 self._length = len(kernelParams[0])
 *                 self._ckernelParams = <void**>_callocWrapper(len(kernelParams[0]), sizeof(void*))
*/
    }

    /* "cuda/bindings/_lib/utils.pxi":68
 *                 self._malloc_list_created = True
 * 
 *             idx = 0             # <<<<<<<<<<<<<<
 *             data_idx = 0
 *             for value, ctype in zip(kernelParams[0], kernelParams[1]):
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_idx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/_lib/utils.pxi":69
 * 
 *             idx = 0
 *             data_idx = 0             # <<<<<<<<<<<<<<
 *             for value, ctype in zip(kernelParams[0], kernelParams[1]):
 *                 if ctype is None:
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_data_idx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/_lib/utils.pxi":70
 *             idx = 0
 *             data_idx = 0
 *             for value, ctype in zip(kernelParams[0], kernelParams[1]):             # <<<<<<<<<<<<<<
 *                 if ctype is None:
 *                     # special cases for None
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_6 = __pyx_builtin_zip; 
    __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_kernelParams, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 70, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_kernelParams, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 70, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_12, __pyx_t_13};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 70, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
      __pyx_t_6 = __pyx_t_4; __Pyx_INCREF(__pyx_t_6);
      __pyx_t_10 = 0;
      __pyx_t_14 = NULL;
    } else {
      __pyx_t_10 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 70, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_14 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 70, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    for (;;) {
      if (likely(!__pyx_t_14)) {
        if (likely(PyList_CheckExact(__pyx_t_6))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 70, __pyx_L1_error)
            #endif
            if (__pyx_t_10 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_10);
          ++__pyx_t_10;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 70, __pyx_L1_error)
            #endif
            if (__pyx_t_10 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_10));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_10);
          #endif
          ++__pyx_t_10;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 70, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_14(__pyx_t_6);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(1, 70, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
        PyObject* sequence = __pyx_t_4;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(1, 70, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_13 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_13);
          __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_12);
        } else {
          __pyx_t_13 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 70, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_13);
          __pyx_t_12 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 70, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_12);
        }
        #else
        __pyx_t_13 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 70, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __pyx_t_12 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 70, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        #endif
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 70, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
        index = 0; __pyx_t_13 = __pyx_t_15(__pyx_t_5); if (unlikely(!__pyx_t_13)) goto __pyx_L13_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_13);
        index = 1; __pyx_t_12 = __pyx_t_15(__pyx_t_5); if (unlikely(!__pyx_t_12)) goto __pyx_L13_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_12);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_5), 2) < (0)) __PYX_ERR(1, 70, __pyx_L1_error)
        __pyx_t_15 = NULL;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        goto __pyx_L14_unpacking_done;
        __pyx_L13_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_15 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 70, __pyx_L1_error)
        __pyx_L14_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_13);
      __pyx_t_13 = 0;
      __Pyx_XDECREF_SET(__pyx_v_ctype, __pyx_t_12);
      __pyx_t_12 = 0;

      /* "cuda/bindings/_lib/utils.pxi":71
 *             data_idx = 0
 *             for value, ctype in zip(kernelParams[0], kernelParams[1]):
 *                 if ctype is None:             # <<<<<<<<<<<<<<
 *                     # special cases for None
 *                     if callable(getattr(value, 'getPtr', None)):
*/
      __pyx_t_1 = (__pyx_v_ctype == Py_None);
      if (__pyx_t_1) {

        /* "cuda/bindings/_lib/utils.pxi":73
 *                 if ctype is None:
 *                     # special cases for None
 *                     if callable(getattr(value, 'getPtr', None)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = <void*><void_ptr>value.getPtr()
 *                     elif isinstance(value, (_ctypes.Structure)):
*/
        __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_getPtr, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 73, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_1 = __Pyx_PyCallable_Check(__pyx_t_4); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 73, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (__pyx_t_1) {

          /* "cuda/bindings/_lib/utils.pxi":74
 *                     # special cases for None
 *                     if callable(getattr(value, 'getPtr', None)):
 *                         self._ckernelParams[idx] = <void*><void_ptr>value.getPtr()             # <<<<<<<<<<<<<<
 *                     elif isinstance(value, (_ctypes.Structure)):
 *                         self._ckernelParams[idx] = <void*><void_ptr>_ctypes.addressof(value)
*/
          __pyx_t_12 = __pyx_v_value;
          __Pyx_INCREF(__pyx_t_12);
          __pyx_t_7 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 74, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 74, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 74, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_9]) = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

          /* "cuda/bindings/_lib/utils.pxi":73
 *                 if ctype is None:
 *                     # special cases for None
 *                     if callable(getattr(value, 'getPtr', None)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = <void*><void_ptr>value.getPtr()
 *                     elif isinstance(value, (_ctypes.Structure)):
*/
          goto __pyx_L16;
        }

        /* "cuda/bindings/_lib/utils.pxi":75
 *                     if callable(getattr(value, 'getPtr', None)):
 *                         self._ckernelParams[idx] = <void*><void_ptr>value.getPtr()
 *                     elif isinstance(value, (_ctypes.Structure)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = <void*><void_ptr>_ctypes.addressof(value)
 *                     elif isinstance(value, (_Enum)):
*/
        __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 75, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Structure); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 75, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_12); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 75, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (__pyx_t_1) {

          /* "cuda/bindings/_lib/utils.pxi":76
 *                         self._ckernelParams[idx] = <void*><void_ptr>value.getPtr()
 *                     elif isinstance(value, (_ctypes.Structure)):
 *                         self._ckernelParams[idx] = <void*><void_ptr>_ctypes.addressof(value)             # <<<<<<<<<<<<<<
 *                     elif isinstance(value, (_Enum)):
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
*/
          __pyx_t_4 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 76, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_addressof); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 76, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_7 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_4);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_7 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value};
            __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 76, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_12);
          }
          __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_12); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 76, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 76, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_9]) = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

          /* "cuda/bindings/_lib/utils.pxi":75
 *                     if callable(getattr(value, 'getPtr', None)):
 *                         self._ckernelParams[idx] = <void*><void_ptr>value.getPtr()
 *                     elif isinstance(value, (_ctypes.Structure)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = <void*><void_ptr>_ctypes.addressof(value)
 *                     elif isinstance(value, (_Enum)):
*/
          goto __pyx_L16;
        }

        /* "cuda/bindings/_lib/utils.pxi":77
 *                     elif isinstance(value, (_ctypes.Structure)):
 *                         self._ckernelParams[idx] = <void*><void_ptr>_ctypes.addressof(value)
 *                     elif isinstance(value, (_Enum)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<int*>self._ckernelParams[idx])[0] = value.value
*/
        __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_Enum); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 77, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_12); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 77, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (likely(__pyx_t_1)) {

          /* "cuda/bindings/_lib/utils.pxi":78
 *                         self._ckernelParams[idx] = <void*><void_ptr>_ctypes.addressof(value)
 *                     elif isinstance(value, (_Enum)):
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])             # <<<<<<<<<<<<<<
 *                         (<int*>self._ckernelParams[idx])[0] = value.value
 *                         data_idx += sizeof(int)
*/
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_data_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 78, __pyx_L1_error)
          __pyx_t_16 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_16 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 78, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_16]) = (&(__pyx_v_self->_ckernelParamsData[__pyx_t_9]));

          /* "cuda/bindings/_lib/utils.pxi":79
 *                     elif isinstance(value, (_Enum)):
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<int*>self._ckernelParams[idx])[0] = value.value             # <<<<<<<<<<<<<<
 *                         data_idx += sizeof(int)
 *                     else:
*/
          __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 79, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_t_12); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 79, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 79, __pyx_L1_error)
          (((int *)(__pyx_v_self->_ckernelParams[__pyx_t_9]))[0]) = __pyx_t_3;

          /* "cuda/bindings/_lib/utils.pxi":80
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<int*>self._ckernelParams[idx])[0] = value.value
 *                         data_idx += sizeof(int)             # <<<<<<<<<<<<<<
 *                     else:
 *                         raise TypeError("Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute".format(type(value), type(_ctypes.Structure), type(_ctypes.c_void_p)))
*/
          __pyx_t_12 = __Pyx_PyLong_FromSize_t((sizeof(int))); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 80, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_data_idx, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 80, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_DECREF_SET(__pyx_v_data_idx, __pyx_t_5);
          __pyx_t_5 = 0;

          /* "cuda/bindings/_lib/utils.pxi":77
 *                     elif isinstance(value, (_ctypes.Structure)):
 *                         self._ckernelParams[idx] = <void*><void_ptr>_ctypes.addressof(value)
 *                     elif isinstance(value, (_Enum)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<int*>self._ckernelParams[idx])[0] = value.value
*/
          goto __pyx_L16;
        }

        /* "cuda/bindings/_lib/utils.pxi":82
 *                         data_idx += sizeof(int)
 *                     else:
 *                         raise TypeError("Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute".format(type(value), type(_ctypes.Structure), type(_ctypes.c_void_p)))             # <<<<<<<<<<<<<<
 *                 elif ctype in _HelperKernelParams.supported_types:
 *                     self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
*/
        /*else*/ {
          __pyx_t_12 = NULL;
          __Pyx_INCREF(__pyx_builtin_TypeError);
          __pyx_t_4 = __pyx_builtin_TypeError; 
          __pyx_t_17 = __pyx_mstate_global->__pyx_kp_u_Provided_argument_is_of_type_but;
          __Pyx_INCREF(__pyx_t_17);
          __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 82, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_18);
          __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_Structure); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 82, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_19);
          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 82, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_18);
          __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 82, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_20);
          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
          __pyx_t_7 = 0;
          {
            PyObject *__pyx_callargs[4] = {__pyx_t_17, ((PyObject *)Py_TYPE(__pyx_v_value)), ((PyObject *)Py_TYPE(__pyx_t_19)), ((PyObject *)Py_TYPE(__pyx_t_20))};
            __pyx_t_13 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_7, (4-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
            __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
            __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 82, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
          }
          __pyx_t_7 = 1;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_13};
            __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 82, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
          }
          __Pyx_Raise(__pyx_t_5, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __PYX_ERR(1, 82, __pyx_L1_error)
        }
        __pyx_L16:;

        /* "cuda/bindings/_lib/utils.pxi":71
 *             data_idx = 0
 *             for value, ctype in zip(kernelParams[0], kernelParams[1]):
 *                 if ctype is None:             # <<<<<<<<<<<<<<
 *                     # special cases for None
 *                     if callable(getattr(value, 'getPtr', None)):
*/
        goto __pyx_L15;
      }

      /* "cuda/bindings/_lib/utils.pxi":83
 *                     else:
 *                         raise TypeError("Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute".format(type(value), type(_ctypes.Structure), type(_ctypes.c_void_p)))
 *                 elif ctype in _HelperKernelParams.supported_types:             # <<<<<<<<<<<<<<
 *                     self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 * 
*/
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams), __pyx_mstate_global->__pyx_n_u_supported_types); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 83, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_ctype, __pyx_t_5, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 83, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (__pyx_t_1) {

        /* "cuda/bindings/_lib/utils.pxi":84
 *                         raise TypeError("Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute".format(type(value), type(_ctypes.Structure), type(_ctypes.c_void_p)))
 *                 elif ctype in _HelperKernelParams.supported_types:
 *                     self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])             # <<<<<<<<<<<<<<
 * 
 *                     # handle case where a float is passed as a double
*/
        __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_data_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 84, __pyx_L1_error)
        __pyx_t_16 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_16 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 84, __pyx_L1_error)
        (__pyx_v_self->_ckernelParams[__pyx_t_16]) = (&(__pyx_v_self->_ckernelParamsData[__pyx_t_9]));

        /* "cuda/bindings/_lib/utils.pxi":87
 * 
 *                     # handle case where a float is passed as a double
 *                     if ctype == _ctypes.c_double and isinstance(value, _ctypes.c_float):             # <<<<<<<<<<<<<<
 *                         value = ctype(value.value)
 *                     if not isinstance(value, ctype): # make it a ctype
*/
        __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 87, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_c_double); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 87, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = PyObject_RichCompare(__pyx_v_ctype, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 87, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(1, 87, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (__pyx_t_8) {
        } else {
          __pyx_t_1 = __pyx_t_8;
          goto __pyx_L18_bool_binop_done;
        }
        __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 87, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_c_float); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 87, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_8 = PyObject_IsInstance(__pyx_v_value, __pyx_t_4); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 87, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_1 = __pyx_t_8;
        __pyx_L18_bool_binop_done:;
        if (__pyx_t_1) {

          /* "cuda/bindings/_lib/utils.pxi":88
 *                     # handle case where a float is passed as a double
 *                     if ctype == _ctypes.c_double and isinstance(value, _ctypes.c_float):
 *                         value = ctype(value.value)             # <<<<<<<<<<<<<<
 *                     if not isinstance(value, ctype): # make it a ctype
 *                         size = param_packer.feed(self._ckernelParams[idx], value, ctype)
*/
          __pyx_t_5 = NULL;
          __Pyx_INCREF(__pyx_v_ctype);
          __pyx_t_13 = __pyx_v_ctype; 
          __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 88, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_7 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
            assert(__pyx_t_5);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_13);
            __Pyx_INCREF(__pyx_t_5);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_13, __pyx__function);
            __pyx_t_7 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_12};
            __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 88, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_4);
          __pyx_t_4 = 0;

          /* "cuda/bindings/_lib/utils.pxi":87
 * 
 *                     # handle case where a float is passed as a double
 *                     if ctype == _ctypes.c_double and isinstance(value, _ctypes.c_float):             # <<<<<<<<<<<<<<
 *                         value = ctype(value.value)
 *                     if not isinstance(value, ctype): # make it a ctype
*/
        }

        /* "cuda/bindings/_lib/utils.pxi":89
 *                     if ctype == _ctypes.c_double and isinstance(value, _ctypes.c_float):
 *                         value = ctype(value.value)
 *                     if not isinstance(value, ctype): # make it a ctype             # <<<<<<<<<<<<<<
 *                         size = param_packer.feed(self._ckernelParams[idx], value, ctype)
 *                         if size == 0: # feed failed
*/
        __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_v_ctype); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 89, __pyx_L1_error)
        __pyx_t_8 = (!__pyx_t_1);
        if (__pyx_t_8) {

          /* "cuda/bindings/_lib/utils.pxi":90
 *                         value = ctype(value.value)
 *                     if not isinstance(value, ctype): # make it a ctype
 *                         size = param_packer.feed(self._ckernelParams[idx], value, ctype)             # <<<<<<<<<<<<<<
 *                         if size == 0: # feed failed
 *                             value = ctype(value)
*/
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 90, __pyx_L1_error)
          __pyx_t_4 = __Pyx_PyLong_From_int(feed((__pyx_v_self->_ckernelParams[__pyx_t_9]), __pyx_v_value, __pyx_v_ctype)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 90, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_XDECREF_SET(__pyx_v_size, __pyx_t_4);
          __pyx_t_4 = 0;

          /* "cuda/bindings/_lib/utils.pxi":91
 *                     if not isinstance(value, ctype): # make it a ctype
 *                         size = param_packer.feed(self._ckernelParams[idx], value, ctype)
 *                         if size == 0: # feed failed             # <<<<<<<<<<<<<<
 *                             value = ctype(value)
 *                             size = _ctypes.sizeof(ctype)
*/
          __pyx_t_8 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_size, __pyx_mstate_global->__pyx_int_0, 0, 0)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(1, 91, __pyx_L1_error)
          if (__pyx_t_8) {

            /* "cuda/bindings/_lib/utils.pxi":92
 *                         size = param_packer.feed(self._ckernelParams[idx], value, ctype)
 *                         if size == 0: # feed failed
 *                             value = ctype(value)             # <<<<<<<<<<<<<<
 *                             size = _ctypes.sizeof(ctype)
 *                             addr = <void*>(<void_ptr>_ctypes.addressof(value))
*/
            __pyx_t_13 = NULL;
            __Pyx_INCREF(__pyx_v_ctype);
            __pyx_t_12 = __pyx_v_ctype; 
            __pyx_t_7 = 1;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_12))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12);
              assert(__pyx_t_13);
              PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_12);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(__pyx__function);
              __Pyx_DECREF_SET(__pyx_t_12, __pyx__function);
              __pyx_t_7 = 0;
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_v_value};
              __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 92, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_4);
            __pyx_t_4 = 0;

            /* "cuda/bindings/_lib/utils.pxi":93
 *                         if size == 0: # feed failed
 *                             value = ctype(value)
 *                             size = _ctypes.sizeof(ctype)             # <<<<<<<<<<<<<<
 *                             addr = <void*>(<void_ptr>_ctypes.addressof(value))
 *                             memcpy(self._ckernelParams[idx], addr, size)
*/
            __pyx_t_12 = NULL;
            __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 93, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_sizeof); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 93, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_7 = 1;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5);
              assert(__pyx_t_12);
              PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_12);
              __Pyx_INCREF(__pyx__function);
              __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
              __pyx_t_7 = 0;
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_ctype};
              __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 93, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_DECREF_SET(__pyx_v_size, __pyx_t_4);
            __pyx_t_4 = 0;

            /* "cuda/bindings/_lib/utils.pxi":94
 *                             value = ctype(value)
 *                             size = _ctypes.sizeof(ctype)
 *                             addr = <void*>(<void_ptr>_ctypes.addressof(value))             # <<<<<<<<<<<<<<
 *                             memcpy(self._ckernelParams[idx], addr, size)
 *                     else:
*/
            __pyx_t_5 = NULL;
            __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 94, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_12);
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_addressof); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 94, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            __pyx_t_7 = 1;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
              assert(__pyx_t_5);
              PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(__pyx__function);
              __Pyx_DECREF_SET(__pyx_t_13, __pyx__function);
              __pyx_t_7 = 0;
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_value};
              __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 94, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
            }
            __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 94, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_v_addr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

            /* "cuda/bindings/_lib/utils.pxi":95
 *                             size = _ctypes.sizeof(ctype)
 *                             addr = <void*>(<void_ptr>_ctypes.addressof(value))
 *                             memcpy(self._ckernelParams[idx], addr, size)             # <<<<<<<<<<<<<<
 *                     else:
 *                         size = _ctypes.sizeof(ctype)
*/
            __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 95, __pyx_L1_error)
            __pyx_t_7 = __Pyx_PyLong_As_size_t(__pyx_v_size); if (unlikely((__pyx_t_7 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 95, __pyx_L1_error)
            (void)(memcpy((__pyx_v_self->_ckernelParams[__pyx_t_9]), __pyx_v_addr, __pyx_t_7));

            /* "cuda/bindings/_lib/utils.pxi":91
 *                     if not isinstance(value, ctype): # make it a ctype
 *                         size = param_packer.feed(self._ckernelParams[idx], value, ctype)
 *                         if size == 0: # feed failed             # <<<<<<<<<<<<<<
 *                             value = ctype(value)
 *                             size = _ctypes.sizeof(ctype)
*/
          }

          /* "cuda/bindings/_lib/utils.pxi":89
 *                     if ctype == _ctypes.c_double and isinstance(value, _ctypes.c_float):
 *                         value = ctype(value.value)
 *                     if not isinstance(value, ctype): # make it a ctype             # <<<<<<<<<<<<<<
 *                         size = param_packer.feed(self._ckernelParams[idx], value, ctype)
 *                         if size == 0: # feed failed
*/
          goto __pyx_L20;
        }

        /* "cuda/bindings/_lib/utils.pxi":97
 *                             memcpy(self._ckernelParams[idx], addr, size)
 *                     else:
 *                         size = _ctypes.sizeof(ctype)             # <<<<<<<<<<<<<<
 *                         addr = <void*>(<void_ptr>_ctypes.addressof(value))
 *                         memcpy(self._ckernelParams[idx], addr, size)
*/
        /*else*/ {
          __pyx_t_13 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 97, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_sizeof); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 97, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_7 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_12))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12);
            assert(__pyx_t_13);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_12);
            __Pyx_INCREF(__pyx_t_13);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_12, __pyx__function);
            __pyx_t_7 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_v_ctype};
            __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 97, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_XDECREF_SET(__pyx_v_size, __pyx_t_4);
          __pyx_t_4 = 0;

          /* "cuda/bindings/_lib/utils.pxi":98
 *                     else:
 *                         size = _ctypes.sizeof(ctype)
 *                         addr = <void*>(<void_ptr>_ctypes.addressof(value))             # <<<<<<<<<<<<<<
 *                         memcpy(self._ckernelParams[idx], addr, size)
 *                     data_idx += size
*/
          __pyx_t_12 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 98, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_addressof); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 98, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_7 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_12);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_12);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_7 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_value};
            __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 98, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 98, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_addr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

          /* "cuda/bindings/_lib/utils.pxi":99
 *                         size = _ctypes.sizeof(ctype)
 *                         addr = <void*>(<void_ptr>_ctypes.addressof(value))
 *                         memcpy(self._ckernelParams[idx], addr, size)             # <<<<<<<<<<<<<<
 *                     data_idx += size
 *                 elif ctype == _ctypes.c_void_p:
*/
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 99, __pyx_L1_error)
          __pyx_t_7 = __Pyx_PyLong_As_size_t(__pyx_v_size); if (unlikely((__pyx_t_7 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 99, __pyx_L1_error)
          (void)(memcpy((__pyx_v_self->_ckernelParams[__pyx_t_9]), __pyx_v_addr, __pyx_t_7));
        }
        __pyx_L20:;

        /* "cuda/bindings/_lib/utils.pxi":100
 *                         addr = <void*>(<void_ptr>_ctypes.addressof(value))
 *                         memcpy(self._ckernelParams[idx], addr, size)
 *                     data_idx += size             # <<<<<<<<<<<<<<
 *                 elif ctype == _ctypes.c_void_p:
 *                     # special cases for void_p
*/
        __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_data_idx, __pyx_v_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 100, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_data_idx, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/_lib/utils.pxi":83
 *                     else:
 *                         raise TypeError("Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute".format(type(value), type(_ctypes.Structure), type(_ctypes.c_void_p)))
 *                 elif ctype in _HelperKernelParams.supported_types:             # <<<<<<<<<<<<<<
 *                     self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 * 
*/
        goto __pyx_L15;
      }

      /* "cuda/bindings/_lib/utils.pxi":101
 *                         memcpy(self._ckernelParams[idx], addr, size)
 *                     data_idx += size
 *                 elif ctype == _ctypes.c_void_p:             # <<<<<<<<<<<<<<
 *                     # special cases for void_p
 *                     if isinstance(value, (int, _ctypes.c_void_p)):
*/
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 101, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 101, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_ctype, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 101, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(1, 101, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (likely(__pyx_t_8)) {

        /* "cuda/bindings/_lib/utils.pxi":103
 *                 elif ctype == _ctypes.c_void_p:
 *                     # special cases for void_p
 *                     if isinstance(value, (int, _ctypes.c_void_p)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.value if isinstance(value, (_ctypes.c_void_p)) else value
*/
        __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 103, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 103, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_1 = PyLong_Check(__pyx_v_value); 
        if (!__pyx_t_1) {
        } else {
          __pyx_t_8 = __pyx_t_1;
          goto __pyx_L23_bool_binop_done;
        }
        __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_5); 
        __pyx_t_8 = __pyx_t_1;
        __pyx_L23_bool_binop_done:;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (__pyx_t_8) {

          /* "cuda/bindings/_lib/utils.pxi":104
 *                     # special cases for void_p
 *                     if isinstance(value, (int, _ctypes.c_void_p)):
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])             # <<<<<<<<<<<<<<
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.value if isinstance(value, (_ctypes.c_void_p)) else value
 *                         data_idx += sizeof(void_ptr)
*/
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_data_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 104, __pyx_L1_error)
          __pyx_t_16 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_16 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 104, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_16]) = (&(__pyx_v_self->_ckernelParamsData[__pyx_t_9]));

          /* "cuda/bindings/_lib/utils.pxi":105
 *                     if isinstance(value, (int, _ctypes.c_void_p)):
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.value if isinstance(value, (_ctypes.c_void_p)) else value             # <<<<<<<<<<<<<<
 *                         data_idx += sizeof(void_ptr)
 *                     elif callable(getattr(value, 'getPtr', None)):
*/
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_8 = PyObject_IsInstance(__pyx_v_value, __pyx_t_4); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 105, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (__pyx_t_8) {
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 105, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_21 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_21 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 105, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_2 = __pyx_t_21;
          } else {
            __pyx_t_21 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_value); if (unlikely((__pyx_t_21 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 105, __pyx_L1_error)
            __pyx_t_2 = __pyx_t_21;
          }
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 105, __pyx_L1_error)
          (((__pyx_t_4cuda_8bindings_6driver_void_ptr *)(__pyx_v_self->_ckernelParams[__pyx_t_9]))[0]) = __pyx_t_2;

          /* "cuda/bindings/_lib/utils.pxi":106
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.value if isinstance(value, (_ctypes.c_void_p)) else value
 *                         data_idx += sizeof(void_ptr)             # <<<<<<<<<<<<<<
 *                     elif callable(getattr(value, 'getPtr', None)):
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
*/
          __pyx_t_4 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_6driver_void_ptr))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 106, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_data_idx, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 106, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF_SET(__pyx_v_data_idx, __pyx_t_5);
          __pyx_t_5 = 0;

          /* "cuda/bindings/_lib/utils.pxi":103
 *                 elif ctype == _ctypes.c_void_p:
 *                     # special cases for void_p
 *                     if isinstance(value, (int, _ctypes.c_void_p)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.value if isinstance(value, (_ctypes.c_void_p)) else value
*/
          goto __pyx_L22;
        }

        /* "cuda/bindings/_lib/utils.pxi":107
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.value if isinstance(value, (_ctypes.c_void_p)) else value
 *                         data_idx += sizeof(void_ptr)
 *                     elif callable(getattr(value, 'getPtr', None)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.getPtr()
*/
        __pyx_t_5 = __Pyx_GetAttr3(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_getPtr, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 107, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_8 = __Pyx_PyCallable_Check(__pyx_t_5); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 107, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (likely(__pyx_t_8)) {

          /* "cuda/bindings/_lib/utils.pxi":108
 *                         data_idx += sizeof(void_ptr)
 *                     elif callable(getattr(value, 'getPtr', None)):
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])             # <<<<<<<<<<<<<<
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.getPtr()
 *                         data_idx += sizeof(void_ptr)
*/
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_data_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 108, __pyx_L1_error)
          __pyx_t_16 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_16 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 108, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_16]) = (&(__pyx_v_self->_ckernelParamsData[__pyx_t_9]));

          /* "cuda/bindings/_lib/utils.pxi":109
 *                     elif callable(getattr(value, 'getPtr', None)):
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.getPtr()             # <<<<<<<<<<<<<<
 *                         data_idx += sizeof(void_ptr)
 *                     else:
*/
          __pyx_t_4 = __pyx_v_value;
          __Pyx_INCREF(__pyx_t_4);
          __pyx_t_7 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
            __pyx_t_5 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 109, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
          }
          __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 109, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 109, __pyx_L1_error)
          (((__pyx_t_4cuda_8bindings_6driver_void_ptr *)(__pyx_v_self->_ckernelParams[__pyx_t_9]))[0]) = __pyx_t_2;

          /* "cuda/bindings/_lib/utils.pxi":110
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.getPtr()
 *                         data_idx += sizeof(void_ptr)             # <<<<<<<<<<<<<<
 *                     else:
 *                         raise TypeError("Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute".format(type(value), type(int), type(_ctypes.c_void_p)))
*/
          __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_6driver_void_ptr))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 110, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_data_idx, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 110, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF_SET(__pyx_v_data_idx, __pyx_t_4);
          __pyx_t_4 = 0;

          /* "cuda/bindings/_lib/utils.pxi":107
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.value if isinstance(value, (_ctypes.c_void_p)) else value
 *                         data_idx += sizeof(void_ptr)
 *                     elif callable(getattr(value, 'getPtr', None)):             # <<<<<<<<<<<<<<
 *                         self._ckernelParams[idx] = &(self._ckernelParamsData[data_idx])
 *                         (<void_ptr*>self._ckernelParams[idx])[0] = value.getPtr()
*/
          goto __pyx_L22;
        }

        /* "cuda/bindings/_lib/utils.pxi":112
 *                         data_idx += sizeof(void_ptr)
 *                     else:
 *                         raise TypeError("Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute".format(type(value), type(int), type(_ctypes.c_void_p)))             # <<<<<<<<<<<<<<
 *                 else:
 *                     raise TypeError("Unsupported type: " + str(type(ctype)))
*/
        /*else*/ {
          __pyx_t_5 = NULL;
          __Pyx_INCREF(__pyx_builtin_TypeError);
          __pyx_t_12 = __pyx_builtin_TypeError; 
          __pyx_t_20 = __pyx_mstate_global->__pyx_kp_u_Provided_argument_is_of_type_but;
          __Pyx_INCREF(__pyx_t_20);
          __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 112, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_19);
          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 112, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_17);
          __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
          __pyx_t_7 = 0;
          {
            PyObject *__pyx_callargs[4] = {__pyx_t_20, ((PyObject *)Py_TYPE(__pyx_v_value)), ((PyObject *)Py_TYPE(((PyObject *)(&PyLong_Type)))), ((PyObject *)Py_TYPE(__pyx_t_17))};
            __pyx_t_13 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_7, (4-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 112, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
          }
          __pyx_t_7 = 1;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_13};
            __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 112, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_Raise(__pyx_t_4, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __PYX_ERR(1, 112, __pyx_L1_error)
        }
        __pyx_L22:;

        /* "cuda/bindings/_lib/utils.pxi":101
 *                         memcpy(self._ckernelParams[idx], addr, size)
 *                     data_idx += size
 *                 elif ctype == _ctypes.c_void_p:             # <<<<<<<<<<<<<<
 *                     # special cases for void_p
 *                     if isinstance(value, (int, _ctypes.c_void_p)):
*/
        goto __pyx_L15;
      }

      /* "cuda/bindings/_lib/utils.pxi":114
 *                         raise TypeError("Provided argument is of type {} but expected Type {}, {} or CUDA Binding structure with getPtr() attribute".format(type(value), type(int), type(_ctypes.c_void_p)))
 *                 else:
 *                     raise TypeError("Unsupported type: " + str(type(ctype)))             # <<<<<<<<<<<<<<
 *                 idx += 1
 *         else:
*/
      /*else*/ {
        __pyx_t_12 = NULL;
        __Pyx_INCREF(__pyx_builtin_TypeError);
        __pyx_t_13 = __pyx_builtin_TypeError; 
        __pyx_t_5 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_ctype))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 114, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_17 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unsupported_type, __pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 114, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_7 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_17};
          __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
        }
        __Pyx_Raise(__pyx_t_4, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __PYX_ERR(1, 114, __pyx_L1_error)
      }
      __pyx_L15:;

      /* "cuda/bindings/_lib/utils.pxi":115
 *                 else:
 *                     raise TypeError("Unsupported type: " + str(type(ctype)))
 *                 idx += 1             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError("Argument 'kernelParams' is not a valid type: tuple[tuple[Any, ...], tuple[Any, ...]] or PyObject implimenting Buffer Protocol or Int")
*/
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_v_idx, __pyx_mstate_global->__pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 115, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF_SET(__pyx_v_idx, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "cuda/bindings/_lib/utils.pxi":70
 *             idx = 0
 *             data_idx = 0
 *             for value, ctype in zip(kernelParams[0], kernelParams[1]):             # <<<<<<<<<<<<<<
 *                 if ctype is None:
 *                     # special cases for None
*/
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "cuda/bindings/_lib/utils.pxi":58
 *             self._pyobj_acquired = True
 *             self._ckernelParams = <void**><void_ptr>self._pybuffer.buf
 *         elif isinstance(kernelParams, (tuple)) and len(kernelParams) == 2 and isinstance(kernelParams[0], (tuple)) and isinstance(kernelParams[1], (tuple)):             # <<<<<<<<<<<<<<
 *             # Hard run, construct and fill out contigues memory using provided kernel values and types based
 *             if len(kernelParams[0]) != len(kernelParams[1]):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/_lib/utils.pxi":117
 *                 idx += 1
 *         else:
 *             raise TypeError("Argument 'kernelParams' is not a valid type: tuple[tuple[Any, ...], tuple[Any, ...]] or PyObject implimenting Buffer Protocol or Int")             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_13 = __pyx_builtin_TypeError; 
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_kernelParams_is_not_a_v};
      __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(1, 117, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/_lib/utils.pxi":43
 *     max_param_size = max(_ctypes.sizeof(max(_HelperKernelParams.supported_types, key=lambda t:_ctypes.sizeof(t))), sizeof(void_ptr))
 * 
 *     def __cinit__(self, kernelParams):             # <<<<<<<<<<<<<<
 *         self._pyobj_acquired = False
 *         self._malloc_list_created = False
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperKernelParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XDECREF(__pyx_v_data_idx);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_ctype);
  __Pyx_XDECREF(__pyx_v_size);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":119
 *             raise TypeError("Argument 'kernelParams' is not a valid type: tuple[tuple[Any, ...], tuple[Any, ...]] or PyObject implimenting Buffer Protocol or Int")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._pyobj_acquired is True:
 *             PyBuffer_Release(&self._pybuffer)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_2__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":120
 * 
 *     def __dealloc__(self):
 *         if self._pyobj_acquired is True:             # <<<<<<<<<<<<<<
 *             PyBuffer_Release(&self._pybuffer)
 *         if self._malloc_list_created is True:
*/
  __pyx_t_1 = (__pyx_v_self->_pyobj_acquired == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":121
 *     def __dealloc__(self):
 *         if self._pyobj_acquired is True:
 *             PyBuffer_Release(&self._pybuffer)             # <<<<<<<<<<<<<<
 *         if self._malloc_list_created is True:
 *             free(self._ckernelParams)
*/
    PyBuffer_Release((&__pyx_v_self->_pybuffer));

    /* "cuda/bindings/_lib/utils.pxi":120
 * 
 *     def __dealloc__(self):
 *         if self._pyobj_acquired is True:             # <<<<<<<<<<<<<<
 *             PyBuffer_Release(&self._pybuffer)
 *         if self._malloc_list_created is True:
*/
  }

  /* "cuda/bindings/_lib/utils.pxi":122
 *         if self._pyobj_acquired is True:
 *             PyBuffer_Release(&self._pybuffer)
 *         if self._malloc_list_created is True:             # <<<<<<<<<<<<<<
 *             free(self._ckernelParams)
 *             free(self._ckernelParamsData)
*/
  __pyx_t_1 = (__pyx_v_self->_malloc_list_created == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":123
 *             PyBuffer_Release(&self._pybuffer)
 *         if self._malloc_list_created is True:
 *             free(self._ckernelParams)             # <<<<<<<<<<<<<<
 *             free(self._ckernelParamsData)
 * 
*/
    free(__pyx_v_self->_ckernelParams);

    /* "cuda/bindings/_lib/utils.pxi":124
 *         if self._malloc_list_created is True:
 *             free(self._ckernelParams)
 *             free(self._ckernelParamsData)             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
    free(__pyx_v_self->_ckernelParamsData);

    /* "cuda/bindings/_lib/utils.pxi":122
 *         if self._pyobj_acquired is True:
 *             PyBuffer_Release(&self._pybuffer)
 *         if self._malloc_list_created is True:             # <<<<<<<<<<<<<<
 *             free(self._ckernelParams)
 *             free(self._ckernelParamsData)
*/
  }

  /* "cuda/bindings/_lib/utils.pxi":119
 *             raise TypeError("Argument 'kernelParams' is not a valid type: tuple[tuple[Any, ...], tuple[Any, ...]] or PyObject implimenting Buffer Protocol or Int")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._pyobj_acquired is True:
 *             PyBuffer_Release(&self._pybuffer)
*/

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":126
 *             free(self._ckernelParamsData)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ckernelParams(self):
 *         return <void_ptr>self._ckernelParams
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_13ckernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_13ckernelParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_13ckernelParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_13ckernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":128
 *     @property
 *     def ckernelParams(self):
 *         return <void_ptr>self._ckernelParams             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperInputVoidPtr:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_ckernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":126
 *             free(self._ckernelParamsData)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ckernelParams(self):
 *         return <void_ptr>self._ckernelParams
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperKernelParams.ckernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_6__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19_HelperKernelParams_5__reduce_cython__, "_HelperKernelParams.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19_HelperKernelParams_6__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_6__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperKernelParams_5__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_6__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_5__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_5__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperKernelParams.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_8__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19_HelperKernelParams_7__setstate_cython__, "_HelperKernelParams.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19_HelperKernelParams_8__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_8__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperKernelParams_7__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_8__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperKernelParams.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_7__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperKernelParams_7__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperKernelParams.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":131
 * 
 * cdef class _HelperInputVoidPtr:
 *     def __cinit__(self, ptr):             # <<<<<<<<<<<<<<
 *         self._pyobj_acquired = False
 *         if ptr is None:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_ptr = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 131, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 131, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 131, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(1, 131, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 131, __pyx_L3_error)
    }
    __pyx_v_ptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 131, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperInputVoidPtr.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_v_self), __pyx_v_ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self, PyObject *__pyx_v_ptr) {
  int __pyx_v_err_buffer;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":132
 * cdef class _HelperInputVoidPtr:
 *     def __cinit__(self, ptr):
 *         self._pyobj_acquired = False             # <<<<<<<<<<<<<<
 *         if ptr is None:
 *             self._cptr = NULL
*/
  __pyx_v_self->_pyobj_acquired = 0;

  /* "cuda/bindings/_lib/utils.pxi":133
 *     def __cinit__(self, ptr):
 *         self._pyobj_acquired = False
 *         if ptr is None:             # <<<<<<<<<<<<<<
 *             self._cptr = NULL
 *         elif isinstance(ptr, (int)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":134
 *         self._pyobj_acquired = False
 *         if ptr is None:
 *             self._cptr = NULL             # <<<<<<<<<<<<<<
 *         elif isinstance(ptr, (int)):
 *             # Easy run, user gave us an already configured void** address
*/
    __pyx_v_self->_cptr = NULL;

    /* "cuda/bindings/_lib/utils.pxi":133
 *     def __cinit__(self, ptr):
 *         self._pyobj_acquired = False
 *         if ptr is None:             # <<<<<<<<<<<<<<
 *             self._cptr = NULL
 *         elif isinstance(ptr, (int)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/_lib/utils.pxi":135
 *         if ptr is None:
 *             self._cptr = NULL
 *         elif isinstance(ptr, (int)):             # <<<<<<<<<<<<<<
 *             # Easy run, user gave us an already configured void** address
 *             self._cptr = <void*><void_ptr>ptr
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_ptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":137
 *         elif isinstance(ptr, (int)):
 *             # Easy run, user gave us an already configured void** address
 *             self._cptr = <void*><void_ptr>ptr             # <<<<<<<<<<<<<<
 *         elif isinstance(ptr, (_driver.CUdeviceptr)):
 *             self._cptr = <void*><void_ptr>int(ptr)
*/
    __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptr); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 137, __pyx_L1_error)
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

    /* "cuda/bindings/_lib/utils.pxi":135
 *         if ptr is None:
 *             self._cptr = NULL
 *         elif isinstance(ptr, (int)):             # <<<<<<<<<<<<<<
 *             # Easy run, user gave us an already configured void** address
 *             self._cptr = <void*><void_ptr>ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/_lib/utils.pxi":138
 *             # Easy run, user gave us an already configured void** address
 *             self._cptr = <void*><void_ptr>ptr
 *         elif isinstance(ptr, (_driver.CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>int(ptr)
 *         elif PyObject_CheckBuffer(ptr):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_driver); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdeviceptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = PyObject_IsInstance(__pyx_v_ptr, __pyx_t_4); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":139
 *             self._cptr = <void*><void_ptr>ptr
 *         elif isinstance(ptr, (_driver.CUdeviceptr)):
 *             self._cptr = <void*><void_ptr>int(ptr)             # <<<<<<<<<<<<<<
 *         elif PyObject_CheckBuffer(ptr):
 *             # Easy run, get address from Python Buffer Protocol
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 139, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

    /* "cuda/bindings/_lib/utils.pxi":138
 *             # Easy run, user gave us an already configured void** address
 *             self._cptr = <void*><void_ptr>ptr
 *         elif isinstance(ptr, (_driver.CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>int(ptr)
 *         elif PyObject_CheckBuffer(ptr):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/_lib/utils.pxi":140
 *         elif isinstance(ptr, (_driver.CUdeviceptr)):
 *             self._cptr = <void*><void_ptr>int(ptr)
 *         elif PyObject_CheckBuffer(ptr):             # <<<<<<<<<<<<<<
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(ptr, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
*/
  __pyx_t_1 = PyObject_CheckBuffer(__pyx_v_ptr);
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/_lib/utils.pxi":142
 *         elif PyObject_CheckBuffer(ptr):
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(ptr, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)             # <<<<<<<<<<<<<<
 *             if err_buffer == -1:
 *                 raise RuntimeError("Failed to retrieve buffer through Buffer Protocol")
*/
    __pyx_t_5 = PyObject_GetBuffer(__pyx_v_ptr, (&__pyx_v_self->_pybuffer), (PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 142, __pyx_L1_error)
    __pyx_v_err_buffer = __pyx_t_5;

    /* "cuda/bindings/_lib/utils.pxi":143
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(ptr, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
 *             if err_buffer == -1:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError("Failed to retrieve buffer through Buffer Protocol")
 *             self._pyobj_acquired = True
*/
    __pyx_t_1 = (__pyx_v_err_buffer == -1L);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/_lib/utils.pxi":144
 *             err_buffer = PyObject_GetBuffer(ptr, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
 *             if err_buffer == -1:
 *                 raise RuntimeError("Failed to retrieve buffer through Buffer Protocol")             # <<<<<<<<<<<<<<
 *             self._pyobj_acquired = True
 *             self._cptr = <void*><void_ptr>self._pybuffer.buf
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_RuntimeError);
      __pyx_t_6 = __pyx_builtin_RuntimeError; 
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Failed_to_retrieve_buffer_throug};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 144, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(1, 144, __pyx_L1_error)

      /* "cuda/bindings/_lib/utils.pxi":143
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(ptr, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
 *             if err_buffer == -1:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError("Failed to retrieve buffer through Buffer Protocol")
 *             self._pyobj_acquired = True
*/
    }

    /* "cuda/bindings/_lib/utils.pxi":145
 *             if err_buffer == -1:
 *                 raise RuntimeError("Failed to retrieve buffer through Buffer Protocol")
 *             self._pyobj_acquired = True             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._pybuffer.buf
 *         else:
*/
    __pyx_v_self->_pyobj_acquired = 1;

    /* "cuda/bindings/_lib/utils.pxi":146
 *                 raise RuntimeError("Failed to retrieve buffer through Buffer Protocol")
 *             self._pyobj_acquired = True
 *             self._cptr = <void*><void_ptr>self._pybuffer.buf             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError("Provided argument is of type {} but expected Type {}, {} or object with Buffer Protocol".format(type(ptr), type(None), type(int)))
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pybuffer.buf));

    /* "cuda/bindings/_lib/utils.pxi":140
 *         elif isinstance(ptr, (_driver.CUdeviceptr)):
 *             self._cptr = <void*><void_ptr>int(ptr)
 *         elif PyObject_CheckBuffer(ptr):             # <<<<<<<<<<<<<<
 *             # Easy run, get address from Python Buffer Protocol
 *             err_buffer = PyObject_GetBuffer(ptr, &self._pybuffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/_lib/utils.pxi":148
 *             self._cptr = <void*><void_ptr>self._pybuffer.buf
 *         else:
 *             raise TypeError("Provided argument is of type {} but expected Type {}, {} or object with Buffer Protocol".format(type(ptr), type(None), type(int)))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
  /*else*/ {
    __pyx_t_6 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_9 = __pyx_mstate_global->__pyx_kp_u_Provided_argument_is_of_type_but_2;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_9, ((PyObject *)Py_TYPE(__pyx_v_ptr)), ((PyObject *)Py_TYPE(Py_None)), ((PyObject *)Py_TYPE(((PyObject *)(&PyLong_Type))))};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_7, (4-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 148, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/_lib/utils.pxi":131
 * 
 * cdef class _HelperInputVoidPtr:
 *     def __cinit__(self, ptr):             # <<<<<<<<<<<<<<
 *         self._pyobj_acquired = False
 *         if ptr is None:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperInputVoidPtr.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":150
 *             raise TypeError("Provided argument is of type {} but expected Type {}, {} or object with Buffer Protocol".format(type(ptr), type(None), type(int)))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._pyobj_acquired is True:
 *             PyBuffer_Release(&self._pybuffer)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_2__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":151
 * 
 *     def __dealloc__(self):
 *         if self._pyobj_acquired is True:             # <<<<<<<<<<<<<<
 *             PyBuffer_Release(&self._pybuffer)
 * 
*/
  __pyx_t_1 = (__pyx_v_self->_pyobj_acquired == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":152
 *     def __dealloc__(self):
 *         if self._pyobj_acquired is True:
 *             PyBuffer_Release(&self._pybuffer)             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
    PyBuffer_Release((&__pyx_v_self->_pybuffer));

    /* "cuda/bindings/_lib/utils.pxi":151
 * 
 *     def __dealloc__(self):
 *         if self._pyobj_acquired is True:             # <<<<<<<<<<<<<<
 *             PyBuffer_Release(&self._pybuffer)
 * 
*/
  }

  /* "cuda/bindings/_lib/utils.pxi":150
 *             raise TypeError("Provided argument is of type {} but expected Type {}, {} or object with Buffer Protocol".format(type(ptr), type(None), type(int)))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._pyobj_acquired is True:
 *             PyBuffer_Release(&self._pybuffer)
*/

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":154
 *             PyBuffer_Release(&self._pybuffer)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":156
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUmemPool_attribute:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":154
 *             PyBuffer_Release(&self._pybuffer)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperInputVoidPtr.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4__reduce_cython__, "_HelperInputVoidPtr.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19_HelperInputVoidPtr_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperInputVoidPtr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19_HelperInputVoidPtr_6__setstate_cython__, "_HelperInputVoidPtr.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19_HelperInputVoidPtr_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperInputVoidPtr_6__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperInputVoidPtr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_6__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperInputVoidPtr_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperInputVoidPtr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":159
 * 
 * cdef class _HelperCUmemPool_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):             # <<<<<<<<<<<<<<
 *         self._is_getter = is_getter
 *         self._attr = attr.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_init_value = 0;
  PyObject *__pyx_v_is_getter = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_is_getter,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 159, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 159, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, i); __PYX_ERR(1, 159, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 159, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 159, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_attr = values[0];
    __pyx_v_init_value = values[1];
    __pyx_v_is_getter = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 159, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemPool_attribute.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_v_self), __pyx_v_attr, __pyx_v_init_value, __pyx_v_is_getter);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value, PyObject *__pyx_v_is_getter) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  enum CUmemPool_attribute_enum __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":160
 * cdef class _HelperCUmemPool_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):
 *         self._is_getter = is_getter             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_is_getter); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 160, __pyx_L1_error)
  __pyx_v_self->_is_getter = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":161
 *     def __cinit__(self, attr, init_value, is_getter=False):
 *         self._is_getter = is_getter
 *         self._attr = attr.value             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = ((enum CUmemPool_attribute_enum)__Pyx_PyLong_As_enum__CUmemPool_attribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attr = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":162
 *         self._is_getter = is_getter
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
*/
  switch (__pyx_v_self->_attr) {
    case CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES:
    case CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC:

    /* "cuda/bindings/_lib/utils.pxi":163
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
 *             self._int_val = init_value
*/
    case CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES:

    /* "cuda/bindings/_lib/utils.pxi":165
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
 *             self._int_val = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._int_val
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,
*/
    __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_init_value); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 165, __pyx_L1_error)
    __pyx_v_self->_int_val = __pyx_t_4;

    /* "cuda/bindings/_lib/utils.pxi":166
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
 *             self._int_val = init_value
 *             self._cptr = <void*>&self._int_val             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_int_val));

    /* "cuda/bindings/_lib/utils.pxi":162
 *         self._is_getter = is_getter
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
*/
    break;
    case CU_MEMPOOL_ATTR_RELEASE_THRESHOLD:

    /* "cuda/bindings/_lib/utils.pxi":167
 *             self._int_val = init_value
 *             self._cptr = <void*>&self._int_val
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
*/
    case CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT:

    /* "cuda/bindings/_lib/utils.pxi":168
 *             self._cptr = <void*>&self._int_val
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,
*/
    case CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH:

    /* "cuda/bindings/_lib/utils.pxi":169
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH,):
*/
    case CU_MEMPOOL_ATTR_USED_MEM_CURRENT:

    /* "cuda/bindings/_lib/utils.pxi":170
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH,):
 *             if self._is_getter:
*/
    case CU_MEMPOOL_ATTR_USED_MEM_HIGH:

    /* "cuda/bindings/_lib/utils.pxi":172
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._cuuint64_t_val = _driver.cuuint64_t()
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()
*/
    if (__pyx_v_self->_is_getter) {

      /* "cuda/bindings/_lib/utils.pxi":173
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH,):
 *             if self._is_getter:
 *                 self._cuuint64_t_val = _driver.cuuint64_t()             # <<<<<<<<<<<<<<
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()
 *             else:
*/
      __pyx_t_5 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_driver); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_cuuint64_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_8 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);
        assert(__pyx_t_5);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
        __pyx_t_8 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 173, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t))))) __PYX_ERR(1, 173, __pyx_L1_error)
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_cuuint64_t_val);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_cuuint64_t_val);
      __pyx_v_self->_cuuint64_t_val = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "cuda/bindings/_lib/utils.pxi":174
 *             if self._is_getter:
 *                 self._cuuint64_t_val = _driver.cuuint64_t()
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()             # <<<<<<<<<<<<<<
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
*/
      __pyx_t_7 = ((PyObject *)__pyx_v_self->_cuuint64_t_val);
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 174, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_9 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_9 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 174, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_9));

      /* "cuda/bindings/_lib/utils.pxi":172
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._cuuint64_t_val = _driver.cuuint64_t()
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()
*/
      goto __pyx_L3;
    }

    /* "cuda/bindings/_lib/utils.pxi":176
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    /*else*/ {
      __pyx_t_7 = __pyx_v_init_value;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 176, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_9 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_9 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 176, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_9));
    }
    __pyx_L3:;

    /* "cuda/bindings/_lib/utils.pxi":167
 *             self._int_val = init_value
 *             self._cptr = <void*>&self._int_val
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":178
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_7 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_10 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_11};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 178, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 178, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 178, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":159
 * 
 * cdef class _HelperCUmemPool_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):             # <<<<<<<<<<<<<<
 *         self._is_getter = is_getter
 *         self._attr = attr.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemPool_attribute.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":180
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":183
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":185
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 *     def pyObj(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":183
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemPool_attribute.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":187
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4pyObj, "_HelperCUmemPool_attribute.pyObj(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_5pyObj = {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4pyObj};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pyObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pyObj", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pyObj", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4pyObj(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pyObj", 0);

  /* "cuda/bindings/_lib/utils.pxi":188
 * 
 *     def pyObj(self):
 *         assert(self._is_getter == True)             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_self->_is_getter == 1);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 188, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 188, __pyx_L1_error)
  #endif

  /* "cuda/bindings/_lib/utils.pxi":189
 *     def pyObj(self):
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
*/
  switch (__pyx_v_self->_attr) {
    case CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES:
    case CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC:

    /* "cuda/bindings/_lib/utils.pxi":190
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
 *             return self._int_val
*/
    case CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES:

    /* "cuda/bindings/_lib/utils.pxi":192
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
 *             return self._int_val             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->_int_val); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":189
 *     def pyObj(self):
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
*/
    break;
    case CU_MEMPOOL_ATTR_RELEASE_THRESHOLD:

    /* "cuda/bindings/_lib/utils.pxi":193
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
 *             return self._int_val
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
*/
    case CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT:

    /* "cuda/bindings/_lib/utils.pxi":194
 *             return self._int_val
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,
*/
    case CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH:

    /* "cuda/bindings/_lib/utils.pxi":195
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH,):
*/
    case CU_MEMPOOL_ATTR_USED_MEM_CURRENT:

    /* "cuda/bindings/_lib/utils.pxi":196
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH,):
 *             return self._cuuint64_t_val
*/
    case CU_MEMPOOL_ATTR_USED_MEM_HIGH:

    /* "cuda/bindings/_lib/utils.pxi":198
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH,):
 *             return self._cuuint64_t_val             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->_cuuint64_t_val);
    __pyx_r = ((PyObject *)__pyx_v_self->_cuuint64_t_val);
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":193
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
 *             return self._int_val
 *         elif self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,             # <<<<<<<<<<<<<<
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
 *                             cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":200
 *             return self._cuuint64_t_val
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUmem_range_attribute:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_6 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(__pyx_v_self->_attr); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 200, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 200, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 200, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":187
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemPool_attribute.pyObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_6__reduce_cython__, "_HelperCUmemPool_attribute.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_6__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_6__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemPool_attribute.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_8__setstate_cython__, "_HelperCUmemPool_attribute.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_8__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemPool_attribute.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_8__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemPool_attribute.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":203
 * 
 * cdef class _HelperCUmem_range_attribute:
 *     def __cinit__(self, attr, data_size):             # <<<<<<<<<<<<<<
 *         self._data_size = data_size
 *         self._attr = attr.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_data_size = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_data_size,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 203, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 203, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, i); __PYX_ERR(1, 203, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 203, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 203, __pyx_L3_error)
    }
    __pyx_v_attr = values[0];
    __pyx_v_data_size = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 203, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmem_range_attribute.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *)__pyx_v_self), __pyx_v_attr, __pyx_v_data_size);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_data_size) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  size_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  enum CUmem_range_attribute_enum __pyx_t_3;
  void *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":204
 * cdef class _HelperCUmem_range_attribute:
 *     def __cinit__(self, attr, data_size):
 *         self._data_size = data_size             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,
*/
  __pyx_t_1 = __Pyx_PyLong_As_size_t(__pyx_v_data_size); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 204, __pyx_L1_error)
  __pyx_v_self->_data_size = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":205
 *     def __cinit__(self, attr, data_size):
 *         self._data_size = data_size
 *         self._attr = attr.value             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = ((enum CUmem_range_attribute_enum)__Pyx_PyLong_As_enum__CUmem_range_attribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attr = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":206
 *         self._data_size = data_size
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
*/
  switch (__pyx_v_self->_attr) {
    case CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY:
    case CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION:

    /* "cuda/bindings/_lib/utils.pxi":207
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
 *             self._cptr = <void*>&self._int_val
*/
    case CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION:

    /* "cuda/bindings/_lib/utils.pxi":209
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
 *             self._cptr = <void*>&self._int_val             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):
 *             self._cptr = _callocWrapper(1, self._data_size)
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_int_val));

    /* "cuda/bindings/_lib/utils.pxi":206
 *         self._data_size = data_size
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
*/
    break;
    case CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY:

    /* "cuda/bindings/_lib/utils.pxi":211
 *             self._cptr = <void*>&self._int_val
 *         elif self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):
 *             self._cptr = _callocWrapper(1, self._data_size)             # <<<<<<<<<<<<<<
 *             self._int_val_list = <int*>self._cptr
 *         else:
*/
    __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_self->_data_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_f_4cuda_8bindings_6driver__callocWrapper(__pyx_mstate_global->__pyx_int_1, __pyx_t_2); if (unlikely(__pyx_t_4 == ((void *)0) && PyErr_Occurred())) __PYX_ERR(1, 211, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_self->_cptr = __pyx_t_4;

    /* "cuda/bindings/_lib/utils.pxi":212
 *         elif self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):
 *             self._cptr = _callocWrapper(1, self._data_size)
 *             self._int_val_list = <int*>self._cptr             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    __pyx_v_self->_int_val_list = ((int *)__pyx_v_self->_cptr);

    /* "cuda/bindings/_lib/utils.pxi":210
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
 *             self._cptr = <void*>&self._int_val
 *         elif self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):             # <<<<<<<<<<<<<<
 *             self._cptr = _callocWrapper(1, self._data_size)
 *             self._int_val_list = <int*>self._cptr
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":214
 *             self._int_val_list = <int*>self._cptr
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_8 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_1 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_1, (2-__pyx_t_1) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 214, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_1 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_1, (2-__pyx_t_1) | (__pyx_t_1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 214, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 214, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":203
 * 
 * cdef class _HelperCUmem_range_attribute:
 *     def __cinit__(self, attr, data_size):             # <<<<<<<<<<<<<<
 *         self._data_size = data_size
 *         self._attr = attr.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmem_range_attribute.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":216
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):
 *             free(self._cptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_2__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self) {
  enum CUmem_range_attribute_enum __pyx_t_1;
  int __pyx_t_2;

  /* "cuda/bindings/_lib/utils.pxi":217
 * 
 *     def __dealloc__(self):
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):             # <<<<<<<<<<<<<<
 *             free(self._cptr)
 * 
*/
  __pyx_t_1 = __pyx_v_self->_attr;
  __pyx_t_2 = (__pyx_t_1 == CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY);
  if (__pyx_t_2) {

    /* "cuda/bindings/_lib/utils.pxi":218
 *     def __dealloc__(self):
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):
 *             free(self._cptr)             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
    free(__pyx_v_self->_cptr);

    /* "cuda/bindings/_lib/utils.pxi":217
 * 
 *     def __dealloc__(self):
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):             # <<<<<<<<<<<<<<
 *             free(self._cptr)
 * 
*/
  }

  /* "cuda/bindings/_lib/utils.pxi":216
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):
 *             free(self._cptr)
*/

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":220
 *             free(self._cptr)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":222
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 *     def pyObj(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":220
 *             free(self._cptr)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmem_range_attribute.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":224
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4pyObj, "_HelperCUmem_range_attribute.pyObj(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_5pyObj = {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4pyObj};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pyObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pyObj", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pyObj", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4pyObj(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self) {
  PyObject *__pyx_7genexpr__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pyObj", 0);

  /* "cuda/bindings/_lib/utils.pxi":225
 * 
 *     def pyObj(self):
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
*/
  switch (__pyx_v_self->_attr) {
    case CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY:
    case CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION:

    /* "cuda/bindings/_lib/utils.pxi":226
 *     def pyObj(self):
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
 *             return self._int_val
*/
    case CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION:

    /* "cuda/bindings/_lib/utils.pxi":228
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
 *             return self._int_val             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):
 *             return [self._int_val_list[idx] for idx in range(int(self._data_size/4))]
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->_int_val); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":225
 * 
 *     def pyObj(self):
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,             # <<<<<<<<<<<<<<
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
*/
    break;
    case CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY:

    /* "cuda/bindings/_lib/utils.pxi":230
 *             return self._int_val
 *         elif self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):
 *             return [self._int_val_list[idx] for idx in range(int(self._data_size/4))]             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))
*/
    __Pyx_XDECREF(__pyx_r);
    { /* enter inner scope */
      __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 230, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_range);
      __pyx_t_4 = __pyx_builtin_range; 
      __pyx_t_5 = PyLong_FromDouble((((double)__pyx_v_self->_data_size) / 4.0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 230, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 230, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
        __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4);
        __pyx_t_7 = 0;
        __pyx_t_8 = NULL;
      } else {
        __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 230, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 230, __pyx_L5_error)
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      for (;;) {
        if (likely(!__pyx_t_8)) {
          if (likely(PyList_CheckExact(__pyx_t_4))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 230, __pyx_L5_error)
              #endif
              if (__pyx_t_7 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_4, __pyx_t_7);
            ++__pyx_t_7;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 230, __pyx_L5_error)
              #endif
              if (__pyx_t_7 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7));
            #else
            __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_7);
            #endif
            ++__pyx_t_7;
          }
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 230, __pyx_L5_error)
        } else {
          __pyx_t_2 = __pyx_t_8(__pyx_t_4);
          if (unlikely(!__pyx_t_2)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(1, 230, __pyx_L5_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_2);
        if (!(likely(PyLong_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_t_2))) __PYX_ERR(1, 230, __pyx_L5_error)
        __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_idx, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;
        __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_7genexpr__pyx_v_idx); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 230, __pyx_L5_error)
        __pyx_t_2 = __Pyx_PyLong_From_int((__pyx_v_self->_int_val_list[__pyx_t_9])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 230, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 230, __pyx_L5_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_7genexpr__pyx_v_idx); __pyx_7genexpr__pyx_v_idx = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L5_error:;
      __Pyx_XDECREF(__pyx_7genexpr__pyx_v_idx); __pyx_7genexpr__pyx_v_idx = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":229
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION,):
 *             return self._int_val
 *         elif self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY,):             # <<<<<<<<<<<<<<
 *             return [self._int_val_list[idx] for idx in range(int(self._data_size/4))]
 *         else:
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":232
 *             return [self._int_val_list[idx] for idx in range(int(self._data_size/4))]
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUpointer_attribute:
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_2 = __pyx_builtin_TypeError; 
    __pyx_t_3 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(__pyx_v_self->_attr); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 232, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 232, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 232, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":224
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmem_range_attribute.pyObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_7genexpr__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_6__reduce_cython__, "_HelperCUmem_range_attribute.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_6__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_6__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmem_range_attribute.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_8__setstate_cython__, "_HelperCUmem_range_attribute.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_8__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmem_range_attribute.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_8__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmem_range_attribute.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":235
 * 
 * cdef class _HelperCUpointer_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):             # <<<<<<<<<<<<<<
 *         self._is_getter = is_getter
 *         self._attr = attr.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_init_value = 0;
  PyObject *__pyx_v_is_getter = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_is_getter,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 235, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 235, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 235, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 235, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 235, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, i); __PYX_ERR(1, 235, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 235, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 235, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 235, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_attr = values[0];
    __pyx_v_init_value = values[1];
    __pyx_v_is_getter = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 235, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUpointer_attribute.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_v_self), __pyx_v_attr, __pyx_v_init_value, __pyx_v_is_getter);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value, PyObject *__pyx_v_is_getter) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  enum CUpointer_attribute_enum __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_8;
  unsigned int __pyx_t_9;
  unsigned PY_LONG_LONG __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":236
 * cdef class _HelperCUpointer_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):
 *         self._is_getter = is_getter             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_is_getter); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 236, __pyx_L1_error)
  __pyx_v_self->_is_getter = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":237
 *     def __cinit__(self, attr, init_value, is_getter=False):
 *         self._is_getter = is_getter
 *         self._attr = attr.value             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
 *             if self._is_getter:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = ((enum CUpointer_attribute_enum)__Pyx_PyLong_As_enum__CUpointer_attribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attr = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":238
 *         self._is_getter = is_getter
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):             # <<<<<<<<<<<<<<
 *             if self._is_getter:
 *                 self._ctx = _driver.CUcontext()
*/
  switch (__pyx_v_self->_attr) {
    case CU_POINTER_ATTRIBUTE_CONTEXT:

    /* "cuda/bindings/_lib/utils.pxi":239
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._ctx = _driver.CUcontext()
 *                 self._cptr = <void*><void_ptr>self._ctx.getPtr()
*/
    if (__pyx_v_self->_is_getter) {

      /* "cuda/bindings/_lib/utils.pxi":240
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
 *             if self._is_getter:
 *                 self._ctx = _driver.CUcontext()             # <<<<<<<<<<<<<<
 *                 self._cptr = <void*><void_ptr>self._ctx.getPtr()
 *             else:
*/
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_driver); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_CUcontext); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 240, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext))))) __PYX_ERR(1, 240, __pyx_L1_error)
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_ctx);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_ctx);
      __pyx_v_self->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "cuda/bindings/_lib/utils.pxi":241
 *             if self._is_getter:
 *                 self._ctx = _driver.CUcontext()
 *                 self._cptr = <void*><void_ptr>self._ctx.getPtr()             # <<<<<<<<<<<<<<
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
*/
      __pyx_t_6 = ((PyObject *)__pyx_v_self->_ctx);
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 241, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 241, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

      /* "cuda/bindings/_lib/utils.pxi":239
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._ctx = _driver.CUcontext()
 *                 self._cptr = <void*><void_ptr>self._ctx.getPtr()
*/
      goto __pyx_L3;
    }

    /* "cuda/bindings/_lib/utils.pxi":243
 *                 self._cptr = <void*><void_ptr>self._ctx.getPtr()
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
*/
    /*else*/ {
      __pyx_t_6 = __pyx_v_init_value;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 243, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 243, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));
    }
    __pyx_L3:;

    /* "cuda/bindings/_lib/utils.pxi":238
 *         self._is_getter = is_getter
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):             # <<<<<<<<<<<<<<
 *             if self._is_getter:
 *                 self._ctx = _driver.CUcontext()
*/
    break;
    case CU_POINTER_ATTRIBUTE_MEMORY_TYPE:

    /* "cuda/bindings/_lib/utils.pxi":244
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,
*/
    case CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL:

    /* "cuda/bindings/_lib/utils.pxi":245
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE,
*/
    case CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES:

    /* "cuda/bindings/_lib/utils.pxi":246
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
*/
    case CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE:

    /* "cuda/bindings/_lib/utils.pxi":247
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
 *             self._uint = init_value
*/
    case CU_POINTER_ATTRIBUTE_ACCESS_FLAGS:

    /* "cuda/bindings/_lib/utils.pxi":249
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
 *             self._uint = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._uint
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,
*/
    __pyx_t_9 = __Pyx_PyLong_As_unsigned_int(__pyx_v_init_value); if (unlikely((__pyx_t_9 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 249, __pyx_L1_error)
    __pyx_v_self->_uint = __pyx_t_9;

    /* "cuda/bindings/_lib/utils.pxi":250
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
 *             self._uint = init_value
 *             self._cptr = <void*>&self._uint             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_uint));

    /* "cuda/bindings/_lib/utils.pxi":244
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,
*/
    break;
    case CU_POINTER_ATTRIBUTE_DEVICE_POINTER:

    /* "cuda/bindings/_lib/utils.pxi":251
 *             self._uint = init_value
 *             self._cptr = <void*>&self._uint
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             if self._is_getter:
*/
    case CU_POINTER_ATTRIBUTE_RANGE_START_ADDR:

    /* "cuda/bindings/_lib/utils.pxi":253
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._devptr = _driver.CUdeviceptr()
 *                 self._cptr = <void*><void_ptr>self._devptr.getPtr()
*/
    if (__pyx_v_self->_is_getter) {

      /* "cuda/bindings/_lib/utils.pxi":254
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             if self._is_getter:
 *                 self._devptr = _driver.CUdeviceptr()             # <<<<<<<<<<<<<<
 *                 self._cptr = <void*><void_ptr>self._devptr.getPtr()
 *             else:
*/
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_driver); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 254, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUdeviceptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 254, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 254, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr))))) __PYX_ERR(1, 254, __pyx_L1_error)
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_devptr);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_devptr);
      __pyx_v_self->_devptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "cuda/bindings/_lib/utils.pxi":255
 *             if self._is_getter:
 *                 self._devptr = _driver.CUdeviceptr()
 *                 self._cptr = <void*><void_ptr>self._devptr.getPtr()             # <<<<<<<<<<<<<<
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
*/
      __pyx_t_5 = ((PyObject *)__pyx_v_self->_devptr);
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 255, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 255, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

      /* "cuda/bindings/_lib/utils.pxi":253
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._devptr = _driver.CUdeviceptr()
 *                 self._cptr = <void*><void_ptr>self._devptr.getPtr()
*/
      goto __pyx_L4;
    }

    /* "cuda/bindings/_lib/utils.pxi":257
 *                 self._cptr = <void*><void_ptr>self._devptr.getPtr()
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER,):
 *             self._void = <void**><void_ptr>init_value
*/
    /*else*/ {
      __pyx_t_5 = __pyx_v_init_value;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 257, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 257, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));
    }
    __pyx_L4:;

    /* "cuda/bindings/_lib/utils.pxi":251
 *             self._uint = init_value
 *             self._cptr = <void*>&self._uint
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             if self._is_getter:
*/
    break;
    case CU_POINTER_ATTRIBUTE_HOST_POINTER:

    /* "cuda/bindings/_lib/utils.pxi":259
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER,):
 *             self._void = <void**><void_ptr>init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._void
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
*/
    __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_init_value); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 259, __pyx_L1_error)
    __pyx_v_self->_void = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

    /* "cuda/bindings/_lib/utils.pxi":260
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER,):
 *             self._void = <void**><void_ptr>init_value
 *             self._cptr = <void*>&self._void             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
 *             if self._is_getter:
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_void));

    /* "cuda/bindings/_lib/utils.pxi":258
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER,):             # <<<<<<<<<<<<<<
 *             self._void = <void**><void_ptr>init_value
 *             self._cptr = <void*>&self._void
*/
    break;
    case CU_POINTER_ATTRIBUTE_P2P_TOKENS:

    /* "cuda/bindings/_lib/utils.pxi":262
 *             self._cptr = <void*>&self._void
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._token = _driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS()
 *                 self._cptr = <void*><void_ptr>self._token.getPtr()
*/
    if (__pyx_v_self->_is_getter) {

      /* "cuda/bindings/_lib/utils.pxi":263
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
 *             if self._is_getter:
 *                 self._token = _driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS()             # <<<<<<<<<<<<<<
 *                 self._cptr = <void*><void_ptr>self._token.getPtr()
 *             else:
*/
      __pyx_t_5 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_driver); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_5);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 263, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS))))) __PYX_ERR(1, 263, __pyx_L1_error)
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_token);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_token);
      __pyx_v_self->_token = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "cuda/bindings/_lib/utils.pxi":264
 *             if self._is_getter:
 *                 self._token = _driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS()
 *                 self._cptr = <void*><void_ptr>self._token.getPtr()             # <<<<<<<<<<<<<<
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
*/
      __pyx_t_4 = ((PyObject *)__pyx_v_self->_token);
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 264, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 264, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

      /* "cuda/bindings/_lib/utils.pxi":262
 *             self._cptr = <void*>&self._void
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._token = _driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS()
 *                 self._cptr = <void*><void_ptr>self._token.getPtr()
*/
      goto __pyx_L5;
    }

    /* "cuda/bindings/_lib/utils.pxi":266
 *                 self._cptr = <void*><void_ptr>self._token.getPtr()
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,
*/
    /*else*/ {
      __pyx_t_4 = __pyx_v_init_value;
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 266, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));
    }
    __pyx_L5:;

    /* "cuda/bindings/_lib/utils.pxi":261
 *             self._void = <void**><void_ptr>init_value
 *             self._cptr = <void*>&self._void
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):             # <<<<<<<<<<<<<<
 *             if self._is_getter:
 *                 self._token = _driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS()
*/
    break;
    case CU_POINTER_ATTRIBUTE_SYNC_MEMOPS:

    /* "cuda/bindings/_lib/utils.pxi":267
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,
*/
    case CU_POINTER_ATTRIBUTE_IS_MANAGED:

    /* "cuda/bindings/_lib/utils.pxi":268
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED,):
*/
    case CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE:

    /* "cuda/bindings/_lib/utils.pxi":269
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED,):
 *             self._bool = init_value
*/
    case CU_POINTER_ATTRIBUTE_MAPPED:

    /* "cuda/bindings/_lib/utils.pxi":271
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED,):
 *             self._bool = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._bool
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_init_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 271, __pyx_L1_error)
    __pyx_v_self->_bool = __pyx_t_1;

    /* "cuda/bindings/_lib/utils.pxi":272
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED,):
 *             self._bool = init_value
 *             self._cptr = <void*>&self._bool             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):
 *             self._ull = init_value
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_bool));

    /* "cuda/bindings/_lib/utils.pxi":267
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,
*/
    break;
    case CU_POINTER_ATTRIBUTE_BUFFER_ID:

    /* "cuda/bindings/_lib/utils.pxi":274
 *             self._cptr = <void*>&self._bool
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):
 *             self._ull = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._ull
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_init_value); if (unlikely((__pyx_t_10 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 274, __pyx_L1_error)
    __pyx_v_self->_ull = __pyx_t_10;

    /* "cuda/bindings/_lib/utils.pxi":275
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):
 *             self._ull = init_value
 *             self._cptr = <void*>&self._ull             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):
 *             self._size = init_value
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_ull));

    /* "cuda/bindings/_lib/utils.pxi":273
 *             self._bool = init_value
 *             self._cptr = <void*>&self._bool
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):             # <<<<<<<<<<<<<<
 *             self._ull = init_value
 *             self._cptr = <void*>&self._ull
*/
    break;
    case CU_POINTER_ATTRIBUTE_RANGE_SIZE:

    /* "cuda/bindings/_lib/utils.pxi":277
 *             self._cptr = <void*>&self._ull
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):
 *             self._size = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._size
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):
*/
    __pyx_t_7 = __Pyx_PyLong_As_size_t(__pyx_v_init_value); if (unlikely((__pyx_t_7 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 277, __pyx_L1_error)
    __pyx_v_self->_size = __pyx_t_7;

    /* "cuda/bindings/_lib/utils.pxi":278
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):
 *             self._size = init_value
 *             self._cptr = <void*>&self._size             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):
 *             if self._is_getter:
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_size));

    /* "cuda/bindings/_lib/utils.pxi":276
 *             self._ull = init_value
 *             self._cptr = <void*>&self._ull
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):             # <<<<<<<<<<<<<<
 *             self._size = init_value
 *             self._cptr = <void*>&self._size
*/
    break;
    case CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE:

    /* "cuda/bindings/_lib/utils.pxi":280
 *             self._cptr = <void*>&self._size
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._mempool = _driver.CUmemoryPool()
 *                 self._cptr = <void*><void_ptr>self._mempool.getPtr()
*/
    if (__pyx_v_self->_is_getter) {

      /* "cuda/bindings/_lib/utils.pxi":281
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):
 *             if self._is_getter:
 *                 self._mempool = _driver.CUmemoryPool()             # <<<<<<<<<<<<<<
 *                 self._cptr = <void*><void_ptr>self._mempool.getPtr()
 *             else:
*/
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_driver); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_CUmemoryPool); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 281, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool))))) __PYX_ERR(1, 281, __pyx_L1_error)
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_mempool);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_mempool);
      __pyx_v_self->_mempool = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "cuda/bindings/_lib/utils.pxi":282
 *             if self._is_getter:
 *                 self._mempool = _driver.CUmemoryPool()
 *                 self._cptr = <void*><void_ptr>self._mempool.getPtr()             # <<<<<<<<<<<<<<
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
*/
      __pyx_t_6 = ((PyObject *)__pyx_v_self->_mempool);
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 282, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 282, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

      /* "cuda/bindings/_lib/utils.pxi":280
 *             self._cptr = <void*>&self._size
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._mempool = _driver.CUmemoryPool()
 *                 self._cptr = <void*><void_ptr>self._mempool.getPtr()
*/
      goto __pyx_L6;
    }

    /* "cuda/bindings/_lib/utils.pxi":284
 *                 self._cptr = <void*><void_ptr>self._mempool.getPtr()
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    /*else*/ {
      __pyx_t_6 = __pyx_v_init_value;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 284, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));
    }
    __pyx_L6:;

    /* "cuda/bindings/_lib/utils.pxi":279
 *             self._size = init_value
 *             self._cptr = <void*>&self._size
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):             # <<<<<<<<<<<<<<
 *             if self._is_getter:
 *                 self._mempool = _driver.CUmemoryPool()
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":286
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_6 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_11 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_11);
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_12};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 286, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 286, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 286, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":235
 * 
 * cdef class _HelperCUpointer_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):             # <<<<<<<<<<<<<<
 *         self._is_getter = is_getter
 *         self._attr = attr.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUpointer_attribute.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":288
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":291
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":293
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 *     def pyObj(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":291
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUpointer_attribute.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":295
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4pyObj, "_HelperCUpointer_attribute.pyObj(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_5pyObj = {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4pyObj};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pyObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pyObj", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pyObj", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4pyObj(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pyObj", 0);

  /* "cuda/bindings/_lib/utils.pxi":296
 * 
 *     def pyObj(self):
 *         assert(self._is_getter == True)             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
 *             return self._ctx
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_self->_is_getter == 1);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 296, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 296, __pyx_L1_error)
  #endif

  /* "cuda/bindings/_lib/utils.pxi":297
 *     def pyObj(self):
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):             # <<<<<<<<<<<<<<
 *             return self._ctx
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,
*/
  switch (__pyx_v_self->_attr) {
    case CU_POINTER_ATTRIBUTE_CONTEXT:

    /* "cuda/bindings/_lib/utils.pxi":298
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
 *             return self._ctx             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->_ctx);
    __pyx_r = ((PyObject *)__pyx_v_self->_ctx);
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":297
 *     def pyObj(self):
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):             # <<<<<<<<<<<<<<
 *             return self._ctx
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,
*/
    break;
    case CU_POINTER_ATTRIBUTE_MEMORY_TYPE:

    /* "cuda/bindings/_lib/utils.pxi":299
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
 *             return self._ctx
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,
*/
    case CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL:

    /* "cuda/bindings/_lib/utils.pxi":300
 *             return self._ctx
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE,
*/
    case CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES:

    /* "cuda/bindings/_lib/utils.pxi":301
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
*/
    case CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE:

    /* "cuda/bindings/_lib/utils.pxi":302
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
 *             return self._uint
*/
    case CU_POINTER_ATTRIBUTE_ACCESS_FLAGS:

    /* "cuda/bindings/_lib/utils.pxi":304
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
 *             return self._uint             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_From_unsigned_int(__pyx_v_self->_uint); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":299
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
 *             return self._ctx
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES,
*/
    break;
    case CU_POINTER_ATTRIBUTE_DEVICE_POINTER:

    /* "cuda/bindings/_lib/utils.pxi":305
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
 *             return self._uint
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             return self._devptr
*/
    case CU_POINTER_ATTRIBUTE_RANGE_START_ADDR:

    /* "cuda/bindings/_lib/utils.pxi":307
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             return self._devptr             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER,):
 *             return <void_ptr>self._void
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->_devptr);
    __pyx_r = ((PyObject *)__pyx_v_self->_devptr);
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":305
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS,):
 *             return self._uint
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             return self._devptr
*/
    break;
    case CU_POINTER_ATTRIBUTE_HOST_POINTER:

    /* "cuda/bindings/_lib/utils.pxi":309
 *             return self._devptr
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER,):
 *             return <void_ptr>self._void             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
 *             return self._token
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_void)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":308
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR,):
 *             return self._devptr
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER,):             # <<<<<<<<<<<<<<
 *             return <void_ptr>self._void
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
*/
    break;
    case CU_POINTER_ATTRIBUTE_P2P_TOKENS:

    /* "cuda/bindings/_lib/utils.pxi":311
 *             return <void_ptr>self._void
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
 *             return self._token             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->_token);
    __pyx_r = ((PyObject *)__pyx_v_self->_token);
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":310
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER,):
 *             return <void_ptr>self._void
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):             # <<<<<<<<<<<<<<
 *             return self._token
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,
*/
    break;
    case CU_POINTER_ATTRIBUTE_SYNC_MEMOPS:

    /* "cuda/bindings/_lib/utils.pxi":312
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
 *             return self._token
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,
*/
    case CU_POINTER_ATTRIBUTE_IS_MANAGED:

    /* "cuda/bindings/_lib/utils.pxi":313
 *             return self._token
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED,):
*/
    case CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE:

    /* "cuda/bindings/_lib/utils.pxi":314
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED,):
 *             return self._bool
*/
    case CU_POINTER_ATTRIBUTE_MAPPED:

    /* "cuda/bindings/_lib/utils.pxi":316
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED,):
 *             return self._bool             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):
 *             return self._ull
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->_bool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":312
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS,):
 *             return self._token
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS,             # <<<<<<<<<<<<<<
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED,
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE,
*/
    break;
    case CU_POINTER_ATTRIBUTE_BUFFER_ID:

    /* "cuda/bindings/_lib/utils.pxi":318
 *             return self._bool
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):
 *             return self._ull             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):
 *             return self._size
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_self->_ull); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":317
 *                             cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED,):
 *             return self._bool
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):             # <<<<<<<<<<<<<<
 *             return self._ull
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):
*/
    break;
    case CU_POINTER_ATTRIBUTE_RANGE_SIZE:

    /* "cuda/bindings/_lib/utils.pxi":320
 *             return self._ull
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):
 *             return self._size             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):
 *             return self._mempool
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_self->_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":319
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID,):
 *             return self._ull
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):             # <<<<<<<<<<<<<<
 *             return self._size
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):
*/
    break;
    case CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE:

    /* "cuda/bindings/_lib/utils.pxi":322
 *             return self._size
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):
 *             return self._mempool             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->_mempool);
    __pyx_r = ((PyObject *)__pyx_v_self->_mempool);
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":321
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE,):
 *             return self._size
 *         elif self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE,):             # <<<<<<<<<<<<<<
 *             return self._mempool
 *         else:
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":324
 *             return self._mempool
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUgraphMem_attribute:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_6 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(__pyx_v_self->_attr); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 324, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 324, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 324, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":295
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUpointer_attribute.pyObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_6__reduce_cython__, "_HelperCUpointer_attribute.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_6__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_6__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUpointer_attribute.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_8__setstate_cython__, "_HelperCUpointer_attribute.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_8__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUpointer_attribute.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_8__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUpointer_attribute.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":327
 * 
 * cdef class _HelperCUgraphMem_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):             # <<<<<<<<<<<<<<
 *         self._is_getter = is_getter
 *         self._attr = attr.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_init_value = 0;
  PyObject *__pyx_v_is_getter = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_is_getter,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 327, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 327, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 327, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 327, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 327, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, i); __PYX_ERR(1, 327, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 327, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 327, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 327, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_attr = values[0];
    __pyx_v_init_value = values[1];
    __pyx_v_is_getter = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 327, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUgraphMem_attribute.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_v_self), __pyx_v_attr, __pyx_v_init_value, __pyx_v_is_getter);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value, PyObject *__pyx_v_is_getter) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  enum CUgraphMem_attribute_enum __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":328
 * cdef class _HelperCUgraphMem_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):
 *         self._is_getter = is_getter             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_is_getter); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 328, __pyx_L1_error)
  __pyx_v_self->_is_getter = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":329
 *     def __cinit__(self, attr, init_value, is_getter=False):
 *         self._is_getter = is_getter
 *         self._attr = attr.value             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = ((enum CUgraphMem_attribute_enum)__Pyx_PyLong_As_enum__CUgraphMem_attribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attr = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":330
 *         self._is_getter = is_getter
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
*/
  switch (__pyx_v_self->_attr) {
    case CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT:
    case CU_GRAPH_MEM_ATTR_USED_MEM_HIGH:

    /* "cuda/bindings/_lib/utils.pxi":331
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,             # <<<<<<<<<<<<<<
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH,):
*/
    case CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT:

    /* "cuda/bindings/_lib/utils.pxi":332
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH,):
 *             if self._is_getter:
*/
    case CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH:

    /* "cuda/bindings/_lib/utils.pxi":334
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._cuuint64_t_val = _driver.cuuint64_t()
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()
*/
    if (__pyx_v_self->_is_getter) {

      /* "cuda/bindings/_lib/utils.pxi":335
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH,):
 *             if self._is_getter:
 *                 self._cuuint64_t_val = _driver.cuuint64_t()             # <<<<<<<<<<<<<<
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()
 *             else:
*/
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_driver); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 335, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_cuuint64_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 335, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 335, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t))))) __PYX_ERR(1, 335, __pyx_L1_error)
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_cuuint64_t_val);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_cuuint64_t_val);
      __pyx_v_self->_cuuint64_t_val = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "cuda/bindings/_lib/utils.pxi":336
 *             if self._is_getter:
 *                 self._cuuint64_t_val = _driver.cuuint64_t()
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()             # <<<<<<<<<<<<<<
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
*/
      __pyx_t_6 = ((PyObject *)__pyx_v_self->_cuuint64_t_val);
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 336, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 336, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

      /* "cuda/bindings/_lib/utils.pxi":334
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._cuuint64_t_val = _driver.cuuint64_t()
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()
*/
      goto __pyx_L3;
    }

    /* "cuda/bindings/_lib/utils.pxi":338
 *                 self._cptr = <void*><void_ptr>self._cuuint64_t_val.getPtr()
 *             else:
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    /*else*/ {
      __pyx_t_6 = __pyx_v_init_value;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 338, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));
    }
    __pyx_L3:;

    /* "cuda/bindings/_lib/utils.pxi":330
 *         self._is_getter = is_getter
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":340
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_6 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_9 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 340, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":327
 * 
 * cdef class _HelperCUgraphMem_attribute:
 *     def __cinit__(self, attr, init_value, is_getter=False):             # <<<<<<<<<<<<<<
 *         self._is_getter = is_getter
 *         self._attr = attr.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUgraphMem_attribute.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":342
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":345
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":347
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 *     def pyObj(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":345
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUgraphMem_attribute.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":349
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4pyObj, "_HelperCUgraphMem_attribute.pyObj(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_5pyObj = {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4pyObj};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pyObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pyObj", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pyObj", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4pyObj(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pyObj", 0);

  /* "cuda/bindings/_lib/utils.pxi":350
 * 
 *     def pyObj(self):
 *         assert(self._is_getter == True)             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_self->_is_getter == 1);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 350, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 350, __pyx_L1_error)
  #endif

  /* "cuda/bindings/_lib/utils.pxi":351
 *     def pyObj(self):
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
*/
  switch (__pyx_v_self->_attr) {
    case CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT:
    case CU_GRAPH_MEM_ATTR_USED_MEM_HIGH:

    /* "cuda/bindings/_lib/utils.pxi":352
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,             # <<<<<<<<<<<<<<
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH,):
*/
    case CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT:

    /* "cuda/bindings/_lib/utils.pxi":353
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH,):
 *             return self._cuuint64_t_val
*/
    case CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH:

    /* "cuda/bindings/_lib/utils.pxi":355
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH,):
 *             return self._cuuint64_t_val             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->_cuuint64_t_val);
    __pyx_r = ((PyObject *)__pyx_v_self->_cuuint64_t_val);
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":351
 *     def pyObj(self):
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":357
 *             return self._cuuint64_t_val
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUjit_option:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_6 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyLong_From_enum__CUgraphMem_attribute_enum(__pyx_v_self->_attr); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 357, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":349
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUgraphMem_attribute.pyObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_6__reduce_cython__, "_HelperCUgraphMem_attribute.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_6__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_6__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUgraphMem_attribute.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_8__setstate_cython__, "_HelperCUgraphMem_attribute.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_8__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUgraphMem_attribute.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_8__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUgraphMem_attribute.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":360
 * 
 * cdef class _HelperCUjit_option:
 *     def __cinit__(self, attr, init_value):             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUjit_option_enum.CU_JIT_MAX_REGISTERS,
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_init_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_init_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 360, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 360, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 360, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 360, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, i); __PYX_ERR(1, 360, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 360, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 360, __pyx_L3_error)
    }
    __pyx_v_attr = values[0];
    __pyx_v_init_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 360, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUjit_option.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)__pyx_v_self), __pyx_v_attr, __pyx_v_init_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value) {
  PyObject *__pyx_v_pylist = NULL;
  PyObject *__pyx_8genexpr1__pyx_v_val = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum CUjit_option_enum __pyx_t_2;
  unsigned int __pyx_t_3;
  float __pyx_t_4;
  char *__pyx_t_5;
  enum CUjit_target_enum __pyx_t_6;
  enum CUjit_fallback_enum __pyx_t_7;
  int __pyx_t_8;
  enum CUjit_cacheMode_enum __pyx_t_9;
  std::vector<char *>  __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  PyObject *(*__pyx_t_13)(PyObject *);
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  size_t __pyx_t_17;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_18;
  PyObject *__pyx_t_19 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":361
 * cdef class _HelperCUjit_option:
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUjit_option_enum.CU_JIT_MAX_REGISTERS,
 *                           cydriver.CUjit_option_enum.CU_JIT_THREADS_PER_BLOCK,
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUjit_option_enum)__Pyx_PyLong_As_enum__CUjit_option_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_attr = __pyx_t_2;

  /* "cuda/bindings/_lib/utils.pxi":362
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUjit_option_enum.CU_JIT_MAX_REGISTERS,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_THREADS_PER_BLOCK,
 *                           cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES,
*/
  switch (__pyx_v_self->_attr) {
    case CU_JIT_MAX_REGISTERS:
    case CU_JIT_THREADS_PER_BLOCK:

    /* "cuda/bindings/_lib/utils.pxi":363
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUjit_option_enum.CU_JIT_MAX_REGISTERS,
 *                           cydriver.CUjit_option_enum.CU_JIT_THREADS_PER_BLOCK,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES,
 *                           cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES,
*/
    case CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES:

    /* "cuda/bindings/_lib/utils.pxi":364
 *         if self._attr in (cydriver.CUjit_option_enum.CU_JIT_MAX_REGISTERS,
 *                           cydriver.CUjit_option_enum.CU_JIT_THREADS_PER_BLOCK,
 *                           cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES,
 *                           cydriver.CUjit_option_enum.CU_JIT_OPTIMIZATION_LEVEL,
*/
    case CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES:

    /* "cuda/bindings/_lib/utils.pxi":365
 *                           cydriver.CUjit_option_enum.CU_JIT_THREADS_PER_BLOCK,
 *                           cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES,
 *                           cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_OPTIMIZATION_LEVEL,
 *                           cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_COUNT,
*/
    case CU_JIT_OPTIMIZATION_LEVEL:

    /* "cuda/bindings/_lib/utils.pxi":366
 *                           cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES,
 *                           cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES,
 *                           cydriver.CUjit_option_enum.CU_JIT_OPTIMIZATION_LEVEL,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_COUNT,
 *                           cydriver.CUjit_option_enum.CU_JIT_TARGET_FROM_CUCONTEXT,
*/
    case CU_JIT_GLOBAL_SYMBOL_COUNT:

    /* "cuda/bindings/_lib/utils.pxi":367
 *                           cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES,
 *                           cydriver.CUjit_option_enum.CU_JIT_OPTIMIZATION_LEVEL,
 *                           cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_COUNT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_TARGET_FROM_CUCONTEXT,
 *                           cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_COUNT,
*/
    case CU_JIT_TARGET_FROM_CUCONTEXT:

    /* "cuda/bindings/_lib/utils.pxi":368
 *                           cydriver.CUjit_option_enum.CU_JIT_OPTIMIZATION_LEVEL,
 *                           cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_COUNT,
 *                           cydriver.CUjit_option_enum.CU_JIT_TARGET_FROM_CUCONTEXT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_COUNT,
 *                           cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_COUNT,
*/
    case CU_JIT_REFERENCED_KERNEL_COUNT:

    /* "cuda/bindings/_lib/utils.pxi":369
 *                           cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_COUNT,
 *                           cydriver.CUjit_option_enum.CU_JIT_TARGET_FROM_CUCONTEXT,
 *                           cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_COUNT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_COUNT,
 *                           cydriver.CUjit_option_enum.CU_JIT_MIN_CTA_PER_SM,):
*/
    case CU_JIT_REFERENCED_VARIABLE_COUNT:

    /* "cuda/bindings/_lib/utils.pxi":370
 *                           cydriver.CUjit_option_enum.CU_JIT_TARGET_FROM_CUCONTEXT,
 *                           cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_COUNT,
 *                           cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_COUNT,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_MIN_CTA_PER_SM,):
 *             self._uint = init_value
*/
    case CU_JIT_MIN_CTA_PER_SM:

    /* "cuda/bindings/_lib/utils.pxi":372
 *                           cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_COUNT,
 *                           cydriver.CUjit_option_enum.CU_JIT_MIN_CTA_PER_SM,):
 *             self._uint = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._uint
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_WALL_TIME,):
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_int(__pyx_v_init_value); if (unlikely((__pyx_t_3 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 372, __pyx_L1_error)
    __pyx_v_self->_uint = __pyx_t_3;

    /* "cuda/bindings/_lib/utils.pxi":373
 *                           cydriver.CUjit_option_enum.CU_JIT_MIN_CTA_PER_SM,):
 *             self._uint = init_value
 *             self._cptr = <void*><void_ptr>self._uint             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_WALL_TIME,):
 *             self._float = init_value
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_uint));

    /* "cuda/bindings/_lib/utils.pxi":362
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUjit_option_enum.CU_JIT_MAX_REGISTERS,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_THREADS_PER_BLOCK,
 *                           cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES,
*/
    break;
    case CU_JIT_WALL_TIME:

    /* "cuda/bindings/_lib/utils.pxi":375
 *             self._cptr = <void*><void_ptr>self._uint
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_WALL_TIME,):
 *             self._float = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._float
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER,
*/
    __pyx_t_4 = __Pyx_PyFloat_AsFloat(__pyx_v_init_value); if (unlikely((__pyx_t_4 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 375, __pyx_L1_error)
    __pyx_v_self->_float = __pyx_t_4;

    /* "cuda/bindings/_lib/utils.pxi":376
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_WALL_TIME,):
 *             self._float = init_value
 *             self._cptr = <void*><void_ptr>self._float             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER,
 *                             cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER):
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_float));

    /* "cuda/bindings/_lib/utils.pxi":374
 *             self._uint = init_value
 *             self._cptr = <void*><void_ptr>self._uint
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_WALL_TIME,):             # <<<<<<<<<<<<<<
 *             self._float = init_value
 *             self._cptr = <void*><void_ptr>self._float
*/
    break;
    case CU_JIT_INFO_LOG_BUFFER:

    /* "cuda/bindings/_lib/utils.pxi":377
 *             self._float = init_value
 *             self._cptr = <void*><void_ptr>self._float
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER):
 *             self._charstar = init_value
*/
    case CU_JIT_ERROR_LOG_BUFFER:

    /* "cuda/bindings/_lib/utils.pxi":379
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER,
 *                             cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER):
 *             self._charstar = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._charstar
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_TARGET,):
*/
    __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_init_value); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(1, 379, __pyx_L1_error)
    __pyx_v_self->_charstar = __pyx_t_5;

    /* "cuda/bindings/_lib/utils.pxi":380
 *                             cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER):
 *             self._charstar = init_value
 *             self._cptr = <void*><void_ptr>self._charstar             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_TARGET,):
 *             self._target = init_value.value
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_charstar));

    /* "cuda/bindings/_lib/utils.pxi":377
 *             self._float = init_value
 *             self._cptr = <void*><void_ptr>self._float
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER):
 *             self._charstar = init_value
*/
    break;
    case CU_JIT_TARGET:

    /* "cuda/bindings/_lib/utils.pxi":382
 *             self._cptr = <void*><void_ptr>self._charstar
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_TARGET,):
 *             self._target = init_value.value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._target
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_FALLBACK_STRATEGY,):
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = ((enum CUjit_target_enum)__Pyx_PyLong_As_enum__CUjit_target_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 382, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_target = __pyx_t_6;

    /* "cuda/bindings/_lib/utils.pxi":383
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_TARGET,):
 *             self._target = init_value.value
 *             self._cptr = <void*><void_ptr>self._target             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_FALLBACK_STRATEGY,):
 *             self._fallback = init_value.value
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_target));

    /* "cuda/bindings/_lib/utils.pxi":381
 *             self._charstar = init_value
 *             self._cptr = <void*><void_ptr>self._charstar
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_TARGET,):             # <<<<<<<<<<<<<<
 *             self._target = init_value.value
 *             self._cptr = <void*><void_ptr>self._target
*/
    break;
    case CU_JIT_FALLBACK_STRATEGY:

    /* "cuda/bindings/_lib/utils.pxi":385
 *             self._cptr = <void*><void_ptr>self._target
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_FALLBACK_STRATEGY,):
 *             self._fallback = init_value.value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._fallback
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GENERATE_DEBUG_INFO,
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = ((enum CUjit_fallback_enum)__Pyx_PyLong_As_enum__CUjit_fallback_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 385, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_fallback = __pyx_t_7;

    /* "cuda/bindings/_lib/utils.pxi":386
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_FALLBACK_STRATEGY,):
 *             self._fallback = init_value.value
 *             self._cptr = <void*><void_ptr>self._fallback             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GENERATE_DEBUG_INFO,
 *                             cydriver.CUjit_option_enum.CU_JIT_LOG_VERBOSE,
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_fallback));

    /* "cuda/bindings/_lib/utils.pxi":384
 *             self._target = init_value.value
 *             self._cptr = <void*><void_ptr>self._target
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_FALLBACK_STRATEGY,):             # <<<<<<<<<<<<<<
 *             self._fallback = init_value.value
 *             self._cptr = <void*><void_ptr>self._fallback
*/
    break;
    case CU_JIT_GENERATE_DEBUG_INFO:

    /* "cuda/bindings/_lib/utils.pxi":387
 *             self._fallback = init_value.value
 *             self._cptr = <void*><void_ptr>self._fallback
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GENERATE_DEBUG_INFO,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_LOG_VERBOSE,
 *                             cydriver.CUjit_option_enum.CU_JIT_GENERATE_LINE_INFO,
*/
    case CU_JIT_LOG_VERBOSE:

    /* "cuda/bindings/_lib/utils.pxi":388
 *             self._cptr = <void*><void_ptr>self._fallback
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GENERATE_DEBUG_INFO,
 *                             cydriver.CUjit_option_enum.CU_JIT_LOG_VERBOSE,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_GENERATE_LINE_INFO,
 *                             cydriver.CUjit_option_enum.CU_JIT_LTO,
*/
    case CU_JIT_GENERATE_LINE_INFO:

    /* "cuda/bindings/_lib/utils.pxi":389
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GENERATE_DEBUG_INFO,
 *                             cydriver.CUjit_option_enum.CU_JIT_LOG_VERBOSE,
 *                             cydriver.CUjit_option_enum.CU_JIT_GENERATE_LINE_INFO,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_LTO,
 *                             cydriver.CUjit_option_enum.CU_JIT_FTZ,
*/
    case CU_JIT_LTO:

    /* "cuda/bindings/_lib/utils.pxi":390
 *                             cydriver.CUjit_option_enum.CU_JIT_LOG_VERBOSE,
 *                             cydriver.CUjit_option_enum.CU_JIT_GENERATE_LINE_INFO,
 *                             cydriver.CUjit_option_enum.CU_JIT_LTO,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_FTZ,
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_DIV,
*/
    case CU_JIT_FTZ:

    /* "cuda/bindings/_lib/utils.pxi":391
 *                             cydriver.CUjit_option_enum.CU_JIT_GENERATE_LINE_INFO,
 *                             cydriver.CUjit_option_enum.CU_JIT_LTO,
 *                             cydriver.CUjit_option_enum.CU_JIT_FTZ,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_DIV,
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_SQRT,
*/
    case CU_JIT_PREC_DIV:

    /* "cuda/bindings/_lib/utils.pxi":392
 *                             cydriver.CUjit_option_enum.CU_JIT_LTO,
 *                             cydriver.CUjit_option_enum.CU_JIT_FTZ,
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_DIV,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_SQRT,
 *                             cydriver.CUjit_option_enum.CU_JIT_FMA,
*/
    case CU_JIT_PREC_SQRT:

    /* "cuda/bindings/_lib/utils.pxi":393
 *                             cydriver.CUjit_option_enum.CU_JIT_FTZ,
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_DIV,
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_SQRT,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_FMA,
 *                             cydriver.CUjit_option_enum.CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES,):
*/
    case CU_JIT_FMA:

    /* "cuda/bindings/_lib/utils.pxi":394
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_DIV,
 *                             cydriver.CUjit_option_enum.CU_JIT_PREC_SQRT,
 *                             cydriver.CUjit_option_enum.CU_JIT_FMA,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES,):
 *             self._int = init_value
*/
    case CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES:

    /* "cuda/bindings/_lib/utils.pxi":396
 *                             cydriver.CUjit_option_enum.CU_JIT_FMA,
 *                             cydriver.CUjit_option_enum.CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES,):
 *             self._int = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._int
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_CACHE_MODE,):
*/
    __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_init_value); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 396, __pyx_L1_error)
    __pyx_v_self->_int = __pyx_t_8;

    /* "cuda/bindings/_lib/utils.pxi":397
 *                             cydriver.CUjit_option_enum.CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES,):
 *             self._int = init_value
 *             self._cptr = <void*><void_ptr>self._int             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_CACHE_MODE,):
 *             self._cacheMode = init_value.value
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_int));

    /* "cuda/bindings/_lib/utils.pxi":387
 *             self._fallback = init_value.value
 *             self._cptr = <void*><void_ptr>self._fallback
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GENERATE_DEBUG_INFO,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_LOG_VERBOSE,
 *                             cydriver.CUjit_option_enum.CU_JIT_GENERATE_LINE_INFO,
*/
    break;
    case CU_JIT_CACHE_MODE:

    /* "cuda/bindings/_lib/utils.pxi":399
 *             self._cptr = <void*><void_ptr>self._int
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_CACHE_MODE,):
 *             self._cacheMode = init_value.value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._cacheMode
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_NAMES,
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = ((enum CUjit_cacheMode_enum)__Pyx_PyLong_As_enum__CUjit_cacheMode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 399, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_cacheMode = __pyx_t_9;

    /* "cuda/bindings/_lib/utils.pxi":400
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_CACHE_MODE,):
 *             self._cacheMode = init_value.value
 *             self._cptr = <void*><void_ptr>self._cacheMode             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_NAMES,
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_NAMES,
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cacheMode));

    /* "cuda/bindings/_lib/utils.pxi":398
 *             self._int = init_value
 *             self._cptr = <void*><void_ptr>self._int
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_CACHE_MODE,):             # <<<<<<<<<<<<<<
 *             self._cacheMode = init_value.value
 *             self._cptr = <void*><void_ptr>self._cacheMode
*/
    break;
    case CU_JIT_GLOBAL_SYMBOL_NAMES:

    /* "cuda/bindings/_lib/utils.pxi":401
 *             self._cacheMode = init_value.value
 *             self._cptr = <void*><void_ptr>self._cacheMode
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_NAMES,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_NAMES,
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_NAMES,):
*/
    case CU_JIT_REFERENCED_KERNEL_NAMES:

    /* "cuda/bindings/_lib/utils.pxi":402
 *             self._cptr = <void*><void_ptr>self._cacheMode
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_NAMES,
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_NAMES,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_NAMES,):
 *             self._charstarstar = init_value
*/
    case CU_JIT_REFERENCED_VARIABLE_NAMES:

    /* "cuda/bindings/_lib/utils.pxi":404
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_NAMES,
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_NAMES,):
 *             self._charstarstar = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._charstarstar[0]
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_ADDRESSES,):
*/
    __pyx_t_10 = __pyx_convert_vector_from_py_char___2a_(__pyx_v_init_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 404, __pyx_L1_error)
    __pyx_v_self->_charstarstar = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_10);

    /* "cuda/bindings/_lib/utils.pxi":405
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_NAMES,):
 *             self._charstarstar = init_value
 *             self._cptr = <void*>&self._charstarstar[0]             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_ADDRESSES,):
 *             pylist = [_HelperInputVoidPtr(val) for val in init_value]
*/
    __pyx_v_self->_cptr = ((void *)(&(__pyx_v_self->_charstarstar[0])));

    /* "cuda/bindings/_lib/utils.pxi":401
 *             self._cacheMode = init_value.value
 *             self._cptr = <void*><void_ptr>self._cacheMode
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_NAMES,             # <<<<<<<<<<<<<<
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_NAMES,
 *                             cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_NAMES,):
*/
    break;
    case CU_JIT_GLOBAL_SYMBOL_ADDRESSES:

    /* "cuda/bindings/_lib/utils.pxi":407
 *             self._cptr = <void*>&self._charstarstar[0]
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_ADDRESSES,):
 *             pylist = [_HelperInputVoidPtr(val) for val in init_value]             # <<<<<<<<<<<<<<
 *             self._voidstarstar = _InputVoidPtrPtrHelper(pylist)
 *             self._cptr = <void*><void_ptr>self._voidstarstar.cptr
*/
    { /* enter inner scope */
      __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 407, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (likely(PyList_CheckExact(__pyx_v_init_value)) || PyTuple_CheckExact(__pyx_v_init_value)) {
        __pyx_t_11 = __pyx_v_init_value; __Pyx_INCREF(__pyx_t_11);
        __pyx_t_12 = 0;
        __pyx_t_13 = NULL;
      } else {
        __pyx_t_12 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_v_init_value); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 407, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 407, __pyx_L5_error)
      }
      for (;;) {
        if (likely(!__pyx_t_13)) {
          if (likely(PyList_CheckExact(__pyx_t_11))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_11);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 407, __pyx_L5_error)
              #endif
              if (__pyx_t_12 >= __pyx_temp) break;
            }
            __pyx_t_14 = __Pyx_PyList_GetItemRef(__pyx_t_11, __pyx_t_12);
            ++__pyx_t_12;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_11);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 407, __pyx_L5_error)
              #endif
              if (__pyx_t_12 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_14 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_12));
            #else
            __pyx_t_14 = __Pyx_PySequence_ITEM(__pyx_t_11, __pyx_t_12);
            #endif
            ++__pyx_t_12;
          }
          if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 407, __pyx_L5_error)
        } else {
          __pyx_t_14 = __pyx_t_13(__pyx_t_11);
          if (unlikely(!__pyx_t_14)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(1, 407, __pyx_L5_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_val, __pyx_t_14);
        __pyx_t_14 = 0;
        __pyx_t_15 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
        __pyx_t_16 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
        __pyx_t_17 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_8genexpr1__pyx_v_val};
          __pyx_t_14 = __Pyx_PyObject_FastCall(__pyx_t_16, __pyx_callargs+__pyx_t_17, (2-__pyx_t_17) | (__pyx_t_17*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 407, __pyx_L5_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_14);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_14))) __PYX_ERR(1, 407, __pyx_L5_error)
        __Pyx_DECREF((PyObject *)__pyx_t_14); __pyx_t_14 = 0;
      }
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_val); __pyx_8genexpr1__pyx_v_val = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L5_error:;
      __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_val); __pyx_8genexpr1__pyx_v_val = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_v_pylist = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/_lib/utils.pxi":408
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_ADDRESSES,):
 *             pylist = [_HelperInputVoidPtr(val) for val in init_value]
 *             self._voidstarstar = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._voidstarstar.cptr
 *         else:
*/
    __pyx_t_11 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
    __pyx_t_14 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
    __pyx_t_17 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_pylist};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+__pyx_t_17, (2-__pyx_t_17) | (__pyx_t_17*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 408, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __Pyx_GIVEREF((PyObject *)__pyx_t_1);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_voidstarstar);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_voidstarstar);
    __pyx_v_self->_voidstarstar = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/_lib/utils.pxi":409
 *             pylist = [_HelperInputVoidPtr(val) for val in init_value]
 *             self._voidstarstar = _InputVoidPtrPtrHelper(pylist)
 *             self._cptr = <void*><void_ptr>self._voidstarstar.cptr             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_voidstarstar), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_18 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_18 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 409, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_18));

    /* "cuda/bindings/_lib/utils.pxi":406
 *             self._charstarstar = init_value
 *             self._cptr = <void*>&self._charstarstar[0]
 *         elif self._attr in (cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_ADDRESSES,):             # <<<<<<<<<<<<<<
 *             pylist = [_HelperInputVoidPtr(val) for val in init_value]
 *             self._voidstarstar = _InputVoidPtrPtrHelper(pylist)
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":411
 *             self._cptr = <void*><void_ptr>self._voidstarstar.cptr
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_14 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_11 = __pyx_builtin_TypeError; 
    __pyx_t_15 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_15);
    __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_19);
    __pyx_t_17 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_t_19};
      __pyx_t_16 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_17, (2-__pyx_t_17) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
      if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
    }
    __pyx_t_17 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_16};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+__pyx_t_17, (2-__pyx_t_17) | (__pyx_t_17*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 411, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":360
 * 
 * cdef class _HelperCUjit_option:
 *     def __cinit__(self, attr, init_value):             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if self._attr in (cydriver.CUjit_option_enum.CU_JIT_MAX_REGISTERS,
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUjit_option.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_val);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":413
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":416
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":418
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCudaJitOption:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":416
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUjit_option.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19_HelperCUjit_option_4__reduce_cython__, "_HelperCUjit_option.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19_HelperCUjit_option_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperCUjit_option_4__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_4__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUjit_option.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19_HelperCUjit_option_6__setstate_cython__, "_HelperCUjit_option.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19_HelperCUjit_option_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperCUjit_option_6__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUjit_option.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_6__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19_HelperCUjit_option_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUjit_option.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":421
 * 
 * cdef class _HelperCudaJitOption:
 *     def __cinit__(self, attr, init_value):             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if self._attr in (cyruntime.cudaJitOption.cudaJitMaxRegisters,
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_init_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_init_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 421, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 421, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 421, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 421, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, i); __PYX_ERR(1, 421, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 421, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 421, __pyx_L3_error)
    }
    __pyx_v_attr = values[0];
    __pyx_v_init_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 421, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaJitOption.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *)__pyx_v_self), __pyx_v_attr, __pyx_v_init_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaJitOption __pyx_t_2;
  unsigned int __pyx_t_3;
  float __pyx_t_4;
  char *__pyx_t_5;
  enum cudaJit_Fallback __pyx_t_6;
  int __pyx_t_7;
  enum cudaJit_CacheMode __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  size_t __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":422
 * cdef class _HelperCudaJitOption:
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value             # <<<<<<<<<<<<<<
 *         if self._attr in (cyruntime.cudaJitOption.cudaJitMaxRegisters,
 *                           cyruntime.cudaJitOption.cudaJitThreadsPerBlock,
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaJitOption)__Pyx_PyLong_As_enum__cudaJitOption(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_attr = __pyx_t_2;

  /* "cuda/bindings/_lib/utils.pxi":423
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value
 *         if self._attr in (cyruntime.cudaJitOption.cudaJitMaxRegisters,             # <<<<<<<<<<<<<<
 *                           cyruntime.cudaJitOption.cudaJitThreadsPerBlock,
 *                           cyruntime.cudaJitOption.cudaJitInfoLogBufferSizeBytes,
*/
  switch (__pyx_v_self->_attr) {
    case cudaJitMaxRegisters:
    case cudaJitThreadsPerBlock:

    /* "cuda/bindings/_lib/utils.pxi":424
 *         self._attr = attr.value
 *         if self._attr in (cyruntime.cudaJitOption.cudaJitMaxRegisters,
 *                           cyruntime.cudaJitOption.cudaJitThreadsPerBlock,             # <<<<<<<<<<<<<<
 *                           cyruntime.cudaJitOption.cudaJitInfoLogBufferSizeBytes,
 *                           cyruntime.cudaJitOption.cudaJitErrorLogBufferSizeBytes,
*/
    case cudaJitInfoLogBufferSizeBytes:

    /* "cuda/bindings/_lib/utils.pxi":425
 *         if self._attr in (cyruntime.cudaJitOption.cudaJitMaxRegisters,
 *                           cyruntime.cudaJitOption.cudaJitThreadsPerBlock,
 *                           cyruntime.cudaJitOption.cudaJitInfoLogBufferSizeBytes,             # <<<<<<<<<<<<<<
 *                           cyruntime.cudaJitOption.cudaJitErrorLogBufferSizeBytes,
 *                           cyruntime.cudaJitOption.cudaJitOptimizationLevel,
*/
    case cudaJitErrorLogBufferSizeBytes:

    /* "cuda/bindings/_lib/utils.pxi":426
 *                           cyruntime.cudaJitOption.cudaJitThreadsPerBlock,
 *                           cyruntime.cudaJitOption.cudaJitInfoLogBufferSizeBytes,
 *                           cyruntime.cudaJitOption.cudaJitErrorLogBufferSizeBytes,             # <<<<<<<<<<<<<<
 *                           cyruntime.cudaJitOption.cudaJitOptimizationLevel,
 *                           cyruntime.cudaJitOption.cudaJitMinCtaPerSm,):
*/
    case cudaJitOptimizationLevel:

    /* "cuda/bindings/_lib/utils.pxi":427
 *                           cyruntime.cudaJitOption.cudaJitInfoLogBufferSizeBytes,
 *                           cyruntime.cudaJitOption.cudaJitErrorLogBufferSizeBytes,
 *                           cyruntime.cudaJitOption.cudaJitOptimizationLevel,             # <<<<<<<<<<<<<<
 *                           cyruntime.cudaJitOption.cudaJitMinCtaPerSm,):
 *             self._uint = init_value
*/
    case cudaJitMinCtaPerSm:

    /* "cuda/bindings/_lib/utils.pxi":429
 *                           cyruntime.cudaJitOption.cudaJitOptimizationLevel,
 *                           cyruntime.cudaJitOption.cudaJitMinCtaPerSm,):
 *             self._uint = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._uint
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitWallTime,):
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_int(__pyx_v_init_value); if (unlikely((__pyx_t_3 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 429, __pyx_L1_error)
    __pyx_v_self->_uint = __pyx_t_3;

    /* "cuda/bindings/_lib/utils.pxi":430
 *                           cyruntime.cudaJitOption.cudaJitMinCtaPerSm,):
 *             self._uint = init_value
 *             self._cptr = <void*><void_ptr>self._uint             # <<<<<<<<<<<<<<
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitWallTime,):
 *             self._float = init_value
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_uint));

    /* "cuda/bindings/_lib/utils.pxi":423
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value
 *         if self._attr in (cyruntime.cudaJitOption.cudaJitMaxRegisters,             # <<<<<<<<<<<<<<
 *                           cyruntime.cudaJitOption.cudaJitThreadsPerBlock,
 *                           cyruntime.cudaJitOption.cudaJitInfoLogBufferSizeBytes,
*/
    break;
    case cudaJitWallTime:

    /* "cuda/bindings/_lib/utils.pxi":432
 *             self._cptr = <void*><void_ptr>self._uint
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitWallTime,):
 *             self._float = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._float
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitInfoLogBuffer,
*/
    __pyx_t_4 = __Pyx_PyFloat_AsFloat(__pyx_v_init_value); if (unlikely((__pyx_t_4 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 432, __pyx_L1_error)
    __pyx_v_self->_float = __pyx_t_4;

    /* "cuda/bindings/_lib/utils.pxi":433
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitWallTime,):
 *             self._float = init_value
 *             self._cptr = <void*><void_ptr>self._float             # <<<<<<<<<<<<<<
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitInfoLogBuffer,
 *                             cyruntime.cudaJitOption.cudaJitErrorLogBuffer):
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_float));

    /* "cuda/bindings/_lib/utils.pxi":431
 *             self._uint = init_value
 *             self._cptr = <void*><void_ptr>self._uint
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitWallTime,):             # <<<<<<<<<<<<<<
 *             self._float = init_value
 *             self._cptr = <void*><void_ptr>self._float
*/
    break;
    case cudaJitInfoLogBuffer:

    /* "cuda/bindings/_lib/utils.pxi":434
 *             self._float = init_value
 *             self._cptr = <void*><void_ptr>self._float
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitInfoLogBuffer,             # <<<<<<<<<<<<<<
 *                             cyruntime.cudaJitOption.cudaJitErrorLogBuffer):
 *             self._charstar = init_value
*/
    case cudaJitErrorLogBuffer:

    /* "cuda/bindings/_lib/utils.pxi":436
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitInfoLogBuffer,
 *                             cyruntime.cudaJitOption.cudaJitErrorLogBuffer):
 *             self._charstar = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._charstar
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitFallbackStrategy,):
*/
    __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_init_value); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(1, 436, __pyx_L1_error)
    __pyx_v_self->_charstar = __pyx_t_5;

    /* "cuda/bindings/_lib/utils.pxi":437
 *                             cyruntime.cudaJitOption.cudaJitErrorLogBuffer):
 *             self._charstar = init_value
 *             self._cptr = <void*><void_ptr>self._charstar             # <<<<<<<<<<<<<<
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitFallbackStrategy,):
 *             self._fallback = init_value.value
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_charstar));

    /* "cuda/bindings/_lib/utils.pxi":434
 *             self._float = init_value
 *             self._cptr = <void*><void_ptr>self._float
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitInfoLogBuffer,             # <<<<<<<<<<<<<<
 *                             cyruntime.cudaJitOption.cudaJitErrorLogBuffer):
 *             self._charstar = init_value
*/
    break;
    case cudaJitFallbackStrategy:

    /* "cuda/bindings/_lib/utils.pxi":439
 *             self._cptr = <void*><void_ptr>self._charstar
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitFallbackStrategy,):
 *             self._fallback = init_value.value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._fallback
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitGenerateDebugInfo,
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = ((enum cudaJit_Fallback)__Pyx_PyLong_As_enum__cudaJit_Fallback(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 439, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_fallback = __pyx_t_6;

    /* "cuda/bindings/_lib/utils.pxi":440
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitFallbackStrategy,):
 *             self._fallback = init_value.value
 *             self._cptr = <void*><void_ptr>self._fallback             # <<<<<<<<<<<<<<
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitGenerateDebugInfo,
 *                             cyruntime.cudaJitOption.cudaJitLogVerbose,
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_fallback));

    /* "cuda/bindings/_lib/utils.pxi":438
 *             self._charstar = init_value
 *             self._cptr = <void*><void_ptr>self._charstar
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitFallbackStrategy,):             # <<<<<<<<<<<<<<
 *             self._fallback = init_value.value
 *             self._cptr = <void*><void_ptr>self._fallback
*/
    break;
    case cudaJitGenerateDebugInfo:

    /* "cuda/bindings/_lib/utils.pxi":441
 *             self._fallback = init_value.value
 *             self._cptr = <void*><void_ptr>self._fallback
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitGenerateDebugInfo,             # <<<<<<<<<<<<<<
 *                             cyruntime.cudaJitOption.cudaJitLogVerbose,
 *                             cyruntime.cudaJitOption.cudaJitGenerateLineInfo,
*/
    case cudaJitLogVerbose:

    /* "cuda/bindings/_lib/utils.pxi":442
 *             self._cptr = <void*><void_ptr>self._fallback
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitGenerateDebugInfo,
 *                             cyruntime.cudaJitOption.cudaJitLogVerbose,             # <<<<<<<<<<<<<<
 *                             cyruntime.cudaJitOption.cudaJitGenerateLineInfo,
 *                             cyruntime.cudaJitOption.cudaJitPositionIndependentCode,
*/
    case cudaJitGenerateLineInfo:

    /* "cuda/bindings/_lib/utils.pxi":443
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitGenerateDebugInfo,
 *                             cyruntime.cudaJitOption.cudaJitLogVerbose,
 *                             cyruntime.cudaJitOption.cudaJitGenerateLineInfo,             # <<<<<<<<<<<<<<
 *                             cyruntime.cudaJitOption.cudaJitPositionIndependentCode,
 *                             cyruntime.cudaJitOption.cudaJitMaxThreadsPerBlock,
*/
    case cudaJitPositionIndependentCode:

    /* "cuda/bindings/_lib/utils.pxi":444
 *                             cyruntime.cudaJitOption.cudaJitLogVerbose,
 *                             cyruntime.cudaJitOption.cudaJitGenerateLineInfo,
 *                             cyruntime.cudaJitOption.cudaJitPositionIndependentCode,             # <<<<<<<<<<<<<<
 *                             cyruntime.cudaJitOption.cudaJitMaxThreadsPerBlock,
 *                             cyruntime.cudaJitOption.cudaJitOverrideDirectiveValues,):
*/
    case cudaJitMaxThreadsPerBlock:

    /* "cuda/bindings/_lib/utils.pxi":445
 *                             cyruntime.cudaJitOption.cudaJitGenerateLineInfo,
 *                             cyruntime.cudaJitOption.cudaJitPositionIndependentCode,
 *                             cyruntime.cudaJitOption.cudaJitMaxThreadsPerBlock,             # <<<<<<<<<<<<<<
 *                             cyruntime.cudaJitOption.cudaJitOverrideDirectiveValues,):
 *             self._int = init_value
*/
    case cudaJitOverrideDirectiveValues:

    /* "cuda/bindings/_lib/utils.pxi":447
 *                             cyruntime.cudaJitOption.cudaJitMaxThreadsPerBlock,
 *                             cyruntime.cudaJitOption.cudaJitOverrideDirectiveValues,):
 *             self._int = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._int
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitCacheMode,):
*/
    __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_init_value); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 447, __pyx_L1_error)
    __pyx_v_self->_int = __pyx_t_7;

    /* "cuda/bindings/_lib/utils.pxi":448
 *                             cyruntime.cudaJitOption.cudaJitOverrideDirectiveValues,):
 *             self._int = init_value
 *             self._cptr = <void*><void_ptr>self._int             # <<<<<<<<<<<<<<
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitCacheMode,):
 *             self._cacheMode = init_value.value
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_int));

    /* "cuda/bindings/_lib/utils.pxi":441
 *             self._fallback = init_value.value
 *             self._cptr = <void*><void_ptr>self._fallback
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitGenerateDebugInfo,             # <<<<<<<<<<<<<<
 *                             cyruntime.cudaJitOption.cudaJitLogVerbose,
 *                             cyruntime.cudaJitOption.cudaJitGenerateLineInfo,
*/
    break;
    case cudaJitCacheMode:

    /* "cuda/bindings/_lib/utils.pxi":450
 *             self._cptr = <void*><void_ptr>self._int
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitCacheMode,):
 *             self._cacheMode = init_value.value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._cacheMode
 *         else:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = ((enum cudaJit_CacheMode)__Pyx_PyLong_As_enum__cudaJit_CacheMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 450, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_cacheMode = __pyx_t_8;

    /* "cuda/bindings/_lib/utils.pxi":451
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitCacheMode,):
 *             self._cacheMode = init_value.value
 *             self._cptr = <void*><void_ptr>self._cacheMode             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cacheMode));

    /* "cuda/bindings/_lib/utils.pxi":449
 *             self._int = init_value
 *             self._cptr = <void*><void_ptr>self._int
 *         elif self._attr in (cyruntime.cudaJitOption.cudaJitCacheMode,):             # <<<<<<<<<<<<<<
 *             self._cacheMode = init_value.value
 *             self._cptr = <void*><void_ptr>self._cacheMode
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":453
 *             self._cptr = <void*><void_ptr>self._cacheMode
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_9 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_10 = __pyx_builtin_TypeError; 
    __pyx_t_12 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_12);
    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_14 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_13};
      __pyx_t_11 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 453, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
    }
    __pyx_t_14 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_11};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (__pyx_t_14*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 453, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 453, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":421
 * 
 * cdef class _HelperCudaJitOption:
 *     def __cinit__(self, attr, init_value):             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if self._attr in (cyruntime.cudaJitOption.cudaJitMaxRegisters,
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaJitOption.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":455
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":458
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":460
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUlibraryOption:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":458
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaJitOption.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20_HelperCudaJitOption_4__reduce_cython__, "_HelperCudaJitOption.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20_HelperCudaJitOption_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20_HelperCudaJitOption_4__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_4__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaJitOption.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20_HelperCudaJitOption_6__setstate_cython__, "_HelperCudaJitOption.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20_HelperCudaJitOption_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20_HelperCudaJitOption_6__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaJitOption.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_6__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20_HelperCudaJitOption_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaJitOption.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":463
 * 
 * cdef class _HelperCUlibraryOption:
 *     def __cinit__(self, attr, init_value):             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if False:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_init_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_init_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 463, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 463, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 463, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 463, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, i); __PYX_ERR(1, 463, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 463, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 463, __pyx_L3_error)
    }
    __pyx_v_attr = values[0];
    __pyx_v_init_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 463, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUlibraryOption.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *)__pyx_v_self), __pyx_v_attr, __pyx_v_init_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum CUlibraryOption_enum __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  unsigned int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":464
 * cdef class _HelperCUlibraryOption:
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value             # <<<<<<<<<<<<<<
 *         if False:
 *             pass
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlibraryOption_enum)__Pyx_PyLong_As_enum__CUlibraryOption_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_attr = __pyx_t_2;

  /* "cuda/bindings/_lib/utils.pxi":465
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value
 *         if False:             # <<<<<<<<<<<<<<
 *             pass
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE,):
*/
  switch (__pyx_v_self->_attr) {
    case CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE:

    /* "cuda/bindings/_lib/utils.pxi":468
 *             pass
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE,):
 *             self._cptr = <void*><void_ptr>init_value.getPtr()             # <<<<<<<<<<<<<<
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED,):
 *             self._uint = init_value
*/
    __pyx_t_3 = __pyx_v_init_value;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 468, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/_lib/utils.pxi":467
 *         if False:
 *             pass
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE,):             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED,):
*/
    break;
    case CU_LIBRARY_BINARY_IS_PRESERVED:

    /* "cuda/bindings/_lib/utils.pxi":470
 *             self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED,):
 *             self._uint = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._uint
 *         else:
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_int(__pyx_v_init_value); if (unlikely((__pyx_t_6 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 470, __pyx_L1_error)
    __pyx_v_self->_uint = __pyx_t_6;

    /* "cuda/bindings/_lib/utils.pxi":471
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED,):
 *             self._uint = init_value
 *             self._cptr = <void*><void_ptr>self._uint             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_uint));

    /* "cuda/bindings/_lib/utils.pxi":469
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE,):
 *             self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cydriver.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED,):             # <<<<<<<<<<<<<<
 *             self._uint = init_value
 *             self._cptr = <void*><void_ptr>self._uint
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":473
 *             self._cptr = <void*><void_ptr>self._uint
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_7 = __pyx_builtin_TypeError; 
    __pyx_t_9 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 473, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":463
 * 
 * cdef class _HelperCUlibraryOption:
 *     def __cinit__(self, attr, init_value):             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if False:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUlibraryOption.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":475
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":478
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":480
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCudaLibraryOption:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":478
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUlibraryOption.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4__reduce_cython__, "_HelperCUlibraryOption.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22_HelperCUlibraryOption_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUlibraryOption.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22_HelperCUlibraryOption_6__setstate_cython__, "_HelperCUlibraryOption.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22_HelperCUlibraryOption_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22_HelperCUlibraryOption_6__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUlibraryOption.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_6__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_HelperCUlibraryOption_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUlibraryOption.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":483
 * 
 * cdef class _HelperCudaLibraryOption:
 *     def __cinit__(self, attr, init_value):             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if False:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_init_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_init_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 483, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 483, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 483, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 483, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, i); __PYX_ERR(1, 483, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 483, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 483, __pyx_L3_error)
    }
    __pyx_v_attr = values[0];
    __pyx_v_init_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 483, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaLibraryOption.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *)__pyx_v_self), __pyx_v_attr, __pyx_v_init_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaLibraryOption __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  unsigned int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":484
 * cdef class _HelperCudaLibraryOption:
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value             # <<<<<<<<<<<<<<
 *         if False:
 *             pass
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaLibraryOption)__Pyx_PyLong_As_enum__cudaLibraryOption(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_attr = __pyx_t_2;

  /* "cuda/bindings/_lib/utils.pxi":485
 *     def __cinit__(self, attr, init_value):
 *         self._attr = attr.value
 *         if False:             # <<<<<<<<<<<<<<
 *             pass
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryHostUniversalFunctionAndDataTable,):
*/
  switch (__pyx_v_self->_attr) {
    case cudaLibraryHostUniversalFunctionAndDataTable:

    /* "cuda/bindings/_lib/utils.pxi":488
 *             pass
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryHostUniversalFunctionAndDataTable,):
 *             self._cptr = <void*><void_ptr>init_value.getPtr()             # <<<<<<<<<<<<<<
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryBinaryIsPreserved,):
 *             self._uint = init_value
*/
    __pyx_t_3 = __pyx_v_init_value;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 488, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 488, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/_lib/utils.pxi":487
 *         if False:
 *             pass
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryHostUniversalFunctionAndDataTable,):             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryBinaryIsPreserved,):
*/
    break;
    case cudaLibraryBinaryIsPreserved:

    /* "cuda/bindings/_lib/utils.pxi":490
 *             self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryBinaryIsPreserved,):
 *             self._uint = init_value             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._uint
 *         else:
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_int(__pyx_v_init_value); if (unlikely((__pyx_t_6 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 490, __pyx_L1_error)
    __pyx_v_self->_uint = __pyx_t_6;

    /* "cuda/bindings/_lib/utils.pxi":491
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryBinaryIsPreserved,):
 *             self._uint = init_value
 *             self._cptr = <void*><void_ptr>self._uint             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_uint));

    /* "cuda/bindings/_lib/utils.pxi":489
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryHostUniversalFunctionAndDataTable,):
 *             self._cptr = <void*><void_ptr>init_value.getPtr()
 *         elif self._attr in (cyruntime.cudaLibraryOption.cudaLibraryBinaryIsPreserved,):             # <<<<<<<<<<<<<<
 *             self._uint = init_value
 *             self._cptr = <void*><void_ptr>self._uint
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":493
 *             self._cptr = <void*><void_ptr>self._uint
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_7 = __pyx_builtin_TypeError; 
    __pyx_t_9 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 493, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 493, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 493, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":483
 * 
 * cdef class _HelperCudaLibraryOption:
 *     def __cinit__(self, attr, init_value):             # <<<<<<<<<<<<<<
 *         self._attr = attr.value
 *         if False:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaLibraryOption.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":495
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":498
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":500
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUmemAllocationHandleType:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":498
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaLibraryOption.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4__reduce_cython__, "_HelperCudaLibraryOption.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaLibraryOption.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_6__setstate_cython__, "_HelperCudaLibraryOption.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_6__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaLibraryOption.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_6__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCudaLibraryOption.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":503
 * 
 * cdef class _HelperCUmemAllocationHandleType:
 *     def __cinit__(self, attr):             # <<<<<<<<<<<<<<
 *         self._type = attr.value
 *         if False:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 503, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 503, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 503, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(1, 503, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 503, __pyx_L3_error)
    }
    __pyx_v_attr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 503, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemAllocationHandleType.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_v_self), __pyx_v_attr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self, PyObject *__pyx_v_attr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum CUmemAllocationHandleType_enum __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":504
 * cdef class _HelperCUmemAllocationHandleType:
 *     def __cinit__(self, attr):
 *         self._type = attr.value             # <<<<<<<<<<<<<<
 *         if False:
 *             pass
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_type = __pyx_t_2;

  /* "cuda/bindings/_lib/utils.pxi":505
 *     def __cinit__(self, attr):
 *         self._type = attr.value
 *         if False:             # <<<<<<<<<<<<<<
 *             pass
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE,):
*/
  switch (__pyx_v_self->_type) {
    case CU_MEM_HANDLE_TYPE_NONE:

    /* "cuda/bindings/_lib/utils.pxi":508
 *             pass
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE,):
 *             self._cptr = <void*>&self._int             # <<<<<<<<<<<<<<
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):
 *             self._cptr = <void*>&self._int
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_int));

    /* "cuda/bindings/_lib/utils.pxi":507
 *         if False:
 *             pass
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE,):             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):
*/
    break;
    case CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR:

    /* "cuda/bindings/_lib/utils.pxi":510
 *             self._cptr = <void*>&self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):
 *             self._cptr = <void*>&self._int             # <<<<<<<<<<<<<<
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):
 *             self._cptr = <void*>&self._handle
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_int));

    /* "cuda/bindings/_lib/utils.pxi":509
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE,):
 *             self._cptr = <void*>&self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):
*/
    break;
    case CU_MEM_HANDLE_TYPE_WIN32:

    /* "cuda/bindings/_lib/utils.pxi":512
 *             self._cptr = <void*>&self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):
 *             self._cptr = <void*>&self._handle             # <<<<<<<<<<<<<<
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):
 *             self._cptr = <void*>&self._d3dkmt_handle
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_handle));

    /* "cuda/bindings/_lib/utils.pxi":511
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):
 *             self._cptr = <void*>&self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):
*/
    break;
    case CU_MEM_HANDLE_TYPE_WIN32_KMT:

    /* "cuda/bindings/_lib/utils.pxi":514
 *             self._cptr = <void*>&self._handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):
 *             self._cptr = <void*>&self._d3dkmt_handle             # <<<<<<<<<<<<<<
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):
 *             self._mem_fabric_handle = _driver.CUmemFabricHandle()
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_d3dkmt_handle));

    /* "cuda/bindings/_lib/utils.pxi":513
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):
 *             self._cptr = <void*>&self._handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):             # <<<<<<<<<<<<<<
 *             self._cptr = <void*>&self._d3dkmt_handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):
*/
    break;
    case CU_MEM_HANDLE_TYPE_FABRIC:

    /* "cuda/bindings/_lib/utils.pxi":516
 *             self._cptr = <void*>&self._d3dkmt_handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):
 *             self._mem_fabric_handle = _driver.CUmemFabricHandle()             # <<<<<<<<<<<<<<
 *             self._cptr = <void*><void_ptr>self._mem_fabric_handle.getPtr()
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_driver); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUmemFabricHandle); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle))))) __PYX_ERR(1, 516, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_mem_fabric_handle);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_mem_fabric_handle);
    __pyx_v_self->_mem_fabric_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/_lib/utils.pxi":517
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):
 *             self._mem_fabric_handle = _driver.CUmemFabricHandle()
 *             self._cptr = <void*><void_ptr>self._mem_fabric_handle.getPtr()             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    __pyx_t_5 = ((PyObject *)__pyx_v_self->_mem_fabric_handle);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 517, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

    /* "cuda/bindings/_lib/utils.pxi":515
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):
 *             self._cptr = <void*>&self._d3dkmt_handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):             # <<<<<<<<<<<<<<
 *             self._mem_fabric_handle = _driver.CUmemFabricHandle()
 *             self._cptr = <void*><void_ptr>self._mem_fabric_handle.getPtr()
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":519
 *             self._cptr = <void*><void_ptr>self._mem_fabric_handle.getPtr()
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_8 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 519, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":503
 * 
 * cdef class _HelperCUmemAllocationHandleType:
 *     def __cinit__(self, attr):             # <<<<<<<<<<<<<<
 *         self._type = attr.value
 *         if False:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemAllocationHandleType.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":521
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":524
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":526
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 *     def pyObj(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":524
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemAllocationHandleType.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":528
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         if False:
 *             pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4pyObj, "_HelperCUmemAllocationHandleType.pyObj(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_5pyObj = {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4pyObj};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_5pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pyObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pyObj", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pyObj", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4pyObj(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pyObj", 0);

  /* "cuda/bindings/_lib/utils.pxi":529
 * 
 *     def pyObj(self):
 *         if False:             # <<<<<<<<<<<<<<
 *             pass
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE,):
*/
  switch (__pyx_v_self->_type) {
    case CU_MEM_HANDLE_TYPE_NONE:

    /* "cuda/bindings/_lib/utils.pxi":532
 *             pass
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE,):
 *             return self._int             # <<<<<<<<<<<<<<
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):
 *             return self._int
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->_int); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":531
 *         if False:
 *             pass
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE,):             # <<<<<<<<<<<<<<
 *             return self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):
*/
    break;
    case CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR:

    /* "cuda/bindings/_lib/utils.pxi":534
 *             return self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):
 *             return self._int             # <<<<<<<<<<<<<<
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):
 *             return <void_ptr>self._handle
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->_int); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":533
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE,):
 *             return self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):             # <<<<<<<<<<<<<<
 *             return self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):
*/
    break;
    case CU_MEM_HANDLE_TYPE_WIN32:

    /* "cuda/bindings/_lib/utils.pxi":536
 *             return self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):
 *             return <void_ptr>self._handle             # <<<<<<<<<<<<<<
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):
 *             return self._d3dkmt_handle
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":535
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,):
 *             return self._int
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):             # <<<<<<<<<<<<<<
 *             return <void_ptr>self._handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):
*/
    break;
    case CU_MEM_HANDLE_TYPE_WIN32_KMT:

    /* "cuda/bindings/_lib/utils.pxi":538
 *             return <void_ptr>self._handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):
 *             return self._d3dkmt_handle             # <<<<<<<<<<<<<<
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):
 *             return self._mem_fabric_handle
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_self->_d3dkmt_handle); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":537
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32,):
 *             return <void_ptr>self._handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):             # <<<<<<<<<<<<<<
 *             return self._d3dkmt_handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):
*/
    break;
    case CU_MEM_HANDLE_TYPE_FABRIC:

    /* "cuda/bindings/_lib/utils.pxi":540
 *             return self._d3dkmt_handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):
 *             return self._mem_fabric_handle             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(self._type))
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->_mem_fabric_handle);
    __pyx_r = ((PyObject *)__pyx_v_self->_mem_fabric_handle);
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":539
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT,):
 *             return self._d3dkmt_handle
 *         elif self._type in (cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC,):             # <<<<<<<<<<<<<<
 *             return self._mem_fabric_handle
 *         else:
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":542
 *             return self._mem_fabric_handle
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(self._type))             # <<<<<<<<<<<<<<
 * 
 * cdef class _InputVoidPtrPtrHelper:
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(__pyx_v_self->_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 542, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 542, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 542, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":528
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         if False:
 *             pass
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemAllocationHandleType.pyObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_6__reduce_cython__, "_HelperCUmemAllocationHandleType.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_6__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_6__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemAllocationHandleType.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_8__setstate_cython__, "_HelperCUmemAllocationHandleType.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_8__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemAllocationHandleType.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_8__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUmemAllocationHandleType.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":545
 * 
 * cdef class _InputVoidPtrPtrHelper:
 *     def __cinit__(self, lst):             # <<<<<<<<<<<<<<
 *         self._cptr = <void**>_callocWrapper(len(lst), sizeof(void*))
 *         for idx in range(len(lst)):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_lst = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_lst,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 545, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 545, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 545, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(1, 545, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 545, __pyx_L3_error)
    }
    __pyx_v_lst = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 545, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._InputVoidPtrPtrHelper.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_v_self), __pyx_v_lst);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self, PyObject *__pyx_v_lst) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  void *__pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":546
 * cdef class _InputVoidPtrPtrHelper:
 *     def __cinit__(self, lst):
 *         self._cptr = <void**>_callocWrapper(len(lst), sizeof(void*))             # <<<<<<<<<<<<<<
 *         for idx in range(len(lst)):
 *             self._cptr[idx] = <void*><void_ptr>lst[idx].cptr
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_lst); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 546, __pyx_L1_error)
  __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(void *))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __pyx_f_4cuda_8bindings_6driver__callocWrapper(__pyx_t_2, __pyx_t_3); if (unlikely(__pyx_t_4 == ((void *)0) && PyErr_Occurred())) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_self->_cptr = ((void **)__pyx_t_4);

  /* "cuda/bindings/_lib/utils.pxi":547
 *     def __cinit__(self, lst):
 *         self._cptr = <void**>_callocWrapper(len(lst), sizeof(void*))
 *         for idx in range(len(lst)):             # <<<<<<<<<<<<<<
 *             self._cptr[idx] = <void*><void_ptr>lst[idx].cptr
 * 
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_lst); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 547, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_1;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_idx = __pyx_t_6;

    /* "cuda/bindings/_lib/utils.pxi":548
 *         self._cptr = <void**>_callocWrapper(len(lst), sizeof(void*))
 *         for idx in range(len(lst)):
 *             self._cptr[idx] = <void*><void_ptr>lst[idx].cptr             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_lst, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 548, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    (__pyx_v_self->_cptr[__pyx_v_idx]) = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));
  }

  /* "cuda/bindings/_lib/utils.pxi":545
 * 
 * cdef class _InputVoidPtrPtrHelper:
 *     def __cinit__(self, lst):             # <<<<<<<<<<<<<<
 *         self._cptr = <void**>_callocWrapper(len(lst), sizeof(void*))
 *         for idx in range(len(lst)):
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver._InputVoidPtrPtrHelper.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":550
 *             self._cptr[idx] = <void*><void_ptr>lst[idx].cptr
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         free(self._cptr)
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_2__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self) {

  /* "cuda/bindings/_lib/utils.pxi":551
 * 
 *     def __dealloc__(self):
 *         free(self._cptr)             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  free(__pyx_v_self->_cptr);

  /* "cuda/bindings/_lib/utils.pxi":550
 *             self._cptr[idx] = <void*><void_ptr>lst[idx].cptr
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         free(self._cptr)
 * 
*/

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":553
 *         free(self._cptr)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":555
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUcoredumpSettings:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":553
 *         free(self._cptr)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._InputVoidPtrPtrHelper.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4__reduce_cython__, "_InputVoidPtrPtrHelper.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._InputVoidPtrPtrHelper.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_6__setstate_cython__, "_InputVoidPtrPtrHelper.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_6__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._InputVoidPtrPtrHelper.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_6__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._InputVoidPtrPtrHelper.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":558
 * 
 * cdef class _HelperCUcoredumpSettings:
 *     def __cinit__(self, attr, init_value, is_getter=False):             # <<<<<<<<<<<<<<
 *         self._is_getter = is_getter
 *         self._attrib = attr.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_init_value = 0;
  PyObject *__pyx_v_is_getter = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_is_getter,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 558, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 558, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 558, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 558, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 558, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, i); __PYX_ERR(1, 558, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 558, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 558, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 558, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_attr = values[0];
    __pyx_v_init_value = values[1];
    __pyx_v_is_getter = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 558, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUcoredumpSettings.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_v_self), __pyx_v_attr, __pyx_v_init_value, __pyx_v_is_getter);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings___cinit__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self, PyObject *__pyx_v_attr, PyObject *__pyx_v_init_value, PyObject *__pyx_v_is_getter) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  enum CUcoredumpSettings_enum __pyx_t_3;
  void *__pyx_t_4;
  char *__pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":559
 * cdef class _HelperCUcoredumpSettings:
 *     def __cinit__(self, attr, init_value, is_getter=False):
 *         self._is_getter = is_getter             # <<<<<<<<<<<<<<
 *         self._attrib = attr.value
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_is_getter); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 559, __pyx_L1_error)
  __pyx_v_self->_is_getter = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":560
 *     def __cinit__(self, attr, init_value, is_getter=False):
 *         self._is_getter = is_getter
 *         self._attrib = attr.value             # <<<<<<<<<<<<<<
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = ((enum CUcoredumpSettings_enum)__Pyx_PyLong_As_enum__CUcoredumpSettings_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attrib = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":561
 *         self._is_getter = is_getter
 *         self._attrib = attr.value
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,             # <<<<<<<<<<<<<<
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             if self._is_getter:
*/
  switch (__pyx_v_self->_attrib) {
    case CU_COREDUMP_FILE:
    case CU_COREDUMP_PIPE:

    /* "cuda/bindings/_lib/utils.pxi":563
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._charstar = <char*>_callocWrapper(1024, 1)
 *                 self._cptr = <void*><void_ptr>self._charstar
*/
    if (__pyx_v_self->_is_getter) {

      /* "cuda/bindings/_lib/utils.pxi":564
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             if self._is_getter:
 *                 self._charstar = <char*>_callocWrapper(1024, 1)             # <<<<<<<<<<<<<<
 *                 self._cptr = <void*><void_ptr>self._charstar
 *                 self._size = 1024
*/
      __pyx_t_4 = __pyx_f_4cuda_8bindings_6driver__callocWrapper(__pyx_mstate_global->__pyx_int_1024, __pyx_mstate_global->__pyx_int_1); if (unlikely(__pyx_t_4 == ((void *)0) && PyErr_Occurred())) __PYX_ERR(1, 564, __pyx_L1_error)
      __pyx_v_self->_charstar = ((char *)__pyx_t_4);

      /* "cuda/bindings/_lib/utils.pxi":565
 *             if self._is_getter:
 *                 self._charstar = <char*>_callocWrapper(1024, 1)
 *                 self._cptr = <void*><void_ptr>self._charstar             # <<<<<<<<<<<<<<
 *                 self._size = 1024
 *             else:
*/
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_charstar));

      /* "cuda/bindings/_lib/utils.pxi":566
 *                 self._charstar = <char*>_callocWrapper(1024, 1)
 *                 self._cptr = <void*><void_ptr>self._charstar
 *                 self._size = 1024             # <<<<<<<<<<<<<<
 *             else:
 *                 self._charstar = init_value
*/
      __pyx_v_self->_size = 0x400;

      /* "cuda/bindings/_lib/utils.pxi":563
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             if self._is_getter:             # <<<<<<<<<<<<<<
 *                 self._charstar = <char*>_callocWrapper(1024, 1)
 *                 self._cptr = <void*><void_ptr>self._charstar
*/
      goto __pyx_L3;
    }

    /* "cuda/bindings/_lib/utils.pxi":568
 *                 self._size = 1024
 *             else:
 *                 self._charstar = init_value             # <<<<<<<<<<<<<<
 *                 self._cptr = <void*><void_ptr>self._charstar
 *                 self._size = len(init_value)
*/
    /*else*/ {
      __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_init_value); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(1, 568, __pyx_L1_error)
      __pyx_v_self->_charstar = __pyx_t_5;

      /* "cuda/bindings/_lib/utils.pxi":569
 *             else:
 *                 self._charstar = init_value
 *                 self._cptr = <void*><void_ptr>self._charstar             # <<<<<<<<<<<<<<
 *                 self._size = len(init_value)
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,
*/
      __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_charstar));

      /* "cuda/bindings/_lib/utils.pxi":570
 *                 self._charstar = init_value
 *                 self._cptr = <void*><void_ptr>self._charstar
 *                 self._size = len(init_value)             # <<<<<<<<<<<<<<
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,
*/
      __pyx_t_6 = PyObject_Length(__pyx_v_init_value); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 570, __pyx_L1_error)
      __pyx_v_self->_size = __pyx_t_6;
    }
    __pyx_L3:;

    /* "cuda/bindings/_lib/utils.pxi":561
 *         self._is_getter = is_getter
 *         self._attrib = attr.value
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,             # <<<<<<<<<<<<<<
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             if self._is_getter:
*/
    break;
    case CU_COREDUMP_ENABLE_ON_EXCEPTION:

    /* "cuda/bindings/_lib/utils.pxi":571
 *                 self._cptr = <void*><void_ptr>self._charstar
 *                 self._size = len(init_value)
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,             # <<<<<<<<<<<<<<
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
*/
    case CU_COREDUMP_TRIGGER_HOST:

    /* "cuda/bindings/_lib/utils.pxi":572
 *                 self._size = len(init_value)
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,             # <<<<<<<<<<<<<<
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER,):
*/
    case CU_COREDUMP_LIGHTWEIGHT:

    /* "cuda/bindings/_lib/utils.pxi":573
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,             # <<<<<<<<<<<<<<
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER,):
 *             if self._is_getter == False:
*/
    case CU_COREDUMP_ENABLE_USER_TRIGGER:

    /* "cuda/bindings/_lib/utils.pxi":575
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER,):
 *             if self._is_getter == False:             # <<<<<<<<<<<<<<
 *                 self._bool = init_value
 * 
*/
    __pyx_t_1 = (__pyx_v_self->_is_getter == 0);
    if (__pyx_t_1) {

      /* "cuda/bindings/_lib/utils.pxi":576
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER,):
 *             if self._is_getter == False:
 *                 self._bool = init_value             # <<<<<<<<<<<<<<
 * 
 *             self._cptr = <void*>&self._bool
*/
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_init_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 576, __pyx_L1_error)
      __pyx_v_self->_bool = __pyx_t_1;

      /* "cuda/bindings/_lib/utils.pxi":575
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER,):
 *             if self._is_getter == False:             # <<<<<<<<<<<<<<
 *                 self._bool = init_value
 * 
*/
    }

    /* "cuda/bindings/_lib/utils.pxi":578
 *                 self._bool = init_value
 * 
 *             self._cptr = <void*>&self._bool             # <<<<<<<<<<<<<<
 *             self._size = 1
 *         else:
*/
    __pyx_v_self->_cptr = ((void *)(&__pyx_v_self->_bool));

    /* "cuda/bindings/_lib/utils.pxi":579
 * 
 *             self._cptr = <void*>&self._bool
 *             self._size = 1             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
*/
    __pyx_v_self->_size = 1;

    /* "cuda/bindings/_lib/utils.pxi":571
 *                 self._cptr = <void*><void_ptr>self._charstar
 *                 self._size = len(init_value)
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,             # <<<<<<<<<<<<<<
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":581
 *             self._size = 1
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_7 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_8 = __pyx_builtin_TypeError; 
    __pyx_t_10 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_11};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 581, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_12 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_9};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 581, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 581, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":558
 * 
 * cdef class _HelperCUcoredumpSettings:
 *     def __cinit__(self, attr, init_value, is_getter=False):             # <<<<<<<<<<<<<<
 *         self._is_getter = is_getter
 *         self._attrib = attr.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUcoredumpSettings.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":583
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/_lib/utils.pxi":586
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4cptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4cptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4cptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4cptr___get__(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/_lib/utils.pxi":588
 *     @property
 *     def cptr(self):
 *         return <void_ptr>self._cptr             # <<<<<<<<<<<<<<
 * 
 *     def size(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_cptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":586
 *         pass
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cptr(self):
 *         return <void_ptr>self._cptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUcoredumpSettings.cptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":590
 *         return <void_ptr>self._cptr
 * 
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._size
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_5size(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4size, "_HelperCUcoredumpSettings.size(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_5size = {"size", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_5size, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4size};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_5size(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("size (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("size", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("size", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4size(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4size(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("size", 0);

  /* "cuda/bindings/_lib/utils.pxi":591
 * 
 *     def size(self):
 *         return self._size             # <<<<<<<<<<<<<<
 * 
 *     def pyObj(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(__pyx_v_self->_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/_lib/utils.pxi":590
 *         return <void_ptr>self._cptr
 * 
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._size
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUcoredumpSettings.size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":593
 *         return self._size
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_7pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_6pyObj, "_HelperCUcoredumpSettings.pyObj(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_7pyObj = {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_7pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_6pyObj};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_7pyObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pyObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pyObj", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pyObj", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_6pyObj(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_6pyObj(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pyObj", 0);

  /* "cuda/bindings/_lib/utils.pxi":594
 * 
 *     def pyObj(self):
 *         assert(self._is_getter == True)             # <<<<<<<<<<<<<<
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_self->_is_getter == 1);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 594, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 594, __pyx_L1_error)
  #endif

  /* "cuda/bindings/_lib/utils.pxi":595
 *     def pyObj(self):
 *         assert(self._is_getter == True)
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,             # <<<<<<<<<<<<<<
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             return self._charstar
*/
  switch (__pyx_v_self->_attrib) {
    case CU_COREDUMP_FILE:
    case CU_COREDUMP_PIPE:

    /* "cuda/bindings/_lib/utils.pxi":597
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             return self._charstar             # <<<<<<<<<<<<<<
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_self->_charstar); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":595
 *     def pyObj(self):
 *         assert(self._is_getter == True)
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,             # <<<<<<<<<<<<<<
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             return self._charstar
*/
    break;
    case CU_COREDUMP_ENABLE_ON_EXCEPTION:

    /* "cuda/bindings/_lib/utils.pxi":598
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             return self._charstar
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,             # <<<<<<<<<<<<<<
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
*/
    case CU_COREDUMP_TRIGGER_HOST:

    /* "cuda/bindings/_lib/utils.pxi":599
 *             return self._charstar
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,             # <<<<<<<<<<<<<<
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER,):
*/
    case CU_COREDUMP_LIGHTWEIGHT:

    /* "cuda/bindings/_lib/utils.pxi":600
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,             # <<<<<<<<<<<<<<
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER,):
 *             return self._bool
*/
    case CU_COREDUMP_ENABLE_USER_TRIGGER:

    /* "cuda/bindings/_lib/utils.pxi":602
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER,):
 *             return self._bool             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attrib))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->_bool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/_lib/utils.pxi":598
 *                           cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE,):
 *             return self._charstar
 *         elif self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION,             # <<<<<<<<<<<<<<
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST,
 *                             cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT,
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":604
 *             return self._bool
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attrib))             # <<<<<<<<<<<<<<
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_6 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(__pyx_v_self->_attrib); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 604, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 604, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 604, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":593
 *         return self._size
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUcoredumpSettings.pyObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_9__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_8__reduce_cython__, "_HelperCUcoredumpSettings.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_9__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_8__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUcoredumpSettings.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_11__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_10__setstate_cython__, "_HelperCUcoredumpSettings.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_11__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUcoredumpSettings.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_10__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver._HelperCUcoredumpSettings.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4758
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 4758, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4758, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4758, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 4758, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4758, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4758, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4758, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4758, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 4758, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":4759
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4760
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":4759
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":4762
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUdeviceptr *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":4763
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4764
 *             self._pvt_ptr = <cydriver.CUdeviceptr *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":4763
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":4758
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4765
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":4767
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":4768
 *         pass
 *     def __repr__(self):
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUdeviceptr_2, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4767
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4769
 *     def __repr__(self):
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":4770
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4769
 *     def __repr__(self):
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4771
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_8getPtr, "CUdeviceptr.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUdeviceptr_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":4772
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevice:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4771
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_10__reduce_cython__, "CUdeviceptr.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUdeviceptr_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_12__setstate_cython__, "CUdeviceptr.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUdeviceptr_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdeviceptr_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4785
 * 
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUdevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUdevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 4785, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4785, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4785, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 4785, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4785, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4785, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_init_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4785, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4785, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 4785, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUdevice___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUdevice___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self, int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":4786
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4787
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":4786
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":4789
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUdevice *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":4790
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4791
 *             self._pvt_ptr = <cydriver.CUdevice *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":4790
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":4785
 * 
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4792
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_8CUdevice_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_8CUdevice_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_8CUdevice_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_8CUdevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":4794
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUdevice_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":4795
 *         pass
 *     def __repr__(self):
 *         return '<CUdevice ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUdevice, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4794
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4796
 *     def __repr__(self):
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUdevice_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":4797
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(((int)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4796
 *     def __repr__(self):
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4798
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUdevice_8getPtr, "CUdevice.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUdevice_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUdevice_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUdevice_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUdevice_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":4799
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUtexObject:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4798
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUdevice_10__reduce_cython__, "CUdevice.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUdevice_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUdevice_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUdevice_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUdevice_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUdevice_12__setstate_cython__, "CUdevice.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUdevice_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUdevice_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUdevice_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUdevice_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUdevice_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUdevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4812
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUtexObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUtexObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 4812, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4812, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4812, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 4812, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4812, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4812, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4812, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4812, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 4812, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUtexObject___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUtexObject___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":4813
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4814
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":4813
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":4816
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUtexObject *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":4817
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4818
 *             self._pvt_ptr = <cydriver.CUtexObject *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":4817
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":4812
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4819
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11CUtexObject_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11CUtexObject_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11CUtexObject_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11CUtexObject_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":4821
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUtexObject_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":4822
 *         pass
 *     def __repr__(self):
 *         return '<CUtexObject ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUtexObject, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4821
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4823
 *     def __repr__(self):
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUtexObject_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":4824
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4823
 *     def __repr__(self):
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4825
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUtexObject_8getPtr, "CUtexObject.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUtexObject_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUtexObject_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUtexObject_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":4826
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUsurfObject:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4825
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUtexObject_10__reduce_cython__, "CUtexObject.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUtexObject_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUtexObject_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUtexObject_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUtexObject_12__setstate_cython__, "CUtexObject.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUtexObject_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUtexObject_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUtexObject_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUtexObject_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4839
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 4839, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 4839, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4839, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4839, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 4839, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":4840
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4841
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":4840
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":4843
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUsurfObject *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":4844
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4845
 *             self._pvt_ptr = <cydriver.CUsurfObject *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":4844
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":4839
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4846
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":4848
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":4849
 *         pass
 *     def __repr__(self):
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUsurfObject, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4848
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4850
 *     def __repr__(self):
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":4851
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4850
 *     def __repr__(self):
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4852
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_8getPtr, "CUsurfObject.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUsurfObject_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":4853
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphConditionalHandle:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4852
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_10__reduce_cython__, "CUsurfObject.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUsurfObject_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_12__setstate_cython__, "CUsurfObject.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUsurfObject_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUsurfObject_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4864
 * 
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint64_t __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 4864, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4864, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4864, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 4864, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 4864, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 4864, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_uint64_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4864, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint64_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4864, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 4864, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphConditionalHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self, uint64_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":4865
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4866
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphConditionalHandle *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":4865
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":4868
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphConditionalHandle *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUgraphConditionalHandle *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":4869
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphConditionalHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":4870
 *             self._pvt_ptr = <cydriver.CUgraphConditionalHandle *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":4869
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphConditionalHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":4864
 * 
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4871
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":4873
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":4874
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphConditionalHandle, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4873
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphConditionalHandle.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4875
 *     def __repr__(self):
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":4876
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_uint64_t(((uint64_t)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4875
 *     def __repr__(self):
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphConditionalHandle.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":4877
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_8getPtr, "CUgraphConditionalHandle.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUgraphConditionalHandle_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":4878
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * class CUkernelNodeAttrID(IntEnum):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":4877
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphConditionalHandle.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_10__reduce_cython__, "CUgraphConditionalHandle.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUgraphConditionalHandle_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphConditionalHandle.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_12__setstate_cython__, "CUgraphConditionalHandle.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUgraphConditionalHandle_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphConditionalHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUgraphConditionalHandle_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphConditionalHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5239
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5239, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5239, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5239, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5239, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5239, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5239, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5239, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5239, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5239, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5240
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5241
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5240
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5243
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUmemGenericAllocationHandle *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5244
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5245
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":5244
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":5239
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5246
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":5248
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5249
 *         pass
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUmemGenericAllocationHandle, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5248
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5250
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5251
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5250
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5252
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_8getPtr, "CUmemGenericAllocationHandle.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5253
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUcontext:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5252
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_10__reduce_cython__, "CUmemGenericAllocationHandle.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_12__setstate_cython__, "CUmemGenericAllocationHandle.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5266
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9CUcontext_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9CUcontext_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5266, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5266, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5266, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5266, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5266, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9CUcontext___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5267
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUcontext>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5268
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUcontext>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5269
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUcontext>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUcontext *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUcontext)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5267
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUcontext>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5271
 *             self._pvt_ptr[0] = <cydriver.CUcontext>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUcontext *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUcontext *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5266
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5272
 *         else:
 *             self._pvt_ptr = <cydriver.CUcontext *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9CUcontext_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9CUcontext_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9CUcontext_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5274
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5275
 *         pass
 *     def __repr__(self):
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUcontext_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5274
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5276
 *     def __repr__(self):
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5277
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUcontext):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5276
 *     def __repr__(self):
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5278
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUcontext):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5279
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUcontext):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUcontext>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5280
 *     def __eq__(self, other):
 *         if not isinstance(other, CUcontext):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUcontext>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5279
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUcontext):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUcontext>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5281
 *         if not isinstance(other, CUcontext):
 *             return False
 *         return self._pvt_ptr[0] == (<CUcontext>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5278
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUcontext):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5282
 *             return False
 *         return self._pvt_ptr[0] == (<CUcontext>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_9CUcontext_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_9CUcontext_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_9CUcontext_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5283
 *         return self._pvt_ptr[0] == (<CUcontext>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5282
 *             return False
 *         return self._pvt_ptr[0] == (<CUcontext>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5284
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5285
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5284
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5286
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUcontext_14getPtr, "CUcontext.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUcontext_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUcontext_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5287
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmodule:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5286
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUcontext_16__reduce_cython__, "CUcontext.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUcontext_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUcontext_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUcontext_18__setstate_cython__, "CUcontext.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUcontext_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUcontext_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUcontext_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUcontext_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUcontext_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcontext.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5300
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUmodule_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUmodule_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5300, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5300, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5300, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5300, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5300, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5300, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5300, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5300, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5300, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUmodule___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5301
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmodule>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5302
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUmodule>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5303
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmodule>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmodule *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUmodule)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5301
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmodule>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5305
 *             self._pvt_ptr[0] = <cydriver.CUmodule>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUmodule *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUmodule *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5300
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5306
 *         else:
 *             self._pvt_ptr = <cydriver.CUmodule *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUmodule_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUmodule_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUmodule_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5308
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5309
 *         pass
 *     def __repr__(self):
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUmodule, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5308
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5310
 *     def __repr__(self):
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5311
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmodule):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5310
 *     def __repr__(self):
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5312
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUmodule):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5313
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmodule):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUmodule>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5314
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmodule):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUmodule>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5313
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmodule):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUmodule>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5315
 *         if not isinstance(other, CUmodule):
 *             return False
 *         return self._pvt_ptr[0] == (<CUmodule>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5312
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUmodule):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5316
 *             return False
 *         return self._pvt_ptr[0] == (<CUmodule>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_8CUmodule_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_8CUmodule_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_8CUmodule_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5317
 *         return self._pvt_ptr[0] == (<CUmodule>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5316
 *             return False
 *         return self._pvt_ptr[0] == (<CUmodule>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5318
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5319
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5318
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5320
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUmodule_14getPtr, "CUmodule.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUmodule_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUmodule_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5321
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUfunction:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5320
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUmodule_16__reduce_cython__, "CUmodule.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUmodule_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUmodule_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUmodule_18__setstate_cython__, "CUmodule.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUmodule_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUmodule_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUmodule_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUmodule_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUmodule_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmodule.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5334
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_10CUfunction_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_10CUfunction_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5334, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5334, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5334, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5334, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5334, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_10CUfunction___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5335
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUfunction>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5336
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUfunction>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5337
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUfunction>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUfunction *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUfunction)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5335
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUfunction>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5339
 *             self._pvt_ptr[0] = <cydriver.CUfunction>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUfunction *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUfunction *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5334
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5340
 *         else:
 *             self._pvt_ptr = <cydriver.CUfunction *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_10CUfunction_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_10CUfunction_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_10CUfunction_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5342
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5343
 *         pass
 *     def __repr__(self):
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUfunction, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5342
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5344
 *     def __repr__(self):
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5345
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUfunction):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5344
 *     def __repr__(self):
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5346
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUfunction):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5347
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUfunction):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUfunction>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5348
 *     def __eq__(self, other):
 *         if not isinstance(other, CUfunction):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUfunction>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5347
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUfunction):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUfunction>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5349
 *         if not isinstance(other, CUfunction):
 *             return False
 *         return self._pvt_ptr[0] == (<CUfunction>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5346
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUfunction):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5350
 *             return False
 *         return self._pvt_ptr[0] == (<CUfunction>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_10CUfunction_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_10CUfunction_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_10CUfunction_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5351
 *         return self._pvt_ptr[0] == (<CUfunction>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5350
 *             return False
 *         return self._pvt_ptr[0] == (<CUfunction>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5352
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5353
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5352
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5354
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10CUfunction_14getPtr, "CUfunction.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10CUfunction_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUfunction_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5355
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlibrary:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5354
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10CUfunction_16__reduce_cython__, "CUfunction.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10CUfunction_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUfunction_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10CUfunction_18__setstate_cython__, "CUfunction.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10CUfunction_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUfunction_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUfunction_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUfunction_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUfunction_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUfunction.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5368
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5368, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5368, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5368, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5368, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5368, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9CUlibrary___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5369
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlibrary>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5370
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUlibrary>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5371
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlibrary>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlibrary *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUlibrary)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5369
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlibrary>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5373
 *             self._pvt_ptr[0] = <cydriver.CUlibrary>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUlibrary *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUlibrary *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5368
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5374
 *         else:
 *             self._pvt_ptr = <cydriver.CUlibrary *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5376
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5377
 *         pass
 *     def __repr__(self):
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlibrary, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5376
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5378
 *     def __repr__(self):
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5379
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlibrary):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5378
 *     def __repr__(self):
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5380
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUlibrary):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5381
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlibrary):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUlibrary>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5382
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlibrary):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUlibrary>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5381
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlibrary):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUlibrary>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5383
 *         if not isinstance(other, CUlibrary):
 *             return False
 *         return self._pvt_ptr[0] == (<CUlibrary>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5380
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUlibrary):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5384
 *             return False
 *         return self._pvt_ptr[0] == (<CUlibrary>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5385
 *         return self._pvt_ptr[0] == (<CUlibrary>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5384
 *             return False
 *         return self._pvt_ptr[0] == (<CUlibrary>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5386
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5387
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5386
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5388
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUlibrary_14getPtr, "CUlibrary.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUlibrary_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUlibrary_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5389
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUkernel:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5388
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUlibrary_16__reduce_cython__, "CUlibrary.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUlibrary_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUlibrary_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUlibrary_18__setstate_cython__, "CUlibrary.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUlibrary_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUlibrary_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUlibrary_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUlibrary_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibrary.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5402
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUkernel_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUkernel_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5402, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5402, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5402, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5402, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5402, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5402, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5402, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5402, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5402, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUkernel___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5403
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUkernel>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5404
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUkernel>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5405
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUkernel>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUkernel *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUkernel)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5403
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUkernel>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5407
 *             self._pvt_ptr[0] = <cydriver.CUkernel>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUkernel *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUkernel *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5402
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5408
 *         else:
 *             self._pvt_ptr = <cydriver.CUkernel *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUkernel_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUkernel_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUkernel_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5410
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5411
 *         pass
 *     def __repr__(self):
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUkernel, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5410
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5412
 *     def __repr__(self):
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5413
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUkernel):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5412
 *     def __repr__(self):
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5414
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUkernel):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5415
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUkernel):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUkernel>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5416
 *     def __eq__(self, other):
 *         if not isinstance(other, CUkernel):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUkernel>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5415
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUkernel):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUkernel>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5417
 *         if not isinstance(other, CUkernel):
 *             return False
 *         return self._pvt_ptr[0] == (<CUkernel>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5414
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUkernel):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5418
 *             return False
 *         return self._pvt_ptr[0] == (<CUkernel>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_8CUkernel_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_8CUkernel_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_8CUkernel_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5419
 *         return self._pvt_ptr[0] == (<CUkernel>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5418
 *             return False
 *         return self._pvt_ptr[0] == (<CUkernel>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5420
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5421
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5420
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5422
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUkernel_14getPtr, "CUkernel.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUkernel_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUkernel_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5423
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUarray:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5422
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUkernel_16__reduce_cython__, "CUkernel.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUkernel_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUkernel_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUkernel_18__setstate_cython__, "CUkernel.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUkernel_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUkernel_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUkernel_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUkernel_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUkernel_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUkernel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5436
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_7CUarray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_7CUarray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5436, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5436, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5436, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5436, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5436, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5436, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5436, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5436, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5436, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_7CUarray___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5437
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUarray>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5438
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUarray>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5439
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUarray>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUarray *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUarray)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5437
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUarray>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5441
 *             self._pvt_ptr[0] = <cydriver.CUarray>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUarray *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUarray *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5436
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5442
 *         else:
 *             self._pvt_ptr = <cydriver.CUarray *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_7CUarray_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_7CUarray_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_7CUarray_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5444
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5445
 *         pass
 *     def __repr__(self):
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUarray, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5444
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5446
 *     def __repr__(self):
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5447
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUarray):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5446
 *     def __repr__(self):
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5448
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUarray):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5449
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUarray):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUarray>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5450
 *     def __eq__(self, other):
 *         if not isinstance(other, CUarray):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUarray>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5449
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUarray):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUarray>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5451
 *         if not isinstance(other, CUarray):
 *             return False
 *         return self._pvt_ptr[0] == (<CUarray>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5448
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUarray):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5452
 *             return False
 *         return self._pvt_ptr[0] == (<CUarray>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_7CUarray_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_7CUarray_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_7CUarray_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5453
 *         return self._pvt_ptr[0] == (<CUarray>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5452
 *             return False
 *         return self._pvt_ptr[0] == (<CUarray>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5454
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5455
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5454
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5456
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUarray_14getPtr, "CUarray.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUarray_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUarray_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUarray_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5457
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmipmappedArray:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5456
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUarray_16__reduce_cython__, "CUarray.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUarray_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUarray_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUarray_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUarray_18__setstate_cython__, "CUarray.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUarray_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUarray_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUarray_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUarray_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUarray_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUarray_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUarray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5470
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5470, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5470, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5470, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5470, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5470, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5470, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5470, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5470, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5470, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5471
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmipmappedArray>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5472
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUmipmappedArray>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5473
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmipmappedArray>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmipmappedArray *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUmipmappedArray)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5471
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmipmappedArray>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5475
 *             self._pvt_ptr[0] = <cydriver.CUmipmappedArray>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUmipmappedArray *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUmipmappedArray *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5470
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5476
 *         else:
 *             self._pvt_ptr = <cydriver.CUmipmappedArray *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5478
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5479
 *         pass
 *     def __repr__(self):
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUmipmappedArray, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5478
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5480
 *     def __repr__(self):
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5481
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmipmappedArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5480
 *     def __repr__(self):
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5482
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUmipmappedArray):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5483
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmipmappedArray):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUmipmappedArray>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5484
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmipmappedArray):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUmipmappedArray>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5483
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmipmappedArray):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUmipmappedArray>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5485
 *         if not isinstance(other, CUmipmappedArray):
 *             return False
 *         return self._pvt_ptr[0] == (<CUmipmappedArray>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5482
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUmipmappedArray):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5486
 *             return False
 *         return self._pvt_ptr[0] == (<CUmipmappedArray>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5487
 *         return self._pvt_ptr[0] == (<CUmipmappedArray>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5486
 *             return False
 *         return self._pvt_ptr[0] == (<CUmipmappedArray>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5488
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5489
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5488
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5490
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_14getPtr, "CUmipmappedArray.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUmipmappedArray_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5491
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUtexref:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5490
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_16__reduce_cython__, "CUmipmappedArray.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUmipmappedArray_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_18__setstate_cython__, "CUmipmappedArray.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUmipmappedArray_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmipmappedArray_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmipmappedArray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5504
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUtexref_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUtexref_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5504, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5504, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5504, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5504, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5504, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5504, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5504, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5504, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5504, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUtexref___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5505
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUtexref>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5506
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUtexref>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5507
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUtexref>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexref *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUtexref)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5505
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUtexref>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5509
 *             self._pvt_ptr[0] = <cydriver.CUtexref>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexref *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUtexref *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5504
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5510
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexref *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUtexref_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUtexref_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUtexref_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5512
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5513
 *         pass
 *     def __repr__(self):
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUtexref, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5512
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5514
 *     def __repr__(self):
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5515
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUtexref):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5514
 *     def __repr__(self):
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5516
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUtexref):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5517
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUtexref):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUtexref>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5518
 *     def __eq__(self, other):
 *         if not isinstance(other, CUtexref):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUtexref>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5517
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUtexref):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUtexref>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5519
 *         if not isinstance(other, CUtexref):
 *             return False
 *         return self._pvt_ptr[0] == (<CUtexref>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5516
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUtexref):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5520
 *             return False
 *         return self._pvt_ptr[0] == (<CUtexref>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_8CUtexref_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_8CUtexref_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_8CUtexref_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5521
 *         return self._pvt_ptr[0] == (<CUtexref>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5520
 *             return False
 *         return self._pvt_ptr[0] == (<CUtexref>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5522
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5523
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5522
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5524
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUtexref_14getPtr, "CUtexref.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUtexref_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUtexref_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5525
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUsurfref:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5524
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUtexref_16__reduce_cython__, "CUtexref.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUtexref_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUtexref_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUtexref_18__setstate_cython__, "CUtexref.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUtexref_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUtexref_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUtexref_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUtexref_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUtexref_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexref.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5538
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5538, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5538, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5538, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5538, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5538, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9CUsurfref___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5539
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUsurfref>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5540
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUsurfref>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5541
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUsurfref>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfref *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUsurfref)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5539
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUsurfref>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5543
 *             self._pvt_ptr[0] = <cydriver.CUsurfref>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfref *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUsurfref *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5538
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5544
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfref *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5546
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5547
 *         pass
 *     def __repr__(self):
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUsurfref, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5546
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5548
 *     def __repr__(self):
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5549
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUsurfref):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5548
 *     def __repr__(self):
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5550
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUsurfref):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5551
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUsurfref):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUsurfref>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5552
 *     def __eq__(self, other):
 *         if not isinstance(other, CUsurfref):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUsurfref>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5551
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUsurfref):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUsurfref>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5553
 *         if not isinstance(other, CUsurfref):
 *             return False
 *         return self._pvt_ptr[0] == (<CUsurfref>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5550
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUsurfref):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5554
 *             return False
 *         return self._pvt_ptr[0] == (<CUsurfref>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5555
 *         return self._pvt_ptr[0] == (<CUsurfref>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5554
 *             return False
 *         return self._pvt_ptr[0] == (<CUsurfref>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5556
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5557
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5556
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5558
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUsurfref_14getPtr, "CUsurfref.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUsurfref_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUsurfref_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5559
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUevent:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5558
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUsurfref_16__reduce_cython__, "CUsurfref.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUsurfref_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUsurfref_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUsurfref_18__setstate_cython__, "CUsurfref.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUsurfref_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUsurfref_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUsurfref_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUsurfref_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfref.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5572
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_7CUevent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_7CUevent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5572, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5572, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5572, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5572, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5572, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_7CUevent___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5573
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUevent>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5574
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUevent>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5575
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUevent>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUevent *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUevent)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5573
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUevent>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5577
 *             self._pvt_ptr[0] = <cydriver.CUevent>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUevent *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUevent *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5572
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5578
 *         else:
 *             self._pvt_ptr = <cydriver.CUevent *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_7CUevent_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_7CUevent_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_7CUevent_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5580
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5581
 *         pass
 *     def __repr__(self):
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUevent, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5580
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5582
 *     def __repr__(self):
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5583
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUevent):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5582
 *     def __repr__(self):
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5584
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUevent):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5585
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUevent):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUevent>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5586
 *     def __eq__(self, other):
 *         if not isinstance(other, CUevent):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUevent>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5585
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUevent):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUevent>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5587
 *         if not isinstance(other, CUevent):
 *             return False
 *         return self._pvt_ptr[0] == (<CUevent>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5584
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUevent):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5588
 *             return False
 *         return self._pvt_ptr[0] == (<CUevent>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_7CUevent_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_7CUevent_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_7CUevent_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5589
 *         return self._pvt_ptr[0] == (<CUevent>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5588
 *             return False
 *         return self._pvt_ptr[0] == (<CUevent>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5590
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5591
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5590
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5592
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUevent_14getPtr, "CUevent.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUevent_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUevent_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUevent_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5593
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstream:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5592
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUevent_16__reduce_cython__, "CUevent.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUevent_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUevent_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUevent_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUevent_18__setstate_cython__, "CUevent.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUevent_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUevent_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUevent_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUevent_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUevent_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUevent_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUevent.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5606
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUstream_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUstream_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5606, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5606, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5606, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5606, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5606, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5606, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5606, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5606, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5606, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUstream___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5607
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUstream>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5608
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUstream>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5609
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUstream>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUstream *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUstream)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5607
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUstream>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5611
 *             self._pvt_ptr[0] = <cydriver.CUstream>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUstream *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUstream *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5606
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5612
 *         else:
 *             self._pvt_ptr = <cydriver.CUstream *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUstream_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUstream_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUstream_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5614
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5615
 *         pass
 *     def __repr__(self):
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUstream, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5614
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5616
 *     def __repr__(self):
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5617
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUstream):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5617, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5616
 *     def __repr__(self):
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5618
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUstream):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5619
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUstream):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUstream>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5620
 *     def __eq__(self, other):
 *         if not isinstance(other, CUstream):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUstream>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5619
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUstream):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUstream>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5621
 *         if not isinstance(other, CUstream):
 *             return False
 *         return self._pvt_ptr[0] == (<CUstream>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5618
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUstream):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5622
 *             return False
 *         return self._pvt_ptr[0] == (<CUstream>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_8CUstream_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_8CUstream_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_8CUstream_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5623
 *         return self._pvt_ptr[0] == (<CUstream>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5623, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5622
 *             return False
 *         return self._pvt_ptr[0] == (<CUstream>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5624
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5625
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5624
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5626
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUstream_14getPtr, "CUstream.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUstream_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5627
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphicsResource:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5626
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUstream_16__reduce_cython__, "CUstream.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUstream_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUstream_18__setstate_cython__, "CUstream.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUstream_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5640
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5640, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5640, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5640, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5640, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5640, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5640, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5640, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5640, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5640, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5641
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphicsResource>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5642
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUgraphicsResource>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5643
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphicsResource>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphicsResource *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUgraphicsResource)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5641
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphicsResource>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5645
 *             self._pvt_ptr[0] = <cydriver.CUgraphicsResource>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphicsResource *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUgraphicsResource *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5640
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5646
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphicsResource *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5648
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5649
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphicsResource, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5648
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5650
 *     def __repr__(self):
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5651
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphicsResource):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5650
 *     def __repr__(self):
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5652
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraphicsResource):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5653
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphicsResource):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphicsResource>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5654
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphicsResource):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUgraphicsResource>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5653
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphicsResource):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphicsResource>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5655
 *         if not isinstance(other, CUgraphicsResource):
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphicsResource>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5652
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraphicsResource):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5656
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphicsResource>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5657
 *         return self._pvt_ptr[0] == (<CUgraphicsResource>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5656
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphicsResource>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5658
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5659
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5658
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5660
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_14getPtr, "CUgraphicsResource.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUgraphicsResource_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5661
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUexternalMemory:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5660
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_16__reduce_cython__, "CUgraphicsResource.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUgraphicsResource_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_18__setstate_cython__, "CUgraphicsResource.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUgraphicsResource_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphicsResource_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphicsResource.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5674
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5674, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5674, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5674, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5674, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5674, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5675
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUexternalMemory>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5676
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUexternalMemory>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5677
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUexternalMemory>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUexternalMemory *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUexternalMemory)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5675
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUexternalMemory>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5679
 *             self._pvt_ptr[0] = <cydriver.CUexternalMemory>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUexternalMemory *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUexternalMemory *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5674
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5680
 *         else:
 *             self._pvt_ptr = <cydriver.CUexternalMemory *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5682
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5683
 *         pass
 *     def __repr__(self):
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUexternalMemory, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5682
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5684
 *     def __repr__(self):
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5685
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUexternalMemory):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5684
 *     def __repr__(self):
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5686
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUexternalMemory):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5687
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUexternalMemory):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalMemory>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5688
 *     def __eq__(self, other):
 *         if not isinstance(other, CUexternalMemory):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUexternalMemory>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5687
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUexternalMemory):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalMemory>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5689
 *         if not isinstance(other, CUexternalMemory):
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalMemory>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5686
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUexternalMemory):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5690
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalMemory>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5691
 *         return self._pvt_ptr[0] == (<CUexternalMemory>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5690
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalMemory>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5692
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5693
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5692
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5694
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_14getPtr, "CUexternalMemory.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUexternalMemory_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5695
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUexternalSemaphore:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5694
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_16__reduce_cython__, "CUexternalMemory.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUexternalMemory_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_18__setstate_cython__, "CUexternalMemory.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUexternalMemory_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUexternalMemory_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalMemory.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5708
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5708, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5708, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5708, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5708, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5708, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5708, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5708, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5708, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5708, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5709
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUexternalSemaphore>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5710
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUexternalSemaphore>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5711
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUexternalSemaphore>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUexternalSemaphore *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUexternalSemaphore)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5709
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUexternalSemaphore>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5713
 *             self._pvt_ptr[0] = <cydriver.CUexternalSemaphore>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUexternalSemaphore *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUexternalSemaphore *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5708
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5714
 *         else:
 *             self._pvt_ptr = <cydriver.CUexternalSemaphore *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5716
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5717
 *         pass
 *     def __repr__(self):
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUexternalSemaphore, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5716
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5718
 *     def __repr__(self):
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5719
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUexternalSemaphore):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5718
 *     def __repr__(self):
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5720
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUexternalSemaphore):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5721
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUexternalSemaphore):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalSemaphore>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5722
 *     def __eq__(self, other):
 *         if not isinstance(other, CUexternalSemaphore):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUexternalSemaphore>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5721
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUexternalSemaphore):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalSemaphore>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5723
 *         if not isinstance(other, CUexternalSemaphore):
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalSemaphore>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5720
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUexternalSemaphore):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5724
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalSemaphore>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5725
 *         return self._pvt_ptr[0] == (<CUexternalSemaphore>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5724
 *             return False
 *         return self._pvt_ptr[0] == (<CUexternalSemaphore>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5726
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5727
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5726
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5728
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_14getPtr, "CUexternalSemaphore.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19CUexternalSemaphore_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5729
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraph:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5728
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_16__reduce_cython__, "CUexternalSemaphore.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19CUexternalSemaphore_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_18__setstate_cython__, "CUexternalSemaphore.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19CUexternalSemaphore_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUexternalSemaphore_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexternalSemaphore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5742
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_7CUgraph_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_7CUgraph_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5742, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5742, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5742, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5742, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5742, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5742, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5742, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5742, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5742, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_7CUgraph___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5743
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraph>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5744
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUgraph>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5745
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraph>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraph *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUgraph)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5743
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraph>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5747
 *             self._pvt_ptr[0] = <cydriver.CUgraph>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraph *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUgraph *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5742
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5748
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraph *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_7CUgraph_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_7CUgraph_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_7CUgraph_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5750
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5751
 *         pass
 *     def __repr__(self):
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraph, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5750
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5752
 *     def __repr__(self):
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5753
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraph):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5752
 *     def __repr__(self):
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5754
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraph):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5755
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraph):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraph>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5756
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraph):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUgraph>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5755
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraph):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraph>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5757
 *         if not isinstance(other, CUgraph):
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraph>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5754
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraph):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5758
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraph>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_7CUgraph_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_7CUgraph_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_7CUgraph_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5759
 *         return self._pvt_ptr[0] == (<CUgraph>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5758
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraph>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5760
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5761
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5760
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5762
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUgraph_14getPtr, "CUgraph.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUgraph_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUgraph_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5763
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphNode:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5762
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUgraph_16__reduce_cython__, "CUgraph.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUgraph_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUgraph_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_7CUgraph_18__setstate_cython__, "CUgraph.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7CUgraph_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUgraph_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7CUgraph_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_7CUgraph_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_7CUgraph_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraph.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5776
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5776, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5776, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5776, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5776, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5776, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5777
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphNode>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5778
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUgraphNode>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5779
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphNode>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphNode *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUgraphNode)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5777
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphNode>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5781
 *             self._pvt_ptr[0] = <cydriver.CUgraphNode>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphNode *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUgraphNode *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5776
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5782
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphNode *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5784
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5785
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphNode, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5784
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5786
 *     def __repr__(self):
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5787
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphNode):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5786
 *     def __repr__(self):
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5788
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraphNode):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5789
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphNode):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphNode>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5790
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphNode):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUgraphNode>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5789
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphNode):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphNode>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5791
 *         if not isinstance(other, CUgraphNode):
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphNode>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5788
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraphNode):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5792
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphNode>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5793
 *         return self._pvt_ptr[0] == (<CUgraphNode>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5792
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphNode>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5794
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5795
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5794
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5796
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_14getPtr, "CUgraphNode.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUgraphNode_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5797
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphExec:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5796
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_16__reduce_cython__, "CUgraphNode.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUgraphNode_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_18__setstate_cython__, "CUgraphNode.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUgraphNode_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphNode_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5810
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5810, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5810, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5810, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5810, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5810, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5810, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5810, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5810, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5810, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5811
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphExec>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5812
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUgraphExec>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5813
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphExec>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphExec *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUgraphExec)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5811
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphExec>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5815
 *             self._pvt_ptr[0] = <cydriver.CUgraphExec>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphExec *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUgraphExec *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5810
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5816
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphExec *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5818
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5819
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphExec, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5818
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5820
 *     def __repr__(self):
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5821
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphExec):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5820
 *     def __repr__(self):
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5822
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraphExec):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5823
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphExec):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphExec>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5824
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphExec):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUgraphExec>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5823
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphExec):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphExec>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5825
 *         if not isinstance(other, CUgraphExec):
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphExec>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5822
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraphExec):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5826
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphExec>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5827
 *         return self._pvt_ptr[0] == (<CUgraphExec>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5826
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphExec>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5828
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5829
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5828
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5830
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_14getPtr, "CUgraphExec.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUgraphExec_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5831
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemoryPool:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5830
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_16__reduce_cython__, "CUgraphExec.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUgraphExec_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_18__setstate_cython__, "CUgraphExec.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUgraphExec_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUgraphExec_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExec.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5844
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5844, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5844, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5844, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5844, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5844, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5845
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmemoryPool>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5846
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUmemoryPool>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5847
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmemoryPool>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemoryPool *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUmemoryPool)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5845
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUmemoryPool>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5849
 *             self._pvt_ptr[0] = <cydriver.CUmemoryPool>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemoryPool *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUmemoryPool *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5844
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5850
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemoryPool *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5852
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5853
 *         pass
 *     def __repr__(self):
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUmemoryPool_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5852
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5854
 *     def __repr__(self):
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5855
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmemoryPool):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5855, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5854
 *     def __repr__(self):
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5856
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUmemoryPool):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5857
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmemoryPool):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUmemoryPool>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5858
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmemoryPool):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUmemoryPool>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5857
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUmemoryPool):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUmemoryPool>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5859
 *         if not isinstance(other, CUmemoryPool):
 *             return False
 *         return self._pvt_ptr[0] == (<CUmemoryPool>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5856
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUmemoryPool):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5860
 *             return False
 *         return self._pvt_ptr[0] == (<CUmemoryPool>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5861
 *         return self._pvt_ptr[0] == (<CUmemoryPool>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5861, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5860
 *             return False
 *         return self._pvt_ptr[0] == (<CUmemoryPool>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5862
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5863
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5862
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5864
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_14getPtr, "CUmemoryPool.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUmemoryPool_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5865
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUuserObject:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5864
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_16__reduce_cython__, "CUmemoryPool.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUmemoryPool_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_18__setstate_cython__, "CUmemoryPool.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUmemoryPool_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUmemoryPool_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemoryPool.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5878
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5878, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5878, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5878, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5878, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5878, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5878, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5878, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5878, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5878, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUuserObject___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5879
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUuserObject>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5880
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUuserObject>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5881
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUuserObject>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUuserObject *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUuserObject)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5879
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUuserObject>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5883
 *             self._pvt_ptr[0] = <cydriver.CUuserObject>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUuserObject *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUuserObject *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5878
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5884
 *         else:
 *             self._pvt_ptr = <cydriver.CUuserObject *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5886
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5887
 *         pass
 *     def __repr__(self):
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUuserObject, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5886
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5888
 *     def __repr__(self):
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5889
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUuserObject):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5888
 *     def __repr__(self):
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5890
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUuserObject):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5891
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUuserObject):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUuserObject>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5892
 *     def __eq__(self, other):
 *         if not isinstance(other, CUuserObject):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUuserObject>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5891
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUuserObject):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUuserObject>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5893
 *         if not isinstance(other, CUuserObject):
 *             return False
 *         return self._pvt_ptr[0] == (<CUuserObject>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5890
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUuserObject):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5894
 *             return False
 *         return self._pvt_ptr[0] == (<CUuserObject>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5895
 *         return self._pvt_ptr[0] == (<CUuserObject>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5894
 *             return False
 *         return self._pvt_ptr[0] == (<CUuserObject>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5896
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5897
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5896
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5898
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUuserObject_14getPtr, "CUuserObject.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUuserObject_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUuserObject_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5899
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphDeviceNode:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5898
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUuserObject_16__reduce_cython__, "CUuserObject.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUuserObject_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUuserObject_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUuserObject_18__setstate_cython__, "CUuserObject.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUuserObject_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUuserObject_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUuserObject_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUuserObject_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUuserObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5912
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5912, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5912, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5912, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5912, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5912, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5913
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphDeviceNode>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5914
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUgraphDeviceNode>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5915
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphDeviceNode>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphDeviceNode *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUgraphDeviceNode)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5913
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgraphDeviceNode>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5917
 *             self._pvt_ptr[0] = <cydriver.CUgraphDeviceNode>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphDeviceNode *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUgraphDeviceNode *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5912
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5918
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphDeviceNode *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5920
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5921
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphDeviceNode, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5920
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5922
 *     def __repr__(self):
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5923
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphDeviceNode):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5922
 *     def __repr__(self):
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5924
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraphDeviceNode):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5925
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphDeviceNode):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphDeviceNode>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5926
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphDeviceNode):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUgraphDeviceNode>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5925
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgraphDeviceNode):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphDeviceNode>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5927
 *         if not isinstance(other, CUgraphDeviceNode):
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphDeviceNode>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5924
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgraphDeviceNode):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5928
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphDeviceNode>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5929
 *         return self._pvt_ptr[0] == (<CUgraphDeviceNode>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5928
 *             return False
 *         return self._pvt_ptr[0] == (<CUgraphDeviceNode>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5930
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5931
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5930
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5932
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_14getPtr, "CUgraphDeviceNode.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUgraphDeviceNode_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5933
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUasyncCallbackHandle:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5932
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_16__reduce_cython__, "CUgraphDeviceNode.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUgraphDeviceNode_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_18__setstate_cython__, "CUgraphDeviceNode.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUgraphDeviceNode_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUgraphDeviceNode_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphDeviceNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5946
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5946, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5946, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5946, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5946, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5946, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5947
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallbackHandle>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5948
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallbackHandle>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5949
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallbackHandle>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncCallbackHandle *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUasyncCallbackHandle)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5947
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallbackHandle>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5951
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallbackHandle>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncCallbackHandle *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUasyncCallbackHandle *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5946
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5952
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncCallbackHandle *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5954
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5955
 *         pass
 *     def __repr__(self):
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUasyncCallbackHandle, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5954
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5956
 *     def __repr__(self):
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5957
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUasyncCallbackHandle):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5956
 *     def __repr__(self):
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5958
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUasyncCallbackHandle):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5959
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUasyncCallbackHandle):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUasyncCallbackHandle>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5960
 *     def __eq__(self, other):
 *         if not isinstance(other, CUasyncCallbackHandle):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUasyncCallbackHandle>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5959
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUasyncCallbackHandle):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUasyncCallbackHandle>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5961
 *         if not isinstance(other, CUasyncCallbackHandle):
 *             return False
 *         return self._pvt_ptr[0] == (<CUasyncCallbackHandle>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5958
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUasyncCallbackHandle):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5962
 *             return False
 *         return self._pvt_ptr[0] == (<CUasyncCallbackHandle>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5963
 *         return self._pvt_ptr[0] == (<CUasyncCallbackHandle>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5962
 *             return False
 *         return self._pvt_ptr[0] == (<CUasyncCallbackHandle>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5964
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5965
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5964
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5966
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_14getPtr, "CUasyncCallbackHandle.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUasyncCallbackHandle_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":5967
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgreenCtx:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5966
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_16__reduce_cython__, "CUasyncCallbackHandle.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUasyncCallbackHandle_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_18__setstate_cython__, "CUasyncCallbackHandle.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUasyncCallbackHandle_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUasyncCallbackHandle_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallbackHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5980
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 5980, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 5980, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 5980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 5980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5980, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 5980, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 5980, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":5981
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgreenCtx>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":5982
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUgreenCtx>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":5983
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgreenCtx>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgreenCtx *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUgreenCtx)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":5981
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUgreenCtx>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":5985
 *             self._pvt_ptr[0] = <cydriver.CUgreenCtx>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUgreenCtx *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUgreenCtx *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":5980
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5986
 *         else:
 *             self._pvt_ptr = <cydriver.CUgreenCtx *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5988
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":5989
 *         pass
 *     def __repr__(self):
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgreenCtx, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5988
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5990
 *     def __repr__(self):
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":5991
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgreenCtx):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5990
 *     def __repr__(self):
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5992
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgreenCtx):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":5993
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgreenCtx):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgreenCtx>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":5994
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgreenCtx):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUgreenCtx>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":5993
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUgreenCtx):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUgreenCtx>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":5995
 *         if not isinstance(other, CUgreenCtx):
 *             return False
 *         return self._pvt_ptr[0] == (<CUgreenCtx>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5992
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUgreenCtx):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5996
 *             return False
 *         return self._pvt_ptr[0] == (<CUgreenCtx>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":5997
 *         return self._pvt_ptr[0] == (<CUgreenCtx>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 5997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5996
 *             return False
 *         return self._pvt_ptr[0] == (<CUgreenCtx>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":5998
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":5999
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5998
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6000
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_14getPtr, "CUgreenCtx.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10CUgreenCtx_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6001
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlinkState:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6000
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_16__reduce_cython__, "CUgreenCtx.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10CUgreenCtx_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_18__setstate_cython__, "CUgreenCtx.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10CUgreenCtx_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10CUgreenCtx_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgreenCtx.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6012
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6012, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6012, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6012, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6012, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6012, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUlinkState___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6013
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlinkState>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6014
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUlinkState>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6015
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlinkState>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlinkState *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUlinkState)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6013
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlinkState>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6017
 *             self._pvt_ptr[0] = <cydriver.CUlinkState>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUlinkState *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         self._keepalive = []
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUlinkState *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6012
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6018
 *         else:
 *             self._pvt_ptr = <cydriver.CUlinkState *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self._keepalive = []
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":6019
 *             self._pvt_ptr = <cydriver.CUlinkState *>_ptr
 *     def __init__(self, *args, **kwargs):
 *         self._keepalive = []             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_keepalive);
  __Pyx_DECREF(__pyx_v_self->_keepalive);
  __pyx_v_self->_keepalive = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6018
 *         else:
 *             self._pvt_ptr = <cydriver.CUlinkState *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self._keepalive = []
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6020
 *     def __init__(self, *args, **kwargs):
 *         self._keepalive = []
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6021
 *         self._keepalive = []
 *     def __repr__(self):
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlinkState, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6020
 *     def __init__(self, *args, **kwargs):
 *         self._keepalive = []
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6022
 *     def __repr__(self):
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6023
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlinkState):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6022
 *     def __repr__(self):
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6024
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUlinkState):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":6025
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlinkState):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUlinkState>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6026
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlinkState):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUlinkState>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6025
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlinkState):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUlinkState>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":6027
 *         if not isinstance(other, CUlinkState):
 *             return False
 *         return self._pvt_ptr[0] == (<CUlinkState>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6024
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUlinkState):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6028
 *             return False
 *         return self._pvt_ptr[0] == (<CUlinkState>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":6029
 *         return self._pvt_ptr[0] == (<CUlinkState>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 6029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6028
 *             return False
 *         return self._pvt_ptr[0] == (<CUlinkState>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6030
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6031
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6030
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6032
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUlinkState_14getPtr, "CUlinkState.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUlinkState_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUlinkState_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6033
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevResourceDesc:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6032
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUlinkState_16__reduce_cython__, "CUlinkState.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUlinkState_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUlinkState_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUlinkState_18__setstate_cython__, "CUlinkState.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUlinkState_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUlinkState_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUlinkState_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUlinkState_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlinkState.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6046
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6046, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6046, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6046, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6046, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6046, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6047
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUdevResourceDesc>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6048
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUdevResourceDesc>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6049
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUdevResourceDesc>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevResourceDesc *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUdevResourceDesc)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6047
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUdevResourceDesc>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6051
 *             self._pvt_ptr[0] = <cydriver.CUdevResourceDesc>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUdevResourceDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6046
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6052
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevResourceDesc *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6054
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6055
 *         pass
 *     def __repr__(self):
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUdevResourceDesc, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6054
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6056
 *     def __repr__(self):
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6057
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUdevResourceDesc):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6056
 *     def __repr__(self):
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6058
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUdevResourceDesc):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":6059
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUdevResourceDesc):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUdevResourceDesc>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6060
 *     def __eq__(self, other):
 *         if not isinstance(other, CUdevResourceDesc):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUdevResourceDesc>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6059
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUdevResourceDesc):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUdevResourceDesc>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":6061
 *         if not isinstance(other, CUdevResourceDesc):
 *             return False
 *         return self._pvt_ptr[0] == (<CUdevResourceDesc>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6058
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUdevResourceDesc):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6062
 *             return False
 *         return self._pvt_ptr[0] == (<CUdevResourceDesc>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":6063
 *         return self._pvt_ptr[0] == (<CUdevResourceDesc>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 6063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6062
 *             return False
 *         return self._pvt_ptr[0] == (<CUdevResourceDesc>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6064
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6065
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6064
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6066
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_14getPtr, "CUdevResourceDesc.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUdevResourceDesc_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6067
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlogsCallbackHandle:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6066
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_16__reduce_cython__, "CUdevResourceDesc.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUdevResourceDesc_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_18__setstate_cython__, "CUdevResourceDesc.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUdevResourceDesc_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUdevResourceDesc_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResourceDesc.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6078
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6078, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6078, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6078, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6078, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6078, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6078, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6078, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6078, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6078, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6079
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallbackHandle>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6080
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallbackHandle>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6081
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallbackHandle>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogsCallbackHandle *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUlogsCallbackHandle)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6079
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallbackHandle>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6083
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallbackHandle>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogsCallbackHandle *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUlogsCallbackHandle *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6078
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6084
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogsCallbackHandle *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6086
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlogsCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6087
 *         pass
 *     def __repr__(self):
 *         return '<CUlogsCallbackHandle ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlogsCallbackHandle, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6086
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlogsCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6088
 *     def __repr__(self):
 *         return '<CUlogsCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6089
 *         return '<CUlogsCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlogsCallbackHandle):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6088
 *     def __repr__(self):
 *         return '<CUlogsCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6090
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUlogsCallbackHandle):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":6091
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlogsCallbackHandle):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUlogsCallbackHandle>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6092
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlogsCallbackHandle):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUlogsCallbackHandle>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6091
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUlogsCallbackHandle):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUlogsCallbackHandle>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":6093
 *         if not isinstance(other, CUlogsCallbackHandle):
 *             return False
 *         return self._pvt_ptr[0] == (<CUlogsCallbackHandle>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6090
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUlogsCallbackHandle):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6094
 *             return False
 *         return self._pvt_ptr[0] == (<CUlogsCallbackHandle>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":6095
 *         return self._pvt_ptr[0] == (<CUlogsCallbackHandle>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 6095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6094
 *             return False
 *         return self._pvt_ptr[0] == (<CUlogsCallbackHandle>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6096
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6097
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6096
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6098
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_14getPtr, "CUlogsCallbackHandle.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUlogsCallbackHandle_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6099
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUeglStreamConnection:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6098
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_16__reduce_cython__, "CUlogsCallbackHandle.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUlogsCallbackHandle_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_18__setstate_cython__, "CUlogsCallbackHandle.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUlogsCallbackHandle_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlogsCallbackHandle_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallbackHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6112
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6112, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6112, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6112, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6112, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6112, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6112, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6112, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6112, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6112, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6113
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUeglStreamConnection>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6114
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUeglStreamConnection>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6115
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUeglStreamConnection>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUeglStreamConnection *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6113
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUeglStreamConnection>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6117
 *             self._pvt_ptr[0] = <cydriver.CUeglStreamConnection>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUeglStreamConnection *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6112
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6118
 *         else:
 *             self._pvt_ptr = <cydriver.CUeglStreamConnection *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6120
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6121
 *         pass
 *     def __repr__(self):
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUeglStreamConnection, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6120
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6122
 *     def __repr__(self):
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6123
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, CUeglStreamConnection):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6122
 *     def __repr__(self):
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6124
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUeglStreamConnection):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":6125
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUeglStreamConnection):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUeglStreamConnection>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6126
 *     def __eq__(self, other):
 *         if not isinstance(other, CUeglStreamConnection):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<CUeglStreamConnection>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6125
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, CUeglStreamConnection):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<CUeglStreamConnection>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":6127
 *         if not isinstance(other, CUeglStreamConnection):
 *             return False
 *         return self._pvt_ptr[0] == (<CUeglStreamConnection>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6124
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, CUeglStreamConnection):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6128
 *             return False
 *         return self._pvt_ptr[0] == (<CUeglStreamConnection>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":6129
 *         return self._pvt_ptr[0] == (<CUeglStreamConnection>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 6129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6128
 *             return False
 *         return self._pvt_ptr[0] == (<CUeglStreamConnection>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6130
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6131
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6130
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6132
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_14getPtr, "CUeglStreamConnection.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUeglStreamConnection_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6133
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class EGLImageKHR:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6132
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_16__reduce_cython__, "CUeglStreamConnection.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUeglStreamConnection_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_18__setstate_cython__, "CUeglStreamConnection.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUeglStreamConnection_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUeglStreamConnection_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglStreamConnection.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6144
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6144, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6144, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6144, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6144, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6144, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6144, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6144, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6144, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6144, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6145
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLImageKHR>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6146
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.EGLImageKHR>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6147
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLImageKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.EGLImageKHR *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((__pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6145
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLImageKHR>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6149
 *             self._pvt_ptr[0] = <cydriver.EGLImageKHR>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.EGLImageKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6144
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6150
 *         else:
 *             self._pvt_ptr = <cydriver.EGLImageKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6152
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6153
 *         pass
 *     def __repr__(self):
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_EGLImageKHR, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6152
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6154
 *     def __repr__(self):
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6155
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLImageKHR):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6154
 *     def __repr__(self):
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6156
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, EGLImageKHR):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":6157
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLImageKHR):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<EGLImageKHR>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6158
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLImageKHR):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<EGLImageKHR>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6157
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLImageKHR):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<EGLImageKHR>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":6159
 *         if not isinstance(other, EGLImageKHR):
 *             return False
 *         return self._pvt_ptr[0] == (<EGLImageKHR>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6156
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, EGLImageKHR):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6160
 *             return False
 *         return self._pvt_ptr[0] == (<EGLImageKHR>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":6161
 *         return self._pvt_ptr[0] == (<EGLImageKHR>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 6161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6160
 *             return False
 *         return self._pvt_ptr[0] == (<EGLImageKHR>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6162
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6163
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6162
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6164
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_14getPtr, "EGLImageKHR.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11EGLImageKHR_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6165
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class EGLStreamKHR:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6164
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_16__reduce_cython__, "EGLImageKHR.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11EGLImageKHR_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_18__setstate_cython__, "EGLImageKHR.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11EGLImageKHR_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11EGLImageKHR_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.EGLImageKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6176
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6176, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6176, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6176, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6176, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6176, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6176, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6176, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6176, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6176, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6177
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLStreamKHR>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6178
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.EGLStreamKHR>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6179
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLStreamKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.EGLStreamKHR *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6177
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLStreamKHR>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6181
 *             self._pvt_ptr[0] = <cydriver.EGLStreamKHR>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.EGLStreamKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6176
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6182
 *         else:
 *             self._pvt_ptr = <cydriver.EGLStreamKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6184
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6185
 *         pass
 *     def __repr__(self):
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_EGLStreamKHR, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6184
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6186
 *     def __repr__(self):
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6187
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLStreamKHR):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6186
 *     def __repr__(self):
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6188
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, EGLStreamKHR):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":6189
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLStreamKHR):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<EGLStreamKHR>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6190
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLStreamKHR):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<EGLStreamKHR>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6189
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLStreamKHR):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<EGLStreamKHR>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":6191
 *         if not isinstance(other, EGLStreamKHR):
 *             return False
 *         return self._pvt_ptr[0] == (<EGLStreamKHR>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6188
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, EGLStreamKHR):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6192
 *             return False
 *         return self._pvt_ptr[0] == (<EGLStreamKHR>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":6193
 *         return self._pvt_ptr[0] == (<EGLStreamKHR>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 6193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6192
 *             return False
 *         return self._pvt_ptr[0] == (<EGLStreamKHR>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6194
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6195
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6194
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6196
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_14getPtr, "EGLStreamKHR.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12EGLStreamKHR_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6197
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class EGLSyncKHR:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6196
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_16__reduce_cython__, "EGLStreamKHR.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12EGLStreamKHR_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_18__setstate_cython__, "EGLStreamKHR.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12EGLStreamKHR_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12EGLStreamKHR_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.EGLStreamKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6208
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6208, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6208, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6208, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6208, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6208, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6208, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6208, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6208, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6208, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6209
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLSyncKHR>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6210
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.EGLSyncKHR>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6211
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLSyncKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.EGLSyncKHR *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((__pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6209
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.EGLSyncKHR>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6213
 *             self._pvt_ptr[0] = <cydriver.EGLSyncKHR>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.EGLSyncKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6208
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6214
 *         else:
 *             self._pvt_ptr = <cydriver.EGLSyncKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6216
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6217
 *         pass
 *     def __repr__(self):
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_EGLSyncKHR, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6216
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6218
 *     def __repr__(self):
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6219
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLSyncKHR):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6218
 *     def __repr__(self):
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __eq__(self, other):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6220
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, EGLSyncKHR):
 *             return False
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_8__eq__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_8__eq__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "cuda/bindings/driver.pyx":6221
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLSyncKHR):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<EGLSyncKHR>other)._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6222
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLSyncKHR):
 *             return False             # <<<<<<<<<<<<<<
 *         return self._pvt_ptr[0] == (<EGLSyncKHR>other)._pvt_ptr[0]
 *     def __hash__(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6221
 *         return self.__int__()
 *     def __eq__(self, other):
 *         if not isinstance(other, EGLSyncKHR):             # <<<<<<<<<<<<<<
 *             return False
 *         return self._pvt_ptr[0] == (<EGLSyncKHR>other)._pvt_ptr[0]
*/
  }

  /* "cuda/bindings/driver.pyx":6223
 *         if not isinstance(other, EGLSyncKHR):
 *             return False
 *         return self._pvt_ptr[0] == (<EGLSyncKHR>other)._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(((__pyx_v_self->_pvt_ptr[0]) == (((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_other)->_pvt_ptr[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6220
 *     def __index__(self):
 *         return self.__int__()
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if not isinstance(other, EGLSyncKHR):
 *             return False
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6224
 *             return False
 *         return self._pvt_ptr[0] == (<EGLSyncKHR>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_10__hash__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_10__hash__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "cuda/bindings/driver.pyx":6225
 *         return self._pvt_ptr[0] == (<EGLSyncKHR>other)._pvt_ptr[0]
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 6225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6224
 *             return False
 *         return self._pvt_ptr[0] == (<EGLSyncKHR>other)._pvt_ptr[0]
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6226
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_13__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_13__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_12__int__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_12__int__(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6227
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6226
 *     def __hash__(self):
 *         return hash(<uintptr_t><void*>(self._pvt_ptr[0]))
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6228
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_14getPtr, "EGLSyncKHR.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10EGLSyncKHR_15getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_14getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_15getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_14getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_14getPtr(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6229
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUasyncCallback:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6228
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_16__reduce_cython__, "EGLSyncKHR.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10EGLSyncKHR_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_16__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_16__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_18__setstate_cython__, "EGLSyncKHR.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10EGLSyncKHR_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_18__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_18__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10EGLSyncKHR_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.EGLSyncKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6240
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6240, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6240, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6240, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6240, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6240, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6241
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallback>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6242
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallback>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6243
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallback>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncCallback *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUasyncCallback)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6241
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallback>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6245
 *             self._pvt_ptr[0] = <cydriver.CUasyncCallback>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncCallback *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUasyncCallback *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6240
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6246
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncCallback *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6248
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6249
 *         pass
 *     def __repr__(self):
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUasyncCallback, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6248
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallback.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6250
 *     def __repr__(self):
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6251
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6250
 *     def __repr__(self):
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallback.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6252
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_9__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_8__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6253
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6252
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallback.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6254
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_10getPtr, "CUasyncCallback.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15CUasyncCallback_11getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_10getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_10getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6255
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUhostFn:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6254
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallback.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_12__reduce_cython__, "CUasyncCallback.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15CUasyncCallback_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_12__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallback.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_14__setstate_cython__, "CUasyncCallback.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15CUasyncCallback_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_14__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUasyncCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6266
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUhostFn_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUhostFn_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6266, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6266, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6266, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6266, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6266, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUhostFn.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUhostFn___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUhostFn___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6267
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUhostFn>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6268
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUhostFn>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6269
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUhostFn>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUhostFn *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUhostFn)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6267
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUhostFn>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6271
 *             self._pvt_ptr[0] = <cydriver.CUhostFn>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUhostFn *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUhostFn *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6266
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6272
 *         else:
 *             self._pvt_ptr = <cydriver.CUhostFn *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_8CUhostFn_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_8CUhostFn_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6274
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6275
 *         pass
 *     def __repr__(self):
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUhostFn, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6274
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUhostFn.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6276
 *     def __repr__(self):
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6277
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6276
 *     def __repr__(self):
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUhostFn.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6278
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_9__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_8__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6279
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6278
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUhostFn.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6280
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUhostFn_10getPtr, "CUhostFn.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUhostFn_11getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUhostFn_10getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_10getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6281
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamCallback:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6280
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUhostFn.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUhostFn_12__reduce_cython__, "CUhostFn.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUhostFn_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUhostFn_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_12__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUhostFn.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8CUhostFn_14__setstate_cython__, "CUhostFn.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUhostFn_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUhostFn_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUhostFn.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUhostFn_14__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUhostFn_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUhostFn.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6292
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6292, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6292, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6292, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6292, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6292, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6292, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6292, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6292, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6292, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamCallback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6293
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUstreamCallback>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6294
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUstreamCallback>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6295
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUstreamCallback>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUstreamCallback *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUstreamCallback)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6293
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUstreamCallback>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6297
 *             self._pvt_ptr[0] = <cydriver.CUstreamCallback>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUstreamCallback *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUstreamCallback *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6292
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6298
 *         else:
 *             self._pvt_ptr = <cydriver.CUstreamCallback *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6300
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6301
 *         pass
 *     def __repr__(self):
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUstreamCallback, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6300
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamCallback.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6302
 *     def __repr__(self):
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6303
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6302
 *     def __repr__(self):
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamCallback.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6304
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_9__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_8__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6305
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6304
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamCallback.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6306
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_10getPtr, "CUstreamCallback.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUstreamCallback_11getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_10getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_10getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6307
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUoccupancyB2DSize:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6306
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamCallback.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_12__reduce_cython__, "CUstreamCallback.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUstreamCallback_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_12__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamCallback.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_14__setstate_cython__, "CUstreamCallback.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUstreamCallback_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_14__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUstreamCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6318
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6318, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6318, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6318, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6318, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6318, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6318, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6318, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6318, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6318, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUoccupancyB2DSize.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6319
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUoccupancyB2DSize>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6320
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUoccupancyB2DSize>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6321
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUoccupancyB2DSize>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUoccupancyB2DSize *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUoccupancyB2DSize)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6319
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUoccupancyB2DSize>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6323
 *             self._pvt_ptr[0] = <cydriver.CUoccupancyB2DSize>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUoccupancyB2DSize *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUoccupancyB2DSize *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6318
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6324
 *         else:
 *             self._pvt_ptr = <cydriver.CUoccupancyB2DSize *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6326
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6327
 *         pass
 *     def __repr__(self):
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUoccupancyB2DSize, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6326
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoccupancyB2DSize.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6328
 *     def __repr__(self):
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6329
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6328
 *     def __repr__(self):
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoccupancyB2DSize.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6330
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_9__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_8__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6331
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6330
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoccupancyB2DSize.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6332
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_10getPtr, "CUoccupancyB2DSize.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUoccupancyB2DSize_11getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_10getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_10getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6333
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlogsCallback:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6332
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoccupancyB2DSize.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_12__reduce_cython__, "CUoccupancyB2DSize.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUoccupancyB2DSize_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_12__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUoccupancyB2DSize.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_14__setstate_cython__, "CUoccupancyB2DSize.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUoccupancyB2DSize_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUoccupancyB2DSize.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_14__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUoccupancyB2DSize_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUoccupancyB2DSize.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6344
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6344, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6344, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6344, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6344, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 6344, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6344, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6344, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6344, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 6344, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6345
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallback>init_value
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6346
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallback>init_value
 *         else:
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6347
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallback>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogsCallback *>_ptr
*/
    (__pyx_v_self->_pvt_ptr[0]) = ((CUlogsCallback)__pyx_v_init_value);

    /* "cuda/bindings/driver.pyx":6345
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallback>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6349
 *             self._pvt_ptr[0] = <cydriver.CUlogsCallback>init_value
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogsCallback *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUlogsCallback *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6344
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6350
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogsCallback *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("__init__", __pyx_kwds) == -1)) return -1;
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6352
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlogsCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6353
 *         pass
 *     def __repr__(self):
 *         return '<CUlogsCallback ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_builtin_hex);
  __pyx_t_3 = __pyx_builtin_hex; 
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlogsCallback, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6352
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlogsCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallback.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6354
 *     def __repr__(self):
 *         return '<CUlogsCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_7__index__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_6__index__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_6__index__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);

  /* "cuda/bindings/driver.pyx":6355
 *         return '<CUlogsCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6354
 *     def __repr__(self):
 *         return '<CUlogsCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallback.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6356
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_9__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_8__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_8__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":6357
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6356
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallback.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6358
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_10getPtr, "CUlogsCallback.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUlogsCallback_11getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_10getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_11getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_10getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_10getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6359
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUuuid_st:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6358
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallback.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_12__reduce_cython__, "CUlogsCallback.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUlogsCallback_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_12__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallback.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_14__setstate_cython__, "CUlogsCallback.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUlogsCallback_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_14__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUlogsCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogsCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6373
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6373, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6373, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6373, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6373, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6373, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6373, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6374
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6375
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUuuid_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6374
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6377
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUuuid_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUuuid_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6373
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6378
 *         else:
 *             self._pvt_ptr = <cydriver.CUuuid_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6378, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6378, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6378, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6378, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6378, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6378, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6380
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6382
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_6getPtr, "CUuuid_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUuuid_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6383
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6382
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6384
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6385
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6386
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6387
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6388
 *             str_list = []
 *             try:
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['bytes : <ValueError>']
*/
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_bytes_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6388, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_6 = __pyx_t_7;
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_8 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_hex, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6388, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6388, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_bytes, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6388, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6388, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6388, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6388, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6387
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":6389
 *             try:
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytes : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 6389, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":6390
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]
 *             except ValueError:
 *                 str_list += ['bytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6390, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_bytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_bytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_bytes_ValueError) != (0)) __PYX_ERR(0, 6390, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 6390, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6387
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6391
 *             except ValueError:
 *                 str_list += ['bytes : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6385
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6393
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def bytes(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6384
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6394
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def bytes(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].bytes, 16)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_5bytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_5bytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_5bytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_5bytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6396
 *     @property
 *     def bytes(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].bytes, 16)             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemFabricHandle_st:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_pvt_ptr[0]).bytes, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6394
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def bytes(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].bytes, 16)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.bytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_10__reduce_cython__, "CUuuid_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUuuid_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_12__setstate_cython__, "CUuuid_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9CUuuid_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9CUuuid_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUuuid_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6415
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6415, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6415, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6415, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6415, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6415, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6415, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6416
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6417
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemFabricHandle_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6416
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6419
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemFabricHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemFabricHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6415
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6420
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemFabricHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6420, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6420, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6420, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6420, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6422
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6424
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_6getPtr, "CUmemFabricHandle_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUmemFabricHandle_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6425
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6424
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6426
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6427
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6428
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['data : ' + str(self.data)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6429
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['data : ' + str(self.data)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6430
 *             str_list = []
 *             try:
 *                 str_list += ['data : ' + str(self.data)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['data : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_data_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_data, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6430, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6429
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['data : ' + str(self.data)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6431
 *             try:
 *                 str_list += ['data : ' + str(self.data)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['data : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6431, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6432
 *                 str_list += ['data : ' + str(self.data)]
 *             except ValueError:
 *                 str_list += ['data : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6432, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_data_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_data_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_data_ValueError) != (0)) __PYX_ERR(0, 6432, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6432, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6429
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['data : ' + str(self.data)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6433
 *             except ValueError:
 *                 str_list += ['data : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6427
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6435
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def data(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6426
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6436
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].data, 64)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6438
 *     @property
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].data, 64)             # <<<<<<<<<<<<<<
 *     @data.setter
 *     def data(self, data):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0]).data), 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6436
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].data, 64)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.data.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6439
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].data, 64)
 *     @data.setter             # <<<<<<<<<<<<<<
 *     def data(self, data):
 *         if len(data) != 64:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_data); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_data) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v_data));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self, PyObject *__pyx_v_data) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  unsigned char __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6441
 *     @data.setter
 *     def data(self, data):
 *         if len(data) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("data length must be 64, is " + str(len(data)))
 *         for i, b in enumerate(data):
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6441, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":6442
 *     def data(self, data):
 *         if len(data) != 64:
 *             raise ValueError("data length must be 64, is " + str(len(data)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(data):
 *             self._pvt_ptr[0].data[i] = b
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6442, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_data_length_must_be_64_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6442, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 6442, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":6441
 *     @data.setter
 *     def data(self, data):
 *         if len(data) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("data length must be 64, is " + str(len(data)))
 *         for i, b in enumerate(data):
*/
  }

  /* "cuda/bindings/driver.pyx":6443
 *         if len(data) != 64:
 *             raise ValueError("data length must be 64, is " + str(len(data)))
 *         for i, b in enumerate(data):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].data[i] = b
 * 
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_data)) || PyTuple_CheckExact(__pyx_v_data)) {
    __pyx_t_5 = __pyx_v_data; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6443, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6443, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6443, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6443, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6443, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 6443, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6443, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":6444
 *             raise ValueError("data length must be 64, is " + str(len(data)))
 *         for i, b in enumerate(data):
 *             self._pvt_ptr[0].data[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUipcEventHandle_st:
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6444, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6444, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).data[__pyx_t_11]) = __pyx_t_10;

    /* "cuda/bindings/driver.pyx":6443
 *         if len(data) != 64:
 *             raise ValueError("data length must be 64, is " + str(len(data)))
 *         for i, b in enumerate(data):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].data[i] = b
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":6439
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].data, 64)
 *     @data.setter             # <<<<<<<<<<<<<<
 *     def data(self, data):
 *         if len(data) != 64:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.data.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_10__reduce_cython__, "CUmemFabricHandle_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUmemFabricHandle_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_12__setstate_cython__, "CUmemFabricHandle_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUmemFabricHandle_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemFabricHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemFabricHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6460
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6460, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6460, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6460, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6460, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6460, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6460, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6461
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6462
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUipcEventHandle_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6461
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6464
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUipcEventHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUipcEventHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6460
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6465
 *         else:
 *             self._pvt_ptr = <cydriver.CUipcEventHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6465, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6465, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6465, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6465, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6465, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6465, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6467
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6469
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_6getPtr, "CUipcEventHandle_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19CUipcEventHandle_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6470
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6469
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6471
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6472
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6473
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6474
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6475
 *             str_list = []
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6475, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6475, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6475, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6475, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6475, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6475, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6474
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6476
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6476, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6477
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6477, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 6477, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6477, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6474
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6478
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6472
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6480
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6471
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6481
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6483
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_pvt_ptr[0]).reserved, 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6481
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6484
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  char __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6486
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6486, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":6487
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6487, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 6487, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":6486
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
*/
  }

  /* "cuda/bindings/driver.pyx":6488
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:             # <<<<<<<<<<<<<<
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:
*/
  __pyx_t_2 = (CHAR_MIN == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6489
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *                 if b < 0 and b > -129:
 *                     b = b + 256
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
      __pyx_t_5 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_5);
      __pyx_t_1 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6489, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6489, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_5))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6489, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
          ++__pyx_t_1;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6489, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6489, __pyx_L1_error)
      } else {
        __pyx_t_6 = __pyx_t_9(__pyx_t_5);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 6489, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6489, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6490
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._pvt_ptr[0].reserved[i] = b
*/
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6490, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 6490, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_10) {
      } else {
        __pyx_t_2 = __pyx_t_10;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6490, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 6490, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_10;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":6491
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:
 *                     b = b + 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].reserved[i] = b
 *         else:
*/
        __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6491, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":6490
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._pvt_ptr[0].reserved[i] = b
*/
      }

      /* "cuda/bindings/driver.pyx":6492
 *                 if b < 0 and b > -129:
 *                     b = b + 256
 *                 self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 *         else:
 *             for i, b in enumerate(reserved):
*/
      __pyx_t_11 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_11 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6492, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_12 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6492, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_12]) = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":6489
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *                 if b < 0 and b > -129:
 *                     b = b + 256
*/
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":6488
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:             # <<<<<<<<<<<<<<
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":6494
 *                 self._pvt_ptr[0].reserved[i] = b
 *         else:
 *             for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *                 if b > 127 and b < 256:
 *                     b = b - 256
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
      __pyx_t_5 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_5);
      __pyx_t_1 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6494, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6494, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_5))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6494, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
          ++__pyx_t_1;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6494, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6494, __pyx_L1_error)
      } else {
        __pyx_t_6 = __pyx_t_9(__pyx_t_5);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 6494, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6494, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6495
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b
*/
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6495, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 6495, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_10) {
      } else {
        __pyx_t_2 = __pyx_t_10;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6495, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 6495, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_10;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":6496
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].reserved[i] = b
 * 
*/
        __pyx_t_6 = __Pyx_PyLong_SubtractObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6496, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":6495
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b
*/
      }

      /* "cuda/bindings/driver.pyx":6497
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUipcMemHandle_st:
*/
      __pyx_t_11 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_11 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6497, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_12 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6497, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_12]) = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":6494
 *                 self._pvt_ptr[0].reserved[i] = b
 *         else:
 *             for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *                 if b > 127 and b < 256:
 *                     b = b - 256
*/
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":6484
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_10__reduce_cython__, "CUipcEventHandle_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19CUipcEventHandle_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_12__setstate_cython__, "CUipcEventHandle_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19CUipcEventHandle_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19CUipcEventHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcEventHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6513
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6513, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6513, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6513, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6513, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6513, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6513, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6514
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6515
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUipcMemHandle_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6514
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6517
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUipcMemHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUipcMemHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6513
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6518
 *         else:
 *             self._pvt_ptr = <cydriver.CUipcMemHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6518, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6518, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6518, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6518, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6518, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6518, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6520
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6522
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_6getPtr, "CUipcMemHandle_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUipcMemHandle_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6523
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6522
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6524
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6525
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6526
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6527
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6528
 *             str_list = []
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6528, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6528, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6528, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6528, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6528, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6528, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6527
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6529
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6529, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6530
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6530, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 6530, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6530, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6527
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6531
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6525
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6533
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6524
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6534
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6536
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_pvt_ptr[0]).reserved, 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6534
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6537
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  char __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6539
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6539, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":6540
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6540, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 6540, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":6539
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
*/
  }

  /* "cuda/bindings/driver.pyx":6541
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:             # <<<<<<<<<<<<<<
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:
*/
  __pyx_t_2 = (CHAR_MIN == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":6542
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *                 if b < 0 and b > -129:
 *                     b = b + 256
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
      __pyx_t_5 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_5);
      __pyx_t_1 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6542, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6542, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_5))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6542, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
          ++__pyx_t_1;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6542, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6542, __pyx_L1_error)
      } else {
        __pyx_t_6 = __pyx_t_9(__pyx_t_5);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 6542, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6542, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6543
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._pvt_ptr[0].reserved[i] = b
*/
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6543, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 6543, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_10) {
      } else {
        __pyx_t_2 = __pyx_t_10;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6543, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 6543, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_10;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":6544
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:
 *                     b = b + 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].reserved[i] = b
 *         else:
*/
        __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6544, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":6543
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._pvt_ptr[0].reserved[i] = b
*/
      }

      /* "cuda/bindings/driver.pyx":6545
 *                 if b < 0 and b > -129:
 *                     b = b + 256
 *                 self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 *         else:
 *             for i, b in enumerate(reserved):
*/
      __pyx_t_11 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_11 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6545, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_12 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6545, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_12]) = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":6542
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *                 if b < 0 and b > -129:
 *                     b = b + 256
*/
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":6541
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:             # <<<<<<<<<<<<<<
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":6547
 *                 self._pvt_ptr[0].reserved[i] = b
 *         else:
 *             for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *                 if b > 127 and b < 256:
 *                     b = b - 256
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
      __pyx_t_5 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_5);
      __pyx_t_1 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6547, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6547, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_5))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6547, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
          ++__pyx_t_1;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6547, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6547, __pyx_L1_error)
      } else {
        __pyx_t_6 = __pyx_t_9(__pyx_t_5);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 6547, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6547, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6548
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b
*/
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6548, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 6548, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_10) {
      } else {
        __pyx_t_2 = __pyx_t_10;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6548, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 6548, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_10;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":6549
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].reserved[i] = b
 * 
*/
        __pyx_t_6 = __Pyx_PyLong_SubtractObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6549, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":6548
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b
*/
      }

      /* "cuda/bindings/driver.pyx":6550
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamMemOpWaitValueParams_st:
*/
      __pyx_t_11 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_11 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6550, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_12 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6550, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_12]) = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":6547
 *                 self._pvt_ptr[0].reserved[i] = b
 *         else:
 *             for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *                 if b > 127 and b < 256:
 *                     b = b - 256
*/
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":6537
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_10__reduce_cython__, "CUipcMemHandle_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUipcMemHandle_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_12__setstate_cython__, "CUipcMemHandle_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUipcMemHandle_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUipcMemHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUipcMemHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6574
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6574, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6574, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 6574, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6574, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6574, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":6575
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":6574
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6577
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.address)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6577, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6577, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6577, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 6577, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6577, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6577, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6577, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":6579
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.address)             # <<<<<<<<<<<<<<
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value64)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).waitValue.address))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6579, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6579, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_address);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_address);
  __pyx_v_self->_address = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6580
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value)             # <<<<<<<<<<<<<<
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.alias)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).waitValue.value))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6580, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6580, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value);
  __pyx_v_self->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6581
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value64)             # <<<<<<<<<<<<<<
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.alias)
 *     def __dealloc__(self):
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).waitValue.value64))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6581, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6581, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value64);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value64);
  __pyx_v_self->_value64 = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6582
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.alias)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).waitValue.alias))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6582, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6582, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_alias);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_alias);
  __pyx_v_self->_alias = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6577
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.address)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6583
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].waitValue.alias)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6585
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].waitValue
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_6getPtr, "CUstreamMemOpWaitValueParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6586
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].waitValue             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).waitValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6585
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].waitValue
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6587
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].waitValue
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6588
 *         return <void_ptr>&self._pvt_ptr[0].waitValue
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6589
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6590
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6591
 *             str_list = []
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6591, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6591, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6591, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6591, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6591, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6591, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6590
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6592
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6592, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6593
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6593, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_operation_ValueError) != (0)) __PYX_ERR(0, 6593, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6593, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6590
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6594
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6595
 *                 str_list += ['operation : <ValueError>']
 *             try:
 *                 str_list += ['address : ' + str(self.address)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_address_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6595, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6595, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_address, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6595, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6595, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6595, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6595, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6594
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6596
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 6596, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6597
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6597, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_address_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_address_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_address_ValueError) != (0)) __PYX_ERR(0, 6597, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6597, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":6594
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6598
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6599
 *                 str_list += ['address : <ValueError>']
 *             try:
 *                 str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6599, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6599, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6599, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6599, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6599, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6599, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6598
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6600
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6600, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6601
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6601, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_value_ValueError) != (0)) __PYX_ERR(0, 6601, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6601, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":6598
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6602
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6603
 *                 str_list += ['value : <ValueError>']
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value64_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6603, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6603, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value64, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6603, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6603, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6603, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6603, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6602
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6604
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 6604, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6605
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6605, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value64_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value64_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_value64_ValueError) != (0)) __PYX_ERR(0, 6605, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6605, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":6602
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6606
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6607
 *                 str_list += ['value64 : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6607, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6607, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6607, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6607, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6607, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6607, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6606
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6608
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6608, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6609
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6609, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 6609, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6609, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":6606
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6610
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6611
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_alias_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6611, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6611, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_alias, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6611, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6611, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6611, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6611, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6610
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6612
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 6612, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6613
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6613, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_alias_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_alias_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_alias_ValueError) != (0)) __PYX_ERR(0, 6613, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6613, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":6610
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6614
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6588
 *         return <void_ptr>&self._pvt_ptr[0].waitValue
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6616
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6587
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].waitValue
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6617
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].waitValue.operation not in _dict_CUstreamBatchMemOpType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6619
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].waitValue.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].waitValue.operation]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).waitValue.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 6619, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":6620
 *     def operation(self):
 *         if self._pvt_ptr[0].waitValue.operation not in _dict_CUstreamBatchMemOpType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].waitValue.operation]
 *     @operation.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6619
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].waitValue.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].waitValue.operation]
*/
  }

  /* "cuda/bindings/driver.pyx":6621
 *         if self._pvt_ptr[0].waitValue.operation not in _dict_CUstreamBatchMemOpType:
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].waitValue.operation]             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).waitValue.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6617
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].waitValue.operation not in _dict_CUstreamBatchMemOpType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6622
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].waitValue.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].waitValue.operation = operation.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_operation) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "operation"); __PYX_ERR(0, 6623, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamBatchMemOpType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6624
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].waitValue.operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def address(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyLong_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).waitValue.operation = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":6622
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].waitValue.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].waitValue.operation = operation.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6625
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].waitValue.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6627
 *     @property
 *     def address(self):
 *         return self._address             # <<<<<<<<<<<<<<
 *     @address.setter
 *     def address(self, address):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_address);
  __pyx_r = ((PyObject *)__pyx_v_self->_address);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6625
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].waitValue.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6628
 *     def address(self):
 *         return self._address
 *     @address.setter             # <<<<<<<<<<<<<<
 *     def address(self, address):
 *         cdef cydriver.CUdeviceptr cyaddress
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_address); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_address) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_address));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_address) {
  CUdeviceptr __pyx_v_cyaddress;
  PyObject *__pyx_v_paddress = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6631
 *     def address(self, address):
 *         cdef cydriver.CUdeviceptr cyaddress
 *         if address is None:             # <<<<<<<<<<<<<<
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_address == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6632
 *         cdef cydriver.CUdeviceptr cyaddress
 *         if address is None:
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)
*/
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":6631
 *     def address(self, address):
 *         cdef cydriver.CUdeviceptr cyaddress
 *         if address is None:             # <<<<<<<<<<<<<<
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6633
 *         if address is None:
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             paddress = int(address)
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_address, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6634
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)             # <<<<<<<<<<<<<<
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_address); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddress = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6635
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress             # <<<<<<<<<<<<<<
 *         else:
 *             paddress = int(CUdeviceptr(address))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddress); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6635, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6633
 *         if address is None:
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             paddress = int(address)
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6637
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
 *         else:
 *             paddress = int(CUdeviceptr(address))             # <<<<<<<<<<<<<<
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
 *         self._address._pvt_ptr[0] = cyaddress
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_address};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6637, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddress = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":6638
 *         else:
 *             paddress = int(CUdeviceptr(address))
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress             # <<<<<<<<<<<<<<
 *         self._address._pvt_ptr[0] = cyaddress
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddress); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6638, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6639
 *             paddress = int(CUdeviceptr(address))
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
 *         self._address._pvt_ptr[0] = cyaddress             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_address->_pvt_ptr[0]) = __pyx_v_cyaddress;

  /* "cuda/bindings/driver.pyx":6628
 *     def address(self):
 *         return self._address
 *     @address.setter             # <<<<<<<<<<<<<<
 *     def address(self, address):
 *         cdef cydriver.CUdeviceptr cyaddress
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.address.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_paddress);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6641
 *         self._address._pvt_ptr[0] = cyaddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6643
 *     @property
 *     def value(self):
 *         return self._value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_value);
  __pyx_r = ((PyObject *)__pyx_v_self->_value);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6641
 *         self._address._pvt_ptr[0] = cyaddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6644
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef cydriver.cuuint32_t cyvalue
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_value) {
  cuuint32_t __pyx_v_cyvalue;
  PyObject *__pyx_v_pvalue = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6647
 *     def value(self, value):
 *         cdef cydriver.cuuint32_t cyvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
*/
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6648
 *         cdef cydriver.cuuint32_t cyvalue
 *         if value is None:
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)
*/
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":6647
 *     def value(self, value):
 *         cdef cydriver.cuuint32_t cyvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6649
 *         if value is None:
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6650
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6651
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue = int(cuuint32_t(value))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6651, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6649
 *         if value is None:
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6653
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *         else:
 *             pvalue = int(cuuint32_t(value))             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *         self._value._pvt_ptr[0] = cyvalue
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6653, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":6654
 *         else:
 *             pvalue = int(cuuint32_t(value))
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         self._value._pvt_ptr[0] = cyvalue
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6654, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6655
 *             pvalue = int(cuuint32_t(value))
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *         self._value._pvt_ptr[0] = cyvalue             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_value->_pvt_ptr[0]) = __pyx_v_cyvalue;

  /* "cuda/bindings/driver.pyx":6644
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef cydriver.cuuint32_t cyvalue
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6657
 *         self._value._pvt_ptr[0] = cyvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value64(self):
 *         return self._value64
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6659
 *     @property
 *     def value64(self):
 *         return self._value64             # <<<<<<<<<<<<<<
 *     @value64.setter
 *     def value64(self, value64):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_value64);
  __pyx_r = ((PyObject *)__pyx_v_self->_value64);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6657
 *         self._value._pvt_ptr[0] = cyvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value64(self):
 *         return self._value64
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6660
 *     def value64(self):
 *         return self._value64
 *     @value64.setter             # <<<<<<<<<<<<<<
 *     def value64(self, value64):
 *         cdef cydriver.cuuint64_t cyvalue64
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value64); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value64) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value64));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_value64) {
  cuuint64_t __pyx_v_cyvalue64;
  PyObject *__pyx_v_pvalue64 = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6663
 *     def value64(self, value64):
 *         cdef cydriver.cuuint64_t cyvalue64
 *         if value64 is None:             # <<<<<<<<<<<<<<
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
*/
  __pyx_t_1 = (__pyx_v_value64 == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6664
 *         cdef cydriver.cuuint64_t cyvalue64
 *         if value64 is None:
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)
*/
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":6663
 *     def value64(self, value64):
 *         cdef cydriver.cuuint64_t cyvalue64
 *         if value64 is None:             # <<<<<<<<<<<<<<
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6665
 *         if value64 is None:
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue64 = int(value64)
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value64, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6666
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)             # <<<<<<<<<<<<<<
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue64 = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6667
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue64); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6667, __pyx_L1_error)
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6665
 *         if value64 is None:
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue64 = int(value64)
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6669
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))             # <<<<<<<<<<<<<<
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
 *         self._value64._pvt_ptr[0] = cyvalue64
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value64};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6669, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue64 = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":6670
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64             # <<<<<<<<<<<<<<
 *         self._value64._pvt_ptr[0] = cyvalue64
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue64); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6670, __pyx_L1_error)
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6671
 *             pvalue64 = int(cuuint64_t(value64))
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
 *         self._value64._pvt_ptr[0] = cyvalue64             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_value64->_pvt_ptr[0]) = __pyx_v_cyvalue64;

  /* "cuda/bindings/driver.pyx":6660
 *     def value64(self):
 *         return self._value64
 *     @value64.setter             # <<<<<<<<<<<<<<
 *     def value64(self, value64):
 *         cdef cydriver.cuuint64_t cyvalue64
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.value64.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue64);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6673
 *         self._value64._pvt_ptr[0] = cyvalue64
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].waitValue.flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6675
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].waitValue.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).waitValue.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6673
 *         self._value64._pvt_ptr[0] = cyvalue64
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].waitValue.flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6676
 *     def flags(self):
 *         return self._pvt_ptr[0].waitValue.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].waitValue.flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6677, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":6678
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].waitValue.flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def alias(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).waitValue.flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":6676
 *     def flags(self):
 *         return self._pvt_ptr[0].waitValue.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].waitValue.flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6679
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].waitValue.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6681
 *     @property
 *     def alias(self):
 *         return self._alias             # <<<<<<<<<<<<<<
 *     @alias.setter
 *     def alias(self, alias):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_alias);
  __pyx_r = ((PyObject *)__pyx_v_self->_alias);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6679
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].waitValue.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6682
 *     def alias(self):
 *         return self._alias
 *     @alias.setter             # <<<<<<<<<<<<<<
 *     def alias(self, alias):
 *         cdef cydriver.CUdeviceptr cyalias
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alias) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_alias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_alias) {
  CUdeviceptr __pyx_v_cyalias;
  PyObject *__pyx_v_palias = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6685
 *     def alias(self, alias):
 *         cdef cydriver.CUdeviceptr cyalias
 *         if alias is None:             # <<<<<<<<<<<<<<
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_alias == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6686
 *         cdef cydriver.CUdeviceptr cyalias
 *         if alias is None:
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)
*/
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":6685
 *     def alias(self, alias):
 *         cdef cydriver.CUdeviceptr cyalias
 *         if alias is None:             # <<<<<<<<<<<<<<
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6687
 *         if alias is None:
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             palias = int(alias)
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_alias, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6688
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)             # <<<<<<<<<<<<<<
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_alias); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_palias = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6689
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias             # <<<<<<<<<<<<<<
 *         else:
 *             palias = int(CUdeviceptr(alias))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_palias); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6689, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6687
 *         if alias is None:
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             palias = int(alias)
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6691
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
 *         else:
 *             palias = int(CUdeviceptr(alias))             # <<<<<<<<<<<<<<
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
 *         self._alias._pvt_ptr[0] = cyalias
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_alias};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6691, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_palias = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":6692
 *         else:
 *             palias = int(CUdeviceptr(alias))
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias             # <<<<<<<<<<<<<<
 *         self._alias._pvt_ptr[0] = cyalias
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_palias); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6692, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6693
 *             palias = int(CUdeviceptr(alias))
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
 *         self._alias._pvt_ptr[0] = cyalias             # <<<<<<<<<<<<<<
 * 
 * 
*/
  (__pyx_v_self->_alias->_pvt_ptr[0]) = __pyx_v_cyalias;

  /* "cuda/bindings/driver.pyx":6682
 *     def alias(self):
 *         return self._alias
 *     @alias.setter             # <<<<<<<<<<<<<<
 *     def alias(self, alias):
 *         cdef cydriver.CUdeviceptr cyalias
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.alias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_palias);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__, "CUstreamMemOpWaitValueParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__, "CUstreamMemOpWaitValueParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWaitValueParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6718
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6718, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6718, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6718, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 6718, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6718, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6718, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6718, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":6719
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":6718
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6721
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.address)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6721, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6721, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 6721, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6721, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6721, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6721, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":6723
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.address)             # <<<<<<<<<<<<<<
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value64)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).writeValue.address))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6723, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6723, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_address);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_address);
  __pyx_v_self->_address = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6724
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value)             # <<<<<<<<<<<<<<
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.alias)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).writeValue.value))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6724, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6724, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value);
  __pyx_v_self->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6725
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value64)             # <<<<<<<<<<<<<<
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.alias)
 *     def __dealloc__(self):
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).writeValue.value64))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6725, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6725, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value64);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value64);
  __pyx_v_self->_value64 = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6726
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.alias)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).writeValue.alias))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6726, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6726, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_alias);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_alias);
  __pyx_v_self->_alias = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6721
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.address)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6727
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].writeValue.alias)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6729
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].writeValue
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_6getPtr, "CUstreamMemOpWriteValueParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6730
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].writeValue             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).writeValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6729
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].writeValue
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6731
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].writeValue
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6732
 *         return <void_ptr>&self._pvt_ptr[0].writeValue
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6733
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6734
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6735
 *             str_list = []
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6735, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6735, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6735, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6735, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6735, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6735, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6734
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6736
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6736, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6737
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6737, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_operation_ValueError) != (0)) __PYX_ERR(0, 6737, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6737, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6734
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6738
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6739
 *                 str_list += ['operation : <ValueError>']
 *             try:
 *                 str_list += ['address : ' + str(self.address)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_address_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6739, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6739, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_address, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6739, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6739, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6739, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6739, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6738
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6740
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 6740, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6741
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6741, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_address_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_address_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_address_ValueError) != (0)) __PYX_ERR(0, 6741, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6741, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":6738
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6742
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6743
 *                 str_list += ['address : <ValueError>']
 *             try:
 *                 str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6743, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6743, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6743, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6743, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6743, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6743, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6742
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6744
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6744, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6745
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6745, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_value_ValueError) != (0)) __PYX_ERR(0, 6745, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6745, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":6742
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6746
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6747
 *                 str_list += ['value : <ValueError>']
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value64_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6747, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6747, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value64, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6747, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6747, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6747, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6747, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6746
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6748
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 6748, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6749
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6749, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value64_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value64_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_value64_ValueError) != (0)) __PYX_ERR(0, 6749, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6749, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":6746
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6750
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6751
 *                 str_list += ['value64 : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6751, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6751, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6751, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6751, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6751, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6751, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6750
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6752
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6752, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6753
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6753, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 6753, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6753, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":6750
 *             except ValueError:
 *                 str_list += ['value64 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6754
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6755
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_alias_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6755, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6755, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_alias, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6755, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6755, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6755, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6755, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6754
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6756
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 6756, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6757
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6757, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_alias_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_alias_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_alias_ValueError) != (0)) __PYX_ERR(0, 6757, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6757, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":6754
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6758
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6732
 *         return <void_ptr>&self._pvt_ptr[0].writeValue
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6760
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6731
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].writeValue
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6761
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].writeValue.operation not in _dict_CUstreamBatchMemOpType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6763
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].writeValue.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].writeValue.operation]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).writeValue.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 6763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":6764
 *     def operation(self):
 *         if self._pvt_ptr[0].writeValue.operation not in _dict_CUstreamBatchMemOpType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].writeValue.operation]
 *     @operation.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6763
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].writeValue.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].writeValue.operation]
*/
  }

  /* "cuda/bindings/driver.pyx":6765
 *         if self._pvt_ptr[0].writeValue.operation not in _dict_CUstreamBatchMemOpType:
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].writeValue.operation]             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).writeValue.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6761
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].writeValue.operation not in _dict_CUstreamBatchMemOpType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6766
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].writeValue.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].writeValue.operation = operation.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_operation) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "operation"); __PYX_ERR(0, 6767, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamBatchMemOpType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6768
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].writeValue.operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def address(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyLong_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).writeValue.operation = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":6766
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].writeValue.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].writeValue.operation = operation.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6769
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].writeValue.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6771
 *     @property
 *     def address(self):
 *         return self._address             # <<<<<<<<<<<<<<
 *     @address.setter
 *     def address(self, address):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_address);
  __pyx_r = ((PyObject *)__pyx_v_self->_address);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6769
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].writeValue.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6772
 *     def address(self):
 *         return self._address
 *     @address.setter             # <<<<<<<<<<<<<<
 *     def address(self, address):
 *         cdef cydriver.CUdeviceptr cyaddress
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_address); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_address) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_address));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_address) {
  CUdeviceptr __pyx_v_cyaddress;
  PyObject *__pyx_v_paddress = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6775
 *     def address(self, address):
 *         cdef cydriver.CUdeviceptr cyaddress
 *         if address is None:             # <<<<<<<<<<<<<<
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_address == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6776
 *         cdef cydriver.CUdeviceptr cyaddress
 *         if address is None:
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)
*/
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":6775
 *     def address(self, address):
 *         cdef cydriver.CUdeviceptr cyaddress
 *         if address is None:             # <<<<<<<<<<<<<<
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6777
 *         if address is None:
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             paddress = int(address)
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_address, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6778
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)             # <<<<<<<<<<<<<<
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_address); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddress = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6779
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress             # <<<<<<<<<<<<<<
 *         else:
 *             paddress = int(CUdeviceptr(address))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddress); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6779, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6777
 *         if address is None:
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             paddress = int(address)
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6781
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
 *         else:
 *             paddress = int(CUdeviceptr(address))             # <<<<<<<<<<<<<<
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
 *         self._address._pvt_ptr[0] = cyaddress
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_address};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6781, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddress = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":6782
 *         else:
 *             paddress = int(CUdeviceptr(address))
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress             # <<<<<<<<<<<<<<
 *         self._address._pvt_ptr[0] = cyaddress
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddress); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6782, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6783
 *             paddress = int(CUdeviceptr(address))
 *             cyaddress = <cydriver.CUdeviceptr><void_ptr>paddress
 *         self._address._pvt_ptr[0] = cyaddress             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_address->_pvt_ptr[0]) = __pyx_v_cyaddress;

  /* "cuda/bindings/driver.pyx":6772
 *     def address(self):
 *         return self._address
 *     @address.setter             # <<<<<<<<<<<<<<
 *     def address(self, address):
 *         cdef cydriver.CUdeviceptr cyaddress
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.address.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_paddress);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6785
 *         self._address._pvt_ptr[0] = cyaddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6787
 *     @property
 *     def value(self):
 *         return self._value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_value);
  __pyx_r = ((PyObject *)__pyx_v_self->_value);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6785
 *         self._address._pvt_ptr[0] = cyaddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6788
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef cydriver.cuuint32_t cyvalue
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_value) {
  cuuint32_t __pyx_v_cyvalue;
  PyObject *__pyx_v_pvalue = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6791
 *     def value(self, value):
 *         cdef cydriver.cuuint32_t cyvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
*/
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6792
 *         cdef cydriver.cuuint32_t cyvalue
 *         if value is None:
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)
*/
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":6791
 *     def value(self, value):
 *         cdef cydriver.cuuint32_t cyvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6793
 *         if value is None:
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6794
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6795
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue = int(cuuint32_t(value))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6795, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6793
 *         if value is None:
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6797
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *         else:
 *             pvalue = int(cuuint32_t(value))             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *         self._value._pvt_ptr[0] = cyvalue
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6797, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":6798
 *         else:
 *             pvalue = int(cuuint32_t(value))
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         self._value._pvt_ptr[0] = cyvalue
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6798, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6799
 *             pvalue = int(cuuint32_t(value))
 *             cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *         self._value._pvt_ptr[0] = cyvalue             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_value->_pvt_ptr[0]) = __pyx_v_cyvalue;

  /* "cuda/bindings/driver.pyx":6788
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef cydriver.cuuint32_t cyvalue
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6801
 *         self._value._pvt_ptr[0] = cyvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value64(self):
 *         return self._value64
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6803
 *     @property
 *     def value64(self):
 *         return self._value64             # <<<<<<<<<<<<<<
 *     @value64.setter
 *     def value64(self, value64):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_value64);
  __pyx_r = ((PyObject *)__pyx_v_self->_value64);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6801
 *         self._value._pvt_ptr[0] = cyvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value64(self):
 *         return self._value64
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6804
 *     def value64(self):
 *         return self._value64
 *     @value64.setter             # <<<<<<<<<<<<<<
 *     def value64(self, value64):
 *         cdef cydriver.cuuint64_t cyvalue64
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value64); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value64) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value64));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_value64) {
  cuuint64_t __pyx_v_cyvalue64;
  PyObject *__pyx_v_pvalue64 = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6807
 *     def value64(self, value64):
 *         cdef cydriver.cuuint64_t cyvalue64
 *         if value64 is None:             # <<<<<<<<<<<<<<
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
*/
  __pyx_t_1 = (__pyx_v_value64 == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6808
 *         cdef cydriver.cuuint64_t cyvalue64
 *         if value64 is None:
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)
*/
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":6807
 *     def value64(self, value64):
 *         cdef cydriver.cuuint64_t cyvalue64
 *         if value64 is None:             # <<<<<<<<<<<<<<
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6809
 *         if value64 is None:
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue64 = int(value64)
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value64, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6810
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)             # <<<<<<<<<<<<<<
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue64 = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6811
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue64); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6811, __pyx_L1_error)
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6809
 *         if value64 is None:
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue64 = int(value64)
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6813
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))             # <<<<<<<<<<<<<<
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
 *         self._value64._pvt_ptr[0] = cyvalue64
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value64};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6813, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue64 = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":6814
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64             # <<<<<<<<<<<<<<
 *         self._value64._pvt_ptr[0] = cyvalue64
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue64); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6814, __pyx_L1_error)
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6815
 *             pvalue64 = int(cuuint64_t(value64))
 *             cyvalue64 = <cydriver.cuuint64_t><void_ptr>pvalue64
 *         self._value64._pvt_ptr[0] = cyvalue64             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_value64->_pvt_ptr[0]) = __pyx_v_cyvalue64;

  /* "cuda/bindings/driver.pyx":6804
 *     def value64(self):
 *         return self._value64
 *     @value64.setter             # <<<<<<<<<<<<<<
 *     def value64(self, value64):
 *         cdef cydriver.cuuint64_t cyvalue64
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.value64.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue64);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6817
 *         self._value64._pvt_ptr[0] = cyvalue64
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].writeValue.flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6819
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].writeValue.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).writeValue.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6817
 *         self._value64._pvt_ptr[0] = cyvalue64
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].writeValue.flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6820
 *     def flags(self):
 *         return self._pvt_ptr[0].writeValue.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].writeValue.flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6821, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":6822
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].writeValue.flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def alias(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).writeValue.flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":6820
 *     def flags(self):
 *         return self._pvt_ptr[0].writeValue.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].writeValue.flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6823
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].writeValue.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6825
 *     @property
 *     def alias(self):
 *         return self._alias             # <<<<<<<<<<<<<<
 *     @alias.setter
 *     def alias(self, alias):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_alias);
  __pyx_r = ((PyObject *)__pyx_v_self->_alias);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6823
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].writeValue.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6826
 *     def alias(self):
 *         return self._alias
 *     @alias.setter             # <<<<<<<<<<<<<<
 *     def alias(self, alias):
 *         cdef cydriver.CUdeviceptr cyalias
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alias) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_alias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_alias) {
  CUdeviceptr __pyx_v_cyalias;
  PyObject *__pyx_v_palias = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6829
 *     def alias(self, alias):
 *         cdef cydriver.CUdeviceptr cyalias
 *         if alias is None:             # <<<<<<<<<<<<<<
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_alias == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6830
 *         cdef cydriver.CUdeviceptr cyalias
 *         if alias is None:
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)
*/
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":6829
 *     def alias(self, alias):
 *         cdef cydriver.CUdeviceptr cyalias
 *         if alias is None:             # <<<<<<<<<<<<<<
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6831
 *         if alias is None:
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             palias = int(alias)
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_alias, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6832
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)             # <<<<<<<<<<<<<<
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_alias); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_palias = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6833
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias             # <<<<<<<<<<<<<<
 *         else:
 *             palias = int(CUdeviceptr(alias))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_palias); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6833, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6831
 *         if alias is None:
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             palias = int(alias)
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6835
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
 *         else:
 *             palias = int(CUdeviceptr(alias))             # <<<<<<<<<<<<<<
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
 *         self._alias._pvt_ptr[0] = cyalias
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_alias};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6835, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_palias = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":6836
 *         else:
 *             palias = int(CUdeviceptr(alias))
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias             # <<<<<<<<<<<<<<
 *         self._alias._pvt_ptr[0] = cyalias
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_palias); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6836, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6837
 *             palias = int(CUdeviceptr(alias))
 *             cyalias = <cydriver.CUdeviceptr><void_ptr>palias
 *         self._alias._pvt_ptr[0] = cyalias             # <<<<<<<<<<<<<<
 * 
 * 
*/
  (__pyx_v_self->_alias->_pvt_ptr[0]) = __pyx_v_cyalias;

  /* "cuda/bindings/driver.pyx":6826
 *     def alias(self):
 *         return self._alias
 *     @alias.setter             # <<<<<<<<<<<<<<
 *     def alias(self, alias):
 *         cdef cydriver.CUdeviceptr cyalias
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.alias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_palias);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__, "CUstreamMemOpWriteValueParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__, "CUstreamMemOpWriteValueParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpWriteValueParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6854
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6854, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6854, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6854, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 6854, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6854, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6854, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6854, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":6855
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":6854
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6857
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6857, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6857, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6857, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 6857, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6857, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6857, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6857, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6859
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6861
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].flushRemoteWrites
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr, "CUstreamMemOpFlushRemoteWritesParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6862
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].flushRemoteWrites             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).flushRemoteWrites))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6861
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].flushRemoteWrites
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6863
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].flushRemoteWrites
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6864
 *         return <void_ptr>&self._pvt_ptr[0].flushRemoteWrites
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6865
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6866
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6867
 *             str_list = []
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6867, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6867, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6867, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6867, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6867, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6867, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6866
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6868
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6868, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6869
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6869, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_operation_ValueError) != (0)) __PYX_ERR(0, 6869, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6869, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6866
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6870
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6871
 *                 str_list += ['operation : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6871, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6871, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6871, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6871, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6871, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6871, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6870
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6872
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 6872, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6873
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6873, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 6873, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6873, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":6870
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6874
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6864
 *         return <void_ptr>&self._pvt_ptr[0].flushRemoteWrites
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6876
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6863
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].flushRemoteWrites
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6877
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].flushRemoteWrites.operation not in _dict_CUstreamBatchMemOpType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6879
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].flushRemoteWrites.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].flushRemoteWrites.operation]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).flushRemoteWrites.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 6879, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":6880
 *     def operation(self):
 *         if self._pvt_ptr[0].flushRemoteWrites.operation not in _dict_CUstreamBatchMemOpType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].flushRemoteWrites.operation]
 *     @operation.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6879
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].flushRemoteWrites.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].flushRemoteWrites.operation]
*/
  }

  /* "cuda/bindings/driver.pyx":6881
 *         if self._pvt_ptr[0].flushRemoteWrites.operation not in _dict_CUstreamBatchMemOpType:
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].flushRemoteWrites.operation]             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).flushRemoteWrites.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6877
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].flushRemoteWrites.operation not in _dict_CUstreamBatchMemOpType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6882
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].flushRemoteWrites.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].flushRemoteWrites.operation = operation.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_operation) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "operation"); __PYX_ERR(0, 6883, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamBatchMemOpType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6884
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].flushRemoteWrites.operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyLong_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).flushRemoteWrites.operation = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":6882
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].flushRemoteWrites.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].flushRemoteWrites.operation = operation.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6885
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].flushRemoteWrites.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flushRemoteWrites.flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6887
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flushRemoteWrites.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flushRemoteWrites.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6885
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].flushRemoteWrites.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flushRemoteWrites.flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6888
 *     def flags(self):
 *         return self._pvt_ptr[0].flushRemoteWrites.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flushRemoteWrites.flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6889, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":6890
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flushRemoteWrites.flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamMemOpMemoryBarrierParams_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).flushRemoteWrites.flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":6888
 *     def flags(self):
 *         return self._pvt_ptr[0].flushRemoteWrites.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flushRemoteWrites.flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__, "CUstreamMemOpFlushRemoteWritesParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__, "CUstreamMemOpFlushRemoteWritesParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6906
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6906, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6906, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 6906, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6906, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6906, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":6907
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":6906
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6909
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6909, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6909, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6909, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 6909, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6909, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6909, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6909, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6911
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6913
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].memoryBarrier
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_6getPtr, "CUstreamMemOpMemoryBarrierParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6914
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].memoryBarrier             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).memoryBarrier))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6913
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].memoryBarrier
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6915
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].memoryBarrier
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6916
 *         return <void_ptr>&self._pvt_ptr[0].memoryBarrier
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6917
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6918
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6919
 *             str_list = []
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6919, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6919, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6919, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6919, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6919, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6919, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6918
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6920
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6920, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6921
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6921, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_operation_ValueError) != (0)) __PYX_ERR(0, 6921, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6921, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6918
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6922
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6923
 *                 str_list += ['operation : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6923, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6923, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6923, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6923, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6923, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6923, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6922
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6924
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 6924, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6925
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6925, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 6925, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6925, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":6922
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6926
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6916
 *         return <void_ptr>&self._pvt_ptr[0].memoryBarrier
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6928
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6915
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].memoryBarrier
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6929
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].memoryBarrier.operation not in _dict_CUstreamBatchMemOpType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6931
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].memoryBarrier.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].memoryBarrier.operation]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).memoryBarrier.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 6931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":6932
 *     def operation(self):
 *         if self._pvt_ptr[0].memoryBarrier.operation not in _dict_CUstreamBatchMemOpType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].memoryBarrier.operation]
 *     @operation.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6931
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].memoryBarrier.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].memoryBarrier.operation]
*/
  }

  /* "cuda/bindings/driver.pyx":6933
 *         if self._pvt_ptr[0].memoryBarrier.operation not in _dict_CUstreamBatchMemOpType:
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].memoryBarrier.operation]             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).memoryBarrier.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6929
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].memoryBarrier.operation not in _dict_CUstreamBatchMemOpType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6934
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].memoryBarrier.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].memoryBarrier.operation = operation.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_operation) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "operation"); __PYX_ERR(0, 6935, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamBatchMemOpType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6936
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].memoryBarrier.operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyLong_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).memoryBarrier.operation = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":6934
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].memoryBarrier.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].memoryBarrier.operation = operation.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6937
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].memoryBarrier.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].memoryBarrier.flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":6939
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].memoryBarrier.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).memoryBarrier.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6937
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].memoryBarrier.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].memoryBarrier.flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6940
 *     def flags(self):
 *         return self._pvt_ptr[0].memoryBarrier.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].memoryBarrier.flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6941, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":6942
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].memoryBarrier.flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamBatchMemOpParams_union:
*/
  (__pyx_v_self->_pvt_ptr[0]).memoryBarrier.flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":6940
 *     def flags(self):
 *         return self._pvt_ptr[0].memoryBarrier.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].memoryBarrier.flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__, "CUstreamMemOpMemoryBarrierParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__, "CUstreamMemOpMemoryBarrierParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6968
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6968, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6968, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 6968, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6968, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6968, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6968, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":6969
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6970
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":6969
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6972
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6968
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6973
 *         else:
 *             self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 6973, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6973, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 6973, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 6973, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 6973, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 6973, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":6975
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6975, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6975, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6975, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_waitValue);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_waitValue);
  __pyx_v_self->_waitValue = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6976
 *         pass
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6976, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6976, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_writeValue);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_writeValue);
  __pyx_v_self->_writeValue = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6977
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6977, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6977, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_flushRemoteWrites);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_flushRemoteWrites);
  __pyx_v_self->_flushRemoteWrites = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6978
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6978, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6978, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6978, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memoryBarrier);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memoryBarrier);
  __pyx_v_self->_memoryBarrier = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":6973
 *         else:
 *             self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6979
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":6981
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_6getPtr, "CUstreamBatchMemOpParams_union.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":6982
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6981
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":6983
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr116__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr117__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr118__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr119__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":6984
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":6985
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6986
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6987
 *             str_list = []
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6987, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6987, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6987, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6987, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6987, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6987, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6986
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":6988
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 6988, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6989
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['waitValue :\n' + '\n'.join(['    ' + line for line in str(self.waitValue).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6989, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_operation_ValueError) != (0)) __PYX_ERR(0, 6989, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6989, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":6986
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6990
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['waitValue :\n' + '\n'.join(['    ' + line for line in str(self.waitValue).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6991
 *                 str_list += ['operation : <ValueError>']
 *             try:
 *                 str_list += ['waitValue :\n' + '\n'.join(['    ' + line for line in str(self.waitValue).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['waitValue : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6991, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_waitValue_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6991, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6991, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6991, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6991, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6991, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr116__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr116__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6991, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 6991, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr116__pyx_v_line); __pyx_10genexpr116__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr116__pyx_v_line); __pyx_10genexpr116__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6991, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_waitValue, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6991, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6991, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 6991, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6991, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":6990
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['waitValue :\n' + '\n'.join(['    ' + line for line in str(self.waitValue).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6992
 *             try:
 *                 str_list += ['waitValue :\n' + '\n'.join(['    ' + line for line in str(self.waitValue).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['waitValue : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 6992, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":6993
 *                 str_list += ['waitValue :\n' + '\n'.join(['    ' + line for line in str(self.waitValue).splitlines()])]
 *             except ValueError:
 *                 str_list += ['waitValue : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['writeValue :\n' + '\n'.join(['    ' + line for line in str(self.writeValue).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6993, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_waitValue_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_waitValue_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_waitValue_ValueError) != (0)) __PYX_ERR(0, 6993, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6993, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":6990
 *             except ValueError:
 *                 str_list += ['operation : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['waitValue :\n' + '\n'.join(['    ' + line for line in str(self.waitValue).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6994
 *             except ValueError:
 *                 str_list += ['waitValue : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['writeValue :\n' + '\n'.join(['    ' + line for line in str(self.writeValue).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6995
 *                 str_list += ['waitValue : <ValueError>']
 *             try:
 *                 str_list += ['writeValue :\n' + '\n'.join(['    ' + line for line in str(self.writeValue).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['writeValue : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6995, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_writeValue_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6995, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6995, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6995, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6995, __pyx_L35_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6995, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr117__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr117__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6995, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 6995, __pyx_L35_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr117__pyx_v_line); __pyx_10genexpr117__pyx_v_line = 0;
          goto __pyx_L39_exit_scope;
          __pyx_L35_error:;
          __Pyx_XDECREF(__pyx_10genexpr117__pyx_v_line); __pyx_10genexpr117__pyx_v_line = 0;
          goto __pyx_L27_error;
          __pyx_L39_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6995, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_writeValue, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6995, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6995, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 6995, __pyx_L27_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6995, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":6994
 *             except ValueError:
 *                 str_list += ['waitValue : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['writeValue :\n' + '\n'.join(['    ' + line for line in str(self.writeValue).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":6996
 *             try:
 *                 str_list += ['writeValue :\n' + '\n'.join(['    ' + line for line in str(self.writeValue).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['writeValue : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 6996, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6997
 *                 str_list += ['writeValue :\n' + '\n'.join(['    ' + line for line in str(self.writeValue).splitlines()])]
 *             except ValueError:
 *                 str_list += ['writeValue : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flushRemoteWrites :\n' + '\n'.join(['    ' + line for line in str(self.flushRemoteWrites).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6997, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_writeValue_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_writeValue_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_writeValue_ValueError) != (0)) __PYX_ERR(0, 6997, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6997, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":6994
 *             except ValueError:
 *                 str_list += ['waitValue : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['writeValue :\n' + '\n'.join(['    ' + line for line in str(self.writeValue).splitlines()])]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":6998
 *             except ValueError:
 *                 str_list += ['writeValue : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flushRemoteWrites :\n' + '\n'.join(['    ' + line for line in str(self.flushRemoteWrites).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":6999
 *                 str_list += ['writeValue : <ValueError>']
 *             try:
 *                 str_list += ['flushRemoteWrites :\n' + '\n'.join(['    ' + line for line in str(self.flushRemoteWrites).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flushRemoteWrites : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6999, __pyx_L50_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flushRemoteWrites_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6999, __pyx_L50_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6999, __pyx_L50_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6999, __pyx_L50_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 6999, __pyx_L50_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6999, __pyx_L50_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr118__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr118__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6999, __pyx_L50_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 6999, __pyx_L50_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr118__pyx_v_line); __pyx_10genexpr118__pyx_v_line = 0;
          goto __pyx_L54_exit_scope;
          __pyx_L50_error:;
          __Pyx_XDECREF(__pyx_10genexpr118__pyx_v_line); __pyx_10genexpr118__pyx_v_line = 0;
          goto __pyx_L42_error;
          __pyx_L54_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6999, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flushRemoteWrites, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6999, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6999, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 6999, __pyx_L42_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6999, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":6998
 *             except ValueError:
 *                 str_list += ['writeValue : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flushRemoteWrites :\n' + '\n'.join(['    ' + line for line in str(self.flushRemoteWrites).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L47_try_end;
      __pyx_L42_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7000
 *             try:
 *                 str_list += ['flushRemoteWrites :\n' + '\n'.join(['    ' + line for line in str(self.flushRemoteWrites).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flushRemoteWrites : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7000, __pyx_L44_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7001
 *                 str_list += ['flushRemoteWrites :\n' + '\n'.join(['    ' + line for line in str(self.flushRemoteWrites).splitlines()])]
 *             except ValueError:
 *                 str_list += ['flushRemoteWrites : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7001, __pyx_L44_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flushRemoteWrites_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flushRemoteWrites_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flushRemoteWrites_ValueError) != (0)) __PYX_ERR(0, 7001, __pyx_L44_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7001, __pyx_L44_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L43_exception_handled;
      }
      goto __pyx_L44_except_error;

      /* "cuda/bindings/driver.pyx":6998
 *             except ValueError:
 *                 str_list += ['writeValue : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flushRemoteWrites :\n' + '\n'.join(['    ' + line for line in str(self.flushRemoteWrites).splitlines()])]
 *             except ValueError:
*/
      __pyx_L44_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L43_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L47_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7002
 *             except ValueError:
 *                 str_list += ['flushRemoteWrites : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7003
 *                 str_list += ['flushRemoteWrites : <ValueError>']
 *             try:
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7003, __pyx_L65_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memoryBarrier_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7003, __pyx_L65_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7003, __pyx_L65_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7003, __pyx_L65_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 7003, __pyx_L65_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7003, __pyx_L65_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr119__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr119__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7003, __pyx_L65_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 7003, __pyx_L65_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr119__pyx_v_line); __pyx_10genexpr119__pyx_v_line = 0;
          goto __pyx_L69_exit_scope;
          __pyx_L65_error:;
          __Pyx_XDECREF(__pyx_10genexpr119__pyx_v_line); __pyx_10genexpr119__pyx_v_line = 0;
          goto __pyx_L57_error;
          __pyx_L69_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7003, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memoryBarrier, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7003, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7003, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7003, __pyx_L57_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7003, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7002
 *             except ValueError:
 *                 str_list += ['flushRemoteWrites : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L62_try_end;
      __pyx_L57_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7004
 *             try:
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 7004, __pyx_L59_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":7005
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7005, __pyx_L59_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memoryBarrier_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memoryBarrier_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_memoryBarrier_ValueError) != (0)) __PYX_ERR(0, 7005, __pyx_L59_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7005, __pyx_L59_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L58_exception_handled;
      }
      goto __pyx_L59_except_error;

      /* "cuda/bindings/driver.pyx":7002
 *             except ValueError:
 *                 str_list += ['flushRemoteWrites : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
 *             except ValueError:
*/
      __pyx_L59_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L58_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L62_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7006
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7007
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pad_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7007, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7007, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pad, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7007, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7007, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 7007, __pyx_L72_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7007, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":7006
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L77_try_end;
      __pyx_L72_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7008
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 7008, __pyx_L74_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7009
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7009, __pyx_L74_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pad_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pad_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_pad_ValueError) != (0)) __PYX_ERR(0, 7009, __pyx_L74_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7009, __pyx_L74_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L73_exception_handled;
      }
      goto __pyx_L74_except_error;

      /* "cuda/bindings/driver.pyx":7006
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
*/
      __pyx_L74_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L73_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L77_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7010
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6984
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7012
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":6983
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr116__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr117__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr118__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr119__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7013
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].operation not in _dict_CUstreamBatchMemOpType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7015
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].operation]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 7015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":7016
 *     def operation(self):
 *         if self._pvt_ptr[0].operation not in _dict_CUstreamBatchMemOpType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].operation]
 *     @operation.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7015
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].operation]
*/
  }

  /* "cuda/bindings/driver.pyx":7017
 *         if self._pvt_ptr[0].operation not in _dict_CUstreamBatchMemOpType:
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].operation]             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7013
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].operation not in _dict_CUstreamBatchMemOpType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7018
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].operation = operation.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_operation) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "operation"); __PYX_ERR(0, 7019, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamBatchMemOpType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7020
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def waitValue(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyLong_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).operation = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":7018
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].operation = operation.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7021
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def waitValue(self):
 *         return self._waitValue
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7023
 *     @property
 *     def waitValue(self):
 *         return self._waitValue             # <<<<<<<<<<<<<<
 *     @waitValue.setter
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_waitValue);
  __pyx_r = ((PyObject *)__pyx_v_self->_waitValue);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7021
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def waitValue(self):
 *         return self._waitValue
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7024
 *     def waitValue(self):
 *         return self._waitValue
 *     @waitValue.setter             # <<<<<<<<<<<<<<
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].waitValue, <cydriver.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._pvt_ptr[0].waitValue))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_waitValue); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_waitValue) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_waitValue), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, 0, "waitValue", 0))) __PYX_ERR(0, 7025, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)__pyx_v_waitValue));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *__pyx_v_waitValue) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7026
 *     @waitValue.setter
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].waitValue, <cydriver.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._pvt_ptr[0].waitValue))             # <<<<<<<<<<<<<<
 *     @property
 *     def writeValue(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_waitValue);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).waitValue), ((struct CUstreamMemOpWaitValueParams_st *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).waitValue))));

  /* "cuda/bindings/driver.pyx":7024
 *     def waitValue(self):
 *         return self._waitValue
 *     @waitValue.setter             # <<<<<<<<<<<<<<
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].waitValue, <cydriver.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._pvt_ptr[0].waitValue))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.waitValue.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7027
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].waitValue, <cydriver.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._pvt_ptr[0].waitValue))
 *     @property             # <<<<<<<<<<<<<<
 *     def writeValue(self):
 *         return self._writeValue
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7029
 *     @property
 *     def writeValue(self):
 *         return self._writeValue             # <<<<<<<<<<<<<<
 *     @writeValue.setter
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_writeValue);
  __pyx_r = ((PyObject *)__pyx_v_self->_writeValue);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7027
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].waitValue, <cydriver.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._pvt_ptr[0].waitValue))
 *     @property             # <<<<<<<<<<<<<<
 *     def writeValue(self):
 *         return self._writeValue
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7030
 *     def writeValue(self):
 *         return self._writeValue
 *     @writeValue.setter             # <<<<<<<<<<<<<<
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].writeValue, <cydriver.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._pvt_ptr[0].writeValue))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_writeValue); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_writeValue) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_writeValue), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, 0, "writeValue", 0))) __PYX_ERR(0, 7031, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)__pyx_v_writeValue));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *__pyx_v_writeValue) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7032
 *     @writeValue.setter
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].writeValue, <cydriver.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._pvt_ptr[0].writeValue))             # <<<<<<<<<<<<<<
 *     @property
 *     def flushRemoteWrites(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_writeValue);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).writeValue), ((struct CUstreamMemOpWriteValueParams_st *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).writeValue))));

  /* "cuda/bindings/driver.pyx":7030
 *     def writeValue(self):
 *         return self._writeValue
 *     @writeValue.setter             # <<<<<<<<<<<<<<
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].writeValue, <cydriver.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._pvt_ptr[0].writeValue))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.writeValue.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7033
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].writeValue, <cydriver.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._pvt_ptr[0].writeValue))
 *     @property             # <<<<<<<<<<<<<<
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7035
 *     @property
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites             # <<<<<<<<<<<<<<
 *     @flushRemoteWrites.setter
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_flushRemoteWrites);
  __pyx_r = ((PyObject *)__pyx_v_self->_flushRemoteWrites);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7033
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._pvt_ptr[0].writeValue, <cydriver.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._pvt_ptr[0].writeValue))
 *     @property             # <<<<<<<<<<<<<<
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7036
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites
 *     @flushRemoteWrites.setter             # <<<<<<<<<<<<<<
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._pvt_ptr[0].flushRemoteWrites, <cydriver.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._pvt_ptr[0].flushRemoteWrites))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flushRemoteWrites); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flushRemoteWrites) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_flushRemoteWrites), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st, 0, "flushRemoteWrites", 0))) __PYX_ERR(0, 7037, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_flushRemoteWrites));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_flushRemoteWrites) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7038
 *     @flushRemoteWrites.setter
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._pvt_ptr[0].flushRemoteWrites, <cydriver.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._pvt_ptr[0].flushRemoteWrites))             # <<<<<<<<<<<<<<
 *     @property
 *     def memoryBarrier(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_flushRemoteWrites);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).flushRemoteWrites), ((struct CUstreamMemOpFlushRemoteWritesParams_st *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).flushRemoteWrites))));

  /* "cuda/bindings/driver.pyx":7036
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites
 *     @flushRemoteWrites.setter             # <<<<<<<<<<<<<<
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._pvt_ptr[0].flushRemoteWrites, <cydriver.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._pvt_ptr[0].flushRemoteWrites))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.flushRemoteWrites.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7039
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._pvt_ptr[0].flushRemoteWrites, <cydriver.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._pvt_ptr[0].flushRemoteWrites))
 *     @property             # <<<<<<<<<<<<<<
 *     def memoryBarrier(self):
 *         return self._memoryBarrier
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7041
 *     @property
 *     def memoryBarrier(self):
 *         return self._memoryBarrier             # <<<<<<<<<<<<<<
 *     @memoryBarrier.setter
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_memoryBarrier);
  __pyx_r = ((PyObject *)__pyx_v_self->_memoryBarrier);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7039
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._pvt_ptr[0].flushRemoteWrites, <cydriver.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._pvt_ptr[0].flushRemoteWrites))
 *     @property             # <<<<<<<<<<<<<<
 *     def memoryBarrier(self):
 *         return self._memoryBarrier
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7042
 *     def memoryBarrier(self):
 *         return self._memoryBarrier
 *     @memoryBarrier.setter             # <<<<<<<<<<<<<<
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._pvt_ptr[0].memoryBarrier, <cydriver.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._pvt_ptr[0].memoryBarrier))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memoryBarrier); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memoryBarrier) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memoryBarrier), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st, 0, "memoryBarrier", 0))) __PYX_ERR(0, 7043, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_memoryBarrier));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_memoryBarrier) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7044
 *     @memoryBarrier.setter
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._pvt_ptr[0].memoryBarrier, <cydriver.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._pvt_ptr[0].memoryBarrier))             # <<<<<<<<<<<<<<
 *     @property
 *     def pad(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_memoryBarrier);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7044, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).memoryBarrier), ((struct CUstreamMemOpMemoryBarrierParams_st *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).memoryBarrier))));

  /* "cuda/bindings/driver.pyx":7042
 *     def memoryBarrier(self):
 *         return self._memoryBarrier
 *     @memoryBarrier.setter             # <<<<<<<<<<<<<<
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._pvt_ptr[0].memoryBarrier, <cydriver.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._pvt_ptr[0].memoryBarrier))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.memoryBarrier.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7045
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._pvt_ptr[0].memoryBarrier, <cydriver.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._pvt_ptr[0].memoryBarrier))
 *     @property             # <<<<<<<<<<<<<<
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._pvt_ptr[0].pad]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  cuuint64_t __pyx_10genexpr120__pyx_v__pad;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cuuint64_t *__pyx_t_2;
  cuuint64_t *__pyx_t_3;
  cuuint64_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7047
 *     @property
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._pvt_ptr[0].pad]             # <<<<<<<<<<<<<<
 *     @pad.setter
 *     def pad(self, pad):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_pvt_ptr[0]).pad + 6);
    for (__pyx_t_4 = (__pyx_v_self->_pvt_ptr[0]).pad; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_10genexpr120__pyx_v__pad = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
      __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
      __pyx_t_8 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr120__pyx_v__pad); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7047, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7047, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7047, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_7, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7047, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7047, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7045
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._pvt_ptr[0].memoryBarrier, <cydriver.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._pvt_ptr[0].memoryBarrier))
 *     @property             # <<<<<<<<<<<<<<
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._pvt_ptr[0].pad]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.pad.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7048
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._pvt_ptr[0].pad]
 *     @pad.setter             # <<<<<<<<<<<<<<
 *     def pad(self, pad):
 *         self._pvt_ptr[0].pad = pad
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pad); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pad) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((PyObject *)__pyx_v_pad));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, PyObject *__pyx_v_pad) {
  int __pyx_r;
  cuuint64_t __pyx_t_1[6];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":7050
 *     @pad.setter
 *     def pad(self, pad):
 *         self._pvt_ptr[0].pad = pad             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (unlikely((__Pyx_carray_from_py_cuuint64_t(__pyx_v_pad, __pyx_t_1, 6) < 0))) __PYX_ERR(0, 7050, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).pad[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).pad[0]) * (6));

  /* "cuda/bindings/driver.pyx":7048
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._pvt_ptr[0].pad]
 *     @pad.setter             # <<<<<<<<<<<<<<
 *     def pad(self, pad):
 *         self._pvt_ptr[0].pad = pad
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.pad.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10__reduce_cython__, "CUstreamBatchMemOpParams_union.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_12__setstate_cython__, "CUstreamBatchMemOpParams_union.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamBatchMemOpParams_union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7071
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7071, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7071, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7071, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7071, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7071, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7071, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7072
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7073
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":7072
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7075
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7071
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7076
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7076, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7076, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7076, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7076, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7076, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7076, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7078
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).ctx))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7078, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7078, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ctx);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_v_self->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7076
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7079
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._paramArray is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7081
 *     def __dealloc__(self):
 *         pass
 *         if self._paramArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_paramArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7082
 *         pass
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_paramArray);

    /* "cuda/bindings/driver.pyx":7081
 *     def __dealloc__(self):
 *         pass
 *         if self._paramArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":7079
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._paramArray is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7083
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr, "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7084
 *             free(self._paramArray)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7083
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7085
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7086
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7087
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7088
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7089
 *             str_list = []
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ctx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7089, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7089, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7089, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7089, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7089, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7089, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7088
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":7090
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7090, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7091
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['count : ' + str(self.count)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7091, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_ctx_ValueError) != (0)) __PYX_ERR(0, 7091, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7091, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7088
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7092
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7093
 *                 str_list += ['ctx : <ValueError>']
 *             try:
 *                 str_list += ['count : ' + str(self.count)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_count_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7093, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7093, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_count, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7093, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7093, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7093, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7093, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7092
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7094
 *             try:
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7094, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7095
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7095, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_count_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_count_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_count_ValueError) != (0)) __PYX_ERR(0, 7095, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7095, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":7092
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7096
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7097
 *                 str_list += ['count : <ValueError>']
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_paramArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7097, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7097, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_paramArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7097, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7097, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7097, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7097, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7096
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7098
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7098, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7099
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7099, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_paramArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_paramArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_paramArray_ValueError) != (0)) __PYX_ERR(0, 7099, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7099, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":7096
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7100
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7101
 *                 str_list += ['paramArray : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7101, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7101, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7101, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7101, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7101, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7101, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7100
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7102
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7102, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7103
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7103, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 7103, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7103, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":7100
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7104
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7086
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7106
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7085
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7107
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7109
 *     @property
 *     def ctx(self):
 *         return self._ctx             # <<<<<<<<<<<<<<
 *     @ctx.setter
 *     def ctx(self, ctx):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_r = ((PyObject *)__pyx_v_self->_ctx);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7107
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7110
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), ((PyObject *)__pyx_v_ctx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7113
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7114
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
*/
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":7113
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7115
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7116
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7117
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7117, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7115
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7119
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7119, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":7120
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._pvt_ptr[0] = cyctx
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7120, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7121
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx             # <<<<<<<<<<<<<<
 *     @property
 *     def count(self):
*/
  (__pyx_v_self->_ctx->_pvt_ptr[0]) = __pyx_v_cyctx;

  /* "cuda/bindings/driver.pyx":7110
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.ctx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7122
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
 *     @property             # <<<<<<<<<<<<<<
 *     def count(self):
 *         return self._pvt_ptr[0].count
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7124
 *     @property
 *     def count(self):
 *         return self._pvt_ptr[0].count             # <<<<<<<<<<<<<<
 *     @count.setter
 *     def count(self, unsigned int count):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7122
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
 *     @property             # <<<<<<<<<<<<<<
 *     def count(self):
 *         return self._pvt_ptr[0].count
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.count.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7125
 *     def count(self):
 *         return self._pvt_ptr[0].count
 *     @count.setter             # <<<<<<<<<<<<<<
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_count); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_count) {
  unsigned int __pyx_v_count;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_count); {
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(__pyx_arg_count); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7126, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.count.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), ((unsigned int)__pyx_v_count));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, unsigned int __pyx_v_count) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7127
 *     @count.setter
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count             # <<<<<<<<<<<<<<
 *     @property
 *     def paramArray(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).count = __pyx_v_count;

  /* "cuda/bindings/driver.pyx":7125
 *     def count(self):
 *         return self._pvt_ptr[0].count
 *     @count.setter             # <<<<<<<<<<<<<<
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7128
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count
 *     @property             # <<<<<<<<<<<<<<
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr121__pyx_v_x;
  PyObject *__pyx_10genexpr122__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7130
 *     @property
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUstreamBatchMemOpParams(_ptr=arr) for arr in arrs]
 *     @paramArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_paramArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr121__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).paramArray) + (__pyx_10genexpr121__pyx_v_x * (sizeof(CUstreamBatchMemOpParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7130, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7130, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7131
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
 *         return [CUstreamBatchMemOpParams(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @paramArray.setter
 *     def paramArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7131, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 7131, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7131, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr122__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7131, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr122__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7131, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7131, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 7131, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr122__pyx_v_arr); __pyx_10genexpr122__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr122__pyx_v_arr); __pyx_10genexpr122__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7128
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count
 *     @property             # <<<<<<<<<<<<<<
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.paramArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr122__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7132
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
 *         return [CUstreamBatchMemOpParams(_ptr=arr) for arr in arrs]
 *     @paramArray.setter             # <<<<<<<<<<<<<<
 *     def paramArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUstreamBatchMemOpParams *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7134
 *     @paramArray.setter
 *     def paramArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *             self._paramArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7134, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":7135
 *     def paramArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramArray)             # <<<<<<<<<<<<<<
 *             self._paramArray_length = 0
 *             self._pvt_ptr[0].paramArray = NULL
*/
    free(__pyx_v_self->_paramArray);

    /* "cuda/bindings/driver.pyx":7136
 *         if len(val) == 0:
 *             free(self._paramArray)
 *             self._paramArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].paramArray = NULL
 *         else:
*/
    __pyx_v_self->_paramArray_length = 0;

    /* "cuda/bindings/driver.pyx":7137
 *             free(self._paramArray)
 *             self._paramArray_length = 0
 *             self._pvt_ptr[0].paramArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).paramArray = NULL;

    /* "cuda/bindings/driver.pyx":7134
 *     @paramArray.setter
 *     def paramArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *             self._paramArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7139
 *             self._pvt_ptr[0].paramArray = NULL
 *         else:
 *             if self._paramArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7139, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":7140
 *         else:
 *             if self._paramArray_length != <size_t>len(val):
 *                 free(self._paramArray)             # <<<<<<<<<<<<<<
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:
*/
      free(__pyx_v_self->_paramArray);

      /* "cuda/bindings/driver.pyx":7141
 *             if self._paramArray_length != <size_t>len(val):
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7141, __pyx_L1_error)
      __pyx_v_self->_paramArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_1, (sizeof(CUstreamBatchMemOpParams))));

      /* "cuda/bindings/driver.pyx":7142
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_paramArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":7143
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))             # <<<<<<<<<<<<<<
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramArray = self._paramArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7143, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7143, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 7143, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":7142
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":7144
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7144, __pyx_L1_error)
      __pyx_v_self->_paramArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":7145
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramArray = self._paramArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
*/
      __pyx_t_10 = __pyx_v_self->_paramArray;
      (__pyx_v_self->_pvt_ptr[0]).paramArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":7139
 *             self._pvt_ptr[0].paramArray = NULL
 *         else:
 *             if self._paramArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
*/
    }

    /* "cuda/bindings/driver.pyx":7146
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7146, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":7147
 *                 self._pvt_ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7147, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_paramArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUstreamBatchMemOpParams))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7132
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
 *         return [CUstreamBatchMemOpParams(_ptr=arr) for arr in arrs]
 *     @paramArray.setter             # <<<<<<<<<<<<<<
 *     def paramArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.paramArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7149
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7151
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7149
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7152
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7153, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7154
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":7152
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__, "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__, "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7176
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7176, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7176, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7176, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7176, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7176, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7176, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7177
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7178
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":7177
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7180
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7176
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7181
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7181, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7181, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7181, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7181, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7181, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7181, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7183
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).ctx))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7183, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7183, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ctx);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_v_self->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7181
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7184
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._paramArray is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7186
 *     def __dealloc__(self):
 *         pass
 *         if self._paramArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_paramArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7187
 *         pass
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_paramArray);

    /* "cuda/bindings/driver.pyx":7186
 *     def __dealloc__(self):
 *         pass
 *         if self._paramArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":7184
 *         pass
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._paramArray is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7188
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr, "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7189
 *             free(self._paramArray)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7188
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7190
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7191
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7192
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7193
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7194
 *             str_list = []
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ctx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7194, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7194, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7194, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7194, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7194, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7194, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7193
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":7195
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7195, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7196
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['count : ' + str(self.count)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7196, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_ctx_ValueError) != (0)) __PYX_ERR(0, 7196, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7196, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7193
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7197
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7198
 *                 str_list += ['ctx : <ValueError>']
 *             try:
 *                 str_list += ['count : ' + str(self.count)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_count_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7198, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7198, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_count, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7198, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7198, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7198, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7198, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7197
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7199
 *             try:
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7199, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7200
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7200, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_count_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_count_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_count_ValueError) != (0)) __PYX_ERR(0, 7200, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7200, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":7197
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7201
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7202
 *                 str_list += ['count : <ValueError>']
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_paramArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7202, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7202, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_paramArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7202, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7202, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7202, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7202, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7201
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7203
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7203, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7204
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7204, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_paramArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_paramArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_paramArray_ValueError) != (0)) __PYX_ERR(0, 7204, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7204, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":7201
 *             except ValueError:
 *                 str_list += ['count : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7205
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7206
 *                 str_list += ['paramArray : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7206, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7206, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7206, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7206, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7206, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7206, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7205
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7207
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7207, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7208
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7208, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 7208, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7208, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":7205
 *             except ValueError:
 *                 str_list += ['paramArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7209
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7191
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7211
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7190
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7212
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7214
 *     @property
 *     def ctx(self):
 *         return self._ctx             # <<<<<<<<<<<<<<
 *     @ctx.setter
 *     def ctx(self, ctx):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_r = ((PyObject *)__pyx_v_self->_ctx);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7212
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7215
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_ctx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7218
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7219
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
*/
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":7218
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7220
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7221
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7222
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7222, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7220
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7224
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7224, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":7225
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._pvt_ptr[0] = cyctx
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7225, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7226
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx             # <<<<<<<<<<<<<<
 *     @property
 *     def count(self):
*/
  (__pyx_v_self->_ctx->_pvt_ptr[0]) = __pyx_v_cyctx;

  /* "cuda/bindings/driver.pyx":7215
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.ctx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7227
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
 *     @property             # <<<<<<<<<<<<<<
 *     def count(self):
 *         return self._pvt_ptr[0].count
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7229
 *     @property
 *     def count(self):
 *         return self._pvt_ptr[0].count             # <<<<<<<<<<<<<<
 *     @count.setter
 *     def count(self, unsigned int count):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7227
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
 *     @property             # <<<<<<<<<<<<<<
 *     def count(self):
 *         return self._pvt_ptr[0].count
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.count.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7230
 *     def count(self):
 *         return self._pvt_ptr[0].count
 *     @count.setter             # <<<<<<<<<<<<<<
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_count); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_count) {
  unsigned int __pyx_v_count;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_count); {
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(__pyx_arg_count); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7231, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.count.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_count));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_count) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7232
 *     @count.setter
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count             # <<<<<<<<<<<<<<
 *     @property
 *     def paramArray(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).count = __pyx_v_count;

  /* "cuda/bindings/driver.pyx":7230
 *     def count(self):
 *         return self._pvt_ptr[0].count
 *     @count.setter             # <<<<<<<<<<<<<<
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7233
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count
 *     @property             # <<<<<<<<<<<<<<
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr123__pyx_v_x;
  PyObject *__pyx_10genexpr124__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7235
 *     @property
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUstreamBatchMemOpParams(_ptr=arr) for arr in arrs]
 *     @paramArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_paramArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr123__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).paramArray) + (__pyx_10genexpr123__pyx_v_x * (sizeof(CUstreamBatchMemOpParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7235, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7236
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
 *         return [CUstreamBatchMemOpParams(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @paramArray.setter
 *     def paramArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7236, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 7236, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7236, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr124__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7236, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr124__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7236, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7236, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 7236, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr124__pyx_v_arr); __pyx_10genexpr124__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr124__pyx_v_arr); __pyx_10genexpr124__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7233
 *     def count(self, unsigned int count):
 *         self._pvt_ptr[0].count = count
 *     @property             # <<<<<<<<<<<<<<
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.paramArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr124__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7237
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
 *         return [CUstreamBatchMemOpParams(_ptr=arr) for arr in arrs]
 *     @paramArray.setter             # <<<<<<<<<<<<<<
 *     def paramArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUstreamBatchMemOpParams *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7239
 *     @paramArray.setter
 *     def paramArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *             self._paramArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7239, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":7240
 *     def paramArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramArray)             # <<<<<<<<<<<<<<
 *             self._paramArray_length = 0
 *             self._pvt_ptr[0].paramArray = NULL
*/
    free(__pyx_v_self->_paramArray);

    /* "cuda/bindings/driver.pyx":7241
 *         if len(val) == 0:
 *             free(self._paramArray)
 *             self._paramArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].paramArray = NULL
 *         else:
*/
    __pyx_v_self->_paramArray_length = 0;

    /* "cuda/bindings/driver.pyx":7242
 *             free(self._paramArray)
 *             self._paramArray_length = 0
 *             self._pvt_ptr[0].paramArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).paramArray = NULL;

    /* "cuda/bindings/driver.pyx":7239
 *     @paramArray.setter
 *     def paramArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *             self._paramArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7244
 *             self._pvt_ptr[0].paramArray = NULL
 *         else:
 *             if self._paramArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7244, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":7245
 *         else:
 *             if self._paramArray_length != <size_t>len(val):
 *                 free(self._paramArray)             # <<<<<<<<<<<<<<
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:
*/
      free(__pyx_v_self->_paramArray);

      /* "cuda/bindings/driver.pyx":7246
 *             if self._paramArray_length != <size_t>len(val):
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7246, __pyx_L1_error)
      __pyx_v_self->_paramArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_1, (sizeof(CUstreamBatchMemOpParams))));

      /* "cuda/bindings/driver.pyx":7247
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_paramArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":7248
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))             # <<<<<<<<<<<<<<
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramArray = self._paramArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7248, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7248, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 7248, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":7247
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":7249
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7249, __pyx_L1_error)
      __pyx_v_self->_paramArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":7250
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramArray = self._paramArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
*/
      __pyx_t_10 = __pyx_v_self->_paramArray;
      (__pyx_v_self->_pvt_ptr[0]).paramArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":7244
 *             self._pvt_ptr[0].paramArray = NULL
 *         else:
 *             if self._paramArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramArray)
 *                 self._paramArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(cydriver.CUstreamBatchMemOpParams))
*/
    }

    /* "cuda/bindings/driver.pyx":7251
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7251, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":7252
 *                 self._pvt_ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_paramArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUstreamBatchMemOpParams))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7237
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramArray + x*sizeof(cydriver.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
 *         return [CUstreamBatchMemOpParams(_ptr=arr) for arr in arrs]
 *     @paramArray.setter             # <<<<<<<<<<<<<<
 *     def paramArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.paramArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7254
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7256
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7254
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7257
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7258, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7259
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct0:
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":7257
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__, "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7273
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7273, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7273, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7273, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 7273, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7273, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7273, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7273, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct0___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct0___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7274
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUasyncNotificationInfo_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":7273
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7276
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7276, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7276, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7276, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 7276, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7276, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7276, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7276, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7278
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7280
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].info.overBudget
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct0_6getPtr, "anon_struct0.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct0_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct0_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7281
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].info.overBudget             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).info.overBudget))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7280
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].info.overBudget
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7282
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].info.overBudget
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7283
 *         return <void_ptr>&self._pvt_ptr[0].info.overBudget
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7284
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7285
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7286
 *             str_list = []
 *             try:
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['bytesOverBudget : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_bytesOverBudget_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7286, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7286, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_bytesOverBudget, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7286, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7286, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7286, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7286, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7285
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":7287
 *             try:
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesOverBudget : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7287, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7288
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]
 *             except ValueError:
 *                 str_list += ['bytesOverBudget : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7288, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_bytesOverBudget_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_bytesOverBudget_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_bytesOverBudget_ValueError) != (0)) __PYX_ERR(0, 7288, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7288, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7285
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7289
 *             except ValueError:
 *                 str_list += ['bytesOverBudget : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7283
 *         return <void_ptr>&self._pvt_ptr[0].info.overBudget
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7291
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def bytesOverBudget(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7282
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].info.overBudget
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7292
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesOverBudget(self):
 *         return self._pvt_ptr[0].info.overBudget.bytesOverBudget
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7294
 *     @property
 *     def bytesOverBudget(self):
 *         return self._pvt_ptr[0].info.overBudget.bytesOverBudget             # <<<<<<<<<<<<<<
 *     @bytesOverBudget.setter
 *     def bytesOverBudget(self, unsigned long long bytesOverBudget):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).info.overBudget.bytesOverBudget); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7292
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesOverBudget(self):
 *         return self._pvt_ptr[0].info.overBudget.bytesOverBudget
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.bytesOverBudget.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7295
 *     def bytesOverBudget(self):
 *         return self._pvt_ptr[0].info.overBudget.bytesOverBudget
 *     @bytesOverBudget.setter             # <<<<<<<<<<<<<<
 *     def bytesOverBudget(self, unsigned long long bytesOverBudget):
 *         self._pvt_ptr[0].info.overBudget.bytesOverBudget = bytesOverBudget
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesOverBudget); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesOverBudget) {
  unsigned PY_LONG_LONG __pyx_v_bytesOverBudget;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_bytesOverBudget); {
    __pyx_v_bytesOverBudget = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_bytesOverBudget); if (unlikely((__pyx_v_bytesOverBudget == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7296, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.bytesOverBudget.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_bytesOverBudget));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_bytesOverBudget) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7297
 *     @bytesOverBudget.setter
 *     def bytesOverBudget(self, unsigned long long bytesOverBudget):
 *         self._pvt_ptr[0].info.overBudget.bytesOverBudget = bytesOverBudget             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union2:
*/
  (__pyx_v_self->_pvt_ptr[0]).info.overBudget.bytesOverBudget = __pyx_v_bytesOverBudget;

  /* "cuda/bindings/driver.pyx":7295
 *     def bytesOverBudget(self):
 *         return self._pvt_ptr[0].info.overBudget.bytesOverBudget
 *     @bytesOverBudget.setter             # <<<<<<<<<<<<<<
 *     def bytesOverBudget(self, unsigned long long bytesOverBudget):
 *         self._pvt_ptr[0].info.overBudget.bytesOverBudget = bytesOverBudget
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct0_10__reduce_cython__, "anon_struct0.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct0_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct0_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct0_12__setstate_cython__, "anon_struct0.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct0_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct0_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct0_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct0_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct0.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7311
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7311, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7311, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7311, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 7311, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7311, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7311, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7311, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union2___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union2___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7312
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUasyncNotificationInfo_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":7311
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7314
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._overBudget = anon_struct0(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7314, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7314, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7314, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 7314, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7314, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7314, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7314, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union2_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union2_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7316
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._overBudget = anon_struct0(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7316, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7316, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_overBudget);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_overBudget);
  __pyx_v_self->_overBudget = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7314
 *         self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._overBudget = anon_struct0(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7317
 *         pass
 *         self._overBudget = anon_struct0(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union2_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union2_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11anon_union2_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11anon_union2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7319
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].info
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union2_6getPtr, "anon_union2.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union2_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union2_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union2_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union2_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7320
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].info             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).info))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7319
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].info
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7321
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].info
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union2_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr125__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7322
 *         return <void_ptr>&self._pvt_ptr[0].info
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7323
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['overBudget :\n' + '\n'.join(['    ' + line for line in str(self.overBudget).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7324
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['overBudget :\n' + '\n'.join(['    ' + line for line in str(self.overBudget).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7325
 *             str_list = []
 *             try:
 *                 str_list += ['overBudget :\n' + '\n'.join(['    ' + line for line in str(self.overBudget).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['overBudget : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7325, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_overBudget_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7325, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7325, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7325, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 7325, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7325, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr125__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr125__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7325, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 7325, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr125__pyx_v_line); __pyx_10genexpr125__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr125__pyx_v_line); __pyx_10genexpr125__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7325, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_overBudget, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7325, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7325, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7325, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7325, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7324
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['overBudget :\n' + '\n'.join(['    ' + line for line in str(self.overBudget).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":7326
 *             try:
 *                 str_list += ['overBudget :\n' + '\n'.join(['    ' + line for line in str(self.overBudget).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['overBudget : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 7326, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":7327
 *                 str_list += ['overBudget :\n' + '\n'.join(['    ' + line for line in str(self.overBudget).splitlines()])]
 *             except ValueError:
 *                 str_list += ['overBudget : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7327, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_overBudget_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_overBudget_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_overBudget_ValueError) != (0)) __PYX_ERR(0, 7327, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 7327, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7324
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['overBudget :\n' + '\n'.join(['    ' + line for line in str(self.overBudget).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7328
 *             except ValueError:
 *                 str_list += ['overBudget : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7322
 *         return <void_ptr>&self._pvt_ptr[0].info
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7330
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def overBudget(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7321
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].info
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr125__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7331
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def overBudget(self):
 *         return self._overBudget
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_10overBudget_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_10overBudget_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union2_10overBudget___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_10overBudget___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7333
 *     @property
 *     def overBudget(self):
 *         return self._overBudget             # <<<<<<<<<<<<<<
 *     @overBudget.setter
 *     def overBudget(self, overBudget not None : anon_struct0):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_overBudget);
  __pyx_r = ((PyObject *)__pyx_v_self->_overBudget);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7331
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def overBudget(self):
 *         return self._overBudget
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7334
 *     def overBudget(self):
 *         return self._overBudget
 *     @overBudget.setter             # <<<<<<<<<<<<<<
 *     def overBudget(self, overBudget not None : anon_struct0):
 *         string.memcpy(&self._pvt_ptr[0].info.overBudget, <cydriver.anon_struct0*><void_ptr>overBudget.getPtr(), sizeof(self._pvt_ptr[0].info.overBudget))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union2_10overBudget_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_overBudget); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union2_10overBudget_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_overBudget) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overBudget), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0, 0, "overBudget", 0))) __PYX_ERR(0, 7335, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union2_10overBudget_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)__pyx_v_overBudget));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union2_10overBudget_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *__pyx_v_overBudget) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7336
 *     @overBudget.setter
 *     def overBudget(self, overBudget not None : anon_struct0):
 *         string.memcpy(&self._pvt_ptr[0].info.overBudget, <cydriver.anon_struct0*><void_ptr>overBudget.getPtr(), sizeof(self._pvt_ptr[0].info.overBudget))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUasyncNotificationInfo_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_overBudget);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).info.overBudget), ((struct anon_struct0 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).info.overBudget))));

  /* "cuda/bindings/driver.pyx":7334
 *     def overBudget(self):
 *         return self._overBudget
 *     @overBudget.setter             # <<<<<<<<<<<<<<
 *     def overBudget(self, overBudget not None : anon_struct0):
 *         string.memcpy(&self._pvt_ptr[0].info.overBudget, <cydriver.anon_struct0*><void_ptr>overBudget.getPtr(), sizeof(self._pvt_ptr[0].info.overBudget))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.overBudget.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union2_10__reduce_cython__, "anon_union2.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union2_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union2_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union2_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union2_12__setstate_cython__, "anon_union2.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union2_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union2_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union2_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union2_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7355
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUasyncNotificationInfo_st *>calloc(1, sizeof(cydriver.CUasyncNotificationInfo_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7355, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7355, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7355, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7355, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7355, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7355, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUasyncNotificationInfo_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":7356
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUasyncNotificationInfo_st *>calloc(1, sizeof(cydriver.CUasyncNotificationInfo_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7357
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUasyncNotificationInfo_st *>calloc(1, sizeof(cydriver.CUasyncNotificationInfo_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUasyncNotificationInfo_st *)calloc(1, (sizeof(struct CUasyncNotificationInfo_st))));

    /* "cuda/bindings/driver.pyx":7358
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUasyncNotificationInfo_st *>calloc(1, sizeof(cydriver.CUasyncNotificationInfo_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":7356
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUasyncNotificationInfo_st *>calloc(1, sizeof(cydriver.CUasyncNotificationInfo_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7360
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUasyncNotificationInfo_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7355
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUasyncNotificationInfo_st *>calloc(1, sizeof(cydriver.CUasyncNotificationInfo_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7361
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._info = anon_union2(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7361, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7361, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7361, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7361, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7361, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7361, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7363
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._info = anon_union2(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union2);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union2); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7363, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7363, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_info);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_info);
  __pyx_v_self->_info = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7361
 *         else:
 *             self._pvt_ptr = <cydriver.CUasyncNotificationInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._info = anon_union2(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7364
 *         pass
 *         self._info = anon_union2(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7365
 *         self._info = anon_union2(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7366
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":7365
 *         self._info = anon_union2(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":7364
 *         pass
 *         self._info = anon_union2(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7367
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_6getPtr, "CUasyncNotificationInfo_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7368
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7367
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7369
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr126__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7370
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7371
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7372
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7373
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7373, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7373, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7373, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7373, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7373, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7373, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7372
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":7374
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7374, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7375
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['info :\n' + '\n'.join(['    ' + line for line in str(self.info).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7375, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 7375, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7375, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7372
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7376
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['info :\n' + '\n'.join(['    ' + line for line in str(self.info).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7377
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['info :\n' + '\n'.join(['    ' + line for line in str(self.info).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['info : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7377, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_info_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7377, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7377, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7377, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 7377, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7377, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr126__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr126__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7377, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 7377, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr126__pyx_v_line); __pyx_10genexpr126__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr126__pyx_v_line); __pyx_10genexpr126__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7377, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_info, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7377, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7377, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7377, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7377, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7376
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['info :\n' + '\n'.join(['    ' + line for line in str(self.info).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7378
 *             try:
 *                 str_list += ['info :\n' + '\n'.join(['    ' + line for line in str(self.info).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['info : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 7378, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":7379
 *                 str_list += ['info :\n' + '\n'.join(['    ' + line for line in str(self.info).splitlines()])]
 *             except ValueError:
 *                 str_list += ['info : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7379, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_info_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_info_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_info_ValueError) != (0)) __PYX_ERR(0, 7379, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7379, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":7376
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['info :\n' + '\n'.join(['    ' + line for line in str(self.info).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7380
 *             except ValueError:
 *                 str_list += ['info : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7370
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7382
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7369
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr126__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7383
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUasyncNotificationType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7385
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUasyncNotificationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUasyncNotificationType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUasyncNotificationType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUasyncNotificationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 7385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":7386
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUasyncNotificationType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUasyncNotificationType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7385
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUasyncNotificationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUasyncNotificationType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":7387
 *         if self._pvt_ptr[0].type not in _dict_CUasyncNotificationType:
 *             return None
 *         return _dict_CUasyncNotificationType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUasyncNotificationType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUasyncNotificationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUasyncNotificationType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7383
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUasyncNotificationType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7388
 *             return None
 *         return _dict_CUasyncNotificationType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 7389, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUasyncNotificationType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7390
 *     @type.setter
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def info(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUasyncNotificationType_enum)__Pyx_PyLong_As_enum__CUasyncNotificationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":7388
 *             return None
 *         return _dict_CUasyncNotificationType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7391
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def info(self):
 *         return self._info
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7393
 *     @property
 *     def info(self):
 *         return self._info             # <<<<<<<<<<<<<<
 *     @info.setter
 *     def info(self, info not None : anon_union2):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_info);
  __pyx_r = ((PyObject *)__pyx_v_self->_info);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7391
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def info(self):
 *         return self._info
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7394
 *     def info(self):
 *         return self._info
 *     @info.setter             # <<<<<<<<<<<<<<
 *     def info(self, info not None : anon_union2):
 *         string.memcpy(&self._pvt_ptr[0].info, <cydriver.anon_union2*><void_ptr>info.getPtr(), sizeof(self._pvt_ptr[0].info))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union2, 0, "info", 0))) __PYX_ERR(0, 7395, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)__pyx_v_info));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *__pyx_v_info) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7396
 *     @info.setter
 *     def info(self, info not None : anon_union2):
 *         string.memcpy(&self._pvt_ptr[0].info, <cydriver.anon_union2*><void_ptr>info.getPtr(), sizeof(self._pvt_ptr[0].info))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevprop_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_info);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).info), ((union anon_union2 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).info))));

  /* "cuda/bindings/driver.pyx":7394
 *     def info(self):
 *         return self._info
 *     @info.setter             # <<<<<<<<<<<<<<
 *     def info(self, info not None : anon_union2):
 *         string.memcpy(&self._pvt_ptr[0].info, <cydriver.anon_union2*><void_ptr>info.getPtr(), sizeof(self._pvt_ptr[0].info))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_10__reduce_cython__, "CUasyncNotificationInfo_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_12__setstate_cython__, "CUasyncNotificationInfo_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUasyncNotificationInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7430
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7430, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7430, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7430, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7430, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7430, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7430, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7431
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7432
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevprop_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":7431
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7434
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevprop_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUdevprop_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7430
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7435
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevprop_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7435, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7435, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7435, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7435, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7435, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7435, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7437
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7439
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_6getPtr, "CUdevprop_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUdevprop_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7440
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7439
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7441
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7442
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7443
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7443, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7444
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7445
 *             str_list = []
 *             try:
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_maxThreadsPerBlock_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7445, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7445, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_maxThreadsPerBlock, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7445, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7445, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7445, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7445, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7444
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":7446
 *             try:
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7446, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7447
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             except ValueError:
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7447, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_maxThreadsPerBlock_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_maxThreadsPerBlock_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_maxThreadsPerBlock_ValueError) != (0)) __PYX_ERR(0, 7447, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7447, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7444
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7448
 *             except ValueError:
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7449
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']
 *             try:
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['maxThreadsDim : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_maxThreadsDim_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7449, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7449, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_maxThreadsDim, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7449, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7449, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7449, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7449, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7448
 *             except ValueError:
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7450
 *             try:
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsDim : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7450, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7451
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             except ValueError:
 *                 str_list += ['maxThreadsDim : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7451, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_maxThreadsDim_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_maxThreadsDim_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_maxThreadsDim_ValueError) != (0)) __PYX_ERR(0, 7451, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7451, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":7448
 *             except ValueError:
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7452
 *             except ValueError:
 *                 str_list += ['maxThreadsDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7453
 *                 str_list += ['maxThreadsDim : <ValueError>']
 *             try:
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['maxGridSize : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_maxGridSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7453, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7453, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_maxGridSize, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7453, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7453, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7453, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7453, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7452
 *             except ValueError:
 *                 str_list += ['maxThreadsDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7454
 *             try:
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxGridSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7454, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7455
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             except ValueError:
 *                 str_list += ['maxGridSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7455, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_maxGridSize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_maxGridSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_maxGridSize_ValueError) != (0)) __PYX_ERR(0, 7455, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7455, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":7452
 *             except ValueError:
 *                 str_list += ['maxThreadsDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7456
 *             except ValueError:
 *                 str_list += ['maxGridSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7457
 *                 str_list += ['maxGridSize : <ValueError>']
 *             try:
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedMemPerBlock : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedMemPerBlock_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7457, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7457, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sharedMemPerBlock, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7457, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7457, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7457, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7457, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7456
 *             except ValueError:
 *                 str_list += ['maxGridSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7458
 *             try:
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemPerBlock : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7458, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7459
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             except ValueError:
 *                 str_list += ['sharedMemPerBlock : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7459, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedMemPerBlock_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedMemPerBlock_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_sharedMemPerBlock_ValueError) != (0)) __PYX_ERR(0, 7459, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7459, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":7456
 *             except ValueError:
 *                 str_list += ['maxGridSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7460
 *             except ValueError:
 *                 str_list += ['sharedMemPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7461
 *                 str_list += ['sharedMemPerBlock : <ValueError>']
 *             try:
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['totalConstantMemory : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_totalConstantMemory_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7461, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7461, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_totalConstantMemory, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7461, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7461, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7461, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7461, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7460
 *             except ValueError:
 *                 str_list += ['sharedMemPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7462
 *             try:
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['totalConstantMemory : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7462, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7463
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]
 *             except ValueError:
 *                 str_list += ['totalConstantMemory : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7463, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_totalConstantMemory_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_totalConstantMemory_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_totalConstantMemory_ValueError) != (0)) __PYX_ERR(0, 7463, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7463, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":7460
 *             except ValueError:
 *                 str_list += ['sharedMemPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7464
 *             except ValueError:
 *                 str_list += ['totalConstantMemory : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7465
 *                 str_list += ['totalConstantMemory : <ValueError>']
 *             try:
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['SIMDWidth : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_SIMDWidth_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7465, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7465, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_SIMDWidth, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7465, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7465, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7465, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7465, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7464
 *             except ValueError:
 *                 str_list += ['totalConstantMemory : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7466
 *             try:
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['SIMDWidth : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7466, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7467
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]
 *             except ValueError:
 *                 str_list += ['SIMDWidth : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memPitch : ' + str(self.memPitch)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7467, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_SIMDWidth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_SIMDWidth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_SIMDWidth_ValueError) != (0)) __PYX_ERR(0, 7467, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7467, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":7464
 *             except ValueError:
 *                 str_list += ['totalConstantMemory : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7468
 *             except ValueError:
 *                 str_list += ['SIMDWidth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memPitch : ' + str(self.memPitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7469
 *                 str_list += ['SIMDWidth : <ValueError>']
 *             try:
 *                 str_list += ['memPitch : ' + str(self.memPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memPitch : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memPitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7469, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7469, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memPitch, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7469, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7469, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7469, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7469, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7468
 *             except ValueError:
 *                 str_list += ['SIMDWidth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memPitch : ' + str(self.memPitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7470
 *             try:
 *                 str_list += ['memPitch : ' + str(self.memPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7470, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7471
 *                 str_list += ['memPitch : ' + str(self.memPitch)]
 *             except ValueError:
 *                 str_list += ['memPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7471, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memPitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_memPitch_ValueError) != (0)) __PYX_ERR(0, 7471, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7471, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":7468
 *             except ValueError:
 *                 str_list += ['SIMDWidth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memPitch : ' + str(self.memPitch)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7472
 *             except ValueError:
 *                 str_list += ['memPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7473
 *                 str_list += ['memPitch : <ValueError>']
 *             try:
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['regsPerBlock : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_regsPerBlock_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7473, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7473, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_regsPerBlock, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7473, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7473, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7473, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7473, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7472
 *             except ValueError:
 *                 str_list += ['memPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7474
 *             try:
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['regsPerBlock : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7474, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7475
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             except ValueError:
 *                 str_list += ['regsPerBlock : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['clockRate : ' + str(self.clockRate)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7475, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_regsPerBlock_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_regsPerBlock_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_regsPerBlock_ValueError) != (0)) __PYX_ERR(0, 7475, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7475, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":7472
 *             except ValueError:
 *                 str_list += ['memPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7476
 *             except ValueError:
 *                 str_list += ['regsPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clockRate : ' + str(self.clockRate)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7477
 *                 str_list += ['regsPerBlock : <ValueError>']
 *             try:
 *                 str_list += ['clockRate : ' + str(self.clockRate)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['clockRate : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_clockRate_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7477, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7477, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_clockRate, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7477, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7477, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7477, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7477, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7476
 *             except ValueError:
 *                 str_list += ['regsPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clockRate : ' + str(self.clockRate)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7478
 *             try:
 *                 str_list += ['clockRate : ' + str(self.clockRate)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['clockRate : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7478, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7479
 *                 str_list += ['clockRate : ' + str(self.clockRate)]
 *             except ValueError:
 *                 str_list += ['clockRate : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7479, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_clockRate_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_clockRate_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_clockRate_ValueError) != (0)) __PYX_ERR(0, 7479, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7479, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":7476
 *             except ValueError:
 *                 str_list += ['regsPerBlock : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clockRate : ' + str(self.clockRate)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7480
 *             except ValueError:
 *                 str_list += ['clockRate : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7481
 *                 str_list += ['clockRate : <ValueError>']
 *             try:
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['textureAlign : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_textureAlign_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7481, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7481, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_textureAlign, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7481, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7481, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7481, __pyx_L76_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7481, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7480
 *             except ValueError:
 *                 str_list += ['clockRate : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7482
 *             try:
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['textureAlign : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7482, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7483
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]
 *             except ValueError:
 *                 str_list += ['textureAlign : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7483, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_textureAlign_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_textureAlign_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_textureAlign_ValueError) != (0)) __PYX_ERR(0, 7483, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7483, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":7480
 *             except ValueError:
 *                 str_list += ['clockRate : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7484
 *             except ValueError:
 *                 str_list += ['textureAlign : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7442
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7486
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsPerBlock(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7441
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7487
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def maxThreadsPerBlock(self):
 *         return self._pvt_ptr[0].maxThreadsPerBlock
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7489
 *     @property
 *     def maxThreadsPerBlock(self):
 *         return self._pvt_ptr[0].maxThreadsPerBlock             # <<<<<<<<<<<<<<
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).maxThreadsPerBlock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7487
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def maxThreadsPerBlock(self):
 *         return self._pvt_ptr[0].maxThreadsPerBlock
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.maxThreadsPerBlock.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7490
 *     def maxThreadsPerBlock(self):
 *         return self._pvt_ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter             # <<<<<<<<<<<<<<
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._pvt_ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerBlock); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerBlock) {
  int __pyx_v_maxThreadsPerBlock;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_maxThreadsPerBlock); {
    __pyx_v_maxThreadsPerBlock = __Pyx_PyLong_As_int(__pyx_arg_maxThreadsPerBlock); if (unlikely((__pyx_v_maxThreadsPerBlock == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7491, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.maxThreadsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_maxThreadsPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_maxThreadsPerBlock) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7492
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._pvt_ptr[0].maxThreadsPerBlock = maxThreadsPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsDim(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).maxThreadsPerBlock = __pyx_v_maxThreadsPerBlock;

  /* "cuda/bindings/driver.pyx":7490
 *     def maxThreadsPerBlock(self):
 *         return self._pvt_ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter             # <<<<<<<<<<<<<<
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._pvt_ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7493
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._pvt_ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def maxThreadsDim(self):
 *         return self._pvt_ptr[0].maxThreadsDim
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7495
 *     @property
 *     def maxThreadsDim(self):
 *         return self._pvt_ptr[0].maxThreadsDim             # <<<<<<<<<<<<<<
 *     @maxThreadsDim.setter
 *     def maxThreadsDim(self, maxThreadsDim):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_pvt_ptr[0]).maxThreadsDim, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7493
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._pvt_ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def maxThreadsDim(self):
 *         return self._pvt_ptr[0].maxThreadsDim
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.maxThreadsDim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7496
 *     def maxThreadsDim(self):
 *         return self._pvt_ptr[0].maxThreadsDim
 *     @maxThreadsDim.setter             # <<<<<<<<<<<<<<
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._pvt_ptr[0].maxThreadsDim = maxThreadsDim
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((PyObject *)__pyx_v_maxThreadsDim));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim) {
  int __pyx_r;
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":7498
 *     @maxThreadsDim.setter
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._pvt_ptr[0].maxThreadsDim = maxThreadsDim             # <<<<<<<<<<<<<<
 *     @property
 *     def maxGridSize(self):
*/
  if (unlikely((__Pyx_carray_from_py_int(__pyx_v_maxThreadsDim, __pyx_t_1, 3) < 0))) __PYX_ERR(0, 7498, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).maxThreadsDim[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).maxThreadsDim[0]) * (3));

  /* "cuda/bindings/driver.pyx":7496
 *     def maxThreadsDim(self):
 *         return self._pvt_ptr[0].maxThreadsDim
 *     @maxThreadsDim.setter             # <<<<<<<<<<<<<<
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._pvt_ptr[0].maxThreadsDim = maxThreadsDim
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.maxThreadsDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7499
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._pvt_ptr[0].maxThreadsDim = maxThreadsDim
 *     @property             # <<<<<<<<<<<<<<
 *     def maxGridSize(self):
 *         return self._pvt_ptr[0].maxGridSize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7501
 *     @property
 *     def maxGridSize(self):
 *         return self._pvt_ptr[0].maxGridSize             # <<<<<<<<<<<<<<
 *     @maxGridSize.setter
 *     def maxGridSize(self, maxGridSize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_pvt_ptr[0]).maxGridSize, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7499
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._pvt_ptr[0].maxThreadsDim = maxThreadsDim
 *     @property             # <<<<<<<<<<<<<<
 *     def maxGridSize(self):
 *         return self._pvt_ptr[0].maxGridSize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.maxGridSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7502
 *     def maxGridSize(self):
 *         return self._pvt_ptr[0].maxGridSize
 *     @maxGridSize.setter             # <<<<<<<<<<<<<<
 *     def maxGridSize(self, maxGridSize):
 *         self._pvt_ptr[0].maxGridSize = maxGridSize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxGridSize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxGridSize) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((PyObject *)__pyx_v_maxGridSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, PyObject *__pyx_v_maxGridSize) {
  int __pyx_r;
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":7504
 *     @maxGridSize.setter
 *     def maxGridSize(self, maxGridSize):
 *         self._pvt_ptr[0].maxGridSize = maxGridSize             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemPerBlock(self):
*/
  if (unlikely((__Pyx_carray_from_py_int(__pyx_v_maxGridSize, __pyx_t_1, 3) < 0))) __PYX_ERR(0, 7504, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).maxGridSize[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).maxGridSize[0]) * (3));

  /* "cuda/bindings/driver.pyx":7502
 *     def maxGridSize(self):
 *         return self._pvt_ptr[0].maxGridSize
 *     @maxGridSize.setter             # <<<<<<<<<<<<<<
 *     def maxGridSize(self, maxGridSize):
 *         self._pvt_ptr[0].maxGridSize = maxGridSize
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.maxGridSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7505
 *     def maxGridSize(self, maxGridSize):
 *         self._pvt_ptr[0].maxGridSize = maxGridSize
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemPerBlock(self):
 *         return self._pvt_ptr[0].sharedMemPerBlock
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7507
 *     @property
 *     def sharedMemPerBlock(self):
 *         return self._pvt_ptr[0].sharedMemPerBlock             # <<<<<<<<<<<<<<
 *     @sharedMemPerBlock.setter
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).sharedMemPerBlock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7505
 *     def maxGridSize(self, maxGridSize):
 *         self._pvt_ptr[0].maxGridSize = maxGridSize
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemPerBlock(self):
 *         return self._pvt_ptr[0].sharedMemPerBlock
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.sharedMemPerBlock.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7508
 *     def sharedMemPerBlock(self):
 *         return self._pvt_ptr[0].sharedMemPerBlock
 *     @sharedMemPerBlock.setter             # <<<<<<<<<<<<<<
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._pvt_ptr[0].sharedMemPerBlock = sharedMemPerBlock
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerBlock); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerBlock) {
  int __pyx_v_sharedMemPerBlock;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_sharedMemPerBlock); {
    __pyx_v_sharedMemPerBlock = __Pyx_PyLong_As_int(__pyx_arg_sharedMemPerBlock); if (unlikely((__pyx_v_sharedMemPerBlock == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7509, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.sharedMemPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_sharedMemPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_sharedMemPerBlock) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7510
 *     @sharedMemPerBlock.setter
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._pvt_ptr[0].sharedMemPerBlock = sharedMemPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def totalConstantMemory(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).sharedMemPerBlock = __pyx_v_sharedMemPerBlock;

  /* "cuda/bindings/driver.pyx":7508
 *     def sharedMemPerBlock(self):
 *         return self._pvt_ptr[0].sharedMemPerBlock
 *     @sharedMemPerBlock.setter             # <<<<<<<<<<<<<<
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._pvt_ptr[0].sharedMemPerBlock = sharedMemPerBlock
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7511
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._pvt_ptr[0].sharedMemPerBlock = sharedMemPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def totalConstantMemory(self):
 *         return self._pvt_ptr[0].totalConstantMemory
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7513
 *     @property
 *     def totalConstantMemory(self):
 *         return self._pvt_ptr[0].totalConstantMemory             # <<<<<<<<<<<<<<
 *     @totalConstantMemory.setter
 *     def totalConstantMemory(self, int totalConstantMemory):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).totalConstantMemory); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7511
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._pvt_ptr[0].sharedMemPerBlock = sharedMemPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def totalConstantMemory(self):
 *         return self._pvt_ptr[0].totalConstantMemory
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.totalConstantMemory.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7514
 *     def totalConstantMemory(self):
 *         return self._pvt_ptr[0].totalConstantMemory
 *     @totalConstantMemory.setter             # <<<<<<<<<<<<<<
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._pvt_ptr[0].totalConstantMemory = totalConstantMemory
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_totalConstantMemory); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_totalConstantMemory) {
  int __pyx_v_totalConstantMemory;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_totalConstantMemory); {
    __pyx_v_totalConstantMemory = __Pyx_PyLong_As_int(__pyx_arg_totalConstantMemory); if (unlikely((__pyx_v_totalConstantMemory == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7515, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.totalConstantMemory.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_totalConstantMemory));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_totalConstantMemory) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7516
 *     @totalConstantMemory.setter
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._pvt_ptr[0].totalConstantMemory = totalConstantMemory             # <<<<<<<<<<<<<<
 *     @property
 *     def SIMDWidth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).totalConstantMemory = __pyx_v_totalConstantMemory;

  /* "cuda/bindings/driver.pyx":7514
 *     def totalConstantMemory(self):
 *         return self._pvt_ptr[0].totalConstantMemory
 *     @totalConstantMemory.setter             # <<<<<<<<<<<<<<
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._pvt_ptr[0].totalConstantMemory = totalConstantMemory
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7517
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._pvt_ptr[0].totalConstantMemory = totalConstantMemory
 *     @property             # <<<<<<<<<<<<<<
 *     def SIMDWidth(self):
 *         return self._pvt_ptr[0].SIMDWidth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7519
 *     @property
 *     def SIMDWidth(self):
 *         return self._pvt_ptr[0].SIMDWidth             # <<<<<<<<<<<<<<
 *     @SIMDWidth.setter
 *     def SIMDWidth(self, int SIMDWidth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).SIMDWidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7517
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._pvt_ptr[0].totalConstantMemory = totalConstantMemory
 *     @property             # <<<<<<<<<<<<<<
 *     def SIMDWidth(self):
 *         return self._pvt_ptr[0].SIMDWidth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.SIMDWidth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7520
 *     def SIMDWidth(self):
 *         return self._pvt_ptr[0].SIMDWidth
 *     @SIMDWidth.setter             # <<<<<<<<<<<<<<
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._pvt_ptr[0].SIMDWidth = SIMDWidth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_SIMDWidth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_SIMDWidth) {
  int __pyx_v_SIMDWidth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_SIMDWidth); {
    __pyx_v_SIMDWidth = __Pyx_PyLong_As_int(__pyx_arg_SIMDWidth); if (unlikely((__pyx_v_SIMDWidth == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7521, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.SIMDWidth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_SIMDWidth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_SIMDWidth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7522
 *     @SIMDWidth.setter
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._pvt_ptr[0].SIMDWidth = SIMDWidth             # <<<<<<<<<<<<<<
 *     @property
 *     def memPitch(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).SIMDWidth = __pyx_v_SIMDWidth;

  /* "cuda/bindings/driver.pyx":7520
 *     def SIMDWidth(self):
 *         return self._pvt_ptr[0].SIMDWidth
 *     @SIMDWidth.setter             # <<<<<<<<<<<<<<
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._pvt_ptr[0].SIMDWidth = SIMDWidth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7523
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._pvt_ptr[0].SIMDWidth = SIMDWidth
 *     @property             # <<<<<<<<<<<<<<
 *     def memPitch(self):
 *         return self._pvt_ptr[0].memPitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7525
 *     @property
 *     def memPitch(self):
 *         return self._pvt_ptr[0].memPitch             # <<<<<<<<<<<<<<
 *     @memPitch.setter
 *     def memPitch(self, int memPitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).memPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7523
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._pvt_ptr[0].SIMDWidth = SIMDWidth
 *     @property             # <<<<<<<<<<<<<<
 *     def memPitch(self):
 *         return self._pvt_ptr[0].memPitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.memPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7526
 *     def memPitch(self):
 *         return self._pvt_ptr[0].memPitch
 *     @memPitch.setter             # <<<<<<<<<<<<<<
 *     def memPitch(self, int memPitch):
 *         self._pvt_ptr[0].memPitch = memPitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memPitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memPitch) {
  int __pyx_v_memPitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_memPitch); {
    __pyx_v_memPitch = __Pyx_PyLong_As_int(__pyx_arg_memPitch); if (unlikely((__pyx_v_memPitch == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7527, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.memPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_memPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_memPitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7528
 *     @memPitch.setter
 *     def memPitch(self, int memPitch):
 *         self._pvt_ptr[0].memPitch = memPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def regsPerBlock(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).memPitch = __pyx_v_memPitch;

  /* "cuda/bindings/driver.pyx":7526
 *     def memPitch(self):
 *         return self._pvt_ptr[0].memPitch
 *     @memPitch.setter             # <<<<<<<<<<<<<<
 *     def memPitch(self, int memPitch):
 *         self._pvt_ptr[0].memPitch = memPitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7529
 *     def memPitch(self, int memPitch):
 *         self._pvt_ptr[0].memPitch = memPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def regsPerBlock(self):
 *         return self._pvt_ptr[0].regsPerBlock
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7531
 *     @property
 *     def regsPerBlock(self):
 *         return self._pvt_ptr[0].regsPerBlock             # <<<<<<<<<<<<<<
 *     @regsPerBlock.setter
 *     def regsPerBlock(self, int regsPerBlock):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).regsPerBlock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7529
 *     def memPitch(self, int memPitch):
 *         self._pvt_ptr[0].memPitch = memPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def regsPerBlock(self):
 *         return self._pvt_ptr[0].regsPerBlock
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.regsPerBlock.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7532
 *     def regsPerBlock(self):
 *         return self._pvt_ptr[0].regsPerBlock
 *     @regsPerBlock.setter             # <<<<<<<<<<<<<<
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._pvt_ptr[0].regsPerBlock = regsPerBlock
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_regsPerBlock); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_regsPerBlock) {
  int __pyx_v_regsPerBlock;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_regsPerBlock); {
    __pyx_v_regsPerBlock = __Pyx_PyLong_As_int(__pyx_arg_regsPerBlock); if (unlikely((__pyx_v_regsPerBlock == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7533, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.regsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_regsPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_regsPerBlock) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7534
 *     @regsPerBlock.setter
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._pvt_ptr[0].regsPerBlock = regsPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def clockRate(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).regsPerBlock = __pyx_v_regsPerBlock;

  /* "cuda/bindings/driver.pyx":7532
 *     def regsPerBlock(self):
 *         return self._pvt_ptr[0].regsPerBlock
 *     @regsPerBlock.setter             # <<<<<<<<<<<<<<
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._pvt_ptr[0].regsPerBlock = regsPerBlock
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7535
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._pvt_ptr[0].regsPerBlock = regsPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def clockRate(self):
 *         return self._pvt_ptr[0].clockRate
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7537
 *     @property
 *     def clockRate(self):
 *         return self._pvt_ptr[0].clockRate             # <<<<<<<<<<<<<<
 *     @clockRate.setter
 *     def clockRate(self, int clockRate):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).clockRate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7535
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._pvt_ptr[0].regsPerBlock = regsPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def clockRate(self):
 *         return self._pvt_ptr[0].clockRate
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.clockRate.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7538
 *     def clockRate(self):
 *         return self._pvt_ptr[0].clockRate
 *     @clockRate.setter             # <<<<<<<<<<<<<<
 *     def clockRate(self, int clockRate):
 *         self._pvt_ptr[0].clockRate = clockRate
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_clockRate); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_clockRate) {
  int __pyx_v_clockRate;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_clockRate); {
    __pyx_v_clockRate = __Pyx_PyLong_As_int(__pyx_arg_clockRate); if (unlikely((__pyx_v_clockRate == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7539, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.clockRate.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_clockRate));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_clockRate) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7540
 *     @clockRate.setter
 *     def clockRate(self, int clockRate):
 *         self._pvt_ptr[0].clockRate = clockRate             # <<<<<<<<<<<<<<
 *     @property
 *     def textureAlign(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).clockRate = __pyx_v_clockRate;

  /* "cuda/bindings/driver.pyx":7538
 *     def clockRate(self):
 *         return self._pvt_ptr[0].clockRate
 *     @clockRate.setter             # <<<<<<<<<<<<<<
 *     def clockRate(self, int clockRate):
 *         self._pvt_ptr[0].clockRate = clockRate
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7541
 *     def clockRate(self, int clockRate):
 *         self._pvt_ptr[0].clockRate = clockRate
 *     @property             # <<<<<<<<<<<<<<
 *     def textureAlign(self):
 *         return self._pvt_ptr[0].textureAlign
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7543
 *     @property
 *     def textureAlign(self):
 *         return self._pvt_ptr[0].textureAlign             # <<<<<<<<<<<<<<
 *     @textureAlign.setter
 *     def textureAlign(self, int textureAlign):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).textureAlign); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7541
 *     def clockRate(self, int clockRate):
 *         self._pvt_ptr[0].clockRate = clockRate
 *     @property             # <<<<<<<<<<<<<<
 *     def textureAlign(self):
 *         return self._pvt_ptr[0].textureAlign
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.textureAlign.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7544
 *     def textureAlign(self):
 *         return self._pvt_ptr[0].textureAlign
 *     @textureAlign.setter             # <<<<<<<<<<<<<<
 *     def textureAlign(self, int textureAlign):
 *         self._pvt_ptr[0].textureAlign = textureAlign
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_textureAlign); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_textureAlign) {
  int __pyx_v_textureAlign;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_textureAlign); {
    __pyx_v_textureAlign = __Pyx_PyLong_As_int(__pyx_arg_textureAlign); if (unlikely((__pyx_v_textureAlign == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7545, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.textureAlign.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_textureAlign));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, int __pyx_v_textureAlign) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7546
 *     @textureAlign.setter
 *     def textureAlign(self, int textureAlign):
 *         self._pvt_ptr[0].textureAlign = textureAlign             # <<<<<<<<<<<<<<
 * 
 * cdef class CUaccessPolicyWindow_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).textureAlign = __pyx_v_textureAlign;

  /* "cuda/bindings/driver.pyx":7544
 *     def textureAlign(self):
 *         return self._pvt_ptr[0].textureAlign
 *     @textureAlign.setter             # <<<<<<<<<<<<<<
 *     def textureAlign(self, int textureAlign):
 *         self._pvt_ptr[0].textureAlign = textureAlign
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_10__reduce_cython__, "CUdevprop_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUdevprop_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_12__setstate_cython__, "CUdevprop_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12CUdevprop_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12CUdevprop_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevprop_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7582
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7582, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7582, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7582, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7582, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7582, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7582, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7583
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7584
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUaccessPolicyWindow_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":7583
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7586
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUaccessPolicyWindow_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUaccessPolicyWindow_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7582
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7587
 *         else:
 *             self._pvt_ptr = <cydriver.CUaccessPolicyWindow_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7587, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7587, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7587, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7587, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7587, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7587, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7589
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7591
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_6getPtr, "CUaccessPolicyWindow_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7592
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7591
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7593
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7594
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7595
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7596
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7597
 *             str_list = []
 *             try:
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['base_ptr : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_7 = __pyx_builtin_hex; 
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_base_ptr_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7597, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7597, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_base_ptr, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7597, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7597, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 7597, __pyx_L4_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7597, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":7596
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":7598
 *             try:
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['base_ptr : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 7598, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7599
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             except ValueError:
 *                 str_list += ['base_ptr : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7599, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_base_ptr_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_base_ptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_base_ptr_ValueError) != (0)) __PYX_ERR(0, 7599, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 7599, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7596
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7600
 *             except ValueError:
 *                 str_list += ['base_ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7601
 *                 str_list += ['base_ptr : <ValueError>']
 *             try:
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['num_bytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_num_bytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7601, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7601, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_num_bytes, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7601, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7601, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7601, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7601, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7600
 *             except ValueError:
 *                 str_list += ['base_ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":7602
 *             try:
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['num_bytes : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 7602, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":7603
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             except ValueError:
 *                 str_list += ['num_bytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 7603, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_num_bytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_num_bytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_num_bytes_ValueError) != (0)) __PYX_ERR(0, 7603, __pyx_L14_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7603, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":7600
 *             except ValueError:
 *                 str_list += ['base_ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7604
 *             except ValueError:
 *                 str_list += ['num_bytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7605
 *                 str_list += ['num_bytes : <ValueError>']
 *             try:
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hitRatio : <ValueError>']
*/
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hitRatio_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7605, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7605, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_hitRatio, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7605, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7605, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 7605, __pyx_L20_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7605, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":7604
 *             except ValueError:
 *                 str_list += ['num_bytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":7606
 *             try:
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitRatio : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 7606, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7607
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             except ValueError:
 *                 str_list += ['hitRatio : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7607, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_hitRatio_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_hitRatio_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_hitRatio_ValueError) != (0)) __PYX_ERR(0, 7607, __pyx_L22_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 7607, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":7604
 *             except ValueError:
 *                 str_list += ['num_bytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7608
 *             except ValueError:
 *                 str_list += ['hitRatio : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7609
 *                 str_list += ['hitRatio : <ValueError>']
 *             try:
 *                 str_list += ['hitProp : ' + str(self.hitProp)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hitProp : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hitProp_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7609, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7609, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_hitProp, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7609, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7609, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7609, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7609, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7608
 *             except ValueError:
 *                 str_list += ['hitRatio : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":7610
 *             try:
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitProp : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 7610, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":7611
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
 *             except ValueError:
 *                 str_list += ['hitProp : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['missProp : ' + str(self.missProp)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 7611, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_hitProp_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_hitProp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_hitProp_ValueError) != (0)) __PYX_ERR(0, 7611, __pyx_L30_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7611, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":7608
 *             except ValueError:
 *                 str_list += ['hitRatio : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7612
 *             except ValueError:
 *                 str_list += ['hitProp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['missProp : ' + str(self.missProp)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7613
 *                 str_list += ['hitProp : <ValueError>']
 *             try:
 *                 str_list += ['missProp : ' + str(self.missProp)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['missProp : <ValueError>']
*/
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_missProp_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7613, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7613, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_missProp, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7613, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7613, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 7613, __pyx_L36_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7613, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":7612
 *             except ValueError:
 *                 str_list += ['hitProp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['missProp : ' + str(self.missProp)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":7614
 *             try:
 *                 str_list += ['missProp : ' + str(self.missProp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['missProp : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 7614, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7615
 *                 str_list += ['missProp : ' + str(self.missProp)]
 *             except ValueError:
 *                 str_list += ['missProp : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7615, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_missProp_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_missProp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_missProp_ValueError) != (0)) __PYX_ERR(0, 7615, __pyx_L38_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 7615, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":7612
 *             except ValueError:
 *                 str_list += ['hitProp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['missProp : ' + str(self.missProp)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7616
 *             except ValueError:
 *                 str_list += ['missProp : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7594
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7618
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def base_ptr(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7593
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7619
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def base_ptr(self):
 *         return <void_ptr>self._pvt_ptr[0].base_ptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7621
 *     @property
 *     def base_ptr(self):
 *         return <void_ptr>self._pvt_ptr[0].base_ptr             # <<<<<<<<<<<<<<
 *     @base_ptr.setter
 *     def base_ptr(self, base_ptr):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).base_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7619
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def base_ptr(self):
 *         return <void_ptr>self._pvt_ptr[0].base_ptr
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.base_ptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7622
 *     def base_ptr(self):
 *         return <void_ptr>self._pvt_ptr[0].base_ptr
 *     @base_ptr.setter             # <<<<<<<<<<<<<<
 *     def base_ptr(self, base_ptr):
 *         _cbase_ptr = _HelperInputVoidPtr(base_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_base_ptr); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_base_ptr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self), ((PyObject *)__pyx_v_base_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_base_ptr) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cbase_ptr = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7624
 *     @base_ptr.setter
 *     def base_ptr(self, base_ptr):
 *         _cbase_ptr = _HelperInputVoidPtr(base_ptr)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_base_ptr};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7624, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cbase_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7625
 *     def base_ptr(self, base_ptr):
 *         _cbase_ptr = _HelperInputVoidPtr(base_ptr)
 *         self._pvt_ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def num_bytes(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cbase_ptr), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).base_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":7622
 *     def base_ptr(self):
 *         return <void_ptr>self._pvt_ptr[0].base_ptr
 *     @base_ptr.setter             # <<<<<<<<<<<<<<
 *     def base_ptr(self, base_ptr):
 *         _cbase_ptr = _HelperInputVoidPtr(base_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.base_ptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cbase_ptr);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7626
 *         _cbase_ptr = _HelperInputVoidPtr(base_ptr)
 *         self._pvt_ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def num_bytes(self):
 *         return self._pvt_ptr[0].num_bytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7628
 *     @property
 *     def num_bytes(self):
 *         return self._pvt_ptr[0].num_bytes             # <<<<<<<<<<<<<<
 *     @num_bytes.setter
 *     def num_bytes(self, size_t num_bytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).num_bytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7626
 *         _cbase_ptr = _HelperInputVoidPtr(base_ptr)
 *         self._pvt_ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def num_bytes(self):
 *         return self._pvt_ptr[0].num_bytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.num_bytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7629
 *     def num_bytes(self):
 *         return self._pvt_ptr[0].num_bytes
 *     @num_bytes.setter             # <<<<<<<<<<<<<<
 *     def num_bytes(self, size_t num_bytes):
 *         self._pvt_ptr[0].num_bytes = num_bytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_num_bytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_num_bytes) {
  size_t __pyx_v_num_bytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_num_bytes); {
    __pyx_v_num_bytes = __Pyx_PyLong_As_size_t(__pyx_arg_num_bytes); if (unlikely((__pyx_v_num_bytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 7630, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.num_bytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self), ((size_t)__pyx_v_num_bytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, size_t __pyx_v_num_bytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7631
 *     @num_bytes.setter
 *     def num_bytes(self, size_t num_bytes):
 *         self._pvt_ptr[0].num_bytes = num_bytes             # <<<<<<<<<<<<<<
 *     @property
 *     def hitRatio(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).num_bytes = __pyx_v_num_bytes;

  /* "cuda/bindings/driver.pyx":7629
 *     def num_bytes(self):
 *         return self._pvt_ptr[0].num_bytes
 *     @num_bytes.setter             # <<<<<<<<<<<<<<
 *     def num_bytes(self, size_t num_bytes):
 *         self._pvt_ptr[0].num_bytes = num_bytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7632
 *     def num_bytes(self, size_t num_bytes):
 *         self._pvt_ptr[0].num_bytes = num_bytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hitRatio(self):
 *         return self._pvt_ptr[0].hitRatio
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7634
 *     @property
 *     def hitRatio(self):
 *         return self._pvt_ptr[0].hitRatio             # <<<<<<<<<<<<<<
 *     @hitRatio.setter
 *     def hitRatio(self, float hitRatio):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->_pvt_ptr[0]).hitRatio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7632
 *     def num_bytes(self, size_t num_bytes):
 *         self._pvt_ptr[0].num_bytes = num_bytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hitRatio(self):
 *         return self._pvt_ptr[0].hitRatio
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.hitRatio.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7635
 *     def hitRatio(self):
 *         return self._pvt_ptr[0].hitRatio
 *     @hitRatio.setter             # <<<<<<<<<<<<<<
 *     def hitRatio(self, float hitRatio):
 *         self._pvt_ptr[0].hitRatio = hitRatio
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_hitRatio); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_hitRatio) {
  float __pyx_v_hitRatio;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_hitRatio); {
    __pyx_v_hitRatio = __Pyx_PyFloat_AsFloat(__pyx_arg_hitRatio); if (unlikely((__pyx_v_hitRatio == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 7636, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.hitRatio.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self), ((float)__pyx_v_hitRatio));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, float __pyx_v_hitRatio) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7637
 *     @hitRatio.setter
 *     def hitRatio(self, float hitRatio):
 *         self._pvt_ptr[0].hitRatio = hitRatio             # <<<<<<<<<<<<<<
 *     @property
 *     def hitProp(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).hitRatio = __pyx_v_hitRatio;

  /* "cuda/bindings/driver.pyx":7635
 *     def hitRatio(self):
 *         return self._pvt_ptr[0].hitRatio
 *     @hitRatio.setter             # <<<<<<<<<<<<<<
 *     def hitRatio(self, float hitRatio):
 *         self._pvt_ptr[0].hitRatio = hitRatio
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7638
 *     def hitRatio(self, float hitRatio):
 *         self._pvt_ptr[0].hitRatio = hitRatio
 *     @property             # <<<<<<<<<<<<<<
 *     def hitProp(self):
 *         if self._pvt_ptr[0].hitProp not in _dict_CUaccessProperty:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7640
 *     @property
 *     def hitProp(self):
 *         if self._pvt_ptr[0].hitProp not in _dict_CUaccessProperty:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].hitProp]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUaccessProperty_enum((__pyx_v_self->_pvt_ptr[0]).hitProp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUaccessProperty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 7640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":7641
 *     def hitProp(self):
 *         if self._pvt_ptr[0].hitProp not in _dict_CUaccessProperty:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].hitProp]
 *     @hitProp.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7640
 *     @property
 *     def hitProp(self):
 *         if self._pvt_ptr[0].hitProp not in _dict_CUaccessProperty:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].hitProp]
*/
  }

  /* "cuda/bindings/driver.pyx":7642
 *         if self._pvt_ptr[0].hitProp not in _dict_CUaccessProperty:
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].hitProp]             # <<<<<<<<<<<<<<
 *     @hitProp.setter
 *     def hitProp(self, hitProp not None : CUaccessProperty):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUaccessProperty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUaccessProperty_enum((__pyx_v_self->_pvt_ptr[0]).hitProp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7638
 *     def hitRatio(self, float hitRatio):
 *         self._pvt_ptr[0].hitRatio = hitRatio
 *     @property             # <<<<<<<<<<<<<<
 *     def hitProp(self):
 *         if self._pvt_ptr[0].hitProp not in _dict_CUaccessProperty:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.hitProp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7643
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].hitProp]
 *     @hitProp.setter             # <<<<<<<<<<<<<<
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._pvt_ptr[0].hitProp = hitProp.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hitProp); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hitProp) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_hitProp) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "hitProp"); __PYX_ERR(0, 7644, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self), ((PyObject *)__pyx_v_hitProp));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_hitProp) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUaccessProperty __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7645
 *     @hitProp.setter
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._pvt_ptr[0].hitProp = hitProp.value             # <<<<<<<<<<<<<<
 *     @property
 *     def missProp(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_hitProp, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUaccessProperty_enum)__Pyx_PyLong_As_enum__CUaccessProperty_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).hitProp = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":7643
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].hitProp]
 *     @hitProp.setter             # <<<<<<<<<<<<<<
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._pvt_ptr[0].hitProp = hitProp.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.hitProp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7646
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._pvt_ptr[0].hitProp = hitProp.value
 *     @property             # <<<<<<<<<<<<<<
 *     def missProp(self):
 *         if self._pvt_ptr[0].missProp not in _dict_CUaccessProperty:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7648
 *     @property
 *     def missProp(self):
 *         if self._pvt_ptr[0].missProp not in _dict_CUaccessProperty:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].missProp]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUaccessProperty_enum((__pyx_v_self->_pvt_ptr[0]).missProp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUaccessProperty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 7648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":7649
 *     def missProp(self):
 *         if self._pvt_ptr[0].missProp not in _dict_CUaccessProperty:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].missProp]
 *     @missProp.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7648
 *     @property
 *     def missProp(self):
 *         if self._pvt_ptr[0].missProp not in _dict_CUaccessProperty:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].missProp]
*/
  }

  /* "cuda/bindings/driver.pyx":7650
 *         if self._pvt_ptr[0].missProp not in _dict_CUaccessProperty:
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].missProp]             # <<<<<<<<<<<<<<
 *     @missProp.setter
 *     def missProp(self, missProp not None : CUaccessProperty):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUaccessProperty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUaccessProperty_enum((__pyx_v_self->_pvt_ptr[0]).missProp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7646
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._pvt_ptr[0].hitProp = hitProp.value
 *     @property             # <<<<<<<<<<<<<<
 *     def missProp(self):
 *         if self._pvt_ptr[0].missProp not in _dict_CUaccessProperty:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.missProp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7651
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].missProp]
 *     @missProp.setter             # <<<<<<<<<<<<<<
 *     def missProp(self, missProp not None : CUaccessProperty):
 *         self._pvt_ptr[0].missProp = missProp.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_missProp); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_missProp) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_missProp) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "missProp"); __PYX_ERR(0, 7652, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self), ((PyObject *)__pyx_v_missProp));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_missProp) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUaccessProperty __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7653
 *     @missProp.setter
 *     def missProp(self, missProp not None : CUaccessProperty):
 *         self._pvt_ptr[0].missProp = missProp.value             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_missProp, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUaccessProperty_enum)__Pyx_PyLong_As_enum__CUaccessProperty_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).missProp = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":7651
 *             return None
 *         return _dict_CUaccessProperty[self._pvt_ptr[0].missProp]
 *     @missProp.setter             # <<<<<<<<<<<<<<
 *     def missProp(self, missProp not None : CUaccessProperty):
 *         self._pvt_ptr[0].missProp = missProp.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.missProp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_10__reduce_cython__, "CUaccessPolicyWindow_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_12__setstate_cython__, "CUaccessPolicyWindow_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7687
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7687, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7687, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7687, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7687, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7687, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7687, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7688
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7689
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":7688
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7691
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7687
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7692
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7692, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7692, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7692, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7692, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7692, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7692, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7694
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).func))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7694, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7694, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7694, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_func);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_func);
  __pyx_v_self->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7692
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7695
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7697
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr, "CUDA_KERNEL_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7698
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7697
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7699
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7700
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7701
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7702
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7703
 *             str_list = []
 *             try:
 *                 str_list += ['func : ' + str(self.func)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_func_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7703, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7703, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_func, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7703, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7703, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7703, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7703, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7702
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":7704
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7704, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7705
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7705, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_func_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_func_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_func_ValueError) != (0)) __PYX_ERR(0, 7705, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7705, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7702
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7706
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7707
 *                 str_list += ['func : <ValueError>']
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7707, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7707, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7707, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7707, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7707, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7707, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7706
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7708
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7708, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7709
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7709, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError) != (0)) __PYX_ERR(0, 7709, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7709, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":7706
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7710
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7711
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7711, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7711, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7711, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7711, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7711, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7711, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7710
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7712
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7712, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7713
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7713, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError) != (0)) __PYX_ERR(0, 7713, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7713, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":7710
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7714
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7715
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7715, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7715, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7715, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7715, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7715, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7715, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7714
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7716
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7716, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7717
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7717, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError) != (0)) __PYX_ERR(0, 7717, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7717, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":7714
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7718
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7719
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7719, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7719, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7719, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7719, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7719, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7719, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7718
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7720
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7720, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7721
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7721, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError) != (0)) __PYX_ERR(0, 7721, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7721, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":7718
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7722
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7723
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7723, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7723, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7723, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7723, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7723, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7723, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7722
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7724
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7724, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7725
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7725, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError) != (0)) __PYX_ERR(0, 7725, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7725, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":7722
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7726
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7727
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7727, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7727, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7727, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7727, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7727, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7727, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7726
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7728
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7728, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7729
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7729, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError) != (0)) __PYX_ERR(0, 7729, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7729, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":7726
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7730
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7731
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedMemBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7731, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7731, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7731, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7731, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7731, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7731, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7730
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7732
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7732, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7733
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7733, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError) != (0)) __PYX_ERR(0, 7733, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7733, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":7730
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7734
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7735
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_kernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7735, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7735, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_kernelParams_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7735, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7735, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7735, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7735, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7734
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7736
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7736, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7737
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7737, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError) != (0)) __PYX_ERR(0, 7737, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7737, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":7734
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7738
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7739
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extra_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7739, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7739, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extra, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7739, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7739, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7739, __pyx_L76_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7739, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7738
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7740
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7740, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7741
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7741, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extra_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extra_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_extra_ValueError) != (0)) __PYX_ERR(0, 7741, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7741, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":7738
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7742
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7700
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7744
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def func(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7699
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7745
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7747
 *     @property
 *     def func(self):
 *         return self._func             # <<<<<<<<<<<<<<
 *     @func.setter
 *     def func(self, func):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_func);
  __pyx_r = ((PyObject *)__pyx_v_self->_func);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7745
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7748
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_func));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_func) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7751
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7752
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
*/
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":7751
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7753
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7754
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7755
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         else:
 *             pfunc = int(CUfunction(func))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7755, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7753
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7757
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         else:
 *             pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7757, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":7758
 *         else:
 *             pfunc = int(CUfunction(func))
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7758, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7759
 *             pfunc = int(CUfunction(func))
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
*/
  (__pyx_v_self->_func->_pvt_ptr[0]) = __pyx_v_cyfunc;

  /* "cuda/bindings/driver.pyx":7748
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.func.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7760
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7762
 *     @property
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7760
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7763
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX) {
  unsigned int __pyx_v_gridDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimX); {
    __pyx_v_gridDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7764, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7765
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/bindings/driver.pyx":7763
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7766
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7768
 *     @property
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7766
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7769
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY) {
  unsigned int __pyx_v_gridDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimY); {
    __pyx_v_gridDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7770, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7771
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/bindings/driver.pyx":7769
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7772
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7774
 *     @property
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7772
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7775
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ) {
  unsigned int __pyx_v_gridDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimZ); {
    __pyx_v_gridDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7776, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7777
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/bindings/driver.pyx":7775
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7778
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7780
 *     @property
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7778
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7781
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX) {
  unsigned int __pyx_v_blockDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimX); {
    __pyx_v_blockDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7782, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7783
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/bindings/driver.pyx":7781
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7784
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7786
 *     @property
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7784
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7787
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY) {
  unsigned int __pyx_v_blockDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimY); {
    __pyx_v_blockDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7788, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7789
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/bindings/driver.pyx":7787
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7790
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7792
 *     @property
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7790
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7793
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ) {
  unsigned int __pyx_v_blockDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimZ); {
    __pyx_v_blockDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7794, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7795
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/bindings/driver.pyx":7793
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7796
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7798
 *     @property
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7796
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7799
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes) {
  unsigned int __pyx_v_sharedMemBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_sharedMemBytes); {
    __pyx_v_sharedMemBytes = __Pyx_PyLong_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7800, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_sharedMemBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7801
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/bindings/driver.pyx":7799
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7802
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7804
 *     @property
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams             # <<<<<<<<<<<<<<
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7802
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.kernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7805
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_kernelParams));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7807
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7807, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_cykernelParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_cykernelParams);
  __pyx_v_self->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7808
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     @property
 *     def extra(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":7805
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7809
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7811
 *     @property
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra             # <<<<<<<<<<<<<<
 *     @extra.setter
 *     def extra(self, void_ptr extra):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).extra)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7809
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.extra.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7812
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_extra); {
    __pyx_v_extra = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_extra); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7813, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.extra.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_extra));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7814
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v2_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).extra = ((void **)__pyx_v_extra);

  /* "cuda/bindings/driver.pyx":7812
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__, "CUDA_KERNEL_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__, "CUDA_KERNEL_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7854
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7854, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7854, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 7854, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7854, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7854, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7854, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":7855
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7856
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":7855
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7858
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7854
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7859
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 7859, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 7859, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 7859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7859, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 7859, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7861
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)             # <<<<<<<<<<<<<<
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._pvt_ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).func))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7861, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7861, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_func);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_func);
  __pyx_v_self->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7862
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._pvt_ptr[0].kern)             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).kern))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7862, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7862, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_kern);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_kern);
  __pyx_v_self->_kern = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7863
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._pvt_ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).ctx))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7863, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7863, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ctx);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_v_self->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7859
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7864
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._pvt_ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7866
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr, "CUDA_KERNEL_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":7867
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7866
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7868
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":7869
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7870
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7871
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7872
 *             str_list = []
 *             try:
 *                 str_list += ['func : ' + str(self.func)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_func_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7872, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7872, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_func, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7872, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7872, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7872, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7872, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7871
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":7873
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7873, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7874
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7874, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_func_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_func_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_func_ValueError) != (0)) __PYX_ERR(0, 7874, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7874, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":7871
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7875
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7876
 *                 str_list += ['func : <ValueError>']
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7876, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7876, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7876, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7876, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7876, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7876, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7875
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7877
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7877, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7878
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7878, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError) != (0)) __PYX_ERR(0, 7878, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7878, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":7875
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7879
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7880
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7880, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7880, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7880, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7880, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7880, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7880, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7879
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7881
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7881, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7882
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7882, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError) != (0)) __PYX_ERR(0, 7882, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7882, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":7879
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7883
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7884
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7884, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7884, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7884, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7884, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7884, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7884, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7883
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7885
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7885, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7886
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7886, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError) != (0)) __PYX_ERR(0, 7886, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7886, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":7883
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7887
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7888
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7888, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7888, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7888, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7888, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7888, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7888, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7887
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7889
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7889, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7890
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7890, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError) != (0)) __PYX_ERR(0, 7890, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7890, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":7887
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7891
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7892
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7892, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7892, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7892, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7892, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7892, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7892, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7891
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7893
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7893, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7894
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7894, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError) != (0)) __PYX_ERR(0, 7894, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7894, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":7891
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7895
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7896
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7896, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7896, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7896, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7896, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7896, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7896, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7895
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7897
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7897, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7898
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7898, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError) != (0)) __PYX_ERR(0, 7898, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7898, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":7895
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7899
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7900
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedMemBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7900, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7900, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7900, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7900, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7900, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7900, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7899
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7901
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7901, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7902
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7902, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError) != (0)) __PYX_ERR(0, 7902, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7902, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":7899
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7903
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7904
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_kernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7904, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7904, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_kernelParams_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7904, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7904, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7904, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7904, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7903
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7905
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7905, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7906
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7906, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError) != (0)) __PYX_ERR(0, 7906, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7906, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":7903
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7907
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7908
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extra_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7908, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7908, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extra, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7908, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7908, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7908, __pyx_L76_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7908, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7907
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7909
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7909, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7910
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7910, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extra_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extra_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_extra_ValueError) != (0)) __PYX_ERR(0, 7910, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7910, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":7907
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7911
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7912
 *                 str_list += ['extra : <ValueError>']
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_kern_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7912, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7912, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_kern, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7912, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7912, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 7912, __pyx_L84_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7912, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":7911
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L89_try_end;
      __pyx_L84_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7913
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7913, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7914
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7914, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_kern_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_kern_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_kern_ValueError) != (0)) __PYX_ERR(0, 7914, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7914, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L85_exception_handled;
      }
      goto __pyx_L86_except_error;

      /* "cuda/bindings/driver.pyx":7911
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:
*/
      __pyx_L86_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L85_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L89_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7915
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7916
 *                 str_list += ['kern : <ValueError>']
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ctx_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7916, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7916, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7916, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7916, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 7916, __pyx_L92_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7916, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":7915
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L97_try_end;
      __pyx_L92_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7917
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7917, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7918
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7918, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_ctx_ValueError) != (0)) __PYX_ERR(0, 7918, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7918, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L93_exception_handled;
      }
      goto __pyx_L94_except_error;

      /* "cuda/bindings/driver.pyx":7915
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      __pyx_L94_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L93_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L97_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7919
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7869
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7921
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def func(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":7868
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7922
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7924
 *     @property
 *     def func(self):
 *         return self._func             # <<<<<<<<<<<<<<
 *     @func.setter
 *     def func(self, func):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_func);
  __pyx_r = ((PyObject *)__pyx_v_self->_func);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7922
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7925
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_func));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_func) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7928
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7929
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
*/
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":7928
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7930
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7931
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7932
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         else:
 *             pfunc = int(CUfunction(func))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7932, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7930
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7934
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         else:
 *             pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7934, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":7935
 *         else:
 *             pfunc = int(CUfunction(func))
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7935, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7936
 *             pfunc = int(CUfunction(func))
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
*/
  (__pyx_v_self->_func->_pvt_ptr[0]) = __pyx_v_cyfunc;

  /* "cuda/bindings/driver.pyx":7925
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.func.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7937
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7939
 *     @property
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7937
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7940
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX) {
  unsigned int __pyx_v_gridDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimX); {
    __pyx_v_gridDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7941, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7942
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/bindings/driver.pyx":7940
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7943
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7945
 *     @property
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7943
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7946
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY) {
  unsigned int __pyx_v_gridDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimY); {
    __pyx_v_gridDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7947, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7948
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/bindings/driver.pyx":7946
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7949
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7951
 *     @property
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7949
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7952
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ) {
  unsigned int __pyx_v_gridDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimZ); {
    __pyx_v_gridDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7953, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7954
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/bindings/driver.pyx":7952
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7955
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7957
 *     @property
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7955
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7958
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX) {
  unsigned int __pyx_v_blockDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimX); {
    __pyx_v_blockDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7959, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7960
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/bindings/driver.pyx":7958
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7961
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7963
 *     @property
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7961
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7964
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY) {
  unsigned int __pyx_v_blockDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimY); {
    __pyx_v_blockDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7965, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7966
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/bindings/driver.pyx":7964
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7967
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7969
 *     @property
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7967
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7970
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ) {
  unsigned int __pyx_v_blockDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimZ); {
    __pyx_v_blockDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7971, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7972
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/bindings/driver.pyx":7970
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7973
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7975
 *     @property
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7973
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7976
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes) {
  unsigned int __pyx_v_sharedMemBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_sharedMemBytes); {
    __pyx_v_sharedMemBytes = __Pyx_PyLong_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7977, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_sharedMemBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7978
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/bindings/driver.pyx":7976
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7979
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7981
 *     @property
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams             # <<<<<<<<<<<<<<
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7979
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.kernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7982
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_kernelParams));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7984
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7984, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_cykernelParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_cykernelParams);
  __pyx_v_self->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7985
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     @property
 *     def extra(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":7982
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7986
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7988
 *     @property
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra             # <<<<<<<<<<<<<<
 *     @extra.setter
 *     def extra(self, void_ptr extra):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).extra)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7986
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.extra.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7989
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_extra); {
    __pyx_v_extra = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_extra); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7990, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.extra.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_extra));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7991
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra             # <<<<<<<<<<<<<<
 *     @property
 *     def kern(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).extra = ((void **)__pyx_v_extra);

  /* "cuda/bindings/driver.pyx":7989
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7992
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
 *     @property             # <<<<<<<<<<<<<<
 *     def kern(self):
 *         return self._kern
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7994
 *     @property
 *     def kern(self):
 *         return self._kern             # <<<<<<<<<<<<<<
 *     @kern.setter
 *     def kern(self, kern):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_kern);
  __pyx_r = ((PyObject *)__pyx_v_self->_kern);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7992
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
 *     @property             # <<<<<<<<<<<<<<
 *     def kern(self):
 *         return self._kern
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7995
 *     def kern(self):
 *         return self._kern
 *     @kern.setter             # <<<<<<<<<<<<<<
 *     def kern(self, kern):
 *         cdef cydriver.CUkernel cykern
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kern); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kern) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_kern));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_kern) {
  CUkernel __pyx_v_cykern;
  PyObject *__pyx_v_pkern = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7998
 *     def kern(self, kern):
 *         cdef cydriver.CUkernel cykern
 *         if kern is None:             # <<<<<<<<<<<<<<
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_kern == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7999
 *         cdef cydriver.CUkernel cykern
 *         if kern is None:
 *             cykern = <cydriver.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)
*/
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":7998
 *     def kern(self, kern):
 *         cdef cydriver.CUkernel cykern
 *         if kern is None:             # <<<<<<<<<<<<<<
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8000
 *         if kern is None:
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):             # <<<<<<<<<<<<<<
 *             pkern = int(kern)
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kern, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8001
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)             # <<<<<<<<<<<<<<
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kern); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkern = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8002
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)
 *             cykern = <cydriver.CUkernel><void_ptr>pkern             # <<<<<<<<<<<<<<
 *         else:
 *             pkern = int(CUkernel(kern))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkern); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8002, __pyx_L1_error)
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8000
 *         if kern is None:
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):             # <<<<<<<<<<<<<<
 *             pkern = int(kern)
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8004
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         else:
 *             pkern = int(CUkernel(kern))             # <<<<<<<<<<<<<<
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         self._kern._pvt_ptr[0] = cykern
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_kern};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8004, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkern = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8005
 *         else:
 *             pkern = int(CUkernel(kern))
 *             cykern = <cydriver.CUkernel><void_ptr>pkern             # <<<<<<<<<<<<<<
 *         self._kern._pvt_ptr[0] = cykern
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkern); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8005, __pyx_L1_error)
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8006
 *             pkern = int(CUkernel(kern))
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         self._kern._pvt_ptr[0] = cykern             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
*/
  (__pyx_v_self->_kern->_pvt_ptr[0]) = __pyx_v_cykern;

  /* "cuda/bindings/driver.pyx":7995
 *     def kern(self):
 *         return self._kern
 *     @kern.setter             # <<<<<<<<<<<<<<
 *     def kern(self, kern):
 *         cdef cydriver.CUkernel cykern
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.kern.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pkern);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8007
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         self._kern._pvt_ptr[0] = cykern
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8009
 *     @property
 *     def ctx(self):
 *         return self._ctx             # <<<<<<<<<<<<<<
 *     @ctx.setter
 *     def ctx(self, ctx):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_r = ((PyObject *)__pyx_v_self->_ctx);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8007
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         self._kern._pvt_ptr[0] = cykern
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8010
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_ctx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8013
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8014
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
*/
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8013
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8015
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8016
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8017
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8017, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8015
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8019
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8019, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8020
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._pvt_ptr[0] = cyctx
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8020, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8021
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v3_st:
*/
  (__pyx_v_self->_ctx->_pvt_ptr[0]) = __pyx_v_cyctx;

  /* "cuda/bindings/driver.pyx":8010
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.ctx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_KERNEL_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__, "CUDA_KERNEL_NODE_PARAMS_v2_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8061
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8061, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8061, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8061, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8061, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8061, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8061, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8062
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8063
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8062
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8065
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8061
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8066
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8066, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8066, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8066, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8066, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8066, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8066, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8068
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)             # <<<<<<<<<<<<<<
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._pvt_ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).func))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8068, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8068, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_func);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_func);
  __pyx_v_self->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8069
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._pvt_ptr[0].kern)             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).kern))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8069, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8069, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8069, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_kern);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_kern);
  __pyx_v_self->_kern = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8070
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._pvt_ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).ctx))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8070, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8070, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ctx);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_v_self->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8066
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._func = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].func)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8071
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._pvt_ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8073
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr, "CUDA_KERNEL_NODE_PARAMS_v3_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8074
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8073
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8075
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8076
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8077
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8078
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8079
 *             str_list = []
 *             try:
 *                 str_list += ['func : ' + str(self.func)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_func_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8079, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8079, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_func, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8079, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8079, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8079, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8079, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8078
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8080
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8080, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8081
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8081, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_func_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_func_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_func_ValueError) != (0)) __PYX_ERR(0, 8081, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8081, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8078
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8082
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8083
 *                 str_list += ['func : <ValueError>']
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8083, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8083, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8083, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8083, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8083, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8083, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8082
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8084
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8084, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8085
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8085, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError) != (0)) __PYX_ERR(0, 8085, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8085, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8082
 *             except ValueError:
 *                 str_list += ['func : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8086
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8087
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8087, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8087, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8087, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8087, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8087, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8087, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8086
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8088
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8088, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8089
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8089, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError) != (0)) __PYX_ERR(0, 8089, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8089, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":8086
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8090
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8091
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8091, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8091, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8091, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8091, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8091, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8091, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8090
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8092
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8092, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8093
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8093, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError) != (0)) __PYX_ERR(0, 8093, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8093, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":8090
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8094
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8095
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8095, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8095, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8095, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8095, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8095, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8095, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8094
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8096
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8096, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8097
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8097, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError) != (0)) __PYX_ERR(0, 8097, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8097, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":8094
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8098
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8099
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8099, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8099, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8099, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8099, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8099, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8099, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8098
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8100
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8100, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8101
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8101, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError) != (0)) __PYX_ERR(0, 8101, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8101, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":8098
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8102
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8103
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8103, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8103, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8103, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8103, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8103, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8103, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8102
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8104
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8104, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8105
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8105, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError) != (0)) __PYX_ERR(0, 8105, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8105, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":8102
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8106
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8107
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedMemBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8107, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8107, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8107, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8107, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8107, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8107, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8106
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8108
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8108, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8109
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8109, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError) != (0)) __PYX_ERR(0, 8109, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8109, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":8106
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8110
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8111
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_kernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8111, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8111, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_kernelParams_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8111, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8111, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8111, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8111, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8110
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8112
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8112, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8113
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8113, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError) != (0)) __PYX_ERR(0, 8113, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8113, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":8110
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8114
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8115
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extra_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8115, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8115, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extra, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8115, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8115, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8115, __pyx_L76_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8115, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8114
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8116
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8116, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8117
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8117, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extra_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extra_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_extra_ValueError) != (0)) __PYX_ERR(0, 8117, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8117, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":8114
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8118
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8119
 *                 str_list += ['extra : <ValueError>']
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_kern_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8119, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8119, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_kern, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8119, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8119, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8119, __pyx_L84_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8119, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8118
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L89_try_end;
      __pyx_L84_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8120
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8120, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8121
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8121, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_kern_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_kern_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_kern_ValueError) != (0)) __PYX_ERR(0, 8121, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8121, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L85_exception_handled;
      }
      goto __pyx_L86_except_error;

      /* "cuda/bindings/driver.pyx":8118
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:
*/
      __pyx_L86_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L85_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L89_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8122
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8123
 *                 str_list += ['kern : <ValueError>']
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ctx_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8123, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8123, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8123, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8123, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8123, __pyx_L92_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8123, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8122
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L97_try_end;
      __pyx_L92_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8124
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8124, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8125
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8125, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_ctx_ValueError) != (0)) __PYX_ERR(0, 8125, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8125, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L93_exception_handled;
      }
      goto __pyx_L94_except_error;

      /* "cuda/bindings/driver.pyx":8122
 *             except ValueError:
 *                 str_list += ['kern : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      __pyx_L94_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L93_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L97_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8126
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8076
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8128
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def func(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8075
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8129
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8131
 *     @property
 *     def func(self):
 *         return self._func             # <<<<<<<<<<<<<<
 *     @func.setter
 *     def func(self, func):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_func);
  __pyx_r = ((PyObject *)__pyx_v_self->_func);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8129
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8132
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((PyObject *)__pyx_v_func));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_func) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8135
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8136
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
*/
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8135
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8137
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8138
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8139
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         else:
 *             pfunc = int(CUfunction(func))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8139, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8137
 *         if func is None:
 *             cyfunc = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8141
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         else:
 *             pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8141, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8142
 *         else:
 *             pfunc = int(CUfunction(func))
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8142, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8143
 *             pfunc = int(CUfunction(func))
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
*/
  (__pyx_v_self->_func->_pvt_ptr[0]) = __pyx_v_cyfunc;

  /* "cuda/bindings/driver.pyx":8132
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef cydriver.CUfunction cyfunc
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.func.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8144
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8146
 *     @property
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8144
 *             cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *         self._func._pvt_ptr[0] = cyfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8147
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX) {
  unsigned int __pyx_v_gridDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimX); {
    __pyx_v_gridDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8148, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8149
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/bindings/driver.pyx":8147
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8150
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8152
 *     @property
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8150
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8153
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY) {
  unsigned int __pyx_v_gridDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimY); {
    __pyx_v_gridDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8154, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8155
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/bindings/driver.pyx":8153
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8156
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8158
 *     @property
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8156
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8159
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ) {
  unsigned int __pyx_v_gridDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimZ); {
    __pyx_v_gridDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8160, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8161
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/bindings/driver.pyx":8159
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8162
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8164
 *     @property
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8162
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8165
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX) {
  unsigned int __pyx_v_blockDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimX); {
    __pyx_v_blockDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8166, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8167
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/bindings/driver.pyx":8165
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8168
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8170
 *     @property
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8168
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8171
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY) {
  unsigned int __pyx_v_blockDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimY); {
    __pyx_v_blockDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8172, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8173
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/bindings/driver.pyx":8171
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8174
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8176
 *     @property
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8174
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8177
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ) {
  unsigned int __pyx_v_blockDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimZ); {
    __pyx_v_blockDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8178, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8179
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/bindings/driver.pyx":8177
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8180
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8182
 *     @property
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8180
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8183
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes) {
  unsigned int __pyx_v_sharedMemBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_sharedMemBytes); {
    __pyx_v_sharedMemBytes = __Pyx_PyLong_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8184, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((unsigned int)__pyx_v_sharedMemBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8185
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/bindings/driver.pyx":8183
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8186
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8188
 *     @property
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams             # <<<<<<<<<<<<<<
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8186
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.kernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8189
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((PyObject *)__pyx_v_kernelParams));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8191
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8191, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_cykernelParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_cykernelParams);
  __pyx_v_self->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8192
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     @property
 *     def extra(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":8189
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8193
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8195
 *     @property
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra             # <<<<<<<<<<<<<<
 *     @extra.setter
 *     def extra(self, void_ptr extra):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).extra)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8193
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.extra.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8196
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_extra); {
    __pyx_v_extra = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_extra); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8197, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.extra.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_extra));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8198
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra             # <<<<<<<<<<<<<<
 *     @property
 *     def kern(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).extra = ((void **)__pyx_v_extra);

  /* "cuda/bindings/driver.pyx":8196
 *     def extra(self):
 *         return <void_ptr>self._pvt_ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8199
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
 *     @property             # <<<<<<<<<<<<<<
 *     def kern(self):
 *         return self._kern
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8201
 *     @property
 *     def kern(self):
 *         return self._kern             # <<<<<<<<<<<<<<
 *     @kern.setter
 *     def kern(self, kern):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_kern);
  __pyx_r = ((PyObject *)__pyx_v_self->_kern);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8199
 *     def extra(self, void_ptr extra):
 *         self._pvt_ptr[0].extra = <void**>extra
 *     @property             # <<<<<<<<<<<<<<
 *     def kern(self):
 *         return self._kern
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8202
 *     def kern(self):
 *         return self._kern
 *     @kern.setter             # <<<<<<<<<<<<<<
 *     def kern(self, kern):
 *         cdef cydriver.CUkernel cykern
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kern); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kern) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((PyObject *)__pyx_v_kern));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_kern) {
  CUkernel __pyx_v_cykern;
  PyObject *__pyx_v_pkern = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8205
 *     def kern(self, kern):
 *         cdef cydriver.CUkernel cykern
 *         if kern is None:             # <<<<<<<<<<<<<<
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_kern == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8206
 *         cdef cydriver.CUkernel cykern
 *         if kern is None:
 *             cykern = <cydriver.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)
*/
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8205
 *     def kern(self, kern):
 *         cdef cydriver.CUkernel cykern
 *         if kern is None:             # <<<<<<<<<<<<<<
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8207
 *         if kern is None:
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):             # <<<<<<<<<<<<<<
 *             pkern = int(kern)
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kern, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8208
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)             # <<<<<<<<<<<<<<
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kern); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkern = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8209
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)
 *             cykern = <cydriver.CUkernel><void_ptr>pkern             # <<<<<<<<<<<<<<
 *         else:
 *             pkern = int(CUkernel(kern))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkern); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8209, __pyx_L1_error)
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8207
 *         if kern is None:
 *             cykern = <cydriver.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):             # <<<<<<<<<<<<<<
 *             pkern = int(kern)
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8211
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         else:
 *             pkern = int(CUkernel(kern))             # <<<<<<<<<<<<<<
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         self._kern._pvt_ptr[0] = cykern
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_kern};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8211, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkern = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8212
 *         else:
 *             pkern = int(CUkernel(kern))
 *             cykern = <cydriver.CUkernel><void_ptr>pkern             # <<<<<<<<<<<<<<
 *         self._kern._pvt_ptr[0] = cykern
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkern); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8212, __pyx_L1_error)
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8213
 *             pkern = int(CUkernel(kern))
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         self._kern._pvt_ptr[0] = cykern             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
*/
  (__pyx_v_self->_kern->_pvt_ptr[0]) = __pyx_v_cykern;

  /* "cuda/bindings/driver.pyx":8202
 *     def kern(self):
 *         return self._kern
 *     @kern.setter             # <<<<<<<<<<<<<<
 *     def kern(self, kern):
 *         cdef cydriver.CUkernel cykern
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.kern.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pkern);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8214
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         self._kern._pvt_ptr[0] = cykern
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8216
 *     @property
 *     def ctx(self):
 *         return self._ctx             # <<<<<<<<<<<<<<
 *     @ctx.setter
 *     def ctx(self, ctx):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_r = ((PyObject *)__pyx_v_self->_ctx);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8214
 *             cykern = <cydriver.CUkernel><void_ptr>pkern
 *         self._kern._pvt_ptr[0] = cykern
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8217
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((PyObject *)__pyx_v_ctx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8220
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8221
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
*/
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8220
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8222
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8223
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8223, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8224
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8224, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8222
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8226
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8226, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8227
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._pvt_ptr[0] = cyctx
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8227, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8228
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_st:
*/
  (__pyx_v_self->_ctx->_pvt_ptr[0]) = __pyx_v_cyctx;

  /* "cuda/bindings/driver.pyx":8217
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.ctx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__, "CUDA_KERNEL_NODE_PARAMS_v3_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__, "CUDA_KERNEL_NODE_PARAMS_v3_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8254
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8254, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8254, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8254, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8254, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8254, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8254, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8255
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8256
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMSET_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8255
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8258
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMSET_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8254
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8259
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMSET_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8259, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8259, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8259, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8259, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8259, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8259, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8261
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dst))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8261, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8261, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dst);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dst);
  __pyx_v_self->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8259
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMSET_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8262
 *         pass
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8264
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr, "CUDA_MEMSET_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8265
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8264
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8266
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8267
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8268
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8269
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8270
 *             str_list = []
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dst_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8270, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8270, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dst, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8270, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8270, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8270, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8270, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8269
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8271
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8271, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8272
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8272, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dst_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dst_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_dst_ValueError) != (0)) __PYX_ERR(0, 8272, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8272, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8269
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8273
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8274
 *                 str_list += ['dst : <ValueError>']
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8274, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8274, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8274, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8274, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8274, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8274, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8273
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8275
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8275, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8276
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8276, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_pitch_ValueError) != (0)) __PYX_ERR(0, 8276, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8276, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8273
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8277
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8278
 *                 str_list += ['pitch : <ValueError>']
 *             try:
 *                 str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8278, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8278, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8278, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8278, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8278, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8278, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8277
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8279
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8279, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8280
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8280, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_value_ValueError) != (0)) __PYX_ERR(0, 8280, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8280, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":8277
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8281
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8282
 *                 str_list += ['value : <ValueError>']
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_elementSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8282, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8282, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_elementSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8282, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8282, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8282, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8282, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8281
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8283
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8283, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8284
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8284, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_elementSize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_elementSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_elementSize_ValueError) != (0)) __PYX_ERR(0, 8284, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8284, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":8281
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8285
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8286
 *                 str_list += ['elementSize : <ValueError>']
 *             try:
 *                 str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8286, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8286, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8286, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8286, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8286, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8286, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8285
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8287
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8287, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8288
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8288, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_width_ValueError) != (0)) __PYX_ERR(0, 8288, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8288, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":8285
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8289
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8290
 *                 str_list += ['width : <ValueError>']
 *             try:
 *                 str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8290, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8290, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8290, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8290, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8290, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8290, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8289
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8291
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8291, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8292
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8292, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_height_ValueError) != (0)) __PYX_ERR(0, 8292, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8292, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":8289
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8293
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8267
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8295
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def dst(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8266
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8296
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8298
 *     @property
 *     def dst(self):
 *         return self._dst             # <<<<<<<<<<<<<<
 *     @dst.setter
 *     def dst(self, dst):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dst);
  __pyx_r = ((PyObject *)__pyx_v_self->_dst);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8296
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8299
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         cdef cydriver.CUdeviceptr cydst
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_dst));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_dst) {
  CUdeviceptr __pyx_v_cydst;
  PyObject *__pyx_v_pdst = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8302
 *     def dst(self, dst):
 *         cdef cydriver.CUdeviceptr cydst
 *         if dst is None:             # <<<<<<<<<<<<<<
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8303
 *         cdef cydriver.CUdeviceptr cydst
 *         if dst is None:
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)
*/
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8302
 *     def dst(self, dst):
 *         cdef cydriver.CUdeviceptr cydst
 *         if dst is None:             # <<<<<<<<<<<<<<
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8304
 *         if dst is None:
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdst = int(dst)
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8305
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)             # <<<<<<<<<<<<<<
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdst = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8306
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *         else:
 *             pdst = int(CUdeviceptr(dst))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8306, __pyx_L1_error)
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8304
 *         if dst is None:
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdst = int(dst)
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8308
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *         else:
 *             pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *         self._dst._pvt_ptr[0] = cydst
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dst};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8308, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8309
 *         else:
 *             pdst = int(CUdeviceptr(dst))
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *         self._dst._pvt_ptr[0] = cydst
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8309, __pyx_L1_error)
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8310
 *             pdst = int(CUdeviceptr(dst))
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *         self._dst._pvt_ptr[0] = cydst             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_dst->_pvt_ptr[0]) = __pyx_v_cydst;

  /* "cuda/bindings/driver.pyx":8299
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         cdef cydriver.CUdeviceptr cydst
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.dst.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8312
 *         self._dst._pvt_ptr[0] = cydst
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8314
 *     @property
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch             # <<<<<<<<<<<<<<
 *     @pitch.setter
 *     def pitch(self, size_t pitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).pitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8312
 *         self._dst._pvt_ptr[0] = cydst
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.pitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8315
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch) {
  size_t __pyx_v_pitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_pitch); {
    __pyx_v_pitch = __Pyx_PyLong_As_size_t(__pyx_arg_pitch); if (unlikely((__pyx_v_pitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 8316, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), ((size_t)__pyx_v_pitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_pitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8317
 *     @pitch.setter
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/bindings/driver.pyx":8315
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8318
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._pvt_ptr[0].value
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8320
 *     @property
 *     def value(self):
 *         return self._pvt_ptr[0].value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, unsigned int value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8318
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._pvt_ptr[0].value
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8321
 *     def value(self):
 *         return self._pvt_ptr[0].value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyLong_As_unsigned_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8322, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_value) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8323
 *     @value.setter
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value             # <<<<<<<<<<<<<<
 *     @property
 *     def elementSize(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).value = __pyx_v_value;

  /* "cuda/bindings/driver.pyx":8321
 *     def value(self):
 *         return self._pvt_ptr[0].value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8324
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8326
 *     @property
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize             # <<<<<<<<<<<<<<
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).elementSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8324
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.elementSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8327
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize
 *     @elementSize.setter             # <<<<<<<<<<<<<<
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_elementSize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_elementSize) {
  unsigned int __pyx_v_elementSize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_elementSize); {
    __pyx_v_elementSize = __Pyx_PyLong_As_unsigned_int(__pyx_arg_elementSize); if (unlikely((__pyx_v_elementSize == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8328, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.elementSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_elementSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_elementSize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8329
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).elementSize = __pyx_v_elementSize;

  /* "cuda/bindings/driver.pyx":8327
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize
 *     @elementSize.setter             # <<<<<<<<<<<<<<
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8330
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8332
 *     @property
 *     def width(self):
 *         return self._pvt_ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8330
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8333
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_width); {
    __pyx_v_width = __Pyx_PyLong_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 8334, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8335
 *     @width.setter
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).width = __pyx_v_width;

  /* "cuda/bindings/driver.pyx":8333
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8336
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8338
 *     @property
 *     def height(self):
 *         return self._pvt_ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8336
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8339
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_height); {
    __pyx_v_height = __Pyx_PyLong_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 8340, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8341
 *     @height.setter
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_v2_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).height = __pyx_v_height;

  /* "cuda/bindings/driver.pyx":8339
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__, "CUDA_MEMSET_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__, "CUDA_MEMSET_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8369
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8369, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8369, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8369, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8369, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8369, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8369, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8370
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8371
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8370
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8373
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8369
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8374
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8374, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8374, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8374, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8374, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8374, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8374, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8376
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dst))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8376, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8376, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dst);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dst);
  __pyx_v_self->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8377
 *         pass
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).ctx))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8377, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8377, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ctx);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_v_self->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8374
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8378
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8380
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr, "CUDA_MEMSET_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8381
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8380
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8382
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8383
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8384
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8385
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8386
 *             str_list = []
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dst_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8386, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8386, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dst, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8386, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8386, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8386, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8386, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8385
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8387
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8387, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8388
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8388, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dst_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dst_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_dst_ValueError) != (0)) __PYX_ERR(0, 8388, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8388, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8385
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8389
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8390
 *                 str_list += ['dst : <ValueError>']
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8390, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8390, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8390, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8390, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8390, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8390, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8389
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8391
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8391, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8392
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8392, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_pitch_ValueError) != (0)) __PYX_ERR(0, 8392, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8392, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8389
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8393
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8394
 *                 str_list += ['pitch : <ValueError>']
 *             try:
 *                 str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8394, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8394, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8394, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8394, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8394, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8394, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8393
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8395
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8395, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8396
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8396, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_value_ValueError) != (0)) __PYX_ERR(0, 8396, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8396, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":8393
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8397
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8398
 *                 str_list += ['value : <ValueError>']
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_elementSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8398, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8398, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_elementSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8398, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8398, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8398, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8398, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8397
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8399
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8399, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8400
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8400, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_elementSize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_elementSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_elementSize_ValueError) != (0)) __PYX_ERR(0, 8400, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8400, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":8397
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8401
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8402
 *                 str_list += ['elementSize : <ValueError>']
 *             try:
 *                 str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8402, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8402, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8402, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8402, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8402, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8402, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8401
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8403
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8403, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8404
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8404, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_width_ValueError) != (0)) __PYX_ERR(0, 8404, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8404, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":8401
 *             except ValueError:
 *                 str_list += ['elementSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8405
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8406
 *                 str_list += ['width : <ValueError>']
 *             try:
 *                 str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8406, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8406, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8406, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8406, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8406, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8406, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8405
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8407
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8407, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8408
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8408, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_height_ValueError) != (0)) __PYX_ERR(0, 8408, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8408, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":8405
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8409
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8410
 *                 str_list += ['height : <ValueError>']
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ctx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8410, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8410, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8410, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8410, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8410, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8410, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8409
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8411
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8411, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8412
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8412, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_ctx_ValueError) != (0)) __PYX_ERR(0, 8412, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8412, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":8409
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8413
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8383
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8415
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def dst(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8382
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8416
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8418
 *     @property
 *     def dst(self):
 *         return self._dst             # <<<<<<<<<<<<<<
 *     @dst.setter
 *     def dst(self, dst):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dst);
  __pyx_r = ((PyObject *)__pyx_v_self->_dst);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8416
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8419
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         cdef cydriver.CUdeviceptr cydst
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_dst));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_dst) {
  CUdeviceptr __pyx_v_cydst;
  PyObject *__pyx_v_pdst = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8422
 *     def dst(self, dst):
 *         cdef cydriver.CUdeviceptr cydst
 *         if dst is None:             # <<<<<<<<<<<<<<
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8423
 *         cdef cydriver.CUdeviceptr cydst
 *         if dst is None:
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)
*/
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8422
 *     def dst(self, dst):
 *         cdef cydriver.CUdeviceptr cydst
 *         if dst is None:             # <<<<<<<<<<<<<<
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8424
 *         if dst is None:
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdst = int(dst)
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8425
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)             # <<<<<<<<<<<<<<
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdst = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8426
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *         else:
 *             pdst = int(CUdeviceptr(dst))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8426, __pyx_L1_error)
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8424
 *         if dst is None:
 *             cydst = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdst = int(dst)
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8428
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *         else:
 *             pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *         self._dst._pvt_ptr[0] = cydst
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dst};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8428, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8429
 *         else:
 *             pdst = int(CUdeviceptr(dst))
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *         self._dst._pvt_ptr[0] = cydst
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8429, __pyx_L1_error)
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8430
 *             pdst = int(CUdeviceptr(dst))
 *             cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *         self._dst._pvt_ptr[0] = cydst             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_dst->_pvt_ptr[0]) = __pyx_v_cydst;

  /* "cuda/bindings/driver.pyx":8419
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         cdef cydriver.CUdeviceptr cydst
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.dst.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8432
 *         self._dst._pvt_ptr[0] = cydst
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8434
 *     @property
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch             # <<<<<<<<<<<<<<
 *     @pitch.setter
 *     def pitch(self, size_t pitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).pitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8432
 *         self._dst._pvt_ptr[0] = cydst
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.pitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8435
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch) {
  size_t __pyx_v_pitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_pitch); {
    __pyx_v_pitch = __Pyx_PyLong_As_size_t(__pyx_arg_pitch); if (unlikely((__pyx_v_pitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 8436, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), ((size_t)__pyx_v_pitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_pitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8437
 *     @pitch.setter
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/bindings/driver.pyx":8435
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8438
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._pvt_ptr[0].value
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8440
 *     @property
 *     def value(self):
 *         return self._pvt_ptr[0].value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, unsigned int value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8438
 *     def pitch(self, size_t pitch):
 *         self._pvt_ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._pvt_ptr[0].value
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8441
 *     def value(self):
 *         return self._pvt_ptr[0].value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyLong_As_unsigned_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8442, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_value) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8443
 *     @value.setter
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value             # <<<<<<<<<<<<<<
 *     @property
 *     def elementSize(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).value = __pyx_v_value;

  /* "cuda/bindings/driver.pyx":8441
 *     def value(self):
 *         return self._pvt_ptr[0].value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8444
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8446
 *     @property
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize             # <<<<<<<<<<<<<<
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).elementSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8444
 *     def value(self, unsigned int value):
 *         self._pvt_ptr[0].value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.elementSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8447
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize
 *     @elementSize.setter             # <<<<<<<<<<<<<<
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_elementSize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_elementSize) {
  unsigned int __pyx_v_elementSize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_elementSize); {
    __pyx_v_elementSize = __Pyx_PyLong_As_unsigned_int(__pyx_arg_elementSize); if (unlikely((__pyx_v_elementSize == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8448, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.elementSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_elementSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_elementSize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8449
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).elementSize = __pyx_v_elementSize;

  /* "cuda/bindings/driver.pyx":8447
 *     def elementSize(self):
 *         return self._pvt_ptr[0].elementSize
 *     @elementSize.setter             # <<<<<<<<<<<<<<
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8450
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8452
 *     @property
 *     def width(self):
 *         return self._pvt_ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8450
 *     def elementSize(self, unsigned int elementSize):
 *         self._pvt_ptr[0].elementSize = elementSize
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8453
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_width); {
    __pyx_v_width = __Pyx_PyLong_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 8454, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8455
 *     @width.setter
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).width = __pyx_v_width;

  /* "cuda/bindings/driver.pyx":8453
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8456
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8458
 *     @property
 *     def height(self):
 *         return self._pvt_ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8456
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8459
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_height); {
    __pyx_v_height = __Pyx_PyLong_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 8460, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8461
 *     @height.setter
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).height = __pyx_v_height;

  /* "cuda/bindings/driver.pyx":8459
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8462
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8464
 *     @property
 *     def ctx(self):
 *         return self._ctx             # <<<<<<<<<<<<<<
 *     @ctx.setter
 *     def ctx(self, ctx):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_r = ((PyObject *)__pyx_v_self->_ctx);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8462
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8465
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_ctx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8468
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8469
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
*/
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8468
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8470
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8471
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8472
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8472, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8470
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8474
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8474, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8475
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._pvt_ptr[0] = cyctx
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8475, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8476
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_st:
*/
  (__pyx_v_self->_ctx->_pvt_ptr[0]) = __pyx_v_cyctx;

  /* "cuda/bindings/driver.pyx":8465
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.ctx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_MEMSET_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__, "CUDA_MEMSET_NODE_PARAMS_v2_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8494
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8494, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8494, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8494, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8494, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8494, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8494, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8495
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8496
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_HOST_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8495
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8498
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_HOST_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_HOST_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8494
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8499
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_HOST_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._pvt_ptr[0].fn)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8499, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8499, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8499, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8499, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8499, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8499, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8501
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._pvt_ptr[0].fn)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).fn))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8501, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8501, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_fn);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_fn);
  __pyx_v_self->_fn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8499
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_HOST_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._pvt_ptr[0].fn)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8502
 *         pass
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._pvt_ptr[0].fn)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8504
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_6getPtr, "CUDA_HOST_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8505
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8504
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8506
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8507
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8508
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8509
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8510
 *             str_list = []
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fn_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8510, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8510, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_fn, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8510, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8510, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8510, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8510, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8509
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8511
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8511, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8512
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8512, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_fn_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_fn_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_fn_ValueError) != (0)) __PYX_ERR(0, 8512, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8512, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8509
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8513
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8514
 *                 str_list += ['fn : <ValueError>']
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_userData_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8514, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8514, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_userData, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8514, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8514, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8514, __pyx_L12_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8514, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8513
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8515
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 8515, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":8516
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8516, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_userData_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_userData_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_userData_ValueError) != (0)) __PYX_ERR(0, 8516, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8516, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8513
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8517
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_10 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_r = __pyx_t_10;
    __pyx_t_10 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8507
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8519
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fn(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8506
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8520
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fn(self):
 *         return self._fn
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8522
 *     @property
 *     def fn(self):
 *         return self._fn             # <<<<<<<<<<<<<<
 *     @fn.setter
 *     def fn(self, fn):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_fn);
  __pyx_r = ((PyObject *)__pyx_v_self->_fn);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8520
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fn(self):
 *         return self._fn
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8523
 *     def fn(self):
 *         return self._fn
 *     @fn.setter             # <<<<<<<<<<<<<<
 *     def fn(self, fn):
 *         cdef cydriver.CUhostFn cyfn
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fn); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fn) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_fn));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_fn) {
  CUhostFn __pyx_v_cyfn;
  PyObject *__pyx_v_pfn = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8526
 *     def fn(self, fn):
 *         cdef cydriver.CUhostFn cyfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
*/
  __pyx_t_1 = (__pyx_v_fn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8527
 *         cdef cydriver.CUhostFn cyfn
 *         if fn is None:
 *             cyfn = <cydriver.CUhostFn><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)
*/
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8526
 *     def fn(self, fn):
 *         cdef cydriver.CUhostFn cyfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8528
 *         if fn is None:
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_fn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8529
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)             # <<<<<<<<<<<<<<
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8530
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         else:
 *             pfn = int(CUhostFn(fn))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8530, __pyx_L1_error)
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8528
 *         if fn is None:
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8532
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         else:
 *             pfn = int(CUhostFn(fn))             # <<<<<<<<<<<<<<
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         self._fn._pvt_ptr[0] = cyfn
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_fn};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8532, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfn = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8533
 *         else:
 *             pfn = int(CUhostFn(fn))
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         self._fn._pvt_ptr[0] = cyfn
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8533, __pyx_L1_error)
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8534
 *             pfn = int(CUhostFn(fn))
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         self._fn._pvt_ptr[0] = cyfn             # <<<<<<<<<<<<<<
 *     @property
 *     def userData(self):
*/
  (__pyx_v_self->_fn->_pvt_ptr[0]) = __pyx_v_cyfn;

  /* "cuda/bindings/driver.pyx":8523
 *     def fn(self):
 *         return self._fn
 *     @fn.setter             # <<<<<<<<<<<<<<
 *     def fn(self, fn):
 *         cdef cydriver.CUhostFn cyfn
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.fn.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfn);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8535
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         self._fn._pvt_ptr[0] = cyfn
 *     @property             # <<<<<<<<<<<<<<
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8537
 *     @property
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData             # <<<<<<<<<<<<<<
 *     @userData.setter
 *     def userData(self, userData):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).userData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8535
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         self._fn._pvt_ptr[0] = cyfn
 *     @property             # <<<<<<<<<<<<<<
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.userData.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8538
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData
 *     @userData.setter             # <<<<<<<<<<<<<<
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_userData); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_userData) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_userData));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_userData) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cuserData = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8540
 *     @userData.setter
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].userData = <void*><void_ptr>_cuserData.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_userData};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8540, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8541
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)
 *         self._pvt_ptr[0].userData = <void*><void_ptr>_cuserData.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_v2_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8541, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).userData = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":8538
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData
 *     @userData.setter             # <<<<<<<<<<<<<<
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.userData.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cuserData);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__, "CUDA_HOST_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__, "CUDA_HOST_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8559
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8559, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8559, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8559, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8559, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8559, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8559, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8560
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8561
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8560
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8563
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8559
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8564
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._pvt_ptr[0].fn)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8564, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8564, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8564, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8564, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8564, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8564, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8566
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._pvt_ptr[0].fn)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).fn))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8566, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8566, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_fn);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_fn);
  __pyx_v_self->_fn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8564
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._pvt_ptr[0].fn)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8567
 *         pass
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._pvt_ptr[0].fn)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8569
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr, "CUDA_HOST_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8570
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8569
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8571
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8572
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8573
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8574
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8575
 *             str_list = []
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fn_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8575, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8575, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_fn, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8575, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8575, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8575, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8575, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8574
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8576
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8576, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8577
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8577, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_fn_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_fn_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_fn_ValueError) != (0)) __PYX_ERR(0, 8577, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8577, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8574
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8578
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8579
 *                 str_list += ['fn : <ValueError>']
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_userData_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8579, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8579, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_userData, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8579, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8579, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8579, __pyx_L12_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8579, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8578
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8580
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 8580, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":8581
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8581, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_userData_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_userData_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_userData_ValueError) != (0)) __PYX_ERR(0, 8581, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8581, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8578
 *             except ValueError:
 *                 str_list += ['fn : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8582
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_10 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_r = __pyx_t_10;
    __pyx_t_10 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8572
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8584
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fn(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8571
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8585
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fn(self):
 *         return self._fn
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8587
 *     @property
 *     def fn(self):
 *         return self._fn             # <<<<<<<<<<<<<<
 *     @fn.setter
 *     def fn(self, fn):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_fn);
  __pyx_r = ((PyObject *)__pyx_v_self->_fn);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8585
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fn(self):
 *         return self._fn
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8588
 *     def fn(self):
 *         return self._fn
 *     @fn.setter             # <<<<<<<<<<<<<<
 *     def fn(self, fn):
 *         cdef cydriver.CUhostFn cyfn
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fn); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fn) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_fn));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_fn) {
  CUhostFn __pyx_v_cyfn;
  PyObject *__pyx_v_pfn = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8591
 *     def fn(self, fn):
 *         cdef cydriver.CUhostFn cyfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
*/
  __pyx_t_1 = (__pyx_v_fn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8592
 *         cdef cydriver.CUhostFn cyfn
 *         if fn is None:
 *             cyfn = <cydriver.CUhostFn><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)
*/
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8591
 *     def fn(self, fn):
 *         cdef cydriver.CUhostFn cyfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8593
 *         if fn is None:
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_fn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8594
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)             # <<<<<<<<<<<<<<
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8595
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         else:
 *             pfn = int(CUhostFn(fn))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8595, __pyx_L1_error)
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8593
 *         if fn is None:
 *             cyfn = <cydriver.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8597
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         else:
 *             pfn = int(CUhostFn(fn))             # <<<<<<<<<<<<<<
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         self._fn._pvt_ptr[0] = cyfn
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_fn};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8597, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfn = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8598
 *         else:
 *             pfn = int(CUhostFn(fn))
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         self._fn._pvt_ptr[0] = cyfn
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8598, __pyx_L1_error)
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8599
 *             pfn = int(CUhostFn(fn))
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         self._fn._pvt_ptr[0] = cyfn             # <<<<<<<<<<<<<<
 *     @property
 *     def userData(self):
*/
  (__pyx_v_self->_fn->_pvt_ptr[0]) = __pyx_v_cyfn;

  /* "cuda/bindings/driver.pyx":8588
 *     def fn(self):
 *         return self._fn
 *     @fn.setter             # <<<<<<<<<<<<<<
 *     def fn(self, fn):
 *         cdef cydriver.CUhostFn cyfn
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.fn.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfn);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8600
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         self._fn._pvt_ptr[0] = cyfn
 *     @property             # <<<<<<<<<<<<<<
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8602
 *     @property
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData             # <<<<<<<<<<<<<<
 *     @userData.setter
 *     def userData(self, userData):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).userData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8600
 *             cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *         self._fn._pvt_ptr[0] = cyfn
 *     @property             # <<<<<<<<<<<<<<
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.userData.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8603
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData
 *     @userData.setter             # <<<<<<<<<<<<<<
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_userData); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_userData) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_userData));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_userData) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cuserData = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8605
 *     @userData.setter
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].userData = <void*><void_ptr>_cuserData.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_userData};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8605, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8606
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)
 *         self._pvt_ptr[0].userData = <void*><void_ptr>_cuserData.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_CONDITIONAL_NODE_PARAMS:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).userData = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":8603
 *     def userData(self):
 *         return <void_ptr>self._pvt_ptr[0].userData
 *     @userData.setter             # <<<<<<<<<<<<<<
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.userData.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cuserData);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_HOST_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__, "CUDA_HOST_NODE_PARAMS_v2_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8649
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8649, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8649, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8649, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8649, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8649, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8649, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8650
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8651
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8650
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8653
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8649
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8654
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._pvt_ptr[0].handle)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8654, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8654, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8654, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8654, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8654, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8654, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8656
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._pvt_ptr[0].handle)             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).handle))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8656, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8656, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_handle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_handle);
  __pyx_v_self->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8657
 *         pass
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._pvt_ptr[0].handle)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).ctx))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8657, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8657, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ctx);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_v_self->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8654
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._pvt_ptr[0].handle)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8658
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._pvt_ptr[0].handle)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8660
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr, "CUDA_CONDITIONAL_NODE_PARAMS.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8661
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8660
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8662
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8663
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8664
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['handle : ' + str(self.handle)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8665
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + str(self.handle)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8666
 *             str_list = []
 *             try:
 *                 str_list += ['handle : ' + str(self.handle)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_handle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8666, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8666, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_handle, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8666, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8666, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8666, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8666, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8665
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + str(self.handle)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8667
 *             try:
 *                 str_list += ['handle : ' + str(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8667, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8668
 *                 str_list += ['handle : ' + str(self.handle)]
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8668, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_handle_ValueError) != (0)) __PYX_ERR(0, 8668, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8668, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8665
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + str(self.handle)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8669
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8670
 *                 str_list += ['handle : <ValueError>']
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8670, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8670, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8670, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8670, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8670, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8670, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8669
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8671
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8671, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8672
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8672, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 8672, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8672, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8669
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8673
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8674
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8674, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8674, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8674, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8674, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8674, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8674, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8673
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8675
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8675, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8676
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8676, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_size_ValueError) != (0)) __PYX_ERR(0, 8676, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8676, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":8673
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8677
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8678
 *                 str_list += ['size : <ValueError>']
 *             try:
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['phGraph_out : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_phGraph_out_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8678, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8678, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_phGraph_out, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8678, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8678, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8678, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8678, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8677
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8679
 *             try:
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['phGraph_out : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8679, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8680
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]
 *             except ValueError:
 *                 str_list += ['phGraph_out : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8680, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_phGraph_out_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_phGraph_out_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_phGraph_out_ValueError) != (0)) __PYX_ERR(0, 8680, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8680, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":8677
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8681
 *             except ValueError:
 *                 str_list += ['phGraph_out : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8682
 *                 str_list += ['phGraph_out : <ValueError>']
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ctx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8682, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8682, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8682, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8682, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8682, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8682, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8681
 *             except ValueError:
 *                 str_list += ['phGraph_out : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8683
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8683, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8684
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8684, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_ctx_ValueError) != (0)) __PYX_ERR(0, 8684, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8684, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":8681
 *             except ValueError:
 *                 str_list += ['phGraph_out : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8685
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8663
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8687
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8662
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8688
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8690
 *     @property
 *     def handle(self):
 *         return self._handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_handle);
  __pyx_r = ((PyObject *)__pyx_v_self->_handle);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8688
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8691
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         cdef cydriver.CUgraphConditionalHandle cyhandle
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), ((PyObject *)__pyx_v_handle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_handle) {
  CUgraphConditionalHandle __pyx_v_cyhandle;
  PyObject *__pyx_v_phandle = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8694
 *     def handle(self, handle):
 *         cdef cydriver.CUgraphConditionalHandle cyhandle
 *         if handle is None:             # <<<<<<<<<<<<<<
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
*/
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8695
 *         cdef cydriver.CUgraphConditionalHandle cyhandle
 *         if handle is None:
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
 *             phandle = int(handle)
*/
    __pyx_v_cyhandle = ((CUgraphConditionalHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8694
 *     def handle(self, handle):
 *         cdef cydriver.CUgraphConditionalHandle cyhandle
 *         if handle is None:             # <<<<<<<<<<<<<<
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8696
 *         if handle is None:
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):             # <<<<<<<<<<<<<<
 *             phandle = int(handle)
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>phandle
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8697
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
 *             phandle = int(handle)             # <<<<<<<<<<<<<<
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>phandle
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8698
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
 *             phandle = int(handle)
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *         else:
 *             phandle = int(CUgraphConditionalHandle(handle))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8698, __pyx_L1_error)
    __pyx_v_cyhandle = ((CUgraphConditionalHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8696
 *         if handle is None:
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):             # <<<<<<<<<<<<<<
 *             phandle = int(handle)
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>phandle
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8700
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>phandle
 *         else:
 *             phandle = int(CUgraphConditionalHandle(handle))             # <<<<<<<<<<<<<<
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>phandle
 *         self._handle._pvt_ptr[0] = cyhandle
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8700, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8701
 *         else:
 *             phandle = int(CUgraphConditionalHandle(handle))
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *         self._handle._pvt_ptr[0] = cyhandle
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8701, __pyx_L1_error)
    __pyx_v_cyhandle = ((CUgraphConditionalHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8702
 *             phandle = int(CUgraphConditionalHandle(handle))
 *             cyhandle = <cydriver.CUgraphConditionalHandle><void_ptr>phandle
 *         self._handle._pvt_ptr[0] = cyhandle             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_handle->_pvt_ptr[0]) = __pyx_v_cyhandle;

  /* "cuda/bindings/driver.pyx":8691
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         cdef cydriver.CUgraphConditionalHandle cyhandle
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phandle);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8704
 *         self._handle._pvt_ptr[0] = cyhandle
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphConditionalNodeType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8706
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphConditionalNodeType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphConditionalNodeType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphConditionalNodeType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphConditionalNodeType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 8706, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":8707
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphConditionalNodeType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUgraphConditionalNodeType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8706
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphConditionalNodeType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphConditionalNodeType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":8708
 *         if self._pvt_ptr[0].type not in _dict_CUgraphConditionalNodeType:
 *             return None
 *         return _dict_CUgraphConditionalNodeType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUgraphConditionalNodeType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphConditionalNodeType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphConditionalNodeType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8704
 *         self._handle._pvt_ptr[0] = cyhandle
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphConditionalNodeType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8709
 *             return None
 *         return _dict_CUgraphConditionalNodeType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 8710, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUgraphConditionalNodeType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8711
 *     @type.setter
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphConditionalNodeType_enum)__Pyx_PyLong_As_enum__CUgraphConditionalNodeType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":8709
 *             return None
 *         return _dict_CUgraphConditionalNodeType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8712
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8714
 *     @property
 *     def size(self):
 *         return self._pvt_ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, unsigned int size):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8712
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8715
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned int size):
 *         self._pvt_ptr[0].size = size
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  unsigned int __pyx_v_size;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyLong_As_unsigned_int(__pyx_arg_size); if (unlikely((__pyx_v_size == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8716, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), ((unsigned int)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, unsigned int __pyx_v_size) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8717
 *     @size.setter
 *     def size(self, unsigned int size):
 *         self._pvt_ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def phGraph_out(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).size = __pyx_v_size;

  /* "cuda/bindings/driver.pyx":8715
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned int size):
 *         self._pvt_ptr[0].size = size
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8718
 *     def size(self, unsigned int size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def phGraph_out(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].phGraph_out + x*sizeof(cydriver.CUgraph) for x in range(self.size)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  PyObject *__pyx_10genexpr127__pyx_v_x = NULL;
  PyObject *__pyx_10genexpr128__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8720
 *     @property
 *     def phGraph_out(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].phGraph_out + x*sizeof(cydriver.CUgraph) for x in range(self.size)]             # <<<<<<<<<<<<<<
 *         return [CUgraph(_ptr=arr) for arr in arrs]
 *     @property
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8720, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_range);
    __pyx_t_4 = __pyx_builtin_range; 
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8720, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8720, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
      __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8720, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8720, __pyx_L5_error)
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 8720, __pyx_L5_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_4, __pyx_t_7);
          ++__pyx_t_7;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 8720, __pyx_L5_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7));
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8720, __pyx_L5_error)
      } else {
        __pyx_t_2 = __pyx_t_8(__pyx_t_4);
        if (unlikely(!__pyx_t_2)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 8720, __pyx_L5_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_10genexpr127__pyx_v_x, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).phGraph_out)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8720, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(CUgraph))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8720, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = PyNumber_Multiply(__pyx_10genexpr127__pyx_v_x, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8720, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8720, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 8720, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_10genexpr127__pyx_v_x); __pyx_10genexpr127__pyx_v_x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_10genexpr127__pyx_v_x); __pyx_10genexpr127__pyx_v_x = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8721
 *     def phGraph_out(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].phGraph_out + x*sizeof(cydriver.CUgraph) for x in range(self.size)]
 *         return [CUgraph(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8721, __pyx_L12_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_7 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 8721, __pyx_L12_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_4, __pyx_t_7);
      ++__pyx_t_7;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8721, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_10genexpr128__pyx_v_arr, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_3 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
      __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8721, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr128__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8721, __pyx_L12_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8721, __pyx_L12_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 8721, __pyx_L12_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_10genexpr128__pyx_v_arr); __pyx_10genexpr128__pyx_v_arr = 0;
    goto __pyx_L16_exit_scope;
    __pyx_L12_error:;
    __Pyx_XDECREF(__pyx_10genexpr128__pyx_v_arr); __pyx_10genexpr128__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L16_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8718
 *     def size(self, unsigned int size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def phGraph_out(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].phGraph_out + x*sizeof(cydriver.CUgraph) for x in range(self.size)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.phGraph_out.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr127__pyx_v_x);
  __Pyx_XDECREF(__pyx_10genexpr128__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8722
 *         arrs = [<void_ptr>self._pvt_ptr[0].phGraph_out + x*sizeof(cydriver.CUgraph) for x in range(self.size)]
 *         return [CUgraph(_ptr=arr) for arr in arrs]
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8724
 *     @property
 *     def ctx(self):
 *         return self._ctx             # <<<<<<<<<<<<<<
 *     @ctx.setter
 *     def ctx(self, ctx):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_ctx);
  __pyx_r = ((PyObject *)__pyx_v_self->_ctx);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8722
 *         arrs = [<void_ptr>self._pvt_ptr[0].phGraph_out + x*sizeof(cydriver.CUgraph) for x in range(self.size)]
 *         return [CUgraph(_ptr=arr) for arr in arrs]
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8725
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), ((PyObject *)__pyx_v_ctx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8728
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8729
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
*/
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8728
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8730
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8731
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8732
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8732, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8730
 *         if ctx is None:
 *             cyctx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8734
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8734, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8735
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._pvt_ptr[0] = cyctx
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8735, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8736
 *             pctx = int(CUcontext(ctx))
 *             cyctx = <cydriver.CUcontext><void_ptr>pctx
 *         self._ctx._pvt_ptr[0] = cyctx             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphEdgeData_st:
*/
  (__pyx_v_self->_ctx->_pvt_ptr[0]) = __pyx_v_cyctx;

  /* "cuda/bindings/driver.pyx":8725
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef cydriver.CUcontext cyctx
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.ctx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__, "CUDA_CONDITIONAL_NODE_PARAMS.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__, "CUDA_CONDITIONAL_NODE_PARAMS.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8777
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8777, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8777, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8777, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8777, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8777, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8777, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8778
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8779
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphEdgeData_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8778
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8781
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphEdgeData_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUgraphEdgeData_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8777
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8782
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphEdgeData_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8782, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8782, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8782, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8782, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8782, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8782, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8784
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8786
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_6getPtr, "CUgraphEdgeData_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8787
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8786
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8788
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8789
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8790
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['from_port : ' + str(self.from_port)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8791
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['from_port : ' + str(self.from_port)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8792
 *             str_list = []
 *             try:
 *                 str_list += ['from_port : ' + str(self.from_port)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['from_port : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_from_port_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8792, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8792, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_from_port, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8792, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8792, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8792, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8792, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8791
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['from_port : ' + str(self.from_port)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8793
 *             try:
 *                 str_list += ['from_port : ' + str(self.from_port)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['from_port : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8793, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8794
 *                 str_list += ['from_port : ' + str(self.from_port)]
 *             except ValueError:
 *                 str_list += ['from_port : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['to_port : ' + str(self.to_port)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8794, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_from_port_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_from_port_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_from_port_ValueError) != (0)) __PYX_ERR(0, 8794, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8794, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8791
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['from_port : ' + str(self.from_port)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8795
 *             except ValueError:
 *                 str_list += ['from_port : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['to_port : ' + str(self.to_port)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8796
 *                 str_list += ['from_port : <ValueError>']
 *             try:
 *                 str_list += ['to_port : ' + str(self.to_port)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['to_port : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_to_port_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8796, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8796, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_to_port, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8796, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8796, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8796, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8796, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8795
 *             except ValueError:
 *                 str_list += ['from_port : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['to_port : ' + str(self.to_port)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8797
 *             try:
 *                 str_list += ['to_port : ' + str(self.to_port)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['to_port : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8797, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8798
 *                 str_list += ['to_port : ' + str(self.to_port)]
 *             except ValueError:
 *                 str_list += ['to_port : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8798, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_to_port_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_to_port_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_to_port_ValueError) != (0)) __PYX_ERR(0, 8798, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8798, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8795
 *             except ValueError:
 *                 str_list += ['from_port : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['to_port : ' + str(self.to_port)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8799
 *             except ValueError:
 *                 str_list += ['to_port : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8800
 *                 str_list += ['to_port : <ValueError>']
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8800, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8800, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8800, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8800, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8800, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8800, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8799
 *             except ValueError:
 *                 str_list += ['to_port : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8801
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8801, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8802
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8802, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 8802, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8802, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":8799
 *             except ValueError:
 *                 str_list += ['to_port : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8803
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8804
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8804, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8804, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8804, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8804, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8804, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8804, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8803
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8805
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8805, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8806
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8806, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 8806, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8806, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":8803
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8807
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8807, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8789
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8809
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def from_port(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8788
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8810
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def from_port(self):
 *         return self._pvt_ptr[0].from_port
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8812
 *     @property
 *     def from_port(self):
 *         return self._pvt_ptr[0].from_port             # <<<<<<<<<<<<<<
 *     @from_port.setter
 *     def from_port(self, unsigned char from_port):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_char((__pyx_v_self->_pvt_ptr[0]).from_port); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8810
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def from_port(self):
 *         return self._pvt_ptr[0].from_port
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.from_port.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8813
 *     def from_port(self):
 *         return self._pvt_ptr[0].from_port
 *     @from_port.setter             # <<<<<<<<<<<<<<
 *     def from_port(self, unsigned char from_port):
 *         self._pvt_ptr[0].from_port = from_port
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_from_port); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_from_port) {
  unsigned char __pyx_v_from_port;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_from_port); {
    __pyx_v_from_port = __Pyx_PyLong_As_unsigned_char(__pyx_arg_from_port); if (unlikely((__pyx_v_from_port == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 8814, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.from_port.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self), ((unsigned char)__pyx_v_from_port));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_from_port) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8815
 *     @from_port.setter
 *     def from_port(self, unsigned char from_port):
 *         self._pvt_ptr[0].from_port = from_port             # <<<<<<<<<<<<<<
 *     @property
 *     def to_port(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).from_port = __pyx_v_from_port;

  /* "cuda/bindings/driver.pyx":8813
 *     def from_port(self):
 *         return self._pvt_ptr[0].from_port
 *     @from_port.setter             # <<<<<<<<<<<<<<
 *     def from_port(self, unsigned char from_port):
 *         self._pvt_ptr[0].from_port = from_port
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8816
 *     def from_port(self, unsigned char from_port):
 *         self._pvt_ptr[0].from_port = from_port
 *     @property             # <<<<<<<<<<<<<<
 *     def to_port(self):
 *         return self._pvt_ptr[0].to_port
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8818
 *     @property
 *     def to_port(self):
 *         return self._pvt_ptr[0].to_port             # <<<<<<<<<<<<<<
 *     @to_port.setter
 *     def to_port(self, unsigned char to_port):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_char((__pyx_v_self->_pvt_ptr[0]).to_port); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8816
 *     def from_port(self, unsigned char from_port):
 *         self._pvt_ptr[0].from_port = from_port
 *     @property             # <<<<<<<<<<<<<<
 *     def to_port(self):
 *         return self._pvt_ptr[0].to_port
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.to_port.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8819
 *     def to_port(self):
 *         return self._pvt_ptr[0].to_port
 *     @to_port.setter             # <<<<<<<<<<<<<<
 *     def to_port(self, unsigned char to_port):
 *         self._pvt_ptr[0].to_port = to_port
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_to_port); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_to_port) {
  unsigned char __pyx_v_to_port;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_to_port); {
    __pyx_v_to_port = __Pyx_PyLong_As_unsigned_char(__pyx_arg_to_port); if (unlikely((__pyx_v_to_port == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 8820, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.to_port.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self), ((unsigned char)__pyx_v_to_port));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_to_port) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8821
 *     @to_port.setter
 *     def to_port(self, unsigned char to_port):
 *         self._pvt_ptr[0].to_port = to_port             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).to_port = __pyx_v_to_port;

  /* "cuda/bindings/driver.pyx":8819
 *     def to_port(self):
 *         return self._pvt_ptr[0].to_port
 *     @to_port.setter             # <<<<<<<<<<<<<<
 *     def to_port(self, unsigned char to_port):
 *         self._pvt_ptr[0].to_port = to_port
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8822
 *     def to_port(self, unsigned char to_port):
 *         self._pvt_ptr[0].to_port = to_port
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return self._pvt_ptr[0].type
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8824
 *     @property
 *     def type(self):
 *         return self._pvt_ptr[0].type             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, unsigned char type):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_char((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8822
 *     def to_port(self, unsigned char to_port):
 *         self._pvt_ptr[0].to_port = to_port
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return self._pvt_ptr[0].type
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8825
 *     def type(self):
 *         return self._pvt_ptr[0].type
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, unsigned char type):
 *         self._pvt_ptr[0].type = type
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_type) {
  unsigned char __pyx_v_type;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_type); {
    __pyx_v_type = __Pyx_PyLong_As_unsigned_char(__pyx_arg_type); if (unlikely((__pyx_v_type == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 8826, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self), ((unsigned char)__pyx_v_type));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_type) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":8827
 *     @type.setter
 *     def type(self, unsigned char type):
 *         self._pvt_ptr[0].type = type             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_v_type;

  /* "cuda/bindings/driver.pyx":8825
 *     def type(self):
 *         return self._pvt_ptr[0].type
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, unsigned char type):
 *         self._pvt_ptr[0].type = type
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8828
 *     def type(self, unsigned char type):
 *         self._pvt_ptr[0].type = type
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 5)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8830
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 5)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0]).reserved), 5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8828
 *     def type(self, unsigned char type):
 *         self._pvt_ptr[0].type = type
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 5)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8831
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 5)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 5:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  unsigned char __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8833
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 5:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8833, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 5);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":8834
 *     def reserved(self, reserved):
 *         if len(reserved) != 5:
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].reserved[i] = b
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8834, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_5_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8834, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 8834, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":8833
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 5:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  }

  /* "cuda/bindings/driver.pyx":8835
 *         if len(reserved) != 5:
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].reserved[i] = b
 * 
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
    __pyx_t_5 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8835, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 8835, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 8835, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8835, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 8835, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":8836
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_GRAPH_INSTANTIATE_PARAMS_st:
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 8836, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 8836, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

    /* "cuda/bindings/driver.pyx":8835
 *         if len(reserved) != 5:
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].reserved[i] = b
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":8831
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 5)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 5:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_10__reduce_cython__, "CUgraphEdgeData_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUgraphEdgeData_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_12__setstate_cython__, "CUgraphEdgeData_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUgraphEdgeData_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUgraphEdgeData_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphEdgeData_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8858
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8858, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8858, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8858, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8858, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8858, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8858, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8859
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8860
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8859
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8862
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8858
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8863
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].flags)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8863, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8863, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8863, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8863, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8863, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8863, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8865
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].flags)             # <<<<<<<<<<<<<<
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hUploadStream)
 *         self._hErrNode_out = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].hErrNode_out)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).flags))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8865, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8865, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_flags);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_flags);
  __pyx_v_self->_flags = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8866
 *         pass
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].flags)
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hUploadStream)             # <<<<<<<<<<<<<<
 *         self._hErrNode_out = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].hErrNode_out)
 *     def __dealloc__(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).hUploadStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8866, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8866, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hUploadStream);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hUploadStream);
  __pyx_v_self->_hUploadStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8867
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].flags)
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hUploadStream)
 *         self._hErrNode_out = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].hErrNode_out)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).hErrNode_out))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8867, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8867, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hErrNode_out);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hErrNode_out);
  __pyx_v_self->_hErrNode_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":8863
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].flags)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8868
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hUploadStream)
 *         self._hErrNode_out = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].hErrNode_out)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8870
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr, "CUDA_GRAPH_INSTANTIATE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8871
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8870
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8872
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8873
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8874
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8875
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8876
 *             str_list = []
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8876, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8876, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8876, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8876, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8876, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8876, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8875
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8877
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8877, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8878
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8878, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 8878, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8878, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8875
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8879
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8880
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hUploadStream : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hUploadStream_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8880, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8880, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_hUploadStream, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8880, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8880, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8880, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8880, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8879
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8881
 *             try:
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hUploadStream : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8881, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8882
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]
 *             except ValueError:
 *                 str_list += ['hUploadStream : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8882, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_hUploadStream_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_hUploadStream_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_hUploadStream_ValueError) != (0)) __PYX_ERR(0, 8882, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8882, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8879
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8883
 *             except ValueError:
 *                 str_list += ['hUploadStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8884
 *                 str_list += ['hUploadStream : <ValueError>']
 *             try:
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hErrNode_out : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hErrNode_out_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8884, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8884, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_hErrNode_out, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8884, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8884, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8884, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8884, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8883
 *             except ValueError:
 *                 str_list += ['hUploadStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8885
 *             try:
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hErrNode_out : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8885, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8886
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]
 *             except ValueError:
 *                 str_list += ['hErrNode_out : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['result_out : ' + str(self.result_out)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8886, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_hErrNode_out_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_hErrNode_out_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_hErrNode_out_ValueError) != (0)) __PYX_ERR(0, 8886, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8886, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":8883
 *             except ValueError:
 *                 str_list += ['hUploadStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8887
 *             except ValueError:
 *                 str_list += ['hErrNode_out : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['result_out : ' + str(self.result_out)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8888
 *                 str_list += ['hErrNode_out : <ValueError>']
 *             try:
 *                 str_list += ['result_out : ' + str(self.result_out)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['result_out : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_result_out_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8888, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8888, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_result_out, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8888, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8888, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8888, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8888, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8887
 *             except ValueError:
 *                 str_list += ['hErrNode_out : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['result_out : ' + str(self.result_out)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8889
 *             try:
 *                 str_list += ['result_out : ' + str(self.result_out)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['result_out : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8889, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8890
 *                 str_list += ['result_out : ' + str(self.result_out)]
 *             except ValueError:
 *                 str_list += ['result_out : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8890, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_result_out_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_result_out_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_result_out_ValueError) != (0)) __PYX_ERR(0, 8890, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8890, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":8887
 *             except ValueError:
 *                 str_list += ['hErrNode_out : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['result_out : ' + str(self.result_out)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8891
 *             except ValueError:
 *                 str_list += ['result_out : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8873
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8893
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8872
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8894
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8896
 *     @property
 *     def flags(self):
 *         return self._flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_flags);
  __pyx_r = ((PyObject *)__pyx_v_self->_flags);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8894
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._flags
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8897
 *     def flags(self):
 *         return self._flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, flags):
 *         cdef cydriver.cuuint64_t cyflags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flags) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_flags) {
  cuuint64_t __pyx_v_cyflags;
  PyObject *__pyx_v_pflags = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8900
 *     def flags(self, flags):
 *         cdef cydriver.cuuint64_t cyflags
 *         if flags is None:             # <<<<<<<<<<<<<<
 *             cyflags = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):
*/
  __pyx_t_1 = (__pyx_v_flags == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8901
 *         cdef cydriver.cuuint64_t cyflags
 *         if flags is None:
 *             cyflags = <cydriver.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(flags, (cuuint64_t)):
 *             pflags = int(flags)
*/
    __pyx_v_cyflags = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8900
 *     def flags(self, flags):
 *         cdef cydriver.cuuint64_t cyflags
 *         if flags is None:             # <<<<<<<<<<<<<<
 *             cyflags = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8902
 *         if flags is None:
 *             cyflags = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pflags = int(flags)
 *             cyflags = <cydriver.cuuint64_t><void_ptr>pflags
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_flags, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8903
 *             cyflags = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):
 *             pflags = int(flags)             # <<<<<<<<<<<<<<
 *             cyflags = <cydriver.cuuint64_t><void_ptr>pflags
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pflags = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8904
 *         elif isinstance(flags, (cuuint64_t)):
 *             pflags = int(flags)
 *             cyflags = <cydriver.cuuint64_t><void_ptr>pflags             # <<<<<<<<<<<<<<
 *         else:
 *             pflags = int(cuuint64_t(flags))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pflags); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8904, __pyx_L1_error)
    __pyx_v_cyflags = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8902
 *         if flags is None:
 *             cyflags = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pflags = int(flags)
 *             cyflags = <cydriver.cuuint64_t><void_ptr>pflags
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8906
 *             cyflags = <cydriver.cuuint64_t><void_ptr>pflags
 *         else:
 *             pflags = int(cuuint64_t(flags))             # <<<<<<<<<<<<<<
 *             cyflags = <cydriver.cuuint64_t><void_ptr>pflags
 *         self._flags._pvt_ptr[0] = cyflags
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_flags};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8906, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pflags = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8907
 *         else:
 *             pflags = int(cuuint64_t(flags))
 *             cyflags = <cydriver.cuuint64_t><void_ptr>pflags             # <<<<<<<<<<<<<<
 *         self._flags._pvt_ptr[0] = cyflags
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pflags); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8907, __pyx_L1_error)
    __pyx_v_cyflags = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8908
 *             pflags = int(cuuint64_t(flags))
 *             cyflags = <cydriver.cuuint64_t><void_ptr>pflags
 *         self._flags._pvt_ptr[0] = cyflags             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_flags->_pvt_ptr[0]) = __pyx_v_cyflags;

  /* "cuda/bindings/driver.pyx":8897
 *     def flags(self):
 *         return self._flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, flags):
 *         cdef cydriver.cuuint64_t cyflags
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pflags);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8910
 *         self._flags._pvt_ptr[0] = cyflags
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hUploadStream(self):
 *         return self._hUploadStream
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8912
 *     @property
 *     def hUploadStream(self):
 *         return self._hUploadStream             # <<<<<<<<<<<<<<
 *     @hUploadStream.setter
 *     def hUploadStream(self, hUploadStream):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_hUploadStream);
  __pyx_r = ((PyObject *)__pyx_v_self->_hUploadStream);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8910
 *         self._flags._pvt_ptr[0] = cyflags
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hUploadStream(self):
 *         return self._hUploadStream
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8913
 *     def hUploadStream(self):
 *         return self._hUploadStream
 *     @hUploadStream.setter             # <<<<<<<<<<<<<<
 *     def hUploadStream(self, hUploadStream):
 *         cdef cydriver.CUstream cyhUploadStream
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hUploadStream); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hUploadStream) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_hUploadStream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hUploadStream) {
  CUstream __pyx_v_cyhUploadStream;
  PyObject *__pyx_v_phUploadStream = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8916
 *     def hUploadStream(self, hUploadStream):
 *         cdef cydriver.CUstream cyhUploadStream
 *         if hUploadStream is None:             # <<<<<<<<<<<<<<
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hUploadStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8917
 *         cdef cydriver.CUstream cyhUploadStream
 *         if hUploadStream is None:
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hUploadStream, (CUstream,)):
 *             phUploadStream = int(hUploadStream)
*/
    __pyx_v_cyhUploadStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8916
 *     def hUploadStream(self, hUploadStream):
 *         cdef cydriver.CUstream cyhUploadStream
 *         if hUploadStream is None:             # <<<<<<<<<<<<<<
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8918
 *         if hUploadStream is None:
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phUploadStream = int(hUploadStream)
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hUploadStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8919
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):
 *             phUploadStream = int(hUploadStream)             # <<<<<<<<<<<<<<
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hUploadStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phUploadStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8920
 *         elif isinstance(hUploadStream, (CUstream,)):
 *             phUploadStream = int(hUploadStream)
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream             # <<<<<<<<<<<<<<
 *         else:
 *             phUploadStream = int(CUstream(hUploadStream))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phUploadStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8920, __pyx_L1_error)
    __pyx_v_cyhUploadStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8918
 *         if hUploadStream is None:
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phUploadStream = int(hUploadStream)
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8922
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream
 *         else:
 *             phUploadStream = int(CUstream(hUploadStream))             # <<<<<<<<<<<<<<
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream
 *         self._hUploadStream._pvt_ptr[0] = cyhUploadStream
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hUploadStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8922, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phUploadStream = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8923
 *         else:
 *             phUploadStream = int(CUstream(hUploadStream))
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream             # <<<<<<<<<<<<<<
 *         self._hUploadStream._pvt_ptr[0] = cyhUploadStream
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phUploadStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8923, __pyx_L1_error)
    __pyx_v_cyhUploadStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8924
 *             phUploadStream = int(CUstream(hUploadStream))
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream
 *         self._hUploadStream._pvt_ptr[0] = cyhUploadStream             # <<<<<<<<<<<<<<
 *     @property
 *     def hErrNode_out(self):
*/
  (__pyx_v_self->_hUploadStream->_pvt_ptr[0]) = __pyx_v_cyhUploadStream;

  /* "cuda/bindings/driver.pyx":8913
 *     def hUploadStream(self):
 *         return self._hUploadStream
 *     @hUploadStream.setter             # <<<<<<<<<<<<<<
 *     def hUploadStream(self, hUploadStream):
 *         cdef cydriver.CUstream cyhUploadStream
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.hUploadStream.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phUploadStream);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8925
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream
 *         self._hUploadStream._pvt_ptr[0] = cyhUploadStream
 *     @property             # <<<<<<<<<<<<<<
 *     def hErrNode_out(self):
 *         return self._hErrNode_out
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8927
 *     @property
 *     def hErrNode_out(self):
 *         return self._hErrNode_out             # <<<<<<<<<<<<<<
 *     @hErrNode_out.setter
 *     def hErrNode_out(self, hErrNode_out):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_hErrNode_out);
  __pyx_r = ((PyObject *)__pyx_v_self->_hErrNode_out);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8925
 *             cyhUploadStream = <cydriver.CUstream><void_ptr>phUploadStream
 *         self._hUploadStream._pvt_ptr[0] = cyhUploadStream
 *     @property             # <<<<<<<<<<<<<<
 *     def hErrNode_out(self):
 *         return self._hErrNode_out
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8928
 *     def hErrNode_out(self):
 *         return self._hErrNode_out
 *     @hErrNode_out.setter             # <<<<<<<<<<<<<<
 *     def hErrNode_out(self, hErrNode_out):
 *         cdef cydriver.CUgraphNode cyhErrNode_out
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hErrNode_out); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hErrNode_out) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_hErrNode_out));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hErrNode_out) {
  CUgraphNode __pyx_v_cyhErrNode_out;
  PyObject *__pyx_v_phErrNode_out = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8931
 *     def hErrNode_out(self, hErrNode_out):
 *         cdef cydriver.CUgraphNode cyhErrNode_out
 *         if hErrNode_out is None:             # <<<<<<<<<<<<<<
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hErrNode_out == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8932
 *         cdef cydriver.CUgraphNode cyhErrNode_out
 *         if hErrNode_out is None:
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
 *             phErrNode_out = int(hErrNode_out)
*/
    __pyx_v_cyhErrNode_out = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":8931
 *     def hErrNode_out(self, hErrNode_out):
 *         cdef cydriver.CUgraphNode cyhErrNode_out
 *         if hErrNode_out is None:             # <<<<<<<<<<<<<<
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8933
 *         if hErrNode_out is None:
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             phErrNode_out = int(hErrNode_out)
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hErrNode_out, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8934
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
 *             phErrNode_out = int(hErrNode_out)             # <<<<<<<<<<<<<<
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hErrNode_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phErrNode_out = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8935
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
 *             phErrNode_out = int(hErrNode_out)
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out             # <<<<<<<<<<<<<<
 *         else:
 *             phErrNode_out = int(CUgraphNode(hErrNode_out))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phErrNode_out); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8935, __pyx_L1_error)
    __pyx_v_cyhErrNode_out = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8933
 *         if hErrNode_out is None:
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             phErrNode_out = int(hErrNode_out)
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8937
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out
 *         else:
 *             phErrNode_out = int(CUgraphNode(hErrNode_out))             # <<<<<<<<<<<<<<
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out
 *         self._hErrNode_out._pvt_ptr[0] = cyhErrNode_out
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hErrNode_out};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8937, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phErrNode_out = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":8938
 *         else:
 *             phErrNode_out = int(CUgraphNode(hErrNode_out))
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out             # <<<<<<<<<<<<<<
 *         self._hErrNode_out._pvt_ptr[0] = cyhErrNode_out
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phErrNode_out); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8938, __pyx_L1_error)
    __pyx_v_cyhErrNode_out = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8939
 *             phErrNode_out = int(CUgraphNode(hErrNode_out))
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out
 *         self._hErrNode_out._pvt_ptr[0] = cyhErrNode_out             # <<<<<<<<<<<<<<
 *     @property
 *     def result_out(self):
*/
  (__pyx_v_self->_hErrNode_out->_pvt_ptr[0]) = __pyx_v_cyhErrNode_out;

  /* "cuda/bindings/driver.pyx":8928
 *     def hErrNode_out(self):
 *         return self._hErrNode_out
 *     @hErrNode_out.setter             # <<<<<<<<<<<<<<
 *     def hErrNode_out(self, hErrNode_out):
 *         cdef cydriver.CUgraphNode cyhErrNode_out
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.hErrNode_out.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phErrNode_out);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8940
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out
 *         self._hErrNode_out._pvt_ptr[0] = cyhErrNode_out
 *     @property             # <<<<<<<<<<<<<<
 *     def result_out(self):
 *         if self._pvt_ptr[0].result_out not in _dict_CUgraphInstantiateResult:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8942
 *     @property
 *     def result_out(self):
 *         if self._pvt_ptr[0].result_out not in _dict_CUgraphInstantiateResult:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphInstantiateResult[self._pvt_ptr[0].result_out]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum((__pyx_v_self->_pvt_ptr[0]).result_out); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphInstantiateResult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 8942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":8943
 *     def result_out(self):
 *         if self._pvt_ptr[0].result_out not in _dict_CUgraphInstantiateResult:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUgraphInstantiateResult[self._pvt_ptr[0].result_out]
 *     @result_out.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8942
 *     @property
 *     def result_out(self):
 *         if self._pvt_ptr[0].result_out not in _dict_CUgraphInstantiateResult:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphInstantiateResult[self._pvt_ptr[0].result_out]
*/
  }

  /* "cuda/bindings/driver.pyx":8944
 *         if self._pvt_ptr[0].result_out not in _dict_CUgraphInstantiateResult:
 *             return None
 *         return _dict_CUgraphInstantiateResult[self._pvt_ptr[0].result_out]             # <<<<<<<<<<<<<<
 *     @result_out.setter
 *     def result_out(self, result_out not None : CUgraphInstantiateResult):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphInstantiateResult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum((__pyx_v_self->_pvt_ptr[0]).result_out); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8940
 *             cyhErrNode_out = <cydriver.CUgraphNode><void_ptr>phErrNode_out
 *         self._hErrNode_out._pvt_ptr[0] = cyhErrNode_out
 *     @property             # <<<<<<<<<<<<<<
 *     def result_out(self):
 *         if self._pvt_ptr[0].result_out not in _dict_CUgraphInstantiateResult:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.result_out.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8945
 *             return None
 *         return _dict_CUgraphInstantiateResult[self._pvt_ptr[0].result_out]
 *     @result_out.setter             # <<<<<<<<<<<<<<
 *     def result_out(self, result_out not None : CUgraphInstantiateResult):
 *         self._pvt_ptr[0].result_out = result_out.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_result_out); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_result_out) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_result_out) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "result_out"); __PYX_ERR(0, 8946, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_result_out));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_result_out) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUgraphInstantiateResult __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8947
 *     @result_out.setter
 *     def result_out(self, result_out not None : CUgraphInstantiateResult):
 *         self._pvt_ptr[0].result_out = result_out.value             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchMemSyncDomainMap_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_out, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphInstantiateResult_enum)__Pyx_PyLong_As_enum__CUgraphInstantiateResult_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).result_out = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":8945
 *             return None
 *         return _dict_CUgraphInstantiateResult[self._pvt_ptr[0].result_out]
 *     @result_out.setter             # <<<<<<<<<<<<<<
 *     def result_out(self, result_out not None : CUgraphInstantiateResult):
 *         self._pvt_ptr[0].result_out = result_out.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.result_out.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__, "CUDA_GRAPH_INSTANTIATE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__, "CUDA_GRAPH_INSTANTIATE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8971
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8971, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8971, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 8971, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8971, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8971, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8971, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":8972
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8973
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchMemSyncDomainMap_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":8972
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8975
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchMemSyncDomainMap_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUlaunchMemSyncDomainMap_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8971
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8976
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchMemSyncDomainMap_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 8976, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8976, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 8976, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 8976, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8976, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 8976, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8978
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":8980
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6getPtr, "CUlaunchMemSyncDomainMap_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":8981
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8980
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8982
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8983
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":8984
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['default_ : ' + str(self.default_)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8985
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['default_ : ' + str(self.default_)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8986
 *             str_list = []
 *             try:
 *                 str_list += ['default_ : ' + str(self.default_)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['default_ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_default_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8986, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8986, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_default, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8986, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8986, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 8986, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8986, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":8985
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['default_ : ' + str(self.default_)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":8987
 *             try:
 *                 str_list += ['default_ : ' + str(self.default_)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['default_ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8987, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8988
 *                 str_list += ['default_ : ' + str(self.default_)]
 *             except ValueError:
 *                 str_list += ['default_ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['remote : ' + str(self.remote)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8988, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_default__ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_default__ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_default__ValueError) != (0)) __PYX_ERR(0, 8988, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8988, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":8985
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['default_ : ' + str(self.default_)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8989
 *             except ValueError:
 *                 str_list += ['default_ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['remote : ' + str(self.remote)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":8990
 *                 str_list += ['default_ : <ValueError>']
 *             try:
 *                 str_list += ['remote : ' + str(self.remote)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['remote : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_remote_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8990, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8990, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_remote, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8990, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8990, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 8990, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8990, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":8989
 *             except ValueError:
 *                 str_list += ['default_ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['remote : ' + str(self.remote)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8991
 *             try:
 *                 str_list += ['remote : ' + str(self.remote)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['remote : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8991, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8992
 *                 str_list += ['remote : ' + str(self.remote)]
 *             except ValueError:
 *                 str_list += ['remote : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8992, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_remote_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_remote_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_remote_ValueError) != (0)) __PYX_ERR(0, 8992, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8992, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":8989
 *             except ValueError:
 *                 str_list += ['default_ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['remote : ' + str(self.remote)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":8993
 *             except ValueError:
 *                 str_list += ['remote : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8983
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8995
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def default_(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":8982
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8996
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def default_(self):
 *         return self._pvt_ptr[0].default_
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default____get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default____get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":8998
 *     @property
 *     def default_(self):
 *         return self._pvt_ptr[0].default_             # <<<<<<<<<<<<<<
 *     @default_.setter
 *     def default_(self, unsigned char default_):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_char((__pyx_v_self->_pvt_ptr[0]).default_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8996
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def default_(self):
 *         return self._pvt_ptr[0].default_
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.default_.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":8999
 *     def default_(self):
 *         return self._pvt_ptr[0].default_
 *     @default_.setter             # <<<<<<<<<<<<<<
 *     def default_(self, unsigned char default_):
 *         self._pvt_ptr[0].default_ = default_
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_default_); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_default_) {
  unsigned char __pyx_v_default_;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_default_); {
    __pyx_v_default_ = __Pyx_PyLong_As_unsigned_char(__pyx_arg_default_); if (unlikely((__pyx_v_default_ == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 9000, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.default_.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), ((unsigned char)__pyx_v_default_));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, unsigned char __pyx_v_default_) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9001
 *     @default_.setter
 *     def default_(self, unsigned char default_):
 *         self._pvt_ptr[0].default_ = default_             # <<<<<<<<<<<<<<
 *     @property
 *     def remote(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).default_ = __pyx_v_default_;

  /* "cuda/bindings/driver.pyx":8999
 *     def default_(self):
 *         return self._pvt_ptr[0].default_
 *     @default_.setter             # <<<<<<<<<<<<<<
 *     def default_(self, unsigned char default_):
 *         self._pvt_ptr[0].default_ = default_
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9002
 *     def default_(self, unsigned char default_):
 *         self._pvt_ptr[0].default_ = default_
 *     @property             # <<<<<<<<<<<<<<
 *     def remote(self):
 *         return self._pvt_ptr[0].remote
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9004
 *     @property
 *     def remote(self):
 *         return self._pvt_ptr[0].remote             # <<<<<<<<<<<<<<
 *     @remote.setter
 *     def remote(self, unsigned char remote):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_char((__pyx_v_self->_pvt_ptr[0]).remote); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9002
 *     def default_(self, unsigned char default_):
 *         self._pvt_ptr[0].default_ = default_
 *     @property             # <<<<<<<<<<<<<<
 *     def remote(self):
 *         return self._pvt_ptr[0].remote
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.remote.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9005
 *     def remote(self):
 *         return self._pvt_ptr[0].remote
 *     @remote.setter             # <<<<<<<<<<<<<<
 *     def remote(self, unsigned char remote):
 *         self._pvt_ptr[0].remote = remote
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_remote); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_remote) {
  unsigned char __pyx_v_remote;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_remote); {
    __pyx_v_remote = __Pyx_PyLong_As_unsigned_char(__pyx_arg_remote); if (unlikely((__pyx_v_remote == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 9006, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.remote.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), ((unsigned char)__pyx_v_remote));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, unsigned char __pyx_v_remote) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9007
 *     @remote.setter
 *     def remote(self, unsigned char remote):
 *         self._pvt_ptr[0].remote = remote             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct1:
*/
  (__pyx_v_self->_pvt_ptr[0]).remote = __pyx_v_remote;

  /* "cuda/bindings/driver.pyx":9005
 *     def remote(self):
 *         return self._pvt_ptr[0].remote
 *     @remote.setter             # <<<<<<<<<<<<<<
 *     def remote(self, unsigned char remote):
 *         self._pvt_ptr[0].remote = remote
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__, "CUlaunchMemSyncDomainMap_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__, "CUlaunchMemSyncDomainMap_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchMemSyncDomainMap_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9025
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9025, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9025, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 9025, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9025, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9025, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9025, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9026
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":9025
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9028
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9028, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9028, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9028, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 9028, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9028, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9028, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9028, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9030
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9032
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].clusterDim
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct1_6getPtr, "anon_struct1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct1_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct1_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9033
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].clusterDim             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).clusterDim))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9032
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].clusterDim
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9034
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].clusterDim
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9035
 *         return <void_ptr>&self._pvt_ptr[0].clusterDim
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9036
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9037
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9038
 *             str_list = []
 *             try:
 *                 str_list += ['x : ' + str(self.x)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9038, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9038, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_x_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9038, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9038, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9038, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9038, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9037
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9039
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9039, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9040
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9040, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_x_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_x_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_x_ValueError) != (0)) __PYX_ERR(0, 9040, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9040, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9037
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9041
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9042
 *                 str_list += ['x : <ValueError>']
 *             try:
 *                 str_list += ['y : ' + str(self.y)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_y_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9042, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9042, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_y, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9042, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9042, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9042, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9042, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9041
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9043
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9043, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9044
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9044, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_y_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_y_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_y_ValueError) != (0)) __PYX_ERR(0, 9044, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9044, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9041
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9045
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9046
 *                 str_list += ['y : <ValueError>']
 *             try:
 *                 str_list += ['z : ' + str(self.z)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_z_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9046, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9046, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_z, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9046, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9046, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9046, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9046, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9045
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9047
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9047, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9048
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9048, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_z_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_z_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_z_ValueError) != (0)) __PYX_ERR(0, 9048, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9048, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":9045
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9049
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9035
 *         return <void_ptr>&self._pvt_ptr[0].clusterDim
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9051
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def x(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9034
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].clusterDim
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9052
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def x(self):
 *         return self._pvt_ptr[0].clusterDim.x
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1x_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1x___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1x___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9054
 *     @property
 *     def x(self):
 *         return self._pvt_ptr[0].clusterDim.x             # <<<<<<<<<<<<<<
 *     @x.setter
 *     def x(self, unsigned int x):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).clusterDim.x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9052
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def x(self):
 *         return self._pvt_ptr[0].clusterDim.x
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9055
 *     def x(self):
 *         return self._pvt_ptr[0].clusterDim.x
 *     @x.setter             # <<<<<<<<<<<<<<
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].clusterDim.x = x
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x) {
  unsigned int __pyx_v_x;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_x); {
    __pyx_v_x = __Pyx_PyLong_As_unsigned_int(__pyx_arg_x); if (unlikely((__pyx_v_x == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9056, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1x_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self), ((unsigned int)__pyx_v_x));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1x_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_x) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9057
 *     @x.setter
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].clusterDim.x = x             # <<<<<<<<<<<<<<
 *     @property
 *     def y(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).clusterDim.x = __pyx_v_x;

  /* "cuda/bindings/driver.pyx":9055
 *     def x(self):
 *         return self._pvt_ptr[0].clusterDim.x
 *     @x.setter             # <<<<<<<<<<<<<<
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].clusterDim.x = x
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9058
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].clusterDim.x = x
 *     @property             # <<<<<<<<<<<<<<
 *     def y(self):
 *         return self._pvt_ptr[0].clusterDim.y
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1y_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1y___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1y___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9060
 *     @property
 *     def y(self):
 *         return self._pvt_ptr[0].clusterDim.y             # <<<<<<<<<<<<<<
 *     @y.setter
 *     def y(self, unsigned int y):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).clusterDim.y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9058
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].clusterDim.x = x
 *     @property             # <<<<<<<<<<<<<<
 *     def y(self):
 *         return self._pvt_ptr[0].clusterDim.y
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9061
 *     def y(self):
 *         return self._pvt_ptr[0].clusterDim.y
 *     @y.setter             # <<<<<<<<<<<<<<
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].clusterDim.y = y
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y) {
  unsigned int __pyx_v_y;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_y); {
    __pyx_v_y = __Pyx_PyLong_As_unsigned_int(__pyx_arg_y); if (unlikely((__pyx_v_y == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9062, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1y_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self), ((unsigned int)__pyx_v_y));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1y_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_y) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9063
 *     @y.setter
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].clusterDim.y = y             # <<<<<<<<<<<<<<
 *     @property
 *     def z(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).clusterDim.y = __pyx_v_y;

  /* "cuda/bindings/driver.pyx":9061
 *     def y(self):
 *         return self._pvt_ptr[0].clusterDim.y
 *     @y.setter             # <<<<<<<<<<<<<<
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].clusterDim.y = y
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9064
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].clusterDim.y = y
 *     @property             # <<<<<<<<<<<<<<
 *     def z(self):
 *         return self._pvt_ptr[0].clusterDim.z
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1z_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1z___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1z___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9066
 *     @property
 *     def z(self):
 *         return self._pvt_ptr[0].clusterDim.z             # <<<<<<<<<<<<<<
 *     @z.setter
 *     def z(self, unsigned int z):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).clusterDim.z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9064
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].clusterDim.y = y
 *     @property             # <<<<<<<<<<<<<<
 *     def z(self):
 *         return self._pvt_ptr[0].clusterDim.z
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.z.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9067
 *     def z(self):
 *         return self._pvt_ptr[0].clusterDim.z
 *     @z.setter             # <<<<<<<<<<<<<<
 *     def z(self, unsigned int z):
 *         self._pvt_ptr[0].clusterDim.z = z
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z) {
  unsigned int __pyx_v_z;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_z); {
    __pyx_v_z = __Pyx_PyLong_As_unsigned_int(__pyx_arg_z); if (unlikely((__pyx_v_z == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9068, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1z_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self), ((unsigned int)__pyx_v_z));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_1z_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_z) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9069
 *     @z.setter
 *     def z(self, unsigned int z):
 *         self._pvt_ptr[0].clusterDim.z = z             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct2:
*/
  (__pyx_v_self->_pvt_ptr[0]).clusterDim.z = __pyx_v_z;

  /* "cuda/bindings/driver.pyx":9067
 *     def z(self):
 *         return self._pvt_ptr[0].clusterDim.z
 *     @z.setter             # <<<<<<<<<<<<<<
 *     def z(self, unsigned int z):
 *         self._pvt_ptr[0].clusterDim.z = z
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct1_10__reduce_cython__, "anon_struct1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct1_12__setstate_cython__, "anon_struct1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct1_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9087
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9087, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9087, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9087, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 9087, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9087, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9087, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9087, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9088
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":9087
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9090
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].programmaticEvent.event)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9090, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9090, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9090, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 9090, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9090, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9090, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9090, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9092
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].programmaticEvent.event)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).programmaticEvent.event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9092, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9092, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_event);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_event);
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9090
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].programmaticEvent.event)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9093
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].programmaticEvent.event)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9095
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].programmaticEvent
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct2_6getPtr, "anon_struct2.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct2_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct2_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9096
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].programmaticEvent             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).programmaticEvent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9095
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].programmaticEvent
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9097
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].programmaticEvent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9098
 *         return <void_ptr>&self._pvt_ptr[0].programmaticEvent
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9099
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9100
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9101
 *             str_list = []
 *             try:
 *                 str_list += ['event : ' + str(self.event)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9101, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9101, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_event, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9101, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9101, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9101, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9101, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9100
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9102
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9102, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9103
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9103, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_event_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_event_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_event_ValueError) != (0)) __PYX_ERR(0, 9103, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9103, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9100
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9104
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9105
 *                 str_list += ['event : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9105, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9105, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9105, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9105, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9105, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9105, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9104
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9106
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9106, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9107
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9107, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 9107, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9107, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9104
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9108
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9109
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['triggerAtBlockStart : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_triggerAtBlockStart_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9109, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9109, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_triggerAtBlockStart, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9109, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9109, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9109, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9109, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9108
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9110
 *             try:
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['triggerAtBlockStart : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9110, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9111
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             except ValueError:
 *                 str_list += ['triggerAtBlockStart : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9111, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_triggerAtBlockStart_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_triggerAtBlockStart_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_triggerAtBlockStart_ValueError) != (0)) __PYX_ERR(0, 9111, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9111, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":9108
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9112
 *             except ValueError:
 *                 str_list += ['triggerAtBlockStart : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9098
 *         return <void_ptr>&self._pvt_ptr[0].programmaticEvent
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9114
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def event(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9097
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].programmaticEvent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9115
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5event_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5event___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5event___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9117
 *     @property
 *     def event(self):
 *         return self._event             # <<<<<<<<<<<<<<
 *     @event.setter
 *     def event(self, event):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_event);
  __pyx_r = ((PyObject *)__pyx_v_self->_event);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9115
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9118
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5event_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self), ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5event_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9121
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9122
 *         cdef cydriver.CUevent cyevent
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
*/
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":9121
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9123
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9124
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9125
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(CUevent(event))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9125, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9123
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9127
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         else:
 *             pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9127, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":9128
 *         else:
 *             pevent = int(CUevent(event))
 *             cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._pvt_ptr[0] = cyevent
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9128, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9129
 *             pevent = int(CUevent(event))
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_event->_pvt_ptr[0]) = __pyx_v_cyevent;

  /* "cuda/bindings/driver.pyx":9118
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.event.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9130
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].programmaticEvent.flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9132
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].programmaticEvent.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).programmaticEvent.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9130
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].programmaticEvent.flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9133
 *     def flags(self):
 *         return self._pvt_ptr[0].programmaticEvent.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].programmaticEvent.flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9134, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9135
 *     @flags.setter
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].programmaticEvent.flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def triggerAtBlockStart(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).programmaticEvent.flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":9133
 *     def flags(self):
 *         return self._pvt_ptr[0].programmaticEvent.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].programmaticEvent.flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9136
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].programmaticEvent.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def triggerAtBlockStart(self):
 *         return self._pvt_ptr[0].programmaticEvent.triggerAtBlockStart
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9138
 *     @property
 *     def triggerAtBlockStart(self):
 *         return self._pvt_ptr[0].programmaticEvent.triggerAtBlockStart             # <<<<<<<<<<<<<<
 *     @triggerAtBlockStart.setter
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).programmaticEvent.triggerAtBlockStart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9136
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].programmaticEvent.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def triggerAtBlockStart(self):
 *         return self._pvt_ptr[0].programmaticEvent.triggerAtBlockStart
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.triggerAtBlockStart.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9139
 *     def triggerAtBlockStart(self):
 *         return self._pvt_ptr[0].programmaticEvent.triggerAtBlockStart
 *     @triggerAtBlockStart.setter             # <<<<<<<<<<<<<<
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
 *         self._pvt_ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_triggerAtBlockStart); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_triggerAtBlockStart) {
  int __pyx_v_triggerAtBlockStart;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_triggerAtBlockStart); {
    __pyx_v_triggerAtBlockStart = __Pyx_PyLong_As_int(__pyx_arg_triggerAtBlockStart); if (unlikely((__pyx_v_triggerAtBlockStart == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9140, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.triggerAtBlockStart.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self), ((int)__pyx_v_triggerAtBlockStart));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, int __pyx_v_triggerAtBlockStart) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9141
 *     @triggerAtBlockStart.setter
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
 *         self._pvt_ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct3:
*/
  (__pyx_v_self->_pvt_ptr[0]).programmaticEvent.triggerAtBlockStart = __pyx_v_triggerAtBlockStart;

  /* "cuda/bindings/driver.pyx":9139
 *     def triggerAtBlockStart(self):
 *         return self._pvt_ptr[0].programmaticEvent.triggerAtBlockStart
 *     @triggerAtBlockStart.setter             # <<<<<<<<<<<<<<
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
 *         self._pvt_ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct2_10__reduce_cython__, "anon_struct2.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct2_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct2_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct2_12__setstate_cython__, "anon_struct2.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct2_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct2_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct2_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9157
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9157, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9157, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9157, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 9157, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9157, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9157, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9157, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct3___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9158
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":9157
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9160
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].launchCompletionEvent.event)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9160, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9160, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9160, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 9160, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9160, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9160, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9160, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9162
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].launchCompletionEvent.event)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).launchCompletionEvent.event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9162, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9162, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_event);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_event);
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9160
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].launchCompletionEvent.event)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9163
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].launchCompletionEvent.event)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9165
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].launchCompletionEvent
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct3_6getPtr, "anon_struct3.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct3_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct3_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9166
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].launchCompletionEvent             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).launchCompletionEvent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9165
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].launchCompletionEvent
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9167
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].launchCompletionEvent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9168
 *         return <void_ptr>&self._pvt_ptr[0].launchCompletionEvent
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9169
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9170
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9171
 *             str_list = []
 *             try:
 *                 str_list += ['event : ' + str(self.event)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9171, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9171, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_event, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9171, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9171, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9171, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9171, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9170
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9172
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9172, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9173
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9173, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_event_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_event_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_event_ValueError) != (0)) __PYX_ERR(0, 9173, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9173, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9170
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9174
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9175
 *                 str_list += ['event : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9175, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9175, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9175, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9175, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9175, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9175, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9174
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9176
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9176, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9177
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9177, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 9177, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9177, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9174
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9178
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9168
 *         return <void_ptr>&self._pvt_ptr[0].launchCompletionEvent
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9180
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def event(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9167
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].launchCompletionEvent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9181
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5event_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5event___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5event___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9183
 *     @property
 *     def event(self):
 *         return self._event             # <<<<<<<<<<<<<<
 *     @event.setter
 *     def event(self, event):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_event);
  __pyx_r = ((PyObject *)__pyx_v_self->_event);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9181
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9184
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5event_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self), ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5event_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9187
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9188
 *         cdef cydriver.CUevent cyevent
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
*/
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":9187
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9189
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9190
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9191
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(CUevent(event))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9191, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9189
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9193
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         else:
 *             pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9193, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":9194
 *         else:
 *             pevent = int(CUevent(event))
 *             cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._pvt_ptr[0] = cyevent
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9194, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9195
 *             pevent = int(CUevent(event))
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_event->_pvt_ptr[0]) = __pyx_v_cyevent;

  /* "cuda/bindings/driver.pyx":9184
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.event.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9196
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].launchCompletionEvent.flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9198
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].launchCompletionEvent.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).launchCompletionEvent.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9196
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].launchCompletionEvent.flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9199
 *     def flags(self):
 *         return self._pvt_ptr[0].launchCompletionEvent.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].launchCompletionEvent.flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9200, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9201
 *     @flags.setter
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].launchCompletionEvent.flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct4:
*/
  (__pyx_v_self->_pvt_ptr[0]).launchCompletionEvent.flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":9199
 *     def flags(self):
 *         return self._pvt_ptr[0].launchCompletionEvent.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].launchCompletionEvent.flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct3_10__reduce_cython__, "anon_struct3.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct3_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct3_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct3_12__setstate_cython__, "anon_struct3.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct3_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct3_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct3_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct3.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9219
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9219, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9219, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9219, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 9219, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9219, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9219, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9219, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9220
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":9219
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9222
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9222, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9222, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9222, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 9222, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9222, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9222, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9222, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9224
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9226
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].preferredClusterDim
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct4_6getPtr, "anon_struct4.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct4_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct4_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9227
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].preferredClusterDim             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).preferredClusterDim))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9226
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].preferredClusterDim
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9228
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].preferredClusterDim
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9229
 *         return <void_ptr>&self._pvt_ptr[0].preferredClusterDim
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9230
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9231
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9232
 *             str_list = []
 *             try:
 *                 str_list += ['x : ' + str(self.x)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9232, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9232, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_x_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9232, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9232, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9232, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9232, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9231
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9233
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9233, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9234
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9234, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_x_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_x_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_x_ValueError) != (0)) __PYX_ERR(0, 9234, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9234, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9231
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9235
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9236
 *                 str_list += ['x : <ValueError>']
 *             try:
 *                 str_list += ['y : ' + str(self.y)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_y_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9236, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9236, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_y, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9236, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9236, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9236, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9236, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9235
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9237
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9237, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9238
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9238, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_y_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_y_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_y_ValueError) != (0)) __PYX_ERR(0, 9238, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9238, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9235
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9239
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9240
 *                 str_list += ['y : <ValueError>']
 *             try:
 *                 str_list += ['z : ' + str(self.z)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_z_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9240, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9240, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_z, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9240, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9240, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9240, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9240, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9239
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9241
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9241, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9242
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9242, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_z_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_z_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_z_ValueError) != (0)) __PYX_ERR(0, 9242, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9242, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":9239
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9243
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9229
 *         return <void_ptr>&self._pvt_ptr[0].preferredClusterDim
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9245
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def x(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9228
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].preferredClusterDim
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9246
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def x(self):
 *         return self._pvt_ptr[0].preferredClusterDim.x
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1x_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1x___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1x___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9248
 *     @property
 *     def x(self):
 *         return self._pvt_ptr[0].preferredClusterDim.x             # <<<<<<<<<<<<<<
 *     @x.setter
 *     def x(self, unsigned int x):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).preferredClusterDim.x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9246
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def x(self):
 *         return self._pvt_ptr[0].preferredClusterDim.x
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9249
 *     def x(self):
 *         return self._pvt_ptr[0].preferredClusterDim.x
 *     @x.setter             # <<<<<<<<<<<<<<
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].preferredClusterDim.x = x
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x) {
  unsigned int __pyx_v_x;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_x); {
    __pyx_v_x = __Pyx_PyLong_As_unsigned_int(__pyx_arg_x); if (unlikely((__pyx_v_x == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9250, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1x_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self), ((unsigned int)__pyx_v_x));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1x_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, unsigned int __pyx_v_x) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9251
 *     @x.setter
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].preferredClusterDim.x = x             # <<<<<<<<<<<<<<
 *     @property
 *     def y(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).preferredClusterDim.x = __pyx_v_x;

  /* "cuda/bindings/driver.pyx":9249
 *     def x(self):
 *         return self._pvt_ptr[0].preferredClusterDim.x
 *     @x.setter             # <<<<<<<<<<<<<<
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].preferredClusterDim.x = x
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9252
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].preferredClusterDim.x = x
 *     @property             # <<<<<<<<<<<<<<
 *     def y(self):
 *         return self._pvt_ptr[0].preferredClusterDim.y
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1y_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1y___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1y___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9254
 *     @property
 *     def y(self):
 *         return self._pvt_ptr[0].preferredClusterDim.y             # <<<<<<<<<<<<<<
 *     @y.setter
 *     def y(self, unsigned int y):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).preferredClusterDim.y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9252
 *     def x(self, unsigned int x):
 *         self._pvt_ptr[0].preferredClusterDim.x = x
 *     @property             # <<<<<<<<<<<<<<
 *     def y(self):
 *         return self._pvt_ptr[0].preferredClusterDim.y
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9255
 *     def y(self):
 *         return self._pvt_ptr[0].preferredClusterDim.y
 *     @y.setter             # <<<<<<<<<<<<<<
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].preferredClusterDim.y = y
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y) {
  unsigned int __pyx_v_y;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_y); {
    __pyx_v_y = __Pyx_PyLong_As_unsigned_int(__pyx_arg_y); if (unlikely((__pyx_v_y == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9256, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1y_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self), ((unsigned int)__pyx_v_y));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1y_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, unsigned int __pyx_v_y) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9257
 *     @y.setter
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].preferredClusterDim.y = y             # <<<<<<<<<<<<<<
 *     @property
 *     def z(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).preferredClusterDim.y = __pyx_v_y;

  /* "cuda/bindings/driver.pyx":9255
 *     def y(self):
 *         return self._pvt_ptr[0].preferredClusterDim.y
 *     @y.setter             # <<<<<<<<<<<<<<
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].preferredClusterDim.y = y
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9258
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].preferredClusterDim.y = y
 *     @property             # <<<<<<<<<<<<<<
 *     def z(self):
 *         return self._pvt_ptr[0].preferredClusterDim.z
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1z_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1z___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1z___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9260
 *     @property
 *     def z(self):
 *         return self._pvt_ptr[0].preferredClusterDim.z             # <<<<<<<<<<<<<<
 *     @z.setter
 *     def z(self, unsigned int z):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).preferredClusterDim.z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9258
 *     def y(self, unsigned int y):
 *         self._pvt_ptr[0].preferredClusterDim.y = y
 *     @property             # <<<<<<<<<<<<<<
 *     def z(self):
 *         return self._pvt_ptr[0].preferredClusterDim.z
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.z.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9261
 *     def z(self):
 *         return self._pvt_ptr[0].preferredClusterDim.z
 *     @z.setter             # <<<<<<<<<<<<<<
 *     def z(self, unsigned int z):
 *         self._pvt_ptr[0].preferredClusterDim.z = z
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z) {
  unsigned int __pyx_v_z;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_z); {
    __pyx_v_z = __Pyx_PyLong_As_unsigned_int(__pyx_arg_z); if (unlikely((__pyx_v_z == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9262, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1z_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self), ((unsigned int)__pyx_v_z));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_1z_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, unsigned int __pyx_v_z) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9263
 *     @z.setter
 *     def z(self, unsigned int z):
 *         self._pvt_ptr[0].preferredClusterDim.z = z             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct5:
*/
  (__pyx_v_self->_pvt_ptr[0]).preferredClusterDim.z = __pyx_v_z;

  /* "cuda/bindings/driver.pyx":9261
 *     def z(self):
 *         return self._pvt_ptr[0].preferredClusterDim.z
 *     @z.setter             # <<<<<<<<<<<<<<
 *     def z(self, unsigned int z):
 *         self._pvt_ptr[0].preferredClusterDim.z = z
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct4_10__reduce_cython__, "anon_struct4.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct4_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct4_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct4_12__setstate_cython__, "anon_struct4.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct4_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct4_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct4_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct4_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9279
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9279, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9279, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9279, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 9279, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9279, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9279, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9279, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct5___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9280
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":9279
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9282
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._devNode = CUgraphDeviceNode(_ptr=<void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode.devNode)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9282, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9282, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9282, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 9282, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9282, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9282, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9282, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9284
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._devNode = CUgraphDeviceNode(_ptr=<void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode.devNode)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).deviceUpdatableKernelNode.devNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9284, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9284, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_devNode);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_devNode);
  __pyx_v_self->_devNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9282
 *         self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._devNode = CUgraphDeviceNode(_ptr=<void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode.devNode)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9285
 *         pass
 *         self._devNode = CUgraphDeviceNode(_ptr=<void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode.devNode)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9287
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct5_6getPtr, "anon_struct5.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct5_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct5_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9288
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).deviceUpdatableKernelNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9287
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9289
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9290
 *         return <void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9291
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9292
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9293
 *             str_list = []
 *             try:
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['deviceUpdatable : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_deviceUpdatable_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_deviceUpdatable, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9293, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9292
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9294
 *             try:
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatable : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9294, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9295
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]
 *             except ValueError:
 *                 str_list += ['deviceUpdatable : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['devNode : ' + str(self.devNode)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9295, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_deviceUpdatable_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_deviceUpdatable_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_deviceUpdatable_ValueError) != (0)) __PYX_ERR(0, 9295, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9295, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9292
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9296
 *             except ValueError:
 *                 str_list += ['deviceUpdatable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devNode : ' + str(self.devNode)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9297
 *                 str_list += ['deviceUpdatable : <ValueError>']
 *             try:
 *                 str_list += ['devNode : ' + str(self.devNode)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['devNode : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_devNode_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_devNode, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9297, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9296
 *             except ValueError:
 *                 str_list += ['deviceUpdatable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devNode : ' + str(self.devNode)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9298
 *             try:
 *                 str_list += ['devNode : ' + str(self.devNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devNode : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9298, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9299
 *                 str_list += ['devNode : ' + str(self.devNode)]
 *             except ValueError:
 *                 str_list += ['devNode : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9299, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_devNode_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_devNode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_devNode_ValueError) != (0)) __PYX_ERR(0, 9299, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9299, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9296
 *             except ValueError:
 *                 str_list += ['deviceUpdatable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devNode : ' + str(self.devNode)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9300
 *             except ValueError:
 *                 str_list += ['devNode : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9290
 *         return <void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9302
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def deviceUpdatable(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9289
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9303
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceUpdatable(self):
 *         return self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9305
 *     @property
 *     def deviceUpdatable(self):
 *         return self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable             # <<<<<<<<<<<<<<
 *     @deviceUpdatable.setter
 *     def deviceUpdatable(self, int deviceUpdatable):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).deviceUpdatableKernelNode.deviceUpdatable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9303
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceUpdatable(self):
 *         return self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.deviceUpdatable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9306
 *     def deviceUpdatable(self):
 *         return self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable
 *     @deviceUpdatable.setter             # <<<<<<<<<<<<<<
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_deviceUpdatable); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_deviceUpdatable) {
  int __pyx_v_deviceUpdatable;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_deviceUpdatable); {
    __pyx_v_deviceUpdatable = __Pyx_PyLong_As_int(__pyx_arg_deviceUpdatable); if (unlikely((__pyx_v_deviceUpdatable == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9307, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.deviceUpdatable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self), ((int)__pyx_v_deviceUpdatable));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, int __pyx_v_deviceUpdatable) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9308
 *     @deviceUpdatable.setter
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable             # <<<<<<<<<<<<<<
 *     @property
 *     def devNode(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).deviceUpdatableKernelNode.deviceUpdatable = __pyx_v_deviceUpdatable;

  /* "cuda/bindings/driver.pyx":9306
 *     def deviceUpdatable(self):
 *         return self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable
 *     @deviceUpdatable.setter             # <<<<<<<<<<<<<<
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9309
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable
 *     @property             # <<<<<<<<<<<<<<
 *     def devNode(self):
 *         return self._devNode
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7devNode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7devNode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_7devNode___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_7devNode___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9311
 *     @property
 *     def devNode(self):
 *         return self._devNode             # <<<<<<<<<<<<<<
 *     @devNode.setter
 *     def devNode(self, devNode):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_devNode);
  __pyx_r = ((PyObject *)__pyx_v_self->_devNode);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9309
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._pvt_ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable
 *     @property             # <<<<<<<<<<<<<<
 *     def devNode(self):
 *         return self._devNode
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9312
 *     def devNode(self):
 *         return self._devNode
 *     @devNode.setter             # <<<<<<<<<<<<<<
 *     def devNode(self, devNode):
 *         cdef cydriver.CUgraphDeviceNode cydevNode
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7devNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devNode); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7devNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devNode) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_7devNode_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self), ((PyObject *)__pyx_v_devNode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_7devNode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, PyObject *__pyx_v_devNode) {
  CUgraphDeviceNode __pyx_v_cydevNode;
  PyObject *__pyx_v_pdevNode = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9315
 *     def devNode(self, devNode):
 *         cdef cydriver.CUgraphDeviceNode cydevNode
 *         if devNode is None:             # <<<<<<<<<<<<<<
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
*/
  __pyx_t_1 = (__pyx_v_devNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9316
 *         cdef cydriver.CUgraphDeviceNode cydevNode
 *         if devNode is None:
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
 *             pdevNode = int(devNode)
*/
    __pyx_v_cydevNode = ((CUgraphDeviceNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":9315
 *     def devNode(self, devNode):
 *         cdef cydriver.CUgraphDeviceNode cydevNode
 *         if devNode is None:             # <<<<<<<<<<<<<<
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9317
 *         if devNode is None:
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):             # <<<<<<<<<<<<<<
 *             pdevNode = int(devNode)
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>pdevNode
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9318
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
 *             pdevNode = int(devNode)             # <<<<<<<<<<<<<<
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>pdevNode
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9319
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
 *             pdevNode = int(devNode)
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>pdevNode             # <<<<<<<<<<<<<<
 *         else:
 *             pdevNode = int(CUgraphDeviceNode(devNode))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9319, __pyx_L1_error)
    __pyx_v_cydevNode = ((CUgraphDeviceNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9317
 *         if devNode is None:
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):             # <<<<<<<<<<<<<<
 *             pdevNode = int(devNode)
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>pdevNode
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9321
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>pdevNode
 *         else:
 *             pdevNode = int(CUgraphDeviceNode(devNode))             # <<<<<<<<<<<<<<
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>pdevNode
 *         self._devNode._pvt_ptr[0] = cydevNode
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_devNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9321, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevNode = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":9322
 *         else:
 *             pdevNode = int(CUgraphDeviceNode(devNode))
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>pdevNode             # <<<<<<<<<<<<<<
 *         self._devNode._pvt_ptr[0] = cydevNode
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9322, __pyx_L1_error)
    __pyx_v_cydevNode = ((CUgraphDeviceNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9323
 *             pdevNode = int(CUgraphDeviceNode(devNode))
 *             cydevNode = <cydriver.CUgraphDeviceNode><void_ptr>pdevNode
 *         self._devNode._pvt_ptr[0] = cydevNode             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchAttributeValue_union:
*/
  (__pyx_v_self->_devNode->_pvt_ptr[0]) = __pyx_v_cydevNode;

  /* "cuda/bindings/driver.pyx":9312
 *     def devNode(self):
 *         return self._devNode
 *     @devNode.setter             # <<<<<<<<<<<<<<
 *     def devNode(self, devNode):
 *         cdef cydriver.CUgraphDeviceNode cydevNode
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.devNode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevNode);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct5_10__reduce_cython__, "anon_struct5.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct5_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct5_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct5_12__setstate_cython__, "anon_struct5.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct5_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct5_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct5_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct5_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct5.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9408
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9408, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9408, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9408, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9408, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":9409
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9410
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":9409
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9412
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9408
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9413
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._pvt_ptr[0].accessPolicyWindow)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9413, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9413, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9413, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9413, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9413, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9413, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9415
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._pvt_ptr[0].accessPolicyWindow)             # <<<<<<<<<<<<<<
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._pvt_ptr)
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).accessPolicyWindow))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9415, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9415, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_accessPolicyWindow);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_accessPolicyWindow);
  __pyx_v_self->_accessPolicyWindow = ((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9416
 *         pass
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._pvt_ptr[0].accessPolicyWindow)
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._pvt_ptr)
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9416, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9416, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_clusterDim);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_clusterDim);
  __pyx_v_self->_clusterDim = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9417
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._pvt_ptr[0].accessPolicyWindow)
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._pvt_ptr)
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._pvt_ptr[0].memSyncDomainMap)
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9417, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9417, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_programmaticEvent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_programmaticEvent);
  __pyx_v_self->_programmaticEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9418
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._pvt_ptr)
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._pvt_ptr)
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._pvt_ptr[0].memSyncDomainMap)
 *         self._preferredClusterDim = anon_struct4(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9418, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9418, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_launchCompletionEvent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_launchCompletionEvent);
  __pyx_v_self->_launchCompletionEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9419
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._pvt_ptr)
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._pvt_ptr[0].memSyncDomainMap)             # <<<<<<<<<<<<<<
 *         self._preferredClusterDim = anon_struct4(_ptr=<void_ptr>self._pvt_ptr)
 *         self._deviceUpdatableKernelNode = anon_struct5(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).memSyncDomainMap))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9419, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9419, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memSyncDomainMap);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memSyncDomainMap);
  __pyx_v_self->_memSyncDomainMap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9420
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._pvt_ptr[0].memSyncDomainMap)
 *         self._preferredClusterDim = anon_struct4(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._deviceUpdatableKernelNode = anon_struct5(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9420, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9420, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_preferredClusterDim);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_preferredClusterDim);
  __pyx_v_self->_preferredClusterDim = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9421
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._pvt_ptr[0].memSyncDomainMap)
 *         self._preferredClusterDim = anon_struct4(_ptr=<void_ptr>self._pvt_ptr)
 *         self._deviceUpdatableKernelNode = anon_struct5(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9421, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9421, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_deviceUpdatableKernelNode);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_deviceUpdatableKernelNode);
  __pyx_v_self->_deviceUpdatableKernelNode = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9413
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchAttributeValue_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._pvt_ptr[0].accessPolicyWindow)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9422
 *         self._preferredClusterDim = anon_struct4(_ptr=<void_ptr>self._pvt_ptr)
 *         self._deviceUpdatableKernelNode = anon_struct5(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9424
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_6getPtr, "CUlaunchAttributeValue_union.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9425
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9424
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9426
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr129__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr130__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr131__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr132__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr133__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr134__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr135__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9427
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9428
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9429
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9430
 *             str_list = []
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pad_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pad, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9430, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9430, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9429
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9431
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9431, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9432
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9432, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pad_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pad_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_pad_ValueError) != (0)) __PYX_ERR(0, 9432, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9432, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9429
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9433
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9434
 *                 str_list += ['pad : <ValueError>']
 *             try:
 *                 str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['accessPolicyWindow : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9434, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_accessPolicyWindow_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9434, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9434, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9434, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9434, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9434, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr129__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr129__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9434, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9434, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr129__pyx_v_line); __pyx_10genexpr129__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr129__pyx_v_line); __pyx_10genexpr129__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9434, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_accessPolicyWindow, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9434, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9434, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9434, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9434, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9433
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9435
 *             try:
 *                 str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessPolicyWindow : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 9435, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9436
 *                 str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             except ValueError:
 *                 str_list += ['accessPolicyWindow : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['cooperative : ' + str(self.cooperative)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9436, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_accessPolicyWindow_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_accessPolicyWindow_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_accessPolicyWindow_ValueError) != (0)) __PYX_ERR(0, 9436, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9436, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9433
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9437
 *             except ValueError:
 *                 str_list += ['accessPolicyWindow : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cooperative : ' + str(self.cooperative)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9438
 *                 str_list += ['accessPolicyWindow : <ValueError>']
 *             try:
 *                 str_list += ['cooperative : ' + str(self.cooperative)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['cooperative : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_cooperative_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9438, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9438, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_cooperative, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9438, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9438, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 9438, __pyx_L27_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9438, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":9437
 *             except ValueError:
 *                 str_list += ['accessPolicyWindow : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cooperative : ' + str(self.cooperative)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9439
 *             try:
 *                 str_list += ['cooperative : ' + str(self.cooperative)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['cooperative : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 9439, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9440
 *                 str_list += ['cooperative : ' + str(self.cooperative)]
 *             except ValueError:
 *                 str_list += ['cooperative : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9440, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_cooperative_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_cooperative_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_cooperative_ValueError) != (0)) __PYX_ERR(0, 9440, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9440, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":9437
 *             except ValueError:
 *                 str_list += ['accessPolicyWindow : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cooperative : ' + str(self.cooperative)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9441
 *             except ValueError:
 *                 str_list += ['cooperative : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9442
 *                 str_list += ['cooperative : <ValueError>']
 *             try:
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['syncPolicy : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_syncPolicy_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9442, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9442, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_syncPolicy, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9442, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9442, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9442, __pyx_L35_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9442, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9441
 *             except ValueError:
 *                 str_list += ['cooperative : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9443
 *             try:
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['syncPolicy : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 9443, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9444
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             except ValueError:
 *                 str_list += ['syncPolicy : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9444, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_syncPolicy_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_syncPolicy_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_syncPolicy_ValueError) != (0)) __PYX_ERR(0, 9444, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9444, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":9441
 *             except ValueError:
 *                 str_list += ['cooperative : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9445
 *             except ValueError:
 *                 str_list += ['syncPolicy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9446
 *                 str_list += ['syncPolicy : <ValueError>']
 *             try:
 *                 str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['clusterDim : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9446, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_clusterDim_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9446, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9446, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9446, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9446, __pyx_L51_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9446, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr130__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr130__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9446, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 9446, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_line); __pyx_10genexpr130__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_line); __pyx_10genexpr130__pyx_v_line = 0;
          goto __pyx_L43_error;
          __pyx_L55_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9446, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_clusterDim, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9446, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9446, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 9446, __pyx_L43_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9446, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":9445
 *             except ValueError:
 *                 str_list += ['syncPolicy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9447
 *             try:
 *                 str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterDim : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 9447, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9448
 *                 str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             except ValueError:
 *                 str_list += ['clusterDim : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9448, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_clusterDim_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_clusterDim_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_clusterDim_ValueError) != (0)) __PYX_ERR(0, 9448, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9448, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":9445
 *             except ValueError:
 *                 str_list += ['syncPolicy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9449
 *             except ValueError:
 *                 str_list += ['clusterDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9450
 *                 str_list += ['clusterDim : <ValueError>']
 *             try:
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_clusterSchedulingPolicyPreferenc_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9450, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9450, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_clusterSchedulingPolicyPreferenc, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9450, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9450, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9450, __pyx_L58_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9450, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9449
 *             except ValueError:
 *                 str_list += ['clusterDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L63_try_end;
      __pyx_L58_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9451
 *             try:
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 9451, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9452
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             except ValueError:
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9452, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_clusterSchedulingPolicyPreferenc_3);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_clusterSchedulingPolicyPreferenc_3);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_clusterSchedulingPolicyPreferenc_3) != (0)) __PYX_ERR(0, 9452, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9452, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L59_exception_handled;
      }
      goto __pyx_L60_except_error;

      /* "cuda/bindings/driver.pyx":9449
 *             except ValueError:
 *                 str_list += ['clusterDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             except ValueError:
*/
      __pyx_L60_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L59_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L63_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9453
 *             except ValueError:
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9454
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']
 *             try:
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_programmaticStreamSerializationA_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9454, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9454, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_programmaticStreamSerializationA, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9454, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9454, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 9454, __pyx_L66_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9454, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":9453
 *             except ValueError:
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L71_try_end;
      __pyx_L66_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9455
 *             try:
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 9455, __pyx_L68_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9456
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             except ValueError:
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9456, __pyx_L68_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_programmaticStreamSerializationA_3);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_programmaticStreamSerializationA_3);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_programmaticStreamSerializationA_3) != (0)) __PYX_ERR(0, 9456, __pyx_L68_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9456, __pyx_L68_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L67_exception_handled;
      }
      goto __pyx_L68_except_error;

      /* "cuda/bindings/driver.pyx":9453
 *             except ValueError:
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             except ValueError:
*/
      __pyx_L68_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L67_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L71_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9457
 *             except ValueError:
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9458
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']
 *             try:
 *                 str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['programmaticEvent : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9458, __pyx_L82_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_programmaticEvent_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9458, __pyx_L82_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9458, __pyx_L82_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9458, __pyx_L82_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9458, __pyx_L82_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9458, __pyx_L82_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr131__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr131__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9458, __pyx_L82_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 9458, __pyx_L82_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr131__pyx_v_line); __pyx_10genexpr131__pyx_v_line = 0;
          goto __pyx_L86_exit_scope;
          __pyx_L82_error:;
          __Pyx_XDECREF(__pyx_10genexpr131__pyx_v_line); __pyx_10genexpr131__pyx_v_line = 0;
          goto __pyx_L74_error;
          __pyx_L86_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9458, __pyx_L74_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_programmaticEvent, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9458, __pyx_L74_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9458, __pyx_L74_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9458, __pyx_L74_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9458, __pyx_L74_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9457
 *             except ValueError:
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L79_try_end;
      __pyx_L74_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9459
 *             try:
 *                 str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticEvent : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9459, __pyx_L76_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9460
 *                 str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             except ValueError:
 *                 str_list += ['programmaticEvent : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['launchCompletionEvent :\n' + '\n'.join(['    ' + line for line in str(self.launchCompletionEvent).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9460, __pyx_L76_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_programmaticEvent_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_programmaticEvent_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_programmaticEvent_ValueError) != (0)) __PYX_ERR(0, 9460, __pyx_L76_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9460, __pyx_L76_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L75_exception_handled;
      }
      goto __pyx_L76_except_error;

      /* "cuda/bindings/driver.pyx":9457
 *             except ValueError:
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             except ValueError:
*/
      __pyx_L76_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L75_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L79_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9461
 *             except ValueError:
 *                 str_list += ['programmaticEvent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['launchCompletionEvent :\n' + '\n'.join(['    ' + line for line in str(self.launchCompletionEvent).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9462
 *                 str_list += ['programmaticEvent : <ValueError>']
 *             try:
 *                 str_list += ['launchCompletionEvent :\n' + '\n'.join(['    ' + line for line in str(self.launchCompletionEvent).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['launchCompletionEvent : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9462, __pyx_L97_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_launchCompletionEvent_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9462, __pyx_L97_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9462, __pyx_L97_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9462, __pyx_L97_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9462, __pyx_L97_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9462, __pyx_L97_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr132__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr132__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9462, __pyx_L97_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9462, __pyx_L97_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr132__pyx_v_line); __pyx_10genexpr132__pyx_v_line = 0;
          goto __pyx_L101_exit_scope;
          __pyx_L97_error:;
          __Pyx_XDECREF(__pyx_10genexpr132__pyx_v_line); __pyx_10genexpr132__pyx_v_line = 0;
          goto __pyx_L89_error;
          __pyx_L101_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9462, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_launchCompletionEvent, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9462, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9462, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9462, __pyx_L89_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9462, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9461
 *             except ValueError:
 *                 str_list += ['programmaticEvent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['launchCompletionEvent :\n' + '\n'.join(['    ' + line for line in str(self.launchCompletionEvent).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L94_try_end;
      __pyx_L89_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9463
 *             try:
 *                 str_list += ['launchCompletionEvent :\n' + '\n'.join(['    ' + line for line in str(self.launchCompletionEvent).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['launchCompletionEvent : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 9463, __pyx_L91_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9464
 *                 str_list += ['launchCompletionEvent :\n' + '\n'.join(['    ' + line for line in str(self.launchCompletionEvent).splitlines()])]
 *             except ValueError:
 *                 str_list += ['launchCompletionEvent : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['priority : ' + str(self.priority)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9464, __pyx_L91_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_launchCompletionEvent_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_launchCompletionEvent_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_launchCompletionEvent_ValueError) != (0)) __PYX_ERR(0, 9464, __pyx_L91_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9464, __pyx_L91_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L90_exception_handled;
      }
      goto __pyx_L91_except_error;

      /* "cuda/bindings/driver.pyx":9461
 *             except ValueError:
 *                 str_list += ['programmaticEvent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['launchCompletionEvent :\n' + '\n'.join(['    ' + line for line in str(self.launchCompletionEvent).splitlines()])]
 *             except ValueError:
*/
      __pyx_L91_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L90_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L94_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9465
 *             except ValueError:
 *                 str_list += ['launchCompletionEvent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['priority : ' + str(self.priority)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9466
 *                 str_list += ['launchCompletionEvent : <ValueError>']
 *             try:
 *                 str_list += ['priority : ' + str(self.priority)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['priority : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_priority_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9466, __pyx_L104_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9466, __pyx_L104_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_priority, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9466, __pyx_L104_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9466, __pyx_L104_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 9466, __pyx_L104_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9466, __pyx_L104_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":9465
 *             except ValueError:
 *                 str_list += ['launchCompletionEvent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['priority : ' + str(self.priority)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L109_try_end;
      __pyx_L104_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9467
 *             try:
 *                 str_list += ['priority : ' + str(self.priority)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['priority : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 9467, __pyx_L106_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9468
 *                 str_list += ['priority : ' + str(self.priority)]
 *             except ValueError:
 *                 str_list += ['priority : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memSyncDomainMap :\n' + '\n'.join(['    ' + line for line in str(self.memSyncDomainMap).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9468, __pyx_L106_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_priority_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_priority_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_priority_ValueError) != (0)) __PYX_ERR(0, 9468, __pyx_L106_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9468, __pyx_L106_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L105_exception_handled;
      }
      goto __pyx_L106_except_error;

      /* "cuda/bindings/driver.pyx":9465
 *             except ValueError:
 *                 str_list += ['launchCompletionEvent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['priority : ' + str(self.priority)]
 *             except ValueError:
*/
      __pyx_L106_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L105_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L109_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9469
 *             except ValueError:
 *                 str_list += ['priority : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomainMap :\n' + '\n'.join(['    ' + line for line in str(self.memSyncDomainMap).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9470
 *                 str_list += ['priority : <ValueError>']
 *             try:
 *                 str_list += ['memSyncDomainMap :\n' + '\n'.join(['    ' + line for line in str(self.memSyncDomainMap).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memSyncDomainMap : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9470, __pyx_L120_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memSyncDomainMap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9470, __pyx_L120_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9470, __pyx_L120_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9470, __pyx_L120_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9470, __pyx_L120_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9470, __pyx_L120_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr133__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr133__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9470, __pyx_L120_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 9470, __pyx_L120_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr133__pyx_v_line); __pyx_10genexpr133__pyx_v_line = 0;
          goto __pyx_L124_exit_scope;
          __pyx_L120_error:;
          __Pyx_XDECREF(__pyx_10genexpr133__pyx_v_line); __pyx_10genexpr133__pyx_v_line = 0;
          goto __pyx_L112_error;
          __pyx_L124_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9470, __pyx_L112_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memSyncDomainMap, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9470, __pyx_L112_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9470, __pyx_L112_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9470, __pyx_L112_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9470, __pyx_L112_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9469
 *             except ValueError:
 *                 str_list += ['priority : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomainMap :\n' + '\n'.join(['    ' + line for line in str(self.memSyncDomainMap).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L117_try_end;
      __pyx_L112_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9471
 *             try:
 *                 str_list += ['memSyncDomainMap :\n' + '\n'.join(['    ' + line for line in str(self.memSyncDomainMap).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomainMap : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9471, __pyx_L114_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9472
 *                 str_list += ['memSyncDomainMap :\n' + '\n'.join(['    ' + line for line in str(self.memSyncDomainMap).splitlines()])]
 *             except ValueError:
 *                 str_list += ['memSyncDomainMap : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9472, __pyx_L114_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memSyncDomainMap_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memSyncDomainMap_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_memSyncDomainMap_ValueError) != (0)) __PYX_ERR(0, 9472, __pyx_L114_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9472, __pyx_L114_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L113_exception_handled;
      }
      goto __pyx_L114_except_error;

      /* "cuda/bindings/driver.pyx":9469
 *             except ValueError:
 *                 str_list += ['priority : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomainMap :\n' + '\n'.join(['    ' + line for line in str(self.memSyncDomainMap).splitlines()])]
 *             except ValueError:
*/
      __pyx_L114_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L113_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L117_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9473
 *             except ValueError:
 *                 str_list += ['memSyncDomainMap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9474
 *                 str_list += ['memSyncDomainMap : <ValueError>']
 *             try:
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memSyncDomain_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9474, __pyx_L127_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9474, __pyx_L127_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memSyncDomain, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9474, __pyx_L127_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9474, __pyx_L127_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9474, __pyx_L127_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9474, __pyx_L127_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9473
 *             except ValueError:
 *                 str_list += ['memSyncDomainMap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L132_try_end;
      __pyx_L127_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9475
 *             try:
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9475, __pyx_L129_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9476
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['preferredClusterDim :\n' + '\n'.join(['    ' + line for line in str(self.preferredClusterDim).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9476, __pyx_L129_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memSyncDomain_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memSyncDomain_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_memSyncDomain_ValueError) != (0)) __PYX_ERR(0, 9476, __pyx_L129_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9476, __pyx_L129_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L128_exception_handled;
      }
      goto __pyx_L129_except_error;

      /* "cuda/bindings/driver.pyx":9473
 *             except ValueError:
 *                 str_list += ['memSyncDomainMap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
 *             except ValueError:
*/
      __pyx_L129_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L128_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L132_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9477
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['preferredClusterDim :\n' + '\n'.join(['    ' + line for line in str(self.preferredClusterDim).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9478
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:
 *                 str_list += ['preferredClusterDim :\n' + '\n'.join(['    ' + line for line in str(self.preferredClusterDim).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['preferredClusterDim : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9478, __pyx_L143_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_preferredClusterDim_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9478, __pyx_L143_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9478, __pyx_L143_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9478, __pyx_L143_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9478, __pyx_L143_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9478, __pyx_L143_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr134__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr134__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9478, __pyx_L143_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9478, __pyx_L143_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr134__pyx_v_line); __pyx_10genexpr134__pyx_v_line = 0;
          goto __pyx_L147_exit_scope;
          __pyx_L143_error:;
          __Pyx_XDECREF(__pyx_10genexpr134__pyx_v_line); __pyx_10genexpr134__pyx_v_line = 0;
          goto __pyx_L135_error;
          __pyx_L147_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9478, __pyx_L135_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_preferredClusterDim, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9478, __pyx_L135_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9478, __pyx_L135_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9478, __pyx_L135_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9478, __pyx_L135_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9477
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['preferredClusterDim :\n' + '\n'.join(['    ' + line for line in str(self.preferredClusterDim).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L140_try_end;
      __pyx_L135_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9479
 *             try:
 *                 str_list += ['preferredClusterDim :\n' + '\n'.join(['    ' + line for line in str(self.preferredClusterDim).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['preferredClusterDim : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 9479, __pyx_L137_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9480
 *                 str_list += ['preferredClusterDim :\n' + '\n'.join(['    ' + line for line in str(self.preferredClusterDim).splitlines()])]
 *             except ValueError:
 *                 str_list += ['preferredClusterDim : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9480, __pyx_L137_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_preferredClusterDim_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_preferredClusterDim_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_preferredClusterDim_ValueError) != (0)) __PYX_ERR(0, 9480, __pyx_L137_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9480, __pyx_L137_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L136_exception_handled;
      }
      goto __pyx_L137_except_error;

      /* "cuda/bindings/driver.pyx":9477
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['preferredClusterDim :\n' + '\n'.join(['    ' + line for line in str(self.preferredClusterDim).splitlines()])]
 *             except ValueError:
*/
      __pyx_L137_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L136_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L140_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9481
 *             except ValueError:
 *                 str_list += ['preferredClusterDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9482
 *                 str_list += ['preferredClusterDim : <ValueError>']
 *             try:
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9482, __pyx_L158_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_deviceUpdatableKernelNode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9482, __pyx_L158_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9482, __pyx_L158_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9482, __pyx_L158_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9482, __pyx_L158_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9482, __pyx_L158_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr135__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr135__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9482, __pyx_L158_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 9482, __pyx_L158_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_line); __pyx_10genexpr135__pyx_v_line = 0;
          goto __pyx_L162_exit_scope;
          __pyx_L158_error:;
          __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_line); __pyx_10genexpr135__pyx_v_line = 0;
          goto __pyx_L150_error;
          __pyx_L162_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9482, __pyx_L150_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_deviceUpdatableKernelNode, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9482, __pyx_L150_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9482, __pyx_L150_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 9482, __pyx_L150_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9482, __pyx_L150_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":9481
 *             except ValueError:
 *                 str_list += ['preferredClusterDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L155_try_end;
      __pyx_L150_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9483
 *             try:
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 9483, __pyx_L152_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9484
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
 *             except ValueError:
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9484, __pyx_L152_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_deviceUpdatableKernelNode_ValueE);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_deviceUpdatableKernelNode_ValueE);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_deviceUpdatableKernelNode_ValueE) != (0)) __PYX_ERR(0, 9484, __pyx_L152_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9484, __pyx_L152_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L151_exception_handled;
      }
      goto __pyx_L152_except_error;

      /* "cuda/bindings/driver.pyx":9481
 *             except ValueError:
 *                 str_list += ['preferredClusterDim : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
 *             except ValueError:
*/
      __pyx_L152_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L151_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L155_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9485
 *             except ValueError:
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9486
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']
 *             try:
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedMemCarveout : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedMemCarveout_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9486, __pyx_L165_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9486, __pyx_L165_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sharedMemCarveout, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9486, __pyx_L165_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9486, __pyx_L165_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9486, __pyx_L165_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9486, __pyx_L165_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9485
 *             except ValueError:
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L170_try_end;
      __pyx_L165_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9487
 *             try:
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemCarveout : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 9487, __pyx_L167_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9488
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]
 *             except ValueError:
 *                 str_list += ['sharedMemCarveout : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9488, __pyx_L167_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedMemCarveout_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedMemCarveout_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_sharedMemCarveout_ValueError) != (0)) __PYX_ERR(0, 9488, __pyx_L167_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9488, __pyx_L167_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L166_exception_handled;
      }
      goto __pyx_L167_except_error;

      /* "cuda/bindings/driver.pyx":9485
 *             except ValueError:
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]
 *             except ValueError:
*/
      __pyx_L167_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L166_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L170_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9489
 *             except ValueError:
 *                 str_list += ['sharedMemCarveout : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9427
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9491
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def pad(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9426
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr129__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr131__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr132__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr133__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr134__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9492
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].pad, 64)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9494
 *     @property
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].pad, 64)             # <<<<<<<<<<<<<<
 *     @pad.setter
 *     def pad(self, pad):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_pvt_ptr[0]).pad, 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9492
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].pad, 64)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.pad.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9495
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].pad, 64)
 *     @pad.setter             # <<<<<<<<<<<<<<
 *     def pad(self, pad):
 *         if len(pad) != 64:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pad); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pad) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((PyObject *)__pyx_v_pad));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_pad) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  char __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9497
 *     @pad.setter
 *     def pad(self, pad):
 *         if len(pad) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 *         if CHAR_MIN == 0:
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_pad); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9497, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":9498
 *     def pad(self, pad):
 *         if len(pad) != 64:
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))             # <<<<<<<<<<<<<<
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(pad):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_pad); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9498, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pad_length_must_be_64_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9498, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 9498, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":9497
 *     @pad.setter
 *     def pad(self, pad):
 *         if len(pad) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 *         if CHAR_MIN == 0:
*/
  }

  /* "cuda/bindings/driver.pyx":9499
 *         if len(pad) != 64:
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 *         if CHAR_MIN == 0:             # <<<<<<<<<<<<<<
 *             for i, b in enumerate(pad):
 *                 if b < 0 and b > -129:
*/
  __pyx_t_2 = (CHAR_MIN == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":9500
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(pad):             # <<<<<<<<<<<<<<
 *                 if b < 0 and b > -129:
 *                     b = b + 256
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_pad)) || PyTuple_CheckExact(__pyx_v_pad)) {
      __pyx_t_5 = __pyx_v_pad; __Pyx_INCREF(__pyx_t_5);
      __pyx_t_1 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_pad); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9500, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9500, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_5))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9500, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
          ++__pyx_t_1;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9500, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9500, __pyx_L1_error)
      } else {
        __pyx_t_6 = __pyx_t_9(__pyx_t_5);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 9500, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9500, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9501
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(pad):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._pvt_ptr[0].pad[i] = b
*/
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9501, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_10) {
      } else {
        __pyx_t_2 = __pyx_t_10;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9501, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_10;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":9502
 *             for i, b in enumerate(pad):
 *                 if b < 0 and b > -129:
 *                     b = b + 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].pad[i] = b
 *         else:
*/
        __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9502, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":9501
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(pad):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._pvt_ptr[0].pad[i] = b
*/
      }

      /* "cuda/bindings/driver.pyx":9503
 *                 if b < 0 and b > -129:
 *                     b = b + 256
 *                 self._pvt_ptr[0].pad[i] = b             # <<<<<<<<<<<<<<
 *         else:
 *             for i, b in enumerate(pad):
*/
      __pyx_t_11 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_11 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 9503, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_12 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 9503, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).pad[__pyx_t_12]) = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":9500
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(pad):             # <<<<<<<<<<<<<<
 *                 if b < 0 and b > -129:
 *                     b = b + 256
*/
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":9499
 *         if len(pad) != 64:
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 *         if CHAR_MIN == 0:             # <<<<<<<<<<<<<<
 *             for i, b in enumerate(pad):
 *                 if b < 0 and b > -129:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":9505
 *                 self._pvt_ptr[0].pad[i] = b
 *         else:
 *             for i, b in enumerate(pad):             # <<<<<<<<<<<<<<
 *                 if b > 127 and b < 256:
 *                     b = b - 256
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_pad)) || PyTuple_CheckExact(__pyx_v_pad)) {
      __pyx_t_5 = __pyx_v_pad; __Pyx_INCREF(__pyx_t_5);
      __pyx_t_1 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_pad); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9505, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9505, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_5))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9505, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
          ++__pyx_t_1;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9505, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9505, __pyx_L1_error)
      } else {
        __pyx_t_6 = __pyx_t_9(__pyx_t_5);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 9505, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9505, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9506
 *         else:
 *             for i, b in enumerate(pad):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._pvt_ptr[0].pad[i] = b
*/
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9506, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 9506, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_10) {
      } else {
        __pyx_t_2 = __pyx_t_10;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9506, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 9506, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_10;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":9507
 *             for i, b in enumerate(pad):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].pad[i] = b
 *     @property
*/
        __pyx_t_6 = __Pyx_PyLong_SubtractObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9507, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":9506
 *         else:
 *             for i, b in enumerate(pad):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._pvt_ptr[0].pad[i] = b
*/
      }

      /* "cuda/bindings/driver.pyx":9508
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._pvt_ptr[0].pad[i] = b             # <<<<<<<<<<<<<<
 *     @property
 *     def accessPolicyWindow(self):
*/
      __pyx_t_11 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_11 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 9508, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_12 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 9508, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).pad[__pyx_t_12]) = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":9505
 *                 self._pvt_ptr[0].pad[i] = b
 *         else:
 *             for i, b in enumerate(pad):             # <<<<<<<<<<<<<<
 *                 if b > 127 and b < 256:
 *                     b = b - 256
*/
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":9495
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].pad, 64)
 *     @pad.setter             # <<<<<<<<<<<<<<
 *     def pad(self, pad):
 *         if len(pad) != 64:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.pad.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9509
 *                     b = b - 256
 *                 self._pvt_ptr[0].pad[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9511
 *     @property
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow             # <<<<<<<<<<<<<<
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_accessPolicyWindow);
  __pyx_r = ((PyObject *)__pyx_v_self->_accessPolicyWindow);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9509
 *                     b = b - 256
 *                 self._pvt_ptr[0].pad[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9512
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter             # <<<<<<<<<<<<<<
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._pvt_ptr[0].accessPolicyWindow, <cydriver.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._pvt_ptr[0].accessPolicyWindow))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_accessPolicyWindow); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_accessPolicyWindow) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_accessPolicyWindow), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow, 0, "accessPolicyWindow", 0))) __PYX_ERR(0, 9513, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow *)__pyx_v_accessPolicyWindow));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow *__pyx_v_accessPolicyWindow) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9514
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._pvt_ptr[0].accessPolicyWindow, <cydriver.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._pvt_ptr[0].accessPolicyWindow))             # <<<<<<<<<<<<<<
 *     @property
 *     def cooperative(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_accessPolicyWindow);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9514, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).accessPolicyWindow), ((CUaccessPolicyWindow *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).accessPolicyWindow))));

  /* "cuda/bindings/driver.pyx":9512
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter             # <<<<<<<<<<<<<<
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._pvt_ptr[0].accessPolicyWindow, <cydriver.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._pvt_ptr[0].accessPolicyWindow))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.accessPolicyWindow.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9515
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._pvt_ptr[0].accessPolicyWindow, <cydriver.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._pvt_ptr[0].accessPolicyWindow))
 *     @property             # <<<<<<<<<<<<<<
 *     def cooperative(self):
 *         return self._pvt_ptr[0].cooperative
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9517
 *     @property
 *     def cooperative(self):
 *         return self._pvt_ptr[0].cooperative             # <<<<<<<<<<<<<<
 *     @cooperative.setter
 *     def cooperative(self, int cooperative):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).cooperative); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9515
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._pvt_ptr[0].accessPolicyWindow, <cydriver.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._pvt_ptr[0].accessPolicyWindow))
 *     @property             # <<<<<<<<<<<<<<
 *     def cooperative(self):
 *         return self._pvt_ptr[0].cooperative
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.cooperative.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9518
 *     def cooperative(self):
 *         return self._pvt_ptr[0].cooperative
 *     @cooperative.setter             # <<<<<<<<<<<<<<
 *     def cooperative(self, int cooperative):
 *         self._pvt_ptr[0].cooperative = cooperative
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperative); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperative) {
  int __pyx_v_cooperative;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_cooperative); {
    __pyx_v_cooperative = __Pyx_PyLong_As_int(__pyx_arg_cooperative); if (unlikely((__pyx_v_cooperative == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9519, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.cooperative.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((int)__pyx_v_cooperative));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_cooperative) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9520
 *     @cooperative.setter
 *     def cooperative(self, int cooperative):
 *         self._pvt_ptr[0].cooperative = cooperative             # <<<<<<<<<<<<<<
 *     @property
 *     def syncPolicy(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).cooperative = __pyx_v_cooperative;

  /* "cuda/bindings/driver.pyx":9518
 *     def cooperative(self):
 *         return self._pvt_ptr[0].cooperative
 *     @cooperative.setter             # <<<<<<<<<<<<<<
 *     def cooperative(self, int cooperative):
 *         self._pvt_ptr[0].cooperative = cooperative
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9521
 *     def cooperative(self, int cooperative):
 *         self._pvt_ptr[0].cooperative = cooperative
 *     @property             # <<<<<<<<<<<<<<
 *     def syncPolicy(self):
 *         if self._pvt_ptr[0].syncPolicy not in _dict_CUsynchronizationPolicy:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9523
 *     @property
 *     def syncPolicy(self):
 *         if self._pvt_ptr[0].syncPolicy not in _dict_CUsynchronizationPolicy:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUsynchronizationPolicy[self._pvt_ptr[0].syncPolicy]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUsynchronizationPolicy_enum((__pyx_v_self->_pvt_ptr[0]).syncPolicy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUsynchronizationPolicy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 9523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":9524
 *     def syncPolicy(self):
 *         if self._pvt_ptr[0].syncPolicy not in _dict_CUsynchronizationPolicy:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUsynchronizationPolicy[self._pvt_ptr[0].syncPolicy]
 *     @syncPolicy.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9523
 *     @property
 *     def syncPolicy(self):
 *         if self._pvt_ptr[0].syncPolicy not in _dict_CUsynchronizationPolicy:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUsynchronizationPolicy[self._pvt_ptr[0].syncPolicy]
*/
  }

  /* "cuda/bindings/driver.pyx":9525
 *         if self._pvt_ptr[0].syncPolicy not in _dict_CUsynchronizationPolicy:
 *             return None
 *         return _dict_CUsynchronizationPolicy[self._pvt_ptr[0].syncPolicy]             # <<<<<<<<<<<<<<
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUsynchronizationPolicy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUsynchronizationPolicy_enum((__pyx_v_self->_pvt_ptr[0]).syncPolicy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9521
 *     def cooperative(self, int cooperative):
 *         self._pvt_ptr[0].cooperative = cooperative
 *     @property             # <<<<<<<<<<<<<<
 *     def syncPolicy(self):
 *         if self._pvt_ptr[0].syncPolicy not in _dict_CUsynchronizationPolicy:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.syncPolicy.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9526
 *             return None
 *         return _dict_CUsynchronizationPolicy[self._pvt_ptr[0].syncPolicy]
 *     @syncPolicy.setter             # <<<<<<<<<<<<<<
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._pvt_ptr[0].syncPolicy = syncPolicy.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_syncPolicy); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_syncPolicy) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_syncPolicy) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "syncPolicy"); __PYX_ERR(0, 9527, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((PyObject *)__pyx_v_syncPolicy));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_syncPolicy) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUsynchronizationPolicy __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9528
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._pvt_ptr[0].syncPolicy = syncPolicy.value             # <<<<<<<<<<<<<<
 *     @property
 *     def clusterDim(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_syncPolicy, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUsynchronizationPolicy_enum)__Pyx_PyLong_As_enum__CUsynchronizationPolicy_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9528, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).syncPolicy = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":9526
 *             return None
 *         return _dict_CUsynchronizationPolicy[self._pvt_ptr[0].syncPolicy]
 *     @syncPolicy.setter             # <<<<<<<<<<<<<<
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._pvt_ptr[0].syncPolicy = syncPolicy.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.syncPolicy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9529
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._pvt_ptr[0].syncPolicy = syncPolicy.value
 *     @property             # <<<<<<<<<<<<<<
 *     def clusterDim(self):
 *         return self._clusterDim
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9531
 *     @property
 *     def clusterDim(self):
 *         return self._clusterDim             # <<<<<<<<<<<<<<
 *     @clusterDim.setter
 *     def clusterDim(self, clusterDim not None : anon_struct1):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_clusterDim);
  __pyx_r = ((PyObject *)__pyx_v_self->_clusterDim);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9529
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._pvt_ptr[0].syncPolicy = syncPolicy.value
 *     @property             # <<<<<<<<<<<<<<
 *     def clusterDim(self):
 *         return self._clusterDim
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9532
 *     def clusterDim(self):
 *         return self._clusterDim
 *     @clusterDim.setter             # <<<<<<<<<<<<<<
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._pvt_ptr[0].clusterDim, <cydriver.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._pvt_ptr[0].clusterDim))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterDim); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterDim) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_clusterDim), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1, 0, "clusterDim", 0))) __PYX_ERR(0, 9533, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)__pyx_v_clusterDim));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *__pyx_v_clusterDim) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9534
 *     @clusterDim.setter
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._pvt_ptr[0].clusterDim, <cydriver.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._pvt_ptr[0].clusterDim))             # <<<<<<<<<<<<<<
 *     @property
 *     def clusterSchedulingPolicyPreference(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_clusterDim);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).clusterDim), ((struct anon_struct1 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).clusterDim))));

  /* "cuda/bindings/driver.pyx":9532
 *     def clusterDim(self):
 *         return self._clusterDim
 *     @clusterDim.setter             # <<<<<<<<<<<<<<
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._pvt_ptr[0].clusterDim, <cydriver.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._pvt_ptr[0].clusterDim))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.clusterDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9535
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._pvt_ptr[0].clusterDim, <cydriver.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._pvt_ptr[0].clusterDim))
 *     @property             # <<<<<<<<<<<<<<
 *     def clusterSchedulingPolicyPreference(self):
 *         if self._pvt_ptr[0].clusterSchedulingPolicyPreference not in _dict_CUclusterSchedulingPolicy:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9537
 *     @property
 *     def clusterSchedulingPolicyPreference(self):
 *         if self._pvt_ptr[0].clusterSchedulingPolicyPreference not in _dict_CUclusterSchedulingPolicy:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUclusterSchedulingPolicy[self._pvt_ptr[0].clusterSchedulingPolicyPreference]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUclusterSchedulingPolicy_enum((__pyx_v_self->_pvt_ptr[0]).clusterSchedulingPolicyPreference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUclusterSchedulingPolicy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 9537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":9538
 *     def clusterSchedulingPolicyPreference(self):
 *         if self._pvt_ptr[0].clusterSchedulingPolicyPreference not in _dict_CUclusterSchedulingPolicy:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUclusterSchedulingPolicy[self._pvt_ptr[0].clusterSchedulingPolicyPreference]
 *     @clusterSchedulingPolicyPreference.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9537
 *     @property
 *     def clusterSchedulingPolicyPreference(self):
 *         if self._pvt_ptr[0].clusterSchedulingPolicyPreference not in _dict_CUclusterSchedulingPolicy:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUclusterSchedulingPolicy[self._pvt_ptr[0].clusterSchedulingPolicyPreference]
*/
  }

  /* "cuda/bindings/driver.pyx":9539
 *         if self._pvt_ptr[0].clusterSchedulingPolicyPreference not in _dict_CUclusterSchedulingPolicy:
 *             return None
 *         return _dict_CUclusterSchedulingPolicy[self._pvt_ptr[0].clusterSchedulingPolicyPreference]             # <<<<<<<<<<<<<<
 *     @clusterSchedulingPolicyPreference.setter
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUclusterSchedulingPolicy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUclusterSchedulingPolicy_enum((__pyx_v_self->_pvt_ptr[0]).clusterSchedulingPolicyPreference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9535
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._pvt_ptr[0].clusterDim, <cydriver.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._pvt_ptr[0].clusterDim))
 *     @property             # <<<<<<<<<<<<<<
 *     def clusterSchedulingPolicyPreference(self):
 *         if self._pvt_ptr[0].clusterSchedulingPolicyPreference not in _dict_CUclusterSchedulingPolicy:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.clusterSchedulingPolicyPreference.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9540
 *             return None
 *         return _dict_CUclusterSchedulingPolicy[self._pvt_ptr[0].clusterSchedulingPolicyPreference]
 *     @clusterSchedulingPolicyPreference.setter             # <<<<<<<<<<<<<<
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._pvt_ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_clusterSchedulingPolicyPreference) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "clusterSchedulingPolicyPreference"); __PYX_ERR(0, 9541, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((PyObject *)__pyx_v_clusterSchedulingPolicyPreference));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUclusterSchedulingPolicy __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9542
 *     @clusterSchedulingPolicyPreference.setter
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._pvt_ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value             # <<<<<<<<<<<<<<
 *     @property
 *     def programmaticStreamSerializationAllowed(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clusterSchedulingPolicyPreference, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUclusterSchedulingPolicy_enum)__Pyx_PyLong_As_enum__CUclusterSchedulingPolicy_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).clusterSchedulingPolicyPreference = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":9540
 *             return None
 *         return _dict_CUclusterSchedulingPolicy[self._pvt_ptr[0].clusterSchedulingPolicyPreference]
 *     @clusterSchedulingPolicyPreference.setter             # <<<<<<<<<<<<<<
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._pvt_ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.clusterSchedulingPolicyPreference.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9543
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._pvt_ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 *     @property             # <<<<<<<<<<<<<<
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._pvt_ptr[0].programmaticStreamSerializationAllowed
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9545
 *     @property
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._pvt_ptr[0].programmaticStreamSerializationAllowed             # <<<<<<<<<<<<<<
 *     @programmaticStreamSerializationAllowed.setter
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).programmaticStreamSerializationAllowed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9543
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._pvt_ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 *     @property             # <<<<<<<<<<<<<<
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._pvt_ptr[0].programmaticStreamSerializationAllowed
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.programmaticStreamSerializationAllowed.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9546
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._pvt_ptr[0].programmaticStreamSerializationAllowed
 *     @programmaticStreamSerializationAllowed.setter             # <<<<<<<<<<<<<<
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._pvt_ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_programmaticStreamSerializationAllowed); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_programmaticStreamSerializationAllowed) {
  int __pyx_v_programmaticStreamSerializationAllowed;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_programmaticStreamSerializationAllowed); {
    __pyx_v_programmaticStreamSerializationAllowed = __Pyx_PyLong_As_int(__pyx_arg_programmaticStreamSerializationAllowed); if (unlikely((__pyx_v_programmaticStreamSerializationAllowed == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9547, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.programmaticStreamSerializationAllowed.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((int)__pyx_v_programmaticStreamSerializationAllowed));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_programmaticStreamSerializationAllowed) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9548
 *     @programmaticStreamSerializationAllowed.setter
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._pvt_ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed             # <<<<<<<<<<<<<<
 *     @property
 *     def programmaticEvent(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).programmaticStreamSerializationAllowed = __pyx_v_programmaticStreamSerializationAllowed;

  /* "cuda/bindings/driver.pyx":9546
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._pvt_ptr[0].programmaticStreamSerializationAllowed
 *     @programmaticStreamSerializationAllowed.setter             # <<<<<<<<<<<<<<
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._pvt_ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9549
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._pvt_ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 *     @property             # <<<<<<<<<<<<<<
 *     def programmaticEvent(self):
 *         return self._programmaticEvent
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9551
 *     @property
 *     def programmaticEvent(self):
 *         return self._programmaticEvent             # <<<<<<<<<<<<<<
 *     @programmaticEvent.setter
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_programmaticEvent);
  __pyx_r = ((PyObject *)__pyx_v_self->_programmaticEvent);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9549
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._pvt_ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 *     @property             # <<<<<<<<<<<<<<
 *     def programmaticEvent(self):
 *         return self._programmaticEvent
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9552
 *     def programmaticEvent(self):
 *         return self._programmaticEvent
 *     @programmaticEvent.setter             # <<<<<<<<<<<<<<
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._pvt_ptr[0].programmaticEvent, <cydriver.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._pvt_ptr[0].programmaticEvent))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_programmaticEvent); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_programmaticEvent) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_programmaticEvent), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2, 0, "programmaticEvent", 0))) __PYX_ERR(0, 9553, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)__pyx_v_programmaticEvent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *__pyx_v_programmaticEvent) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9554
 *     @programmaticEvent.setter
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._pvt_ptr[0].programmaticEvent, <cydriver.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._pvt_ptr[0].programmaticEvent))             # <<<<<<<<<<<<<<
 *     @property
 *     def launchCompletionEvent(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_programmaticEvent);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).programmaticEvent), ((struct anon_struct2 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).programmaticEvent))));

  /* "cuda/bindings/driver.pyx":9552
 *     def programmaticEvent(self):
 *         return self._programmaticEvent
 *     @programmaticEvent.setter             # <<<<<<<<<<<<<<
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._pvt_ptr[0].programmaticEvent, <cydriver.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._pvt_ptr[0].programmaticEvent))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.programmaticEvent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9555
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._pvt_ptr[0].programmaticEvent, <cydriver.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._pvt_ptr[0].programmaticEvent))
 *     @property             # <<<<<<<<<<<<<<
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9557
 *     @property
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent             # <<<<<<<<<<<<<<
 *     @launchCompletionEvent.setter
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_launchCompletionEvent);
  __pyx_r = ((PyObject *)__pyx_v_self->_launchCompletionEvent);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9555
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._pvt_ptr[0].programmaticEvent, <cydriver.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._pvt_ptr[0].programmaticEvent))
 *     @property             # <<<<<<<<<<<<<<
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9558
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent
 *     @launchCompletionEvent.setter             # <<<<<<<<<<<<<<
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._pvt_ptr[0].launchCompletionEvent, <cydriver.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._pvt_ptr[0].launchCompletionEvent))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_launchCompletionEvent); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_launchCompletionEvent) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_launchCompletionEvent), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3, 0, "launchCompletionEvent", 0))) __PYX_ERR(0, 9559, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)__pyx_v_launchCompletionEvent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *__pyx_v_launchCompletionEvent) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9560
 *     @launchCompletionEvent.setter
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._pvt_ptr[0].launchCompletionEvent, <cydriver.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._pvt_ptr[0].launchCompletionEvent))             # <<<<<<<<<<<<<<
 *     @property
 *     def priority(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_launchCompletionEvent);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).launchCompletionEvent), ((struct anon_struct3 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).launchCompletionEvent))));

  /* "cuda/bindings/driver.pyx":9558
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent
 *     @launchCompletionEvent.setter             # <<<<<<<<<<<<<<
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._pvt_ptr[0].launchCompletionEvent, <cydriver.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._pvt_ptr[0].launchCompletionEvent))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.launchCompletionEvent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9561
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._pvt_ptr[0].launchCompletionEvent, <cydriver.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._pvt_ptr[0].launchCompletionEvent))
 *     @property             # <<<<<<<<<<<<<<
 *     def priority(self):
 *         return self._pvt_ptr[0].priority
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9563
 *     @property
 *     def priority(self):
 *         return self._pvt_ptr[0].priority             # <<<<<<<<<<<<<<
 *     @priority.setter
 *     def priority(self, int priority):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).priority); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9561
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._pvt_ptr[0].launchCompletionEvent, <cydriver.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._pvt_ptr[0].launchCompletionEvent))
 *     @property             # <<<<<<<<<<<<<<
 *     def priority(self):
 *         return self._pvt_ptr[0].priority
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.priority.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9564
 *     def priority(self):
 *         return self._pvt_ptr[0].priority
 *     @priority.setter             # <<<<<<<<<<<<<<
 *     def priority(self, int priority):
 *         self._pvt_ptr[0].priority = priority
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_priority); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_priority) {
  int __pyx_v_priority;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_priority); {
    __pyx_v_priority = __Pyx_PyLong_As_int(__pyx_arg_priority); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9565, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.priority.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((int)__pyx_v_priority));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_priority) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9566
 *     @priority.setter
 *     def priority(self, int priority):
 *         self._pvt_ptr[0].priority = priority             # <<<<<<<<<<<<<<
 *     @property
 *     def memSyncDomainMap(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).priority = __pyx_v_priority;

  /* "cuda/bindings/driver.pyx":9564
 *     def priority(self):
 *         return self._pvt_ptr[0].priority
 *     @priority.setter             # <<<<<<<<<<<<<<
 *     def priority(self, int priority):
 *         self._pvt_ptr[0].priority = priority
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9567
 *     def priority(self, int priority):
 *         self._pvt_ptr[0].priority = priority
 *     @property             # <<<<<<<<<<<<<<
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9569
 *     @property
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap             # <<<<<<<<<<<<<<
 *     @memSyncDomainMap.setter
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_memSyncDomainMap);
  __pyx_r = ((PyObject *)__pyx_v_self->_memSyncDomainMap);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9567
 *     def priority(self, int priority):
 *         self._pvt_ptr[0].priority = priority
 *     @property             # <<<<<<<<<<<<<<
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9570
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap
 *     @memSyncDomainMap.setter             # <<<<<<<<<<<<<<
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._pvt_ptr[0].memSyncDomainMap, <cydriver.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._pvt_ptr[0].memSyncDomainMap))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memSyncDomainMap); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memSyncDomainMap) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memSyncDomainMap), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap, 0, "memSyncDomainMap", 0))) __PYX_ERR(0, 9571, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap *)__pyx_v_memSyncDomainMap));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap *__pyx_v_memSyncDomainMap) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9572
 *     @memSyncDomainMap.setter
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._pvt_ptr[0].memSyncDomainMap, <cydriver.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._pvt_ptr[0].memSyncDomainMap))             # <<<<<<<<<<<<<<
 *     @property
 *     def memSyncDomain(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_memSyncDomainMap);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).memSyncDomainMap), ((CUlaunchMemSyncDomainMap *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).memSyncDomainMap))));

  /* "cuda/bindings/driver.pyx":9570
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap
 *     @memSyncDomainMap.setter             # <<<<<<<<<<<<<<
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._pvt_ptr[0].memSyncDomainMap, <cydriver.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._pvt_ptr[0].memSyncDomainMap))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.memSyncDomainMap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9573
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._pvt_ptr[0].memSyncDomainMap, <cydriver.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._pvt_ptr[0].memSyncDomainMap))
 *     @property             # <<<<<<<<<<<<<<
 *     def memSyncDomain(self):
 *         if self._pvt_ptr[0].memSyncDomain not in _dict_CUlaunchMemSyncDomain:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9575
 *     @property
 *     def memSyncDomain(self):
 *         if self._pvt_ptr[0].memSyncDomain not in _dict_CUlaunchMemSyncDomain:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUlaunchMemSyncDomain[self._pvt_ptr[0].memSyncDomain]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUlaunchMemSyncDomain_enum((__pyx_v_self->_pvt_ptr[0]).memSyncDomain); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUlaunchMemSyncDomain); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 9575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":9576
 *     def memSyncDomain(self):
 *         if self._pvt_ptr[0].memSyncDomain not in _dict_CUlaunchMemSyncDomain:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUlaunchMemSyncDomain[self._pvt_ptr[0].memSyncDomain]
 *     @memSyncDomain.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9575
 *     @property
 *     def memSyncDomain(self):
 *         if self._pvt_ptr[0].memSyncDomain not in _dict_CUlaunchMemSyncDomain:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUlaunchMemSyncDomain[self._pvt_ptr[0].memSyncDomain]
*/
  }

  /* "cuda/bindings/driver.pyx":9577
 *         if self._pvt_ptr[0].memSyncDomain not in _dict_CUlaunchMemSyncDomain:
 *             return None
 *         return _dict_CUlaunchMemSyncDomain[self._pvt_ptr[0].memSyncDomain]             # <<<<<<<<<<<<<<
 *     @memSyncDomain.setter
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUlaunchMemSyncDomain); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUlaunchMemSyncDomain_enum((__pyx_v_self->_pvt_ptr[0]).memSyncDomain); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9573
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._pvt_ptr[0].memSyncDomainMap, <cydriver.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._pvt_ptr[0].memSyncDomainMap))
 *     @property             # <<<<<<<<<<<<<<
 *     def memSyncDomain(self):
 *         if self._pvt_ptr[0].memSyncDomain not in _dict_CUlaunchMemSyncDomain:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.memSyncDomain.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9578
 *             return None
 *         return _dict_CUlaunchMemSyncDomain[self._pvt_ptr[0].memSyncDomain]
 *     @memSyncDomain.setter             # <<<<<<<<<<<<<<
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._pvt_ptr[0].memSyncDomain = memSyncDomain.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memSyncDomain); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memSyncDomain) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_memSyncDomain) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "memSyncDomain"); __PYX_ERR(0, 9579, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((PyObject *)__pyx_v_memSyncDomain));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_memSyncDomain) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUlaunchMemSyncDomain __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9580
 *     @memSyncDomain.setter
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._pvt_ptr[0].memSyncDomain = memSyncDomain.value             # <<<<<<<<<<<<<<
 *     @property
 *     def preferredClusterDim(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_memSyncDomain, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlaunchMemSyncDomain_enum)__Pyx_PyLong_As_enum__CUlaunchMemSyncDomain_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).memSyncDomain = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":9578
 *             return None
 *         return _dict_CUlaunchMemSyncDomain[self._pvt_ptr[0].memSyncDomain]
 *     @memSyncDomain.setter             # <<<<<<<<<<<<<<
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._pvt_ptr[0].memSyncDomain = memSyncDomain.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.memSyncDomain.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9581
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._pvt_ptr[0].memSyncDomain = memSyncDomain.value
 *     @property             # <<<<<<<<<<<<<<
 *     def preferredClusterDim(self):
 *         return self._preferredClusterDim
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9583
 *     @property
 *     def preferredClusterDim(self):
 *         return self._preferredClusterDim             # <<<<<<<<<<<<<<
 *     @preferredClusterDim.setter
 *     def preferredClusterDim(self, preferredClusterDim not None : anon_struct4):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_preferredClusterDim);
  __pyx_r = ((PyObject *)__pyx_v_self->_preferredClusterDim);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9581
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._pvt_ptr[0].memSyncDomain = memSyncDomain.value
 *     @property             # <<<<<<<<<<<<<<
 *     def preferredClusterDim(self):
 *         return self._preferredClusterDim
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9584
 *     def preferredClusterDim(self):
 *         return self._preferredClusterDim
 *     @preferredClusterDim.setter             # <<<<<<<<<<<<<<
 *     def preferredClusterDim(self, preferredClusterDim not None : anon_struct4):
 *         string.memcpy(&self._pvt_ptr[0].preferredClusterDim, <cydriver.anon_struct4*><void_ptr>preferredClusterDim.getPtr(), sizeof(self._pvt_ptr[0].preferredClusterDim))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_preferredClusterDim); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_preferredClusterDim) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_preferredClusterDim), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4, 0, "preferredClusterDim", 0))) __PYX_ERR(0, 9585, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)__pyx_v_preferredClusterDim));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *__pyx_v_preferredClusterDim) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9586
 *     @preferredClusterDim.setter
 *     def preferredClusterDim(self, preferredClusterDim not None : anon_struct4):
 *         string.memcpy(&self._pvt_ptr[0].preferredClusterDim, <cydriver.anon_struct4*><void_ptr>preferredClusterDim.getPtr(), sizeof(self._pvt_ptr[0].preferredClusterDim))             # <<<<<<<<<<<<<<
 *     @property
 *     def deviceUpdatableKernelNode(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_preferredClusterDim);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).preferredClusterDim), ((struct anon_struct4 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).preferredClusterDim))));

  /* "cuda/bindings/driver.pyx":9584
 *     def preferredClusterDim(self):
 *         return self._preferredClusterDim
 *     @preferredClusterDim.setter             # <<<<<<<<<<<<<<
 *     def preferredClusterDim(self, preferredClusterDim not None : anon_struct4):
 *         string.memcpy(&self._pvt_ptr[0].preferredClusterDim, <cydriver.anon_struct4*><void_ptr>preferredClusterDim.getPtr(), sizeof(self._pvt_ptr[0].preferredClusterDim))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.preferredClusterDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9587
 *     def preferredClusterDim(self, preferredClusterDim not None : anon_struct4):
 *         string.memcpy(&self._pvt_ptr[0].preferredClusterDim, <cydriver.anon_struct4*><void_ptr>preferredClusterDim.getPtr(), sizeof(self._pvt_ptr[0].preferredClusterDim))
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9589
 *     @property
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode             # <<<<<<<<<<<<<<
 *     @deviceUpdatableKernelNode.setter
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct5):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_deviceUpdatableKernelNode);
  __pyx_r = ((PyObject *)__pyx_v_self->_deviceUpdatableKernelNode);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9587
 *     def preferredClusterDim(self, preferredClusterDim not None : anon_struct4):
 *         string.memcpy(&self._pvt_ptr[0].preferredClusterDim, <cydriver.anon_struct4*><void_ptr>preferredClusterDim.getPtr(), sizeof(self._pvt_ptr[0].preferredClusterDim))
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9590
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode
 *     @deviceUpdatableKernelNode.setter             # <<<<<<<<<<<<<<
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct5):
 *         string.memcpy(&self._pvt_ptr[0].deviceUpdatableKernelNode, <cydriver.anon_struct5*><void_ptr>deviceUpdatableKernelNode.getPtr(), sizeof(self._pvt_ptr[0].deviceUpdatableKernelNode))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_deviceUpdatableKernelNode); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_deviceUpdatableKernelNode) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_deviceUpdatableKernelNode), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5, 0, "deviceUpdatableKernelNode", 0))) __PYX_ERR(0, 9591, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)__pyx_v_deviceUpdatableKernelNode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *__pyx_v_deviceUpdatableKernelNode) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9592
 *     @deviceUpdatableKernelNode.setter
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct5):
 *         string.memcpy(&self._pvt_ptr[0].deviceUpdatableKernelNode, <cydriver.anon_struct5*><void_ptr>deviceUpdatableKernelNode.getPtr(), sizeof(self._pvt_ptr[0].deviceUpdatableKernelNode))             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemCarveout(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_deviceUpdatableKernelNode);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).deviceUpdatableKernelNode), ((struct anon_struct5 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).deviceUpdatableKernelNode))));

  /* "cuda/bindings/driver.pyx":9590
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode
 *     @deviceUpdatableKernelNode.setter             # <<<<<<<<<<<<<<
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct5):
 *         string.memcpy(&self._pvt_ptr[0].deviceUpdatableKernelNode, <cydriver.anon_struct5*><void_ptr>deviceUpdatableKernelNode.getPtr(), sizeof(self._pvt_ptr[0].deviceUpdatableKernelNode))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.deviceUpdatableKernelNode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9593
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct5):
 *         string.memcpy(&self._pvt_ptr[0].deviceUpdatableKernelNode, <cydriver.anon_struct5*><void_ptr>deviceUpdatableKernelNode.getPtr(), sizeof(self._pvt_ptr[0].deviceUpdatableKernelNode))
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemCarveout(self):
 *         return self._pvt_ptr[0].sharedMemCarveout
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9595
 *     @property
 *     def sharedMemCarveout(self):
 *         return self._pvt_ptr[0].sharedMemCarveout             # <<<<<<<<<<<<<<
 *     @sharedMemCarveout.setter
 *     def sharedMemCarveout(self, unsigned int sharedMemCarveout):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).sharedMemCarveout); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9593
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct5):
 *         string.memcpy(&self._pvt_ptr[0].deviceUpdatableKernelNode, <cydriver.anon_struct5*><void_ptr>deviceUpdatableKernelNode.getPtr(), sizeof(self._pvt_ptr[0].deviceUpdatableKernelNode))
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemCarveout(self):
 *         return self._pvt_ptr[0].sharedMemCarveout
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.sharedMemCarveout.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9596
 *     def sharedMemCarveout(self):
 *         return self._pvt_ptr[0].sharedMemCarveout
 *     @sharedMemCarveout.setter             # <<<<<<<<<<<<<<
 *     def sharedMemCarveout(self, unsigned int sharedMemCarveout):
 *         self._pvt_ptr[0].sharedMemCarveout = sharedMemCarveout
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemCarveout); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemCarveout) {
  unsigned int __pyx_v_sharedMemCarveout;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_sharedMemCarveout); {
    __pyx_v_sharedMemCarveout = __Pyx_PyLong_As_unsigned_int(__pyx_arg_sharedMemCarveout); if (unlikely((__pyx_v_sharedMemCarveout == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9597, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.sharedMemCarveout.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((unsigned int)__pyx_v_sharedMemCarveout));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, unsigned int __pyx_v_sharedMemCarveout) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9598
 *     @sharedMemCarveout.setter
 *     def sharedMemCarveout(self, unsigned int sharedMemCarveout):
 *         self._pvt_ptr[0].sharedMemCarveout = sharedMemCarveout             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchAttribute_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).sharedMemCarveout = __pyx_v_sharedMemCarveout;

  /* "cuda/bindings/driver.pyx":9596
 *     def sharedMemCarveout(self):
 *         return self._pvt_ptr[0].sharedMemCarveout
 *     @sharedMemCarveout.setter             # <<<<<<<<<<<<<<
 *     def sharedMemCarveout(self, unsigned int sharedMemCarveout):
 *         self._pvt_ptr[0].sharedMemCarveout = sharedMemCarveout
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10__reduce_cython__, "CUlaunchAttributeValue_union.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_12__setstate_cython__, "CUlaunchAttributeValue_union.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9616
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9616, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9616, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9616, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9616, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":9617
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9618
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchAttribute_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":9617
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9620
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchAttribute_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUlaunchAttribute_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9616
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9621
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchAttribute_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._pvt_ptr[0].value)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9621, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9621, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9621, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9621, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9621, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9621, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9623
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._pvt_ptr[0].value)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).value))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9623, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9623, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value);
  __pyx_v_self->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9621
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchAttribute_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._pvt_ptr[0].value)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9624
 *         pass
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._pvt_ptr[0].value)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9626
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_6getPtr, "CUlaunchAttribute_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUlaunchAttribute_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9627
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9626
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9628
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr136__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9629
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9630
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['id : ' + str(self.id)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9631
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9632
 *             str_list = []
 *             try:
 *                 str_list += ['id : ' + str(self.id)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_id_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9632, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9632, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_id, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9632, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9632, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9632, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9632, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9631
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9633
 *             try:
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9633, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9634
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value :\n' + '\n'.join(['    ' + line for line in str(self.value).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9634, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_id_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_id_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_id_ValueError) != (0)) __PYX_ERR(0, 9634, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9634, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9631
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9635
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value :\n' + '\n'.join(['    ' + line for line in str(self.value).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9636
 *                 str_list += ['id : <ValueError>']
 *             try:
 *                 str_list += ['value :\n' + '\n'.join(['    ' + line for line in str(self.value).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9636, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9636, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9636, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9636, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9636, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9636, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr136__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr136__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9636, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9636, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr136__pyx_v_line); __pyx_10genexpr136__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr136__pyx_v_line); __pyx_10genexpr136__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9636, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9636, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9636, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9636, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9636, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9635
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value :\n' + '\n'.join(['    ' + line for line in str(self.value).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9637
 *             try:
 *                 str_list += ['value :\n' + '\n'.join(['    ' + line for line in str(self.value).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 9637, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9638
 *                 str_list += ['value :\n' + '\n'.join(['    ' + line for line in str(self.value).splitlines()])]
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9638, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_value_ValueError) != (0)) __PYX_ERR(0, 9638, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9638, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9635
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value :\n' + '\n'.join(['    ' + line for line in str(self.value).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9639
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9629
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9641
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def id(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9628
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr136__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9642
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def id(self):
 *         if self._pvt_ptr[0].id not in _dict_CUlaunchAttributeID:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9644
 *     @property
 *     def id(self):
 *         if self._pvt_ptr[0].id not in _dict_CUlaunchAttributeID:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUlaunchAttributeID[self._pvt_ptr[0].id]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum((__pyx_v_self->_pvt_ptr[0]).id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUlaunchAttributeID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 9644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":9645
 *     def id(self):
 *         if self._pvt_ptr[0].id not in _dict_CUlaunchAttributeID:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUlaunchAttributeID[self._pvt_ptr[0].id]
 *     @id.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9644
 *     @property
 *     def id(self):
 *         if self._pvt_ptr[0].id not in _dict_CUlaunchAttributeID:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUlaunchAttributeID[self._pvt_ptr[0].id]
*/
  }

  /* "cuda/bindings/driver.pyx":9646
 *         if self._pvt_ptr[0].id not in _dict_CUlaunchAttributeID:
 *             return None
 *         return _dict_CUlaunchAttributeID[self._pvt_ptr[0].id]             # <<<<<<<<<<<<<<
 *     @id.setter
 *     def id(self, id not None : CUlaunchAttributeID):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUlaunchAttributeID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum((__pyx_v_self->_pvt_ptr[0]).id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9642
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def id(self):
 *         if self._pvt_ptr[0].id not in _dict_CUlaunchAttributeID:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9647
 *             return None
 *         return _dict_CUlaunchAttributeID[self._pvt_ptr[0].id]
 *     @id.setter             # <<<<<<<<<<<<<<
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._pvt_ptr[0].id = id.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_id); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_id) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_id) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "id"); __PYX_ERR(0, 9648, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self), ((PyObject *)__pyx_v_id));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, PyObject *__pyx_v_id) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUlaunchAttributeID __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9649
 *     @id.setter
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._pvt_ptr[0].id = id.value             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_id, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).id = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":9647
 *             return None
 *         return _dict_CUlaunchAttributeID[self._pvt_ptr[0].id]
 *     @id.setter             # <<<<<<<<<<<<<<
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._pvt_ptr[0].id = id.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9650
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._pvt_ptr[0].id = id.value
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9652
 *     @property
 *     def value(self):
 *         return self._value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value not None : CUlaunchAttributeValue):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_value);
  __pyx_r = ((PyObject *)__pyx_v_self->_value);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9650
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._pvt_ptr[0].id = id.value
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9653
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value not None : CUlaunchAttributeValue):
 *         string.memcpy(&self._pvt_ptr[0].value, <cydriver.CUlaunchAttributeValue*><void_ptr>value.getPtr(), sizeof(self._pvt_ptr[0].value))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue, 0, "value", 0))) __PYX_ERR(0, 9654, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9655
 *     @value.setter
 *     def value(self, value not None : CUlaunchAttributeValue):
 *         string.memcpy(&self._pvt_ptr[0].value, <cydriver.CUlaunchAttributeValue*><void_ptr>value.getPtr(), sizeof(self._pvt_ptr[0].value))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchConfig_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_value);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).value), ((CUlaunchAttributeValue *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).value))));

  /* "cuda/bindings/driver.pyx":9653
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value not None : CUlaunchAttributeValue):
 *         string.memcpy(&self._pvt_ptr[0].value, <cydriver.CUlaunchAttributeValue*><void_ptr>value.getPtr(), sizeof(self._pvt_ptr[0].value))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_10__reduce_cython__, "CUlaunchAttribute_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUlaunchAttribute_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_12__setstate_cython__, "CUlaunchAttribute_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUlaunchAttribute_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUlaunchAttribute_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttribute_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9689
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9689, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9689, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9689, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9689, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9689, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9689, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":9690
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9691
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchConfig_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":9690
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9693
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchConfig_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUlaunchConfig_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9689
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9694
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchConfig_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hStream)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9694, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9694, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9694, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9694, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9696
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hStream)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).hStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9696, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9696, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hStream);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hStream);
  __pyx_v_self->_hStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9694
 *         else:
 *             self._pvt_ptr = <cydriver.CUlaunchConfig_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hStream)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9697
 *         pass
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hStream)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._attrs is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":9699
 *     def __dealloc__(self):
 *         pass
 *         if self._attrs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._attrs)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_attrs != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9700
 *         pass
 *         if self._attrs is not NULL:
 *             free(self._attrs)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_attrs);

    /* "cuda/bindings/driver.pyx":9699
 *     def __dealloc__(self):
 *         pass
 *         if self._attrs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._attrs)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":9697
 *         pass
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hStream)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._attrs is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9701
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_6getPtr, "CUlaunchConfig_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUlaunchConfig_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9702
 *             free(self._attrs)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9701
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9703
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9704
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9705
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9706
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9707
 *             str_list = []
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9707, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9707, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9707, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9707, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9707, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9707, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9706
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9708
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9708, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9709
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9709, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError) != (0)) __PYX_ERR(0, 9709, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9709, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9706
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9710
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9711
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9711, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9711, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9711, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9711, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9711, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9711, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9710
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9712
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9712, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9713
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9713, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError) != (0)) __PYX_ERR(0, 9713, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9713, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9710
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9714
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9715
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9715, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9715, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9715, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9715, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9715, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9715, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9714
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9716
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9716, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9717
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9717, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError) != (0)) __PYX_ERR(0, 9717, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9717, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":9714
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9718
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9719
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9719, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9719, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9719, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9719, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9719, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9719, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9718
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9720
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9720, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9721
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9721, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError) != (0)) __PYX_ERR(0, 9721, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9721, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":9718
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9722
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9723
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9723, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9723, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9723, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9723, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9723, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9723, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9722
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9724
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9724, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9725
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9725, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError) != (0)) __PYX_ERR(0, 9725, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9725, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":9722
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9726
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9727
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9727, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9727, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9727, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9727, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9727, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9727, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9726
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9728
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9728, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9729
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9729, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError) != (0)) __PYX_ERR(0, 9729, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9729, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":9726
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9730
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9731
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedMemBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9731, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9731, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9731, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9731, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9731, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9731, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9730
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9732
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9732, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9733
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9733, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError) != (0)) __PYX_ERR(0, 9733, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9733, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":9730
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9734
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9735
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hStream_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9735, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9735, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_hStream, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9735, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9735, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9735, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9735, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9734
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9736
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9736, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9737
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['attrs : ' + str(self.attrs)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9737, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_hStream_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_hStream_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_hStream_ValueError) != (0)) __PYX_ERR(0, 9737, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9737, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":9734
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9738
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['attrs : ' + str(self.attrs)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9739
 *                 str_list += ['hStream : <ValueError>']
 *             try:
 *                 str_list += ['attrs : ' + str(self.attrs)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['attrs : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_attrs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9739, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9739, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_attrs, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9739, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9739, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9739, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9739, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9738
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['attrs : ' + str(self.attrs)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9740
 *             try:
 *                 str_list += ['attrs : ' + str(self.attrs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['attrs : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9740, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9741
 *                 str_list += ['attrs : ' + str(self.attrs)]
 *             except ValueError:
 *                 str_list += ['attrs : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9741, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_attrs_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_attrs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_attrs_ValueError) != (0)) __PYX_ERR(0, 9741, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9741, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":9738
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['attrs : ' + str(self.attrs)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9742
 *             except ValueError:
 *                 str_list += ['attrs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9743
 *                 str_list += ['attrs : <ValueError>']
 *             try:
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numAttrs : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numAttrs_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9743, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9743, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numAttrs, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9743, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9743, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9743, __pyx_L76_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9743, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9742
 *             except ValueError:
 *                 str_list += ['attrs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9744
 *             try:
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numAttrs : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9744, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9745
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]
 *             except ValueError:
 *                 str_list += ['numAttrs : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9745, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numAttrs_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numAttrs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_numAttrs_ValueError) != (0)) __PYX_ERR(0, 9745, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9745, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":9742
 *             except ValueError:
 *                 str_list += ['attrs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9746
 *             except ValueError:
 *                 str_list += ['numAttrs : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9704
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9748
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9703
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9749
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9751
 *     @property
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9749
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9752
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX) {
  unsigned int __pyx_v_gridDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimX); {
    __pyx_v_gridDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9753, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9754
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/bindings/driver.pyx":9752
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9755
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9757
 *     @property
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9755
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9758
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY) {
  unsigned int __pyx_v_gridDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimY); {
    __pyx_v_gridDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9759, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9760
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/bindings/driver.pyx":9758
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9761
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9763
 *     @property
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9761
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9764
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ) {
  unsigned int __pyx_v_gridDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimZ); {
    __pyx_v_gridDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9765, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9766
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/bindings/driver.pyx":9764
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9767
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9769
 *     @property
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9767
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9770
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX) {
  unsigned int __pyx_v_blockDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimX); {
    __pyx_v_blockDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9771, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9772
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/bindings/driver.pyx":9770
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9773
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9775
 *     @property
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9773
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9776
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY) {
  unsigned int __pyx_v_blockDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimY); {
    __pyx_v_blockDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9777, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9778
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/bindings/driver.pyx":9776
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9779
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9781
 *     @property
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9779
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9782
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ) {
  unsigned int __pyx_v_blockDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimZ); {
    __pyx_v_blockDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9783, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9784
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/bindings/driver.pyx":9782
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9785
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9787
 *     @property
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9785
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9788
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes) {
  unsigned int __pyx_v_sharedMemBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_sharedMemBytes); {
    __pyx_v_sharedMemBytes = __Pyx_PyLong_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9789, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_sharedMemBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9790
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def hStream(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/bindings/driver.pyx":9788
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9791
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hStream(self):
 *         return self._hStream
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9793
 *     @property
 *     def hStream(self):
 *         return self._hStream             # <<<<<<<<<<<<<<
 *     @hStream.setter
 *     def hStream(self, hStream):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_hStream);
  __pyx_r = ((PyObject *)__pyx_v_self->_hStream);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9791
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hStream(self):
 *         return self._hStream
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9794
 *     def hStream(self):
 *         return self._hStream
 *     @hStream.setter             # <<<<<<<<<<<<<<
 *     def hStream(self, hStream):
 *         cdef cydriver.CUstream cyhStream
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hStream); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hStream) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((PyObject *)__pyx_v_hStream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9797
 *     def hStream(self, hStream):
 *         cdef cydriver.CUstream cyhStream
 *         if hStream is None:             # <<<<<<<<<<<<<<
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9798
 *         cdef cydriver.CUstream cyhStream
 *         if hStream is None:
 *             cyhStream = <cydriver.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)
*/
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":9797
 *     def hStream(self, hStream):
 *         cdef cydriver.CUstream cyhStream
 *         if hStream is None:             # <<<<<<<<<<<<<<
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9799
 *         if hStream is None:
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phStream = int(hStream)
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9800
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)             # <<<<<<<<<<<<<<
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9801
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *         else:
 *             phStream = int(CUstream(hStream))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9801, __pyx_L1_error)
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9799
 *         if hStream is None:
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phStream = int(hStream)
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9803
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         else:
 *             phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         self._hStream._pvt_ptr[0] = cyhStream
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9803, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":9804
 *         else:
 *             phStream = int(CUstream(hStream))
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *         self._hStream._pvt_ptr[0] = cyhStream
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9804, __pyx_L1_error)
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9805
 *             phStream = int(CUstream(hStream))
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         self._hStream._pvt_ptr[0] = cyhStream             # <<<<<<<<<<<<<<
 *     @property
 *     def attrs(self):
*/
  (__pyx_v_self->_hStream->_pvt_ptr[0]) = __pyx_v_cyhStream;

  /* "cuda/bindings/driver.pyx":9794
 *     def hStream(self):
 *         return self._hStream
 *     @hStream.setter             # <<<<<<<<<<<<<<
 *     def hStream(self, hStream):
 *         cdef cydriver.CUstream cyhStream
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.hStream.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9806
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         self._hStream._pvt_ptr[0] = cyhStream
 *     @property             # <<<<<<<<<<<<<<
 *     def attrs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].attrs + x*sizeof(cydriver.CUlaunchAttribute) for x in range(self._attrs_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr137__pyx_v_x;
  PyObject *__pyx_10genexpr138__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9808
 *     @property
 *     def attrs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].attrs + x*sizeof(cydriver.CUlaunchAttribute) for x in range(self._attrs_length)]             # <<<<<<<<<<<<<<
 *         return [CUlaunchAttribute(_ptr=arr) for arr in arrs]
 *     @attrs.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_attrs_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr137__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).attrs) + (__pyx_10genexpr137__pyx_v_x * (sizeof(CUlaunchAttribute))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9808, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 9808, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9809
 *     def attrs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].attrs + x*sizeof(cydriver.CUlaunchAttribute) for x in range(self._attrs_length)]
 *         return [CUlaunchAttribute(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @attrs.setter
 *     def attrs(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9809, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9809, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9809, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr138__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9809, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr138__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9809, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9809, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 9809, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr138__pyx_v_arr); __pyx_10genexpr138__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr138__pyx_v_arr); __pyx_10genexpr138__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9806
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         self._hStream._pvt_ptr[0] = cyhStream
 *     @property             # <<<<<<<<<<<<<<
 *     def attrs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].attrs + x*sizeof(cydriver.CUlaunchAttribute) for x in range(self._attrs_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.attrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr138__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9810
 *         arrs = [<void_ptr>self._pvt_ptr[0].attrs + x*sizeof(cydriver.CUlaunchAttribute) for x in range(self._attrs_length)]
 *         return [CUlaunchAttribute(_ptr=arr) for arr in arrs]
 *     @attrs.setter             # <<<<<<<<<<<<<<
 *     def attrs(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUlaunchAttribute *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9812
 *     @attrs.setter
 *     def attrs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._attrs)
 *             self._attrs_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9812, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":9813
 *     def attrs(self, val):
 *         if len(val) == 0:
 *             free(self._attrs)             # <<<<<<<<<<<<<<
 *             self._attrs_length = 0
 *             self._pvt_ptr[0].attrs = NULL
*/
    free(__pyx_v_self->_attrs);

    /* "cuda/bindings/driver.pyx":9814
 *         if len(val) == 0:
 *             free(self._attrs)
 *             self._attrs_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].attrs = NULL
 *         else:
*/
    __pyx_v_self->_attrs_length = 0;

    /* "cuda/bindings/driver.pyx":9815
 *             free(self._attrs)
 *             self._attrs_length = 0
 *             self._pvt_ptr[0].attrs = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._attrs_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).attrs = NULL;

    /* "cuda/bindings/driver.pyx":9812
 *     @attrs.setter
 *     def attrs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._attrs)
 *             self._attrs_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9817
 *             self._pvt_ptr[0].attrs = NULL
 *         else:
 *             if self._attrs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._attrs)
 *                 self._attrs = <cydriver.CUlaunchAttribute*> calloc(len(val), sizeof(cydriver.CUlaunchAttribute))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9817, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_attrs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":9818
 *         else:
 *             if self._attrs_length != <size_t>len(val):
 *                 free(self._attrs)             # <<<<<<<<<<<<<<
 *                 self._attrs = <cydriver.CUlaunchAttribute*> calloc(len(val), sizeof(cydriver.CUlaunchAttribute))
 *                 if self._attrs is NULL:
*/
      free(__pyx_v_self->_attrs);

      /* "cuda/bindings/driver.pyx":9819
 *             if self._attrs_length != <size_t>len(val):
 *                 free(self._attrs)
 *                 self._attrs = <cydriver.CUlaunchAttribute*> calloc(len(val), sizeof(cydriver.CUlaunchAttribute))             # <<<<<<<<<<<<<<
 *                 if self._attrs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUlaunchAttribute)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9819, __pyx_L1_error)
      __pyx_v_self->_attrs = ((CUlaunchAttribute *)calloc(__pyx_t_1, (sizeof(CUlaunchAttribute))));

      /* "cuda/bindings/driver.pyx":9820
 *                 free(self._attrs)
 *                 self._attrs = <cydriver.CUlaunchAttribute*> calloc(len(val), sizeof(cydriver.CUlaunchAttribute))
 *                 if self._attrs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUlaunchAttribute)))
 *                 self._attrs_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_attrs == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":9821
 *                 self._attrs = <cydriver.CUlaunchAttribute*> calloc(len(val), sizeof(cydriver.CUlaunchAttribute))
 *                 if self._attrs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUlaunchAttribute)))             # <<<<<<<<<<<<<<
 *                 self._attrs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].attrs = self._attrs
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9821, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUlaunchAttribute))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9821, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 9821, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":9820
 *                 free(self._attrs)
 *                 self._attrs = <cydriver.CUlaunchAttribute*> calloc(len(val), sizeof(cydriver.CUlaunchAttribute))
 *                 if self._attrs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUlaunchAttribute)))
 *                 self._attrs_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":9822
 *                 if self._attrs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUlaunchAttribute)))
 *                 self._attrs_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].attrs = self._attrs
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9822, __pyx_L1_error)
      __pyx_v_self->_attrs_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":9823
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUlaunchAttribute)))
 *                 self._attrs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].attrs = self._attrs             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._pvt_ptr, sizeof(cydriver.CUlaunchAttribute))
*/
      __pyx_t_10 = __pyx_v_self->_attrs;
      (__pyx_v_self->_pvt_ptr[0]).attrs = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":9817
 *             self._pvt_ptr[0].attrs = NULL
 *         else:
 *             if self._attrs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._attrs)
 *                 self._attrs = <cydriver.CUlaunchAttribute*> calloc(len(val), sizeof(cydriver.CUlaunchAttribute))
*/
    }

    /* "cuda/bindings/driver.pyx":9824
 *                 self._attrs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].attrs = self._attrs
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._pvt_ptr, sizeof(cydriver.CUlaunchAttribute))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9824, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":9825
 *                 self._pvt_ptr[0].attrs = self._attrs
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._pvt_ptr, sizeof(cydriver.CUlaunchAttribute))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9825, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_attrs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute *)__pyx_t_3)->__pyx_base._pvt_ptr, (sizeof(CUlaunchAttribute))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9810
 *         arrs = [<void_ptr>self._pvt_ptr[0].attrs + x*sizeof(cydriver.CUlaunchAttribute) for x in range(self._attrs_length)]
 *         return [CUlaunchAttribute(_ptr=arr) for arr in arrs]
 *     @attrs.setter             # <<<<<<<<<<<<<<
 *     def attrs(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.attrs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9827
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._pvt_ptr, sizeof(cydriver.CUlaunchAttribute))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numAttrs(self):
 *         return self._pvt_ptr[0].numAttrs
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9829
 *     @property
 *     def numAttrs(self):
 *         return self._pvt_ptr[0].numAttrs             # <<<<<<<<<<<<<<
 *     @numAttrs.setter
 *     def numAttrs(self, unsigned int numAttrs):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).numAttrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9827
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._pvt_ptr, sizeof(cydriver.CUlaunchAttribute))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numAttrs(self):
 *         return self._pvt_ptr[0].numAttrs
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.numAttrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9830
 *     def numAttrs(self):
 *         return self._pvt_ptr[0].numAttrs
 *     @numAttrs.setter             # <<<<<<<<<<<<<<
 *     def numAttrs(self, unsigned int numAttrs):
 *         self._pvt_ptr[0].numAttrs = numAttrs
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numAttrs); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numAttrs) {
  unsigned int __pyx_v_numAttrs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numAttrs); {
    __pyx_v_numAttrs = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numAttrs); if (unlikely((__pyx_v_numAttrs == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9831, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.numAttrs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_numAttrs));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_numAttrs) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9832
 *     @numAttrs.setter
 *     def numAttrs(self, unsigned int numAttrs):
 *         self._pvt_ptr[0].numAttrs = numAttrs             # <<<<<<<<<<<<<<
 * 
 * cdef class CUexecAffinitySmCount_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).numAttrs = __pyx_v_numAttrs;

  /* "cuda/bindings/driver.pyx":9830
 *     def numAttrs(self):
 *         return self._pvt_ptr[0].numAttrs
 *     @numAttrs.setter             # <<<<<<<<<<<<<<
 *     def numAttrs(self, unsigned int numAttrs):
 *         self._pvt_ptr[0].numAttrs = numAttrs
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_10__reduce_cython__, "CUlaunchConfig_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUlaunchConfig_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_12__setstate_cython__, "CUlaunchConfig_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUlaunchConfig_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUlaunchConfig_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchConfig_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9848
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9848, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9848, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9848, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9848, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9848, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9848, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":9849
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9850
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUexecAffinitySmCount_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":9849
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9852
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUexecAffinitySmCount_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUexecAffinitySmCount_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9848
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9853
 *         else:
 *             self._pvt_ptr = <cydriver.CUexecAffinitySmCount_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9853, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9853, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9853, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9853, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9853, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9853, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9855
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9857
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_6getPtr, "CUexecAffinitySmCount_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9858
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9857
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9859
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9860
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9861
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['val : ' + str(self.val)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9862
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['val : ' + str(self.val)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9863
 *             str_list = []
 *             try:
 *                 str_list += ['val : ' + str(self.val)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['val : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_val_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9863, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9863, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_val, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9863, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9863, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9863, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9863, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9862
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['val : ' + str(self.val)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9864
 *             try:
 *                 str_list += ['val : ' + str(self.val)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['val : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9864, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9865
 *                 str_list += ['val : ' + str(self.val)]
 *             except ValueError:
 *                 str_list += ['val : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9865, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_val_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_val_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_val_ValueError) != (0)) __PYX_ERR(0, 9865, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9865, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9862
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['val : ' + str(self.val)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9866
 *             except ValueError:
 *                 str_list += ['val : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9860
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9868
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def val(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9859
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9869
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def val(self):
 *         return self._pvt_ptr[0].val
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9871
 *     @property
 *     def val(self):
 *         return self._pvt_ptr[0].val             # <<<<<<<<<<<<<<
 *     @val.setter
 *     def val(self, unsigned int val):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).val); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9869
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def val(self):
 *         return self._pvt_ptr[0].val
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.val.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9872
 *     def val(self):
 *         return self._pvt_ptr[0].val
 *     @val.setter             # <<<<<<<<<<<<<<
 *     def val(self, unsigned int val):
 *         self._pvt_ptr[0].val = val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
  unsigned int __pyx_v_val;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_val); {
    __pyx_v_val = __Pyx_PyLong_As_unsigned_int(__pyx_arg_val); if (unlikely((__pyx_v_val == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9873, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.val.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self), ((unsigned int)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self, unsigned int __pyx_v_val) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9874
 *     @val.setter
 *     def val(self, unsigned int val):
 *         self._pvt_ptr[0].val = val             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union3:
*/
  (__pyx_v_self->_pvt_ptr[0]).val = __pyx_v_val;

  /* "cuda/bindings/driver.pyx":9872
 *     def val(self):
 *         return self._pvt_ptr[0].val
 *     @val.setter             # <<<<<<<<<<<<<<
 *     def val(self, unsigned int val):
 *         self._pvt_ptr[0].val = val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_10__reduce_cython__, "CUexecAffinitySmCount_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_12__setstate_cython__, "CUexecAffinitySmCount_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinitySmCount_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9888
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9888, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9888, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9888, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 9888, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9888, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9888, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9888, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union3___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union3___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":9889
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUexecAffinityParam_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":9888
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9891
 *         self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._smCount = CUexecAffinitySmCount(_ptr=<void_ptr>&self._pvt_ptr[0].param.smCount)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9891, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9891, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9891, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 9891, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9891, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9891, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9891, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union3_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union3_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9893
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._smCount = CUexecAffinitySmCount(_ptr=<void_ptr>&self._pvt_ptr[0].param.smCount)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).param.smCount))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9893, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9893, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_smCount);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_smCount);
  __pyx_v_self->_smCount = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9891
 *         self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._smCount = CUexecAffinitySmCount(_ptr=<void_ptr>&self._pvt_ptr[0].param.smCount)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9894
 *         pass
 *         self._smCount = CUexecAffinitySmCount(_ptr=<void_ptr>&self._pvt_ptr[0].param.smCount)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union3_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union3_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11anon_union3_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11anon_union3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9896
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].param
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union3_6getPtr, "anon_union3.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union3_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union3_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union3_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union3_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9897
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].param             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).param))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9896
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].param
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9898
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].param
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union3_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr139__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9899
 *         return <void_ptr>&self._pvt_ptr[0].param
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9900
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['smCount :\n' + '\n'.join(['    ' + line for line in str(self.smCount).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9901
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount :\n' + '\n'.join(['    ' + line for line in str(self.smCount).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9902
 *             str_list = []
 *             try:
 *                 str_list += ['smCount :\n' + '\n'.join(['    ' + line for line in str(self.smCount).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9902, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_smCount_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9902, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9902, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9902, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9902, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9902, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr139__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr139__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9902, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9902, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr139__pyx_v_line); __pyx_10genexpr139__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr139__pyx_v_line); __pyx_10genexpr139__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9902, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_smCount, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9902, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9902, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9902, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9902, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9901
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount :\n' + '\n'.join(['    ' + line for line in str(self.smCount).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":9903
 *             try:
 *                 str_list += ['smCount :\n' + '\n'.join(['    ' + line for line in str(self.smCount).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 9903, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9904
 *                 str_list += ['smCount :\n' + '\n'.join(['    ' + line for line in str(self.smCount).splitlines()])]
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9904, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_smCount_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_smCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_smCount_ValueError) != (0)) __PYX_ERR(0, 9904, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 9904, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9901
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount :\n' + '\n'.join(['    ' + line for line in str(self.smCount).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9905
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9899
 *         return <void_ptr>&self._pvt_ptr[0].param
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9907
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def smCount(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9898
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].param
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr139__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9908
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._smCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_7smCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_7smCount_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union3_7smCount___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_7smCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9910
 *     @property
 *     def smCount(self):
 *         return self._smCount             # <<<<<<<<<<<<<<
 *     @smCount.setter
 *     def smCount(self, smCount not None : CUexecAffinitySmCount):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_smCount);
  __pyx_r = ((PyObject *)__pyx_v_self->_smCount);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9908
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._smCount
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9911
 *     def smCount(self):
 *         return self._smCount
 *     @smCount.setter             # <<<<<<<<<<<<<<
 *     def smCount(self, smCount not None : CUexecAffinitySmCount):
 *         string.memcpy(&self._pvt_ptr[0].param.smCount, <cydriver.CUexecAffinitySmCount*><void_ptr>smCount.getPtr(), sizeof(self._pvt_ptr[0].param.smCount))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union3_7smCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_smCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union3_7smCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_smCount) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_smCount), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount, 0, "smCount", 0))) __PYX_ERR(0, 9912, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union3_7smCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount *)__pyx_v_smCount));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union3_7smCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount *__pyx_v_smCount) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9913
 *     @smCount.setter
 *     def smCount(self, smCount not None : CUexecAffinitySmCount):
 *         string.memcpy(&self._pvt_ptr[0].param.smCount, <cydriver.CUexecAffinitySmCount*><void_ptr>smCount.getPtr(), sizeof(self._pvt_ptr[0].param.smCount))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUexecAffinityParam_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_smCount);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).param.smCount), ((CUexecAffinitySmCount *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).param.smCount))));

  /* "cuda/bindings/driver.pyx":9911
 *     def smCount(self):
 *         return self._smCount
 *     @smCount.setter             # <<<<<<<<<<<<<<
 *     def smCount(self, smCount not None : CUexecAffinitySmCount):
 *         string.memcpy(&self._pvt_ptr[0].param.smCount, <cydriver.CUexecAffinitySmCount*><void_ptr>smCount.getPtr(), sizeof(self._pvt_ptr[0].param.smCount))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.smCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union3_10__reduce_cython__, "anon_union3.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union3_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union3_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union3_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union3_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union3_12__setstate_cython__, "anon_union3.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union3_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union3_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union3_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union3_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union3_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union3.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9931
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUexecAffinityParam_st *>calloc(1, sizeof(cydriver.CUexecAffinityParam_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9931, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9931, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9931, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9931, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9931, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9931, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUexecAffinityParam_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":9932
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUexecAffinityParam_st *>calloc(1, sizeof(cydriver.CUexecAffinityParam_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9933
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUexecAffinityParam_st *>calloc(1, sizeof(cydriver.CUexecAffinityParam_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUexecAffinityParam_st *)calloc(1, (sizeof(struct CUexecAffinityParam_st))));

    /* "cuda/bindings/driver.pyx":9934
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUexecAffinityParam_st *>calloc(1, sizeof(cydriver.CUexecAffinityParam_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":9932
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUexecAffinityParam_st *>calloc(1, sizeof(cydriver.CUexecAffinityParam_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9936
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUexecAffinityParam_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9931
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUexecAffinityParam_st *>calloc(1, sizeof(cydriver.CUexecAffinityParam_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9937
 *         else:
 *             self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._param = anon_union3(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9937, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9937, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9937, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9937, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9937, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9937, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9939
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._param = anon_union3(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union3);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union3); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9939, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9939, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_param);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_param);
  __pyx_v_self->_param = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":9937
 *         else:
 *             self._pvt_ptr = <cydriver.CUexecAffinityParam_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._param = anon_union3(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9940
 *         pass
 *         self._param = anon_union3(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":9941
 *         self._param = anon_union3(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9942
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":9941
 *         self._param = anon_union3(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":9940
 *         pass
 *         self._param = anon_union3(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9943
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_6getPtr, "CUexecAffinityParam_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUexecAffinityParam_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":9944
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9943
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9945
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr140__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9946
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9947
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9948
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9949
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9949, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9949, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9949, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9949, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 9949, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9949, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":9948
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":9950
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 9950, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9951
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['param :\n' + '\n'.join(['    ' + line for line in str(self.param).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9951, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 9951, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9951, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":9948
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9952
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['param :\n' + '\n'.join(['    ' + line for line in str(self.param).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":9953
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['param :\n' + '\n'.join(['    ' + line for line in str(self.param).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['param : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9953, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_param_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9953, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9953, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9953, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 9953, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9953, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr140__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr140__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9953, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9953, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr140__pyx_v_line); __pyx_10genexpr140__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr140__pyx_v_line); __pyx_10genexpr140__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9953, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_param, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9953, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9953, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 9953, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9953, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":9952
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['param :\n' + '\n'.join(['    ' + line for line in str(self.param).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9954
 *             try:
 *                 str_list += ['param :\n' + '\n'.join(['    ' + line for line in str(self.param).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['param : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 9954, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9955
 *                 str_list += ['param :\n' + '\n'.join(['    ' + line for line in str(self.param).splitlines()])]
 *             except ValueError:
 *                 str_list += ['param : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9955, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_param_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_param_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_param_ValueError) != (0)) __PYX_ERR(0, 9955, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9955, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":9952
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['param :\n' + '\n'.join(['    ' + line for line in str(self.param).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9956
 *             except ValueError:
 *                 str_list += ['param : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9946
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9958
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":9945
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr140__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9959
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexecAffinityType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9961
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexecAffinityType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUexecAffinityType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUexecAffinityType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUexecAffinityType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 9961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":9962
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexecAffinityType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUexecAffinityType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9961
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexecAffinityType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUexecAffinityType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":9963
 *         if self._pvt_ptr[0].type not in _dict_CUexecAffinityType:
 *             return None
 *         return _dict_CUexecAffinityType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUexecAffinityType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUexecAffinityType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUexecAffinityType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9959
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexecAffinityType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9964
 *             return None
 *         return _dict_CUexecAffinityType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexecAffinityType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 9965, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUexecAffinityType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9966
 *     @type.setter
 *     def type(self, type not None : CUexecAffinityType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def param(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUexecAffinityType_enum)__Pyx_PyLong_As_enum__CUexecAffinityType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9966, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":9964
 *             return None
 *         return _dict_CUexecAffinityType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexecAffinityType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9967
 *     def type(self, type not None : CUexecAffinityType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def param(self):
 *         return self._param
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9969
 *     @property
 *     def param(self):
 *         return self._param             # <<<<<<<<<<<<<<
 *     @param.setter
 *     def param(self, param not None : anon_union3):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_param);
  __pyx_r = ((PyObject *)__pyx_v_self->_param);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9967
 *     def type(self, type not None : CUexecAffinityType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def param(self):
 *         return self._param
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9970
 *     def param(self):
 *         return self._param
 *     @param.setter             # <<<<<<<<<<<<<<
 *     def param(self, param not None : anon_union3):
 *         string.memcpy(&self._pvt_ptr[0].param, <cydriver.anon_union3*><void_ptr>param.getPtr(), sizeof(self._pvt_ptr[0].param))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_param); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_param) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_param), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union3, 0, "param", 0))) __PYX_ERR(0, 9971, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)__pyx_v_param));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *__pyx_v_param) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9972
 *     @param.setter
 *     def param(self, param not None : anon_union3):
 *         string.memcpy(&self._pvt_ptr[0].param, <cydriver.anon_union3*><void_ptr>param.getPtr(), sizeof(self._pvt_ptr[0].param))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUctxCigParam_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_param);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).param), ((union anon_union3 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).param))));

  /* "cuda/bindings/driver.pyx":9970
 *     def param(self):
 *         return self._param
 *     @param.setter             # <<<<<<<<<<<<<<
 *     def param(self, param not None : anon_union3):
 *         string.memcpy(&self._pvt_ptr[0].param, <cydriver.anon_union3*><void_ptr>param.getPtr(), sizeof(self._pvt_ptr[0].param))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.param.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_10__reduce_cython__, "CUexecAffinityParam_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUexecAffinityParam_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_12__setstate_cython__, "CUexecAffinityParam_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUexecAffinityParam_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUexecAffinityParam_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUexecAffinityParam_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9990
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9990, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9990, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 9990, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9990, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9990, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9990, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":9991
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":9992
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUctxCigParam_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":9991
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9994
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUctxCigParam_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUctxCigParam_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9990
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9995
 *         else:
 *             self._pvt_ptr = <cydriver.CUctxCigParam_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 9995, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9995, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 9995, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 9995, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9995, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 9995, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9997
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":9999
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_6getPtr, "CUctxCigParam_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUctxCigParam_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":10000
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9999
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10001
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":10002
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10003
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedDataType : ' + str(self.sharedDataType)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10004
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedDataType : ' + str(self.sharedDataType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10005
 *             str_list = []
 *             try:
 *                 str_list += ['sharedDataType : ' + str(self.sharedDataType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedDataType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedDataType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10005, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10005, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sharedDataType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10005, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10005, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10005, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10005, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10004
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedDataType : ' + str(self.sharedDataType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":10006
 *             try:
 *                 str_list += ['sharedDataType : ' + str(self.sharedDataType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedDataType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10006, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10007
 *                 str_list += ['sharedDataType : ' + str(self.sharedDataType)]
 *             except ValueError:
 *                 str_list += ['sharedDataType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10007, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedDataType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedDataType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_sharedDataType_ValueError) != (0)) __PYX_ERR(0, 10007, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10007, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":10004
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedDataType : ' + str(self.sharedDataType)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10008
 *             except ValueError:
 *                 str_list += ['sharedDataType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10009
 *                 str_list += ['sharedDataType : <ValueError>']
 *             try:
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedData : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedData_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10009, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10009, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_sharedData, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10009, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10009, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10009, __pyx_L12_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10009, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10008
 *             except ValueError:
 *                 str_list += ['sharedDataType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10010
 *             try:
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedData : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10010, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10011
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]
 *             except ValueError:
 *                 str_list += ['sharedData : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10011, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedData_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedData_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_sharedData_ValueError) != (0)) __PYX_ERR(0, 10011, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10011, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":10008
 *             except ValueError:
 *                 str_list += ['sharedDataType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10012
 *             except ValueError:
 *                 str_list += ['sharedData : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_10 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_r = __pyx_t_10;
    __pyx_t_10 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10002
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10014
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedDataType(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":10001
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10015
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedDataType(self):
 *         if self._pvt_ptr[0].sharedDataType not in _dict_CUcigDataType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10017
 *     @property
 *     def sharedDataType(self):
 *         if self._pvt_ptr[0].sharedDataType not in _dict_CUcigDataType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUcigDataType[self._pvt_ptr[0].sharedDataType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUcigDataType_enum((__pyx_v_self->_pvt_ptr[0]).sharedDataType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUcigDataType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 10017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":10018
 *     def sharedDataType(self):
 *         if self._pvt_ptr[0].sharedDataType not in _dict_CUcigDataType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUcigDataType[self._pvt_ptr[0].sharedDataType]
 *     @sharedDataType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10017
 *     @property
 *     def sharedDataType(self):
 *         if self._pvt_ptr[0].sharedDataType not in _dict_CUcigDataType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUcigDataType[self._pvt_ptr[0].sharedDataType]
*/
  }

  /* "cuda/bindings/driver.pyx":10019
 *         if self._pvt_ptr[0].sharedDataType not in _dict_CUcigDataType:
 *             return None
 *         return _dict_CUcigDataType[self._pvt_ptr[0].sharedDataType]             # <<<<<<<<<<<<<<
 *     @sharedDataType.setter
 *     def sharedDataType(self, sharedDataType not None : CUcigDataType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUcigDataType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUcigDataType_enum((__pyx_v_self->_pvt_ptr[0]).sharedDataType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10015
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedDataType(self):
 *         if self._pvt_ptr[0].sharedDataType not in _dict_CUcigDataType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.sharedDataType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10020
 *             return None
 *         return _dict_CUcigDataType[self._pvt_ptr[0].sharedDataType]
 *     @sharedDataType.setter             # <<<<<<<<<<<<<<
 *     def sharedDataType(self, sharedDataType not None : CUcigDataType):
 *         self._pvt_ptr[0].sharedDataType = sharedDataType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sharedDataType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sharedDataType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_sharedDataType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "sharedDataType"); __PYX_ERR(0, 10021, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self), ((PyObject *)__pyx_v_sharedDataType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, PyObject *__pyx_v_sharedDataType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcigDataType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10022
 *     @sharedDataType.setter
 *     def sharedDataType(self, sharedDataType not None : CUcigDataType):
 *         self._pvt_ptr[0].sharedDataType = sharedDataType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedData(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_sharedDataType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcigDataType_enum)__Pyx_PyLong_As_enum__CUcigDataType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).sharedDataType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":10020
 *             return None
 *         return _dict_CUcigDataType[self._pvt_ptr[0].sharedDataType]
 *     @sharedDataType.setter             # <<<<<<<<<<<<<<
 *     def sharedDataType(self, sharedDataType not None : CUcigDataType):
 *         self._pvt_ptr[0].sharedDataType = sharedDataType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.sharedDataType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10023
 *     def sharedDataType(self, sharedDataType not None : CUcigDataType):
 *         self._pvt_ptr[0].sharedDataType = sharedDataType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedData(self):
 *         return <void_ptr>self._pvt_ptr[0].sharedData
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10025
 *     @property
 *     def sharedData(self):
 *         return <void_ptr>self._pvt_ptr[0].sharedData             # <<<<<<<<<<<<<<
 *     @sharedData.setter
 *     def sharedData(self, sharedData):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).sharedData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10023
 *     def sharedDataType(self, sharedDataType not None : CUcigDataType):
 *         self._pvt_ptr[0].sharedDataType = sharedDataType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedData(self):
 *         return <void_ptr>self._pvt_ptr[0].sharedData
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.sharedData.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10026
 *     def sharedData(self):
 *         return <void_ptr>self._pvt_ptr[0].sharedData
 *     @sharedData.setter             # <<<<<<<<<<<<<<
 *     def sharedData(self, sharedData):
 *         _csharedData = _HelperInputVoidPtr(sharedData)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sharedData); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sharedData) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self), ((PyObject *)__pyx_v_sharedData));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, PyObject *__pyx_v_sharedData) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__csharedData = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10028
 *     @sharedData.setter
 *     def sharedData(self, sharedData):
 *         _csharedData = _HelperInputVoidPtr(sharedData)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].sharedData = <void*><void_ptr>_csharedData.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_sharedData};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10028, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__csharedData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10029
 *     def sharedData(self, sharedData):
 *         _csharedData = _HelperInputVoidPtr(sharedData)
 *         self._pvt_ptr[0].sharedData = <void*><void_ptr>_csharedData.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUctxCreateParams_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__csharedData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).sharedData = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10026
 *     def sharedData(self):
 *         return <void_ptr>self._pvt_ptr[0].sharedData
 *     @sharedData.setter             # <<<<<<<<<<<<<<
 *     def sharedData(self, sharedData):
 *         _csharedData = _HelperInputVoidPtr(sharedData)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.sharedData.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__csharedData);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_10__reduce_cython__, "CUctxCigParam_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUctxCigParam_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_12__setstate_cython__, "CUctxCigParam_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUctxCigParam_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUctxCigParam_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10050
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10050, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10050, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 10050, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10050, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10050, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10050, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":10051
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10052
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUctxCreateParams_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":10051
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10054
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUctxCreateParams_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUctxCreateParams_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10050
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10055
 *         else:
 *             self._pvt_ptr = <cydriver.CUctxCreateParams_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10055, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 10055, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10055, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10055, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10057
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._execAffinityParams is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":10059
 *     def __dealloc__(self):
 *         pass
 *         if self._execAffinityParams is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._execAffinityParams)
 *         if self._cigParams is not NULL:
*/
  __pyx_t_1 = (__pyx_v_self->_execAffinityParams != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10060
 *         pass
 *         if self._execAffinityParams is not NULL:
 *             free(self._execAffinityParams)             # <<<<<<<<<<<<<<
 *         if self._cigParams is not NULL:
 *             free(self._cigParams)
*/
    free(__pyx_v_self->_execAffinityParams);

    /* "cuda/bindings/driver.pyx":10059
 *     def __dealloc__(self):
 *         pass
 *         if self._execAffinityParams is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._execAffinityParams)
 *         if self._cigParams is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":10061
 *         if self._execAffinityParams is not NULL:
 *             free(self._execAffinityParams)
 *         if self._cigParams is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._cigParams)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_cigParams != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10062
 *             free(self._execAffinityParams)
 *         if self._cigParams is not NULL:
 *             free(self._cigParams)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_cigParams);

    /* "cuda/bindings/driver.pyx":10061
 *         if self._execAffinityParams is not NULL:
 *             free(self._execAffinityParams)
 *         if self._cigParams is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._cigParams)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":10057
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._execAffinityParams is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":10063
 *         if self._cigParams is not NULL:
 *             free(self._cigParams)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_6getPtr, "CUctxCreateParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUctxCreateParams_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":10064
 *             free(self._cigParams)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10063
 *         if self._cigParams is not NULL:
 *             free(self._cigParams)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10065
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":10066
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10067
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['execAffinityParams : ' + str(self.execAffinityParams)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10068
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['execAffinityParams : ' + str(self.execAffinityParams)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10069
 *             str_list = []
 *             try:
 *                 str_list += ['execAffinityParams : ' + str(self.execAffinityParams)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['execAffinityParams : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_execAffinityParams_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10069, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10069, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_execAffinityParams, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10069, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10069, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10069, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10069, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10068
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['execAffinityParams : ' + str(self.execAffinityParams)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":10070
 *             try:
 *                 str_list += ['execAffinityParams : ' + str(self.execAffinityParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['execAffinityParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10070, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10071
 *                 str_list += ['execAffinityParams : ' + str(self.execAffinityParams)]
 *             except ValueError:
 *                 str_list += ['execAffinityParams : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numExecAffinityParams : ' + str(self.numExecAffinityParams)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10071, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_execAffinityParams_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_execAffinityParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_execAffinityParams_ValueError) != (0)) __PYX_ERR(0, 10071, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10071, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":10068
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['execAffinityParams : ' + str(self.execAffinityParams)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10072
 *             except ValueError:
 *                 str_list += ['execAffinityParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExecAffinityParams : ' + str(self.numExecAffinityParams)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10073
 *                 str_list += ['execAffinityParams : <ValueError>']
 *             try:
 *                 str_list += ['numExecAffinityParams : ' + str(self.numExecAffinityParams)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numExecAffinityParams : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numExecAffinityParams_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10073, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10073, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numExecAffinityParams, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10073, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10073, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10073, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10073, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10072
 *             except ValueError:
 *                 str_list += ['execAffinityParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExecAffinityParams : ' + str(self.numExecAffinityParams)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10074
 *             try:
 *                 str_list += ['numExecAffinityParams : ' + str(self.numExecAffinityParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExecAffinityParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10074, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10075
 *                 str_list += ['numExecAffinityParams : ' + str(self.numExecAffinityParams)]
 *             except ValueError:
 *                 str_list += ['numExecAffinityParams : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['cigParams : ' + str(self.cigParams)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10075, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numExecAffinityParams_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numExecAffinityParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_numExecAffinityParams_ValueError) != (0)) __PYX_ERR(0, 10075, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10075, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":10072
 *             except ValueError:
 *                 str_list += ['execAffinityParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExecAffinityParams : ' + str(self.numExecAffinityParams)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10076
 *             except ValueError:
 *                 str_list += ['numExecAffinityParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cigParams : ' + str(self.cigParams)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10077
 *                 str_list += ['numExecAffinityParams : <ValueError>']
 *             try:
 *                 str_list += ['cigParams : ' + str(self.cigParams)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['cigParams : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_cigParams_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10077, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10077, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_cigParams, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10077, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10077, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10077, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10077, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10076
 *             except ValueError:
 *                 str_list += ['numExecAffinityParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cigParams : ' + str(self.cigParams)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10078
 *             try:
 *                 str_list += ['cigParams : ' + str(self.cigParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['cigParams : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10078, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10079
 *                 str_list += ['cigParams : ' + str(self.cigParams)]
 *             except ValueError:
 *                 str_list += ['cigParams : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10079, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_cigParams_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_cigParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_cigParams_ValueError) != (0)) __PYX_ERR(0, 10079, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10079, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":10076
 *             except ValueError:
 *                 str_list += ['numExecAffinityParams : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cigParams : ' + str(self.cigParams)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10080
 *             except ValueError:
 *                 str_list += ['cigParams : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10066
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10082
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def execAffinityParams(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":10065
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10083
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def execAffinityParams(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].execAffinityParams + x*sizeof(cydriver.CUexecAffinityParam) for x in range(self._execAffinityParams_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr141__pyx_v_x;
  PyObject *__pyx_10genexpr142__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10085
 *     @property
 *     def execAffinityParams(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].execAffinityParams + x*sizeof(cydriver.CUexecAffinityParam) for x in range(self._execAffinityParams_length)]             # <<<<<<<<<<<<<<
 *         return [CUexecAffinityParam(_ptr=arr) for arr in arrs]
 *     @execAffinityParams.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_execAffinityParams_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr141__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).execAffinityParams) + (__pyx_10genexpr141__pyx_v_x * (sizeof(CUexecAffinityParam))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10085, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 10085, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10086
 *     def execAffinityParams(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].execAffinityParams + x*sizeof(cydriver.CUexecAffinityParam) for x in range(self._execAffinityParams_length)]
 *         return [CUexecAffinityParam(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @execAffinityParams.setter
 *     def execAffinityParams(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10086, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 10086, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10086, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr142__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10086, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr142__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10086, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10086, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 10086, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr142__pyx_v_arr); __pyx_10genexpr142__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr142__pyx_v_arr); __pyx_10genexpr142__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10083
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def execAffinityParams(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].execAffinityParams + x*sizeof(cydriver.CUexecAffinityParam) for x in range(self._execAffinityParams_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.execAffinityParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr142__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10087
 *         arrs = [<void_ptr>self._pvt_ptr[0].execAffinityParams + x*sizeof(cydriver.CUexecAffinityParam) for x in range(self._execAffinityParams_length)]
 *         return [CUexecAffinityParam(_ptr=arr) for arr in arrs]
 *     @execAffinityParams.setter             # <<<<<<<<<<<<<<
 *     def execAffinityParams(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUexecAffinityParam *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10089
 *     @execAffinityParams.setter
 *     def execAffinityParams(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._execAffinityParams)
 *             self._execAffinityParams_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10089, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":10090
 *     def execAffinityParams(self, val):
 *         if len(val) == 0:
 *             free(self._execAffinityParams)             # <<<<<<<<<<<<<<
 *             self._execAffinityParams_length = 0
 *             self._pvt_ptr[0].execAffinityParams = NULL
*/
    free(__pyx_v_self->_execAffinityParams);

    /* "cuda/bindings/driver.pyx":10091
 *         if len(val) == 0:
 *             free(self._execAffinityParams)
 *             self._execAffinityParams_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].execAffinityParams = NULL
 *         else:
*/
    __pyx_v_self->_execAffinityParams_length = 0;

    /* "cuda/bindings/driver.pyx":10092
 *             free(self._execAffinityParams)
 *             self._execAffinityParams_length = 0
 *             self._pvt_ptr[0].execAffinityParams = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._execAffinityParams_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).execAffinityParams = NULL;

    /* "cuda/bindings/driver.pyx":10089
 *     @execAffinityParams.setter
 *     def execAffinityParams(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._execAffinityParams)
 *             self._execAffinityParams_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10094
 *             self._pvt_ptr[0].execAffinityParams = NULL
 *         else:
 *             if self._execAffinityParams_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._execAffinityParams)
 *                 self._execAffinityParams = <cydriver.CUexecAffinityParam*> calloc(len(val), sizeof(cydriver.CUexecAffinityParam))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10094, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_execAffinityParams_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":10095
 *         else:
 *             if self._execAffinityParams_length != <size_t>len(val):
 *                 free(self._execAffinityParams)             # <<<<<<<<<<<<<<
 *                 self._execAffinityParams = <cydriver.CUexecAffinityParam*> calloc(len(val), sizeof(cydriver.CUexecAffinityParam))
 *                 if self._execAffinityParams is NULL:
*/
      free(__pyx_v_self->_execAffinityParams);

      /* "cuda/bindings/driver.pyx":10096
 *             if self._execAffinityParams_length != <size_t>len(val):
 *                 free(self._execAffinityParams)
 *                 self._execAffinityParams = <cydriver.CUexecAffinityParam*> calloc(len(val), sizeof(cydriver.CUexecAffinityParam))             # <<<<<<<<<<<<<<
 *                 if self._execAffinityParams is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10096, __pyx_L1_error)
      __pyx_v_self->_execAffinityParams = ((CUexecAffinityParam *)calloc(__pyx_t_1, (sizeof(CUexecAffinityParam))));

      /* "cuda/bindings/driver.pyx":10097
 *                 free(self._execAffinityParams)
 *                 self._execAffinityParams = <cydriver.CUexecAffinityParam*> calloc(len(val), sizeof(cydriver.CUexecAffinityParam))
 *                 if self._execAffinityParams is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
 *                 self._execAffinityParams_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_execAffinityParams == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":10098
 *                 self._execAffinityParams = <cydriver.CUexecAffinityParam*> calloc(len(val), sizeof(cydriver.CUexecAffinityParam))
 *                 if self._execAffinityParams is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))             # <<<<<<<<<<<<<<
 *                 self._execAffinityParams_length = <size_t>len(val)
 *                 self._pvt_ptr[0].execAffinityParams = self._execAffinityParams
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10098, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10098, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10098, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10098, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10098, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUexecAffinityParam))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10098, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10098, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10098, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10098, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 10098, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":10097
 *                 free(self._execAffinityParams)
 *                 self._execAffinityParams = <cydriver.CUexecAffinityParam*> calloc(len(val), sizeof(cydriver.CUexecAffinityParam))
 *                 if self._execAffinityParams is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
 *                 self._execAffinityParams_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":10099
 *                 if self._execAffinityParams is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
 *                 self._execAffinityParams_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].execAffinityParams = self._execAffinityParams
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10099, __pyx_L1_error)
      __pyx_v_self->_execAffinityParams_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":10100
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
 *                 self._execAffinityParams_length = <size_t>len(val)
 *                 self._pvt_ptr[0].execAffinityParams = self._execAffinityParams             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._execAffinityParams[idx], (<CUexecAffinityParam>val[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
*/
      __pyx_t_10 = __pyx_v_self->_execAffinityParams;
      (__pyx_v_self->_pvt_ptr[0]).execAffinityParams = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":10094
 *             self._pvt_ptr[0].execAffinityParams = NULL
 *         else:
 *             if self._execAffinityParams_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._execAffinityParams)
 *                 self._execAffinityParams = <cydriver.CUexecAffinityParam*> calloc(len(val), sizeof(cydriver.CUexecAffinityParam))
*/
    }

    /* "cuda/bindings/driver.pyx":10101
 *                 self._execAffinityParams_length = <size_t>len(val)
 *                 self._pvt_ptr[0].execAffinityParams = self._execAffinityParams
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._execAffinityParams[idx], (<CUexecAffinityParam>val[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10101, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":10102
 *                 self._pvt_ptr[0].execAffinityParams = self._execAffinityParams
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._execAffinityParams[idx], (<CUexecAffinityParam>val[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_execAffinityParams[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUexecAffinityParam))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10087
 *         arrs = [<void_ptr>self._pvt_ptr[0].execAffinityParams + x*sizeof(cydriver.CUexecAffinityParam) for x in range(self._execAffinityParams_length)]
 *         return [CUexecAffinityParam(_ptr=arr) for arr in arrs]
 *     @execAffinityParams.setter             # <<<<<<<<<<<<<<
 *     def execAffinityParams(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.execAffinityParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10104
 *                 string.memcpy(&self._execAffinityParams[idx], (<CUexecAffinityParam>val[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExecAffinityParams(self):
 *         return self._pvt_ptr[0].numExecAffinityParams
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10106
 *     @property
 *     def numExecAffinityParams(self):
 *         return self._pvt_ptr[0].numExecAffinityParams             # <<<<<<<<<<<<<<
 *     @numExecAffinityParams.setter
 *     def numExecAffinityParams(self, int numExecAffinityParams):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).numExecAffinityParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10104
 *                 string.memcpy(&self._execAffinityParams[idx], (<CUexecAffinityParam>val[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExecAffinityParams(self):
 *         return self._pvt_ptr[0].numExecAffinityParams
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.numExecAffinityParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10107
 *     def numExecAffinityParams(self):
 *         return self._pvt_ptr[0].numExecAffinityParams
 *     @numExecAffinityParams.setter             # <<<<<<<<<<<<<<
 *     def numExecAffinityParams(self, int numExecAffinityParams):
 *         self._pvt_ptr[0].numExecAffinityParams = numExecAffinityParams
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExecAffinityParams); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExecAffinityParams) {
  int __pyx_v_numExecAffinityParams;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numExecAffinityParams); {
    __pyx_v_numExecAffinityParams = __Pyx_PyLong_As_int(__pyx_arg_numExecAffinityParams); if (unlikely((__pyx_v_numExecAffinityParams == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 10108, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.numExecAffinityParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self), ((int)__pyx_v_numExecAffinityParams));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, int __pyx_v_numExecAffinityParams) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10109
 *     @numExecAffinityParams.setter
 *     def numExecAffinityParams(self, int numExecAffinityParams):
 *         self._pvt_ptr[0].numExecAffinityParams = numExecAffinityParams             # <<<<<<<<<<<<<<
 *     @property
 *     def cigParams(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).numExecAffinityParams = __pyx_v_numExecAffinityParams;

  /* "cuda/bindings/driver.pyx":10107
 *     def numExecAffinityParams(self):
 *         return self._pvt_ptr[0].numExecAffinityParams
 *     @numExecAffinityParams.setter             # <<<<<<<<<<<<<<
 *     def numExecAffinityParams(self, int numExecAffinityParams):
 *         self._pvt_ptr[0].numExecAffinityParams = numExecAffinityParams
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10110
 *     def numExecAffinityParams(self, int numExecAffinityParams):
 *         self._pvt_ptr[0].numExecAffinityParams = numExecAffinityParams
 *     @property             # <<<<<<<<<<<<<<
 *     def cigParams(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].cigParams + x*sizeof(cydriver.CUctxCigParam) for x in range(self._cigParams_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr143__pyx_v_x;
  PyObject *__pyx_10genexpr144__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10112
 *     @property
 *     def cigParams(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].cigParams + x*sizeof(cydriver.CUctxCigParam) for x in range(self._cigParams_length)]             # <<<<<<<<<<<<<<
 *         return [CUctxCigParam(_ptr=arr) for arr in arrs]
 *     @cigParams.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_cigParams_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr143__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).cigParams) + (__pyx_10genexpr143__pyx_v_x * (sizeof(CUctxCigParam))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10112, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 10112, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10113
 *     def cigParams(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].cigParams + x*sizeof(cydriver.CUctxCigParam) for x in range(self._cigParams_length)]
 *         return [CUctxCigParam(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @cigParams.setter
 *     def cigParams(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10113, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 10113, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10113, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr144__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10113, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr144__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10113, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10113, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 10113, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr144__pyx_v_arr); __pyx_10genexpr144__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr144__pyx_v_arr); __pyx_10genexpr144__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10110
 *     def numExecAffinityParams(self, int numExecAffinityParams):
 *         self._pvt_ptr[0].numExecAffinityParams = numExecAffinityParams
 *     @property             # <<<<<<<<<<<<<<
 *     def cigParams(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].cigParams + x*sizeof(cydriver.CUctxCigParam) for x in range(self._cigParams_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.cigParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr144__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10114
 *         arrs = [<void_ptr>self._pvt_ptr[0].cigParams + x*sizeof(cydriver.CUctxCigParam) for x in range(self._cigParams_length)]
 *         return [CUctxCigParam(_ptr=arr) for arr in arrs]
 *     @cigParams.setter             # <<<<<<<<<<<<<<
 *     def cigParams(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUctxCigParam *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10116
 *     @cigParams.setter
 *     def cigParams(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._cigParams)
 *             self._cigParams_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10116, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":10117
 *     def cigParams(self, val):
 *         if len(val) == 0:
 *             free(self._cigParams)             # <<<<<<<<<<<<<<
 *             self._cigParams_length = 0
 *             self._pvt_ptr[0].cigParams = NULL
*/
    free(__pyx_v_self->_cigParams);

    /* "cuda/bindings/driver.pyx":10118
 *         if len(val) == 0:
 *             free(self._cigParams)
 *             self._cigParams_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].cigParams = NULL
 *         else:
*/
    __pyx_v_self->_cigParams_length = 0;

    /* "cuda/bindings/driver.pyx":10119
 *             free(self._cigParams)
 *             self._cigParams_length = 0
 *             self._pvt_ptr[0].cigParams = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._cigParams_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).cigParams = NULL;

    /* "cuda/bindings/driver.pyx":10116
 *     @cigParams.setter
 *     def cigParams(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._cigParams)
 *             self._cigParams_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10121
 *             self._pvt_ptr[0].cigParams = NULL
 *         else:
 *             if self._cigParams_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._cigParams)
 *                 self._cigParams = <cydriver.CUctxCigParam*> calloc(len(val), sizeof(cydriver.CUctxCigParam))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10121, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_cigParams_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":10122
 *         else:
 *             if self._cigParams_length != <size_t>len(val):
 *                 free(self._cigParams)             # <<<<<<<<<<<<<<
 *                 self._cigParams = <cydriver.CUctxCigParam*> calloc(len(val), sizeof(cydriver.CUctxCigParam))
 *                 if self._cigParams is NULL:
*/
      free(__pyx_v_self->_cigParams);

      /* "cuda/bindings/driver.pyx":10123
 *             if self._cigParams_length != <size_t>len(val):
 *                 free(self._cigParams)
 *                 self._cigParams = <cydriver.CUctxCigParam*> calloc(len(val), sizeof(cydriver.CUctxCigParam))             # <<<<<<<<<<<<<<
 *                 if self._cigParams is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUctxCigParam)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10123, __pyx_L1_error)
      __pyx_v_self->_cigParams = ((CUctxCigParam *)calloc(__pyx_t_1, (sizeof(CUctxCigParam))));

      /* "cuda/bindings/driver.pyx":10124
 *                 free(self._cigParams)
 *                 self._cigParams = <cydriver.CUctxCigParam*> calloc(len(val), sizeof(cydriver.CUctxCigParam))
 *                 if self._cigParams is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUctxCigParam)))
 *                 self._cigParams_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_cigParams == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":10125
 *                 self._cigParams = <cydriver.CUctxCigParam*> calloc(len(val), sizeof(cydriver.CUctxCigParam))
 *                 if self._cigParams is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUctxCigParam)))             # <<<<<<<<<<<<<<
 *                 self._cigParams_length = <size_t>len(val)
 *                 self._pvt_ptr[0].cigParams = self._cigParams
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10125, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10125, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10125, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10125, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10125, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUctxCigParam))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10125, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10125, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10125, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10125, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 10125, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":10124
 *                 free(self._cigParams)
 *                 self._cigParams = <cydriver.CUctxCigParam*> calloc(len(val), sizeof(cydriver.CUctxCigParam))
 *                 if self._cigParams is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUctxCigParam)))
 *                 self._cigParams_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":10126
 *                 if self._cigParams is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUctxCigParam)))
 *                 self._cigParams_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].cigParams = self._cigParams
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10126, __pyx_L1_error)
      __pyx_v_self->_cigParams_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":10127
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUctxCigParam)))
 *                 self._cigParams_length = <size_t>len(val)
 *                 self._pvt_ptr[0].cigParams = self._cigParams             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._cigParams[idx], (<CUctxCigParam>val[idx])._pvt_ptr, sizeof(cydriver.CUctxCigParam))
*/
      __pyx_t_10 = __pyx_v_self->_cigParams;
      (__pyx_v_self->_pvt_ptr[0]).cigParams = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":10121
 *             self._pvt_ptr[0].cigParams = NULL
 *         else:
 *             if self._cigParams_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._cigParams)
 *                 self._cigParams = <cydriver.CUctxCigParam*> calloc(len(val), sizeof(cydriver.CUctxCigParam))
*/
    }

    /* "cuda/bindings/driver.pyx":10128
 *                 self._cigParams_length = <size_t>len(val)
 *                 self._pvt_ptr[0].cigParams = self._cigParams
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._cigParams[idx], (<CUctxCigParam>val[idx])._pvt_ptr, sizeof(cydriver.CUctxCigParam))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10128, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":10129
 *                 self._pvt_ptr[0].cigParams = self._cigParams
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._cigParams[idx], (<CUctxCigParam>val[idx])._pvt_ptr, sizeof(cydriver.CUctxCigParam))             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_cigParams[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam *)__pyx_t_3)->__pyx_base._pvt_ptr, (sizeof(CUctxCigParam))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10114
 *         arrs = [<void_ptr>self._pvt_ptr[0].cigParams + x*sizeof(cydriver.CUctxCigParam) for x in range(self._cigParams_length)]
 *         return [CUctxCigParam(_ptr=arr) for arr in arrs]
 *     @cigParams.setter             # <<<<<<<<<<<<<<
 *     def cigParams(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.cigParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_10__reduce_cython__, "CUctxCreateParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUctxCreateParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_12__setstate_cython__, "CUctxCreateParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUctxCreateParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUctxCreateParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUctxCreateParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10150
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10150, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10150, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 10150, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10150, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10150, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10150, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":10151
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10152
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlibraryHostUniversalFunctionAndDataTable_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":10151
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10154
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUlibraryHostUniversalFunctionAndDataTable_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10150
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10155
 *         else:
 *             self._pvt_ptr = <cydriver.CUlibraryHostUniversalFunctionAndDataTable_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10155, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10155, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 10155, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10155, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10155, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10155, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10157
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":10159
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr, "CUlibraryHostUniversalFunctionAndDataTable_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":10160
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10159
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10161
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":10162
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10163
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10164
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10165
 *             str_list = []
 *             try:
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['functionTable : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_7 = __pyx_builtin_hex; 
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_functionTable_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10165, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10165, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_functionTable, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10165, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10165, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 10165, __pyx_L4_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10165, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":10164
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":10166
 *             try:
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionTable : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 10166, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10167
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
 *             except ValueError:
 *                 str_list += ['functionTable : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10167, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_functionTable_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_functionTable_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_functionTable_ValueError) != (0)) __PYX_ERR(0, 10167, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 10167, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":10164
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10168
 *             except ValueError:
 *                 str_list += ['functionTable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10169
 *                 str_list += ['functionTable : <ValueError>']
 *             try:
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['functionWindowSize : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_functionWindowSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10169, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10169, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_functionWindowSize, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10169, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10169, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10169, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10169, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10168
 *             except ValueError:
 *                 str_list += ['functionTable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":10170
 *             try:
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionWindowSize : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 10170, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":10171
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
 *             except ValueError:
 *                 str_list += ['functionWindowSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 10171, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_functionWindowSize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_functionWindowSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_functionWindowSize_ValueError) != (0)) __PYX_ERR(0, 10171, __pyx_L14_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10171, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":10168
 *             except ValueError:
 *                 str_list += ['functionTable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10172
 *             except ValueError:
 *                 str_list += ['functionWindowSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10173
 *                 str_list += ['functionWindowSize : <ValueError>']
 *             try:
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dataTable : <ValueError>']
*/
        __pyx_t_2 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_8 = __pyx_builtin_hex; 
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dataTable_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10173, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
          __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10173, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_7);
        }
        __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_dataTable, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10173, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10173, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10173, __pyx_L20_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10173, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10172
 *             except ValueError:
 *                 str_list += ['functionWindowSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":10174
 *             try:
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataTable : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 10174, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":10175
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
 *             except ValueError:
 *                 str_list += ['dataTable : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
*/
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10175, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dataTable_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dataTable_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_dataTable_ValueError) != (0)) __PYX_ERR(0, 10175, __pyx_L22_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 10175, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":10172
 *             except ValueError:
 *                 str_list += ['functionWindowSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10176
 *             except ValueError:
 *                 str_list += ['dataTable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10177
 *                 str_list += ['dataTable : <ValueError>']
 *             try:
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dataWindowSize : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dataWindowSize_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10177, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10177, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dataWindowSize, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10177, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10177, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 10177, __pyx_L28_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10177, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":10176
 *             except ValueError:
 *                 str_list += ['dataTable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":10178
 *             try:
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataWindowSize : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 10178, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10179
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
 *             except ValueError:
 *                 str_list += ['dataWindowSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 10179, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dataWindowSize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dataWindowSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_dataWindowSize_ValueError) != (0)) __PYX_ERR(0, 10179, __pyx_L30_except_error);
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10179, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":10176
 *             except ValueError:
 *                 str_list += ['dataTable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10180
 *             except ValueError:
 *                 str_list += ['dataWindowSize : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10162
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10182
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def functionTable(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":10161
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10183
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def functionTable(self):
 *         return <void_ptr>self._pvt_ptr[0].functionTable
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10185
 *     @property
 *     def functionTable(self):
 *         return <void_ptr>self._pvt_ptr[0].functionTable             # <<<<<<<<<<<<<<
 *     @functionTable.setter
 *     def functionTable(self, functionTable):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).functionTable)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10183
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def functionTable(self):
 *         return <void_ptr>self._pvt_ptr[0].functionTable
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.functionTable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10186
 *     def functionTable(self):
 *         return <void_ptr>self._pvt_ptr[0].functionTable
 *     @functionTable.setter             # <<<<<<<<<<<<<<
 *     def functionTable(self, functionTable):
 *         _cfunctionTable = _HelperInputVoidPtr(functionTable)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_functionTable); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_functionTable) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), ((PyObject *)__pyx_v_functionTable));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, PyObject *__pyx_v_functionTable) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cfunctionTable = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10188
 *     @functionTable.setter
 *     def functionTable(self, functionTable):
 *         _cfunctionTable = _HelperInputVoidPtr(functionTable)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].functionTable = <void*><void_ptr>_cfunctionTable.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_functionTable};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10188, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cfunctionTable = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10189
 *     def functionTable(self, functionTable):
 *         _cfunctionTable = _HelperInputVoidPtr(functionTable)
 *         self._pvt_ptr[0].functionTable = <void*><void_ptr>_cfunctionTable.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def functionWindowSize(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cfunctionTable), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).functionTable = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10186
 *     def functionTable(self):
 *         return <void_ptr>self._pvt_ptr[0].functionTable
 *     @functionTable.setter             # <<<<<<<<<<<<<<
 *     def functionTable(self, functionTable):
 *         _cfunctionTable = _HelperInputVoidPtr(functionTable)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.functionTable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cfunctionTable);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10190
 *         _cfunctionTable = _HelperInputVoidPtr(functionTable)
 *         self._pvt_ptr[0].functionTable = <void*><void_ptr>_cfunctionTable.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def functionWindowSize(self):
 *         return self._pvt_ptr[0].functionWindowSize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10192
 *     @property
 *     def functionWindowSize(self):
 *         return self._pvt_ptr[0].functionWindowSize             # <<<<<<<<<<<<<<
 *     @functionWindowSize.setter
 *     def functionWindowSize(self, size_t functionWindowSize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).functionWindowSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10190
 *         _cfunctionTable = _HelperInputVoidPtr(functionTable)
 *         self._pvt_ptr[0].functionTable = <void*><void_ptr>_cfunctionTable.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def functionWindowSize(self):
 *         return self._pvt_ptr[0].functionWindowSize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.functionWindowSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10193
 *     def functionWindowSize(self):
 *         return self._pvt_ptr[0].functionWindowSize
 *     @functionWindowSize.setter             # <<<<<<<<<<<<<<
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._pvt_ptr[0].functionWindowSize = functionWindowSize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_functionWindowSize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_functionWindowSize) {
  size_t __pyx_v_functionWindowSize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_functionWindowSize); {
    __pyx_v_functionWindowSize = __Pyx_PyLong_As_size_t(__pyx_arg_functionWindowSize); if (unlikely((__pyx_v_functionWindowSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10194, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.functionWindowSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), ((size_t)__pyx_v_functionWindowSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, size_t __pyx_v_functionWindowSize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10195
 *     @functionWindowSize.setter
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._pvt_ptr[0].functionWindowSize = functionWindowSize             # <<<<<<<<<<<<<<
 *     @property
 *     def dataTable(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).functionWindowSize = __pyx_v_functionWindowSize;

  /* "cuda/bindings/driver.pyx":10193
 *     def functionWindowSize(self):
 *         return self._pvt_ptr[0].functionWindowSize
 *     @functionWindowSize.setter             # <<<<<<<<<<<<<<
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._pvt_ptr[0].functionWindowSize = functionWindowSize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10196
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._pvt_ptr[0].functionWindowSize = functionWindowSize
 *     @property             # <<<<<<<<<<<<<<
 *     def dataTable(self):
 *         return <void_ptr>self._pvt_ptr[0].dataTable
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10198
 *     @property
 *     def dataTable(self):
 *         return <void_ptr>self._pvt_ptr[0].dataTable             # <<<<<<<<<<<<<<
 *     @dataTable.setter
 *     def dataTable(self, dataTable):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).dataTable)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10196
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._pvt_ptr[0].functionWindowSize = functionWindowSize
 *     @property             # <<<<<<<<<<<<<<
 *     def dataTable(self):
 *         return <void_ptr>self._pvt_ptr[0].dataTable
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.dataTable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10199
 *     def dataTable(self):
 *         return <void_ptr>self._pvt_ptr[0].dataTable
 *     @dataTable.setter             # <<<<<<<<<<<<<<
 *     def dataTable(self, dataTable):
 *         _cdataTable = _HelperInputVoidPtr(dataTable)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dataTable); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dataTable) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), ((PyObject *)__pyx_v_dataTable));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, PyObject *__pyx_v_dataTable) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cdataTable = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10201
 *     @dataTable.setter
 *     def dataTable(self, dataTable):
 *         _cdataTable = _HelperInputVoidPtr(dataTable)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].dataTable = <void*><void_ptr>_cdataTable.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dataTable};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10201, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cdataTable = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10202
 *     def dataTable(self, dataTable):
 *         _cdataTable = _HelperInputVoidPtr(dataTable)
 *         self._pvt_ptr[0].dataTable = <void*><void_ptr>_cdataTable.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dataWindowSize(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cdataTable), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10202, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).dataTable = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10199
 *     def dataTable(self):
 *         return <void_ptr>self._pvt_ptr[0].dataTable
 *     @dataTable.setter             # <<<<<<<<<<<<<<
 *     def dataTable(self, dataTable):
 *         _cdataTable = _HelperInputVoidPtr(dataTable)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.dataTable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cdataTable);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10203
 *         _cdataTable = _HelperInputVoidPtr(dataTable)
 *         self._pvt_ptr[0].dataTable = <void*><void_ptr>_cdataTable.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dataWindowSize(self):
 *         return self._pvt_ptr[0].dataWindowSize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10205
 *     @property
 *     def dataWindowSize(self):
 *         return self._pvt_ptr[0].dataWindowSize             # <<<<<<<<<<<<<<
 *     @dataWindowSize.setter
 *     def dataWindowSize(self, size_t dataWindowSize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dataWindowSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10203
 *         _cdataTable = _HelperInputVoidPtr(dataTable)
 *         self._pvt_ptr[0].dataTable = <void*><void_ptr>_cdataTable.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dataWindowSize(self):
 *         return self._pvt_ptr[0].dataWindowSize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.dataWindowSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10206
 *     def dataWindowSize(self):
 *         return self._pvt_ptr[0].dataWindowSize
 *     @dataWindowSize.setter             # <<<<<<<<<<<<<<
 *     def dataWindowSize(self, size_t dataWindowSize):
 *         self._pvt_ptr[0].dataWindowSize = dataWindowSize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dataWindowSize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dataWindowSize) {
  size_t __pyx_v_dataWindowSize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dataWindowSize); {
    __pyx_v_dataWindowSize = __Pyx_PyLong_As_size_t(__pyx_arg_dataWindowSize); if (unlikely((__pyx_v_dataWindowSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10207, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.dataWindowSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), ((size_t)__pyx_v_dataWindowSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, size_t __pyx_v_dataWindowSize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10208
 *     @dataWindowSize.setter
 *     def dataWindowSize(self, size_t dataWindowSize):
 *         self._pvt_ptr[0].dataWindowSize = dataWindowSize             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY2D_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).dataWindowSize = __pyx_v_dataWindowSize;

  /* "cuda/bindings/driver.pyx":10206
 *     def dataWindowSize(self):
 *         return self._pvt_ptr[0].dataWindowSize
 *     @dataWindowSize.setter             # <<<<<<<<<<<<<<
 *     def dataWindowSize(self, size_t dataWindowSize):
 *         self._pvt_ptr[0].dataWindowSize = dataWindowSize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__, "CUlibraryHostUniversalFunctionAndDataTable_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__, "CUlibraryHostUniversalFunctionAndDataTable_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10254
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10254, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10254, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 10254, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10254, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10254, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10254, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":10255
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10256
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY2D_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":10255
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10258
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY2D_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEMCPY2D_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10254
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10259
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY2D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10259, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10259, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 10259, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10259, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10259, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10259, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":10261
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)             # <<<<<<<<<<<<<<
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).srcDevice))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10261, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10261, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_v_self->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10262
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)             # <<<<<<<<<<<<<<
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).srcArray))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10262, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10262, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcArray);
  __pyx_v_self->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10263
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)             # <<<<<<<<<<<<<<
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
 *     def __dealloc__(self):
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dstDevice))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10263, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10263, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstDevice);
  __pyx_v_self->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10264
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dstArray))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10264, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10264, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstArray);
  __pyx_v_self->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10259
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY2D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10265
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":10267
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6getPtr, "CUDA_MEMCPY2D_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":10268
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10267
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10269
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":10270
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10271
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10272
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10273
 *             str_list = []
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcXInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10273, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10273, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10273, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10273, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10273, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10273, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10272
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":10274
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10274, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10275
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10275, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError) != (0)) __PYX_ERR(0, 10275, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10275, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":10272
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10276
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10277
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10277, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10277, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10277, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10277, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10277, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10277, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10276
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10278
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10278, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10279
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10279, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_srcY_ValueError) != (0)) __PYX_ERR(0, 10279, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10279, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":10276
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10280
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10281
 *                 str_list += ['srcY : <ValueError>']
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcMemoryType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10281, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10281, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10281, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10281, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10281, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10281, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10280
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10282
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10282, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10283
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10283, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError) != (0)) __PYX_ERR(0, 10283, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10283, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":10280
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10284
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10285
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcHost_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10285, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10285, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_srcHost, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10285, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10285, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10285, __pyx_L28_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10285, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10284
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10286
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10286, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10287
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10287, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcHost_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_srcHost_ValueError) != (0)) __PYX_ERR(0, 10287, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10287, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":10284
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10288
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10289
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcDevice_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10289, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10289, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcDevice, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10289, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10289, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 10289, __pyx_L36_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10289, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":10288
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10290
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 10290, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10291
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10291, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError) != (0)) __PYX_ERR(0, 10291, __pyx_L38_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10291, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":10288
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10292
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10293
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10293, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10293, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcArray, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10293, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10293, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10293, __pyx_L44_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10293, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10292
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10294
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10294, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10295
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10295, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_srcArray_ValueError) != (0)) __PYX_ERR(0, 10295, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10295, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":10292
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10296
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10297
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcPitch_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10297, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10297, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcPitch, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10297, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10297, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 10297, __pyx_L52_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10297, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":10296
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10298
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 10298, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10299
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10299, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError) != (0)) __PYX_ERR(0, 10299, __pyx_L54_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10299, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":10296
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10300
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10301
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstXInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10301, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10301, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstXInBytes, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10301, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10301, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10301, __pyx_L60_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10301, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10300
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10302
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10302, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10303
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10303, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError) != (0)) __PYX_ERR(0, 10303, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10303, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":10300
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10304
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10305
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstY_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10305, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10305, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstY, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10305, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10305, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 10305, __pyx_L68_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10305, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":10304
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10306
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 10306, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10307
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10307, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_dstY_ValueError) != (0)) __PYX_ERR(0, 10307, __pyx_L70_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10307, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":10304
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10308
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10309
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstMemoryType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10309, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10309, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstMemoryType, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10309, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10309, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10309, __pyx_L76_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10309, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10308
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10310
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10310, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10311
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10311, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError) != (0)) __PYX_ERR(0, 10311, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10311, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":10308
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10312
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10313
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
*/
        __pyx_t_8 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHost_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10313, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
          __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10313, __pyx_L84_error)
          __Pyx_GOTREF(__pyx_t_10);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_dstHost, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10313, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10313, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10313, __pyx_L84_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10313, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10312
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L89_try_end;
      __pyx_L84_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10314
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 10314, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10315
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10315, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstHost_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_dstHost_ValueError) != (0)) __PYX_ERR(0, 10315, __pyx_L86_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10315, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L85_exception_handled;
      }
      goto __pyx_L86_except_error;

      /* "cuda/bindings/driver.pyx":10312
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
      __pyx_L86_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L85_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L89_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10316
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10317
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstDevice_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10317, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10317, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstDevice, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10317, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10317, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10317, __pyx_L92_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10317, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10316
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L97_try_end;
      __pyx_L92_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10318
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 10318, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10319
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10319, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError) != (0)) __PYX_ERR(0, 10319, __pyx_L94_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10319, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L93_exception_handled;
      }
      goto __pyx_L94_except_error;

      /* "cuda/bindings/driver.pyx":10316
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
      __pyx_L94_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L93_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L97_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10320
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10321
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10321, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10321, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstArray, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10321, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10321, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10321, __pyx_L100_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10321, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10320
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L105_try_end;
      __pyx_L100_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10322
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 10322, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10323
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10323, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_dstArray_ValueError) != (0)) __PYX_ERR(0, 10323, __pyx_L102_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10323, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L101_exception_handled;
      }
      goto __pyx_L102_except_error;

      /* "cuda/bindings/driver.pyx":10320
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
      __pyx_L102_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L101_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L105_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10324
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10325
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstPitch_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10325, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10325, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstPitch, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10325, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10325, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10325, __pyx_L108_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10325, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10324
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L113_try_end;
      __pyx_L108_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10326
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 10326, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10327
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10327, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError) != (0)) __PYX_ERR(0, 10327, __pyx_L110_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10327, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L109_exception_handled;
      }
      goto __pyx_L110_except_error;

      /* "cuda/bindings/driver.pyx":10324
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
      __pyx_L110_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L109_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L113_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10328
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10329
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_WidthInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10329, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10329, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_WidthInBytes, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10329, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10329, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10329, __pyx_L116_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10329, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10328
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L121_try_end;
      __pyx_L116_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10330
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 10330, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10331
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10331, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError) != (0)) __PYX_ERR(0, 10331, __pyx_L118_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10331, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L117_exception_handled;
      }
      goto __pyx_L118_except_error;

      /* "cuda/bindings/driver.pyx":10328
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
      __pyx_L118_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L117_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L121_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10332
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10333
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Height_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10333, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10333, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Height, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10333, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10333, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10333, __pyx_L124_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10333, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10332
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L129_try_end;
      __pyx_L124_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10334
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 10334, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10335
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10335, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_Height_ValueError) != (0)) __PYX_ERR(0, 10335, __pyx_L126_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10335, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L125_exception_handled;
      }
      goto __pyx_L126_except_error;

      /* "cuda/bindings/driver.pyx":10332
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      __pyx_L126_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L125_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L129_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10336
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10270
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10338
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def srcXInBytes(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":10269
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10339
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10341
 *     @property
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes             # <<<<<<<<<<<<<<
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10339
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10342
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes) {
  size_t __pyx_v_srcXInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcXInBytes); {
    __pyx_v_srcXInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_srcXInBytes); if (unlikely((__pyx_v_srcXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10343, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_srcXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcXInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10344
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def srcY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcXInBytes = __pyx_v_srcXInBytes;

  /* "cuda/bindings/driver.pyx":10342
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10345
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10347
 *     @property
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY             # <<<<<<<<<<<<<<
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10345
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10348
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY) {
  size_t __pyx_v_srcY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcY); {
    __pyx_v_srcY = __Pyx_PyLong_As_size_t(__pyx_arg_srcY); if (unlikely((__pyx_v_srcY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10349, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_srcY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10350
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY             # <<<<<<<<<<<<<<
 *     @property
 *     def srcMemoryType(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcY = __pyx_v_srcY;

  /* "cuda/bindings/driver.pyx":10348
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10351
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10353
 *     @property
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 10353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":10354
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10353
 *     @property
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
*/
  }

  /* "cuda/bindings/driver.pyx":10355
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]             # <<<<<<<<<<<<<<
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10351
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10356
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_srcMemoryType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "srcMemoryType"); __PYX_ERR(0, 10357, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemorytype __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10358
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHost(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcMemoryType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyLong_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).srcMemoryType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":10356
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10359
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10361
 *     @property
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost             # <<<<<<<<<<<<<<
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).srcHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10359
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10362
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__csrcHost = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10364
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10364, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__csrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10365
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def srcDevice(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__csrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).srcHost = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10362
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__csrcHost);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10366
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10368
 *     @property
 *     def srcDevice(self):
 *         return self._srcDevice             # <<<<<<<<<<<<<<
 *     @srcDevice.setter
 *     def srcDevice(self, srcDevice):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_r = ((PyObject *)__pyx_v_self->_srcDevice);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10366
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10369
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10372
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10373
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
*/
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":10372
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10374
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10375
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10376
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10376, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10374
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10378
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10378, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":10379
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10379, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10380
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_srcDevice->_pvt_ptr[0]) = __pyx_v_cysrcDevice;

  /* "cuda/bindings/driver.pyx":10369
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10382
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10384
 *     @property
 *     def srcArray(self):
 *         return self._srcArray             # <<<<<<<<<<<<<<
 *     @srcArray.setter
 *     def srcArray(self, srcArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_srcArray);
  __pyx_r = ((PyObject *)__pyx_v_self->_srcArray);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10382
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10385
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CUarray __pyx_v_cysrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10388
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10389
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
*/
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":10388
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10390
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10391
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10392
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         else:
 *             psrcArray = int(CUarray(srcArray))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10392, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10390
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10394
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         else:
 *             psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10394, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":10395
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10395, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10396
 *             psrcArray = int(CUarray(srcArray))
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPitch(self):
*/
  (__pyx_v_self->_srcArray->_pvt_ptr[0]) = __pyx_v_cysrcArray;

  /* "cuda/bindings/driver.pyx":10385
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10397
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10399
 *     @property
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch             # <<<<<<<<<<<<<<
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10397
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10400
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch) {
  size_t __pyx_v_srcPitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcPitch); {
    __pyx_v_srcPitch = __Pyx_PyLong_As_size_t(__pyx_arg_srcPitch); if (unlikely((__pyx_v_srcPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10401, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.srcPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_srcPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcPitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10402
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def dstXInBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcPitch = __pyx_v_srcPitch;

  /* "cuda/bindings/driver.pyx":10400
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10403
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10405
 *     @property
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes             # <<<<<<<<<<<<<<
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10403
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10406
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes) {
  size_t __pyx_v_dstXInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstXInBytes); {
    __pyx_v_dstXInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_dstXInBytes); if (unlikely((__pyx_v_dstXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10407, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_dstXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstXInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10408
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def dstY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstXInBytes = __pyx_v_dstXInBytes;

  /* "cuda/bindings/driver.pyx":10406
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10409
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10411
 *     @property
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY             # <<<<<<<<<<<<<<
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10409
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10412
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY) {
  size_t __pyx_v_dstY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstY); {
    __pyx_v_dstY = __Pyx_PyLong_As_size_t(__pyx_arg_dstY); if (unlikely((__pyx_v_dstY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10413, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_dstY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10414
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY             # <<<<<<<<<<<<<<
 *     @property
 *     def dstMemoryType(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstY = __pyx_v_dstY;

  /* "cuda/bindings/driver.pyx":10412
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10415
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10417
 *     @property
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 10417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":10418
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10417
 *     @property
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
*/
  }

  /* "cuda/bindings/driver.pyx":10419
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]             # <<<<<<<<<<<<<<
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10415
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10420
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_dstMemoryType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "dstMemoryType"); __PYX_ERR(0, 10421, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemorytype __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10422
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHost(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dstMemoryType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyLong_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).dstMemoryType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":10420
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10423
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10425
 *     @property
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost             # <<<<<<<<<<<<<<
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).dstHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10423
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10426
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cdstHost = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10428
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10428, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cdstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10429
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dstDevice(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cdstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).dstHost = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10426
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cdstHost);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10430
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10432
 *     @property
 *     def dstDevice(self):
 *         return self._dstDevice             # <<<<<<<<<<<<<<
 *     @dstDevice.setter
 *     def dstDevice(self, dstDevice):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dstDevice);
  __pyx_r = ((PyObject *)__pyx_v_self->_dstDevice);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10430
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10433
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10436
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10437
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
*/
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":10436
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10438
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10439
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10440
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10440, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10438
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10442
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10442, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":10443
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10443, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10444
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._pvt_ptr[0] = cydstDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_dstDevice->_pvt_ptr[0]) = __pyx_v_cydstDevice;

  /* "cuda/bindings/driver.pyx":10433
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10446
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10448
 *     @property
 *     def dstArray(self):
 *         return self._dstArray             # <<<<<<<<<<<<<<
 *     @dstArray.setter
 *     def dstArray(self, dstArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dstArray);
  __pyx_r = ((PyObject *)__pyx_v_self->_dstArray);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10446
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10449
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CUarray __pyx_v_cydstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10452
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10453
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
*/
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":10452
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10454
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10455
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10456
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         else:
 *             pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10456, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10454
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10458
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         else:
 *             pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10458, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":10459
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10459, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10460
 *             pdstArray = int(CUarray(dstArray))
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPitch(self):
*/
  (__pyx_v_self->_dstArray->_pvt_ptr[0]) = __pyx_v_cydstArray;

  /* "cuda/bindings/driver.pyx":10449
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10461
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10463
 *     @property
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch             # <<<<<<<<<<<<<<
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10461
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10464
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch) {
  size_t __pyx_v_dstPitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstPitch); {
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(__pyx_arg_dstPitch); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10465, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.dstPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_dstPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstPitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10466
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def WidthInBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstPitch = __pyx_v_dstPitch;

  /* "cuda/bindings/driver.pyx":10464
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10467
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10469
 *     @property
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes             # <<<<<<<<<<<<<<
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).WidthInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10467
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.WidthInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10470
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes) {
  size_t __pyx_v_WidthInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_WidthInBytes); {
    __pyx_v_WidthInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_WidthInBytes); if (unlikely((__pyx_v_WidthInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10471, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.WidthInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_WidthInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_WidthInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10472
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).WidthInBytes = __pyx_v_WidthInBytes;

  /* "cuda/bindings/driver.pyx":10470
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10473
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10475
 *     @property
 *     def Height(self):
 *         return self._pvt_ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10473
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10476
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height) {
  size_t __pyx_v_Height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Height); {
    __pyx_v_Height = __Pyx_PyLong_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10477, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_Height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10478
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY3D_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/bindings/driver.pyx":10476
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_10__reduce_cython__, "CUDA_MEMCPY2D_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12__setstate_cython__, "CUDA_MEMCPY2D_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY2D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10543
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10543, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 10543, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10543, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10543, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":10544
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10545
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":10544
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10547
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEMCPY3D_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10543
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10548
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10548, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10548, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 10548, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10548, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10548, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10548, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":10550
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)             # <<<<<<<<<<<<<<
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).srcDevice))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10550, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10550, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_v_self->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10551
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)             # <<<<<<<<<<<<<<
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).srcArray))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10551, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10551, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcArray);
  __pyx_v_self->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10552
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)             # <<<<<<<<<<<<<<
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
 *     def __dealloc__(self):
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dstDevice))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10552, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10552, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstDevice);
  __pyx_v_self->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10553
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dstArray))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10553, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10553, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstArray);
  __pyx_v_self->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10548
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10554
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":10556
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6getPtr, "CUDA_MEMCPY3D_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":10557
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10556
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10558
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":10559
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10560
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10561
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10562
 *             str_list = []
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcXInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10562, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10562, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10562, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10562, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10562, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10562, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10561
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":10563
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10563, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10564
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10564, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError) != (0)) __PYX_ERR(0, 10564, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10564, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":10561
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10565
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10566
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10566, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10566, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10566, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10566, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10566, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10566, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10565
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10567
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10567, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10568
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10568, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_srcY_ValueError) != (0)) __PYX_ERR(0, 10568, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10568, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":10565
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10569
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10570
 *                 str_list += ['srcY : <ValueError>']
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10570, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10570, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10570, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10570, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10570, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10570, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10569
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10571
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10571, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10572
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10572, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcZ_ValueError) != (0)) __PYX_ERR(0, 10572, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10572, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":10569
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10573
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10574
 *                 str_list += ['srcZ : <ValueError>']
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcLOD_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10574, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10574, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcLOD, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10574, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10574, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10574, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10574, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10573
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10575
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10575, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10576
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10576, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcLOD_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcLOD_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_srcLOD_ValueError) != (0)) __PYX_ERR(0, 10576, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10576, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":10573
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10577
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10578
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcMemoryType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10578, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10578, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10578, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10578, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10578, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10578, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10577
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10579
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10579, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10580
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10580, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError) != (0)) __PYX_ERR(0, 10580, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10580, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":10577
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10581
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10582
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcHost_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10582, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10582, __pyx_L44_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_srcHost, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10582, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10582, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10582, __pyx_L44_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10582, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10581
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10583
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10583, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10584
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10584, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcHost_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_srcHost_ValueError) != (0)) __PYX_ERR(0, 10584, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10584, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":10581
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10585
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10586
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcDevice_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10586, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10586, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcDevice, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10586, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10586, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 10586, __pyx_L52_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10586, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":10585
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10587
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 10587, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10588
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10588, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError) != (0)) __PYX_ERR(0, 10588, __pyx_L54_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10588, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":10585
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10589
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10590
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10590, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10590, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcArray, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10590, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10590, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10590, __pyx_L60_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10590, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10589
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10591
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10591, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10592
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10592, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_srcArray_ValueError) != (0)) __PYX_ERR(0, 10592, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10592, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":10589
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10593
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10594
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
*/
        __pyx_t_8 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved0_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10594, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
          __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10594, __pyx_L68_error)
          __Pyx_GOTREF(__pyx_t_10);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_reserved0, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10594, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10594, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10594, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10594, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10593
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10595
 *             try:
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 10595, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10596
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10596, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved0_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved0_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_reserved0_ValueError) != (0)) __PYX_ERR(0, 10596, __pyx_L70_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10596, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":10593
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10597
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10598
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcPitch_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10598, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10598, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcPitch, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10598, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10598, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10598, __pyx_L76_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10598, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10597
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10599
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 10599, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10600
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10600, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError) != (0)) __PYX_ERR(0, 10600, __pyx_L78_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10600, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":10597
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10601
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10602
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcHeight_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10602, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10602, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcHeight, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10602, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10602, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10602, __pyx_L84_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10602, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10601
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L89_try_end;
      __pyx_L84_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10603
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 10603, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10604
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10604, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcHeight_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_srcHeight_ValueError) != (0)) __PYX_ERR(0, 10604, __pyx_L86_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10604, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L85_exception_handled;
      }
      goto __pyx_L86_except_error;

      /* "cuda/bindings/driver.pyx":10601
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:
*/
      __pyx_L86_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L85_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L89_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10605
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10606
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstXInBytes_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10606, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10606, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstXInBytes, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10606, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10606, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10606, __pyx_L92_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10606, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10605
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L97_try_end;
      __pyx_L92_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10607
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 10607, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10608
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10608, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError) != (0)) __PYX_ERR(0, 10608, __pyx_L94_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10608, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L93_exception_handled;
      }
      goto __pyx_L94_except_error;

      /* "cuda/bindings/driver.pyx":10605
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
      __pyx_L94_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L93_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L97_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10609
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10610
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10610, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10610, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstY, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10610, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10610, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10610, __pyx_L100_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10610, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10609
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L105_try_end;
      __pyx_L100_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10611
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 10611, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10612
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10612, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_dstY_ValueError) != (0)) __PYX_ERR(0, 10612, __pyx_L102_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10612, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L101_exception_handled;
      }
      goto __pyx_L102_except_error;

      /* "cuda/bindings/driver.pyx":10609
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
      __pyx_L102_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L101_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L105_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10613
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10614
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstZ_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10614, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10614, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstZ, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10614, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10614, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10614, __pyx_L108_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10614, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10613
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L113_try_end;
      __pyx_L108_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10615
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 10615, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10616
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10616, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstZ_ValueError) != (0)) __PYX_ERR(0, 10616, __pyx_L110_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10616, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L109_exception_handled;
      }
      goto __pyx_L110_except_error;

      /* "cuda/bindings/driver.pyx":10613
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
*/
      __pyx_L110_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L109_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L113_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10617
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10618
 *                 str_list += ['dstZ : <ValueError>']
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstLOD_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10618, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10618, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstLOD, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10618, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10618, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10618, __pyx_L116_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10618, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10617
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L121_try_end;
      __pyx_L116_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10619
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 10619, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10620
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10620, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstLOD_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstLOD_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_dstLOD_ValueError) != (0)) __PYX_ERR(0, 10620, __pyx_L118_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10620, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L117_exception_handled;
      }
      goto __pyx_L118_except_error;

      /* "cuda/bindings/driver.pyx":10617
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:
*/
      __pyx_L118_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L117_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L121_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10621
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10622
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstMemoryType_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10622, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10622, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstMemoryType, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10622, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10622, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10622, __pyx_L124_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10622, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10621
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L129_try_end;
      __pyx_L124_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10623
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 10623, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10624
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10624, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError) != (0)) __PYX_ERR(0, 10624, __pyx_L126_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10624, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L125_exception_handled;
      }
      goto __pyx_L126_except_error;

      /* "cuda/bindings/driver.pyx":10621
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
      __pyx_L126_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L125_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L129_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10625
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10626
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
*/
        __pyx_t_10 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_9 = __pyx_builtin_hex; 
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHost_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10626, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10626, __pyx_L132_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_9 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_dstHost, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10626, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10626, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10626, __pyx_L132_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10626, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10625
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L137_try_end;
      __pyx_L132_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10627
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 10627, __pyx_L134_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10628
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10628, __pyx_L134_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstHost_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_dstHost_ValueError) != (0)) __PYX_ERR(0, 10628, __pyx_L134_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10628, __pyx_L134_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L133_exception_handled;
      }
      goto __pyx_L134_except_error;

      /* "cuda/bindings/driver.pyx":10625
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
      __pyx_L134_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L133_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L137_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10629
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10630
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstDevice_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10630, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10630, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstDevice, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10630, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10630, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10630, __pyx_L140_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10630, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10629
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L145_try_end;
      __pyx_L140_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10631
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(0, 10631, __pyx_L142_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10632
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10632, __pyx_L142_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError) != (0)) __PYX_ERR(0, 10632, __pyx_L142_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10632, __pyx_L142_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L141_exception_handled;
      }
      goto __pyx_L142_except_error;

      /* "cuda/bindings/driver.pyx":10629
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
      __pyx_L142_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L141_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L145_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10633
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10634
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstArray_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10634, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10634, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstArray, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10634, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10634, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10634, __pyx_L148_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10634, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10633
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L153_try_end;
      __pyx_L148_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10635
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 10635, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10636
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10636, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_dstArray_ValueError) != (0)) __PYX_ERR(0, 10636, __pyx_L150_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10636, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L149_exception_handled;
      }
      goto __pyx_L150_except_error;

      /* "cuda/bindings/driver.pyx":10633
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
      __pyx_L150_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L149_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L153_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10637
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10638
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
*/
        __pyx_t_2 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_9 = __pyx_builtin_hex; 
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved1_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10638, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10638, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_9 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_reserved1, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10638, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10638, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10638, __pyx_L156_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10638, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10637
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L161_try_end;
      __pyx_L156_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10639
 *             try:
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 10639, __pyx_L158_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":10640
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
*/
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10640, __pyx_L158_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved1_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved1_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_reserved1_ValueError) != (0)) __PYX_ERR(0, 10640, __pyx_L158_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10640, __pyx_L158_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L157_exception_handled;
      }
      goto __pyx_L158_except_error;

      /* "cuda/bindings/driver.pyx":10637
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
 *             except ValueError:
*/
      __pyx_L158_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L157_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L161_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10641
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10642
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstPitch_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10642, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10642, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstPitch, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10642, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10642, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 10642, __pyx_L164_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10642, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":10641
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L169_try_end;
      __pyx_L164_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10643
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_9) < 0) __PYX_ERR(0, 10643, __pyx_L166_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10644
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10644, __pyx_L166_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError) != (0)) __PYX_ERR(0, 10644, __pyx_L166_except_error);
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10644, __pyx_L166_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L165_exception_handled;
      }
      goto __pyx_L166_except_error;

      /* "cuda/bindings/driver.pyx":10641
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
      __pyx_L166_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L165_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L169_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10645
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10646
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHeight_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10646, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10646, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstHeight, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10646, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10646, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10646, __pyx_L172_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10646, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10645
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L177_try_end;
      __pyx_L172_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10647
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 10647, __pyx_L174_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":10648
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
*/
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10648, __pyx_L174_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError) != (0)) __PYX_ERR(0, 10648, __pyx_L174_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10648, __pyx_L174_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L173_exception_handled;
      }
      goto __pyx_L174_except_error;

      /* "cuda/bindings/driver.pyx":10645
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
*/
      __pyx_L174_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L173_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L177_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10649
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10650
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_WidthInBytes_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10650, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10650, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_WidthInBytes, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10650, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10650, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 10650, __pyx_L180_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10650, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":10649
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L185_try_end;
      __pyx_L180_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10651
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_9) < 0) __PYX_ERR(0, 10651, __pyx_L182_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10652
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10652, __pyx_L182_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError) != (0)) __PYX_ERR(0, 10652, __pyx_L182_except_error);
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10652, __pyx_L182_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L181_exception_handled;
      }
      goto __pyx_L182_except_error;

      /* "cuda/bindings/driver.pyx":10649
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
      __pyx_L182_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L181_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L185_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10653
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10654
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Height_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10654, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10654, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Height, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10654, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10654, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 10654, __pyx_L188_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10654, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":10653
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L193_try_end;
      __pyx_L188_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10655
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 10655, __pyx_L190_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":10656
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
*/
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10656, __pyx_L190_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_Height_ValueError) != (0)) __PYX_ERR(0, 10656, __pyx_L190_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10656, __pyx_L190_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L189_exception_handled;
      }
      goto __pyx_L190_except_error;

      /* "cuda/bindings/driver.pyx":10653
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      __pyx_L190_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L189_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L193_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10657
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10658
 *                 str_list += ['Height : <ValueError>']
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Depth_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10658, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10658, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Depth, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10658, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10658, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 10658, __pyx_L196_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10658, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":10657
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L201_try_end;
      __pyx_L196_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10659
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_9) < 0) __PYX_ERR(0, 10659, __pyx_L198_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":10660
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10660, __pyx_L198_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Depth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_Depth_ValueError) != (0)) __PYX_ERR(0, 10660, __pyx_L198_except_error);
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10660, __pyx_L198_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L197_exception_handled;
      }
      goto __pyx_L198_except_error;

      /* "cuda/bindings/driver.pyx":10657
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
      __pyx_L198_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L197_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L201_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10661
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_9 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10559
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10663
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def srcXInBytes(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":10558
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10664
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10666
 *     @property
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes             # <<<<<<<<<<<<<<
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10664
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10667
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes) {
  size_t __pyx_v_srcXInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcXInBytes); {
    __pyx_v_srcXInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_srcXInBytes); if (unlikely((__pyx_v_srcXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10668, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcXInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10669
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def srcY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcXInBytes = __pyx_v_srcXInBytes;

  /* "cuda/bindings/driver.pyx":10667
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10670
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10672
 *     @property
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY             # <<<<<<<<<<<<<<
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10670
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10673
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY) {
  size_t __pyx_v_srcY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcY); {
    __pyx_v_srcY = __Pyx_PyLong_As_size_t(__pyx_arg_srcY); if (unlikely((__pyx_v_srcY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10674, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10675
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY             # <<<<<<<<<<<<<<
 *     @property
 *     def srcZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcY = __pyx_v_srcY;

  /* "cuda/bindings/driver.pyx":10673
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10676
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10678
 *     @property
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ             # <<<<<<<<<<<<<<
 *     @srcZ.setter
 *     def srcZ(self, size_t srcZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10676
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10679
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ
 *     @srcZ.setter             # <<<<<<<<<<<<<<
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcZ) {
  size_t __pyx_v_srcZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcZ); {
    __pyx_v_srcZ = __Pyx_PyLong_As_size_t(__pyx_arg_srcZ); if (unlikely((__pyx_v_srcZ == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10680, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10681
 *     @srcZ.setter
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ             # <<<<<<<<<<<<<<
 *     @property
 *     def srcLOD(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcZ = __pyx_v_srcZ;

  /* "cuda/bindings/driver.pyx":10679
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ
 *     @srcZ.setter             # <<<<<<<<<<<<<<
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10682
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10684
 *     @property
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD             # <<<<<<<<<<<<<<
 *     @srcLOD.setter
 *     def srcLOD(self, size_t srcLOD):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcLOD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10682
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcLOD.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10685
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD
 *     @srcLOD.setter             # <<<<<<<<<<<<<<
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcLOD); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcLOD) {
  size_t __pyx_v_srcLOD;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcLOD); {
    __pyx_v_srcLOD = __Pyx_PyLong_As_size_t(__pyx_arg_srcLOD); if (unlikely((__pyx_v_srcLOD == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10686, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcLOD.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcLOD));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcLOD) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10687
 *     @srcLOD.setter
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD             # <<<<<<<<<<<<<<
 *     @property
 *     def srcMemoryType(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcLOD = __pyx_v_srcLOD;

  /* "cuda/bindings/driver.pyx":10685
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD
 *     @srcLOD.setter             # <<<<<<<<<<<<<<
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10688
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10690
 *     @property
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 10690, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":10691
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10690
 *     @property
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
*/
  }

  /* "cuda/bindings/driver.pyx":10692
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]             # <<<<<<<<<<<<<<
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10688
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10693
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_srcMemoryType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "srcMemoryType"); __PYX_ERR(0, 10694, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemorytype __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10695
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHost(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcMemoryType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyLong_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).srcMemoryType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":10693
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10696
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10698
 *     @property
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost             # <<<<<<<<<<<<<<
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).srcHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10696
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10699
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__csrcHost = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10701
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10701, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__csrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10702
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def srcDevice(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__csrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).srcHost = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10699
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__csrcHost);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10703
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10705
 *     @property
 *     def srcDevice(self):
 *         return self._srcDevice             # <<<<<<<<<<<<<<
 *     @srcDevice.setter
 *     def srcDevice(self, srcDevice):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_r = ((PyObject *)__pyx_v_self->_srcDevice);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10703
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10706
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10709
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10710
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
*/
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":10709
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10711
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10712
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10713
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10713, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10711
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10715
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10715, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":10716
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10716, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10717
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_srcDevice->_pvt_ptr[0]) = __pyx_v_cysrcDevice;

  /* "cuda/bindings/driver.pyx":10706
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10719
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10721
 *     @property
 *     def srcArray(self):
 *         return self._srcArray             # <<<<<<<<<<<<<<
 *     @srcArray.setter
 *     def srcArray(self, srcArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_srcArray);
  __pyx_r = ((PyObject *)__pyx_v_self->_srcArray);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10719
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10722
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CUarray __pyx_v_cysrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10725
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10726
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
*/
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":10725
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10727
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10728
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10729
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         else:
 *             psrcArray = int(CUarray(srcArray))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10729, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10727
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10731
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         else:
 *             psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10731, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":10732
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10732, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10733
 *             psrcArray = int(CUarray(srcArray))
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved0(self):
*/
  (__pyx_v_self->_srcArray->_pvt_ptr[0]) = __pyx_v_cysrcArray;

  /* "cuda/bindings/driver.pyx":10722
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10734
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved0
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10736
 *     @property
 *     def reserved0(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved0             # <<<<<<<<<<<<<<
 *     @reserved0.setter
 *     def reserved0(self, reserved0):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).reserved0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10734
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved0
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.reserved0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10737
 *     def reserved0(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, reserved0):
 *         _creserved0 = _HelperInputVoidPtr(reserved0)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved0); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved0) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved0));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_reserved0) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__creserved0 = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10739
 *     @reserved0.setter
 *     def reserved0(self, reserved0):
 *         _creserved0 = _HelperInputVoidPtr(reserved0)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].reserved0 = <void*><void_ptr>_creserved0.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_reserved0};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10739, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__creserved0 = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10740
 *     def reserved0(self, reserved0):
 *         _creserved0 = _HelperInputVoidPtr(reserved0)
 *         self._pvt_ptr[0].reserved0 = <void*><void_ptr>_creserved0.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPitch(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__creserved0), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).reserved0 = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10737
 *     def reserved0(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, reserved0):
 *         _creserved0 = _HelperInputVoidPtr(reserved0)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.reserved0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__creserved0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10741
 *         _creserved0 = _HelperInputVoidPtr(reserved0)
 *         self._pvt_ptr[0].reserved0 = <void*><void_ptr>_creserved0.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10743
 *     @property
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch             # <<<<<<<<<<<<<<
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10741
 *         _creserved0 = _HelperInputVoidPtr(reserved0)
 *         self._pvt_ptr[0].reserved0 = <void*><void_ptr>_creserved0.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10744
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch) {
  size_t __pyx_v_srcPitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcPitch); {
    __pyx_v_srcPitch = __Pyx_PyLong_As_size_t(__pyx_arg_srcPitch); if (unlikely((__pyx_v_srcPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10745, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcPitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10746
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHeight(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcPitch = __pyx_v_srcPitch;

  /* "cuda/bindings/driver.pyx":10744
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10747
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10749
 *     @property
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight             # <<<<<<<<<<<<<<
 *     @srcHeight.setter
 *     def srcHeight(self, size_t srcHeight):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10747
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10750
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight
 *     @srcHeight.setter             # <<<<<<<<<<<<<<
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcHeight); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcHeight) {
  size_t __pyx_v_srcHeight;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcHeight); {
    __pyx_v_srcHeight = __Pyx_PyLong_As_size_t(__pyx_arg_srcHeight); if (unlikely((__pyx_v_srcHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10751, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.srcHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcHeight) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10752
 *     @srcHeight.setter
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def dstXInBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcHeight = __pyx_v_srcHeight;

  /* "cuda/bindings/driver.pyx":10750
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight
 *     @srcHeight.setter             # <<<<<<<<<<<<<<
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10753
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10755
 *     @property
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes             # <<<<<<<<<<<<<<
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10753
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10756
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes) {
  size_t __pyx_v_dstXInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstXInBytes); {
    __pyx_v_dstXInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_dstXInBytes); if (unlikely((__pyx_v_dstXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10757, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstXInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10758
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def dstY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstXInBytes = __pyx_v_dstXInBytes;

  /* "cuda/bindings/driver.pyx":10756
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10759
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10761
 *     @property
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY             # <<<<<<<<<<<<<<
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10759
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10762
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY) {
  size_t __pyx_v_dstY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstY); {
    __pyx_v_dstY = __Pyx_PyLong_As_size_t(__pyx_arg_dstY); if (unlikely((__pyx_v_dstY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10763, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10764
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY             # <<<<<<<<<<<<<<
 *     @property
 *     def dstZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstY = __pyx_v_dstY;

  /* "cuda/bindings/driver.pyx":10762
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10765
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10767
 *     @property
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ             # <<<<<<<<<<<<<<
 *     @dstZ.setter
 *     def dstZ(self, size_t dstZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10765
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10768
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ
 *     @dstZ.setter             # <<<<<<<<<<<<<<
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstZ) {
  size_t __pyx_v_dstZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstZ); {
    __pyx_v_dstZ = __Pyx_PyLong_As_size_t(__pyx_arg_dstZ); if (unlikely((__pyx_v_dstZ == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10769, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10770
 *     @dstZ.setter
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ             # <<<<<<<<<<<<<<
 *     @property
 *     def dstLOD(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstZ = __pyx_v_dstZ;

  /* "cuda/bindings/driver.pyx":10768
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ
 *     @dstZ.setter             # <<<<<<<<<<<<<<
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10771
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10773
 *     @property
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD             # <<<<<<<<<<<<<<
 *     @dstLOD.setter
 *     def dstLOD(self, size_t dstLOD):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstLOD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10771
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstLOD.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10774
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD
 *     @dstLOD.setter             # <<<<<<<<<<<<<<
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstLOD); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstLOD) {
  size_t __pyx_v_dstLOD;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstLOD); {
    __pyx_v_dstLOD = __Pyx_PyLong_As_size_t(__pyx_arg_dstLOD); if (unlikely((__pyx_v_dstLOD == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10775, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstLOD.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstLOD));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstLOD) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10776
 *     @dstLOD.setter
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD             # <<<<<<<<<<<<<<
 *     @property
 *     def dstMemoryType(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstLOD = __pyx_v_dstLOD;

  /* "cuda/bindings/driver.pyx":10774
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD
 *     @dstLOD.setter             # <<<<<<<<<<<<<<
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10777
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10779
 *     @property
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 10779, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":10780
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10779
 *     @property
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
*/
  }

  /* "cuda/bindings/driver.pyx":10781
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]             # <<<<<<<<<<<<<<
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10777
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10782
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_dstMemoryType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "dstMemoryType"); __PYX_ERR(0, 10783, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemorytype __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10784
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHost(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dstMemoryType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyLong_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10784, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).dstMemoryType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":10782
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10785
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10787
 *     @property
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost             # <<<<<<<<<<<<<<
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).dstHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10785
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10788
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cdstHost = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10790
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10790, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cdstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10791
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dstDevice(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cdstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).dstHost = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10788
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cdstHost);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10792
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10794
 *     @property
 *     def dstDevice(self):
 *         return self._dstDevice             # <<<<<<<<<<<<<<
 *     @dstDevice.setter
 *     def dstDevice(self, dstDevice):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dstDevice);
  __pyx_r = ((PyObject *)__pyx_v_self->_dstDevice);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10792
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10795
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10798
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10799
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
*/
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":10798
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10800
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10801
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10801, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10802
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10802, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10800
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10804
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10804, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":10805
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10805, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10806
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._pvt_ptr[0] = cydstDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_dstDevice->_pvt_ptr[0]) = __pyx_v_cydstDevice;

  /* "cuda/bindings/driver.pyx":10795
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10808
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10810
 *     @property
 *     def dstArray(self):
 *         return self._dstArray             # <<<<<<<<<<<<<<
 *     @dstArray.setter
 *     def dstArray(self, dstArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dstArray);
  __pyx_r = ((PyObject *)__pyx_v_self->_dstArray);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10808
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10811
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CUarray __pyx_v_cydstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10814
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10815
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
*/
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":10814
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10816
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10817
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10818
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         else:
 *             pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10818, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10816
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10820
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         else:
 *             pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10820, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":10821
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10821, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10822
 *             pdstArray = int(CUarray(dstArray))
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved1(self):
*/
  (__pyx_v_self->_dstArray->_pvt_ptr[0]) = __pyx_v_cydstArray;

  /* "cuda/bindings/driver.pyx":10811
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10823
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved1
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10825
 *     @property
 *     def reserved1(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved1             # <<<<<<<<<<<<<<
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).reserved1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10823
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved1
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.reserved1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10826
 *     def reserved1(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         _creserved1 = _HelperInputVoidPtr(reserved1)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved1));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__creserved1 = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10828
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
 *         _creserved1 = _HelperInputVoidPtr(reserved1)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].reserved1 = <void*><void_ptr>_creserved1.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_reserved1};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10828, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__creserved1 = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10829
 *     def reserved1(self, reserved1):
 *         _creserved1 = _HelperInputVoidPtr(reserved1)
 *         self._pvt_ptr[0].reserved1 = <void*><void_ptr>_creserved1.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPitch(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__creserved1), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10829, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).reserved1 = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":10826
 *     def reserved1(self):
 *         return <void_ptr>self._pvt_ptr[0].reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         _creserved1 = _HelperInputVoidPtr(reserved1)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.reserved1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__creserved1);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10830
 *         _creserved1 = _HelperInputVoidPtr(reserved1)
 *         self._pvt_ptr[0].reserved1 = <void*><void_ptr>_creserved1.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10832
 *     @property
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch             # <<<<<<<<<<<<<<
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10830
 *         _creserved1 = _HelperInputVoidPtr(reserved1)
 *         self._pvt_ptr[0].reserved1 = <void*><void_ptr>_creserved1.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10833
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch) {
  size_t __pyx_v_dstPitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstPitch); {
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(__pyx_arg_dstPitch); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10834, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstPitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10835
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHeight(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstPitch = __pyx_v_dstPitch;

  /* "cuda/bindings/driver.pyx":10833
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10836
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10838
 *     @property
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight             # <<<<<<<<<<<<<<
 *     @dstHeight.setter
 *     def dstHeight(self, size_t dstHeight):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10836
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10839
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight
 *     @dstHeight.setter             # <<<<<<<<<<<<<<
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstHeight); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstHeight) {
  size_t __pyx_v_dstHeight;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstHeight); {
    __pyx_v_dstHeight = __Pyx_PyLong_As_size_t(__pyx_arg_dstHeight); if (unlikely((__pyx_v_dstHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10840, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.dstHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstHeight) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10841
 *     @dstHeight.setter
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def WidthInBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstHeight = __pyx_v_dstHeight;

  /* "cuda/bindings/driver.pyx":10839
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight
 *     @dstHeight.setter             # <<<<<<<<<<<<<<
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10842
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10844
 *     @property
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes             # <<<<<<<<<<<<<<
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).WidthInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10842
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.WidthInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10845
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes) {
  size_t __pyx_v_WidthInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_WidthInBytes); {
    __pyx_v_WidthInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_WidthInBytes); if (unlikely((__pyx_v_WidthInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10846, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.WidthInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_WidthInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_WidthInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10847
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).WidthInBytes = __pyx_v_WidthInBytes;

  /* "cuda/bindings/driver.pyx":10845
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10848
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10850
 *     @property
 *     def Height(self):
 *         return self._pvt_ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10848
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10851
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height) {
  size_t __pyx_v_Height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Height); {
    __pyx_v_Height = __Pyx_PyLong_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10852, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_Height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10853
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height             # <<<<<<<<<<<<<<
 *     @property
 *     def Depth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/bindings/driver.pyx":10851
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10854
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10856
 *     @property
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth             # <<<<<<<<<<<<<<
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10854
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.Depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10857
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth) {
  size_t __pyx_v_Depth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Depth); {
    __pyx_v_Depth = __Pyx_PyLong_As_size_t(__pyx_arg_Depth); if (unlikely((__pyx_v_Depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 10858, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.Depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_Depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_Depth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10859
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY3D_PEER_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).Depth = __pyx_v_Depth;

  /* "cuda/bindings/driver.pyx":10857
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_10__reduce_cython__, "CUDA_MEMCPY3D_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12__setstate_cython__, "CUDA_MEMCPY3D_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10925
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10925, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10925, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 10925, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10925, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10925, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10925, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":10926
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10927
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_PEER_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":10926
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10929
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_PEER_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEMCPY3D_PEER_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10925
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10930
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_PEER_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 10930, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10930, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 10930, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 10930, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10930, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 10930, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":10932
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)             # <<<<<<<<<<<<<<
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].srcContext)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).srcDevice))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10932, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10932, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_v_self->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10933
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)             # <<<<<<<<<<<<<<
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].srcContext)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).srcArray))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10933, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10933, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcArray);
  __pyx_v_self->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10934
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].srcContext)             # <<<<<<<<<<<<<<
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).srcContext))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10934, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10934, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcContext);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcContext);
  __pyx_v_self->_srcContext = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10935
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].srcArray)
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].srcContext)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)             # <<<<<<<<<<<<<<
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
 *         self._dstContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].dstContext)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dstDevice))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10935, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10935, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstDevice);
  __pyx_v_self->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10936
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].srcContext)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)             # <<<<<<<<<<<<<<
 *         self._dstContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].dstContext)
 *     def __dealloc__(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dstArray))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10936, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10936, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstArray);
  __pyx_v_self->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10937
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
 *         self._dstContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].dstContext)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dstContext))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10937, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10937, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstContext);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstContext);
  __pyx_v_self->_dstContext = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":10930
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_PEER_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].srcDevice)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10938
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].dstArray)
 *         self._dstContext = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].dstContext)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":10940
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6getPtr, "CUDA_MEMCPY3D_PEER_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":10941
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10940
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10942
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":10943
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":10944
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10945
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10946
 *             str_list = []
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcXInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10946, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10946, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10946, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10946, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10946, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10946, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10945
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":10947
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10947, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10948
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10948, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError) != (0)) __PYX_ERR(0, 10948, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10948, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":10945
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10949
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10950
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10950, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10950, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10950, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10950, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10950, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10950, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10949
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10951
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10951, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10952
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10952, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_srcY_ValueError) != (0)) __PYX_ERR(0, 10952, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10952, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":10949
 *             except ValueError:
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10953
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10954
 *                 str_list += ['srcY : <ValueError>']
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10954, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10954, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10954, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10954, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10954, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10954, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10953
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10955
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10955, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10956
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10956, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcZ_ValueError) != (0)) __PYX_ERR(0, 10956, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10956, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":10953
 *             except ValueError:
 *                 str_list += ['srcY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10957
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10958
 *                 str_list += ['srcZ : <ValueError>']
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcLOD_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10958, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10958, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcLOD, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10958, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10958, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 10958, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10958, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":10957
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10959
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10959, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10960
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10960, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcLOD_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcLOD_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_srcLOD_ValueError) != (0)) __PYX_ERR(0, 10960, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10960, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":10957
 *             except ValueError:
 *                 str_list += ['srcZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10961
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10962
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcMemoryType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10962, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10962, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10962, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10962, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10962, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10962, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10961
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10963
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10963, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10964
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10964, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError) != (0)) __PYX_ERR(0, 10964, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10964, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":10961
 *             except ValueError:
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10965
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10966
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcHost_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10966, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10966, __pyx_L44_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_srcHost, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10966, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10966, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10966, __pyx_L44_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10966, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10965
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10967
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10967, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10968
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10968, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcHost_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_srcHost_ValueError) != (0)) __PYX_ERR(0, 10968, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10968, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":10965
 *             except ValueError:
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10969
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10970
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcDevice_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10970, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10970, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcDevice, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10970, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10970, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 10970, __pyx_L52_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10970, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":10969
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10971
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 10971, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10972
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10972, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError) != (0)) __PYX_ERR(0, 10972, __pyx_L54_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10972, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":10969
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10973
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10974
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10974, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10974, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcArray, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10974, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10974, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10974, __pyx_L60_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10974, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10973
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10975
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10975, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10976
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10976, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_srcArray_ValueError) != (0)) __PYX_ERR(0, 10976, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10976, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":10973
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10977
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10978
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
 *                 str_list += ['srcContext : ' + str(self.srcContext)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcContext : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcContext_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10978, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10978, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcContext, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10978, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10978, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 10978, __pyx_L68_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10978, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":10977
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10979
 *             try:
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcContext : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 10979, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10980
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
 *             except ValueError:
 *                 str_list += ['srcContext : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10980, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcContext_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcContext_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcContext_ValueError) != (0)) __PYX_ERR(0, 10980, __pyx_L70_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10980, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":10977
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10981
 *             except ValueError:
 *                 str_list += ['srcContext : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10982
 *                 str_list += ['srcContext : <ValueError>']
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcPitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10982, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10982, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcPitch, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10982, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10982, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10982, __pyx_L76_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10982, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10981
 *             except ValueError:
 *                 str_list += ['srcContext : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10983
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10983, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10984
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10984, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError) != (0)) __PYX_ERR(0, 10984, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10984, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":10981
 *             except ValueError:
 *                 str_list += ['srcContext : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10985
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10986
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcHeight_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10986, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10986, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcHeight, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10986, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10986, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 10986, __pyx_L84_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10986, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":10985
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L89_try_end;
      __pyx_L84_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10987
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 10987, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10988
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10988, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcHeight_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcHeight_ValueError) != (0)) __PYX_ERR(0, 10988, __pyx_L86_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10988, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L85_exception_handled;
      }
      goto __pyx_L86_except_error;

      /* "cuda/bindings/driver.pyx":10985
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:
*/
      __pyx_L86_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L85_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L89_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10989
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10990
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstXInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10990, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10990, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstXInBytes, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10990, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10990, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10990, __pyx_L92_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10990, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10989
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L97_try_end;
      __pyx_L92_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10991
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10991, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":10992
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10992, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError) != (0)) __PYX_ERR(0, 10992, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10992, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L93_exception_handled;
      }
      goto __pyx_L94_except_error;

      /* "cuda/bindings/driver.pyx":10989
 *             except ValueError:
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
*/
      __pyx_L94_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L93_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L97_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10993
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10994
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstY_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10994, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10994, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstY, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10994, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10994, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 10994, __pyx_L100_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10994, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":10993
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L105_try_end;
      __pyx_L100_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10995
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 10995, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10996
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10996, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_dstY_ValueError) != (0)) __PYX_ERR(0, 10996, __pyx_L102_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10996, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L101_exception_handled;
      }
      goto __pyx_L102_except_error;

      /* "cuda/bindings/driver.pyx":10993
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:
*/
      __pyx_L102_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L101_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L105_try_end:;
    }

    /* "cuda/bindings/driver.pyx":10997
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":10998
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10998, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10998, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstZ, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10998, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10998, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 10998, __pyx_L108_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10998, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":10997
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L113_try_end;
      __pyx_L108_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10999
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 10999, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":11000
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11000, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstZ_ValueError) != (0)) __PYX_ERR(0, 11000, __pyx_L110_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11000, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L109_exception_handled;
      }
      goto __pyx_L110_except_error;

      /* "cuda/bindings/driver.pyx":10997
 *             except ValueError:
 *                 str_list += ['dstY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
*/
      __pyx_L110_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L109_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L113_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11001
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11002
 *                 str_list += ['dstZ : <ValueError>']
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstLOD_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11002, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11002, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstLOD, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11002, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11002, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 11002, __pyx_L116_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11002, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":11001
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L121_try_end;
      __pyx_L116_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11003
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 11003, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11004
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11004, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstLOD_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstLOD_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_dstLOD_ValueError) != (0)) __PYX_ERR(0, 11004, __pyx_L118_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11004, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L117_exception_handled;
      }
      goto __pyx_L118_except_error;

      /* "cuda/bindings/driver.pyx":11001
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:
*/
      __pyx_L118_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L117_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L121_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11005
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11006
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstMemoryType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11006, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11006, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstMemoryType, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11006, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11006, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11006, __pyx_L124_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11006, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11005
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L129_try_end;
      __pyx_L124_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11007
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 11007, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":11008
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11008, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError) != (0)) __PYX_ERR(0, 11008, __pyx_L126_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11008, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L125_exception_handled;
      }
      goto __pyx_L126_except_error;

      /* "cuda/bindings/driver.pyx":11005
 *             except ValueError:
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
*/
      __pyx_L126_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L125_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L129_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11009
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11010
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
*/
        __pyx_t_8 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHost_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11010, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
          __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11010, __pyx_L132_error)
          __Pyx_GOTREF(__pyx_t_10);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_dstHost, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11010, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11010, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11010, __pyx_L132_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11010, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11009
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L137_try_end;
      __pyx_L132_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11011
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 11011, __pyx_L134_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":11012
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11012, __pyx_L134_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstHost_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_dstHost_ValueError) != (0)) __PYX_ERR(0, 11012, __pyx_L134_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11012, __pyx_L134_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L133_exception_handled;
      }
      goto __pyx_L134_except_error;

      /* "cuda/bindings/driver.pyx":11009
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
*/
      __pyx_L134_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L133_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L137_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11013
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11014
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstDevice_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11014, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11014, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstDevice, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11014, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11014, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 11014, __pyx_L140_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11014, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":11013
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L145_try_end;
      __pyx_L140_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11015
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 11015, __pyx_L142_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11016
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11016, __pyx_L142_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError) != (0)) __PYX_ERR(0, 11016, __pyx_L142_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11016, __pyx_L142_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L141_exception_handled;
      }
      goto __pyx_L142_except_error;

      /* "cuda/bindings/driver.pyx":11013
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
*/
      __pyx_L142_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L141_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L145_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11017
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11018
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11018, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11018, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstArray, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11018, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11018, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11018, __pyx_L148_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11018, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11017
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L153_try_end;
      __pyx_L148_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11019
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 11019, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":11020
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11020, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_dstArray_ValueError) != (0)) __PYX_ERR(0, 11020, __pyx_L150_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11020, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L149_exception_handled;
      }
      goto __pyx_L150_except_error;

      /* "cuda/bindings/driver.pyx":11017
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
*/
      __pyx_L150_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L149_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L153_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11021
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11022
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 *                 str_list += ['dstContext : ' + str(self.dstContext)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstContext : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstContext_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11022, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11022, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstContext, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11022, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11022, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 11022, __pyx_L156_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11022, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":11021
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L161_try_end;
      __pyx_L156_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11023
 *             try:
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstContext : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 11023, __pyx_L158_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11024
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
 *             except ValueError:
 *                 str_list += ['dstContext : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11024, __pyx_L158_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstContext_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstContext_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstContext_ValueError) != (0)) __PYX_ERR(0, 11024, __pyx_L158_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11024, __pyx_L158_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L157_exception_handled;
      }
      goto __pyx_L158_except_error;

      /* "cuda/bindings/driver.pyx":11021
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
 *             except ValueError:
*/
      __pyx_L158_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L157_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L161_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11025
 *             except ValueError:
 *                 str_list += ['dstContext : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11026
 *                 str_list += ['dstContext : <ValueError>']
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstPitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11026, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11026, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstPitch, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11026, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11026, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11026, __pyx_L164_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11026, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11025
 *             except ValueError:
 *                 str_list += ['dstContext : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L169_try_end;
      __pyx_L164_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11027
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 11027, __pyx_L166_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":11028
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11028, __pyx_L166_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError) != (0)) __PYX_ERR(0, 11028, __pyx_L166_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11028, __pyx_L166_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L165_exception_handled;
      }
      goto __pyx_L166_except_error;

      /* "cuda/bindings/driver.pyx":11025
 *             except ValueError:
 *                 str_list += ['dstContext : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
*/
      __pyx_L166_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L165_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L169_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11029
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11030
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHeight_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11030, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11030, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstHeight, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11030, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11030, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 11030, __pyx_L172_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11030, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":11029
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L177_try_end;
      __pyx_L172_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11031
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 11031, __pyx_L174_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11032
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11032, __pyx_L174_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError) != (0)) __PYX_ERR(0, 11032, __pyx_L174_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11032, __pyx_L174_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L173_exception_handled;
      }
      goto __pyx_L174_except_error;

      /* "cuda/bindings/driver.pyx":11029
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
*/
      __pyx_L174_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L173_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L177_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11033
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11034
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_WidthInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11034, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11034, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_WidthInBytes, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11034, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11034, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11034, __pyx_L180_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11034, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11033
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L185_try_end;
      __pyx_L180_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11035
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 11035, __pyx_L182_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":11036
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11036, __pyx_L182_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError) != (0)) __PYX_ERR(0, 11036, __pyx_L182_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11036, __pyx_L182_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L181_exception_handled;
      }
      goto __pyx_L182_except_error;

      /* "cuda/bindings/driver.pyx":11033
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
*/
      __pyx_L182_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L181_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L185_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11037
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11038
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Height_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11038, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11038, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Height, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11038, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11038, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 11038, __pyx_L188_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11038, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":11037
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L193_try_end;
      __pyx_L188_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11039
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 11039, __pyx_L190_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11040
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11040, __pyx_L190_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_Height_ValueError) != (0)) __PYX_ERR(0, 11040, __pyx_L190_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11040, __pyx_L190_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L189_exception_handled;
      }
      goto __pyx_L190_except_error;

      /* "cuda/bindings/driver.pyx":11037
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      __pyx_L190_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L189_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L193_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11041
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11042
 *                 str_list += ['Height : <ValueError>']
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11042, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11042, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Depth, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11042, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11042, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11042, __pyx_L196_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11042, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11041
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L201_try_end;
      __pyx_L196_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11043
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 11043, __pyx_L198_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":11044
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11044, __pyx_L198_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Depth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_Depth_ValueError) != (0)) __PYX_ERR(0, 11044, __pyx_L198_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11044, __pyx_L198_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L197_exception_handled;
      }
      goto __pyx_L198_except_error;

      /* "cuda/bindings/driver.pyx":11041
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
      __pyx_L198_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L197_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L201_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11045
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_9 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10943
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11047
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def srcXInBytes(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":10942
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11048
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11050
 *     @property
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes             # <<<<<<<<<<<<<<
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11048
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11051
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes) {
  size_t __pyx_v_srcXInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcXInBytes); {
    __pyx_v_srcXInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_srcXInBytes); if (unlikely((__pyx_v_srcXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11052, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_srcXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcXInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11053
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def srcY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcXInBytes = __pyx_v_srcXInBytes;

  /* "cuda/bindings/driver.pyx":11051
 *     def srcXInBytes(self):
 *         return self._pvt_ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11054
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11056
 *     @property
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY             # <<<<<<<<<<<<<<
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11054
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._pvt_ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11057
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY) {
  size_t __pyx_v_srcY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcY); {
    __pyx_v_srcY = __Pyx_PyLong_As_size_t(__pyx_arg_srcY); if (unlikely((__pyx_v_srcY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11058, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_srcY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11059
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY             # <<<<<<<<<<<<<<
 *     @property
 *     def srcZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcY = __pyx_v_srcY;

  /* "cuda/bindings/driver.pyx":11057
 *     def srcY(self):
 *         return self._pvt_ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11060
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11062
 *     @property
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ             # <<<<<<<<<<<<<<
 *     @srcZ.setter
 *     def srcZ(self, size_t srcZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11060
 *     def srcY(self, size_t srcY):
 *         self._pvt_ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11063
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ
 *     @srcZ.setter             # <<<<<<<<<<<<<<
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcZ) {
  size_t __pyx_v_srcZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcZ); {
    __pyx_v_srcZ = __Pyx_PyLong_As_size_t(__pyx_arg_srcZ); if (unlikely((__pyx_v_srcZ == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11064, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_srcZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11065
 *     @srcZ.setter
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ             # <<<<<<<<<<<<<<
 *     @property
 *     def srcLOD(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcZ = __pyx_v_srcZ;

  /* "cuda/bindings/driver.pyx":11063
 *     def srcZ(self):
 *         return self._pvt_ptr[0].srcZ
 *     @srcZ.setter             # <<<<<<<<<<<<<<
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11066
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11068
 *     @property
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD             # <<<<<<<<<<<<<<
 *     @srcLOD.setter
 *     def srcLOD(self, size_t srcLOD):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcLOD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11066
 *     def srcZ(self, size_t srcZ):
 *         self._pvt_ptr[0].srcZ = srcZ
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcLOD.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11069
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD
 *     @srcLOD.setter             # <<<<<<<<<<<<<<
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcLOD); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcLOD) {
  size_t __pyx_v_srcLOD;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcLOD); {
    __pyx_v_srcLOD = __Pyx_PyLong_As_size_t(__pyx_arg_srcLOD); if (unlikely((__pyx_v_srcLOD == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11070, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcLOD.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_srcLOD));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcLOD) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11071
 *     @srcLOD.setter
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD             # <<<<<<<<<<<<<<
 *     @property
 *     def srcMemoryType(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcLOD = __pyx_v_srcLOD;

  /* "cuda/bindings/driver.pyx":11069
 *     def srcLOD(self):
 *         return self._pvt_ptr[0].srcLOD
 *     @srcLOD.setter             # <<<<<<<<<<<<<<
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11072
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11074
 *     @property
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 11074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":11075
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11074
 *     @property
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
*/
  }

  /* "cuda/bindings/driver.pyx":11076
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]             # <<<<<<<<<<<<<<
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11072
 *     def srcLOD(self, size_t srcLOD):
 *         self._pvt_ptr[0].srcLOD = srcLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         if self._pvt_ptr[0].srcMemoryType not in _dict_CUmemorytype:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11077
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_srcMemoryType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "srcMemoryType"); __PYX_ERR(0, 11078, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemorytype __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11079
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHost(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcMemoryType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyLong_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).srcMemoryType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":11077
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].srcMemoryType]
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11080
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11082
 *     @property
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost             # <<<<<<<<<<<<<<
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).srcHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11080
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11083
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__csrcHost = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11085
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11085, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__csrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11086
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def srcDevice(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__csrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).srcHost = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":11083
 *     def srcHost(self):
 *         return <void_ptr>self._pvt_ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__csrcHost);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11087
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11089
 *     @property
 *     def srcDevice(self):
 *         return self._srcDevice             # <<<<<<<<<<<<<<
 *     @srcDevice.setter
 *     def srcDevice(self, srcDevice):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_r = ((PyObject *)__pyx_v_self->_srcDevice);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11087
 *         _csrcHost = _HelperInputVoidPtr(srcHost)
 *         self._pvt_ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11090
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11093
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11094
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
*/
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11093
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11095
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11096
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11097
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11097, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11095
 *         if srcDevice is None:
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11099
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11099, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11100
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11100, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11101
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_srcDevice->_pvt_ptr[0]) = __pyx_v_cysrcDevice;

  /* "cuda/bindings/driver.pyx":11090
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef cydriver.CUdeviceptr cysrcDevice
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11103
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11105
 *     @property
 *     def srcArray(self):
 *         return self._srcArray             # <<<<<<<<<<<<<<
 *     @srcArray.setter
 *     def srcArray(self, srcArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_srcArray);
  __pyx_r = ((PyObject *)__pyx_v_self->_srcArray);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11103
 *         self._srcDevice._pvt_ptr[0] = cysrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11106
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CUarray __pyx_v_cysrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11109
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11110
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
*/
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11109
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11111
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11112
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11113
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         else:
 *             psrcArray = int(CUarray(srcArray))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11113, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11111
 *         if srcArray is None:
 *             cysrcArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11115
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         else:
 *             psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11115, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11116
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11116, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11117
 *             psrcArray = int(CUarray(srcArray))
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray             # <<<<<<<<<<<<<<
 *     @property
 *     def srcContext(self):
*/
  (__pyx_v_self->_srcArray->_pvt_ptr[0]) = __pyx_v_cysrcArray;

  /* "cuda/bindings/driver.pyx":11106
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef cydriver.CUarray cysrcArray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11118
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def srcContext(self):
 *         return self._srcContext
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11120
 *     @property
 *     def srcContext(self):
 *         return self._srcContext             # <<<<<<<<<<<<<<
 *     @srcContext.setter
 *     def srcContext(self, srcContext):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_srcContext);
  __pyx_r = ((PyObject *)__pyx_v_self->_srcContext);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11118
 *             cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *         self._srcArray._pvt_ptr[0] = cysrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def srcContext(self):
 *         return self._srcContext
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11121
 *     def srcContext(self):
 *         return self._srcContext
 *     @srcContext.setter             # <<<<<<<<<<<<<<
 *     def srcContext(self, srcContext):
 *         cdef cydriver.CUcontext cysrcContext
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcContext); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcContext) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcContext));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcContext) {
  CUcontext __pyx_v_cysrcContext;
  PyObject *__pyx_v_psrcContext = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11124
 *     def srcContext(self, srcContext):
 *         cdef cydriver.CUcontext cysrcContext
 *         if srcContext is None:             # <<<<<<<<<<<<<<
 *             cysrcContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_srcContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11125
 *         cdef cydriver.CUcontext cysrcContext
 *         if srcContext is None:
 *             cysrcContext = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcContext, (CUcontext,)):
 *             psrcContext = int(srcContext)
*/
    __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11124
 *     def srcContext(self, srcContext):
 *         cdef cydriver.CUcontext cysrcContext
 *         if srcContext is None:             # <<<<<<<<<<<<<<
 *             cysrcContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11126
 *         if srcContext is None:
 *             cysrcContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             psrcContext = int(srcContext)
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcContext, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11127
 *             cysrcContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):
 *             psrcContext = int(srcContext)             # <<<<<<<<<<<<<<
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11128
 *         elif isinstance(srcContext, (CUcontext,)):
 *             psrcContext = int(srcContext)
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *         else:
 *             psrcContext = int(CUcontext(srcContext))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11128, __pyx_L1_error)
    __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11126
 *         if srcContext is None:
 *             cysrcContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             psrcContext = int(srcContext)
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11130
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *         else:
 *             psrcContext = int(CUcontext(srcContext))             # <<<<<<<<<<<<<<
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *         self._srcContext._pvt_ptr[0] = cysrcContext
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11130, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11131
 *         else:
 *             psrcContext = int(CUcontext(srcContext))
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *         self._srcContext._pvt_ptr[0] = cysrcContext
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11131, __pyx_L1_error)
    __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11132
 *             psrcContext = int(CUcontext(srcContext))
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *         self._srcContext._pvt_ptr[0] = cysrcContext             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPitch(self):
*/
  (__pyx_v_self->_srcContext->_pvt_ptr[0]) = __pyx_v_cysrcContext;

  /* "cuda/bindings/driver.pyx":11121
 *     def srcContext(self):
 *         return self._srcContext
 *     @srcContext.setter             # <<<<<<<<<<<<<<
 *     def srcContext(self, srcContext):
 *         cdef cydriver.CUcontext cysrcContext
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcContext.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcContext);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11133
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *         self._srcContext._pvt_ptr[0] = cysrcContext
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11135
 *     @property
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch             # <<<<<<<<<<<<<<
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11133
 *             cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *         self._srcContext._pvt_ptr[0] = cysrcContext
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11136
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch) {
  size_t __pyx_v_srcPitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcPitch); {
    __pyx_v_srcPitch = __Pyx_PyLong_As_size_t(__pyx_arg_srcPitch); if (unlikely((__pyx_v_srcPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11137, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_srcPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcPitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11138
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHeight(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcPitch = __pyx_v_srcPitch;

  /* "cuda/bindings/driver.pyx":11136
 *     def srcPitch(self):
 *         return self._pvt_ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11139
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11141
 *     @property
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight             # <<<<<<<<<<<<<<
 *     @srcHeight.setter
 *     def srcHeight(self, size_t srcHeight):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11139
 *     def srcPitch(self, size_t srcPitch):
 *         self._pvt_ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11142
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight
 *     @srcHeight.setter             # <<<<<<<<<<<<<<
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcHeight); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcHeight) {
  size_t __pyx_v_srcHeight;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcHeight); {
    __pyx_v_srcHeight = __Pyx_PyLong_As_size_t(__pyx_arg_srcHeight); if (unlikely((__pyx_v_srcHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11143, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.srcHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_srcHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcHeight) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11144
 *     @srcHeight.setter
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def dstXInBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcHeight = __pyx_v_srcHeight;

  /* "cuda/bindings/driver.pyx":11142
 *     def srcHeight(self):
 *         return self._pvt_ptr[0].srcHeight
 *     @srcHeight.setter             # <<<<<<<<<<<<<<
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11145
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11147
 *     @property
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes             # <<<<<<<<<<<<<<
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11145
 *     def srcHeight(self, size_t srcHeight):
 *         self._pvt_ptr[0].srcHeight = srcHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11148
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes) {
  size_t __pyx_v_dstXInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstXInBytes); {
    __pyx_v_dstXInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_dstXInBytes); if (unlikely((__pyx_v_dstXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11149, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_dstXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstXInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11150
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def dstY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstXInBytes = __pyx_v_dstXInBytes;

  /* "cuda/bindings/driver.pyx":11148
 *     def dstXInBytes(self):
 *         return self._pvt_ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11151
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11153
 *     @property
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY             # <<<<<<<<<<<<<<
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11151
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._pvt_ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11154
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY) {
  size_t __pyx_v_dstY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstY); {
    __pyx_v_dstY = __Pyx_PyLong_As_size_t(__pyx_arg_dstY); if (unlikely((__pyx_v_dstY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11155, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_dstY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11156
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY             # <<<<<<<<<<<<<<
 *     @property
 *     def dstZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstY = __pyx_v_dstY;

  /* "cuda/bindings/driver.pyx":11154
 *     def dstY(self):
 *         return self._pvt_ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11157
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11159
 *     @property
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ             # <<<<<<<<<<<<<<
 *     @dstZ.setter
 *     def dstZ(self, size_t dstZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11157
 *     def dstY(self, size_t dstY):
 *         self._pvt_ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11160
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ
 *     @dstZ.setter             # <<<<<<<<<<<<<<
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstZ) {
  size_t __pyx_v_dstZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstZ); {
    __pyx_v_dstZ = __Pyx_PyLong_As_size_t(__pyx_arg_dstZ); if (unlikely((__pyx_v_dstZ == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11161, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_dstZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11162
 *     @dstZ.setter
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ             # <<<<<<<<<<<<<<
 *     @property
 *     def dstLOD(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstZ = __pyx_v_dstZ;

  /* "cuda/bindings/driver.pyx":11160
 *     def dstZ(self):
 *         return self._pvt_ptr[0].dstZ
 *     @dstZ.setter             # <<<<<<<<<<<<<<
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11163
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11165
 *     @property
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD             # <<<<<<<<<<<<<<
 *     @dstLOD.setter
 *     def dstLOD(self, size_t dstLOD):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstLOD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11163
 *     def dstZ(self, size_t dstZ):
 *         self._pvt_ptr[0].dstZ = dstZ
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstLOD.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11166
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD
 *     @dstLOD.setter             # <<<<<<<<<<<<<<
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstLOD); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstLOD) {
  size_t __pyx_v_dstLOD;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstLOD); {
    __pyx_v_dstLOD = __Pyx_PyLong_As_size_t(__pyx_arg_dstLOD); if (unlikely((__pyx_v_dstLOD == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11167, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstLOD.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_dstLOD));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstLOD) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11168
 *     @dstLOD.setter
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD             # <<<<<<<<<<<<<<
 *     @property
 *     def dstMemoryType(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstLOD = __pyx_v_dstLOD;

  /* "cuda/bindings/driver.pyx":11166
 *     def dstLOD(self):
 *         return self._pvt_ptr[0].dstLOD
 *     @dstLOD.setter             # <<<<<<<<<<<<<<
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11169
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11171
 *     @property
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 11171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":11172
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11171
 *     @property
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
*/
  }

  /* "cuda/bindings/driver.pyx":11173
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]             # <<<<<<<<<<<<<<
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemorytype_enum((__pyx_v_self->_pvt_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11169
 *     def dstLOD(self, size_t dstLOD):
 *         self._pvt_ptr[0].dstLOD = dstLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         if self._pvt_ptr[0].dstMemoryType not in _dict_CUmemorytype:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11174
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_dstMemoryType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "dstMemoryType"); __PYX_ERR(0, 11175, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemorytype __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11176
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHost(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dstMemoryType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyLong_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).dstMemoryType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":11174
 *             return None
 *         return _dict_CUmemorytype[self._pvt_ptr[0].dstMemoryType]
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11177
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11179
 *     @property
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost             # <<<<<<<<<<<<<<
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).dstHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11177
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._pvt_ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11180
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cdstHost = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11182
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11182, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cdstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11183
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dstDevice(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cdstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11183, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).dstHost = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":11180
 *     def dstHost(self):
 *         return <void_ptr>self._pvt_ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cdstHost);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11184
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11186
 *     @property
 *     def dstDevice(self):
 *         return self._dstDevice             # <<<<<<<<<<<<<<
 *     @dstDevice.setter
 *     def dstDevice(self, dstDevice):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dstDevice);
  __pyx_r = ((PyObject *)__pyx_v_self->_dstDevice);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11184
 *         _cdstHost = _HelperInputVoidPtr(dstHost)
 *         self._pvt_ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11187
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11190
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11191
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
*/
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11190
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11192
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11193
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11194
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11194, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11192
 *         if dstDevice is None:
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11196
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11196, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11197
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11197, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11198
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._pvt_ptr[0] = cydstDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_dstDevice->_pvt_ptr[0]) = __pyx_v_cydstDevice;

  /* "cuda/bindings/driver.pyx":11187
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef cydriver.CUdeviceptr cydstDevice
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11200
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11202
 *     @property
 *     def dstArray(self):
 *         return self._dstArray             # <<<<<<<<<<<<<<
 *     @dstArray.setter
 *     def dstArray(self, dstArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dstArray);
  __pyx_r = ((PyObject *)__pyx_v_self->_dstArray);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11200
 *         self._dstDevice._pvt_ptr[0] = cydstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11203
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CUarray __pyx_v_cydstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11206
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11207
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
*/
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11206
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11208
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11209
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11210
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         else:
 *             pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11210, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11208
 *         if dstArray is None:
 *             cydstArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11212
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         else:
 *             pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11212, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11213
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11213, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11214
 *             pdstArray = int(CUarray(dstArray))
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray             # <<<<<<<<<<<<<<
 *     @property
 *     def dstContext(self):
*/
  (__pyx_v_self->_dstArray->_pvt_ptr[0]) = __pyx_v_cydstArray;

  /* "cuda/bindings/driver.pyx":11203
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef cydriver.CUarray cydstArray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11215
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def dstContext(self):
 *         return self._dstContext
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11217
 *     @property
 *     def dstContext(self):
 *         return self._dstContext             # <<<<<<<<<<<<<<
 *     @dstContext.setter
 *     def dstContext(self, dstContext):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dstContext);
  __pyx_r = ((PyObject *)__pyx_v_self->_dstContext);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11215
 *             cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *         self._dstArray._pvt_ptr[0] = cydstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def dstContext(self):
 *         return self._dstContext
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11218
 *     def dstContext(self):
 *         return self._dstContext
 *     @dstContext.setter             # <<<<<<<<<<<<<<
 *     def dstContext(self, dstContext):
 *         cdef cydriver.CUcontext cydstContext
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstContext); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstContext) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstContext));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstContext) {
  CUcontext __pyx_v_cydstContext;
  PyObject *__pyx_v_pdstContext = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11221
 *     def dstContext(self, dstContext):
 *         cdef cydriver.CUcontext cydstContext
 *         if dstContext is None:             # <<<<<<<<<<<<<<
 *             cydstContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_dstContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11222
 *         cdef cydriver.CUcontext cydstContext
 *         if dstContext is None:
 *             cydstContext = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstContext, (CUcontext,)):
 *             pdstContext = int(dstContext)
*/
    __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11221
 *     def dstContext(self, dstContext):
 *         cdef cydriver.CUcontext cydstContext
 *         if dstContext is None:             # <<<<<<<<<<<<<<
 *             cydstContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11223
 *         if dstContext is None:
 *             cydstContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pdstContext = int(dstContext)
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstContext, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11224
 *             cydstContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):
 *             pdstContext = int(dstContext)             # <<<<<<<<<<<<<<
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11225
 *         elif isinstance(dstContext, (CUcontext,)):
 *             pdstContext = int(dstContext)
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *         else:
 *             pdstContext = int(CUcontext(dstContext))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11225, __pyx_L1_error)
    __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11223
 *         if dstContext is None:
 *             cydstContext = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pdstContext = int(dstContext)
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11227
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *         else:
 *             pdstContext = int(CUcontext(dstContext))             # <<<<<<<<<<<<<<
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *         self._dstContext._pvt_ptr[0] = cydstContext
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11227, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11228
 *         else:
 *             pdstContext = int(CUcontext(dstContext))
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *         self._dstContext._pvt_ptr[0] = cydstContext
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11228, __pyx_L1_error)
    __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11229
 *             pdstContext = int(CUcontext(dstContext))
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *         self._dstContext._pvt_ptr[0] = cydstContext             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPitch(self):
*/
  (__pyx_v_self->_dstContext->_pvt_ptr[0]) = __pyx_v_cydstContext;

  /* "cuda/bindings/driver.pyx":11218
 *     def dstContext(self):
 *         return self._dstContext
 *     @dstContext.setter             # <<<<<<<<<<<<<<
 *     def dstContext(self, dstContext):
 *         cdef cydriver.CUcontext cydstContext
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstContext.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstContext);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11230
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *         self._dstContext._pvt_ptr[0] = cydstContext
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11232
 *     @property
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch             # <<<<<<<<<<<<<<
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11230
 *             cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *         self._dstContext._pvt_ptr[0] = cydstContext
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11233
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch) {
  size_t __pyx_v_dstPitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstPitch); {
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(__pyx_arg_dstPitch); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11234, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_dstPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstPitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11235
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHeight(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstPitch = __pyx_v_dstPitch;

  /* "cuda/bindings/driver.pyx":11233
 *     def dstPitch(self):
 *         return self._pvt_ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11236
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11238
 *     @property
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight             # <<<<<<<<<<<<<<
 *     @dstHeight.setter
 *     def dstHeight(self, size_t dstHeight):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11236
 *     def dstPitch(self, size_t dstPitch):
 *         self._pvt_ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11239
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight
 *     @dstHeight.setter             # <<<<<<<<<<<<<<
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstHeight); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstHeight) {
  size_t __pyx_v_dstHeight;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstHeight); {
    __pyx_v_dstHeight = __Pyx_PyLong_As_size_t(__pyx_arg_dstHeight); if (unlikely((__pyx_v_dstHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11240, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.dstHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_dstHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstHeight) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11241
 *     @dstHeight.setter
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def WidthInBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstHeight = __pyx_v_dstHeight;

  /* "cuda/bindings/driver.pyx":11239
 *     def dstHeight(self):
 *         return self._pvt_ptr[0].dstHeight
 *     @dstHeight.setter             # <<<<<<<<<<<<<<
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11242
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11244
 *     @property
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes             # <<<<<<<<<<<<<<
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).WidthInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11242
 *     def dstHeight(self, size_t dstHeight):
 *         self._pvt_ptr[0].dstHeight = dstHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.WidthInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11245
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes) {
  size_t __pyx_v_WidthInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_WidthInBytes); {
    __pyx_v_WidthInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_WidthInBytes); if (unlikely((__pyx_v_WidthInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11246, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.WidthInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_WidthInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_WidthInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11247
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).WidthInBytes = __pyx_v_WidthInBytes;

  /* "cuda/bindings/driver.pyx":11245
 *     def WidthInBytes(self):
 *         return self._pvt_ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11248
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11250
 *     @property
 *     def Height(self):
 *         return self._pvt_ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11248
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._pvt_ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11251
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height) {
  size_t __pyx_v_Height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Height); {
    __pyx_v_Height = __Pyx_PyLong_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11252, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_Height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11253
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height             # <<<<<<<<<<<<<<
 *     @property
 *     def Depth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/bindings/driver.pyx":11251
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11254
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11256
 *     @property
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth             # <<<<<<<<<<<<<<
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11254
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.Depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11257
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth) {
  size_t __pyx_v_Depth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Depth); {
    __pyx_v_Depth = __Pyx_PyLong_As_size_t(__pyx_arg_Depth); if (unlikely((__pyx_v_Depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11258, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.Depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((size_t)__pyx_v_Depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_Depth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11259
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY_NODE_PARAMS_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).Depth = __pyx_v_Depth;

  /* "cuda/bindings/driver.pyx":11257
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__, "CUDA_MEMCPY3D_PEER_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__, "CUDA_MEMCPY3D_PEER_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11281
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11281, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11281, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11281, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11281, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":11282
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11283
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":11282
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11285
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11281
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11286
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].copyCtx)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11286, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11286, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11286, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11286, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11286, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11286, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11288
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].copyCtx)             # <<<<<<<<<<<<<<
 *         self._copyParams = CUDA_MEMCPY3D(_ptr=<void_ptr>&self._pvt_ptr[0].copyParams)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).copyCtx))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11288, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11288, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_copyCtx);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_copyCtx);
  __pyx_v_self->_copyCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11289
 *         pass
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].copyCtx)
 *         self._copyParams = CUDA_MEMCPY3D(_ptr=<void_ptr>&self._pvt_ptr[0].copyParams)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).copyParams))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11289, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11289, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_copyParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_copyParams);
  __pyx_v_self->_copyParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11286
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].copyCtx)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11290
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._pvt_ptr[0].copyCtx)
 *         self._copyParams = CUDA_MEMCPY3D(_ptr=<void_ptr>&self._pvt_ptr[0].copyParams)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11292
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr, "CUDA_MEMCPY_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11293
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11292
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11294
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr145__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11295
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11296
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11297
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11298
 *             str_list = []
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11298, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11298, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11298, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11298, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11298, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11298, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11297
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11299
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11299, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11300
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11300, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 11300, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11300, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11297
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11301
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11302
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11302, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11302, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11302, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11302, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11302, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11302, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11301
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11303
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11303, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11304
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11304, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 11304, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11304, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":11301
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11305
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11306
 *                 str_list += ['reserved : <ValueError>']
 *             try:
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['copyCtx : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_copyCtx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11306, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11306, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_copyCtx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11306, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11306, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11306, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11306, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11305
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11307
 *             try:
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyCtx : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11307, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11308
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]
 *             except ValueError:
 *                 str_list += ['copyCtx : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['copyParams :\n' + '\n'.join(['    ' + line for line in str(self.copyParams).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11308, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_copyCtx_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_copyCtx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_copyCtx_ValueError) != (0)) __PYX_ERR(0, 11308, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11308, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":11305
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11309
 *             except ValueError:
 *                 str_list += ['copyCtx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyParams :\n' + '\n'.join(['    ' + line for line in str(self.copyParams).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11310
 *                 str_list += ['copyCtx : <ValueError>']
 *             try:
 *                 str_list += ['copyParams :\n' + '\n'.join(['    ' + line for line in str(self.copyParams).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['copyParams : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11310, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_copyParams_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11310, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11310, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11310, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 11310, __pyx_L36_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11310, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr145__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr145__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11310, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 11310, __pyx_L36_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr145__pyx_v_line); __pyx_10genexpr145__pyx_v_line = 0;
          goto __pyx_L40_exit_scope;
          __pyx_L36_error:;
          __Pyx_XDECREF(__pyx_10genexpr145__pyx_v_line); __pyx_10genexpr145__pyx_v_line = 0;
          goto __pyx_L28_error;
          __pyx_L40_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11310, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_copyParams, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11310, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11310, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11310, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11310, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11309
 *             except ValueError:
 *                 str_list += ['copyCtx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyParams :\n' + '\n'.join(['    ' + line for line in str(self.copyParams).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11311
 *             try:
 *                 str_list += ['copyParams :\n' + '\n'.join(['    ' + line for line in str(self.copyParams).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyParams : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 11311, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":11312
 *                 str_list += ['copyParams :\n' + '\n'.join(['    ' + line for line in str(self.copyParams).splitlines()])]
 *             except ValueError:
 *                 str_list += ['copyParams : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11312, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_copyParams_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_copyParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_copyParams_ValueError) != (0)) __PYX_ERR(0, 11312, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11312, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":11309
 *             except ValueError:
 *                 str_list += ['copyCtx : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyParams :\n' + '\n'.join(['    ' + line for line in str(self.copyParams).splitlines()])]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11313
 *             except ValueError:
 *                 str_list += ['copyParams : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11295
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11315
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11294
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr145__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11316
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11318
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11316
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11319
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11320, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11321
 *     @flags.setter
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":11319
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11322
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11324
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, int reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).reserved); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11322
 *     def flags(self, int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11325
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, int reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved) {
  int __pyx_v_reserved;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_reserved); {
    __pyx_v_reserved = __Pyx_PyLong_As_int(__pyx_arg_reserved); if (unlikely((__pyx_v_reserved == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11326, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), ((int)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, int __pyx_v_reserved) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11327
 *     @reserved.setter
 *     def reserved(self, int reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 *     @property
 *     def copyCtx(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).reserved = __pyx_v_reserved;

  /* "cuda/bindings/driver.pyx":11325
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, int reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11328
 *     def reserved(self, int reserved):
 *         self._pvt_ptr[0].reserved = reserved
 *     @property             # <<<<<<<<<<<<<<
 *     def copyCtx(self):
 *         return self._copyCtx
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11330
 *     @property
 *     def copyCtx(self):
 *         return self._copyCtx             # <<<<<<<<<<<<<<
 *     @copyCtx.setter
 *     def copyCtx(self, copyCtx):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_copyCtx);
  __pyx_r = ((PyObject *)__pyx_v_self->_copyCtx);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11328
 *     def reserved(self, int reserved):
 *         self._pvt_ptr[0].reserved = reserved
 *     @property             # <<<<<<<<<<<<<<
 *     def copyCtx(self):
 *         return self._copyCtx
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11331
 *     def copyCtx(self):
 *         return self._copyCtx
 *     @copyCtx.setter             # <<<<<<<<<<<<<<
 *     def copyCtx(self, copyCtx):
 *         cdef cydriver.CUcontext cycopyCtx
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_copyCtx); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_copyCtx) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_copyCtx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_copyCtx) {
  CUcontext __pyx_v_cycopyCtx;
  PyObject *__pyx_v_pcopyCtx = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11334
 *     def copyCtx(self, copyCtx):
 *         cdef cydriver.CUcontext cycopyCtx
 *         if copyCtx is None:             # <<<<<<<<<<<<<<
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_copyCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11335
 *         cdef cydriver.CUcontext cycopyCtx
 *         if copyCtx is None:
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(copyCtx, (CUcontext,)):
 *             pcopyCtx = int(copyCtx)
*/
    __pyx_v_cycopyCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11334
 *     def copyCtx(self, copyCtx):
 *         cdef cydriver.CUcontext cycopyCtx
 *         if copyCtx is None:             # <<<<<<<<<<<<<<
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11336
 *         if copyCtx is None:
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pcopyCtx = int(copyCtx)
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_copyCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11337
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):
 *             pcopyCtx = int(copyCtx)             # <<<<<<<<<<<<<<
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_copyCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcopyCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11338
 *         elif isinstance(copyCtx, (CUcontext,)):
 *             pcopyCtx = int(copyCtx)
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx             # <<<<<<<<<<<<<<
 *         else:
 *             pcopyCtx = int(CUcontext(copyCtx))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcopyCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11338, __pyx_L1_error)
    __pyx_v_cycopyCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11336
 *         if copyCtx is None:
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pcopyCtx = int(copyCtx)
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11340
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx
 *         else:
 *             pcopyCtx = int(CUcontext(copyCtx))             # <<<<<<<<<<<<<<
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx
 *         self._copyCtx._pvt_ptr[0] = cycopyCtx
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_copyCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11340, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcopyCtx = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11341
 *         else:
 *             pcopyCtx = int(CUcontext(copyCtx))
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx             # <<<<<<<<<<<<<<
 *         self._copyCtx._pvt_ptr[0] = cycopyCtx
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcopyCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11341, __pyx_L1_error)
    __pyx_v_cycopyCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11342
 *             pcopyCtx = int(CUcontext(copyCtx))
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx
 *         self._copyCtx._pvt_ptr[0] = cycopyCtx             # <<<<<<<<<<<<<<
 *     @property
 *     def copyParams(self):
*/
  (__pyx_v_self->_copyCtx->_pvt_ptr[0]) = __pyx_v_cycopyCtx;

  /* "cuda/bindings/driver.pyx":11331
 *     def copyCtx(self):
 *         return self._copyCtx
 *     @copyCtx.setter             # <<<<<<<<<<<<<<
 *     def copyCtx(self, copyCtx):
 *         cdef cydriver.CUcontext cycopyCtx
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.copyCtx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcopyCtx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11343
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx
 *         self._copyCtx._pvt_ptr[0] = cycopyCtx
 *     @property             # <<<<<<<<<<<<<<
 *     def copyParams(self):
 *         return self._copyParams
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11345
 *     @property
 *     def copyParams(self):
 *         return self._copyParams             # <<<<<<<<<<<<<<
 *     @copyParams.setter
 *     def copyParams(self, copyParams not None : CUDA_MEMCPY3D):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_copyParams);
  __pyx_r = ((PyObject *)__pyx_v_self->_copyParams);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11343
 *             cycopyCtx = <cydriver.CUcontext><void_ptr>pcopyCtx
 *         self._copyCtx._pvt_ptr[0] = cycopyCtx
 *     @property             # <<<<<<<<<<<<<<
 *     def copyParams(self):
 *         return self._copyParams
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11346
 *     def copyParams(self):
 *         return self._copyParams
 *     @copyParams.setter             # <<<<<<<<<<<<<<
 *     def copyParams(self, copyParams not None : CUDA_MEMCPY3D):
 *         string.memcpy(&self._pvt_ptr[0].copyParams, <cydriver.CUDA_MEMCPY3D*><void_ptr>copyParams.getPtr(), sizeof(self._pvt_ptr[0].copyParams))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_copyParams); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_copyParams) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_copyParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D, 0, "copyParams", 0))) __PYX_ERR(0, 11347, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)__pyx_v_copyParams));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_copyParams) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11348
 *     @copyParams.setter
 *     def copyParams(self, copyParams not None : CUDA_MEMCPY3D):
 *         string.memcpy(&self._pvt_ptr[0].copyParams, <cydriver.CUDA_MEMCPY3D*><void_ptr>copyParams.getPtr(), sizeof(self._pvt_ptr[0].copyParams))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_copyParams);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).copyParams), ((CUDA_MEMCPY3D *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).copyParams))));

  /* "cuda/bindings/driver.pyx":11346
 *     def copyParams(self):
 *         return self._copyParams
 *     @copyParams.setter             # <<<<<<<<<<<<<<
 *     def copyParams(self, copyParams not None : CUDA_MEMCPY3D):
 *         string.memcpy(&self._pvt_ptr[0].copyParams, <cydriver.CUDA_MEMCPY3D*><void_ptr>copyParams.getPtr(), sizeof(self._pvt_ptr[0].copyParams))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.copyParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__, "CUDA_MEMCPY_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__, "CUDA_MEMCPY_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11370
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11370, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11370, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11370, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11370, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11370, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11370, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":11371
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11372
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_DESCRIPTOR_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":11371
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11374
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_DESCRIPTOR_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11370
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11375
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_DESCRIPTOR_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11375, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11375, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11375, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11375, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11375, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11375, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11377
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11379
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr, "CUDA_ARRAY_DESCRIPTOR_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11380
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11379
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11381
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11382
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11383
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11384
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11385
 *             str_list = []
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11385, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11385, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11385, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11385, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11385, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11385, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11384
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11386
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11386, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11387
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11387, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_Width_ValueError) != (0)) __PYX_ERR(0, 11387, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11387, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11384
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11388
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11389
 *                 str_list += ['Width : <ValueError>']
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11389, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11389, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11389, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11389, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11389, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11389, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11388
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11390
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11390, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11391
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11391, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_Height_ValueError) != (0)) __PYX_ERR(0, 11391, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11391, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":11388
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11392
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11393
 *                 str_list += ['Height : <ValueError>']
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Format_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11393, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11393, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Format, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11393, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11393, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11393, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11393, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11392
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11394
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11394, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11395
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11395, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Format_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_Format_ValueError) != (0)) __PYX_ERR(0, 11395, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11395, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":11392
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11396
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11397
 *                 str_list += ['Format : <ValueError>']
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_NumChannels_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11397, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11397, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_NumChannels, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11397, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11397, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11397, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11397, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11396
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11398
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11398, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11399
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11399, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_NumChannels_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_NumChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_NumChannels_ValueError) != (0)) __PYX_ERR(0, 11399, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11399, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":11396
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11400
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11382
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11402
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def Width(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11381
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11403
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def Width(self):
 *         return self._pvt_ptr[0].Width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11405
 *     @property
 *     def Width(self):
 *         return self._pvt_ptr[0].Width             # <<<<<<<<<<<<<<
 *     @Width.setter
 *     def Width(self, size_t Width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11403
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def Width(self):
 *         return self._pvt_ptr[0].Width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.Width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11406
 *     def Width(self):
 *         return self._pvt_ptr[0].Width
 *     @Width.setter             # <<<<<<<<<<<<<<
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Width) {
  size_t __pyx_v_Width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Width); {
    __pyx_v_Width = __Pyx_PyLong_As_size_t(__pyx_arg_Width); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11407, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.Width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), ((size_t)__pyx_v_Width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11408
 *     @Width.setter
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).Width = __pyx_v_Width;

  /* "cuda/bindings/driver.pyx":11406
 *     def Width(self):
 *         return self._pvt_ptr[0].Width
 *     @Width.setter             # <<<<<<<<<<<<<<
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11409
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11411
 *     @property
 *     def Height(self):
 *         return self._pvt_ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11409
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11412
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height) {
  size_t __pyx_v_Height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Height); {
    __pyx_v_Height = __Pyx_PyLong_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11413, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), ((size_t)__pyx_v_Height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11414
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height             # <<<<<<<<<<<<<<
 *     @property
 *     def Format(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/bindings/driver.pyx":11412
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11415
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11417
 *     @property
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).Format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 11417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":11418
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
 *     @Format.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11417
 *     @property
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
*/
  }

  /* "cuda/bindings/driver.pyx":11419
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]             # <<<<<<<<<<<<<<
 *     @Format.setter
 *     def Format(self, Format not None : CUarray_format):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).Format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11415
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.Format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11420
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
 *     @Format.setter             # <<<<<<<<<<<<<<
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_Format); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_Format) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_Format) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "Format"); __PYX_ERR(0, 11421, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), ((PyObject *)__pyx_v_Format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, PyObject *__pyx_v_Format) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUarray_format __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11422
 *     @Format.setter
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def NumChannels(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_Format, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).Format = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":11420
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
 *     @Format.setter             # <<<<<<<<<<<<<<
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.Format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11423
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11425
 *     @property
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels             # <<<<<<<<<<<<<<
 *     @NumChannels.setter
 *     def NumChannels(self, unsigned int NumChannels):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).NumChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11423
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.NumChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11426
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels
 *     @NumChannels.setter             # <<<<<<<<<<<<<<
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._pvt_ptr[0].NumChannels = NumChannels
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_NumChannels); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_NumChannels) {
  unsigned int __pyx_v_NumChannels;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_NumChannels); {
    __pyx_v_NumChannels = __Pyx_PyLong_As_unsigned_int(__pyx_arg_NumChannels); if (unlikely((__pyx_v_NumChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11427, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.NumChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), ((unsigned int)__pyx_v_NumChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_NumChannels) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11428
 *     @NumChannels.setter
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._pvt_ptr[0].NumChannels = NumChannels             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).NumChannels = __pyx_v_NumChannels;

  /* "cuda/bindings/driver.pyx":11426
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels
 *     @NumChannels.setter             # <<<<<<<<<<<<<<
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._pvt_ptr[0].NumChannels = NumChannels
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__, "CUDA_ARRAY_DESCRIPTOR_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__, "CUDA_ARRAY_DESCRIPTOR_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11454
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11454, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11454, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11454, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11454, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":11455
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11456
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY3D_DESCRIPTOR_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":11455
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11458
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY3D_DESCRIPTOR_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11454
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11459
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY3D_DESCRIPTOR_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11459, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11459, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11459, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11459, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11459, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11459, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11461
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11463
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr, "CUDA_ARRAY3D_DESCRIPTOR_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11464
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11463
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11465
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11466
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11467
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11468
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11469
 *             str_list = []
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11469, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11468
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11470
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11470, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11471
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11471, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_Width_ValueError) != (0)) __PYX_ERR(0, 11471, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11471, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11468
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11472
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11473
 *                 str_list += ['Width : <ValueError>']
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11473, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11473, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11473, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11473, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11473, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11473, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11472
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11474
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11474, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11475
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11475, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_Height_ValueError) != (0)) __PYX_ERR(0, 11475, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11475, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":11472
 *             except ValueError:
 *                 str_list += ['Width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11476
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11477
 *                 str_list += ['Height : <ValueError>']
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11477, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11477, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Depth, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11477, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11477, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11477, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11477, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11476
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11478
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11478, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11479
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11479, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Depth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_Depth_ValueError) != (0)) __PYX_ERR(0, 11479, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11479, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":11476
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11480
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11481
 *                 str_list += ['Depth : <ValueError>']
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Format_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11481, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11481, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Format, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11481, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11481, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11481, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11481, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11480
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11482
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11482, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11483
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11483, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Format_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_Format_ValueError) != (0)) __PYX_ERR(0, 11483, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11483, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":11480
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11484
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11485
 *                 str_list += ['Format : <ValueError>']
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_NumChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11485, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11485, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_NumChannels, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11485, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11485, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11485, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11485, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11484
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11486
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11486, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11487
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Flags : ' + str(self.Flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11487, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_NumChannels_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_NumChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_NumChannels_ValueError) != (0)) __PYX_ERR(0, 11487, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11487, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":11484
 *             except ValueError:
 *                 str_list += ['Format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11488
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Flags : ' + str(self.Flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11489
 *                 str_list += ['NumChannels : <ValueError>']
 *             try:
 *                 str_list += ['Flags : ' + str(self.Flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['Flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_Flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11489, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11489, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11489, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11489, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11489, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11489, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11488
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Flags : ' + str(self.Flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11490
 *             try:
 *                 str_list += ['Flags : ' + str(self.Flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11490, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11491
 *                 str_list += ['Flags : ' + str(self.Flags)]
 *             except ValueError:
 *                 str_list += ['Flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11491, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_Flags_ValueError) != (0)) __PYX_ERR(0, 11491, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11491, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":11488
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['Flags : ' + str(self.Flags)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11492
 *             except ValueError:
 *                 str_list += ['Flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11466
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11494
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def Width(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11465
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11495
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def Width(self):
 *         return self._pvt_ptr[0].Width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11497
 *     @property
 *     def Width(self):
 *         return self._pvt_ptr[0].Width             # <<<<<<<<<<<<<<
 *     @Width.setter
 *     def Width(self, size_t Width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11495
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def Width(self):
 *         return self._pvt_ptr[0].Width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11498
 *     def Width(self):
 *         return self._pvt_ptr[0].Width
 *     @Width.setter             # <<<<<<<<<<<<<<
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Width) {
  size_t __pyx_v_Width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Width); {
    __pyx_v_Width = __Pyx_PyLong_As_size_t(__pyx_arg_Width); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11499, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), ((size_t)__pyx_v_Width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11500
 *     @Width.setter
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).Width = __pyx_v_Width;

  /* "cuda/bindings/driver.pyx":11498
 *     def Width(self):
 *         return self._pvt_ptr[0].Width
 *     @Width.setter             # <<<<<<<<<<<<<<
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11501
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11503
 *     @property
 *     def Height(self):
 *         return self._pvt_ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11501
 *     def Width(self, size_t Width):
 *         self._pvt_ptr[0].Width = Width
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11504
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height) {
  size_t __pyx_v_Height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Height); {
    __pyx_v_Height = __Pyx_PyLong_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11505, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), ((size_t)__pyx_v_Height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11506
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height             # <<<<<<<<<<<<<<
 *     @property
 *     def Depth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/bindings/driver.pyx":11504
 *     def Height(self):
 *         return self._pvt_ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11507
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11509
 *     @property
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth             # <<<<<<<<<<<<<<
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).Depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11507
 *     def Height(self, size_t Height):
 *         self._pvt_ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11510
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth) {
  size_t __pyx_v_Depth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Depth); {
    __pyx_v_Depth = __Pyx_PyLong_As_size_t(__pyx_arg_Depth); if (unlikely((__pyx_v_Depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11511, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), ((size_t)__pyx_v_Depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Depth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11512
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth             # <<<<<<<<<<<<<<
 *     @property
 *     def Format(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).Depth = __pyx_v_Depth;

  /* "cuda/bindings/driver.pyx":11510
 *     def Depth(self):
 *         return self._pvt_ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11513
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth
 *     @property             # <<<<<<<<<<<<<<
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11515
 *     @property
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).Format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 11515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":11516
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
 *     @Format.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11515
 *     @property
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
*/
  }

  /* "cuda/bindings/driver.pyx":11517
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]             # <<<<<<<<<<<<<<
 *     @Format.setter
 *     def Format(self, Format not None : CUarray_format):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).Format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11513
 *     def Depth(self, size_t Depth):
 *         self._pvt_ptr[0].Depth = Depth
 *     @property             # <<<<<<<<<<<<<<
 *     def Format(self):
 *         if self._pvt_ptr[0].Format not in _dict_CUarray_format:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11518
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
 *     @Format.setter             # <<<<<<<<<<<<<<
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_Format); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_Format) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_Format) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "Format"); __PYX_ERR(0, 11519, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), ((PyObject *)__pyx_v_Format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, PyObject *__pyx_v_Format) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUarray_format __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11520
 *     @Format.setter
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def NumChannels(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_Format, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).Format = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":11518
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].Format]
 *     @Format.setter             # <<<<<<<<<<<<<<
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11521
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11523
 *     @property
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels             # <<<<<<<<<<<<<<
 *     @NumChannels.setter
 *     def NumChannels(self, unsigned int NumChannels):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).NumChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11521
 *     def Format(self, Format not None : CUarray_format):
 *         self._pvt_ptr[0].Format = Format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.NumChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11524
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels
 *     @NumChannels.setter             # <<<<<<<<<<<<<<
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._pvt_ptr[0].NumChannels = NumChannels
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_NumChannels); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_NumChannels) {
  unsigned int __pyx_v_NumChannels;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_NumChannels); {
    __pyx_v_NumChannels = __Pyx_PyLong_As_unsigned_int(__pyx_arg_NumChannels); if (unlikely((__pyx_v_NumChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11525, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.NumChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), ((unsigned int)__pyx_v_NumChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_NumChannels) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11526
 *     @NumChannels.setter
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._pvt_ptr[0].NumChannels = NumChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def Flags(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).NumChannels = __pyx_v_NumChannels;

  /* "cuda/bindings/driver.pyx":11524
 *     def NumChannels(self):
 *         return self._pvt_ptr[0].NumChannels
 *     @NumChannels.setter             # <<<<<<<<<<<<<<
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._pvt_ptr[0].NumChannels = NumChannels
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11527
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._pvt_ptr[0].NumChannels = NumChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def Flags(self):
 *         return self._pvt_ptr[0].Flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11529
 *     @property
 *     def Flags(self):
 *         return self._pvt_ptr[0].Flags             # <<<<<<<<<<<<<<
 *     @Flags.setter
 *     def Flags(self, unsigned int Flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).Flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11527
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._pvt_ptr[0].NumChannels = NumChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def Flags(self):
 *         return self._pvt_ptr[0].Flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11530
 *     def Flags(self):
 *         return self._pvt_ptr[0].Flags
 *     @Flags.setter             # <<<<<<<<<<<<<<
 *     def Flags(self, unsigned int Flags):
 *         self._pvt_ptr[0].Flags = Flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Flags) {
  unsigned int __pyx_v_Flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_Flags); {
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_Flags); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11531, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.Flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), ((unsigned int)__pyx_v_Flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_Flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11532
 *     @Flags.setter
 *     def Flags(self, unsigned int Flags):
 *         self._pvt_ptr[0].Flags = Flags             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct6:
*/
  (__pyx_v_self->_pvt_ptr[0]).Flags = __pyx_v_Flags;

  /* "cuda/bindings/driver.pyx":11530
 *     def Flags(self):
 *         return self._pvt_ptr[0].Flags
 *     @Flags.setter             # <<<<<<<<<<<<<<
 *     def Flags(self, unsigned int Flags):
 *         self._pvt_ptr[0].Flags = Flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__, "CUDA_ARRAY3D_DESCRIPTOR_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__, "CUDA_ARRAY3D_DESCRIPTOR_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11550
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11550, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11550, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11550, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 11550, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11550, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11550, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11550, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11551
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":11550
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11553
 *         self._pvt_ptr = <cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11553, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11553, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11553, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 11553, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11553, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11553, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11553, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11555
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11557
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].tileExtent
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct6_6getPtr, "anon_struct6.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct6_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct6_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11558
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].tileExtent             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).tileExtent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11557
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].tileExtent
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11559
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].tileExtent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11560
 *         return <void_ptr>&self._pvt_ptr[0].tileExtent
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11561
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11562
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11563
 *             str_list = []
 *             try:
 *                 str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11563, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11563, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11563, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11563, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11563, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11563, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11562
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11564
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11564, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11565
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11565, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_width_ValueError) != (0)) __PYX_ERR(0, 11565, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11565, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11562
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11566
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11567
 *                 str_list += ['width : <ValueError>']
 *             try:
 *                 str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11567, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11567, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11567, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11567, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11567, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11567, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11566
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11568
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11568, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11569
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11569, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_height_ValueError) != (0)) __PYX_ERR(0, 11569, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11569, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":11566
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11570
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11571
 *                 str_list += ['height : <ValueError>']
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11571, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11571, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_depth, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11571, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11571, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11571, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11571, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11570
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11572
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11572, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11573
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11573, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_depth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_depth_ValueError) != (0)) __PYX_ERR(0, 11573, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11573, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":11570
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11574
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11560
 *         return <void_ptr>&self._pvt_ptr[0].tileExtent
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11576
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11559
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].tileExtent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11577
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].tileExtent.width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11579
 *     @property
 *     def width(self):
 *         return self._pvt_ptr[0].tileExtent.width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, unsigned int width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).tileExtent.width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11577
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].tileExtent.width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11580
 *     def width(self):
 *         return self._pvt_ptr[0].tileExtent.width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].tileExtent.width = width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  unsigned int __pyx_v_width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_width); {
    __pyx_v_width = __Pyx_PyLong_As_unsigned_int(__pyx_arg_width); if (unlikely((__pyx_v_width == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11581, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self), ((unsigned int)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, unsigned int __pyx_v_width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11582
 *     @width.setter
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].tileExtent.width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).tileExtent.width = __pyx_v_width;

  /* "cuda/bindings/driver.pyx":11580
 *     def width(self):
 *         return self._pvt_ptr[0].tileExtent.width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].tileExtent.width = width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11583
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].tileExtent.width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].tileExtent.height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11585
 *     @property
 *     def height(self):
 *         return self._pvt_ptr[0].tileExtent.height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, unsigned int height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).tileExtent.height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11583
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].tileExtent.width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].tileExtent.height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11586
 *     def height(self):
 *         return self._pvt_ptr[0].tileExtent.height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].tileExtent.height = height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  unsigned int __pyx_v_height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_height); {
    __pyx_v_height = __Pyx_PyLong_As_unsigned_int(__pyx_arg_height); if (unlikely((__pyx_v_height == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11587, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self), ((unsigned int)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, unsigned int __pyx_v_height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11588
 *     @height.setter
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].tileExtent.height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).tileExtent.height = __pyx_v_height;

  /* "cuda/bindings/driver.pyx":11586
 *     def height(self):
 *         return self._pvt_ptr[0].tileExtent.height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].tileExtent.height = height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11589
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].tileExtent.height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._pvt_ptr[0].tileExtent.depth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5depth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5depth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11591
 *     @property
 *     def depth(self):
 *         return self._pvt_ptr[0].tileExtent.depth             # <<<<<<<<<<<<<<
 *     @depth.setter
 *     def depth(self, unsigned int depth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).tileExtent.depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11589
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].tileExtent.height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._pvt_ptr[0].tileExtent.depth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11592
 *     def depth(self):
 *         return self._pvt_ptr[0].tileExtent.depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, unsigned int depth):
 *         self._pvt_ptr[0].tileExtent.depth = depth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth) {
  unsigned int __pyx_v_depth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_depth); {
    __pyx_v_depth = __Pyx_PyLong_As_unsigned_int(__pyx_arg_depth); if (unlikely((__pyx_v_depth == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11593, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5depth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self), ((unsigned int)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_5depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, unsigned int __pyx_v_depth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11594
 *     @depth.setter
 *     def depth(self, unsigned int depth):
 *         self._pvt_ptr[0].tileExtent.depth = depth             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).tileExtent.depth = __pyx_v_depth;

  /* "cuda/bindings/driver.pyx":11592
 *     def depth(self):
 *         return self._pvt_ptr[0].tileExtent.depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, unsigned int depth):
 *         self._pvt_ptr[0].tileExtent.depth = depth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct6_10__reduce_cython__, "anon_struct6.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct6_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct6_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct6_12__setstate_cython__, "anon_struct6.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct6_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct6_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct6_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct6_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct6.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11619
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11619, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11619, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11619, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11619, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11619, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11619, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":11620
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11621
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":11620
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11623
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11619
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11624
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._tileExtent = anon_struct6(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11624, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11624, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11624, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11624, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11624, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11624, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11626
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._tileExtent = anon_struct6(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11626, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11626, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_tileExtent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_tileExtent);
  __pyx_v_self->_tileExtent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11624
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._tileExtent = anon_struct6(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11627
 *         pass
 *         self._tileExtent = anon_struct6(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11629
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr, "CUDA_ARRAY_SPARSE_PROPERTIES_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11630
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11629
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11631
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr146__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11632
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11633
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11634
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11635
 *             str_list = []
 *             try:
 *                 str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['tileExtent : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11635, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_tileExtent_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11635, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11635, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11635, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 11635, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11635, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr146__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr146__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11635, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 11635, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr146__pyx_v_line); __pyx_10genexpr146__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr146__pyx_v_line); __pyx_10genexpr146__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11635, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_tileExtent, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11635, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11635, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11635, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11635, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11634
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":11636
 *             try:
 *                 str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['tileExtent : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 11636, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":11637
 *                 str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             except ValueError:
 *                 str_list += ['tileExtent : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11637, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_tileExtent_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_tileExtent_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_tileExtent_ValueError) != (0)) __PYX_ERR(0, 11637, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 11637, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11634
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11638
 *             except ValueError:
 *                 str_list += ['tileExtent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11639
 *                 str_list += ['tileExtent : <ValueError>']
 *             try:
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['miptailFirstLevel : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_miptailFirstLevel_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11639, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11639, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_miptailFirstLevel, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11639, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11639, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 11639, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11639, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":11638
 *             except ValueError:
 *                 str_list += ['tileExtent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":11640
 *             try:
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailFirstLevel : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 11640, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11641
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             except ValueError:
 *                 str_list += ['miptailFirstLevel : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 11641, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_miptailFirstLevel_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_miptailFirstLevel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_miptailFirstLevel_ValueError) != (0)) __PYX_ERR(0, 11641, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11641, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":11638
 *             except ValueError:
 *                 str_list += ['tileExtent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11642
 *             except ValueError:
 *                 str_list += ['miptailFirstLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11643
 *                 str_list += ['miptailFirstLevel : <ValueError>']
 *             try:
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['miptailSize : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_miptailSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11643, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11643, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_miptailSize, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11643, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11643, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11643, __pyx_L27_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11643, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11642
 *             except ValueError:
 *                 str_list += ['miptailFirstLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":11644
 *             try:
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailSize : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 11644, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":11645
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             except ValueError:
 *                 str_list += ['miptailSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11645, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_miptailSize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_miptailSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_miptailSize_ValueError) != (0)) __PYX_ERR(0, 11645, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 11645, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":11642
 *             except ValueError:
 *                 str_list += ['miptailFirstLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11646
 *             except ValueError:
 *                 str_list += ['miptailSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11647
 *                 str_list += ['miptailSize : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11647, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11647, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11647, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11647, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 11647, __pyx_L35_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11647, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":11646
 *             except ValueError:
 *                 str_list += ['miptailSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":11648
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 11648, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11649
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 11649, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 11649, __pyx_L37_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11649, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":11646
 *             except ValueError:
 *                 str_list += ['miptailSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11650
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11651
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11651, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11651, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11651, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11651, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11651, __pyx_L43_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11651, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11650
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":11652
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 11652, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":11653
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11653, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 11653, __pyx_L45_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 11653, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":11650
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11654
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11632
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11656
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def tileExtent(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11631
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr146__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11657
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def tileExtent(self):
 *         return self._tileExtent
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11659
 *     @property
 *     def tileExtent(self):
 *         return self._tileExtent             # <<<<<<<<<<<<<<
 *     @tileExtent.setter
 *     def tileExtent(self, tileExtent not None : anon_struct6):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_tileExtent);
  __pyx_r = ((PyObject *)__pyx_v_self->_tileExtent);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11657
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def tileExtent(self):
 *         return self._tileExtent
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11660
 *     def tileExtent(self):
 *         return self._tileExtent
 *     @tileExtent.setter             # <<<<<<<<<<<<<<
 *     def tileExtent(self, tileExtent not None : anon_struct6):
 *         string.memcpy(&self._pvt_ptr[0].tileExtent, <cydriver.anon_struct6*><void_ptr>tileExtent.getPtr(), sizeof(self._pvt_ptr[0].tileExtent))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_tileExtent); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_tileExtent) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tileExtent), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6, 0, "tileExtent", 0))) __PYX_ERR(0, 11661, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)__pyx_v_tileExtent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *__pyx_v_tileExtent) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11662
 *     @tileExtent.setter
 *     def tileExtent(self, tileExtent not None : anon_struct6):
 *         string.memcpy(&self._pvt_ptr[0].tileExtent, <cydriver.anon_struct6*><void_ptr>tileExtent.getPtr(), sizeof(self._pvt_ptr[0].tileExtent))             # <<<<<<<<<<<<<<
 *     @property
 *     def miptailFirstLevel(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_tileExtent);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).tileExtent), ((struct anon_struct6 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).tileExtent))));

  /* "cuda/bindings/driver.pyx":11660
 *     def tileExtent(self):
 *         return self._tileExtent
 *     @tileExtent.setter             # <<<<<<<<<<<<<<
 *     def tileExtent(self, tileExtent not None : anon_struct6):
 *         string.memcpy(&self._pvt_ptr[0].tileExtent, <cydriver.anon_struct6*><void_ptr>tileExtent.getPtr(), sizeof(self._pvt_ptr[0].tileExtent))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.tileExtent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11663
 *     def tileExtent(self, tileExtent not None : anon_struct6):
 *         string.memcpy(&self._pvt_ptr[0].tileExtent, <cydriver.anon_struct6*><void_ptr>tileExtent.getPtr(), sizeof(self._pvt_ptr[0].tileExtent))
 *     @property             # <<<<<<<<<<<<<<
 *     def miptailFirstLevel(self):
 *         return self._pvt_ptr[0].miptailFirstLevel
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11665
 *     @property
 *     def miptailFirstLevel(self):
 *         return self._pvt_ptr[0].miptailFirstLevel             # <<<<<<<<<<<<<<
 *     @miptailFirstLevel.setter
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).miptailFirstLevel); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11663
 *     def tileExtent(self, tileExtent not None : anon_struct6):
 *         string.memcpy(&self._pvt_ptr[0].tileExtent, <cydriver.anon_struct6*><void_ptr>tileExtent.getPtr(), sizeof(self._pvt_ptr[0].tileExtent))
 *     @property             # <<<<<<<<<<<<<<
 *     def miptailFirstLevel(self):
 *         return self._pvt_ptr[0].miptailFirstLevel
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.miptailFirstLevel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11666
 *     def miptailFirstLevel(self):
 *         return self._pvt_ptr[0].miptailFirstLevel
 *     @miptailFirstLevel.setter             # <<<<<<<<<<<<<<
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._pvt_ptr[0].miptailFirstLevel = miptailFirstLevel
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailFirstLevel); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailFirstLevel) {
  unsigned int __pyx_v_miptailFirstLevel;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_miptailFirstLevel); {
    __pyx_v_miptailFirstLevel = __Pyx_PyLong_As_unsigned_int(__pyx_arg_miptailFirstLevel); if (unlikely((__pyx_v_miptailFirstLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11667, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.miptailFirstLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), ((unsigned int)__pyx_v_miptailFirstLevel));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned int __pyx_v_miptailFirstLevel) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11668
 *     @miptailFirstLevel.setter
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._pvt_ptr[0].miptailFirstLevel = miptailFirstLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def miptailSize(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).miptailFirstLevel = __pyx_v_miptailFirstLevel;

  /* "cuda/bindings/driver.pyx":11666
 *     def miptailFirstLevel(self):
 *         return self._pvt_ptr[0].miptailFirstLevel
 *     @miptailFirstLevel.setter             # <<<<<<<<<<<<<<
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._pvt_ptr[0].miptailFirstLevel = miptailFirstLevel
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11669
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._pvt_ptr[0].miptailFirstLevel = miptailFirstLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def miptailSize(self):
 *         return self._pvt_ptr[0].miptailSize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11671
 *     @property
 *     def miptailSize(self):
 *         return self._pvt_ptr[0].miptailSize             # <<<<<<<<<<<<<<
 *     @miptailSize.setter
 *     def miptailSize(self, unsigned long long miptailSize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).miptailSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11669
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._pvt_ptr[0].miptailFirstLevel = miptailFirstLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def miptailSize(self):
 *         return self._pvt_ptr[0].miptailSize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.miptailSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11672
 *     def miptailSize(self):
 *         return self._pvt_ptr[0].miptailSize
 *     @miptailSize.setter             # <<<<<<<<<<<<<<
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._pvt_ptr[0].miptailSize = miptailSize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailSize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailSize) {
  unsigned PY_LONG_LONG __pyx_v_miptailSize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_miptailSize); {
    __pyx_v_miptailSize = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_miptailSize); if (unlikely((__pyx_v_miptailSize == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11673, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.miptailSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_miptailSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_miptailSize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11674
 *     @miptailSize.setter
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._pvt_ptr[0].miptailSize = miptailSize             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).miptailSize = __pyx_v_miptailSize;

  /* "cuda/bindings/driver.pyx":11672
 *     def miptailSize(self):
 *         return self._pvt_ptr[0].miptailSize
 *     @miptailSize.setter             # <<<<<<<<<<<<<<
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._pvt_ptr[0].miptailSize = miptailSize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11675
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._pvt_ptr[0].miptailSize = miptailSize
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11677
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11675
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._pvt_ptr[0].miptailSize = miptailSize
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11678
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11679, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11680
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":11678
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11681
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11683
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11681
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11684
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":11686
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 4) < 0))) __PYX_ERR(0, 11686, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (4));

  /* "cuda/bindings/driver.pyx":11684
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__, "CUDA_ARRAY_SPARSE_PROPERTIES_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__, "CUDA_ARRAY_SPARSE_PROPERTIES_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11706
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11706, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11706, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11706, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11706, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11706, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11706, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":11707
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11708
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":11707
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11710
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11706
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11711
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11711, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11711, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11711, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11711, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11711, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 11711, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11713
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11715
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr, "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11716
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11715
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11717
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11718
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11719
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11720
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11721
 *             str_list = []
 *             try:
 *                 str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11721, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11721, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11721, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11721, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11721, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11721, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11720
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11722
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11722, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11723
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['alignment : ' + str(self.alignment)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11723, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_size_ValueError) != (0)) __PYX_ERR(0, 11723, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11723, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11720
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11724
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alignment : ' + str(self.alignment)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11725
 *                 str_list += ['size : <ValueError>']
 *             try:
 *                 str_list += ['alignment : ' + str(self.alignment)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['alignment : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_alignment_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11725, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11725, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_alignment, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11725, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11725, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11725, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11725, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11724
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alignment : ' + str(self.alignment)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11726
 *             try:
 *                 str_list += ['alignment : ' + str(self.alignment)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alignment : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11726, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11727
 *                 str_list += ['alignment : ' + str(self.alignment)]
 *             except ValueError:
 *                 str_list += ['alignment : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11727, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_alignment_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_alignment_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_alignment_ValueError) != (0)) __PYX_ERR(0, 11727, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11727, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":11724
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alignment : ' + str(self.alignment)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11728
 *             except ValueError:
 *                 str_list += ['alignment : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11729
 *                 str_list += ['alignment : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11729, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11729, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11729, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11729, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11729, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11729, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11728
 *             except ValueError:
 *                 str_list += ['alignment : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11730
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11730, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11731
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11731, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 11731, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11731, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":11728
 *             except ValueError:
 *                 str_list += ['alignment : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11732
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11718
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11734
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11717
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11735
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11737
 *     @property
 *     def size(self):
 *         return self._pvt_ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, size_t size):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11735
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11738
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  size_t __pyx_v_size;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyLong_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11739, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), ((size_t)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, size_t __pyx_v_size) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11740
 *     @size.setter
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def alignment(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).size = __pyx_v_size;

  /* "cuda/bindings/driver.pyx":11738
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11741
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def alignment(self):
 *         return self._pvt_ptr[0].alignment
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11743
 *     @property
 *     def alignment(self):
 *         return self._pvt_ptr[0].alignment             # <<<<<<<<<<<<<<
 *     @alignment.setter
 *     def alignment(self, size_t alignment):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).alignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11741
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def alignment(self):
 *         return self._pvt_ptr[0].alignment
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.alignment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11744
 *     def alignment(self):
 *         return self._pvt_ptr[0].alignment
 *     @alignment.setter             # <<<<<<<<<<<<<<
 *     def alignment(self, size_t alignment):
 *         self._pvt_ptr[0].alignment = alignment
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_alignment); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_alignment) {
  size_t __pyx_v_alignment;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_alignment); {
    __pyx_v_alignment = __Pyx_PyLong_As_size_t(__pyx_arg_alignment); if (unlikely((__pyx_v_alignment == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11745, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.alignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), ((size_t)__pyx_v_alignment));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, size_t __pyx_v_alignment) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11746
 *     @alignment.setter
 *     def alignment(self, size_t alignment):
 *         self._pvt_ptr[0].alignment = alignment             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).alignment = __pyx_v_alignment;

  /* "cuda/bindings/driver.pyx":11744
 *     def alignment(self):
 *         return self._pvt_ptr[0].alignment
 *     @alignment.setter             # <<<<<<<<<<<<<<
 *     def alignment(self, size_t alignment):
 *         self._pvt_ptr[0].alignment = alignment
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11747
 *     def alignment(self, size_t alignment):
 *         self._pvt_ptr[0].alignment = alignment
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11749
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11747
 *     def alignment(self, size_t alignment):
 *         self._pvt_ptr[0].alignment = alignment
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11750
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":11752
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct7:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 4) < 0))) __PYX_ERR(0, 11752, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (4));

  /* "cuda/bindings/driver.pyx":11750
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__, "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__, "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11766
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11766, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11766, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11766, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 11766, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11766, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11766, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11766, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct7___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct7___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11767
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":11766
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11769
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._hArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].res.array.hArray)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11769, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11769, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11769, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 11769, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11769, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11769, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11769, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11771
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._hArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].res.array.hArray)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.array.hArray))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11771, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11771, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hArray);
  __pyx_v_self->_hArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11769
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._hArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].res.array.hArray)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11772
 *         pass
 *         self._hArray = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].res.array.hArray)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11774
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.array
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct7_6getPtr, "anon_struct7.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct7_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct7_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11775
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.array             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.array))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11774
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.array
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11776
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.array
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11777
 *         return <void_ptr>&self._pvt_ptr[0].res.array
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11778
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hArray : ' + str(self.hArray)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11779
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hArray : ' + str(self.hArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11780
 *             str_list = []
 *             try:
 *                 str_list += ['hArray : ' + str(self.hArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11780, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11780, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_hArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11780, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11780, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11780, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11780, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11779
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hArray : ' + str(self.hArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11781
 *             try:
 *                 str_list += ['hArray : ' + str(self.hArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hArray : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11781, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11782
 *                 str_list += ['hArray : ' + str(self.hArray)]
 *             except ValueError:
 *                 str_list += ['hArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11782, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_hArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_hArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_hArray_ValueError) != (0)) __PYX_ERR(0, 11782, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11782, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11779
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hArray : ' + str(self.hArray)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11783
 *             except ValueError:
 *                 str_list += ['hArray : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11777
 *         return <void_ptr>&self._pvt_ptr[0].res.array
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11785
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def hArray(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11776
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.array
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11786
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def hArray(self):
 *         return self._hArray
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_6hArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_6hArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6hArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6hArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11788
 *     @property
 *     def hArray(self):
 *         return self._hArray             # <<<<<<<<<<<<<<
 *     @hArray.setter
 *     def hArray(self, hArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_hArray);
  __pyx_r = ((PyObject *)__pyx_v_self->_hArray);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11786
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def hArray(self):
 *         return self._hArray
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11789
 *     def hArray(self):
 *         return self._hArray
 *     @hArray.setter             # <<<<<<<<<<<<<<
 *     def hArray(self, hArray):
 *         cdef cydriver.CUarray cyhArray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_6hArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_6hArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6hArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self), ((PyObject *)__pyx_v_hArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_6hArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self, PyObject *__pyx_v_hArray) {
  CUarray __pyx_v_cyhArray;
  PyObject *__pyx_v_phArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11792
 *     def hArray(self, hArray):
 *         cdef cydriver.CUarray cyhArray
 *         if hArray is None:             # <<<<<<<<<<<<<<
 *             cyhArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11793
 *         cdef cydriver.CUarray cyhArray
 *         if hArray is None:
 *             cyhArray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hArray, (CUarray,)):
 *             phArray = int(hArray)
*/
    __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11792
 *     def hArray(self, hArray):
 *         cdef cydriver.CUarray cyhArray
 *         if hArray is None:             # <<<<<<<<<<<<<<
 *             cyhArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11794
 *         if hArray is None:
 *             cyhArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             phArray = int(hArray)
 *             cyhArray = <cydriver.CUarray><void_ptr>phArray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11795
 *             cyhArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):
 *             phArray = int(hArray)             # <<<<<<<<<<<<<<
 *             cyhArray = <cydriver.CUarray><void_ptr>phArray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11796
 *         elif isinstance(hArray, (CUarray,)):
 *             phArray = int(hArray)
 *             cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *         else:
 *             phArray = int(CUarray(hArray))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11796, __pyx_L1_error)
    __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11794
 *         if hArray is None:
 *             cyhArray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             phArray = int(hArray)
 *             cyhArray = <cydriver.CUarray><void_ptr>phArray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11798
 *             cyhArray = <cydriver.CUarray><void_ptr>phArray
 *         else:
 *             phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *             cyhArray = <cydriver.CUarray><void_ptr>phArray
 *         self._hArray._pvt_ptr[0] = cyhArray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11798, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11799
 *         else:
 *             phArray = int(CUarray(hArray))
 *             cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *         self._hArray._pvt_ptr[0] = cyhArray
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11799, __pyx_L1_error)
    __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11800
 *             phArray = int(CUarray(hArray))
 *             cyhArray = <cydriver.CUarray><void_ptr>phArray
 *         self._hArray._pvt_ptr[0] = cyhArray             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct8:
*/
  (__pyx_v_self->_hArray->_pvt_ptr[0]) = __pyx_v_cyhArray;

  /* "cuda/bindings/driver.pyx":11789
 *     def hArray(self):
 *         return self._hArray
 *     @hArray.setter             # <<<<<<<<<<<<<<
 *     def hArray(self, hArray):
 *         cdef cydriver.CUarray cyhArray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.hArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct7_10__reduce_cython__, "anon_struct7.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct7_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct7_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct7_12__setstate_cython__, "anon_struct7.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct7_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct7_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct7_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct7_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct7.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11814
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11814, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11814, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11814, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 11814, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11814, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11814, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11814, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct8___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct8___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11815
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":11814
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11817
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._hMipmappedArray = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].res.mipmap.hMipmappedArray)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11817, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11817, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11817, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 11817, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11817, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11817, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11817, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11819
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._hMipmappedArray = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].res.mipmap.hMipmappedArray)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.mipmap.hMipmappedArray))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11819, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11819, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hMipmappedArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hMipmappedArray);
  __pyx_v_self->_hMipmappedArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11817
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._hMipmappedArray = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].res.mipmap.hMipmappedArray)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11820
 *         pass
 *         self._hMipmappedArray = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].res.mipmap.hMipmappedArray)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11822
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.mipmap
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct8_6getPtr, "anon_struct8.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct8_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct8_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11823
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.mipmap             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.mipmap))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11822
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.mipmap
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11824
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.mipmap
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11825
 *         return <void_ptr>&self._pvt_ptr[0].res.mipmap
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11826
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11827
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11828
 *             str_list = []
 *             try:
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hMipmappedArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hMipmappedArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11828, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11828, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_hMipmappedArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11828, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11828, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11828, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11828, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11827
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11829
 *             try:
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hMipmappedArray : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11829, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11830
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]
 *             except ValueError:
 *                 str_list += ['hMipmappedArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11830, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_hMipmappedArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_hMipmappedArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_hMipmappedArray_ValueError) != (0)) __PYX_ERR(0, 11830, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11830, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11827
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11831
 *             except ValueError:
 *                 str_list += ['hMipmappedArray : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11825
 *         return <void_ptr>&self._pvt_ptr[0].res.mipmap
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11833
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def hMipmappedArray(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11824
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.mipmap
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11834
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11836
 *     @property
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray             # <<<<<<<<<<<<<<
 *     @hMipmappedArray.setter
 *     def hMipmappedArray(self, hMipmappedArray):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_hMipmappedArray);
  __pyx_r = ((PyObject *)__pyx_v_self->_hMipmappedArray);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11834
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11837
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray
 *     @hMipmappedArray.setter             # <<<<<<<<<<<<<<
 *     def hMipmappedArray(self, hMipmappedArray):
 *         cdef cydriver.CUmipmappedArray cyhMipmappedArray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hMipmappedArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hMipmappedArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self), ((PyObject *)__pyx_v_hMipmappedArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self, PyObject *__pyx_v_hMipmappedArray) {
  CUmipmappedArray __pyx_v_cyhMipmappedArray;
  PyObject *__pyx_v_phMipmappedArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11840
 *     def hMipmappedArray(self, hMipmappedArray):
 *         cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *         if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
  __pyx_t_1 = (__pyx_v_hMipmappedArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11841
 *         cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *         if hMipmappedArray is None:
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *             phMipmappedArray = int(hMipmappedArray)
*/
    __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11840
 *     def hMipmappedArray(self, hMipmappedArray):
 *         cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *         if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11842
 *         if hMipmappedArray is None:
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *             phMipmappedArray = int(hMipmappedArray)
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hMipmappedArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11843
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *             phMipmappedArray = int(hMipmappedArray)             # <<<<<<<<<<<<<<
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11844
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *             phMipmappedArray = int(hMipmappedArray)
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *         else:
 *             phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11844, __pyx_L1_error)
    __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11842
 *         if hMipmappedArray is None:
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *             phMipmappedArray = int(hMipmappedArray)
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11846
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *         else:
 *             phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *         self._hMipmappedArray._pvt_ptr[0] = cyhMipmappedArray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hMipmappedArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11846, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11847
 *         else:
 *             phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *         self._hMipmappedArray._pvt_ptr[0] = cyhMipmappedArray
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11847, __pyx_L1_error)
    __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11848
 *             phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *             cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *         self._hMipmappedArray._pvt_ptr[0] = cyhMipmappedArray             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct9:
*/
  (__pyx_v_self->_hMipmappedArray->_pvt_ptr[0]) = __pyx_v_cyhMipmappedArray;

  /* "cuda/bindings/driver.pyx":11837
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray
 *     @hMipmappedArray.setter             # <<<<<<<<<<<<<<
 *     def hMipmappedArray(self, hMipmappedArray):
 *         cdef cydriver.CUmipmappedArray cyhMipmappedArray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.hMipmappedArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phMipmappedArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct8_10__reduce_cython__, "anon_struct8.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct8_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct8_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct8_12__setstate_cython__, "anon_struct8.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct8_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct8_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct8_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct8_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct8.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11868
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11868, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11868, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11868, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 11868, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11868, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11868, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11868, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11869
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":11868
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11871
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].res.linear.devPtr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11871, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11871, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11871, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 11871, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11871, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11871, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11871, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11873
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].res.linear.devPtr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.linear.devPtr))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11873, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11873, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_devPtr);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_devPtr);
  __pyx_v_self->_devPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11871
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].res.linear.devPtr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11874
 *         pass
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].res.linear.devPtr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11876
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.linear
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct9_6getPtr, "anon_struct9.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct9_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct9_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11877
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.linear             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.linear))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11876
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.linear
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11878
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.linear
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11879
 *         return <void_ptr>&self._pvt_ptr[0].res.linear
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11880
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11881
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11882
 *             str_list = []
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_devPtr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11882, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11882, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_devPtr, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11882, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11882, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11882, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11882, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11881
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11883
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11883, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11884
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11884, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_devPtr_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_devPtr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_devPtr_ValueError) != (0)) __PYX_ERR(0, 11884, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11884, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11881
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11885
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11886
 *                 str_list += ['devPtr : <ValueError>']
 *             try:
 *                 str_list += ['format : ' + str(self.format)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11886, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11886, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_format_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11886, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11886, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11886, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11886, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11885
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11887
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11887, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11888
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11888, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_format_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_format_ValueError) != (0)) __PYX_ERR(0, 11888, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11888, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":11885
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11889
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11890
 *                 str_list += ['format : <ValueError>']
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11890, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11890, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numChannels, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11890, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11890, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11890, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11890, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11889
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11891
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11891, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11892
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11892, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numChannels_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_numChannels_ValueError) != (0)) __PYX_ERR(0, 11892, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11892, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":11889
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11893
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11894
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sizeInBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sizeInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11894, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11894, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sizeInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11894, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11894, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11894, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11894, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11893
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11895
 *             try:
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sizeInBytes : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11895, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11896
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             except ValueError:
 *                 str_list += ['sizeInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11896, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sizeInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sizeInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_sizeInBytes_ValueError) != (0)) __PYX_ERR(0, 11896, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11896, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":11893
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11897
 *             except ValueError:
 *                 str_list += ['sizeInBytes : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11879
 *         return <void_ptr>&self._pvt_ptr[0].res.linear
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11899
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def devPtr(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11878
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.linear
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11900
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def devPtr(self):
 *         return self._devPtr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6devPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6devPtr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6devPtr___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6devPtr___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11902
 *     @property
 *     def devPtr(self):
 *         return self._devPtr             # <<<<<<<<<<<<<<
 *     @devPtr.setter
 *     def devPtr(self, devPtr):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_devPtr);
  __pyx_r = ((PyObject *)__pyx_v_self->_devPtr);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11900
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def devPtr(self):
 *         return self._devPtr
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11903
 *     def devPtr(self):
 *         return self._devPtr
 *     @devPtr.setter             # <<<<<<<<<<<<<<
 *     def devPtr(self, devPtr):
 *         cdef cydriver.CUdeviceptr cydevPtr
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6devPtr_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self), ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6devPtr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  CUdeviceptr __pyx_v_cydevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11906
 *     def devPtr(self, devPtr):
 *         cdef cydriver.CUdeviceptr cydevPtr
 *         if devPtr is None:             # <<<<<<<<<<<<<<
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11907
 *         cdef cydriver.CUdeviceptr cydevPtr
 *         if devPtr is None:
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)
*/
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":11906
 *     def devPtr(self, devPtr):
 *         cdef cydriver.CUdeviceptr cydevPtr
 *         if devPtr is None:             # <<<<<<<<<<<<<<
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11908
 *         if devPtr is None:
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdevPtr = int(devPtr)
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11909
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11910
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11910, __pyx_L1_error)
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11908
 *         if devPtr is None:
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdevPtr = int(devPtr)
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11912
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *         self._devPtr._pvt_ptr[0] = cydevPtr
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11912, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":11913
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *         self._devPtr._pvt_ptr[0] = cydevPtr
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11913, __pyx_L1_error)
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11914
 *             pdevPtr = int(CUdeviceptr(devPtr))
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *         self._devPtr._pvt_ptr[0] = cydevPtr             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_devPtr->_pvt_ptr[0]) = __pyx_v_cydevPtr;

  /* "cuda/bindings/driver.pyx":11903
 *     def devPtr(self):
 *         return self._devPtr
 *     @devPtr.setter             # <<<<<<<<<<<<<<
 *     def devPtr(self, devPtr):
 *         cdef cydriver.CUdeviceptr cydevPtr
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.devPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11916
 *         self._devPtr._pvt_ptr[0] = cydevPtr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         if self._pvt_ptr[0].res.linear.format not in _dict_CUarray_format:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6format___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6format___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11918
 *     @property
 *     def format(self):
 *         if self._pvt_ptr[0].res.linear.format not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.linear.format]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).res.linear.format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 11918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":11919
 *     def format(self):
 *         if self._pvt_ptr[0].res.linear.format not in _dict_CUarray_format:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.linear.format]
 *     @format.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11918
 *     @property
 *     def format(self):
 *         if self._pvt_ptr[0].res.linear.format not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.linear.format]
*/
  }

  /* "cuda/bindings/driver.pyx":11920
 *         if self._pvt_ptr[0].res.linear.format not in _dict_CUarray_format:
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.linear.format]             # <<<<<<<<<<<<<<
 *     @format.setter
 *     def format(self, format not None : CUarray_format):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).res.linear.format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11916
 *         self._devPtr._pvt_ptr[0] = cydevPtr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         if self._pvt_ptr[0].res.linear.format not in _dict_CUarray_format:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11921
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.linear.format]
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.linear.format = format.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_format) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "format"); __PYX_ERR(0, 11922, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6format_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self), ((PyObject *)__pyx_v_format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_6format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, PyObject *__pyx_v_format) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUarray_format __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11923
 *     @format.setter
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.linear.format = format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def numChannels(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_format, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11923, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).res.linear.format = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":11921
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.linear.format]
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.linear.format = format.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11924
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.linear.format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.linear.numChannels
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11numChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11numChannels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11numChannels___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11numChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11926
 *     @property
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.linear.numChannels             # <<<<<<<<<<<<<<
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).res.linear.numChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11924
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.linear.format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.linear.numChannels
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.numChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11927
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.linear.numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.linear.numChannels = numChannels
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels) {
  unsigned int __pyx_v_numChannels;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numChannels); {
    __pyx_v_numChannels = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numChannels); if (unlikely((__pyx_v_numChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11928, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11numChannels_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self), ((unsigned int)__pyx_v_numChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11numChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, unsigned int __pyx_v_numChannels) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11929
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.linear.numChannels = numChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def sizeInBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).res.linear.numChannels = __pyx_v_numChannels;

  /* "cuda/bindings/driver.pyx":11927
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.linear.numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.linear.numChannels = numChannels
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11930
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.linear.numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def sizeInBytes(self):
 *         return self._pvt_ptr[0].res.linear.sizeInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":11932
 *     @property
 *     def sizeInBytes(self):
 *         return self._pvt_ptr[0].res.linear.sizeInBytes             # <<<<<<<<<<<<<<
 *     @sizeInBytes.setter
 *     def sizeInBytes(self, size_t sizeInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).res.linear.sizeInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11930
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.linear.numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def sizeInBytes(self):
 *         return self._pvt_ptr[0].res.linear.sizeInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.sizeInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11933
 *     def sizeInBytes(self):
 *         return self._pvt_ptr[0].res.linear.sizeInBytes
 *     @sizeInBytes.setter             # <<<<<<<<<<<<<<
 *     def sizeInBytes(self, size_t sizeInBytes):
 *         self._pvt_ptr[0].res.linear.sizeInBytes = sizeInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sizeInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sizeInBytes) {
  size_t __pyx_v_sizeInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_sizeInBytes); {
    __pyx_v_sizeInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_sizeInBytes); if (unlikely((__pyx_v_sizeInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11934, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.sizeInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self), ((size_t)__pyx_v_sizeInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, size_t __pyx_v_sizeInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11935
 *     @sizeInBytes.setter
 *     def sizeInBytes(self, size_t sizeInBytes):
 *         self._pvt_ptr[0].res.linear.sizeInBytes = sizeInBytes             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct10:
*/
  (__pyx_v_self->_pvt_ptr[0]).res.linear.sizeInBytes = __pyx_v_sizeInBytes;

  /* "cuda/bindings/driver.pyx":11933
 *     def sizeInBytes(self):
 *         return self._pvt_ptr[0].res.linear.sizeInBytes
 *     @sizeInBytes.setter             # <<<<<<<<<<<<<<
 *     def sizeInBytes(self, size_t sizeInBytes):
 *         self._pvt_ptr[0].res.linear.sizeInBytes = sizeInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct9_10__reduce_cython__, "anon_struct9.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct9_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct9_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_struct9_12__setstate_cython__, "anon_struct9.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_struct9_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct9_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_struct9_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_struct9_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct9.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11959
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11959, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11959, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 11959, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 11959, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11959, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11959, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11959, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":11960
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":11959
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11962
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].res.pitch2D.devPtr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 11962, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11962, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 11962, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 11962, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 11962, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11962, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 11962, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11964
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].res.pitch2D.devPtr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.pitch2D.devPtr))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11964, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11964, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_devPtr);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_devPtr);
  __pyx_v_self->_devPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":11962
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].res.pitch2D.devPtr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11965
 *         pass
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].res.pitch2D.devPtr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":11967
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.pitch2D
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct10_6getPtr, "anon_struct10.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct10_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct10_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":11968
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.pitch2D             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.pitch2D))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11967
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.pitch2D
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11969
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.pitch2D
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11970
 *         return <void_ptr>&self._pvt_ptr[0].res.pitch2D
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":11971
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11972
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11973
 *             str_list = []
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_devPtr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11973, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11973, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_devPtr, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11973, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11973, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11973, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11973, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11972
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":11974
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11974, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11975
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11975, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_devPtr_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_devPtr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_devPtr_ValueError) != (0)) __PYX_ERR(0, 11975, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11975, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":11972
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11976
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11977
 *                 str_list += ['devPtr : <ValueError>']
 *             try:
 *                 str_list += ['format : ' + str(self.format)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11977, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11977, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_format_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11977, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11977, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11977, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11977, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11976
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11978
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11978, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11979
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11979, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_format_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_format_ValueError) != (0)) __PYX_ERR(0, 11979, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11979, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":11976
 *             except ValueError:
 *                 str_list += ['devPtr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11980
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11981
 *                 str_list += ['format : <ValueError>']
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11981, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11981, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numChannels, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11981, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11981, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11981, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11981, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11980
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11982
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11982, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11983
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11983, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numChannels_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_numChannels_ValueError) != (0)) __PYX_ERR(0, 11983, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11983, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":11980
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11984
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11985
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
 *                 str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_width_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11985, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11985, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11985, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11985, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11985, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11985, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11984
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11986
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11986, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11987
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11987, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_width_ValueError) != (0)) __PYX_ERR(0, 11987, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11987, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":11984
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11988
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11989
 *                 str_list += ['width : <ValueError>']
 *             try:
 *                 str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11989, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11989, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11989, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11989, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 11989, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11989, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":11988
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11990
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 11990, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11991
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11991, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_height_ValueError) != (0)) __PYX_ERR(0, 11991, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11991, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":11988
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11992
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":11993
 *                 str_list += ['height : <ValueError>']
 *             try:
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pitchInBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pitchInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11993, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11993, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pitchInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11993, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11993, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 11993, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11993, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":11992
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":11994
 *             try:
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitchInBytes : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 11994, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11995
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             except ValueError:
 *                 str_list += ['pitchInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11995, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pitchInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pitchInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_pitchInBytes_ValueError) != (0)) __PYX_ERR(0, 11995, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11995, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":11992
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":11996
 *             except ValueError:
 *                 str_list += ['pitchInBytes : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11970
 *         return <void_ptr>&self._pvt_ptr[0].res.pitch2D
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11998
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def devPtr(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":11969
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.pitch2D
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11999
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def devPtr(self):
 *         return self._devPtr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6devPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6devPtr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6devPtr___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6devPtr___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12001
 *     @property
 *     def devPtr(self):
 *         return self._devPtr             # <<<<<<<<<<<<<<
 *     @devPtr.setter
 *     def devPtr(self, devPtr):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_devPtr);
  __pyx_r = ((PyObject *)__pyx_v_self->_devPtr);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11999
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def devPtr(self):
 *         return self._devPtr
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12002
 *     def devPtr(self):
 *         return self._devPtr
 *     @devPtr.setter             # <<<<<<<<<<<<<<
 *     def devPtr(self, devPtr):
 *         cdef cydriver.CUdeviceptr cydevPtr
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6devPtr_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6devPtr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  CUdeviceptr __pyx_v_cydevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12005
 *     def devPtr(self, devPtr):
 *         cdef cydriver.CUdeviceptr cydevPtr
 *         if devPtr is None:             # <<<<<<<<<<<<<<
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12006
 *         cdef cydriver.CUdeviceptr cydevPtr
 *         if devPtr is None:
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)
*/
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":12005
 *     def devPtr(self, devPtr):
 *         cdef cydriver.CUdeviceptr cydevPtr
 *         if devPtr is None:             # <<<<<<<<<<<<<<
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12007
 *         if devPtr is None:
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdevPtr = int(devPtr)
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12008
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12009
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12009, __pyx_L1_error)
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":12007
 *         if devPtr is None:
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdevPtr = int(devPtr)
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12011
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *         self._devPtr._pvt_ptr[0] = cydevPtr
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12011, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":12012
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *         self._devPtr._pvt_ptr[0] = cydevPtr
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12012, __pyx_L1_error)
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12013
 *             pdevPtr = int(CUdeviceptr(devPtr))
 *             cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *         self._devPtr._pvt_ptr[0] = cydevPtr             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_devPtr->_pvt_ptr[0]) = __pyx_v_cydevPtr;

  /* "cuda/bindings/driver.pyx":12002
 *     def devPtr(self):
 *         return self._devPtr
 *     @devPtr.setter             # <<<<<<<<<<<<<<
 *     def devPtr(self, devPtr):
 *         cdef cydriver.CUdeviceptr cydevPtr
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.devPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12015
 *         self._devPtr._pvt_ptr[0] = cydevPtr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         if self._pvt_ptr[0].res.pitch2D.format not in _dict_CUarray_format:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6format___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6format___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12017
 *     @property
 *     def format(self):
 *         if self._pvt_ptr[0].res.pitch2D.format not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.pitch2D.format]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).res.pitch2D.format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 12017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":12018
 *     def format(self):
 *         if self._pvt_ptr[0].res.pitch2D.format not in _dict_CUarray_format:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.pitch2D.format]
 *     @format.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12017
 *     @property
 *     def format(self):
 *         if self._pvt_ptr[0].res.pitch2D.format not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.pitch2D.format]
*/
  }

  /* "cuda/bindings/driver.pyx":12019
 *         if self._pvt_ptr[0].res.pitch2D.format not in _dict_CUarray_format:
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.pitch2D.format]             # <<<<<<<<<<<<<<
 *     @format.setter
 *     def format(self, format not None : CUarray_format):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).res.pitch2D.format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12015
 *         self._devPtr._pvt_ptr[0] = cydevPtr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         if self._pvt_ptr[0].res.pitch2D.format not in _dict_CUarray_format:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12020
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.pitch2D.format]
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.pitch2D.format = format.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_format) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "format"); __PYX_ERR(0, 12021, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6format_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), ((PyObject *)__pyx_v_format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, PyObject *__pyx_v_format) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUarray_format __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12022
 *     @format.setter
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.pitch2D.format = format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def numChannels(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_format, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).res.pitch2D.format = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":12020
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].res.pitch2D.format]
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.pitch2D.format = format.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12023
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.pitch2D.format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.pitch2D.numChannels
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11numChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11numChannels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_11numChannels___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_11numChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12025
 *     @property
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.pitch2D.numChannels             # <<<<<<<<<<<<<<
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).res.pitch2D.numChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12023
 *     def format(self, format not None : CUarray_format):
 *         self._pvt_ptr[0].res.pitch2D.format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.pitch2D.numChannels
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.numChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12026
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.pitch2D.numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.pitch2D.numChannels = numChannels
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels) {
  unsigned int __pyx_v_numChannels;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numChannels); {
    __pyx_v_numChannels = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numChannels); if (unlikely((__pyx_v_numChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12027, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_11numChannels_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), ((unsigned int)__pyx_v_numChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_11numChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, unsigned int __pyx_v_numChannels) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12028
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.pitch2D.numChannels = numChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).res.pitch2D.numChannels = __pyx_v_numChannels;

  /* "cuda/bindings/driver.pyx":12026
 *     def numChannels(self):
 *         return self._pvt_ptr[0].res.pitch2D.numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.pitch2D.numChannels = numChannels
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12029
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.pitch2D.numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].res.pitch2D.width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_5width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12031
 *     @property
 *     def width(self):
 *         return self._pvt_ptr[0].res.pitch2D.width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).res.pitch2D.width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12029
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].res.pitch2D.numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].res.pitch2D.width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12032
 *     def width(self):
 *         return self._pvt_ptr[0].res.pitch2D.width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].res.pitch2D.width = width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_width); {
    __pyx_v_width = __Pyx_PyLong_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 12033, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_5width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12034
 *     @width.setter
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].res.pitch2D.width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).res.pitch2D.width = __pyx_v_width;

  /* "cuda/bindings/driver.pyx":12032
 *     def width(self):
 *         return self._pvt_ptr[0].res.pitch2D.width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].res.pitch2D.width = width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12035
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].res.pitch2D.width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].res.pitch2D.height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12037
 *     @property
 *     def height(self):
 *         return self._pvt_ptr[0].res.pitch2D.height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).res.pitch2D.height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12035
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].res.pitch2D.width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].res.pitch2D.height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12038
 *     def height(self):
 *         return self._pvt_ptr[0].res.pitch2D.height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].res.pitch2D.height = height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_height); {
    __pyx_v_height = __Pyx_PyLong_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 12039, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12040
 *     @height.setter
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].res.pitch2D.height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def pitchInBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).res.pitch2D.height = __pyx_v_height;

  /* "cuda/bindings/driver.pyx":12038
 *     def height(self):
 *         return self._pvt_ptr[0].res.pitch2D.height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].res.pitch2D.height = height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12041
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].res.pitch2D.height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def pitchInBytes(self):
 *         return self._pvt_ptr[0].res.pitch2D.pitchInBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12043
 *     @property
 *     def pitchInBytes(self):
 *         return self._pvt_ptr[0].res.pitch2D.pitchInBytes             # <<<<<<<<<<<<<<
 *     @pitchInBytes.setter
 *     def pitchInBytes(self, size_t pitchInBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).res.pitch2D.pitchInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12041
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].res.pitch2D.height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def pitchInBytes(self):
 *         return self._pvt_ptr[0].res.pitch2D.pitchInBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.pitchInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12044
 *     def pitchInBytes(self):
 *         return self._pvt_ptr[0].res.pitch2D.pitchInBytes
 *     @pitchInBytes.setter             # <<<<<<<<<<<<<<
 *     def pitchInBytes(self, size_t pitchInBytes):
 *         self._pvt_ptr[0].res.pitch2D.pitchInBytes = pitchInBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitchInBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitchInBytes) {
  size_t __pyx_v_pitchInBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_pitchInBytes); {
    __pyx_v_pitchInBytes = __Pyx_PyLong_As_size_t(__pyx_arg_pitchInBytes); if (unlikely((__pyx_v_pitchInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 12045, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.pitchInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), ((size_t)__pyx_v_pitchInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, size_t __pyx_v_pitchInBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12046
 *     @pitchInBytes.setter
 *     def pitchInBytes(self, size_t pitchInBytes):
 *         self._pvt_ptr[0].res.pitch2D.pitchInBytes = pitchInBytes             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct11:
*/
  (__pyx_v_self->_pvt_ptr[0]).res.pitch2D.pitchInBytes = __pyx_v_pitchInBytes;

  /* "cuda/bindings/driver.pyx":12044
 *     def pitchInBytes(self):
 *         return self._pvt_ptr[0].res.pitch2D.pitchInBytes
 *     @pitchInBytes.setter             # <<<<<<<<<<<<<<
 *     def pitchInBytes(self, size_t pitchInBytes):
 *         self._pvt_ptr[0].res.pitch2D.pitchInBytes = pitchInBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct10_10__reduce_cython__, "anon_struct10.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct10_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct10_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct10_12__setstate_cython__, "anon_struct10.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct10_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct10_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct10_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct10.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12060
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12060, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12060, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12060, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 12060, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12060, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12060, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12060, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct11___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct11___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12061
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":12060
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12063
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12063, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12063, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12063, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 12063, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12063, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12063, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12063, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12065
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12067
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.reserved
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct11_6getPtr, "anon_struct11.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct11_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct11_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12068
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.reserved             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res.reserved))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12067
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.reserved
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12069
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.reserved
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12070
 *         return <void_ptr>&self._pvt_ptr[0].res.reserved
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12071
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12072
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12073
 *             str_list = []
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12073, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12073, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12073, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12073, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12073, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12073, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12072
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12074
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12074, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12075
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12075, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 12075, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12075, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12072
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12076
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12070
 *         return <void_ptr>&self._pvt_ptr[0].res.reserved
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12078
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12069
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res.reserved
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12079
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].res.reserved.reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12081
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].res.reserved.reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_pvt_ptr[0]).res.reserved.reserved, 32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12079
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].res.reserved.reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12082
 *     def reserved(self):
 *         return self._pvt_ptr[0].res.reserved.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].res.reserved.reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  int __pyx_t_1[32];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":12084
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].res.reserved.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union4:
*/
  if (unlikely((__Pyx_carray_from_py_int(__pyx_v_reserved, __pyx_t_1, 32) < 0))) __PYX_ERR(0, 12084, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).res.reserved.reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).res.reserved.reserved[0]) * (32));

  /* "cuda/bindings/driver.pyx":12082
 *     def reserved(self):
 *         return self._pvt_ptr[0].res.reserved.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].res.reserved.reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct11_10__reduce_cython__, "anon_struct11.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct11_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct11_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct11_12__setstate_cython__, "anon_struct11.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct11_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct11_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct11_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct11_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct11.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12106
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12106, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12106, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12106, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 12106, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12106, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12106, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12106, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12107
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":12106
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12109
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._array = anon_struct7(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12109, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12109, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12109, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 12109, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12109, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12109, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12109, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12111
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._array = anon_struct7(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._mipmap = anon_struct8(_ptr=<void_ptr>self._pvt_ptr)
 *         self._linear = anon_struct9(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12111, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12111, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_array);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_array);
  __pyx_v_self->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12112
 *         pass
 *         self._array = anon_struct7(_ptr=<void_ptr>self._pvt_ptr)
 *         self._mipmap = anon_struct8(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._linear = anon_struct9(_ptr=<void_ptr>self._pvt_ptr)
 *         self._pitch2D = anon_struct10(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12112, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12112, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_mipmap);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_mipmap);
  __pyx_v_self->_mipmap = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12113
 *         self._array = anon_struct7(_ptr=<void_ptr>self._pvt_ptr)
 *         self._mipmap = anon_struct8(_ptr=<void_ptr>self._pvt_ptr)
 *         self._linear = anon_struct9(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._pitch2D = anon_struct10(_ptr=<void_ptr>self._pvt_ptr)
 *         self._reserved = anon_struct11(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12113, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12113, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_linear);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_linear);
  __pyx_v_self->_linear = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12114
 *         self._mipmap = anon_struct8(_ptr=<void_ptr>self._pvt_ptr)
 *         self._linear = anon_struct9(_ptr=<void_ptr>self._pvt_ptr)
 *         self._pitch2D = anon_struct10(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._reserved = anon_struct11(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12114, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12114, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_pitch2D);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_pitch2D);
  __pyx_v_self->_pitch2D = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12115
 *         self._linear = anon_struct9(_ptr=<void_ptr>self._pvt_ptr)
 *         self._pitch2D = anon_struct10(_ptr=<void_ptr>self._pvt_ptr)
 *         self._reserved = anon_struct11(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12115, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12115, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_reserved);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_reserved);
  __pyx_v_self->_reserved = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12109
 *         self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._array = anon_struct7(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12116
 *         self._pitch2D = anon_struct10(_ptr=<void_ptr>self._pvt_ptr)
 *         self._reserved = anon_struct11(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union4_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union4_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11anon_union4_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11anon_union4_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12118
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union4_6getPtr, "anon_union4.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union4_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union4_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union4_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12119
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).res))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12118
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12120
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr147__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr148__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr149__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr150__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr151__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12121
 *         return <void_ptr>&self._pvt_ptr[0].res
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12122
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12123
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12124
 *             str_list = []
 *             try:
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12124, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_array_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12124, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12124, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12124, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12124, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12124, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr147__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr147__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12124, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12124, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr147__pyx_v_line); __pyx_10genexpr147__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr147__pyx_v_line); __pyx_10genexpr147__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12124, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_array, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12124, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12124, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12124, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12124, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12123
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":12125
 *             try:
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 12125, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12126
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12126, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_array_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_array_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_array_ValueError) != (0)) __PYX_ERR(0, 12126, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12126, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12123
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12127
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12128
 *                 str_list += ['array : <ValueError>']
 *             try:
 *                 str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12128, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_mipmap_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12128, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12128, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12128, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12128, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12128, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr148__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr148__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12128, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 12128, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr148__pyx_v_line); __pyx_10genexpr148__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr148__pyx_v_line); __pyx_10genexpr148__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12128, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_mipmap, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12128, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12128, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 12128, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12128, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":12127
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":12129
 *             try:
 *                 str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 12129, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":12130
 *                 str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12130, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_mipmap_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_mipmap_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_mipmap_ValueError) != (0)) __PYX_ERR(0, 12130, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12130, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":12127
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12131
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12132
 *                 str_list += ['mipmap : <ValueError>']
 *             try:
 *                 str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['linear : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12132, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_linear_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12132, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12132, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12132, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12132, __pyx_L42_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12132, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr149__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr149__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12132, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 12132, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr149__pyx_v_line); __pyx_10genexpr149__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_10genexpr149__pyx_v_line); __pyx_10genexpr149__pyx_v_line = 0;
          goto __pyx_L34_error;
          __pyx_L46_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12132, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_linear, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12132, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12132, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 12132, __pyx_L34_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12132, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":12131
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L39_try_end;
      __pyx_L34_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":12133
 *             try:
 *                 str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['linear : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12133, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12134
 *                 str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             except ValueError:
 *                 str_list += ['linear : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12134, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_linear_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_linear_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_linear_ValueError) != (0)) __PYX_ERR(0, 12134, __pyx_L36_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12134, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L35_exception_handled;
      }
      goto __pyx_L36_except_error;

      /* "cuda/bindings/driver.pyx":12131
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             except ValueError:
*/
      __pyx_L36_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L35_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L39_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12135
 *             except ValueError:
 *                 str_list += ['linear : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12136
 *                 str_list += ['linear : <ValueError>']
 *             try:
 *                 str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pitch2D : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12136, __pyx_L57_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pitch2D_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12136, __pyx_L57_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12136, __pyx_L57_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12136, __pyx_L57_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12136, __pyx_L57_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12136, __pyx_L57_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr150__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr150__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12136, __pyx_L57_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12136, __pyx_L57_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr150__pyx_v_line); __pyx_10genexpr150__pyx_v_line = 0;
          goto __pyx_L61_exit_scope;
          __pyx_L57_error:;
          __Pyx_XDECREF(__pyx_10genexpr150__pyx_v_line); __pyx_10genexpr150__pyx_v_line = 0;
          goto __pyx_L49_error;
          __pyx_L61_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12136, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pitch2D, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12136, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12136, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12136, __pyx_L49_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12136, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12135
 *             except ValueError:
 *                 str_list += ['linear : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L54_try_end;
      __pyx_L49_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":12137
 *             try:
 *                 str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch2D : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 12137, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12138
 *                 str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 *             except ValueError:
 *                 str_list += ['pitch2D : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved :\n' + '\n'.join(['    ' + line for line in str(self.reserved).splitlines()])]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12138, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pitch2D_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pitch2D_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_pitch2D_ValueError) != (0)) __PYX_ERR(0, 12138, __pyx_L51_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12138, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L50_exception_handled;
      }
      goto __pyx_L51_except_error;

      /* "cuda/bindings/driver.pyx":12135
 *             except ValueError:
 *                 str_list += ['linear : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 *             except ValueError:
*/
      __pyx_L51_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L50_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L54_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12139
 *             except ValueError:
 *                 str_list += ['pitch2D : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved :\n' + '\n'.join(['    ' + line for line in str(self.reserved).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12140
 *                 str_list += ['pitch2D : <ValueError>']
 *             try:
 *                 str_list += ['reserved :\n' + '\n'.join(['    ' + line for line in str(self.reserved).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12140, __pyx_L72_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12140, __pyx_L72_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12140, __pyx_L72_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12140, __pyx_L72_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12140, __pyx_L72_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12140, __pyx_L72_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr151__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr151__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12140, __pyx_L72_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 12140, __pyx_L72_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr151__pyx_v_line); __pyx_10genexpr151__pyx_v_line = 0;
          goto __pyx_L76_exit_scope;
          __pyx_L72_error:;
          __Pyx_XDECREF(__pyx_10genexpr151__pyx_v_line); __pyx_10genexpr151__pyx_v_line = 0;
          goto __pyx_L64_error;
          __pyx_L76_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12140, __pyx_L64_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12140, __pyx_L64_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12140, __pyx_L64_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 12140, __pyx_L64_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12140, __pyx_L64_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":12139
 *             except ValueError:
 *                 str_list += ['pitch2D : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved :\n' + '\n'.join(['    ' + line for line in str(self.reserved).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L69_try_end;
      __pyx_L64_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":12141
 *             try:
 *                 str_list += ['reserved :\n' + '\n'.join(['    ' + line for line in str(self.reserved).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 12141, __pyx_L66_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":12142
 *                 str_list += ['reserved :\n' + '\n'.join(['    ' + line for line in str(self.reserved).splitlines()])]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12142, __pyx_L66_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 12142, __pyx_L66_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12142, __pyx_L66_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L65_exception_handled;
      }
      goto __pyx_L66_except_error;

      /* "cuda/bindings/driver.pyx":12139
 *             except ValueError:
 *                 str_list += ['pitch2D : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved :\n' + '\n'.join(['    ' + line for line in str(self.reserved).splitlines()])]
 *             except ValueError:
*/
      __pyx_L66_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L65_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L69_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12143
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12121
 *         return <void_ptr>&self._pvt_ptr[0].res
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12145
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def array(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12120
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr147__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr148__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr149__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr150__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr151__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12146
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_5array_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_5array_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_5array___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_5array___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12148
 *     @property
 *     def array(self):
 *         return self._array             # <<<<<<<<<<<<<<
 *     @array.setter
 *     def array(self, array not None : anon_struct7):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_array);
  __pyx_r = ((PyObject *)__pyx_v_self->_array);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12146
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12149
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array not None : anon_struct7):
 *         string.memcpy(&self._pvt_ptr[0].res.array, <cydriver.anon_struct7*><void_ptr>array.getPtr(), sizeof(self._pvt_ptr[0].res.array))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_array), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7, 0, "array", 0))) __PYX_ERR(0, 12150, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_5array_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)__pyx_v_array));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_5array_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *__pyx_v_array) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12151
 *     @array.setter
 *     def array(self, array not None : anon_struct7):
 *         string.memcpy(&self._pvt_ptr[0].res.array, <cydriver.anon_struct7*><void_ptr>array.getPtr(), sizeof(self._pvt_ptr[0].res.array))             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmap(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_array);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).res.array), ((struct anon_struct7 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).res.array))));

  /* "cuda/bindings/driver.pyx":12149
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array not None : anon_struct7):
 *         string.memcpy(&self._pvt_ptr[0].res.array, <cydriver.anon_struct7*><void_ptr>array.getPtr(), sizeof(self._pvt_ptr[0].res.array))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.array.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12152
 *     def array(self, array not None : anon_struct7):
 *         string.memcpy(&self._pvt_ptr[0].res.array, <cydriver.anon_struct7*><void_ptr>array.getPtr(), sizeof(self._pvt_ptr[0].res.array))
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmap(self):
 *         return self._mipmap
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_6mipmap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_6mipmap_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6mipmap___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_6mipmap___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12154
 *     @property
 *     def mipmap(self):
 *         return self._mipmap             # <<<<<<<<<<<<<<
 *     @mipmap.setter
 *     def mipmap(self, mipmap not None : anon_struct8):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_mipmap);
  __pyx_r = ((PyObject *)__pyx_v_self->_mipmap);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12152
 *     def array(self, array not None : anon_struct7):
 *         string.memcpy(&self._pvt_ptr[0].res.array, <cydriver.anon_struct7*><void_ptr>array.getPtr(), sizeof(self._pvt_ptr[0].res.array))
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmap(self):
 *         return self._mipmap
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12155
 *     def mipmap(self):
 *         return self._mipmap
 *     @mipmap.setter             # <<<<<<<<<<<<<<
 *     def mipmap(self, mipmap not None : anon_struct8):
 *         string.memcpy(&self._pvt_ptr[0].res.mipmap, <cydriver.anon_struct8*><void_ptr>mipmap.getPtr(), sizeof(self._pvt_ptr[0].res.mipmap))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mipmap), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8, 0, "mipmap", 0))) __PYX_ERR(0, 12156, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6mipmap_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)__pyx_v_mipmap));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6mipmap_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *__pyx_v_mipmap) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12157
 *     @mipmap.setter
 *     def mipmap(self, mipmap not None : anon_struct8):
 *         string.memcpy(&self._pvt_ptr[0].res.mipmap, <cydriver.anon_struct8*><void_ptr>mipmap.getPtr(), sizeof(self._pvt_ptr[0].res.mipmap))             # <<<<<<<<<<<<<<
 *     @property
 *     def linear(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_mipmap);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).res.mipmap), ((struct anon_struct8 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).res.mipmap))));

  /* "cuda/bindings/driver.pyx":12155
 *     def mipmap(self):
 *         return self._mipmap
 *     @mipmap.setter             # <<<<<<<<<<<<<<
 *     def mipmap(self, mipmap not None : anon_struct8):
 *         string.memcpy(&self._pvt_ptr[0].res.mipmap, <cydriver.anon_struct8*><void_ptr>mipmap.getPtr(), sizeof(self._pvt_ptr[0].res.mipmap))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.mipmap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12158
 *     def mipmap(self, mipmap not None : anon_struct8):
 *         string.memcpy(&self._pvt_ptr[0].res.mipmap, <cydriver.anon_struct8*><void_ptr>mipmap.getPtr(), sizeof(self._pvt_ptr[0].res.mipmap))
 *     @property             # <<<<<<<<<<<<<<
 *     def linear(self):
 *         return self._linear
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_6linear_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_6linear_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6linear___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_6linear___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12160
 *     @property
 *     def linear(self):
 *         return self._linear             # <<<<<<<<<<<<<<
 *     @linear.setter
 *     def linear(self, linear not None : anon_struct9):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_linear);
  __pyx_r = ((PyObject *)__pyx_v_self->_linear);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12158
 *     def mipmap(self, mipmap not None : anon_struct8):
 *         string.memcpy(&self._pvt_ptr[0].res.mipmap, <cydriver.anon_struct8*><void_ptr>mipmap.getPtr(), sizeof(self._pvt_ptr[0].res.mipmap))
 *     @property             # <<<<<<<<<<<<<<
 *     def linear(self):
 *         return self._linear
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12161
 *     def linear(self):
 *         return self._linear
 *     @linear.setter             # <<<<<<<<<<<<<<
 *     def linear(self, linear not None : anon_struct9):
 *         string.memcpy(&self._pvt_ptr[0].res.linear, <cydriver.anon_struct9*><void_ptr>linear.getPtr(), sizeof(self._pvt_ptr[0].res.linear))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_6linear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_linear); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_6linear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_linear) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_linear), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9, 0, "linear", 0))) __PYX_ERR(0, 12162, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6linear_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)__pyx_v_linear));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_6linear_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *__pyx_v_linear) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12163
 *     @linear.setter
 *     def linear(self, linear not None : anon_struct9):
 *         string.memcpy(&self._pvt_ptr[0].res.linear, <cydriver.anon_struct9*><void_ptr>linear.getPtr(), sizeof(self._pvt_ptr[0].res.linear))             # <<<<<<<<<<<<<<
 *     @property
 *     def pitch2D(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_linear);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).res.linear), ((struct anon_struct9 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).res.linear))));

  /* "cuda/bindings/driver.pyx":12161
 *     def linear(self):
 *         return self._linear
 *     @linear.setter             # <<<<<<<<<<<<<<
 *     def linear(self, linear not None : anon_struct9):
 *         string.memcpy(&self._pvt_ptr[0].res.linear, <cydriver.anon_struct9*><void_ptr>linear.getPtr(), sizeof(self._pvt_ptr[0].res.linear))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.linear.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12164
 *     def linear(self, linear not None : anon_struct9):
 *         string.memcpy(&self._pvt_ptr[0].res.linear, <cydriver.anon_struct9*><void_ptr>linear.getPtr(), sizeof(self._pvt_ptr[0].res.linear))
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch2D(self):
 *         return self._pitch2D
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_7pitch2D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_7pitch2D_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_7pitch2D___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_7pitch2D___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12166
 *     @property
 *     def pitch2D(self):
 *         return self._pitch2D             # <<<<<<<<<<<<<<
 *     @pitch2D.setter
 *     def pitch2D(self, pitch2D not None : anon_struct10):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_pitch2D);
  __pyx_r = ((PyObject *)__pyx_v_self->_pitch2D);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12164
 *     def linear(self, linear not None : anon_struct9):
 *         string.memcpy(&self._pvt_ptr[0].res.linear, <cydriver.anon_struct9*><void_ptr>linear.getPtr(), sizeof(self._pvt_ptr[0].res.linear))
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch2D(self):
 *         return self._pitch2D
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12167
 *     def pitch2D(self):
 *         return self._pitch2D
 *     @pitch2D.setter             # <<<<<<<<<<<<<<
 *     def pitch2D(self, pitch2D not None : anon_struct10):
 *         string.memcpy(&self._pvt_ptr[0].res.pitch2D, <cydriver.anon_struct10*><void_ptr>pitch2D.getPtr(), sizeof(self._pvt_ptr[0].res.pitch2D))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_7pitch2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pitch2D); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_7pitch2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pitch2D) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pitch2D), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10, 0, "pitch2D", 0))) __PYX_ERR(0, 12168, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_7pitch2D_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)__pyx_v_pitch2D));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_7pitch2D_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *__pyx_v_pitch2D) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12169
 *     @pitch2D.setter
 *     def pitch2D(self, pitch2D not None : anon_struct10):
 *         string.memcpy(&self._pvt_ptr[0].res.pitch2D, <cydriver.anon_struct10*><void_ptr>pitch2D.getPtr(), sizeof(self._pvt_ptr[0].res.pitch2D))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_pitch2D);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).res.pitch2D), ((struct anon_struct10 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).res.pitch2D))));

  /* "cuda/bindings/driver.pyx":12167
 *     def pitch2D(self):
 *         return self._pitch2D
 *     @pitch2D.setter             # <<<<<<<<<<<<<<
 *     def pitch2D(self, pitch2D not None : anon_struct10):
 *         string.memcpy(&self._pvt_ptr[0].res.pitch2D, <cydriver.anon_struct10*><void_ptr>pitch2D.getPtr(), sizeof(self._pvt_ptr[0].res.pitch2D))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.pitch2D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12170
 *     def pitch2D(self, pitch2D not None : anon_struct10):
 *         string.memcpy(&self._pvt_ptr[0].res.pitch2D, <cydriver.anon_struct10*><void_ptr>pitch2D.getPtr(), sizeof(self._pvt_ptr[0].res.pitch2D))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12172
 *     @property
 *     def reserved(self):
 *         return self._reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved not None : anon_struct11):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_reserved);
  __pyx_r = ((PyObject *)__pyx_v_self->_reserved);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12170
 *     def pitch2D(self, pitch2D not None : anon_struct10):
 *         string.memcpy(&self._pvt_ptr[0].res.pitch2D, <cydriver.anon_struct10*><void_ptr>pitch2D.getPtr(), sizeof(self._pvt_ptr[0].res.pitch2D))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._reserved
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12173
 *     def reserved(self):
 *         return self._reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved not None : anon_struct11):
 *         string.memcpy(&self._pvt_ptr[0].res.reserved, <cydriver.anon_struct11*><void_ptr>reserved.getPtr(), sizeof(self._pvt_ptr[0].res.reserved))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union4_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_reserved), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11, 0, "reserved", 0))) __PYX_ERR(0, 12174, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)__pyx_v_reserved));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union4_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12175
 *     @reserved.setter
 *     def reserved(self, reserved not None : anon_struct11):
 *         string.memcpy(&self._pvt_ptr[0].res.reserved, <cydriver.anon_struct11*><void_ptr>reserved.getPtr(), sizeof(self._pvt_ptr[0].res.reserved))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_RESOURCE_DESC_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_reserved);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).res.reserved), ((struct anon_struct11 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).res.reserved))));

  /* "cuda/bindings/driver.pyx":12173
 *     def reserved(self):
 *         return self._reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved not None : anon_struct11):
 *         string.memcpy(&self._pvt_ptr[0].res.reserved, <cydriver.anon_struct11*><void_ptr>reserved.getPtr(), sizeof(self._pvt_ptr[0].res.reserved))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union4_10__reduce_cython__, "anon_union4.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union4_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union4_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union4_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union4_12__setstate_cython__, "anon_union4.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union4_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union4_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union4_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union4_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union4_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union4_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12195
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_RESOURCE_DESC_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12195, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12195, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12195, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12195, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12195, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12195, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUDA_RESOURCE_DESC_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":12196
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_RESOURCE_DESC_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12197
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_RESOURCE_DESC_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUDA_RESOURCE_DESC_st *)calloc(1, (sizeof(struct CUDA_RESOURCE_DESC_st))));

    /* "cuda/bindings/driver.pyx":12198
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_RESOURCE_DESC_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":12196
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_RESOURCE_DESC_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12200
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12195
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_RESOURCE_DESC_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12201
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._res = anon_union4(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12201, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12201, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12201, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12201, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12201, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12201, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12203
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._res = anon_union4(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union4);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union4); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12203, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12203, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_res);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_res);
  __pyx_v_self->_res = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12201
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_RESOURCE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._res = anon_union4(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12204
 *         pass
 *         self._res = anon_union4(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":12205
 *         self._res = anon_union4(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12206
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":12205
 *         self._res = anon_union4(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":12204
 *         pass
 *         self._res = anon_union4(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12207
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_6getPtr, "CUDA_RESOURCE_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12208
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12207
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12209
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr152__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12210
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12211
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['resType : ' + str(self.resType)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12212
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resType : ' + str(self.resType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12213
 *             str_list = []
 *             try:
 *                 str_list += ['resType : ' + str(self.resType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['resType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_resType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12213, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12213, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_resType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12213, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12213, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12213, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12213, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12212
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resType : ' + str(self.resType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12214
 *             try:
 *                 str_list += ['resType : ' + str(self.resType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['resType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12214, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12215
 *                 str_list += ['resType : ' + str(self.resType)]
 *             except ValueError:
 *                 str_list += ['resType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12215, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_resType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_resType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_resType_ValueError) != (0)) __PYX_ERR(0, 12215, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12215, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12212
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resType : ' + str(self.resType)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12216
 *             except ValueError:
 *                 str_list += ['resType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12217
 *                 str_list += ['resType : <ValueError>']
 *             try:
 *                 str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['res : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12217, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_res_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12217, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12217, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12217, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12217, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12217, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr152__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr152__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12217, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12217, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr152__pyx_v_line); __pyx_10genexpr152__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr152__pyx_v_line); __pyx_10genexpr152__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12217, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_res, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12217, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12217, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12217, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12217, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12216
 *             except ValueError:
 *                 str_list += ['resType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12218
 *             try:
 *                 str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['res : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 12218, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12219
 *                 str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 *             except ValueError:
 *                 str_list += ['res : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12219, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_res_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_res_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_res_ValueError) != (0)) __PYX_ERR(0, 12219, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12219, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":12216
 *             except ValueError:
 *                 str_list += ['resType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12220
 *             except ValueError:
 *                 str_list += ['res : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12221
 *                 str_list += ['res : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12221, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12221, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12221, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12221, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 12221, __pyx_L27_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12221, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":12220
 *             except ValueError:
 *                 str_list += ['res : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12222
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 12222, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12223
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12223, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 12223, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12223, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":12220
 *             except ValueError:
 *                 str_list += ['res : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12224
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12210
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12226
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def resType(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12209
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr152__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12227
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def resType(self):
 *         if self._pvt_ptr[0].resType not in _dict_CUresourcetype:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12229
 *     @property
 *     def resType(self):
 *         if self._pvt_ptr[0].resType not in _dict_CUresourcetype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUresourcetype_enum((__pyx_v_self->_pvt_ptr[0]).resType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresourcetype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 12229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":12230
 *     def resType(self):
 *         if self._pvt_ptr[0].resType not in _dict_CUresourcetype:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resType]
 *     @resType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12229
 *     @property
 *     def resType(self):
 *         if self._pvt_ptr[0].resType not in _dict_CUresourcetype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resType]
*/
  }

  /* "cuda/bindings/driver.pyx":12231
 *         if self._pvt_ptr[0].resType not in _dict_CUresourcetype:
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resType]             # <<<<<<<<<<<<<<
 *     @resType.setter
 *     def resType(self, resType not None : CUresourcetype):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresourcetype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUresourcetype_enum((__pyx_v_self->_pvt_ptr[0]).resType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12227
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def resType(self):
 *         if self._pvt_ptr[0].resType not in _dict_CUresourcetype:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.resType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12232
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resType]
 *     @resType.setter             # <<<<<<<<<<<<<<
 *     def resType(self, resType not None : CUresourcetype):
 *         self._pvt_ptr[0].resType = resType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_resType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "resType"); __PYX_ERR(0, 12233, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_resType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, PyObject *__pyx_v_resType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresourcetype __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12234
 *     @resType.setter
 *     def resType(self, resType not None : CUresourcetype):
 *         self._pvt_ptr[0].resType = resType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def res(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_resType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUresourcetype_enum)__Pyx_PyLong_As_enum__CUresourcetype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).resType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":12232
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resType]
 *     @resType.setter             # <<<<<<<<<<<<<<
 *     def resType(self, resType not None : CUresourcetype):
 *         self._pvt_ptr[0].resType = resType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.resType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12235
 *     def resType(self, resType not None : CUresourcetype):
 *         self._pvt_ptr[0].resType = resType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def res(self):
 *         return self._res
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12237
 *     @property
 *     def res(self):
 *         return self._res             # <<<<<<<<<<<<<<
 *     @res.setter
 *     def res(self, res not None : anon_union4):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_res);
  __pyx_r = ((PyObject *)__pyx_v_self->_res);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12235
 *     def resType(self, resType not None : CUresourcetype):
 *         self._pvt_ptr[0].resType = resType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def res(self):
 *         return self._res
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12238
 *     def res(self):
 *         return self._res
 *     @res.setter             # <<<<<<<<<<<<<<
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._pvt_ptr[0].res, <cydriver.anon_union4*><void_ptr>res.getPtr(), sizeof(self._pvt_ptr[0].res))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_res); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_res) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_res), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union4, 0, "res", 0))) __PYX_ERR(0, 12239, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)__pyx_v_res));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *__pyx_v_res) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12240
 *     @res.setter
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._pvt_ptr[0].res, <cydriver.anon_union4*><void_ptr>res.getPtr(), sizeof(self._pvt_ptr[0].res))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_res);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).res), ((union anon_union4 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).res))));

  /* "cuda/bindings/driver.pyx":12238
 *     def res(self):
 *         return self._res
 *     @res.setter             # <<<<<<<<<<<<<<
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._pvt_ptr[0].res, <cydriver.anon_union4*><void_ptr>res.getPtr(), sizeof(self._pvt_ptr[0].res))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.res.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12241
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._pvt_ptr[0].res, <cydriver.anon_union4*><void_ptr>res.getPtr(), sizeof(self._pvt_ptr[0].res))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12243
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12241
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._pvt_ptr[0].res, <cydriver.anon_union4*><void_ptr>res.getPtr(), sizeof(self._pvt_ptr[0].res))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12244
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12245, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12246
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_TEXTURE_DESC_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":12244
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_10__reduce_cython__, "CUDA_RESOURCE_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_12__setstate_cython__, "CUDA_RESOURCE_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12280
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12280, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12280, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12280, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12280, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12280, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12280, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":12281
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12282
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_TEXTURE_DESC_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":12281
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12284
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_TEXTURE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_TEXTURE_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12280
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12285
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_TEXTURE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12285, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12285, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12285, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12285, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12285, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12285, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12287
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12289
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_6getPtr, "CUDA_TEXTURE_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12290
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12289
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12291
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12292
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12293
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['addressMode : ' + str(self.addressMode)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12294
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['addressMode : ' + str(self.addressMode)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12295
 *             str_list = []
 *             try:
 *                 str_list += ['addressMode : ' + str(self.addressMode)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['addressMode : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_addressMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12295, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12295, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_addressMode, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12295, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12295, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12295, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12295, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12294
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['addressMode : ' + str(self.addressMode)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12296
 *             try:
 *                 str_list += ['addressMode : ' + str(self.addressMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['addressMode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12296, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12297
 *                 str_list += ['addressMode : ' + str(self.addressMode)]
 *             except ValueError:
 *                 str_list += ['addressMode : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['filterMode : ' + str(self.filterMode)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12297, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_addressMode_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_addressMode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_addressMode_ValueError) != (0)) __PYX_ERR(0, 12297, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12297, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12294
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['addressMode : ' + str(self.addressMode)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12298
 *             except ValueError:
 *                 str_list += ['addressMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['filterMode : ' + str(self.filterMode)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12299
 *                 str_list += ['addressMode : <ValueError>']
 *             try:
 *                 str_list += ['filterMode : ' + str(self.filterMode)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['filterMode : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_filterMode_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12299, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12299, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_filterMode, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12299, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12299, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12299, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12299, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12298
 *             except ValueError:
 *                 str_list += ['addressMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['filterMode : ' + str(self.filterMode)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12300
 *             try:
 *                 str_list += ['filterMode : ' + str(self.filterMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['filterMode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12300, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12301
 *                 str_list += ['filterMode : ' + str(self.filterMode)]
 *             except ValueError:
 *                 str_list += ['filterMode : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12301, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_filterMode_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_filterMode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_filterMode_ValueError) != (0)) __PYX_ERR(0, 12301, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12301, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":12298
 *             except ValueError:
 *                 str_list += ['addressMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['filterMode : ' + str(self.filterMode)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12302
 *             except ValueError:
 *                 str_list += ['filterMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12303
 *                 str_list += ['filterMode : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12303, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12303, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12303, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12303, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12303, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12303, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12302
 *             except ValueError:
 *                 str_list += ['filterMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12304
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12304, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12305
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12305, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 12305, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12305, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":12302
 *             except ValueError:
 *                 str_list += ['filterMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12306
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12307
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['maxAnisotropy : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_maxAnisotropy_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12307, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12307, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_maxAnisotropy, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12307, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12307, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12307, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12307, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12306
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12308
 *             try:
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxAnisotropy : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12308, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12309
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             except ValueError:
 *                 str_list += ['maxAnisotropy : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12309, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_maxAnisotropy_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_maxAnisotropy_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_maxAnisotropy_ValueError) != (0)) __PYX_ERR(0, 12309, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12309, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":12306
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12310
 *             except ValueError:
 *                 str_list += ['maxAnisotropy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12311
 *                 str_list += ['maxAnisotropy : <ValueError>']
 *             try:
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['mipmapFilterMode : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_mipmapFilterMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12311, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12311, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_mipmapFilterMode, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12311, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12311, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12311, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12311, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12310
 *             except ValueError:
 *                 str_list += ['maxAnisotropy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12312
 *             try:
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapFilterMode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12312, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12313
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             except ValueError:
 *                 str_list += ['mipmapFilterMode : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12313, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_mipmapFilterMode_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_mipmapFilterMode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_mipmapFilterMode_ValueError) != (0)) __PYX_ERR(0, 12313, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12313, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":12310
 *             except ValueError:
 *                 str_list += ['maxAnisotropy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12314
 *             except ValueError:
 *                 str_list += ['mipmapFilterMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12315
 *                 str_list += ['mipmapFilterMode : <ValueError>']
 *             try:
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['mipmapLevelBias : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_mipmapLevelBias_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12315, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12315, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_mipmapLevelBias, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12315, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12315, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12315, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12315, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12314
 *             except ValueError:
 *                 str_list += ['mipmapFilterMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12316
 *             try:
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapLevelBias : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12316, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12317
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             except ValueError:
 *                 str_list += ['mipmapLevelBias : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12317, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_mipmapLevelBias_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_mipmapLevelBias_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_mipmapLevelBias_ValueError) != (0)) __PYX_ERR(0, 12317, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12317, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":12314
 *             except ValueError:
 *                 str_list += ['mipmapFilterMode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12318
 *             except ValueError:
 *                 str_list += ['mipmapLevelBias : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12319
 *                 str_list += ['mipmapLevelBias : <ValueError>']
 *             try:
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_minMipmapLevelClamp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12319, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12319, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_minMipmapLevelClamp, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12319, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12319, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12319, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12319, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12318
 *             except ValueError:
 *                 str_list += ['mipmapLevelBias : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12320
 *             try:
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12320, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12321
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             except ValueError:
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12321, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_minMipmapLevelClamp_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_minMipmapLevelClamp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_minMipmapLevelClamp_ValueError) != (0)) __PYX_ERR(0, 12321, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12321, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":12318
 *             except ValueError:
 *                 str_list += ['mipmapLevelBias : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12322
 *             except ValueError:
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12323
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']
 *             try:
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_maxMipmapLevelClamp_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12323, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12323, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_maxMipmapLevelClamp, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12323, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12323, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12323, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12323, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12322
 *             except ValueError:
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12324
 *             try:
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12324, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12325
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             except ValueError:
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['borderColor : ' + str(self.borderColor)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12325, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_maxMipmapLevelClamp_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_maxMipmapLevelClamp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_maxMipmapLevelClamp_ValueError) != (0)) __PYX_ERR(0, 12325, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12325, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":12322
 *             except ValueError:
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12326
 *             except ValueError:
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['borderColor : ' + str(self.borderColor)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12327
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']
 *             try:
 *                 str_list += ['borderColor : ' + str(self.borderColor)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['borderColor : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_borderColor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12327, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12327, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_borderColor, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12327, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12327, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12327, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12327, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12326
 *             except ValueError:
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['borderColor : ' + str(self.borderColor)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12328
 *             try:
 *                 str_list += ['borderColor : ' + str(self.borderColor)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['borderColor : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12328, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12329
 *                 str_list += ['borderColor : ' + str(self.borderColor)]
 *             except ValueError:
 *                 str_list += ['borderColor : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12329, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_borderColor_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_borderColor_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_borderColor_ValueError) != (0)) __PYX_ERR(0, 12329, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12329, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":12326
 *             except ValueError:
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['borderColor : ' + str(self.borderColor)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12330
 *             except ValueError:
 *                 str_list += ['borderColor : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12331
 *                 str_list += ['borderColor : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12331, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12331, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12331, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12331, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12331, __pyx_L76_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12331, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12330
 *             except ValueError:
 *                 str_list += ['borderColor : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12332
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12332, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12333
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12333, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 12333, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12333, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":12330
 *             except ValueError:
 *                 str_list += ['borderColor : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12334
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12292
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12336
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def addressMode(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12291
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12337
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def addressMode(self):
 *         return [_dict_CUaddress_mode[_x] if _x in _dict_CUaddress_mode else None for _x in list(self._pvt_ptr[0].addressMode)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_10genexpr153__pyx_v__x = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12339
 *     @property
 *     def addressMode(self):
 *         return [_dict_CUaddress_mode[_x] if _x in _dict_CUaddress_mode else None for _x in list(self._pvt_ptr[0].addressMode)]             # <<<<<<<<<<<<<<
 *     @addressMode.setter
 *     def addressMode(self, addressMode):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12339, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_carray_to_py_CUaddress_mode((__pyx_v_self->_pvt_ptr[0]).addressMode, 3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12339, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PySequence_ListKeepNew(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12339, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12339, __pyx_L5_error)
        #endif
        if (__pyx_t_4 >= __pyx_temp) break;
      }
      __pyx_t_3 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_4);
      ++__pyx_t_4;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12339, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr153__pyx_v__x, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUaddress_mode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12339, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_10genexpr153__pyx_v__x, __pyx_t_5, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 12339, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (__pyx_t_6) {
        __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUaddress_mode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12339, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_10genexpr153__pyx_v__x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12339, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_3 = __pyx_t_7;
        __pyx_t_7 = 0;
      } else {
        __Pyx_INCREF(Py_None);
        __pyx_t_3 = Py_None;
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 12339, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr153__pyx_v__x); __pyx_10genexpr153__pyx_v__x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_10genexpr153__pyx_v__x); __pyx_10genexpr153__pyx_v__x = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12337
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def addressMode(self):
 *         return [_dict_CUaddress_mode[_x] if _x in _dict_CUaddress_mode else None for _x in list(self._pvt_ptr[0].addressMode)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.addressMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_10genexpr153__pyx_v__x);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12340
 *     def addressMode(self):
 *         return [_dict_CUaddress_mode[_x] if _x in _dict_CUaddress_mode else None for _x in list(self._pvt_ptr[0].addressMode)]
 *     @addressMode.setter             # <<<<<<<<<<<<<<
 *     def addressMode(self, addressMode):
 *         self._pvt_ptr[0].addressMode = [_x.value for _x in addressMode]
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_addressMode); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_addressMode) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_addressMode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_addressMode) {
  PyObject *__pyx_10genexpr154__pyx_v__x = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  CUaddress_mode __pyx_t_6[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12342
 *     @addressMode.setter
 *     def addressMode(self, addressMode):
 *         self._pvt_ptr[0].addressMode = [_x.value for _x in addressMode]             # <<<<<<<<<<<<<<
 *     @property
 *     def filterMode(self):
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12342, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_addressMode)) || PyTuple_CheckExact(__pyx_v_addressMode)) {
      __pyx_t_2 = __pyx_v_addressMode; __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = 0;
      __pyx_t_4 = NULL;
    } else {
      __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_addressMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12342, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12342, __pyx_L5_error)
    }
    for (;;) {
      if (likely(!__pyx_t_4)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12342, __pyx_L5_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_3);
          ++__pyx_t_3;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12342, __pyx_L5_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3));
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3);
          #endif
          ++__pyx_t_3;
        }
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12342, __pyx_L5_error)
      } else {
        __pyx_t_5 = __pyx_t_4(__pyx_t_2);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 12342, __pyx_L5_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_10genexpr154__pyx_v__x, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr154__pyx_v__x, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12342, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 12342, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr154__pyx_v__x); __pyx_10genexpr154__pyx_v__x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_10genexpr154__pyx_v__x); __pyx_10genexpr154__pyx_v__x = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  if (unlikely((__Pyx_carray_from_py_CUaddress_mode(__pyx_t_1, __pyx_t_6, 3) < 0))) __PYX_ERR(0, 12342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).addressMode[0]), __pyx_t_6, sizeof((__pyx_v_self->_pvt_ptr[0]).addressMode[0]) * (3));

  /* "cuda/bindings/driver.pyx":12340
 *     def addressMode(self):
 *         return [_dict_CUaddress_mode[_x] if _x in _dict_CUaddress_mode else None for _x in list(self._pvt_ptr[0].addressMode)]
 *     @addressMode.setter             # <<<<<<<<<<<<<<
 *     def addressMode(self, addressMode):
 *         self._pvt_ptr[0].addressMode = [_x.value for _x in addressMode]
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.addressMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_10genexpr154__pyx_v__x);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12343
 *     def addressMode(self, addressMode):
 *         self._pvt_ptr[0].addressMode = [_x.value for _x in addressMode]
 *     @property             # <<<<<<<<<<<<<<
 *     def filterMode(self):
 *         if self._pvt_ptr[0].filterMode not in _dict_CUfilter_mode:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12345
 *     @property
 *     def filterMode(self):
 *         if self._pvt_ptr[0].filterMode not in _dict_CUfilter_mode:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].filterMode]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUfilter_mode_enum((__pyx_v_self->_pvt_ptr[0]).filterMode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUfilter_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 12345, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":12346
 *     def filterMode(self):
 *         if self._pvt_ptr[0].filterMode not in _dict_CUfilter_mode:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].filterMode]
 *     @filterMode.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12345
 *     @property
 *     def filterMode(self):
 *         if self._pvt_ptr[0].filterMode not in _dict_CUfilter_mode:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].filterMode]
*/
  }

  /* "cuda/bindings/driver.pyx":12347
 *         if self._pvt_ptr[0].filterMode not in _dict_CUfilter_mode:
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].filterMode]             # <<<<<<<<<<<<<<
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : CUfilter_mode):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUfilter_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUfilter_mode_enum((__pyx_v_self->_pvt_ptr[0]).filterMode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12343
 *     def addressMode(self, addressMode):
 *         self._pvt_ptr[0].addressMode = [_x.value for _x in addressMode]
 *     @property             # <<<<<<<<<<<<<<
 *     def filterMode(self):
 *         if self._pvt_ptr[0].filterMode not in _dict_CUfilter_mode:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.filterMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12348
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].filterMode]
 *     @filterMode.setter             # <<<<<<<<<<<<<<
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].filterMode = filterMode.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_filterMode); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_filterMode) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_filterMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "filterMode"); __PYX_ERR(0, 12349, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_filterMode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_filterMode) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUfilter_mode __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12350
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].filterMode = filterMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filterMode, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUfilter_mode_enum)__Pyx_PyLong_As_enum__CUfilter_mode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).filterMode = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":12348
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].filterMode]
 *     @filterMode.setter             # <<<<<<<<<<<<<<
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].filterMode = filterMode.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.filterMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12351
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].filterMode = filterMode.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12353
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12351
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].filterMode = filterMode.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12354
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12355, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12356
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def maxAnisotropy(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":12354
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12357
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def maxAnisotropy(self):
 *         return self._pvt_ptr[0].maxAnisotropy
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12359
 *     @property
 *     def maxAnisotropy(self):
 *         return self._pvt_ptr[0].maxAnisotropy             # <<<<<<<<<<<<<<
 *     @maxAnisotropy.setter
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).maxAnisotropy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12357
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def maxAnisotropy(self):
 *         return self._pvt_ptr[0].maxAnisotropy
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.maxAnisotropy.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12360
 *     def maxAnisotropy(self):
 *         return self._pvt_ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter             # <<<<<<<<<<<<<<
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._pvt_ptr[0].maxAnisotropy = maxAnisotropy
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxAnisotropy); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxAnisotropy) {
  unsigned int __pyx_v_maxAnisotropy;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_maxAnisotropy); {
    __pyx_v_maxAnisotropy = __Pyx_PyLong_As_unsigned_int(__pyx_arg_maxAnisotropy); if (unlikely((__pyx_v_maxAnisotropy == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12361, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.maxAnisotropy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_maxAnisotropy));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, unsigned int __pyx_v_maxAnisotropy) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12362
 *     @maxAnisotropy.setter
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._pvt_ptr[0].maxAnisotropy = maxAnisotropy             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmapFilterMode(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).maxAnisotropy = __pyx_v_maxAnisotropy;

  /* "cuda/bindings/driver.pyx":12360
 *     def maxAnisotropy(self):
 *         return self._pvt_ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter             # <<<<<<<<<<<<<<
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._pvt_ptr[0].maxAnisotropy = maxAnisotropy
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12363
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._pvt_ptr[0].maxAnisotropy = maxAnisotropy
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmapFilterMode(self):
 *         if self._pvt_ptr[0].mipmapFilterMode not in _dict_CUfilter_mode:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12365
 *     @property
 *     def mipmapFilterMode(self):
 *         if self._pvt_ptr[0].mipmapFilterMode not in _dict_CUfilter_mode:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].mipmapFilterMode]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUfilter_mode_enum((__pyx_v_self->_pvt_ptr[0]).mipmapFilterMode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUfilter_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 12365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":12366
 *     def mipmapFilterMode(self):
 *         if self._pvt_ptr[0].mipmapFilterMode not in _dict_CUfilter_mode:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].mipmapFilterMode]
 *     @mipmapFilterMode.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12365
 *     @property
 *     def mipmapFilterMode(self):
 *         if self._pvt_ptr[0].mipmapFilterMode not in _dict_CUfilter_mode:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].mipmapFilterMode]
*/
  }

  /* "cuda/bindings/driver.pyx":12367
 *         if self._pvt_ptr[0].mipmapFilterMode not in _dict_CUfilter_mode:
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].mipmapFilterMode]             # <<<<<<<<<<<<<<
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUfilter_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUfilter_mode_enum((__pyx_v_self->_pvt_ptr[0]).mipmapFilterMode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12363
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._pvt_ptr[0].maxAnisotropy = maxAnisotropy
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmapFilterMode(self):
 *         if self._pvt_ptr[0].mipmapFilterMode not in _dict_CUfilter_mode:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.mipmapFilterMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12368
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].mipmapFilterMode]
 *     @mipmapFilterMode.setter             # <<<<<<<<<<<<<<
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].mipmapFilterMode = mipmapFilterMode.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_mipmapFilterMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mipmapFilterMode"); __PYX_ERR(0, 12369, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_mipmapFilterMode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUfilter_mode __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12370
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].mipmapFilterMode = mipmapFilterMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmapLevelBias(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mipmapFilterMode, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUfilter_mode_enum)__Pyx_PyLong_As_enum__CUfilter_mode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).mipmapFilterMode = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":12368
 *             return None
 *         return _dict_CUfilter_mode[self._pvt_ptr[0].mipmapFilterMode]
 *     @mipmapFilterMode.setter             # <<<<<<<<<<<<<<
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].mipmapFilterMode = mipmapFilterMode.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.mipmapFilterMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12371
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].mipmapFilterMode = mipmapFilterMode.value
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmapLevelBias(self):
 *         return self._pvt_ptr[0].mipmapLevelBias
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12373
 *     @property
 *     def mipmapLevelBias(self):
 *         return self._pvt_ptr[0].mipmapLevelBias             # <<<<<<<<<<<<<<
 *     @mipmapLevelBias.setter
 *     def mipmapLevelBias(self, float mipmapLevelBias):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->_pvt_ptr[0]).mipmapLevelBias); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12371
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._pvt_ptr[0].mipmapFilterMode = mipmapFilterMode.value
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmapLevelBias(self):
 *         return self._pvt_ptr[0].mipmapLevelBias
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.mipmapLevelBias.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12374
 *     def mipmapLevelBias(self):
 *         return self._pvt_ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter             # <<<<<<<<<<<<<<
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._pvt_ptr[0].mipmapLevelBias = mipmapLevelBias
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_mipmapLevelBias); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_mipmapLevelBias) {
  float __pyx_v_mipmapLevelBias;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_mipmapLevelBias); {
    __pyx_v_mipmapLevelBias = __Pyx_PyFloat_AsFloat(__pyx_arg_mipmapLevelBias); if (unlikely((__pyx_v_mipmapLevelBias == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 12375, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.mipmapLevelBias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((float)__pyx_v_mipmapLevelBias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_mipmapLevelBias) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12376
 *     @mipmapLevelBias.setter
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._pvt_ptr[0].mipmapLevelBias = mipmapLevelBias             # <<<<<<<<<<<<<<
 *     @property
 *     def minMipmapLevelClamp(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).mipmapLevelBias = __pyx_v_mipmapLevelBias;

  /* "cuda/bindings/driver.pyx":12374
 *     def mipmapLevelBias(self):
 *         return self._pvt_ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter             # <<<<<<<<<<<<<<
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._pvt_ptr[0].mipmapLevelBias = mipmapLevelBias
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12377
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._pvt_ptr[0].mipmapLevelBias = mipmapLevelBias
 *     @property             # <<<<<<<<<<<<<<
 *     def minMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].minMipmapLevelClamp
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12379
 *     @property
 *     def minMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].minMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @minMipmapLevelClamp.setter
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->_pvt_ptr[0]).minMipmapLevelClamp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12377
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._pvt_ptr[0].mipmapLevelBias = mipmapLevelBias
 *     @property             # <<<<<<<<<<<<<<
 *     def minMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].minMipmapLevelClamp
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.minMipmapLevelClamp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12380
 *     def minMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter             # <<<<<<<<<<<<<<
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._pvt_ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minMipmapLevelClamp); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minMipmapLevelClamp) {
  float __pyx_v_minMipmapLevelClamp;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_minMipmapLevelClamp); {
    __pyx_v_minMipmapLevelClamp = __Pyx_PyFloat_AsFloat(__pyx_arg_minMipmapLevelClamp); if (unlikely((__pyx_v_minMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 12381, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.minMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((float)__pyx_v_minMipmapLevelClamp));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_minMipmapLevelClamp) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12382
 *     @minMipmapLevelClamp.setter
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._pvt_ptr[0].minMipmapLevelClamp = minMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @property
 *     def maxMipmapLevelClamp(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).minMipmapLevelClamp = __pyx_v_minMipmapLevelClamp;

  /* "cuda/bindings/driver.pyx":12380
 *     def minMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter             # <<<<<<<<<<<<<<
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._pvt_ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12383
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._pvt_ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 *     @property             # <<<<<<<<<<<<<<
 *     def maxMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].maxMipmapLevelClamp
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12385
 *     @property
 *     def maxMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].maxMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @maxMipmapLevelClamp.setter
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->_pvt_ptr[0]).maxMipmapLevelClamp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12383
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._pvt_ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 *     @property             # <<<<<<<<<<<<<<
 *     def maxMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].maxMipmapLevelClamp
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.maxMipmapLevelClamp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12386
 *     def maxMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter             # <<<<<<<<<<<<<<
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._pvt_ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxMipmapLevelClamp); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxMipmapLevelClamp) {
  float __pyx_v_maxMipmapLevelClamp;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_maxMipmapLevelClamp); {
    __pyx_v_maxMipmapLevelClamp = __Pyx_PyFloat_AsFloat(__pyx_arg_maxMipmapLevelClamp); if (unlikely((__pyx_v_maxMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 12387, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.maxMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((float)__pyx_v_maxMipmapLevelClamp));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_maxMipmapLevelClamp) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12388
 *     @maxMipmapLevelClamp.setter
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._pvt_ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @property
 *     def borderColor(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).maxMipmapLevelClamp = __pyx_v_maxMipmapLevelClamp;

  /* "cuda/bindings/driver.pyx":12386
 *     def maxMipmapLevelClamp(self):
 *         return self._pvt_ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter             # <<<<<<<<<<<<<<
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._pvt_ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12389
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._pvt_ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 *     @property             # <<<<<<<<<<<<<<
 *     def borderColor(self):
 *         return self._pvt_ptr[0].borderColor
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12391
 *     @property
 *     def borderColor(self):
 *         return self._pvt_ptr[0].borderColor             # <<<<<<<<<<<<<<
 *     @borderColor.setter
 *     def borderColor(self, borderColor):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float((__pyx_v_self->_pvt_ptr[0]).borderColor, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12389
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._pvt_ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 *     @property             # <<<<<<<<<<<<<<
 *     def borderColor(self):
 *         return self._pvt_ptr[0].borderColor
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.borderColor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12392
 *     def borderColor(self):
 *         return self._pvt_ptr[0].borderColor
 *     @borderColor.setter             # <<<<<<<<<<<<<<
 *     def borderColor(self, borderColor):
 *         self._pvt_ptr[0].borderColor = borderColor
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_borderColor); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_borderColor) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_borderColor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_borderColor) {
  int __pyx_r;
  float __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":12394
 *     @borderColor.setter
 *     def borderColor(self, borderColor):
 *         self._pvt_ptr[0].borderColor = borderColor             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  if (unlikely((__Pyx_carray_from_py_float(__pyx_v_borderColor, __pyx_t_1, 4) < 0))) __PYX_ERR(0, 12394, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).borderColor[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).borderColor[0]) * (4));

  /* "cuda/bindings/driver.pyx":12392
 *     def borderColor(self):
 *         return self._pvt_ptr[0].borderColor
 *     @borderColor.setter             # <<<<<<<<<<<<<<
 *     def borderColor(self, borderColor):
 *         self._pvt_ptr[0].borderColor = borderColor
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.borderColor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12395
 *     def borderColor(self, borderColor):
 *         self._pvt_ptr[0].borderColor = borderColor
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12397
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_pvt_ptr[0]).reserved, 12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12395
 *     def borderColor(self, borderColor):
 *         self._pvt_ptr[0].borderColor = borderColor
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12398
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  int __pyx_t_1[12];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":12400
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC_st:
*/
  if (unlikely((__Pyx_carray_from_py_int(__pyx_v_reserved, __pyx_t_1, 12) < 0))) __PYX_ERR(0, 12400, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (12));

  /* "cuda/bindings/driver.pyx":12398
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10__reduce_cython__, "CUDA_TEXTURE_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_12__setstate_cython__, "CUDA_TEXTURE_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_TEXTURE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12432
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12432, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12432, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12432, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12432, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12432, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12432, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":12433
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12434
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_RESOURCE_VIEW_DESC_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":12433
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12436
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_RESOURCE_VIEW_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12432
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12437
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_RESOURCE_VIEW_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12437, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12437, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12437, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12437, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12437, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12437, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12439
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12441
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr, "CUDA_RESOURCE_VIEW_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12442
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12441
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12443
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12444
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12445
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12446
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12447
 *             str_list = []
 *             try:
 *                 str_list += ['format : ' + str(self.format)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12447, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12447, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_format_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12447, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12447, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12447, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12447, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12446
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12448
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12448, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12449
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12449, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_format_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_format_ValueError) != (0)) __PYX_ERR(0, 12449, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12449, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12446
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12450
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12451
 *                 str_list += ['format : <ValueError>']
 *             try:
 *                 str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_width_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12451, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12451, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12451, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12451, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12451, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12451, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12450
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12452
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12452, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12453
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12453, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_width_ValueError) != (0)) __PYX_ERR(0, 12453, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12453, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":12450
 *             except ValueError:
 *                 str_list += ['format : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12454
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12455
 *                 str_list += ['width : <ValueError>']
 *             try:
 *                 str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12455, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12455, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12455, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12455, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12455, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12455, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12454
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12456
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12456, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12457
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12457, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_height_ValueError) != (0)) __PYX_ERR(0, 12457, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12457, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":12454
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12458
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12459
 *                 str_list += ['height : <ValueError>']
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_depth_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12459, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12459, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_depth, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12459, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12459, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12459, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12459, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12458
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12460
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12460, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12461
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12461, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_depth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_depth_ValueError) != (0)) __PYX_ERR(0, 12461, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12461, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":12458
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12462
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12463
 *                 str_list += ['depth : <ValueError>']
 *             try:
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['firstMipmapLevel : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_firstMipmapLevel_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12463, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12463, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_firstMipmapLevel, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12463, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12463, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12463, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12463, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12462
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12464
 *             try:
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstMipmapLevel : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12464, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12465
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             except ValueError:
 *                 str_list += ['firstMipmapLevel : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12465, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_firstMipmapLevel_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_firstMipmapLevel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_firstMipmapLevel_ValueError) != (0)) __PYX_ERR(0, 12465, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12465, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":12462
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12466
 *             except ValueError:
 *                 str_list += ['firstMipmapLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12467
 *                 str_list += ['firstMipmapLevel : <ValueError>']
 *             try:
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['lastMipmapLevel : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_lastMipmapLevel_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12467, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12467, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_lastMipmapLevel, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12467, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12467, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12467, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12467, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12466
 *             except ValueError:
 *                 str_list += ['firstMipmapLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12468
 *             try:
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastMipmapLevel : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12468, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12469
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             except ValueError:
 *                 str_list += ['lastMipmapLevel : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12469, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_lastMipmapLevel_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_lastMipmapLevel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_lastMipmapLevel_ValueError) != (0)) __PYX_ERR(0, 12469, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12469, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":12466
 *             except ValueError:
 *                 str_list += ['firstMipmapLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12470
 *             except ValueError:
 *                 str_list += ['lastMipmapLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12471
 *                 str_list += ['lastMipmapLevel : <ValueError>']
 *             try:
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['firstLayer : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_firstLayer_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12471, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12471, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_firstLayer, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12471, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12471, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12471, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12471, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12470
 *             except ValueError:
 *                 str_list += ['lastMipmapLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12472
 *             try:
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstLayer : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12472, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12473
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             except ValueError:
 *                 str_list += ['firstLayer : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12473, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_firstLayer_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_firstLayer_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_firstLayer_ValueError) != (0)) __PYX_ERR(0, 12473, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12473, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":12470
 *             except ValueError:
 *                 str_list += ['lastMipmapLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12474
 *             except ValueError:
 *                 str_list += ['firstLayer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12475
 *                 str_list += ['firstLayer : <ValueError>']
 *             try:
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['lastLayer : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_lastLayer_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12475, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12475, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_lastLayer, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12475, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12475, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12475, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12475, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12474
 *             except ValueError:
 *                 str_list += ['firstLayer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12476
 *             try:
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastLayer : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12476, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12477
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             except ValueError:
 *                 str_list += ['lastLayer : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12477, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_lastLayer_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_lastLayer_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_lastLayer_ValueError) != (0)) __PYX_ERR(0, 12477, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12477, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":12474
 *             except ValueError:
 *                 str_list += ['firstLayer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12478
 *             except ValueError:
 *                 str_list += ['lastLayer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12479
 *                 str_list += ['lastLayer : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12479, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12479, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12479, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12479, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12479, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12479, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12478
 *             except ValueError:
 *                 str_list += ['lastLayer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12480
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12480, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12481
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12481, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 12481, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12481, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":12478
 *             except ValueError:
 *                 str_list += ['lastLayer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12482
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12444
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12484
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def format(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12443
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12485
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         if self._pvt_ptr[0].format not in _dict_CUresourceViewFormat:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12487
 *     @property
 *     def format(self):
 *         if self._pvt_ptr[0].format not in _dict_CUresourceViewFormat:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUresourceViewFormat[self._pvt_ptr[0].format]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum((__pyx_v_self->_pvt_ptr[0]).format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresourceViewFormat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 12487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":12488
 *     def format(self):
 *         if self._pvt_ptr[0].format not in _dict_CUresourceViewFormat:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUresourceViewFormat[self._pvt_ptr[0].format]
 *     @format.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12487
 *     @property
 *     def format(self):
 *         if self._pvt_ptr[0].format not in _dict_CUresourceViewFormat:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUresourceViewFormat[self._pvt_ptr[0].format]
*/
  }

  /* "cuda/bindings/driver.pyx":12489
 *         if self._pvt_ptr[0].format not in _dict_CUresourceViewFormat:
 *             return None
 *         return _dict_CUresourceViewFormat[self._pvt_ptr[0].format]             # <<<<<<<<<<<<<<
 *     @format.setter
 *     def format(self, format not None : CUresourceViewFormat):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresourceViewFormat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum((__pyx_v_self->_pvt_ptr[0]).format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12485
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         if self._pvt_ptr[0].format not in _dict_CUresourceViewFormat:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12490
 *             return None
 *         return _dict_CUresourceViewFormat[self._pvt_ptr[0].format]
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._pvt_ptr[0].format = format.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_format) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "format"); __PYX_ERR(0, 12491, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, PyObject *__pyx_v_format) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresourceViewFormat __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12492
 *     @format.setter
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._pvt_ptr[0].format = format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_format, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUresourceViewFormat_enum)__Pyx_PyLong_As_enum__CUresourceViewFormat_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).format = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":12490
 *             return None
 *         return _dict_CUresourceViewFormat[self._pvt_ptr[0].format]
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._pvt_ptr[0].format = format.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12493
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._pvt_ptr[0].format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12495
 *     @property
 *     def width(self):
 *         return self._pvt_ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12493
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._pvt_ptr[0].format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12496
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_width); {
    __pyx_v_width = __Pyx_PyLong_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 12497, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12498
 *     @width.setter
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).width = __pyx_v_width;

  /* "cuda/bindings/driver.pyx":12496
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12499
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12501
 *     @property
 *     def height(self):
 *         return self._pvt_ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12499
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12502
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_height); {
    __pyx_v_height = __Pyx_PyLong_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 12503, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12504
 *     @height.setter
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).height = __pyx_v_height;

  /* "cuda/bindings/driver.pyx":12502
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12505
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12507
 *     @property
 *     def depth(self):
 *         return self._pvt_ptr[0].depth             # <<<<<<<<<<<<<<
 *     @depth.setter
 *     def depth(self, size_t depth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12505
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12508
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, size_t depth):
 *         self._pvt_ptr[0].depth = depth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth) {
  size_t __pyx_v_depth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_depth); {
    __pyx_v_depth = __Pyx_PyLong_As_size_t(__pyx_arg_depth); if (unlikely((__pyx_v_depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 12509, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((size_t)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_depth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12510
 *     @depth.setter
 *     def depth(self, size_t depth):
 *         self._pvt_ptr[0].depth = depth             # <<<<<<<<<<<<<<
 *     @property
 *     def firstMipmapLevel(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).depth = __pyx_v_depth;

  /* "cuda/bindings/driver.pyx":12508
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, size_t depth):
 *         self._pvt_ptr[0].depth = depth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12511
 *     def depth(self, size_t depth):
 *         self._pvt_ptr[0].depth = depth
 *     @property             # <<<<<<<<<<<<<<
 *     def firstMipmapLevel(self):
 *         return self._pvt_ptr[0].firstMipmapLevel
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12513
 *     @property
 *     def firstMipmapLevel(self):
 *         return self._pvt_ptr[0].firstMipmapLevel             # <<<<<<<<<<<<<<
 *     @firstMipmapLevel.setter
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).firstMipmapLevel); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12511
 *     def depth(self, size_t depth):
 *         self._pvt_ptr[0].depth = depth
 *     @property             # <<<<<<<<<<<<<<
 *     def firstMipmapLevel(self):
 *         return self._pvt_ptr[0].firstMipmapLevel
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.firstMipmapLevel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12514
 *     def firstMipmapLevel(self):
 *         return self._pvt_ptr[0].firstMipmapLevel
 *     @firstMipmapLevel.setter             # <<<<<<<<<<<<<<
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._pvt_ptr[0].firstMipmapLevel = firstMipmapLevel
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstMipmapLevel); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstMipmapLevel) {
  unsigned int __pyx_v_firstMipmapLevel;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_firstMipmapLevel); {
    __pyx_v_firstMipmapLevel = __Pyx_PyLong_As_unsigned_int(__pyx_arg_firstMipmapLevel); if (unlikely((__pyx_v_firstMipmapLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12515, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.firstMipmapLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_firstMipmapLevel));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_firstMipmapLevel) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12516
 *     @firstMipmapLevel.setter
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._pvt_ptr[0].firstMipmapLevel = firstMipmapLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def lastMipmapLevel(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).firstMipmapLevel = __pyx_v_firstMipmapLevel;

  /* "cuda/bindings/driver.pyx":12514
 *     def firstMipmapLevel(self):
 *         return self._pvt_ptr[0].firstMipmapLevel
 *     @firstMipmapLevel.setter             # <<<<<<<<<<<<<<
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._pvt_ptr[0].firstMipmapLevel = firstMipmapLevel
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12517
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._pvt_ptr[0].firstMipmapLevel = firstMipmapLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def lastMipmapLevel(self):
 *         return self._pvt_ptr[0].lastMipmapLevel
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12519
 *     @property
 *     def lastMipmapLevel(self):
 *         return self._pvt_ptr[0].lastMipmapLevel             # <<<<<<<<<<<<<<
 *     @lastMipmapLevel.setter
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).lastMipmapLevel); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12517
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._pvt_ptr[0].firstMipmapLevel = firstMipmapLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def lastMipmapLevel(self):
 *         return self._pvt_ptr[0].lastMipmapLevel
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.lastMipmapLevel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12520
 *     def lastMipmapLevel(self):
 *         return self._pvt_ptr[0].lastMipmapLevel
 *     @lastMipmapLevel.setter             # <<<<<<<<<<<<<<
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._pvt_ptr[0].lastMipmapLevel = lastMipmapLevel
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastMipmapLevel); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastMipmapLevel) {
  unsigned int __pyx_v_lastMipmapLevel;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_lastMipmapLevel); {
    __pyx_v_lastMipmapLevel = __Pyx_PyLong_As_unsigned_int(__pyx_arg_lastMipmapLevel); if (unlikely((__pyx_v_lastMipmapLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12521, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.lastMipmapLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_lastMipmapLevel));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_lastMipmapLevel) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12522
 *     @lastMipmapLevel.setter
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._pvt_ptr[0].lastMipmapLevel = lastMipmapLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def firstLayer(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).lastMipmapLevel = __pyx_v_lastMipmapLevel;

  /* "cuda/bindings/driver.pyx":12520
 *     def lastMipmapLevel(self):
 *         return self._pvt_ptr[0].lastMipmapLevel
 *     @lastMipmapLevel.setter             # <<<<<<<<<<<<<<
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._pvt_ptr[0].lastMipmapLevel = lastMipmapLevel
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12523
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._pvt_ptr[0].lastMipmapLevel = lastMipmapLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def firstLayer(self):
 *         return self._pvt_ptr[0].firstLayer
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12525
 *     @property
 *     def firstLayer(self):
 *         return self._pvt_ptr[0].firstLayer             # <<<<<<<<<<<<<<
 *     @firstLayer.setter
 *     def firstLayer(self, unsigned int firstLayer):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).firstLayer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12523
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._pvt_ptr[0].lastMipmapLevel = lastMipmapLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def firstLayer(self):
 *         return self._pvt_ptr[0].firstLayer
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.firstLayer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12526
 *     def firstLayer(self):
 *         return self._pvt_ptr[0].firstLayer
 *     @firstLayer.setter             # <<<<<<<<<<<<<<
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._pvt_ptr[0].firstLayer = firstLayer
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstLayer); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstLayer) {
  unsigned int __pyx_v_firstLayer;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_firstLayer); {
    __pyx_v_firstLayer = __Pyx_PyLong_As_unsigned_int(__pyx_arg_firstLayer); if (unlikely((__pyx_v_firstLayer == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12527, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.firstLayer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_firstLayer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_firstLayer) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12528
 *     @firstLayer.setter
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._pvt_ptr[0].firstLayer = firstLayer             # <<<<<<<<<<<<<<
 *     @property
 *     def lastLayer(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).firstLayer = __pyx_v_firstLayer;

  /* "cuda/bindings/driver.pyx":12526
 *     def firstLayer(self):
 *         return self._pvt_ptr[0].firstLayer
 *     @firstLayer.setter             # <<<<<<<<<<<<<<
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._pvt_ptr[0].firstLayer = firstLayer
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12529
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._pvt_ptr[0].firstLayer = firstLayer
 *     @property             # <<<<<<<<<<<<<<
 *     def lastLayer(self):
 *         return self._pvt_ptr[0].lastLayer
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12531
 *     @property
 *     def lastLayer(self):
 *         return self._pvt_ptr[0].lastLayer             # <<<<<<<<<<<<<<
 *     @lastLayer.setter
 *     def lastLayer(self, unsigned int lastLayer):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).lastLayer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12529
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._pvt_ptr[0].firstLayer = firstLayer
 *     @property             # <<<<<<<<<<<<<<
 *     def lastLayer(self):
 *         return self._pvt_ptr[0].lastLayer
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.lastLayer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12532
 *     def lastLayer(self):
 *         return self._pvt_ptr[0].lastLayer
 *     @lastLayer.setter             # <<<<<<<<<<<<<<
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._pvt_ptr[0].lastLayer = lastLayer
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastLayer); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastLayer) {
  unsigned int __pyx_v_lastLayer;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_lastLayer); {
    __pyx_v_lastLayer = __Pyx_PyLong_As_unsigned_int(__pyx_arg_lastLayer); if (unlikely((__pyx_v_lastLayer == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12533, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.lastLayer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_lastLayer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_lastLayer) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12534
 *     @lastLayer.setter
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._pvt_ptr[0].lastLayer = lastLayer             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).lastLayer = __pyx_v_lastLayer;

  /* "cuda/bindings/driver.pyx":12532
 *     def lastLayer(self):
 *         return self._pvt_ptr[0].lastLayer
 *     @lastLayer.setter             # <<<<<<<<<<<<<<
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._pvt_ptr[0].lastLayer = lastLayer
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12535
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._pvt_ptr[0].lastLayer = lastLayer
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12537
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12535
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._pvt_ptr[0].lastLayer = lastLayer
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12538
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":12540
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUtensorMap_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(0, 12540, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (16));

  /* "cuda/bindings/driver.pyx":12538
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__, "CUDA_RESOURCE_VIEW_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__, "CUDA_RESOURCE_VIEW_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12557
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12557, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12557, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12557, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12557, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12557, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12557, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":12558
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12559
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUtensorMap_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":12558
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12561
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUtensorMap_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUtensorMap_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12557
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12562
 *         else:
 *             self._pvt_ptr = <cydriver.CUtensorMap_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12562, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12562, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12562, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12562, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12562, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12562, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12564
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12566
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_6getPtr, "CUtensorMap_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUtensorMap_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12567
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12566
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12568
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12569
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12570
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['opaque : ' + str(self.opaque)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12571
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['opaque : ' + str(self.opaque)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12572
 *             str_list = []
 *             try:
 *                 str_list += ['opaque : ' + str(self.opaque)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['opaque : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_opaque_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_opaque, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12572, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12571
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['opaque : ' + str(self.opaque)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12573
 *             try:
 *                 str_list += ['opaque : ' + str(self.opaque)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['opaque : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12573, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12574
 *                 str_list += ['opaque : ' + str(self.opaque)]
 *             except ValueError:
 *                 str_list += ['opaque : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12574, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_opaque_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_opaque_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_opaque_ValueError) != (0)) __PYX_ERR(0, 12574, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12574, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12571
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['opaque : ' + str(self.opaque)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12575
 *             except ValueError:
 *                 str_list += ['opaque : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12569
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12577
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def opaque(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12568
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12578
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._pvt_ptr[0].opaque]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self) {
  cuuint64_t __pyx_10genexpr155__pyx_v__opaque;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cuuint64_t *__pyx_t_2;
  cuuint64_t *__pyx_t_3;
  cuuint64_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12580
 *     @property
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._pvt_ptr[0].opaque]             # <<<<<<<<<<<<<<
 *     @opaque.setter
 *     def opaque(self, opaque):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_pvt_ptr[0]).opaque + 16);
    for (__pyx_t_4 = (__pyx_v_self->_pvt_ptr[0]).opaque; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_10genexpr155__pyx_v__opaque = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
      __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
      __pyx_t_8 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr155__pyx_v__opaque); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12580, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12580, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12580, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_7, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12580, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 12580, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12578
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._pvt_ptr[0].opaque]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.opaque.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12581
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._pvt_ptr[0].opaque]
 *     @opaque.setter             # <<<<<<<<<<<<<<
 *     def opaque(self, opaque):
 *         self._pvt_ptr[0].opaque = opaque
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_opaque); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_opaque) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self), ((PyObject *)__pyx_v_opaque));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self, PyObject *__pyx_v_opaque) {
  int __pyx_r;
  cuuint64_t __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":12583
 *     @opaque.setter
 *     def opaque(self, opaque):
 *         self._pvt_ptr[0].opaque = opaque             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (unlikely((__Pyx_carray_from_py_cuuint64_t(__pyx_v_opaque, __pyx_t_1, 16) < 0))) __PYX_ERR(0, 12583, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).opaque[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).opaque[0]) * (16));

  /* "cuda/bindings/driver.pyx":12581
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._pvt_ptr[0].opaque]
 *     @opaque.setter             # <<<<<<<<<<<<<<
 *     def opaque(self, opaque):
 *         self._pvt_ptr[0].opaque = opaque
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.opaque.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_10__reduce_cython__, "CUtensorMap_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUtensorMap_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_12__setstate_cython__, "CUtensorMap_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUtensorMap_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtensorMap_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtensorMap_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12602
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12602, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12602, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12602, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12602, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12602, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12602, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":12603
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12604
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":12603
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12606
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12602
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12607
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12607, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12607, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12607, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12607, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12607, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12607, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12609
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12611
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr, "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12612
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12611
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12613
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12614
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12615
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12616
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12617
 *             str_list = []
 *             try:
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['p2pToken : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_p2pToken_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12617, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12617, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_p2pToken, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12617, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12617, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12617, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12617, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12616
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12618
 *             try:
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['p2pToken : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12618, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12619
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]
 *             except ValueError:
 *                 str_list += ['p2pToken : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12619, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_p2pToken_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_p2pToken_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_p2pToken_ValueError) != (0)) __PYX_ERR(0, 12619, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12619, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12616
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12620
 *             except ValueError:
 *                 str_list += ['p2pToken : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12621
 *                 str_list += ['p2pToken : <ValueError>']
 *             try:
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['vaSpaceToken : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_vaSpaceToken_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12621, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12621, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_vaSpaceToken, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12621, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12621, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12621, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12621, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12620
 *             except ValueError:
 *                 str_list += ['p2pToken : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12622
 *             try:
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['vaSpaceToken : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12622, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12623
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]
 *             except ValueError:
 *                 str_list += ['vaSpaceToken : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12623, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_vaSpaceToken_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_vaSpaceToken_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_vaSpaceToken_ValueError) != (0)) __PYX_ERR(0, 12623, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12623, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":12620
 *             except ValueError:
 *                 str_list += ['p2pToken : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12624
 *             except ValueError:
 *                 str_list += ['vaSpaceToken : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12614
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12626
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def p2pToken(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12613
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12627
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def p2pToken(self):
 *         return self._pvt_ptr[0].p2pToken
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12629
 *     @property
 *     def p2pToken(self):
 *         return self._pvt_ptr[0].p2pToken             # <<<<<<<<<<<<<<
 *     @p2pToken.setter
 *     def p2pToken(self, unsigned long long p2pToken):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).p2pToken); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12627
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def p2pToken(self):
 *         return self._pvt_ptr[0].p2pToken
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.p2pToken.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12630
 *     def p2pToken(self):
 *         return self._pvt_ptr[0].p2pToken
 *     @p2pToken.setter             # <<<<<<<<<<<<<<
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._pvt_ptr[0].p2pToken = p2pToken
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_p2pToken); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_p2pToken) {
  unsigned PY_LONG_LONG __pyx_v_p2pToken;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_p2pToken); {
    __pyx_v_p2pToken = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_p2pToken); if (unlikely((__pyx_v_p2pToken == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12631, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.p2pToken.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_p2pToken));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_p2pToken) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12632
 *     @p2pToken.setter
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._pvt_ptr[0].p2pToken = p2pToken             # <<<<<<<<<<<<<<
 *     @property
 *     def vaSpaceToken(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).p2pToken = __pyx_v_p2pToken;

  /* "cuda/bindings/driver.pyx":12630
 *     def p2pToken(self):
 *         return self._pvt_ptr[0].p2pToken
 *     @p2pToken.setter             # <<<<<<<<<<<<<<
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._pvt_ptr[0].p2pToken = p2pToken
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12633
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._pvt_ptr[0].p2pToken = p2pToken
 *     @property             # <<<<<<<<<<<<<<
 *     def vaSpaceToken(self):
 *         return self._pvt_ptr[0].vaSpaceToken
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12635
 *     @property
 *     def vaSpaceToken(self):
 *         return self._pvt_ptr[0].vaSpaceToken             # <<<<<<<<<<<<<<
 *     @vaSpaceToken.setter
 *     def vaSpaceToken(self, unsigned int vaSpaceToken):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).vaSpaceToken); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12633
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._pvt_ptr[0].p2pToken = p2pToken
 *     @property             # <<<<<<<<<<<<<<
 *     def vaSpaceToken(self):
 *         return self._pvt_ptr[0].vaSpaceToken
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.vaSpaceToken.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12636
 *     def vaSpaceToken(self):
 *         return self._pvt_ptr[0].vaSpaceToken
 *     @vaSpaceToken.setter             # <<<<<<<<<<<<<<
 *     def vaSpaceToken(self, unsigned int vaSpaceToken):
 *         self._pvt_ptr[0].vaSpaceToken = vaSpaceToken
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_vaSpaceToken); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_vaSpaceToken) {
  unsigned int __pyx_v_vaSpaceToken;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_vaSpaceToken); {
    __pyx_v_vaSpaceToken = __Pyx_PyLong_As_unsigned_int(__pyx_arg_vaSpaceToken); if (unlikely((__pyx_v_vaSpaceToken == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12637, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.vaSpaceToken.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self), ((unsigned int)__pyx_v_vaSpaceToken));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, unsigned int __pyx_v_vaSpaceToken) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12638
 *     @vaSpaceToken.setter
 *     def vaSpaceToken(self, unsigned int vaSpaceToken):
 *         self._pvt_ptr[0].vaSpaceToken = vaSpaceToken             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_LAUNCH_PARAMS_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).vaSpaceToken = __pyx_v_vaSpaceToken;

  /* "cuda/bindings/driver.pyx":12636
 *     def vaSpaceToken(self):
 *         return self._pvt_ptr[0].vaSpaceToken
 *     @vaSpaceToken.setter             # <<<<<<<<<<<<<<
 *     def vaSpaceToken(self, unsigned int vaSpaceToken):
 *         self._pvt_ptr[0].vaSpaceToken = vaSpaceToken
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__, "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__, "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12672
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12672, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12672, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12672, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12672, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12672, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12672, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":12673
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12674
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_LAUNCH_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":12673
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12676
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_LAUNCH_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_LAUNCH_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12672
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12677
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_LAUNCH_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._function = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].function)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12677, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12677, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12677, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12677, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12677, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12677, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12679
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._function = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].function)             # <<<<<<<<<<<<<<
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hStream)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).function))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12679, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12679, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_function);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_function);
  __pyx_v_self->_function = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12680
 *         pass
 *         self._function = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].function)
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hStream)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).hStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12680, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12680, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hStream);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hStream);
  __pyx_v_self->_hStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12677
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_LAUNCH_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._function = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].function)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12681
 *         self._function = CUfunction(_ptr=<void_ptr>&self._pvt_ptr[0].function)
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._pvt_ptr[0].hStream)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12683
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_6getPtr, "CUDA_LAUNCH_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12684
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12683
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12685
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12686
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12687
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['function : ' + str(self.function)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12688
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['function : ' + str(self.function)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12689
 *             str_list = []
 *             try:
 *                 str_list += ['function : ' + str(self.function)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['function : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_function_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12689, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12689, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_function, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12689, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12689, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12689, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12689, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12688
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['function : ' + str(self.function)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12690
 *             try:
 *                 str_list += ['function : ' + str(self.function)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['function : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12690, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12691
 *                 str_list += ['function : ' + str(self.function)]
 *             except ValueError:
 *                 str_list += ['function : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12691, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_function_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_function_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_function_ValueError) != (0)) __PYX_ERR(0, 12691, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12691, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12688
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['function : ' + str(self.function)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12692
 *             except ValueError:
 *                 str_list += ['function : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12693
 *                 str_list += ['function : <ValueError>']
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12693, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12693, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12693, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12693, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12693, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12693, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12692
 *             except ValueError:
 *                 str_list += ['function : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12694
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12694, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12695
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12695, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError) != (0)) __PYX_ERR(0, 12695, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12695, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":12692
 *             except ValueError:
 *                 str_list += ['function : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12696
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12697
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12697, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12697, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12697, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12697, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12697, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12697, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12696
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12698
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12698, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12699
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12699, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError) != (0)) __PYX_ERR(0, 12699, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12699, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":12696
 *             except ValueError:
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12700
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12701
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gridDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12701, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12701, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12701, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12701, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12701, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12701, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12700
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12702
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12702, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12703
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12703, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError) != (0)) __PYX_ERR(0, 12703, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12703, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":12700
 *             except ValueError:
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12704
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12705
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12705, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12705, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12705, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12705, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12705, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12705, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12704
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12706
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12706, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12707
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12707, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError) != (0)) __PYX_ERR(0, 12707, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12707, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":12704
 *             except ValueError:
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12708
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12709
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12709, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12709, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12709, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12709, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12709, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12709, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12708
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12710
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12710, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12711
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12711, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError) != (0)) __PYX_ERR(0, 12711, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12711, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":12708
 *             except ValueError:
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12712
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12713
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_blockDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12713, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12713, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12713, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12713, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12713, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12713, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12712
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12714
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12714, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12715
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12715, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError) != (0)) __PYX_ERR(0, 12715, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12715, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":12712
 *             except ValueError:
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12716
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12717
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedMemBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12717, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12717, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12717, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12717, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12717, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12717, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12716
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12718
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12718, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12719
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12719, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError) != (0)) __PYX_ERR(0, 12719, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12719, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":12716
 *             except ValueError:
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12720
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12721
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hStream_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12721, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12721, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_hStream, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12721, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12721, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12721, __pyx_L68_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12721, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12720
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L73_try_end;
      __pyx_L68_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12722
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12722, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12723
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12723, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_hStream_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_hStream_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_hStream_ValueError) != (0)) __PYX_ERR(0, 12723, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12723, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L69_exception_handled;
      }
      goto __pyx_L70_except_error;

      /* "cuda/bindings/driver.pyx":12720
 *             except ValueError:
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:
*/
      __pyx_L70_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L69_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L73_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12724
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12725
 *                 str_list += ['hStream : <ValueError>']
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_kernelParams); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12725, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12725, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_kernelParams_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12725, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12725, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12725, __pyx_L76_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12725, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12724
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L81_try_end;
      __pyx_L76_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12726
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 12726, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12727
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12727, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError) != (0)) __PYX_ERR(0, 12727, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12727, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L77_exception_handled;
      }
      goto __pyx_L78_except_error;

      /* "cuda/bindings/driver.pyx":12724
 *             except ValueError:
 *                 str_list += ['hStream : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:
*/
      __pyx_L78_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L77_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L81_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12728
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12686
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12730
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def function(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12685
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12731
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def function(self):
 *         return self._function
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12733
 *     @property
 *     def function(self):
 *         return self._function             # <<<<<<<<<<<<<<
 *     @function.setter
 *     def function(self, function):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_function);
  __pyx_r = ((PyObject *)__pyx_v_self->_function);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12731
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def function(self):
 *         return self._function
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12734
 *     def function(self):
 *         return self._function
 *     @function.setter             # <<<<<<<<<<<<<<
 *     def function(self, function):
 *         cdef cydriver.CUfunction cyfunction
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_function); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_function) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_function));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_function) {
  CUfunction __pyx_v_cyfunction;
  PyObject *__pyx_v_pfunction = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12737
 *     def function(self, function):
 *         cdef cydriver.CUfunction cyfunction
 *         if function is None:             # <<<<<<<<<<<<<<
 *             cyfunction = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_function == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12738
 *         cdef cydriver.CUfunction cyfunction
 *         if function is None:
 *             cyfunction = <cydriver.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(function, (CUfunction,)):
 *             pfunction = int(function)
*/
    __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":12737
 *     def function(self, function):
 *         cdef cydriver.CUfunction cyfunction
 *         if function is None:             # <<<<<<<<<<<<<<
 *             cyfunction = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12739
 *         if function is None:
 *             cyfunction = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunction = int(function)
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_function, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12740
 *             cyfunction = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):
 *             pfunction = int(function)             # <<<<<<<<<<<<<<
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12741
 *         elif isinstance(function, (CUfunction,)):
 *             pfunction = int(function)
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *         else:
 *             pfunction = int(CUfunction(function))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12741, __pyx_L1_error)
    __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":12739
 *         if function is None:
 *             cyfunction = <cydriver.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunction = int(function)
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12743
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *         else:
 *             pfunction = int(CUfunction(function))             # <<<<<<<<<<<<<<
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *         self._function._pvt_ptr[0] = cyfunction
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_function};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12743, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunction = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":12744
 *         else:
 *             pfunction = int(CUfunction(function))
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *         self._function._pvt_ptr[0] = cyfunction
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12744, __pyx_L1_error)
    __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12745
 *             pfunction = int(CUfunction(function))
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *         self._function._pvt_ptr[0] = cyfunction             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
*/
  (__pyx_v_self->_function->_pvt_ptr[0]) = __pyx_v_cyfunction;

  /* "cuda/bindings/driver.pyx":12734
 *     def function(self):
 *         return self._function
 *     @function.setter             # <<<<<<<<<<<<<<
 *     def function(self, function):
 *         cdef cydriver.CUfunction cyfunction
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.function.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunction);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12746
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *         self._function._pvt_ptr[0] = cyfunction
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12748
 *     @property
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12746
 *             cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *         self._function._pvt_ptr[0] = cyfunction
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12749
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX) {
  unsigned int __pyx_v_gridDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimX); {
    __pyx_v_gridDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12750, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12751
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/bindings/driver.pyx":12749
 *     def gridDimX(self):
 *         return self._pvt_ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12752
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12754
 *     @property
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12752
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._pvt_ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12755
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY) {
  unsigned int __pyx_v_gridDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimY); {
    __pyx_v_gridDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12756, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12757
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/bindings/driver.pyx":12755
 *     def gridDimY(self):
 *         return self._pvt_ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12758
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12760
 *     @property
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12758
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._pvt_ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12761
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ) {
  unsigned int __pyx_v_gridDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gridDimZ); {
    __pyx_v_gridDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12762, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12763
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/bindings/driver.pyx":12761
 *     def gridDimZ(self):
 *         return self._pvt_ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12764
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12766
 *     @property
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12764
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._pvt_ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12767
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX) {
  unsigned int __pyx_v_blockDimX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimX); {
    __pyx_v_blockDimX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12768, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12769
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/bindings/driver.pyx":12767
 *     def blockDimX(self):
 *         return self._pvt_ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12770
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12772
 *     @property
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12770
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._pvt_ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12773
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY) {
  unsigned int __pyx_v_blockDimY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimY); {
    __pyx_v_blockDimY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12774, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12775
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/bindings/driver.pyx":12773
 *     def blockDimY(self):
 *         return self._pvt_ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12776
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12778
 *     @property
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12776
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._pvt_ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12779
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ) {
  unsigned int __pyx_v_blockDimZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_blockDimZ); {
    __pyx_v_blockDimZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12780, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12781
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/bindings/driver.pyx":12779
 *     def blockDimZ(self):
 *         return self._pvt_ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12782
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12784
 *     @property
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12782
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._pvt_ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12785
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes) {
  unsigned int __pyx_v_sharedMemBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_sharedMemBytes); {
    __pyx_v_sharedMemBytes = __Pyx_PyLong_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12786, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_sharedMemBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12787
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def hStream(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/bindings/driver.pyx":12785
 *     def sharedMemBytes(self):
 *         return self._pvt_ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12788
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hStream(self):
 *         return self._hStream
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12790
 *     @property
 *     def hStream(self):
 *         return self._hStream             # <<<<<<<<<<<<<<
 *     @hStream.setter
 *     def hStream(self, hStream):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_hStream);
  __pyx_r = ((PyObject *)__pyx_v_self->_hStream);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12788
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._pvt_ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hStream(self):
 *         return self._hStream
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12791
 *     def hStream(self):
 *         return self._hStream
 *     @hStream.setter             # <<<<<<<<<<<<<<
 *     def hStream(self, hStream):
 *         cdef cydriver.CUstream cyhStream
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hStream); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hStream) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_hStream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12794
 *     def hStream(self, hStream):
 *         cdef cydriver.CUstream cyhStream
 *         if hStream is None:             # <<<<<<<<<<<<<<
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12795
 *         cdef cydriver.CUstream cyhStream
 *         if hStream is None:
 *             cyhStream = <cydriver.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)
*/
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":12794
 *     def hStream(self, hStream):
 *         cdef cydriver.CUstream cyhStream
 *         if hStream is None:             # <<<<<<<<<<<<<<
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12796
 *         if hStream is None:
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phStream = int(hStream)
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12797
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)             # <<<<<<<<<<<<<<
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12798
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *         else:
 *             phStream = int(CUstream(hStream))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12798, __pyx_L1_error)
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":12796
 *         if hStream is None:
 *             cyhStream = <cydriver.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phStream = int(hStream)
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12800
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         else:
 *             phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         self._hStream._pvt_ptr[0] = cyhStream
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12800, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":12801
 *         else:
 *             phStream = int(CUstream(hStream))
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *         self._hStream._pvt_ptr[0] = cyhStream
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12801, __pyx_L1_error)
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12802
 *             phStream = int(CUstream(hStream))
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         self._hStream._pvt_ptr[0] = cyhStream             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
*/
  (__pyx_v_self->_hStream->_pvt_ptr[0]) = __pyx_v_cyhStream;

  /* "cuda/bindings/driver.pyx":12791
 *     def hStream(self):
 *         return self._hStream
 *     @hStream.setter             # <<<<<<<<<<<<<<
 *     def hStream(self, hStream):
 *         cdef cydriver.CUstream cyhStream
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.hStream.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12803
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         self._hStream._pvt_ptr[0] = cyhStream
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12805
 *     @property
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams             # <<<<<<<<<<<<<<
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12803
 *             cyhStream = <cydriver.CUstream><void_ptr>phStream
 *         self._hStream._pvt_ptr[0] = cyhStream
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.kernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12806
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_kernelParams));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12808
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12808, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_cykernelParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_cykernelParams);
  __pyx_v_self->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12809
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
 *         self._pvt_ptr[0].kernelParams = <void**><void_ptr>self._cykernelParams.ckernelParams             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct12:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":12806
 *     def kernelParams(self):
 *         return <void_ptr>self._pvt_ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._cykernelParams = _HelperKernelParams(kernelParams)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__, "CUDA_LAUNCH_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__, "CUDA_LAUNCH_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12825
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12825, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12825, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12825, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 12825, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12825, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12825, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12825, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct12___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12826
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":12825
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12828
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12828, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12828, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 12828, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12828, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12828, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12828, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12830
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12832
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct12_6getPtr, "anon_struct12.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct12_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct12_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12833
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).handle.win32))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12832
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12834
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12835
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12836
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12836, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12837
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12838
 *             str_list = []
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_7 = __pyx_builtin_hex; 
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_handle_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12838, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12838, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_handle, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12838, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12838, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 12838, __pyx_L4_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12838, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":12837
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":12839
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 12839, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12840
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12840, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_handle_ValueError) != (0)) __PYX_ERR(0, 12840, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12840, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12837
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12841
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12842
 *                 str_list += ['handle : <ValueError>']
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']
*/
        __pyx_t_2 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_7 = __pyx_builtin_hex; 
        __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12842, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_11};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12842, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_name_2, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12842, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12842, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 12842, __pyx_L12_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12842, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":12841
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":12843
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_11) < 0) __PYX_ERR(0, 12843, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_11);

        /* "cuda/bindings/driver.pyx":12844
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12844, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_name_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_name_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_name_ValueError) != (0)) __PYX_ERR(0, 12844, __pyx_L14_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12844, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":12841
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12845
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_11 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_r = __pyx_t_11;
    __pyx_t_11 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12835
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12847
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12834
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12848
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_6handle_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6handle___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12850
 *     @property
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).handle.win32.handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12848
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.handle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12851
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         _chandle = _HelperInputVoidPtr(handle)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6handle_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self), ((PyObject *)__pyx_v_handle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, PyObject *__pyx_v_handle) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__chandle = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12853
 *     @handle.setter
 *     def handle(self, handle):
 *         _chandle = _HelperInputVoidPtr(handle)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handle};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12853, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__chandle = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12854
 *     def handle(self, handle):
 *         _chandle = _HelperInputVoidPtr(handle)
 *         self._pvt_ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def name(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__chandle), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12854, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).handle.win32.handle = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":12851
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         _chandle = _HelperInputVoidPtr(handle)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__chandle);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12855
 *         _chandle = _HelperInputVoidPtr(handle)
 *         self._pvt_ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4name___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4name___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12857
 *     @property
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name             # <<<<<<<<<<<<<<
 *     @name.setter
 *     def name(self, name):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).handle.win32.name)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12855
 *         _chandle = _HelperInputVoidPtr(handle)
 *         self._pvt_ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12858
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name
 *     @name.setter             # <<<<<<<<<<<<<<
 *     def name(self, name):
 *         _cname = _HelperInputVoidPtr(name)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4name_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_4name_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, PyObject *__pyx_v_name) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cname = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12860
 *     @name.setter
 *     def name(self, name):
 *         _cname = _HelperInputVoidPtr(name)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12860, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cname = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12861
 *     def name(self, name):
 *         _cname = _HelperInputVoidPtr(name)
 *         self._pvt_ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union5:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cname), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12861, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).handle.win32.name = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":12858
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name
 *     @name.setter             # <<<<<<<<<<<<<<
 *     def name(self, name):
 *         _cname = _HelperInputVoidPtr(name)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct12_10__reduce_cython__, "anon_struct12.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct12_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct12_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct12_12__setstate_cython__, "anon_struct12.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct12_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct12_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct12_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct12_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12879
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12879, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12879, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12879, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 12879, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12879, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12879, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12879, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12880
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":12879
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12882
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._win32 = anon_struct12(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12882, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12882, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 12882, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12882, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12882, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12882, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12884
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._win32 = anon_struct12(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12884, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12884, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_win32);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_win32);
  __pyx_v_self->_win32 = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12882
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._win32 = anon_struct12(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12885
 *         pass
 *         self._win32 = anon_struct12(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union5_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union5_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11anon_union5_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11anon_union5_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12887
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union5_6getPtr, "anon_union5.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union5_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union5_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union5_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12888
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).handle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12887
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12889
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr156__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12890
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12891
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12892
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12893
 *             str_list = []
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fd_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12893, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12893, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_fd, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12893, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12893, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12893, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12893, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12892
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12894
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12894, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12895
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12895, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_fd_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_fd_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_fd_ValueError) != (0)) __PYX_ERR(0, 12895, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12895, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12892
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12896
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12897
 *                 str_list += ['fd : <ValueError>']
 *             try:
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12897, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_win32_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12897, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12897, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12897, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12897, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12897, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr156__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr156__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12897, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12897, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr156__pyx_v_line); __pyx_10genexpr156__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr156__pyx_v_line); __pyx_10genexpr156__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12897, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_win32, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12897, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12897, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12897, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12897, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12896
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12898
 *             try:
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 12898, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12899
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12899, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_win32_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_win32_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_win32_ValueError) != (0)) __PYX_ERR(0, 12899, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12899, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":12896
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12900
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12901
 *                 str_list += ['win32 : <ValueError>']
 *             try:
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['nvSciBufObject : <ValueError>']
*/
        __pyx_t_2 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_8 = __pyx_builtin_hex; 
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_nvSciBufObject_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12901, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
          __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12901, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
        }
        __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_nvSciBufObject, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12901, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12901, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12901, __pyx_L27_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12901, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12900
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12902
 *             try:
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciBufObject : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_9) < 0) __PYX_ERR(0, 12902, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":12903
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             except ValueError:
 *                 str_list += ['nvSciBufObject : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12903, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_nvSciBufObject_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_nvSciBufObject_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_nvSciBufObject_ValueError) != (0)) __PYX_ERR(0, 12903, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12903, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":12900
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12904
 *             except ValueError:
 *                 str_list += ['nvSciBufObject : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_9 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12890
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12906
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fd(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12889
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr156__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12907
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_2fd_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_2fd_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_2fd___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_2fd___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12909
 *     @property
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd             # <<<<<<<<<<<<<<
 *     @fd.setter
 *     def fd(self, int fd):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).handle.fd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12907
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.fd.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12910
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd
 *     @fd.setter             # <<<<<<<<<<<<<<
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd) {
  int __pyx_v_fd;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_fd); {
    __pyx_v_fd = __Pyx_PyLong_As_int(__pyx_arg_fd); if (unlikely((__pyx_v_fd == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12911, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_2fd_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self), ((int)__pyx_v_fd));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5_2fd_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, int __pyx_v_fd) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":12912
 *     @fd.setter
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd             # <<<<<<<<<<<<<<
 *     @property
 *     def win32(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).handle.fd = __pyx_v_fd;

  /* "cuda/bindings/driver.pyx":12910
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd
 *     @fd.setter             # <<<<<<<<<<<<<<
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12913
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd
 *     @property             # <<<<<<<<<<<<<<
 *     def win32(self):
 *         return self._win32
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_5win32_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_5win32_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_5win32___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_5win32___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12915
 *     @property
 *     def win32(self):
 *         return self._win32             # <<<<<<<<<<<<<<
 *     @win32.setter
 *     def win32(self, win32 not None : anon_struct12):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_win32);
  __pyx_r = ((PyObject *)__pyx_v_self->_win32);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12913
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd
 *     @property             # <<<<<<<<<<<<<<
 *     def win32(self):
 *         return self._win32
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12916
 *     def win32(self):
 *         return self._win32
 *     @win32.setter             # <<<<<<<<<<<<<<
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_win32), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12, 0, "win32", 0))) __PYX_ERR(0, 12917, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_5win32_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)__pyx_v_win32));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5_5win32_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *__pyx_v_win32) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12918
 *     @win32.setter
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciBufObject(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_win32);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).handle.win32), ((struct anon_struct12 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).handle.win32))));

  /* "cuda/bindings/driver.pyx":12916
 *     def win32(self):
 *         return self._win32
 *     @win32.setter             # <<<<<<<<<<<<<<
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.win32.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12919
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciBufObject
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12921
 *     @property
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciBufObject             # <<<<<<<<<<<<<<
 *     @nvSciBufObject.setter
 *     def nvSciBufObject(self, nvSciBufObject):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).handle.nvSciBufObject)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12919
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciBufObject
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.nvSciBufObject.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12922
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciBufObject
 *     @nvSciBufObject.setter             # <<<<<<<<<<<<<<
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = _HelperInputVoidPtr(nvSciBufObject)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self), ((PyObject *)__pyx_v_nvSciBufObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cnvSciBufObject = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12924
 *     @nvSciBufObject.setter
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = _HelperInputVoidPtr(nvSciBufObject)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].handle.nvSciBufObject = <void*><void_ptr>_cnvSciBufObject.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_nvSciBufObject};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12924, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cnvSciBufObject = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12925
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = _HelperInputVoidPtr(nvSciBufObject)
 *         self._pvt_ptr[0].handle.nvSciBufObject = <void*><void_ptr>_cnvSciBufObject.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cnvSciBufObject), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).handle.nvSciBufObject = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":12922
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciBufObject
 *     @nvSciBufObject.setter             # <<<<<<<<<<<<<<
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = _HelperInputVoidPtr(nvSciBufObject)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.nvSciBufObject.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cnvSciBufObject);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union5_10__reduce_cython__, "anon_union5.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union5_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union5_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union5_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union5_12__setstate_cython__, "anon_union5.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union5_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union5_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union5_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union5_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union5_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union5_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12949
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12949, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12949, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 12949, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12949, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12949, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12949, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":12950
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12951
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)calloc(1, (sizeof(struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))));

    /* "cuda/bindings/driver.pyx":12952
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":12950
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12954
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12949
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12955
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._handle = anon_union5(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 12955, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12955, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 12955, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 12955, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12955, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 12955, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12957
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._handle = anon_union5(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union5);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union5); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12957, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12957, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_handle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_handle);
  __pyx_v_self->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":12955
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._handle = anon_union5(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12958
 *         pass
 *         self._handle = anon_union5(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":12959
 *         self._handle = anon_union5(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12960
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":12959
 *         self._handle = anon_union5(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":12958
 *         pass
 *         self._handle = anon_union5(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":12961
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr, "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":12962
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12961
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12963
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr157__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12964
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":12965
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12966
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12967
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12967, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12967, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12967, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12967, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 12967, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12967, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":12966
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":12968
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 12968, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12969
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12969, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 12969, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12969, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":12966
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12970
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12971
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12971, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_handle_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12971, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12971, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12971, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 12971, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12971, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr157__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr157__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12971, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12971, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr157__pyx_v_line); __pyx_10genexpr157__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr157__pyx_v_line); __pyx_10genexpr157__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12971, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_handle_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12971, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12971, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12971, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12971, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12970
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12972
 *             try:
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 12972, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12973
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12973, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_handle_ValueError) != (0)) __PYX_ERR(0, 12973, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12973, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":12970
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12974
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12975
 *                 str_list += ['handle : <ValueError>']
 *             try:
 *                 str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12975, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12975, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_size, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12975, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12975, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 12975, __pyx_L27_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12975, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":12974
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12976
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 12976, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12977
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12977, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_size_ValueError) != (0)) __PYX_ERR(0, 12977, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12977, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":12974
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12978
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12979
 *                 str_list += ['size : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12979, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12979, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12979, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12979, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 12979, __pyx_L35_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12979, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":12978
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12980
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 12980, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12981
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12981, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 12981, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12981, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":12978
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12982
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":12983
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12983, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12983, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12983, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12983, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 12983, __pyx_L43_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12983, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":12982
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":12984
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 12984, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12985
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12985, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 12985, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12985, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":12982
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":12986
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12964
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12988
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":12963
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr157__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12989
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalMemoryHandleType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12991
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalMemoryHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUexternalMemoryHandleType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUexternalMemoryHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 12991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":12992
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalMemoryHandleType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUexternalMemoryHandleType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12991
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalMemoryHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUexternalMemoryHandleType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":12993
 *         if self._pvt_ptr[0].type not in _dict_CUexternalMemoryHandleType:
 *             return None
 *         return _dict_CUexternalMemoryHandleType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUexternalMemoryHandleType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUexternalMemoryHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12989
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalMemoryHandleType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12994
 *             return None
 *         return _dict_CUexternalMemoryHandleType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 12995, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUexternalMemoryHandleType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12996
 *     @type.setter
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUexternalMemoryHandleType_enum)__Pyx_PyLong_As_enum__CUexternalMemoryHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":12994
 *             return None
 *         return _dict_CUexternalMemoryHandleType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12997
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":12999
 *     @property
 *     def handle(self):
 *         return self._handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle not None : anon_union5):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_handle);
  __pyx_r = ((PyObject *)__pyx_v_self->_handle);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12997
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13000
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_handle), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union5, 0, "handle", 0))) __PYX_ERR(0, 13001, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)__pyx_v_handle));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *__pyx_v_handle) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13002
 *     @handle.setter
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_handle);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).handle), ((union anon_union5 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).handle))));

  /* "cuda/bindings/driver.pyx":13000
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13003
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13005
 *     @property
 *     def size(self):
 *         return self._pvt_ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, unsigned long long size):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13003
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13006
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  unsigned PY_LONG_LONG __pyx_v_size;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_size); if (unlikely((__pyx_v_size == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13007, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13008
 *     @size.setter
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).size = __pyx_v_size;

  /* "cuda/bindings/driver.pyx":13006
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13009
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13011
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13009
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13012
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13013, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13014
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":13012
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13015
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13017
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13015
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13018
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":13020
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(0, 13020, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (16));

  /* "cuda/bindings/driver.pyx":13018
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__, "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__, "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13042
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13042, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13042, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13042, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13042, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":13043
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13044
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":13043
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13046
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":13042
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13047
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13047, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13047, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13047, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13047, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13047, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13047, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13049
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13051
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr, "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13052
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13051
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13053
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13054
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13055
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13056
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13057
 *             str_list = []
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_offset_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13057, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13057, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_offset, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13057, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13057, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13057, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13057, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13056
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13058
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13058, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13059
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13059, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_offset_ValueError) != (0)) __PYX_ERR(0, 13059, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13059, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13056
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13060
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13061
 *                 str_list += ['offset : <ValueError>']
 *             try:
 *                 str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13061, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13061, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13061, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13061, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13061, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13061, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13060
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13062
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13062, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13063
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13063, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_size_ValueError) != (0)) __PYX_ERR(0, 13063, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13063, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13060
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13064
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13065
 *                 str_list += ['size : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13065, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13065, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13065, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13065, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13065, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13065, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13064
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13066
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13066, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13067
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13067, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 13067, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13067, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":13064
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13068
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13069
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13069, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13069, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13069, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13069, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13069, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13069, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13068
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13070
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13070, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13071
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13071, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13071, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13071, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":13068
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13072
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13054
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13074
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13053
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13075
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13077
 *     @property
 *     def offset(self):
 *         return self._pvt_ptr[0].offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13075
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13078
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) {
  unsigned PY_LONG_LONG __pyx_v_offset;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_offset); {
    __pyx_v_offset = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13079, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_offset));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13080
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).offset = __pyx_v_offset;

  /* "cuda/bindings/driver.pyx":13078
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13081
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13083
 *     @property
 *     def size(self):
 *         return self._pvt_ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, unsigned long long size):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13081
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13084
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  unsigned PY_LONG_LONG __pyx_v_size;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_size); if (unlikely((__pyx_v_size == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13085, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13086
 *     @size.setter
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).size = __pyx_v_size;

  /* "cuda/bindings/driver.pyx":13084
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13087
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13089
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13087
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13090
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13091, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13092
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":13090
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13093
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13095
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13093
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13096
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":13098
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(0, 13098, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (16));

  /* "cuda/bindings/driver.pyx":13096
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__, "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__, "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13121
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13121, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13121, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13121, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13121, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13121, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13121, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":13122
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13123
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":13122
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13125
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":13121
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13126
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._pvt_ptr[0].arrayDesc)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13126, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13126, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13126, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13126, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13126, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13126, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13128
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._pvt_ptr[0].arrayDesc)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).arrayDesc))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13128, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13128, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_arrayDesc);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_arrayDesc);
  __pyx_v_self->_arrayDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13126
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._pvt_ptr[0].arrayDesc)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13129
 *         pass
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._pvt_ptr[0].arrayDesc)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13131
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr, "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13132
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13131
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13133
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr158__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13134
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13135
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13136
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13137
 *             str_list = []
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_offset_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13137, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13137, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_offset, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13137, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13137, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13137, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13137, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13136
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13138
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13138, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13139
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['arrayDesc :\n' + '\n'.join(['    ' + line for line in str(self.arrayDesc).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13139, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_offset_ValueError) != (0)) __PYX_ERR(0, 13139, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13139, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13136
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13140
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['arrayDesc :\n' + '\n'.join(['    ' + line for line in str(self.arrayDesc).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13141
 *                 str_list += ['offset : <ValueError>']
 *             try:
 *                 str_list += ['arrayDesc :\n' + '\n'.join(['    ' + line for line in str(self.arrayDesc).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['arrayDesc : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13141, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_arrayDesc_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13141, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13141, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13141, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13141, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13141, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr158__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr158__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13141, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13141, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr158__pyx_v_line); __pyx_10genexpr158__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr158__pyx_v_line); __pyx_10genexpr158__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13141, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_arrayDesc, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13141, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13141, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13141, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13141, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13140
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['arrayDesc :\n' + '\n'.join(['    ' + line for line in str(self.arrayDesc).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13142
 *             try:
 *                 str_list += ['arrayDesc :\n' + '\n'.join(['    ' + line for line in str(self.arrayDesc).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['arrayDesc : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 13142, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13143
 *                 str_list += ['arrayDesc :\n' + '\n'.join(['    ' + line for line in str(self.arrayDesc).splitlines()])]
 *             except ValueError:
 *                 str_list += ['arrayDesc : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numLevels : ' + str(self.numLevels)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13143, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_arrayDesc_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_arrayDesc_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_arrayDesc_ValueError) != (0)) __PYX_ERR(0, 13143, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13143, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13140
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['arrayDesc :\n' + '\n'.join(['    ' + line for line in str(self.arrayDesc).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13144
 *             except ValueError:
 *                 str_list += ['arrayDesc : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numLevels : ' + str(self.numLevels)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13145
 *                 str_list += ['arrayDesc : <ValueError>']
 *             try:
 *                 str_list += ['numLevels : ' + str(self.numLevels)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numLevels : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numLevels_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13145, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13145, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numLevels, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13145, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13145, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 13145, __pyx_L27_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13145, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":13144
 *             except ValueError:
 *                 str_list += ['arrayDesc : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numLevels : ' + str(self.numLevels)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13146
 *             try:
 *                 str_list += ['numLevels : ' + str(self.numLevels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numLevels : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 13146, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13147
 *                 str_list += ['numLevels : ' + str(self.numLevels)]
 *             except ValueError:
 *                 str_list += ['numLevels : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13147, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numLevels_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numLevels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_numLevels_ValueError) != (0)) __PYX_ERR(0, 13147, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13147, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":13144
 *             except ValueError:
 *                 str_list += ['arrayDesc : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numLevels : ' + str(self.numLevels)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13148
 *             except ValueError:
 *                 str_list += ['numLevels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13149
 *                 str_list += ['numLevels : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13149, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13149, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13149, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13149, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13149, __pyx_L35_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13149, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13148
 *             except ValueError:
 *                 str_list += ['numLevels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13150
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 13150, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13151
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13151, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13151, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13151, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":13148
 *             except ValueError:
 *                 str_list += ['numLevels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13152
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13134
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13154
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13133
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr158__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13155
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13157
 *     @property
 *     def offset(self):
 *         return self._pvt_ptr[0].offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13155
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13158
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) {
  unsigned PY_LONG_LONG __pyx_v_offset;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_offset); {
    __pyx_v_offset = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13159, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_offset));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13160
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def arrayDesc(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).offset = __pyx_v_offset;

  /* "cuda/bindings/driver.pyx":13158
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13161
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def arrayDesc(self):
 *         return self._arrayDesc
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13163
 *     @property
 *     def arrayDesc(self):
 *         return self._arrayDesc             # <<<<<<<<<<<<<<
 *     @arrayDesc.setter
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_arrayDesc);
  __pyx_r = ((PyObject *)__pyx_v_self->_arrayDesc);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13161
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def arrayDesc(self):
 *         return self._arrayDesc
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13164
 *     def arrayDesc(self):
 *         return self._arrayDesc
 *     @arrayDesc.setter             # <<<<<<<<<<<<<<
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._pvt_ptr[0].arrayDesc, <cydriver.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._pvt_ptr[0].arrayDesc))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_arrayDesc); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_arrayDesc) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arrayDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR, 0, "arrayDesc", 0))) __PYX_ERR(0, 13165, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *)__pyx_v_arrayDesc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_arrayDesc) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13166
 *     @arrayDesc.setter
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._pvt_ptr[0].arrayDesc, <cydriver.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._pvt_ptr[0].arrayDesc))             # <<<<<<<<<<<<<<
 *     @property
 *     def numLevels(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_arrayDesc);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).arrayDesc), ((CUDA_ARRAY3D_DESCRIPTOR *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).arrayDesc))));

  /* "cuda/bindings/driver.pyx":13164
 *     def arrayDesc(self):
 *         return self._arrayDesc
 *     @arrayDesc.setter             # <<<<<<<<<<<<<<
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._pvt_ptr[0].arrayDesc, <cydriver.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._pvt_ptr[0].arrayDesc))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.arrayDesc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13167
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._pvt_ptr[0].arrayDesc, <cydriver.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._pvt_ptr[0].arrayDesc))
 *     @property             # <<<<<<<<<<<<<<
 *     def numLevels(self):
 *         return self._pvt_ptr[0].numLevels
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13169
 *     @property
 *     def numLevels(self):
 *         return self._pvt_ptr[0].numLevels             # <<<<<<<<<<<<<<
 *     @numLevels.setter
 *     def numLevels(self, unsigned int numLevels):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).numLevels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13167
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._pvt_ptr[0].arrayDesc, <cydriver.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._pvt_ptr[0].arrayDesc))
 *     @property             # <<<<<<<<<<<<<<
 *     def numLevels(self):
 *         return self._pvt_ptr[0].numLevels
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.numLevels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13170
 *     def numLevels(self):
 *         return self._pvt_ptr[0].numLevels
 *     @numLevels.setter             # <<<<<<<<<<<<<<
 *     def numLevels(self, unsigned int numLevels):
 *         self._pvt_ptr[0].numLevels = numLevels
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numLevels); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numLevels) {
  unsigned int __pyx_v_numLevels;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numLevels); {
    __pyx_v_numLevels = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numLevels); if (unlikely((__pyx_v_numLevels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13171, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.numLevels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_numLevels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, unsigned int __pyx_v_numLevels) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13172
 *     @numLevels.setter
 *     def numLevels(self, unsigned int numLevels):
 *         self._pvt_ptr[0].numLevels = numLevels             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).numLevels = __pyx_v_numLevels;

  /* "cuda/bindings/driver.pyx":13170
 *     def numLevels(self):
 *         return self._pvt_ptr[0].numLevels
 *     @numLevels.setter             # <<<<<<<<<<<<<<
 *     def numLevels(self, unsigned int numLevels):
 *         self._pvt_ptr[0].numLevels = numLevels
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13173
 *     def numLevels(self, unsigned int numLevels):
 *         self._pvt_ptr[0].numLevels = numLevels
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13175
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13173
 *     def numLevels(self, unsigned int numLevels):
 *         self._pvt_ptr[0].numLevels = numLevels
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13176
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":13178
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct13:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(0, 13178, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (16));

  /* "cuda/bindings/driver.pyx":13176
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__, "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__, "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13194
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13194, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13194, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13194, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13194, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13194, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13194, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13194, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct13___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13195
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13194
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13197
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13197, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13197, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13197, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13197, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13197, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13197, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13197, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13199
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13201
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct13_6getPtr, "anon_struct13.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct13_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct13_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13202
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).handle.win32))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13201
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13203
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13204
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13205
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13206
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13207
 *             str_list = []
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_7 = __pyx_builtin_hex; 
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_handle_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13207, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13207, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_handle, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13207, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13207, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 13207, __pyx_L4_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13207, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":13206
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":13208
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 13208, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13209
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13209, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_handle_ValueError) != (0)) __PYX_ERR(0, 13209, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13209, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13206
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13210
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13211
 *                 str_list += ['handle : <ValueError>']
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']
*/
        __pyx_t_2 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_7 = __pyx_builtin_hex; 
        __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13211, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_11};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13211, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_name_2, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13211, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13211, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 13211, __pyx_L12_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13211, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":13210
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":13212
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_11) < 0) __PYX_ERR(0, 13212, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_11);

        /* "cuda/bindings/driver.pyx":13213
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13213, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_name_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_name_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_name_ValueError) != (0)) __PYX_ERR(0, 13213, __pyx_L14_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13213, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13210
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13214
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_11 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_r = __pyx_t_11;
    __pyx_t_11 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13204
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13216
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13203
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13217
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_6handle_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6handle___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13219
 *     @property
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).handle.win32.handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13217
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.handle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13220
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         _chandle = _HelperInputVoidPtr(handle)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6handle_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self), ((PyObject *)__pyx_v_handle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, PyObject *__pyx_v_handle) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__chandle = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13222
 *     @handle.setter
 *     def handle(self, handle):
 *         _chandle = _HelperInputVoidPtr(handle)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handle};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13222, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__chandle = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13223
 *     def handle(self, handle):
 *         _chandle = _HelperInputVoidPtr(handle)
 *         self._pvt_ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def name(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__chandle), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).handle.win32.handle = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":13220
 *     def handle(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         _chandle = _HelperInputVoidPtr(handle)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__chandle);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13224
 *         _chandle = _HelperInputVoidPtr(handle)
 *         self._pvt_ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4name___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4name___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13226
 *     @property
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name             # <<<<<<<<<<<<<<
 *     @name.setter
 *     def name(self, name):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).handle.win32.name)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13224
 *         _chandle = _HelperInputVoidPtr(handle)
 *         self._pvt_ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13227
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name
 *     @name.setter             # <<<<<<<<<<<<<<
 *     def name(self, name):
 *         _cname = _HelperInputVoidPtr(name)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4name_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_4name_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, PyObject *__pyx_v_name) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cname = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13229
 *     @name.setter
 *     def name(self, name):
 *         _cname = _HelperInputVoidPtr(name)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13229, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cname = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13230
 *     def name(self, name):
 *         _cname = _HelperInputVoidPtr(name)
 *         self._pvt_ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union6:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cname), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).handle.win32.name = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":13227
 *     def name(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.win32.name
 *     @name.setter             # <<<<<<<<<<<<<<
 *     def name(self, name):
 *         _cname = _HelperInputVoidPtr(name)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct13_10__reduce_cython__, "anon_struct13.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct13_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct13_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct13_12__setstate_cython__, "anon_struct13.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct13_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct13_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct13_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct13_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13248
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13248, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13248, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13248, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13248, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13248, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13248, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13248, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13249
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13248
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13251
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._win32 = anon_struct13(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13251, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13251, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13251, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13251, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13251, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13251, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13251, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13253
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._win32 = anon_struct13(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13253, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13253, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_win32);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_win32);
  __pyx_v_self->_win32 = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13251
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._win32 = anon_struct13(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13254
 *         pass
 *         self._win32 = anon_struct13(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union6_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union6_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11anon_union6_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11anon_union6_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13256
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union6_6getPtr, "anon_union6.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union6_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union6_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union6_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13257
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).handle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13256
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13258
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr159__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13259
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13260
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13261
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13262
 *             str_list = []
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fd_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13262, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13262, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_fd, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13262, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13262, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13262, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13262, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13261
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13263
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13263, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13264
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13264, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_fd_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_fd_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_fd_ValueError) != (0)) __PYX_ERR(0, 13264, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13264, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13261
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13265
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13266
 *                 str_list += ['fd : <ValueError>']
 *             try:
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13266, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_win32_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13266, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13266, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13266, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13266, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13266, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr159__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr159__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13266, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13266, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr159__pyx_v_line); __pyx_10genexpr159__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr159__pyx_v_line); __pyx_10genexpr159__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13266, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_win32, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13266, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13266, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13266, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13266, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13265
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13267
 *             try:
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 13267, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13268
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13268, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_win32_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_win32_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_win32_ValueError) != (0)) __PYX_ERR(0, 13268, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13268, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13265
 *             except ValueError:
 *                 str_list += ['fd : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13269
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13270
 *                 str_list += ['win32 : <ValueError>']
 *             try:
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['nvSciSyncObj : <ValueError>']
*/
        __pyx_t_2 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_8 = __pyx_builtin_hex; 
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_nvSciSyncObj_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13270, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
          __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13270, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
        }
        __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_nvSciSyncObj, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13270, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13270, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13270, __pyx_L27_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13270, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13269
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13271
 *             try:
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSyncObj : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_9) < 0) __PYX_ERR(0, 13271, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":13272
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             except ValueError:
 *                 str_list += ['nvSciSyncObj : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13272, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_nvSciSyncObj_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_nvSciSyncObj_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_u_nvSciSyncObj_ValueError) != (0)) __PYX_ERR(0, 13272, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13272, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":13269
 *             except ValueError:
 *                 str_list += ['win32 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13273
 *             except ValueError:
 *                 str_list += ['nvSciSyncObj : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_9 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13259
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13275
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fd(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13258
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr159__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13276
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_2fd_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_2fd_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_2fd___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_2fd___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13278
 *     @property
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd             # <<<<<<<<<<<<<<
 *     @fd.setter
 *     def fd(self, int fd):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).handle.fd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13276
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.fd.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13279
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd
 *     @fd.setter             # <<<<<<<<<<<<<<
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd) {
  int __pyx_v_fd;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_fd); {
    __pyx_v_fd = __Pyx_PyLong_As_int(__pyx_arg_fd); if (unlikely((__pyx_v_fd == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13280, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_2fd_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self), ((int)__pyx_v_fd));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6_2fd_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, int __pyx_v_fd) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13281
 *     @fd.setter
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd             # <<<<<<<<<<<<<<
 *     @property
 *     def win32(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).handle.fd = __pyx_v_fd;

  /* "cuda/bindings/driver.pyx":13279
 *     def fd(self):
 *         return self._pvt_ptr[0].handle.fd
 *     @fd.setter             # <<<<<<<<<<<<<<
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13282
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd
 *     @property             # <<<<<<<<<<<<<<
 *     def win32(self):
 *         return self._win32
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_5win32_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_5win32_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_5win32___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_5win32___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13284
 *     @property
 *     def win32(self):
 *         return self._win32             # <<<<<<<<<<<<<<
 *     @win32.setter
 *     def win32(self, win32 not None : anon_struct13):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_win32);
  __pyx_r = ((PyObject *)__pyx_v_self->_win32);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13282
 *     def fd(self, int fd):
 *         self._pvt_ptr[0].handle.fd = fd
 *     @property             # <<<<<<<<<<<<<<
 *     def win32(self):
 *         return self._win32
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13285
 *     def win32(self):
 *         return self._win32
 *     @win32.setter             # <<<<<<<<<<<<<<
 *     def win32(self, win32 not None : anon_struct13):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct13*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_win32), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13, 0, "win32", 0))) __PYX_ERR(0, 13286, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_5win32_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)__pyx_v_win32));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6_5win32_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *__pyx_v_win32) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13287
 *     @win32.setter
 *     def win32(self, win32 not None : anon_struct13):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct13*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSyncObj(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_win32);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).handle.win32), ((struct anon_struct13 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).handle.win32))));

  /* "cuda/bindings/driver.pyx":13285
 *     def win32(self):
 *         return self._win32
 *     @win32.setter             # <<<<<<<<<<<<<<
 *     def win32(self, win32 not None : anon_struct13):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct13*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.win32.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13288
 *     def win32(self, win32 not None : anon_struct13):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct13*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciSyncObj
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13290
 *     @property
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciSyncObj             # <<<<<<<<<<<<<<
 *     @nvSciSyncObj.setter
 *     def nvSciSyncObj(self, nvSciSyncObj):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).handle.nvSciSyncObj)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13288
 *     def win32(self, win32 not None : anon_struct13):
 *         string.memcpy(&self._pvt_ptr[0].handle.win32, <cydriver.anon_struct13*><void_ptr>win32.getPtr(), sizeof(self._pvt_ptr[0].handle.win32))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciSyncObj
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.nvSciSyncObj.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13291
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciSyncObj
 *     @nvSciSyncObj.setter             # <<<<<<<<<<<<<<
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = _HelperInputVoidPtr(nvSciSyncObj)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self), ((PyObject *)__pyx_v_nvSciSyncObj));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cnvSciSyncObj = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13293
 *     @nvSciSyncObj.setter
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = _HelperInputVoidPtr(nvSciSyncObj)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].handle.nvSciSyncObj = <void*><void_ptr>_cnvSciSyncObj.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_nvSciSyncObj};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13293, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cnvSciSyncObj = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13294
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = _HelperInputVoidPtr(nvSciSyncObj)
 *         self._pvt_ptr[0].handle.nvSciSyncObj = <void*><void_ptr>_cnvSciSyncObj.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cnvSciSyncObj), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).handle.nvSciSyncObj = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":13291
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._pvt_ptr[0].handle.nvSciSyncObj
 *     @nvSciSyncObj.setter             # <<<<<<<<<<<<<<
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = _HelperInputVoidPtr(nvSciSyncObj)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.nvSciSyncObj.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cnvSciSyncObj);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union6_10__reduce_cython__, "anon_union6.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union6_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union6_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union6_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union6_12__setstate_cython__, "anon_union6.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union6_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union6_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union6_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union6_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union6_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union6_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13316
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13316, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13316, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13316, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13316, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":13317
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13318
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)calloc(1, (sizeof(struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))));

    /* "cuda/bindings/driver.pyx":13319
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":13317
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13321
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":13316
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13322
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._handle = anon_union6(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13322, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13322, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13322, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13322, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13322, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13322, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13324
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._handle = anon_union6(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union6);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union6); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13324, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13324, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_handle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_handle);
  __pyx_v_self->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13322
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._handle = anon_union6(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13325
 *         pass
 *         self._handle = anon_union6(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":13326
 *         self._handle = anon_union6(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13327
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":13326
 *         self._handle = anon_union6(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":13325
 *         pass
 *         self._handle = anon_union6(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13328
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr, "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13329
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13328
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13330
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr160__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13331
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13332
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13333
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13334
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13334, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13334, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13334, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13334, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13334, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13334, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13333
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13335
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13335, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13336
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13336, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 13336, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13336, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13333
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13337
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13338
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13338, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_handle_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13338, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13338, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13338, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13338, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13338, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr160__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr160__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13338, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13338, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr160__pyx_v_line); __pyx_10genexpr160__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr160__pyx_v_line); __pyx_10genexpr160__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13338, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_handle_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13338, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13338, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13338, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13338, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13337
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13339
 *             try:
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 13339, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13340
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13340, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_handle_ValueError) != (0)) __PYX_ERR(0, 13340, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13340, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13337
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13341
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13342
 *                 str_list += ['handle : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13342, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13342, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13342, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13342, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 13342, __pyx_L27_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13342, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":13341
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13343
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 13343, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13344
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13344, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 13344, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13344, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":13341
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13345
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13346
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13346, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13346, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13346, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13346, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13346, __pyx_L35_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13346, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13345
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13347
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 13347, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13348
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13348, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13348, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13348, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":13345
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13349
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13331
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13351
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13330
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr160__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13352
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalSemaphoreHandleType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13354
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalSemaphoreHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUexternalSemaphoreHandleType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUexternalSemaphoreHandleT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 13354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":13355
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalSemaphoreHandleType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUexternalSemaphoreHandleType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13354
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalSemaphoreHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUexternalSemaphoreHandleType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":13356
 *         if self._pvt_ptr[0].type not in _dict_CUexternalSemaphoreHandleType:
 *             return None
 *         return _dict_CUexternalSemaphoreHandleType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUexternalSemaphoreHandleT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13352
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUexternalSemaphoreHandleType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13357
 *             return None
 *         return _dict_CUexternalSemaphoreHandleType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 13358, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUexternalSemaphoreHandleType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13359
 *     @type.setter
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUexternalSemaphoreHandleType_enum)__Pyx_PyLong_As_enum__CUexternalSemaphoreHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":13357
 *             return None
 *         return _dict_CUexternalSemaphoreHandleType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13360
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13362
 *     @property
 *     def handle(self):
 *         return self._handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle not None : anon_union6):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_handle);
  __pyx_r = ((PyObject *)__pyx_v_self->_handle);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13360
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13363
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_handle), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union6, 0, "handle", 0))) __PYX_ERR(0, 13364, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)__pyx_v_handle));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *__pyx_v_handle) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13365
 *     @handle.setter
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_handle);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).handle), ((union anon_union6 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).handle))));

  /* "cuda/bindings/driver.pyx":13363
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13366
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13368
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13366
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._pvt_ptr[0].handle, <cydriver.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._pvt_ptr[0].handle))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13369
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13370, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13371
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":13369
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13372
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13374
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13372
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13375
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":13377
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct14:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(0, 13377, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (16));

  /* "cuda/bindings/driver.pyx":13375
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__, "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__, "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13391
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13391, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13391, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13391, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13391, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13391, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13391, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13391, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct14___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct14___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13392
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13391
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13394
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13394, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13394, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13394, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13394, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13394, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13394, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13394, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13396
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13398
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct14_6getPtr, "anon_struct14.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct14_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct14_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13399
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.fence             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).params.fence))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13398
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13400
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13401
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13402
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13403
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13404
 *             str_list = []
 *             try:
 *                 str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13404, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13404, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13404, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13404, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13404, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13404, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13403
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13405
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13405, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13406
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13406, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_value_ValueError) != (0)) __PYX_ERR(0, 13406, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13406, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13403
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13407
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13401
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13409
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13400
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13410
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_5value___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13412
 *     @property
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, unsigned long long value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).params.fence.value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13410
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13413
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned long long value):
 *         self._pvt_ptr[0].params.fence.value = value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned PY_LONG_LONG __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13414, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_5value_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13415
 *     @value.setter
 *     def value(self, unsigned long long value):
 *         self._pvt_ptr[0].params.fence.value = value             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union7:
*/
  (__pyx_v_self->_pvt_ptr[0]).params.fence.value = __pyx_v_value;

  /* "cuda/bindings/driver.pyx":13413
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned long long value):
 *         self._pvt_ptr[0].params.fence.value = value
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct14_10__reduce_cython__, "anon_struct14.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct14_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct14_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct14_12__setstate_cython__, "anon_struct14.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct14_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct14_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct14_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct14_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct14.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13431
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union7_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union7_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13431, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13431, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13431, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13431, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13431, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13431, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13431, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union7___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13432
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13431
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13434
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union7_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union7_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13434, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13434, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13434, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13434, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13434, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13434, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union7_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13436
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union7_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union7_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11anon_union7_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11anon_union7_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13438
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union7_6getPtr, "anon_union7.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union7_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union7_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union7_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13439
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).params.nvSciSync))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13438
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13440
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13441
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13442
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13443
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13444
 *             str_list = []
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_7 = __pyx_builtin_hex; 
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fence_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13444, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13444, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_fence, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13444, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13444, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 13444, __pyx_L4_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13444, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":13443
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":13445
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 13445, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13446
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13446, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_fence_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_fence_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_fence_ValueError) != (0)) __PYX_ERR(0, 13446, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13446, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13443
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13447
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13448
 *                 str_list += ['fence : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13448, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13448, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13448, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13448, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13448, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13448, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13447
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":13449
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 13449, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":13450
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13450, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13450, __pyx_L14_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13450, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13447
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13451
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13441
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13453
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fence(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13440
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13454
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_5fence_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_5fence___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_5fence___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13456
 *     @property
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).params.nvSciSync.fence)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13454
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.fence.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13457
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence):
 *         _cfence = _HelperInputVoidPtr(fence)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union7_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union7_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_5fence_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self), ((PyObject *)__pyx_v_fence));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union7_5fence_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, PyObject *__pyx_v_fence) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cfence = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13459
 *     @fence.setter
 *     def fence(self, fence):
 *         _cfence = _HelperInputVoidPtr(fence)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_fence};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13459, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cfence = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13460
 *     def fence(self, fence):
 *         _cfence = _HelperInputVoidPtr(fence)
 *         self._pvt_ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cfence), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).params.nvSciSync.fence = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":13457
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence):
 *         _cfence = _HelperInputVoidPtr(fence)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cfence);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13461
 *         _cfence = _HelperInputVoidPtr(fence)
 *         self._pvt_ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13463
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).params.nvSciSync.reserved); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13461
 *         _cfence = _HelperInputVoidPtr(fence)
 *         self._pvt_ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13464
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, unsigned long long reserved):
 *         self._pvt_ptr[0].params.nvSciSync.reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union7_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union7_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved) {
  unsigned PY_LONG_LONG __pyx_v_reserved;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_reserved); {
    __pyx_v_reserved = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_reserved); if (unlikely((__pyx_v_reserved == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13465, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union7_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13466
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):
 *         self._pvt_ptr[0].params.nvSciSync.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct15:
*/
  (__pyx_v_self->_pvt_ptr[0]).params.nvSciSync.reserved = __pyx_v_reserved;

  /* "cuda/bindings/driver.pyx":13464
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, unsigned long long reserved):
 *         self._pvt_ptr[0].params.nvSciSync.reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union7_10__reduce_cython__, "anon_union7.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union7_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union7_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union7_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union7_12__setstate_cython__, "anon_union7.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union7_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union7_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union7_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union7_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union7_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union7_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13480
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13480, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13480, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13480, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13480, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13480, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13480, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct15___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct15___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13481
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13480
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13483
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13483, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13483, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13483, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13483, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13483, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13483, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13483, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13485
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13487
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct15_6getPtr, "anon_struct15.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct15_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct15_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13488
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).params.keyedMutex))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13487
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13489
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13490
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13491
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['key : ' + str(self.key)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13492
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13493
 *             str_list = []
 *             try:
 *                 str_list += ['key : ' + str(self.key)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_key_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13493, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13493, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_key, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13493, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13493, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13493, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13493, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13492
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13494
 *             try:
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13494, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13495
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13495, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_key_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_key_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_key_ValueError) != (0)) __PYX_ERR(0, 13495, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13495, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13492
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13496
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13490
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13498
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def key(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13489
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13499
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3key_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3key_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_3key___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_3key___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13501
 *     @property
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key             # <<<<<<<<<<<<<<
 *     @key.setter
 *     def key(self, unsigned long long key):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).params.keyedMutex.key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13499
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.key.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13502
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key
 *     @key.setter             # <<<<<<<<<<<<<<
 *     def key(self, unsigned long long key):
 *         self._pvt_ptr[0].params.keyedMutex.key = key
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key) {
  unsigned PY_LONG_LONG __pyx_v_key;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_key); {
    __pyx_v_key = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_key); if (unlikely((__pyx_v_key == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13503, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_3key_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_key));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_3key_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13504
 *     @key.setter
 *     def key(self, unsigned long long key):
 *         self._pvt_ptr[0].params.keyedMutex.key = key             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct16:
*/
  (__pyx_v_self->_pvt_ptr[0]).params.keyedMutex.key = __pyx_v_key;

  /* "cuda/bindings/driver.pyx":13502
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key
 *     @key.setter             # <<<<<<<<<<<<<<
 *     def key(self, unsigned long long key):
 *         self._pvt_ptr[0].params.keyedMutex.key = key
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct15_10__reduce_cython__, "anon_struct15.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct15_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct15_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct15_12__setstate_cython__, "anon_struct15.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct15_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct15_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct15_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct15_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct15.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13524
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13524, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13524, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13524, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13524, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13524, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13524, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13524, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13525
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13524
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13527
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fence = anon_struct14(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13527, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13527, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13527, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13527, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13527, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13527, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13529
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._fence = anon_struct14(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._pvt_ptr)
 *         self._keyedMutex = anon_struct15(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13529, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13529, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_fence);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_fence);
  __pyx_v_self->_fence = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13530
 *         pass
 *         self._fence = anon_struct14(_ptr=<void_ptr>self._pvt_ptr)
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._keyedMutex = anon_struct15(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union7);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union7); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13530, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13530, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_nvSciSync);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_nvSciSync);
  __pyx_v_self->_nvSciSync = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13531
 *         self._fence = anon_struct14(_ptr=<void_ptr>self._pvt_ptr)
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._pvt_ptr)
 *         self._keyedMutex = anon_struct15(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13531, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13531, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_keyedMutex);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_keyedMutex);
  __pyx_v_self->_keyedMutex = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13527
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fence = anon_struct14(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13532
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._pvt_ptr)
 *         self._keyedMutex = anon_struct15(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13534
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct16_6getPtr, "anon_struct16.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct16_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct16_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13535
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).params))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13534
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13536
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr161__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr162__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr163__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13537
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13538
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13539
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13540
 *             str_list = []
 *             try:
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13540, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fence_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13540, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13540, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13540, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13540, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13540, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr161__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr161__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13540, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13540, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr161__pyx_v_line); __pyx_10genexpr161__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr161__pyx_v_line); __pyx_10genexpr161__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_fence_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13540, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13539
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13541
 *             try:
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 13541, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13542
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13542, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_fence_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_fence_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_fence_ValueError) != (0)) __PYX_ERR(0, 13542, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13542, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13539
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13543
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13544
 *                 str_list += ['fence : <ValueError>']
 *             try:
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13544, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_nvSciSync_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13544, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13544, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13544, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13544, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13544, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr162__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr162__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13544, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 13544, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr162__pyx_v_line); __pyx_10genexpr162__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr162__pyx_v_line); __pyx_10genexpr162__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13544, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_nvSciSync, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13544, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13544, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 13544, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13544, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":13543
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13545
 *             try:
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 13545, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":13546
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13546, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_nvSciSync_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_nvSciSync_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_nvSciSync_ValueError) != (0)) __PYX_ERR(0, 13546, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13546, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":13543
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13547
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13548
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13548, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_keyedMutex_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13548, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13548, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13548, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13548, __pyx_L42_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13548, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr163__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr163__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13548, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 13548, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr163__pyx_v_line); __pyx_10genexpr163__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_10genexpr163__pyx_v_line); __pyx_10genexpr163__pyx_v_line = 0;
          goto __pyx_L34_error;
          __pyx_L46_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13548, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_keyedMutex, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13548, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13548, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 13548, __pyx_L34_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13548, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":13547
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L39_try_end;
      __pyx_L34_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13549
 *             try:
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13549, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13550
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13550, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_keyedMutex_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_keyedMutex_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_keyedMutex_ValueError) != (0)) __PYX_ERR(0, 13550, __pyx_L36_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13550, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L35_exception_handled;
      }
      goto __pyx_L36_except_error;

      /* "cuda/bindings/driver.pyx":13547
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:
*/
      __pyx_L36_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L35_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L39_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13551
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13552
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13552, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13552, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13552, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13552, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13552, __pyx_L49_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13552, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13551
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L54_try_end;
      __pyx_L49_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13553
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 13553, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":13554
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13554, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13554, __pyx_L51_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13554, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L50_exception_handled;
      }
      goto __pyx_L51_except_error;

      /* "cuda/bindings/driver.pyx":13551
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L51_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L50_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L54_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13555
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13537
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13557
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fence(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13536
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr161__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr162__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr163__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13558
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return self._fence
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5fence_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_5fence___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_5fence___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13560
 *     @property
 *     def fence(self):
 *         return self._fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence not None : anon_struct14):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_fence);
  __pyx_r = ((PyObject *)__pyx_v_self->_fence);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13558
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return self._fence
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13561
 *     def fence(self):
 *         return self._fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence not None : anon_struct14):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct14*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fence), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14, 0, "fence", 0))) __PYX_ERR(0, 13562, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_5fence_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)__pyx_v_fence));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_5fence_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *__pyx_v_fence) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13563
 *     @fence.setter
 *     def fence(self, fence not None : anon_struct14):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct14*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSync(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_fence);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).params.fence), ((struct anon_struct14 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).params.fence))));

  /* "cuda/bindings/driver.pyx":13561
 *     def fence(self):
 *         return self._fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence not None : anon_struct14):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct14*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13564
 *     def fence(self, fence not None : anon_struct14):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct14*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSync(self):
 *         return self._nvSciSync
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13566
 *     @property
 *     def nvSciSync(self):
 *         return self._nvSciSync             # <<<<<<<<<<<<<<
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_nvSciSync);
  __pyx_r = ((PyObject *)__pyx_v_self->_nvSciSync);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13564
 *     def fence(self, fence not None : anon_struct14):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct14*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSync(self):
 *         return self._nvSciSync
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13567
 *     def nvSciSync(self):
 *         return self._nvSciSync
 *     @nvSciSync.setter             # <<<<<<<<<<<<<<
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nvSciSync), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union7, 0, "nvSciSync", 0))) __PYX_ERR(0, 13568, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)__pyx_v_nvSciSync));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *__pyx_v_nvSciSync) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13569
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))             # <<<<<<<<<<<<<<
 *     @property
 *     def keyedMutex(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_nvSciSync);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).params.nvSciSync), ((union anon_union7 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).params.nvSciSync))));

  /* "cuda/bindings/driver.pyx":13567
 *     def nvSciSync(self):
 *         return self._nvSciSync
 *     @nvSciSync.setter             # <<<<<<<<<<<<<<
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.nvSciSync.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13570
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))
 *     @property             # <<<<<<<<<<<<<<
 *     def keyedMutex(self):
 *         return self._keyedMutex
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13572
 *     @property
 *     def keyedMutex(self):
 *         return self._keyedMutex             # <<<<<<<<<<<<<<
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : anon_struct15):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_keyedMutex);
  __pyx_r = ((PyObject *)__pyx_v_self->_keyedMutex);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13570
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))
 *     @property             # <<<<<<<<<<<<<<
 *     def keyedMutex(self):
 *         return self._keyedMutex
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13573
 *     def keyedMutex(self):
 *         return self._keyedMutex
 *     @keyedMutex.setter             # <<<<<<<<<<<<<<
 *     def keyedMutex(self, keyedMutex not None : anon_struct15):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct15*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_keyedMutex), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15, 0, "keyedMutex", 0))) __PYX_ERR(0, 13574, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)__pyx_v_keyedMutex));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *__pyx_v_keyedMutex) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13575
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : anon_struct15):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct15*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_keyedMutex);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).params.keyedMutex), ((struct anon_struct15 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).params.keyedMutex))));

  /* "cuda/bindings/driver.pyx":13573
 *     def keyedMutex(self):
 *         return self._keyedMutex
 *     @keyedMutex.setter             # <<<<<<<<<<<<<<
 *     def keyedMutex(self, keyedMutex not None : anon_struct15):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct15*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.keyedMutex.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13576
 *     def keyedMutex(self, keyedMutex not None : anon_struct15):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct15*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13578
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).params.reserved, 12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13576
 *     def keyedMutex(self, keyedMutex not None : anon_struct15):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct15*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13579
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].params.reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[12];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":13581
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].params.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 12) < 0))) __PYX_ERR(0, 13581, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).params.reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).params.reserved[0]) * (12));

  /* "cuda/bindings/driver.pyx":13579
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].params.reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct16_10__reduce_cython__, "anon_struct16.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct16_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct16_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct16_12__setstate_cython__, "anon_struct16.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct16_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct16_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct16_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct16_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct16.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13608
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13608, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13608, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13608, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13608, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13608, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13608, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":13609
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13610
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":13609
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13612
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":13608
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13613
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._params = anon_struct16(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13613, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13613, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13613, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13613, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13613, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13613, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13615
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._params = anon_struct16(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13615, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13615, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_params);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_params);
  __pyx_v_self->_params = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13613
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._params = anon_struct16(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13616
 *         pass
 *         self._params = anon_struct16(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13618
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr, "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13619
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13618
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13620
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr164__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13621
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13622
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13623
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13624
 *             str_list = []
 *             try:
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13624, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_params_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13624, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13624, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13624, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13624, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13624, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr164__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr164__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13624, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13624, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr164__pyx_v_line); __pyx_10genexpr164__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr164__pyx_v_line); __pyx_10genexpr164__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13624, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_params, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13624, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13624, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13624, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13624, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13623
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13625
 *             try:
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['params : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 13625, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13626
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13626, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_params_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_params_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_params_ValueError) != (0)) __PYX_ERR(0, 13626, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13626, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13623
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13627
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13628
 *                 str_list += ['params : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13628, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13628, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13628, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13628, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 13628, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13628, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":13627
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13629
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 13629, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13630
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13630, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 13630, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13630, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":13627
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13631
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13632
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13632, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13632, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13632, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13632, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13632, __pyx_L27_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13632, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13631
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13633
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 13633, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13634
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13634, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13634, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13634, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":13631
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13635
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13621
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13637
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def params(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13620
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr164__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13638
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def params(self):
 *         return self._params
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13640
 *     @property
 *     def params(self):
 *         return self._params             # <<<<<<<<<<<<<<
 *     @params.setter
 *     def params(self, params not None : anon_struct16):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_params);
  __pyx_r = ((PyObject *)__pyx_v_self->_params);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13638
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def params(self):
 *         return self._params
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13641
 *     def params(self):
 *         return self._params
 *     @params.setter             # <<<<<<<<<<<<<<
 *     def params(self, params not None : anon_struct16):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct16*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_params), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16, 0, "params", 0))) __PYX_ERR(0, 13642, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)__pyx_v_params));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *__pyx_v_params) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13643
 *     @params.setter
 *     def params(self, params not None : anon_struct16):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct16*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_params);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).params), ((struct anon_struct16 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).params))));

  /* "cuda/bindings/driver.pyx":13641
 *     def params(self):
 *         return self._params
 *     @params.setter             # <<<<<<<<<<<<<<
 *     def params(self, params not None : anon_struct16):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct16*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.params.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13644
 *     def params(self, params not None : anon_struct16):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct16*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13646
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13644
 *     def params(self, params not None : anon_struct16):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct16*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13647
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13648, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13649
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":13647
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13650
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13652
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13650
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13653
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":13655
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct17:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(0, 13655, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (16));

  /* "cuda/bindings/driver.pyx":13653
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__, "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__, "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13669
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13669, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13669, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13669, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13669, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13669, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13669, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13669, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct17___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct17___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13670
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13669
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13672
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13672, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13672, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13672, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13672, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13672, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13672, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13672, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13674
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13676
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct17_6getPtr, "anon_struct17.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct17_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct17_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13677
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.fence             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).params.fence))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13676
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13678
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13679
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13680
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13681
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13682
 *             str_list = []
 *             try:
 *                 str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13682, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13682, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_value_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13682, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13682, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13682, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13682, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13681
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13683
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13683, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13684
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13684, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_value_ValueError) != (0)) __PYX_ERR(0, 13684, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13684, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13681
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13685
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13679
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13687
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13678
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13688
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_5value___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13690
 *     @property
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, unsigned long long value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).params.fence.value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13688
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13691
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned long long value):
 *         self._pvt_ptr[0].params.fence.value = value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned PY_LONG_LONG __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13692, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_5value_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13693
 *     @value.setter
 *     def value(self, unsigned long long value):
 *         self._pvt_ptr[0].params.fence.value = value             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union8:
*/
  (__pyx_v_self->_pvt_ptr[0]).params.fence.value = __pyx_v_value;

  /* "cuda/bindings/driver.pyx":13691
 *     def value(self):
 *         return self._pvt_ptr[0].params.fence.value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned long long value):
 *         self._pvt_ptr[0].params.fence.value = value
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct17_10__reduce_cython__, "anon_struct17.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct17_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct17_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct17_12__setstate_cython__, "anon_struct17.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct17_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct17_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct17_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct17_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct17.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13709
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union8_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union8_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13709, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13709, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13709, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13709, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13709, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13709, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13709, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union8___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13710
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13709
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13712
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union8_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union8_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13712, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13712, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13712, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13712, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13712, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13712, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13712, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union8_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13714
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union8_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union8_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11anon_union8_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11anon_union8_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13716
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union8_6getPtr, "anon_union8.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union8_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union8_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union8_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13717
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).params.nvSciSync))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13716
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13718
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13719
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13720
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13721
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13722
 *             str_list = []
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_7 = __pyx_builtin_hex; 
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fence_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13722, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13722, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_fence, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13722, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13722, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 13722, __pyx_L4_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13722, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":13721
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":13723
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 13723, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13724
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13724, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_fence_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_fence_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_fence_ValueError) != (0)) __PYX_ERR(0, 13724, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13724, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13721
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13725
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13726
 *                 str_list += ['fence : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13726, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13726, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13726, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13726, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13726, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13726, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13725
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/bindings/driver.pyx":13727
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 13727, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":13728
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13728, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13728, __pyx_L14_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13728, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13725
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13729
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13719
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13731
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fence(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13718
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13732
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_5fence_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_5fence___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_5fence___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13734
 *     @property
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).params.nvSciSync.fence)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13732
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.fence.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13735
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence):
 *         _cfence = _HelperInputVoidPtr(fence)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union8_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union8_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_5fence_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self), ((PyObject *)__pyx_v_fence));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union8_5fence_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, PyObject *__pyx_v_fence) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cfence = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13737
 *     @fence.setter
 *     def fence(self, fence):
 *         _cfence = _HelperInputVoidPtr(fence)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_fence};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13737, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cfence = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13738
 *     def fence(self, fence):
 *         _cfence = _HelperInputVoidPtr(fence)
 *         self._pvt_ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cfence), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13738, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).params.nvSciSync.fence = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":13735
 *     def fence(self):
 *         return <void_ptr>self._pvt_ptr[0].params.nvSciSync.fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence):
 *         _cfence = _HelperInputVoidPtr(fence)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cfence);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13739
 *         _cfence = _HelperInputVoidPtr(fence)
 *         self._pvt_ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13741
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).params.nvSciSync.reserved); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13739
 *         _cfence = _HelperInputVoidPtr(fence)
 *         self._pvt_ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13742
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, unsigned long long reserved):
 *         self._pvt_ptr[0].params.nvSciSync.reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union8_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union8_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved) {
  unsigned PY_LONG_LONG __pyx_v_reserved;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_reserved); {
    __pyx_v_reserved = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_reserved); if (unlikely((__pyx_v_reserved == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13743, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union8_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13744
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):
 *         self._pvt_ptr[0].params.nvSciSync.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct18:
*/
  (__pyx_v_self->_pvt_ptr[0]).params.nvSciSync.reserved = __pyx_v_reserved;

  /* "cuda/bindings/driver.pyx":13742
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.nvSciSync.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, unsigned long long reserved):
 *         self._pvt_ptr[0].params.nvSciSync.reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union8_10__reduce_cython__, "anon_union8.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union8_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union8_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union8_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union8_12__setstate_cython__, "anon_union8.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union8_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union8_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union8_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union8_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union8_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union8_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13760
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13760, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13760, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13760, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13760, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13760, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13760, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13760, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct18___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13761
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13760
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13763
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13763, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13763, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13763, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13763, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13763, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13763, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13763, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13765
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13767
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct18_6getPtr, "anon_struct18.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct18_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct18_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13768
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).params.keyedMutex))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13767
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13769
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13770
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13771
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['key : ' + str(self.key)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13772
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13773
 *             str_list = []
 *             try:
 *                 str_list += ['key : ' + str(self.key)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_key_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13773, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13773, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_key, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13773, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13773, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13773, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13773, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13772
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13774
 *             try:
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13774, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13775
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13775, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_key_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_key_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_key_ValueError) != (0)) __PYX_ERR(0, 13775, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13775, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13772
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13776
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13777
 *                 str_list += ['key : <ValueError>']
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_timeoutMs_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13777, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13777, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_timeoutMs, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13777, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13777, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13777, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13777, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13776
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13778
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13778, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13779
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13779, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_timeoutMs_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_timeoutMs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_timeoutMs_ValueError) != (0)) __PYX_ERR(0, 13779, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13779, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13776
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13780
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13770
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13782
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def key(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13769
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13783
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3key_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3key_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_3key___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_3key___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13785
 *     @property
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key             # <<<<<<<<<<<<<<
 *     @key.setter
 *     def key(self, unsigned long long key):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).params.keyedMutex.key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13783
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.key.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13786
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key
 *     @key.setter             # <<<<<<<<<<<<<<
 *     def key(self, unsigned long long key):
 *         self._pvt_ptr[0].params.keyedMutex.key = key
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key) {
  unsigned PY_LONG_LONG __pyx_v_key;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_key); {
    __pyx_v_key = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_key); if (unlikely((__pyx_v_key == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13787, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_3key_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_key));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_3key_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13788
 *     @key.setter
 *     def key(self, unsigned long long key):
 *         self._pvt_ptr[0].params.keyedMutex.key = key             # <<<<<<<<<<<<<<
 *     @property
 *     def timeoutMs(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).params.keyedMutex.key = __pyx_v_key;

  /* "cuda/bindings/driver.pyx":13786
 *     def key(self):
 *         return self._pvt_ptr[0].params.keyedMutex.key
 *     @key.setter             # <<<<<<<<<<<<<<
 *     def key(self, unsigned long long key):
 *         self._pvt_ptr[0].params.keyedMutex.key = key
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13789
 *     def key(self, unsigned long long key):
 *         self._pvt_ptr[0].params.keyedMutex.key = key
 *     @property             # <<<<<<<<<<<<<<
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].params.keyedMutex.timeoutMs
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13791
 *     @property
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].params.keyedMutex.timeoutMs             # <<<<<<<<<<<<<<
 *     @timeoutMs.setter
 *     def timeoutMs(self, unsigned int timeoutMs):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).params.keyedMutex.timeoutMs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13789
 *     def key(self, unsigned long long key):
 *         self._pvt_ptr[0].params.keyedMutex.key = key
 *     @property             # <<<<<<<<<<<<<<
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].params.keyedMutex.timeoutMs
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.timeoutMs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13792
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].params.keyedMutex.timeoutMs
 *     @timeoutMs.setter             # <<<<<<<<<<<<<<
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._pvt_ptr[0].params.keyedMutex.timeoutMs = timeoutMs
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_timeoutMs); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_timeoutMs) {
  unsigned int __pyx_v_timeoutMs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_timeoutMs); {
    __pyx_v_timeoutMs = __Pyx_PyLong_As_unsigned_int(__pyx_arg_timeoutMs); if (unlikely((__pyx_v_timeoutMs == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13793, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.timeoutMs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self), ((unsigned int)__pyx_v_timeoutMs));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, unsigned int __pyx_v_timeoutMs) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13794
 *     @timeoutMs.setter
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._pvt_ptr[0].params.keyedMutex.timeoutMs = timeoutMs             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct19:
*/
  (__pyx_v_self->_pvt_ptr[0]).params.keyedMutex.timeoutMs = __pyx_v_timeoutMs;

  /* "cuda/bindings/driver.pyx":13792
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].params.keyedMutex.timeoutMs
 *     @timeoutMs.setter             # <<<<<<<<<<<<<<
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._pvt_ptr[0].params.keyedMutex.timeoutMs = timeoutMs
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct18_10__reduce_cython__, "anon_struct18.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct18_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct18_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct18_12__setstate_cython__, "anon_struct18.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct18_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct18_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct18_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct18_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct18.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13814
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13814, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13814, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13814, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 13814, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13814, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13814, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13814, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13815
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":13814
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13817
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fence = anon_struct17(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13817, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13817, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13817, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 13817, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13817, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13817, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13817, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13819
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._fence = anon_struct17(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._pvt_ptr)
 *         self._keyedMutex = anon_struct18(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13819, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13819, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_fence);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_fence);
  __pyx_v_self->_fence = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13820
 *         pass
 *         self._fence = anon_struct17(_ptr=<void_ptr>self._pvt_ptr)
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._keyedMutex = anon_struct18(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union8);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union8); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13820, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13820, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_nvSciSync);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_nvSciSync);
  __pyx_v_self->_nvSciSync = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13821
 *         self._fence = anon_struct17(_ptr=<void_ptr>self._pvt_ptr)
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._pvt_ptr)
 *         self._keyedMutex = anon_struct18(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13821, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13821, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_keyedMutex);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_keyedMutex);
  __pyx_v_self->_keyedMutex = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13817
 *         self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fence = anon_struct17(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13822
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._pvt_ptr)
 *         self._keyedMutex = anon_struct18(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13824
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct19_6getPtr, "anon_struct19.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct19_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct19_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13825
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).params))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13824
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13826
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr165__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr166__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr167__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13827
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13828
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13829
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13830
 *             str_list = []
 *             try:
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13830, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fence_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13830, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13830, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13830, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13830, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13830, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr165__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr165__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13830, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13830, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr165__pyx_v_line); __pyx_10genexpr165__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr165__pyx_v_line); __pyx_10genexpr165__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13830, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_fence_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13830, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13830, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13830, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13830, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13829
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13831
 *             try:
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 13831, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13832
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13832, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_fence_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_fence_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_fence_ValueError) != (0)) __PYX_ERR(0, 13832, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13832, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13829
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13833
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13834
 *                 str_list += ['fence : <ValueError>']
 *             try:
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13834, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_nvSciSync_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13834, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13834, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13834, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13834, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13834, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr166__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr166__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13834, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 13834, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr166__pyx_v_line); __pyx_10genexpr166__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr166__pyx_v_line); __pyx_10genexpr166__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13834, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_nvSciSync, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13834, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13834, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 13834, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13834, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":13833
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13835
 *             try:
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 13835, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":13836
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13836, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_nvSciSync_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_nvSciSync_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_nvSciSync_ValueError) != (0)) __PYX_ERR(0, 13836, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13836, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":13833
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13837
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13838
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13838, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_keyedMutex_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13838, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13838, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13838, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13838, __pyx_L42_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13838, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr167__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr167__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13838, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 13838, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr167__pyx_v_line); __pyx_10genexpr167__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_10genexpr167__pyx_v_line); __pyx_10genexpr167__pyx_v_line = 0;
          goto __pyx_L34_error;
          __pyx_L46_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13838, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_keyedMutex, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13838, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13838, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 13838, __pyx_L34_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13838, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":13837
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L39_try_end;
      __pyx_L34_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13839
 *             try:
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13839, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13840
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13840, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_keyedMutex_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_keyedMutex_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_keyedMutex_ValueError) != (0)) __PYX_ERR(0, 13840, __pyx_L36_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13840, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L35_exception_handled;
      }
      goto __pyx_L36_except_error;

      /* "cuda/bindings/driver.pyx":13837
 *             except ValueError:
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:
*/
      __pyx_L36_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L35_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L39_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13841
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13842
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13842, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13842, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13842, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13842, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13842, __pyx_L49_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13842, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13841
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L54_try_end;
      __pyx_L49_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13843
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 13843, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":13844
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13844, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13844, __pyx_L51_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13844, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L50_exception_handled;
      }
      goto __pyx_L51_except_error;

      /* "cuda/bindings/driver.pyx":13841
 *             except ValueError:
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L51_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L50_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L54_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13845
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13827
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13847
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fence(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13826
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr165__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr166__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr167__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13848
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return self._fence
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5fence_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_5fence___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_5fence___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13850
 *     @property
 *     def fence(self):
 *         return self._fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence not None : anon_struct17):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_fence);
  __pyx_r = ((PyObject *)__pyx_v_self->_fence);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13848
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return self._fence
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13851
 *     def fence(self):
 *         return self._fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence not None : anon_struct17):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct17*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fence), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17, 0, "fence", 0))) __PYX_ERR(0, 13852, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_5fence_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)__pyx_v_fence));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_5fence_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *__pyx_v_fence) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13853
 *     @fence.setter
 *     def fence(self, fence not None : anon_struct17):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct17*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSync(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_fence);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13853, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).params.fence), ((struct anon_struct17 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).params.fence))));

  /* "cuda/bindings/driver.pyx":13851
 *     def fence(self):
 *         return self._fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence not None : anon_struct17):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct17*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13854
 *     def fence(self, fence not None : anon_struct17):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct17*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSync(self):
 *         return self._nvSciSync
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13856
 *     @property
 *     def nvSciSync(self):
 *         return self._nvSciSync             # <<<<<<<<<<<<<<
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_nvSciSync);
  __pyx_r = ((PyObject *)__pyx_v_self->_nvSciSync);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13854
 *     def fence(self, fence not None : anon_struct17):
 *         string.memcpy(&self._pvt_ptr[0].params.fence, <cydriver.anon_struct17*><void_ptr>fence.getPtr(), sizeof(self._pvt_ptr[0].params.fence))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSync(self):
 *         return self._nvSciSync
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13857
 *     def nvSciSync(self):
 *         return self._nvSciSync
 *     @nvSciSync.setter             # <<<<<<<<<<<<<<
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nvSciSync), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union8, 0, "nvSciSync", 0))) __PYX_ERR(0, 13858, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)__pyx_v_nvSciSync));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *__pyx_v_nvSciSync) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13859
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))             # <<<<<<<<<<<<<<
 *     @property
 *     def keyedMutex(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_nvSciSync);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).params.nvSciSync), ((union anon_union8 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).params.nvSciSync))));

  /* "cuda/bindings/driver.pyx":13857
 *     def nvSciSync(self):
 *         return self._nvSciSync
 *     @nvSciSync.setter             # <<<<<<<<<<<<<<
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.nvSciSync.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13860
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))
 *     @property             # <<<<<<<<<<<<<<
 *     def keyedMutex(self):
 *         return self._keyedMutex
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13862
 *     @property
 *     def keyedMutex(self):
 *         return self._keyedMutex             # <<<<<<<<<<<<<<
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : anon_struct18):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_keyedMutex);
  __pyx_r = ((PyObject *)__pyx_v_self->_keyedMutex);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13860
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._pvt_ptr[0].params.nvSciSync, <cydriver.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._pvt_ptr[0].params.nvSciSync))
 *     @property             # <<<<<<<<<<<<<<
 *     def keyedMutex(self):
 *         return self._keyedMutex
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13863
 *     def keyedMutex(self):
 *         return self._keyedMutex
 *     @keyedMutex.setter             # <<<<<<<<<<<<<<
 *     def keyedMutex(self, keyedMutex not None : anon_struct18):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct18*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_keyedMutex), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18, 0, "keyedMutex", 0))) __PYX_ERR(0, 13864, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)__pyx_v_keyedMutex));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *__pyx_v_keyedMutex) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13865
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : anon_struct18):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct18*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_keyedMutex);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).params.keyedMutex), ((struct anon_struct18 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).params.keyedMutex))));

  /* "cuda/bindings/driver.pyx":13863
 *     def keyedMutex(self):
 *         return self._keyedMutex
 *     @keyedMutex.setter             # <<<<<<<<<<<<<<
 *     def keyedMutex(self, keyedMutex not None : anon_struct18):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct18*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.keyedMutex.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13866
 *     def keyedMutex(self, keyedMutex not None : anon_struct18):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct18*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13868
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).params.reserved, 10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13866
 *     def keyedMutex(self, keyedMutex not None : anon_struct18):
 *         string.memcpy(&self._pvt_ptr[0].params.keyedMutex, <cydriver.anon_struct18*><void_ptr>keyedMutex.getPtr(), sizeof(self._pvt_ptr[0].params.keyedMutex))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13869
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].params.reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[10];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":13871
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].params.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 10) < 0))) __PYX_ERR(0, 13871, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).params.reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).params.reserved[0]) * (10));

  /* "cuda/bindings/driver.pyx":13869
 *     def reserved(self):
 *         return self._pvt_ptr[0].params.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].params.reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct19_10__reduce_cython__, "anon_struct19.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct19_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct19_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct19_12__setstate_cython__, "anon_struct19.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct19_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct19_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct19_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct19_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct19.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13898
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13898, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13898, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13898, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13898, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13898, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13898, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":13899
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13900
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":13899
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13902
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":13898
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13903
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._params = anon_struct19(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13903, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13903, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13903, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13903, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13903, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13903, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13905
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._params = anon_struct19(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13905, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13905, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_params);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_params);
  __pyx_v_self->_params = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":13903
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._params = anon_struct19(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13906
 *         pass
 *         self._params = anon_struct19(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13908
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr, "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13909
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13908
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13910
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr168__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13911
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13912
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13913
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13914
 *             str_list = []
 *             try:
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13914, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_params_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13914, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13914, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13914, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 13914, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13914, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr168__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr168__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13914, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13914, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr168__pyx_v_line); __pyx_10genexpr168__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr168__pyx_v_line); __pyx_10genexpr168__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13914, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_params, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13914, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13914, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13914, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13914, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13913
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13915
 *             try:
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['params : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 13915, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13916
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13916, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_params_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_params_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_params_ValueError) != (0)) __PYX_ERR(0, 13916, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13916, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13913
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13917
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13918
 *                 str_list += ['params : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13918, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13918, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13918, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13918, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 13918, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13918, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":13917
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13919
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 13919, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13920
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13920, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 13920, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13920, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":13917
 *             except ValueError:
 *                 str_list += ['params : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13921
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13922
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13922, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13922, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13922, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13922, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13922, __pyx_L27_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13922, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13921
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":13923
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 13923, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13924
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13924, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 13924, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 13924, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":13921
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13925
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13911
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13927
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def params(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13910
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr168__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13928
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def params(self):
 *         return self._params
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13930
 *     @property
 *     def params(self):
 *         return self._params             # <<<<<<<<<<<<<<
 *     @params.setter
 *     def params(self, params not None : anon_struct19):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_params);
  __pyx_r = ((PyObject *)__pyx_v_self->_params);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13928
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def params(self):
 *         return self._params
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13931
 *     def params(self):
 *         return self._params
 *     @params.setter             # <<<<<<<<<<<<<<
 *     def params(self, params not None : anon_struct19):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct19*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_params), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19, 0, "params", 0))) __PYX_ERR(0, 13932, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)__pyx_v_params));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *__pyx_v_params) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13933
 *     @params.setter
 *     def params(self, params not None : anon_struct19):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct19*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_params);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).params), ((struct anon_struct19 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).params))));

  /* "cuda/bindings/driver.pyx":13931
 *     def params(self):
 *         return self._params
 *     @params.setter             # <<<<<<<<<<<<<<
 *     def params(self, params not None : anon_struct19):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct19*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.params.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13934
 *     def params(self, params not None : anon_struct19):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct19*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13936
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13934
 *     def params(self, params not None : anon_struct19):
 *         string.memcpy(&self._pvt_ptr[0].params, <cydriver.anon_struct19*><void_ptr>params.getPtr(), sizeof(self._pvt_ptr[0].params))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13937
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13938, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":13939
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":13937
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13940
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":13942
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13940
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13943
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":13945
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(0, 13945, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (16));

  /* "cuda/bindings/driver.pyx":13943
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__, "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__, "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13966
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13966, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 13966, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13966, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13966, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":13967
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13968
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":13967
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13970
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":13966
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13971
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 13971, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13971, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 13971, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 13971, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13971, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 13971, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13973
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._extSemArray is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":13975
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  __pyx_t_1 = (__pyx_v_self->_extSemArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13976
 *         pass
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
*/
    free(__pyx_v_self->_extSemArray);

    /* "cuda/bindings/driver.pyx":13975
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":13977
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_paramsArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13978
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_paramsArray);

    /* "cuda/bindings/driver.pyx":13977
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":13973
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._extSemArray is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":13979
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr, "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":13980
 *             free(self._paramsArray)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13979
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13981
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":13982
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":13983
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13984
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13985
 *             str_list = []
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13985, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13985, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extSemArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13985, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13985, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13985, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13985, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13984
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":13986
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13986, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13987
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13987, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError) != (0)) __PYX_ERR(0, 13987, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13987, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":13984
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13988
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13989
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_paramsArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13989, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13989, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_paramsArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13989, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13989, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 13989, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13989, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":13988
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13990
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13990, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13991
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13991, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError) != (0)) __PYX_ERR(0, 13991, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13991, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":13988
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13992
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":13993
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13993, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13993, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numExtSems, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13993, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13993, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 13993, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13993, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":13992
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13994
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13994, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13995
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13995, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError) != (0)) __PYX_ERR(0, 13995, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13995, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":13992
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":13996
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13982
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13998
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemArray(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":13981
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13999
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr169__pyx_v_x;
  PyObject *__pyx_10genexpr170__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14001
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_extSemArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr169__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).extSemArray) + (__pyx_10genexpr169__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14001, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14002
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @extSemArray.setter
 *     def extSemArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14002, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14002, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14002, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr170__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14002, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr170__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14002, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14002, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14002, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr170__pyx_v_arr); __pyx_10genexpr170__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr170__pyx_v_arr); __pyx_10genexpr170__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13999
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.extSemArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr170__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14003
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter             # <<<<<<<<<<<<<<
 *     def extSemArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUexternalSemaphore *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14005
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14005, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14006
 *     def extSemArray(self, val):
 *         if len(val) == 0:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *             self._extSemArray_length = 0
 *             self._pvt_ptr[0].extSemArray = NULL
*/
    free(__pyx_v_self->_extSemArray);

    /* "cuda/bindings/driver.pyx":14007
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
*/
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/bindings/driver.pyx":14008
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 *             self._pvt_ptr[0].extSemArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).extSemArray = NULL;

    /* "cuda/bindings/driver.pyx":14005
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14010
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14010, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14011
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
*/
      free(__pyx_v_self->_extSemArray);

      /* "cuda/bindings/driver.pyx":14012
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14012, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/bindings/driver.pyx":14013
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_extSemArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":14014
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14014, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14014, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14014, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14014, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14014, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14014, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14014, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14014, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14014, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 14014, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14013
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":14015
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14015, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14016
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
*/
      __pyx_t_10 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_pvt_ptr[0]).extSemArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":14010
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
*/
    }

    /* "cuda/bindings/driver.pyx":14017
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14017, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":14018
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_3)->_pvt_ptr[0]);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14003
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter             # <<<<<<<<<<<<<<
 *     def extSemArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14020
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr171__pyx_v_x;
  PyObject *__pyx_10genexpr172__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14022
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_paramsArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr171__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).paramsArray) + (__pyx_10genexpr171__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14022, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14022, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14023
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @paramsArray.setter
 *     def paramsArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14023, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14023, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14023, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr172__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14023, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr172__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14023, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14023, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14023, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr172__pyx_v_arr); __pyx_10genexpr172__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr172__pyx_v_arr); __pyx_10genexpr172__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14020
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.paramsArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr172__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14024
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter             # <<<<<<<<<<<<<<
 *     def paramsArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14026
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14026, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14027
 *     def paramsArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *             self._paramsArray_length = 0
 *             self._pvt_ptr[0].paramsArray = NULL
*/
    free(__pyx_v_self->_paramsArray);

    /* "cuda/bindings/driver.pyx":14028
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
*/
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/bindings/driver.pyx":14029
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 *             self._pvt_ptr[0].paramsArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).paramsArray = NULL;

    /* "cuda/bindings/driver.pyx":14026
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14031
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14031, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14032
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:
*/
      free(__pyx_v_self->_paramsArray);

      /* "cuda/bindings/driver.pyx":14033
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14033, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)calloc(__pyx_t_1, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));

      /* "cuda/bindings/driver.pyx":14034
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_paramsArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":14035
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))             # <<<<<<<<<<<<<<
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14035, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14035, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14035, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14035, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14035, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14035, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14035, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14035, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14035, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 14035, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14034
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":14036
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14036, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14037
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
*/
      __pyx_t_10 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_pvt_ptr[0]).paramsArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":14031
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
*/
    }

    /* "cuda/bindings/driver.pyx":14038
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14038, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":14039
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14039, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14024
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter             # <<<<<<<<<<<<<<
 *     def paramsArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14041
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14043
 *     @property
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems             # <<<<<<<<<<<<<<
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).numExtSems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14041
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.numExtSems.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14044
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems) {
  unsigned int __pyx_v_numExtSems;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numExtSems); {
    __pyx_v_numExtSems = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numExtSems); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14045, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_numExtSems));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14046
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/bindings/driver.pyx":14044
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__, "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__, "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14067
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14067, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14067, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14067, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14067, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14067, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14067, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":14068
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14069
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":14068
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14071
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14067
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14072
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14072, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14072, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14072, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14072, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14072, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14072, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14074
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._extSemArray is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":14076
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  __pyx_t_1 = (__pyx_v_self->_extSemArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14077
 *         pass
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
*/
    free(__pyx_v_self->_extSemArray);

    /* "cuda/bindings/driver.pyx":14076
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":14078
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_paramsArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14079
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_paramsArray);

    /* "cuda/bindings/driver.pyx":14078
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":14074
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._extSemArray is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14080
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr, "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14081
 *             free(self._paramsArray)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14080
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14082
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14083
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14084
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14085
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14086
 *             str_list = []
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14086, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14086, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extSemArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14086, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14086, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14086, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14086, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14085
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14087
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14087, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14088
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14088, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError) != (0)) __PYX_ERR(0, 14088, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14088, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14085
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14089
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14090
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_paramsArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14090, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14090, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_paramsArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14090, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14090, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14090, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14090, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14089
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14091
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14091, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14092
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14092, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError) != (0)) __PYX_ERR(0, 14092, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14092, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14089
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14093
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14094
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14094, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14094, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numExtSems, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14094, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14094, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14094, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14094, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14093
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14095
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14095, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14096
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14096, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError) != (0)) __PYX_ERR(0, 14096, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14096, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":14093
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14097
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14083
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14099
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemArray(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14082
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14100
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr173__pyx_v_x;
  PyObject *__pyx_10genexpr174__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14102
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_extSemArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr173__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).extSemArray) + (__pyx_10genexpr173__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14102, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14103
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @extSemArray.setter
 *     def extSemArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14103, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14103, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14103, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr174__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14103, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr174__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14103, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14103, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14103, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr174__pyx_v_arr); __pyx_10genexpr174__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr174__pyx_v_arr); __pyx_10genexpr174__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14100
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.extSemArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr174__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14104
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter             # <<<<<<<<<<<<<<
 *     def extSemArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUexternalSemaphore *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14106
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14106, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14107
 *     def extSemArray(self, val):
 *         if len(val) == 0:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *             self._extSemArray_length = 0
 *             self._pvt_ptr[0].extSemArray = NULL
*/
    free(__pyx_v_self->_extSemArray);

    /* "cuda/bindings/driver.pyx":14108
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
*/
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/bindings/driver.pyx":14109
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 *             self._pvt_ptr[0].extSemArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).extSemArray = NULL;

    /* "cuda/bindings/driver.pyx":14106
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14111
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14111, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14112
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
*/
      free(__pyx_v_self->_extSemArray);

      /* "cuda/bindings/driver.pyx":14113
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14113, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/bindings/driver.pyx":14114
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_extSemArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":14115
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14115, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14115, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14115, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14115, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14115, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14115, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14115, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14115, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14115, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 14115, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14114
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":14116
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14116, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14117
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
*/
      __pyx_t_10 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_pvt_ptr[0]).extSemArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":14111
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
*/
    }

    /* "cuda/bindings/driver.pyx":14118
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14118, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":14119
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14119, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_3)->_pvt_ptr[0]);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14104
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter             # <<<<<<<<<<<<<<
 *     def extSemArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14121
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr175__pyx_v_x;
  PyObject *__pyx_10genexpr176__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14123
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_paramsArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr175__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).paramsArray) + (__pyx_10genexpr175__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14123, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14124
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @paramsArray.setter
 *     def paramsArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14124, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14124, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14124, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr176__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14124, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr176__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14124, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14124, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14124, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr176__pyx_v_arr); __pyx_10genexpr176__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr176__pyx_v_arr); __pyx_10genexpr176__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14121
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.paramsArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr176__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14125
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter             # <<<<<<<<<<<<<<
 *     def paramsArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14127
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14127, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14128
 *     def paramsArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *             self._paramsArray_length = 0
 *             self._pvt_ptr[0].paramsArray = NULL
*/
    free(__pyx_v_self->_paramsArray);

    /* "cuda/bindings/driver.pyx":14129
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
*/
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/bindings/driver.pyx":14130
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 *             self._pvt_ptr[0].paramsArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).paramsArray = NULL;

    /* "cuda/bindings/driver.pyx":14127
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14132
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14132, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14133
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:
*/
      free(__pyx_v_self->_paramsArray);

      /* "cuda/bindings/driver.pyx":14134
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14134, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)calloc(__pyx_t_1, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));

      /* "cuda/bindings/driver.pyx":14135
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_paramsArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":14136
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))             # <<<<<<<<<<<<<<
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14136, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14136, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 14136, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14135
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":14137
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14137, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14138
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
*/
      __pyx_t_10 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_pvt_ptr[0]).paramsArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":14132
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
*/
    }

    /* "cuda/bindings/driver.pyx":14139
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14139, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":14140
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14125
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter             # <<<<<<<<<<<<<<
 *     def paramsArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14142
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14144
 *     @property
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems             # <<<<<<<<<<<<<<
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).numExtSems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14142
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.numExtSems.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14145
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems) {
  unsigned int __pyx_v_numExtSems;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numExtSems); {
    __pyx_v_numExtSems = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numExtSems); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14146, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_numExtSems));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14147
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/bindings/driver.pyx":14145
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__, "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14168
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14168, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14168, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14168, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14168, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":14169
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14170
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":14169
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14172
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14168
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14173
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14173, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14173, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14173, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14173, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14173, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14173, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14175
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._extSemArray is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":14177
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  __pyx_t_1 = (__pyx_v_self->_extSemArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14178
 *         pass
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
*/
    free(__pyx_v_self->_extSemArray);

    /* "cuda/bindings/driver.pyx":14177
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":14179
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_paramsArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14180
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_paramsArray);

    /* "cuda/bindings/driver.pyx":14179
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":14175
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._extSemArray is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14181
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr, "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14182
 *             free(self._paramsArray)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14181
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14183
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14184
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14185
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14186
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14187
 *             str_list = []
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14187, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14187, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extSemArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14187, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14187, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14187, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14187, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14186
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14188
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14188, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14189
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14189, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError) != (0)) __PYX_ERR(0, 14189, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14189, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14186
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14190
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14191
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_paramsArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14191, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14191, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_paramsArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14191, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14191, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14191, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14191, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14190
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14192
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14192, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14193
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14193, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError) != (0)) __PYX_ERR(0, 14193, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14193, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14190
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14194
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14195
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14195, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14195, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numExtSems, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14195, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14195, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14195, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14195, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14194
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14196
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14196, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14197
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14197, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError) != (0)) __PYX_ERR(0, 14197, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14197, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":14194
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14198
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14198, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14184
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14200
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemArray(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14183
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14201
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr177__pyx_v_x;
  PyObject *__pyx_10genexpr178__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14203
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_extSemArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr177__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).extSemArray) + (__pyx_10genexpr177__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14203, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14203, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14204
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @extSemArray.setter
 *     def extSemArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14204, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14204, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14204, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr178__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14204, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr178__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14204, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14204, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14204, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr178__pyx_v_arr); __pyx_10genexpr178__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr178__pyx_v_arr); __pyx_10genexpr178__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14201
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.extSemArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr178__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14205
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter             # <<<<<<<<<<<<<<
 *     def extSemArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUexternalSemaphore *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14207
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14207, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14208
 *     def extSemArray(self, val):
 *         if len(val) == 0:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *             self._extSemArray_length = 0
 *             self._pvt_ptr[0].extSemArray = NULL
*/
    free(__pyx_v_self->_extSemArray);

    /* "cuda/bindings/driver.pyx":14209
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
*/
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/bindings/driver.pyx":14210
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 *             self._pvt_ptr[0].extSemArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).extSemArray = NULL;

    /* "cuda/bindings/driver.pyx":14207
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14212
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14212, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14213
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
*/
      free(__pyx_v_self->_extSemArray);

      /* "cuda/bindings/driver.pyx":14214
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14214, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/bindings/driver.pyx":14215
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_extSemArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":14216
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14216, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14216, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14216, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14216, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14216, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14216, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14216, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14216, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 14216, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14215
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":14217
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14217, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14218
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
*/
      __pyx_t_10 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_pvt_ptr[0]).extSemArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":14212
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
*/
    }

    /* "cuda/bindings/driver.pyx":14219
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14219, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":14220
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14220, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_3)->_pvt_ptr[0]);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14205
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter             # <<<<<<<<<<<<<<
 *     def extSemArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14222
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr179__pyx_v_x;
  PyObject *__pyx_10genexpr180__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14224
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_paramsArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr179__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).paramsArray) + (__pyx_10genexpr179__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14224, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14224, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14225
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @paramsArray.setter
 *     def paramsArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14225, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14225, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14225, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr180__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14225, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr180__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14225, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14225, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14225, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr180__pyx_v_arr); __pyx_10genexpr180__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr180__pyx_v_arr); __pyx_10genexpr180__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14222
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.paramsArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr180__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14226
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter             # <<<<<<<<<<<<<<
 *     def paramsArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14228
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14228, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14229
 *     def paramsArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *             self._paramsArray_length = 0
 *             self._pvt_ptr[0].paramsArray = NULL
*/
    free(__pyx_v_self->_paramsArray);

    /* "cuda/bindings/driver.pyx":14230
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
*/
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/bindings/driver.pyx":14231
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 *             self._pvt_ptr[0].paramsArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).paramsArray = NULL;

    /* "cuda/bindings/driver.pyx":14228
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14233
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14233, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14234
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:
*/
      free(__pyx_v_self->_paramsArray);

      /* "cuda/bindings/driver.pyx":14235
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14235, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)calloc(__pyx_t_1, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));

      /* "cuda/bindings/driver.pyx":14236
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_paramsArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":14237
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))             # <<<<<<<<<<<<<<
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14237, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14237, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14237, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14237, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14237, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14237, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14237, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14237, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14237, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 14237, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14236
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":14238
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14238, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14239
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
*/
      __pyx_t_10 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_pvt_ptr[0]).paramsArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":14233
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
*/
    }

    /* "cuda/bindings/driver.pyx":14240
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14240, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":14241
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14226
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter             # <<<<<<<<<<<<<<
 *     def paramsArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14243
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14245
 *     @property
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems             # <<<<<<<<<<<<<<
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).numExtSems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14243
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.numExtSems.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14246
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems) {
  unsigned int __pyx_v_numExtSems;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numExtSems); {
    __pyx_v_numExtSems = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numExtSems); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14247, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_numExtSems));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14248
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/bindings/driver.pyx":14246
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__, "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__, "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14269
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14269, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14269, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14269, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14269, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14269, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14269, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":14270
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14271
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":14270
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14273
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14269
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14274
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14274, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14274, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14274, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14274, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14274, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14274, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14276
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._extSemArray is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":14278
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  __pyx_t_1 = (__pyx_v_self->_extSemArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14279
 *         pass
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
*/
    free(__pyx_v_self->_extSemArray);

    /* "cuda/bindings/driver.pyx":14278
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":14280
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_paramsArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14281
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_paramsArray);

    /* "cuda/bindings/driver.pyx":14280
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":14276
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._extSemArray is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14282
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr, "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14283
 *             free(self._paramsArray)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14282
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14284
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14285
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14286
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14287
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14288
 *             str_list = []
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14288, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14288, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extSemArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14288, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14288, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14288, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14288, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14287
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14289
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14289, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14290
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14290, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError) != (0)) __PYX_ERR(0, 14290, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14290, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14287
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14291
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14292
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_paramsArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14292, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14292, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_paramsArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14292, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14292, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14292, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14292, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14291
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14293
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14293, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14294
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14294, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError) != (0)) __PYX_ERR(0, 14294, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14294, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14291
 *             except ValueError:
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14295
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14296
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14296, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14296, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numExtSems, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14296, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14296, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14296, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14296, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14295
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14297
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14297, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14298
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14298, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError) != (0)) __PYX_ERR(0, 14298, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14298, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":14295
 *             except ValueError:
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14299
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14285
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14301
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemArray(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14284
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14302
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr181__pyx_v_x;
  PyObject *__pyx_10genexpr182__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14304
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_extSemArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr181__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).extSemArray) + (__pyx_10genexpr181__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14304, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14304, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14305
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @extSemArray.setter
 *     def extSemArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14305, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14305, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14305, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr182__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14305, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr182__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14305, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14305, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14305, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr182__pyx_v_arr); __pyx_10genexpr182__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr182__pyx_v_arr); __pyx_10genexpr182__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14302
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.extSemArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr182__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14306
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter             # <<<<<<<<<<<<<<
 *     def extSemArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUexternalSemaphore *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14308
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14308, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14309
 *     def extSemArray(self, val):
 *         if len(val) == 0:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *             self._extSemArray_length = 0
 *             self._pvt_ptr[0].extSemArray = NULL
*/
    free(__pyx_v_self->_extSemArray);

    /* "cuda/bindings/driver.pyx":14310
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
*/
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/bindings/driver.pyx":14311
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 *             self._pvt_ptr[0].extSemArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).extSemArray = NULL;

    /* "cuda/bindings/driver.pyx":14308
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14313
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14313, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14314
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
*/
      free(__pyx_v_self->_extSemArray);

      /* "cuda/bindings/driver.pyx":14315
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14315, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/bindings/driver.pyx":14316
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_extSemArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":14317
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14317, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14317, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14317, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14317, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14317, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14317, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14317, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14317, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14317, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 14317, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14316
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":14318
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14318, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14319
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
*/
      __pyx_t_10 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_pvt_ptr[0]).extSemArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":14313
 *             self._pvt_ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <cydriver.CUexternalSemaphore*> calloc(len(val), sizeof(cydriver.CUexternalSemaphore))
*/
    }

    /* "cuda/bindings/driver.pyx":14320
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14320, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":14321
 *                 self._pvt_ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14321, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_3)->_pvt_ptr[0]);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14306
 *         arrs = [<void_ptr>self._pvt_ptr[0].extSemArray + x*sizeof(cydriver.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 *         return [CUexternalSemaphore(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter             # <<<<<<<<<<<<<<
 *     def extSemArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14323
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr183__pyx_v_x;
  PyObject *__pyx_10genexpr184__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14325
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]             # <<<<<<<<<<<<<<
 *         return [CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_paramsArray_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr183__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).paramsArray) + (__pyx_10genexpr183__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14325, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14326
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @paramsArray.setter
 *     def paramsArray(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14326, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14326, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14326, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr184__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14326, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr184__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14326, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14326, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14326, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr184__pyx_v_arr); __pyx_10genexpr184__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr184__pyx_v_arr); __pyx_10genexpr184__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14323
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._pvt_ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.paramsArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr184__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14327
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter             # <<<<<<<<<<<<<<
 *     def paramsArray(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14329
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14329, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14330
 *     def paramsArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *             self._paramsArray_length = 0
 *             self._pvt_ptr[0].paramsArray = NULL
*/
    free(__pyx_v_self->_paramsArray);

    /* "cuda/bindings/driver.pyx":14331
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
*/
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/bindings/driver.pyx":14332
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 *             self._pvt_ptr[0].paramsArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).paramsArray = NULL;

    /* "cuda/bindings/driver.pyx":14329
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14334
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14334, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14335
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:
*/
      free(__pyx_v_self->_paramsArray);

      /* "cuda/bindings/driver.pyx":14336
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14336, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)calloc(__pyx_t_1, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));

      /* "cuda/bindings/driver.pyx":14337
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_paramsArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":14338
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))             # <<<<<<<<<<<<<<
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14338, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14338, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 14338, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14337
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":14339
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14339, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14340
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
*/
      __pyx_t_10 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_pvt_ptr[0]).paramsArray = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":14334
 *             self._pvt_ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
*/
    }

    /* "cuda/bindings/driver.pyx":14341
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14341, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":14342
 *                 self._pvt_ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14342, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14327
 *         arrs = [<void_ptr>self._pvt_ptr[0].paramsArray + x*sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
 *         return [CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter             # <<<<<<<<<<<<<<
 *     def paramsArray(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14344
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14346
 *     @property
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems             # <<<<<<<<<<<<<<
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).numExtSems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14344
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.numExtSems.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14347
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems) {
  unsigned int __pyx_v_numExtSems;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numExtSems); {
    __pyx_v_numExtSems = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numExtSems); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14348, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), ((unsigned int)__pyx_v_numExtSems));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14349
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union9:
*/
  (__pyx_v_self->_pvt_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/bindings/driver.pyx":14347
 *     def numExtSems(self):
 *         return self._pvt_ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._pvt_ptr[0].numExtSems = numExtSems
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__, "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14365
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union9_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union9_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14365, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14365, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14365, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 14365, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14365, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14365, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14365, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union9___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14366
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":14365
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14368
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].resource.mipmap)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union9_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union9_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14368, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14368, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 14368, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14368, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14368, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14368, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union9_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":14370
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].resource.mipmap)             # <<<<<<<<<<<<<<
 *         self._array = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].resource.array)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).resource.mipmap))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14370, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14370, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_mipmap);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_mipmap);
  __pyx_v_self->_mipmap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14371
 *         pass
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].resource.mipmap)
 *         self._array = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].resource.array)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).resource.array))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14371, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14371, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_array);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_array);
  __pyx_v_self->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14368
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].resource.mipmap)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14372
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._pvt_ptr[0].resource.mipmap)
 *         self._array = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].resource.array)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union9_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11anon_union9_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11anon_union9_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11anon_union9_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14374
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].resource
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union9_6getPtr, "anon_union9.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union9_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union9_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union9_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14375
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].resource             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).resource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14374
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].resource
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14376
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].resource
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14377
 *         return <void_ptr>&self._pvt_ptr[0].resource
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14378
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['mipmap : ' + str(self.mipmap)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14379
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap : ' + str(self.mipmap)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14380
 *             str_list = []
 *             try:
 *                 str_list += ['mipmap : ' + str(self.mipmap)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_mipmap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14380, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14380, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_mipmap_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14380, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14380, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14380, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14380, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14379
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap : ' + str(self.mipmap)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14381
 *             try:
 *                 str_list += ['mipmap : ' + str(self.mipmap)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14381, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14382
 *                 str_list += ['mipmap : ' + str(self.mipmap)]
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['array : ' + str(self.array)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14382, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_mipmap_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_mipmap_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_mipmap_ValueError) != (0)) __PYX_ERR(0, 14382, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14382, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14379
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap : ' + str(self.mipmap)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14383
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14384
 *                 str_list += ['mipmap : <ValueError>']
 *             try:
 *                 str_list += ['array : ' + str(self.array)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_array_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14384, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14384, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_array_3, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14384, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14384, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14384, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14384, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14383
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14385
 *             try:
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14385, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14386
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14386, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_array_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_array_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_array_ValueError) != (0)) __PYX_ERR(0, 14386, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14386, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14383
 *             except ValueError:
 *                 str_list += ['mipmap : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14387
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14377
 *         return <void_ptr>&self._pvt_ptr[0].resource
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14389
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmap(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14376
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].resource
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14390
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmap(self):
 *         return self._mipmap
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_6mipmap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_6mipmap_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_6mipmap___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_6mipmap___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14392
 *     @property
 *     def mipmap(self):
 *         return self._mipmap             # <<<<<<<<<<<<<<
 *     @mipmap.setter
 *     def mipmap(self, mipmap):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_mipmap);
  __pyx_r = ((PyObject *)__pyx_v_self->_mipmap);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14390
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmap(self):
 *         return self._mipmap
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14393
 *     def mipmap(self):
 *         return self._mipmap
 *     @mipmap.setter             # <<<<<<<<<<<<<<
 *     def mipmap(self, mipmap):
 *         cdef cydriver.CUmipmappedArray cymipmap
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union9_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union9_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_6mipmap_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self), ((PyObject *)__pyx_v_mipmap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union9_6mipmap_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, PyObject *__pyx_v_mipmap) {
  CUmipmappedArray __pyx_v_cymipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14396
 *     def mipmap(self, mipmap):
 *         cdef cydriver.CUmipmappedArray cymipmap
 *         if mipmap is None:             # <<<<<<<<<<<<<<
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
*/
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14397
 *         cdef cydriver.CUmipmappedArray cymipmap
 *         if mipmap is None:
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
 *             pmipmap = int(mipmap)
*/
    __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":14396
 *     def mipmap(self, mipmap):
 *         cdef cydriver.CUmipmappedArray cymipmap
 *         if mipmap is None:             # <<<<<<<<<<<<<<
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14398
 *         if mipmap is None:
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *             pmipmap = int(mipmap)
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14399
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
 *             pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14400
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
 *             pmipmap = int(mipmap)
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *         else:
 *             pmipmap = int(CUmipmappedArray(mipmap))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14400, __pyx_L1_error)
    __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":14398
 *         if mipmap is None:
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *             pmipmap = int(mipmap)
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14402
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *         else:
 *             pmipmap = int(CUmipmappedArray(mipmap))             # <<<<<<<<<<<<<<
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *         self._mipmap._pvt_ptr[0] = cymipmap
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_mipmap};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14402, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":14403
 *         else:
 *             pmipmap = int(CUmipmappedArray(mipmap))
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *         self._mipmap._pvt_ptr[0] = cymipmap
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14403, __pyx_L1_error)
    __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14404
 *             pmipmap = int(CUmipmappedArray(mipmap))
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *         self._mipmap._pvt_ptr[0] = cymipmap             # <<<<<<<<<<<<<<
 *     @property
 *     def array(self):
*/
  (__pyx_v_self->_mipmap->_pvt_ptr[0]) = __pyx_v_cymipmap;

  /* "cuda/bindings/driver.pyx":14393
 *     def mipmap(self):
 *         return self._mipmap
 *     @mipmap.setter             # <<<<<<<<<<<<<<
 *     def mipmap(self, mipmap):
 *         cdef cydriver.CUmipmappedArray cymipmap
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.mipmap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmipmap);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14405
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *         self._mipmap._pvt_ptr[0] = cymipmap
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_5array_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_5array_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_5array___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_5array___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14407
 *     @property
 *     def array(self):
 *         return self._array             # <<<<<<<<<<<<<<
 *     @array.setter
 *     def array(self, array):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_array);
  __pyx_r = ((PyObject *)__pyx_v_self->_array);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14405
 *             cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *         self._mipmap._pvt_ptr[0] = cymipmap
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14408
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array):
 *         cdef cydriver.CUarray cyarray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union9_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11anon_union9_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_5array_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self), ((PyObject *)__pyx_v_array));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11anon_union9_5array_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, PyObject *__pyx_v_array) {
  CUarray __pyx_v_cyarray;
  PyObject *__pyx_v_parray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14411
 *     def array(self, array):
 *         cdef cydriver.CUarray cyarray
 *         if array is None:             # <<<<<<<<<<<<<<
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_array == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14412
 *         cdef cydriver.CUarray cyarray
 *         if array is None:
 *             cyarray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)
*/
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":14411
 *     def array(self, array):
 *         cdef cydriver.CUarray cyarray
 *         if array is None:             # <<<<<<<<<<<<<<
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14413
 *         if array is None:
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *             parray = int(array)
 *             cyarray = <cydriver.CUarray><void_ptr>parray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_array, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14414
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)             # <<<<<<<<<<<<<<
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_parray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14415
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)
 *             cyarray = <cydriver.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *         else:
 *             parray = int(CUarray(array))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14415, __pyx_L1_error)
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":14413
 *         if array is None:
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *             parray = int(array)
 *             cyarray = <cydriver.CUarray><void_ptr>parray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14417
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         else:
 *             parray = int(CUarray(array))             # <<<<<<<<<<<<<<
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         self._array._pvt_ptr[0] = cyarray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_array};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14417, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_parray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":14418
 *         else:
 *             parray = int(CUarray(array))
 *             cyarray = <cydriver.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *         self._array._pvt_ptr[0] = cyarray
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14418, __pyx_L1_error)
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14419
 *             parray = int(CUarray(array))
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         self._array._pvt_ptr[0] = cyarray             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct20:
*/
  (__pyx_v_self->_array->_pvt_ptr[0]) = __pyx_v_cyarray;

  /* "cuda/bindings/driver.pyx":14408
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array):
 *         cdef cydriver.CUarray cyarray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.array.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union9_10__reduce_cython__, "anon_union9.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union9_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union9_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union9_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11anon_union9_12__setstate_cython__, "anon_union9.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11anon_union9_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union9_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union9_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11anon_union9_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11anon_union9_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11anon_union9_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union9.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14447
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14447, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14447, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14447, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 14447, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14447, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14447, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14447, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14448
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":14447
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14450
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14450, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14450, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14450, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 14450, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14450, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14450, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14450, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14452
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14454
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource.sparseLevel
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct20_6getPtr, "anon_struct20.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct20_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct20_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14455
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource.sparseLevel             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14454
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource.sparseLevel
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14456
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource.sparseLevel
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14457
 *         return <void_ptr>&self._pvt_ptr[0].subresource.sparseLevel
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14458
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['level : ' + str(self.level)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14459
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['level : ' + str(self.level)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14460
 *             str_list = []
 *             try:
 *                 str_list += ['level : ' + str(self.level)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['level : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_level_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14460, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14460, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_level, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14460, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14460, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14460, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14460, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14459
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['level : ' + str(self.level)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14461
 *             try:
 *                 str_list += ['level : ' + str(self.level)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['level : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14461, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14462
 *                 str_list += ['level : ' + str(self.level)]
 *             except ValueError:
 *                 str_list += ['level : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14462, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_level_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_level_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_level_ValueError) != (0)) __PYX_ERR(0, 14462, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14462, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14459
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['level : ' + str(self.level)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14463
 *             except ValueError:
 *                 str_list += ['level : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14464
 *                 str_list += ['level : <ValueError>']
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_layer_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14464, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14464, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_layer, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14464, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14464, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14464, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14464, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14463
 *             except ValueError:
 *                 str_list += ['level : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14465
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14465, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14466
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['offsetX : ' + str(self.offsetX)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14466, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_layer_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_layer_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_layer_ValueError) != (0)) __PYX_ERR(0, 14466, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14466, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14463
 *             except ValueError:
 *                 str_list += ['level : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14467
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetX : ' + str(self.offsetX)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14468
 *                 str_list += ['layer : <ValueError>']
 *             try:
 *                 str_list += ['offsetX : ' + str(self.offsetX)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['offsetX : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_offsetX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14468, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14468, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_offsetX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14468, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14468, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14468, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14468, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14467
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetX : ' + str(self.offsetX)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14469
 *             try:
 *                 str_list += ['offsetX : ' + str(self.offsetX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14469, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14470
 *                 str_list += ['offsetX : ' + str(self.offsetX)]
 *             except ValueError:
 *                 str_list += ['offsetX : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['offsetY : ' + str(self.offsetY)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14470, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_offsetX_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_offsetX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_offsetX_ValueError) != (0)) __PYX_ERR(0, 14470, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14470, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":14467
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetX : ' + str(self.offsetX)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14471
 *             except ValueError:
 *                 str_list += ['offsetX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetY : ' + str(self.offsetY)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14472
 *                 str_list += ['offsetX : <ValueError>']
 *             try:
 *                 str_list += ['offsetY : ' + str(self.offsetY)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['offsetY : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_offsetY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14472, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14472, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_offsetY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14472, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14472, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14472, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14472, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14471
 *             except ValueError:
 *                 str_list += ['offsetX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetY : ' + str(self.offsetY)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14473
 *             try:
 *                 str_list += ['offsetY : ' + str(self.offsetY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14473, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14474
 *                 str_list += ['offsetY : ' + str(self.offsetY)]
 *             except ValueError:
 *                 str_list += ['offsetY : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14474, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_offsetY_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_offsetY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_offsetY_ValueError) != (0)) __PYX_ERR(0, 14474, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14474, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":14471
 *             except ValueError:
 *                 str_list += ['offsetX : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetY : ' + str(self.offsetY)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14475
 *             except ValueError:
 *                 str_list += ['offsetY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14476
 *                 str_list += ['offsetY : <ValueError>']
 *             try:
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['offsetZ : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_offsetZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14476, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14476, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_offsetZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14476, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14476, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14476, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14476, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14475
 *             except ValueError:
 *                 str_list += ['offsetY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14477
 *             try:
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14477, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14478
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]
 *             except ValueError:
 *                 str_list += ['offsetZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14478, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_offsetZ_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_offsetZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_offsetZ_ValueError) != (0)) __PYX_ERR(0, 14478, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14478, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":14475
 *             except ValueError:
 *                 str_list += ['offsetY : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14479
 *             except ValueError:
 *                 str_list += ['offsetZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14480
 *                 str_list += ['offsetZ : <ValueError>']
 *             try:
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extentWidth : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extentWidth_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14480, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14480, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extentWidth, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14480, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14480, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14480, __pyx_L44_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14480, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14479
 *             except ValueError:
 *                 str_list += ['offsetZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14481
 *             try:
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentWidth : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14481, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14482
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]
 *             except ValueError:
 *                 str_list += ['extentWidth : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14482, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extentWidth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extentWidth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_extentWidth_ValueError) != (0)) __PYX_ERR(0, 14482, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14482, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":14479
 *             except ValueError:
 *                 str_list += ['offsetZ : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14483
 *             except ValueError:
 *                 str_list += ['extentWidth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14484
 *                 str_list += ['extentWidth : <ValueError>']
 *             try:
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extentHeight : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extentHeight_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14484, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14484, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extentHeight, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14484, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14484, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14484, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14484, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14483
 *             except ValueError:
 *                 str_list += ['extentWidth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14485
 *             try:
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14485, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14486
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]
 *             except ValueError:
 *                 str_list += ['extentHeight : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14486, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extentHeight_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extentHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_extentHeight_ValueError) != (0)) __PYX_ERR(0, 14486, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14486, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":14483
 *             except ValueError:
 *                 str_list += ['extentWidth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14487
 *             except ValueError:
 *                 str_list += ['extentHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14488
 *                 str_list += ['extentHeight : <ValueError>']
 *             try:
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extentDepth : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extentDepth_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14488, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14488, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extentDepth, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14488, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14488, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14488, __pyx_L60_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14488, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14487
 *             except ValueError:
 *                 str_list += ['extentHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L65_try_end;
      __pyx_L60_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14489
 *             try:
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentDepth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14489, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14490
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]
 *             except ValueError:
 *                 str_list += ['extentDepth : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14490, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extentDepth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extentDepth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_extentDepth_ValueError) != (0)) __PYX_ERR(0, 14490, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14490, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L61_exception_handled;
      }
      goto __pyx_L62_except_error;

      /* "cuda/bindings/driver.pyx":14487
 *             except ValueError:
 *                 str_list += ['extentHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]
 *             except ValueError:
*/
      __pyx_L62_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L61_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L65_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14491
 *             except ValueError:
 *                 str_list += ['extentDepth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14457
 *         return <void_ptr>&self._pvt_ptr[0].subresource.sparseLevel
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14493
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def level(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14456
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource.sparseLevel
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14494
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def level(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.level
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5level_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5level_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5level___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5level___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14496
 *     @property
 *     def level(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.level             # <<<<<<<<<<<<<<
 *     @level.setter
 *     def level(self, unsigned int level):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14494
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def level(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.level
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.level.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14497
 *     def level(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.level
 *     @level.setter             # <<<<<<<<<<<<<<
 *     def level(self, unsigned int level):
 *         self._pvt_ptr[0].subresource.sparseLevel.level = level
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_level); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_level) {
  unsigned int __pyx_v_level;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_level); {
    __pyx_v_level = __Pyx_PyLong_As_unsigned_int(__pyx_arg_level); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14498, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.level.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5level_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_level));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5level_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_level) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14499
 *     @level.setter
 *     def level(self, unsigned int level):
 *         self._pvt_ptr[0].subresource.sparseLevel.level = level             # <<<<<<<<<<<<<<
 *     @property
 *     def layer(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.level = __pyx_v_level;

  /* "cuda/bindings/driver.pyx":14497
 *     def level(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.level
 *     @level.setter             # <<<<<<<<<<<<<<
 *     def level(self, unsigned int level):
 *         self._pvt_ptr[0].subresource.sparseLevel.level = level
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14500
 *     def level(self, unsigned int level):
 *         self._pvt_ptr[0].subresource.sparseLevel.level = level
 *     @property             # <<<<<<<<<<<<<<
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.layer
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5layer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5layer_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5layer___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5layer___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14502
 *     @property
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.layer             # <<<<<<<<<<<<<<
 *     @layer.setter
 *     def layer(self, unsigned int layer):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.layer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14500
 *     def level(self, unsigned int level):
 *         self._pvt_ptr[0].subresource.sparseLevel.level = level
 *     @property             # <<<<<<<<<<<<<<
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.layer
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.layer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14503
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.layer
 *     @layer.setter             # <<<<<<<<<<<<<<
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.sparseLevel.layer = layer
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5layer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_layer); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5layer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_layer) {
  unsigned int __pyx_v_layer;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_layer); {
    __pyx_v_layer = __Pyx_PyLong_As_unsigned_int(__pyx_arg_layer); if (unlikely((__pyx_v_layer == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14504, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.layer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5layer_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_layer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_5layer_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_layer) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14505
 *     @layer.setter
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.sparseLevel.layer = layer             # <<<<<<<<<<<<<<
 *     @property
 *     def offsetX(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.layer = __pyx_v_layer;

  /* "cuda/bindings/driver.pyx":14503
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.layer
 *     @layer.setter             # <<<<<<<<<<<<<<
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.sparseLevel.layer = layer
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14506
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.sparseLevel.layer = layer
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetX(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetX
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetX_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetX___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetX___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14508
 *     @property
 *     def offsetX(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetX             # <<<<<<<<<<<<<<
 *     @offsetX.setter
 *     def offsetX(self, unsigned int offsetX):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.offsetX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14506
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.sparseLevel.layer = layer
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetX(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetX
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.offsetX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14509
 *     def offsetX(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetX
 *     @offsetX.setter             # <<<<<<<<<<<<<<
 *     def offsetX(self, unsigned int offsetX):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetX = offsetX
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetX); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetX) {
  unsigned int __pyx_v_offsetX;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_offsetX); {
    __pyx_v_offsetX = __Pyx_PyLong_As_unsigned_int(__pyx_arg_offsetX); if (unlikely((__pyx_v_offsetX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14510, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.offsetX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetX_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_offsetX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetX_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_offsetX) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14511
 *     @offsetX.setter
 *     def offsetX(self, unsigned int offsetX):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetX = offsetX             # <<<<<<<<<<<<<<
 *     @property
 *     def offsetY(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.offsetX = __pyx_v_offsetX;

  /* "cuda/bindings/driver.pyx":14509
 *     def offsetX(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetX
 *     @offsetX.setter             # <<<<<<<<<<<<<<
 *     def offsetX(self, unsigned int offsetX):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetX = offsetX
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14512
 *     def offsetX(self, unsigned int offsetX):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetX = offsetX
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetY(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetY
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetY_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetY___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetY___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14514
 *     @property
 *     def offsetY(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetY             # <<<<<<<<<<<<<<
 *     @offsetY.setter
 *     def offsetY(self, unsigned int offsetY):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.offsetY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14512
 *     def offsetX(self, unsigned int offsetX):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetX = offsetX
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetY(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetY
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.offsetY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14515
 *     def offsetY(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetY
 *     @offsetY.setter             # <<<<<<<<<<<<<<
 *     def offsetY(self, unsigned int offsetY):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetY = offsetY
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetY); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetY) {
  unsigned int __pyx_v_offsetY;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_offsetY); {
    __pyx_v_offsetY = __Pyx_PyLong_As_unsigned_int(__pyx_arg_offsetY); if (unlikely((__pyx_v_offsetY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14516, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.offsetY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetY_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_offsetY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetY_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_offsetY) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14517
 *     @offsetY.setter
 *     def offsetY(self, unsigned int offsetY):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetY = offsetY             # <<<<<<<<<<<<<<
 *     @property
 *     def offsetZ(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.offsetY = __pyx_v_offsetY;

  /* "cuda/bindings/driver.pyx":14515
 *     def offsetY(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetY
 *     @offsetY.setter             # <<<<<<<<<<<<<<
 *     def offsetY(self, unsigned int offsetY):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetY = offsetY
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14518
 *     def offsetY(self, unsigned int offsetY):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetY = offsetY
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetZ(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetZ
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetZ___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetZ___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14520
 *     @property
 *     def offsetZ(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetZ             # <<<<<<<<<<<<<<
 *     @offsetZ.setter
 *     def offsetZ(self, unsigned int offsetZ):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.offsetZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14518
 *     def offsetY(self, unsigned int offsetY):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetY = offsetY
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetZ(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetZ
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.offsetZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14521
 *     def offsetZ(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetZ
 *     @offsetZ.setter             # <<<<<<<<<<<<<<
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetZ = offsetZ
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetZ); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetZ) {
  unsigned int __pyx_v_offsetZ;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_offsetZ); {
    __pyx_v_offsetZ = __Pyx_PyLong_As_unsigned_int(__pyx_arg_offsetZ); if (unlikely((__pyx_v_offsetZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14522, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.offsetZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_offsetZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_offsetZ) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14523
 *     @offsetZ.setter
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetZ = offsetZ             # <<<<<<<<<<<<<<
 *     @property
 *     def extentWidth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.offsetZ = __pyx_v_offsetZ;

  /* "cuda/bindings/driver.pyx":14521
 *     def offsetZ(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.offsetZ
 *     @offsetZ.setter             # <<<<<<<<<<<<<<
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetZ = offsetZ
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14524
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetZ = offsetZ
 *     @property             # <<<<<<<<<<<<<<
 *     def extentWidth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentWidth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentWidth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentWidth___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14526
 *     @property
 *     def extentWidth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentWidth             # <<<<<<<<<<<<<<
 *     @extentWidth.setter
 *     def extentWidth(self, unsigned int extentWidth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.extentWidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14524
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._pvt_ptr[0].subresource.sparseLevel.offsetZ = offsetZ
 *     @property             # <<<<<<<<<<<<<<
 *     def extentWidth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentWidth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.extentWidth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14527
 *     def extentWidth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentWidth
 *     @extentWidth.setter             # <<<<<<<<<<<<<<
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentWidth = extentWidth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentWidth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentWidth) {
  unsigned int __pyx_v_extentWidth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_extentWidth); {
    __pyx_v_extentWidth = __Pyx_PyLong_As_unsigned_int(__pyx_arg_extentWidth); if (unlikely((__pyx_v_extentWidth == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14528, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.extentWidth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_extentWidth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_extentWidth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14529
 *     @extentWidth.setter
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentWidth = extentWidth             # <<<<<<<<<<<<<<
 *     @property
 *     def extentHeight(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.extentWidth = __pyx_v_extentWidth;

  /* "cuda/bindings/driver.pyx":14527
 *     def extentWidth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentWidth
 *     @extentWidth.setter             # <<<<<<<<<<<<<<
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentWidth = extentWidth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14530
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentWidth = extentWidth
 *     @property             # <<<<<<<<<<<<<<
 *     def extentHeight(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentHeight
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12extentHeight___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12extentHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14532
 *     @property
 *     def extentHeight(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentHeight             # <<<<<<<<<<<<<<
 *     @extentHeight.setter
 *     def extentHeight(self, unsigned int extentHeight):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.extentHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14530
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentWidth = extentWidth
 *     @property             # <<<<<<<<<<<<<<
 *     def extentHeight(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentHeight
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.extentHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14533
 *     def extentHeight(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentHeight
 *     @extentHeight.setter             # <<<<<<<<<<<<<<
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentHeight = extentHeight
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentHeight); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentHeight) {
  unsigned int __pyx_v_extentHeight;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_extentHeight); {
    __pyx_v_extentHeight = __Pyx_PyLong_As_unsigned_int(__pyx_arg_extentHeight); if (unlikely((__pyx_v_extentHeight == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14534, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.extentHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_extentHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_extentHeight) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14535
 *     @extentHeight.setter
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentHeight = extentHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def extentDepth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.extentHeight = __pyx_v_extentHeight;

  /* "cuda/bindings/driver.pyx":14533
 *     def extentHeight(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentHeight
 *     @extentHeight.setter             # <<<<<<<<<<<<<<
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentHeight = extentHeight
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14536
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentHeight = extentHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def extentDepth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentDepth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentDepth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentDepth___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14538
 *     @property
 *     def extentDepth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentDepth             # <<<<<<<<<<<<<<
 *     @extentDepth.setter
 *     def extentDepth(self, unsigned int extentDepth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.extentDepth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14536
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentHeight = extentHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def extentDepth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentDepth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.extentDepth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14539
 *     def extentDepth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentDepth
 *     @extentDepth.setter             # <<<<<<<<<<<<<<
 *     def extentDepth(self, unsigned int extentDepth):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentDepth = extentDepth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentDepth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentDepth) {
  unsigned int __pyx_v_extentDepth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_extentDepth); {
    __pyx_v_extentDepth = __Pyx_PyLong_As_unsigned_int(__pyx_arg_extentDepth); if (unlikely((__pyx_v_extentDepth == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14540, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.extentDepth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_extentDepth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_extentDepth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14541
 *     @extentDepth.setter
 *     def extentDepth(self, unsigned int extentDepth):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentDepth = extentDepth             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct21:
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel.extentDepth = __pyx_v_extentDepth;

  /* "cuda/bindings/driver.pyx":14539
 *     def extentDepth(self):
 *         return self._pvt_ptr[0].subresource.sparseLevel.extentDepth
 *     @extentDepth.setter             # <<<<<<<<<<<<<<
 *     def extentDepth(self, unsigned int extentDepth):
 *         self._pvt_ptr[0].subresource.sparseLevel.extentDepth = extentDepth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct20_10__reduce_cython__, "anon_struct20.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct20_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct20_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct20_12__setstate_cython__, "anon_struct20.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct20_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct20_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct20_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct20.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14559
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14559, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14559, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14559, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 14559, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14559, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14559, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14559, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14560
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":14559
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14562
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14562, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14562, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14562, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 14562, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14562, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14562, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14562, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14564
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14566
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource.miptail
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct21_6getPtr, "anon_struct21.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct21_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct21_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14567
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource.miptail             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).subresource.miptail))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14566
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource.miptail
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14568
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource.miptail
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14569
 *         return <void_ptr>&self._pvt_ptr[0].subresource.miptail
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14570
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14571
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14572
 *             str_list = []
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_layer_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_layer, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14572, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14572, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14571
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14573
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14573, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14574
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14574, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_layer_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_layer_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_layer_ValueError) != (0)) __PYX_ERR(0, 14574, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14574, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14571
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14575
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14576
 *                 str_list += ['layer : <ValueError>']
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_offset_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14576, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14576, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_offset, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14576, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14576, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14576, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14576, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14575
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14577
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14577, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14578
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14578, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_offset_ValueError) != (0)) __PYX_ERR(0, 14578, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14578, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14575
 *             except ValueError:
 *                 str_list += ['layer : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14579
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14580
 *                 str_list += ['offset : <ValueError>']
 *             try:
 *                 str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14580, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14580, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14580, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14580, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14580, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14580, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14579
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14581
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14581, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14582
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14582, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_size_ValueError) != (0)) __PYX_ERR(0, 14582, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14582, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":14579
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14583
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14569
 *         return <void_ptr>&self._pvt_ptr[0].subresource.miptail
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14585
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def layer(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14568
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource.miptail
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14586
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.miptail.layer
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5layer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5layer_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_5layer___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_5layer___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14588
 *     @property
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.miptail.layer             # <<<<<<<<<<<<<<
 *     @layer.setter
 *     def layer(self, unsigned int layer):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).subresource.miptail.layer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14586
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.miptail.layer
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.layer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14589
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.miptail.layer
 *     @layer.setter             # <<<<<<<<<<<<<<
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.miptail.layer = layer
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5layer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_layer); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5layer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_layer) {
  unsigned int __pyx_v_layer;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_layer); {
    __pyx_v_layer = __Pyx_PyLong_As_unsigned_int(__pyx_arg_layer); if (unlikely((__pyx_v_layer == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14590, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.layer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_5layer_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self), ((unsigned int)__pyx_v_layer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_5layer_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, unsigned int __pyx_v_layer) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14591
 *     @layer.setter
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.miptail.layer = layer             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.miptail.layer = __pyx_v_layer;

  /* "cuda/bindings/driver.pyx":14589
 *     def layer(self):
 *         return self._pvt_ptr[0].subresource.miptail.layer
 *     @layer.setter             # <<<<<<<<<<<<<<
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.miptail.layer = layer
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14592
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.miptail.layer = layer
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._pvt_ptr[0].subresource.miptail.offset
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_6offset_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6offset___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14594
 *     @property
 *     def offset(self):
 *         return self._pvt_ptr[0].subresource.miptail.offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).subresource.miptail.offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14592
 *     def layer(self, unsigned int layer):
 *         self._pvt_ptr[0].subresource.miptail.layer = layer
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._pvt_ptr[0].subresource.miptail.offset
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14595
 *     def offset(self):
 *         return self._pvt_ptr[0].subresource.miptail.offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].subresource.miptail.offset = offset
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) {
  unsigned PY_LONG_LONG __pyx_v_offset;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_offset); {
    __pyx_v_offset = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14596, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6offset_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_offset));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14597
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].subresource.miptail.offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.miptail.offset = __pyx_v_offset;

  /* "cuda/bindings/driver.pyx":14595
 *     def offset(self):
 *         return self._pvt_ptr[0].subresource.miptail.offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].subresource.miptail.offset = offset
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14598
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].subresource.miptail.offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].subresource.miptail.size
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4size___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14600
 *     @property
 *     def size(self):
 *         return self._pvt_ptr[0].subresource.miptail.size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, unsigned long long size):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).subresource.miptail.size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14598
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].subresource.miptail.offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].subresource.miptail.size
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14601
 *     def size(self):
 *         return self._pvt_ptr[0].subresource.miptail.size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].subresource.miptail.size = size
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  unsigned PY_LONG_LONG __pyx_v_size;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_size); if (unlikely((__pyx_v_size == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14602, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4size_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14603
 *     @size.setter
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].subresource.miptail.size = size             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union10:
*/
  (__pyx_v_self->_pvt_ptr[0]).subresource.miptail.size = __pyx_v_size;

  /* "cuda/bindings/driver.pyx":14601
 *     def size(self):
 *         return self._pvt_ptr[0].subresource.miptail.size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._pvt_ptr[0].subresource.miptail.size = size
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct21_10__reduce_cython__, "anon_struct21.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct21_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct21_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct21_12__setstate_cython__, "anon_struct21.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct21_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct21_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct21_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct21_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct21.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14619
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union10_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union10_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14619, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14619, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14619, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 14619, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14619, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14619, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14619, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union10___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14620
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":14619
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14622
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._sparseLevel = anon_struct20(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union10_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union10_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14622, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14622, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14622, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 14622, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14622, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14622, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14622, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union10_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":14624
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._sparseLevel = anon_struct20(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._miptail = anon_struct21(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14624, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14624, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_sparseLevel);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_sparseLevel);
  __pyx_v_self->_sparseLevel = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14625
 *         pass
 *         self._sparseLevel = anon_struct20(_ptr=<void_ptr>self._pvt_ptr)
 *         self._miptail = anon_struct21(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14625, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14625, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_miptail);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_miptail);
  __pyx_v_self->_miptail = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14622
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._sparseLevel = anon_struct20(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14626
 *         self._sparseLevel = anon_struct20(_ptr=<void_ptr>self._pvt_ptr)
 *         self._miptail = anon_struct21(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_union10_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_union10_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_union10_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_union10_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14628
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union10_6getPtr, "anon_union10.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union10_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union10_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union10_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14629
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).subresource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14628
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14630
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr185__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr186__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14631
 *         return <void_ptr>&self._pvt_ptr[0].subresource
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14632
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sparseLevel :\n' + '\n'.join(['    ' + line for line in str(self.sparseLevel).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14633
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sparseLevel :\n' + '\n'.join(['    ' + line for line in str(self.sparseLevel).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14634
 *             str_list = []
 *             try:
 *                 str_list += ['sparseLevel :\n' + '\n'.join(['    ' + line for line in str(self.sparseLevel).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sparseLevel : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14634, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sparseLevel_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14634, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14634, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14634, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14634, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14634, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr185__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr185__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14634, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 14634, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr185__pyx_v_line); __pyx_10genexpr185__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr185__pyx_v_line); __pyx_10genexpr185__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14634, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sparseLevel, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14634, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14634, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14634, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14634, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14633
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sparseLevel :\n' + '\n'.join(['    ' + line for line in str(self.sparseLevel).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":14635
 *             try:
 *                 str_list += ['sparseLevel :\n' + '\n'.join(['    ' + line for line in str(self.sparseLevel).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sparseLevel : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 14635, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14636
 *                 str_list += ['sparseLevel :\n' + '\n'.join(['    ' + line for line in str(self.sparseLevel).splitlines()])]
 *             except ValueError:
 *                 str_list += ['sparseLevel : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['miptail :\n' + '\n'.join(['    ' + line for line in str(self.miptail).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14636, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sparseLevel_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sparseLevel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_sparseLevel_ValueError) != (0)) __PYX_ERR(0, 14636, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14636, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14633
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sparseLevel :\n' + '\n'.join(['    ' + line for line in str(self.sparseLevel).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14637
 *             except ValueError:
 *                 str_list += ['sparseLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptail :\n' + '\n'.join(['    ' + line for line in str(self.miptail).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14638
 *                 str_list += ['sparseLevel : <ValueError>']
 *             try:
 *                 str_list += ['miptail :\n' + '\n'.join(['    ' + line for line in str(self.miptail).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['miptail : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14638, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_miptail_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14638, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14638, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14638, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14638, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14638, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr186__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr186__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14638, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14638, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr186__pyx_v_line); __pyx_10genexpr186__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr186__pyx_v_line); __pyx_10genexpr186__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14638, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_miptail, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14638, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14638, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 14638, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14638, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":14637
 *             except ValueError:
 *                 str_list += ['sparseLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptail :\n' + '\n'.join(['    ' + line for line in str(self.miptail).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":14639
 *             try:
 *                 str_list += ['miptail :\n' + '\n'.join(['    ' + line for line in str(self.miptail).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptail : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 14639, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":14640
 *                 str_list += ['miptail :\n' + '\n'.join(['    ' + line for line in str(self.miptail).splitlines()])]
 *             except ValueError:
 *                 str_list += ['miptail : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14640, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_miptail_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_miptail_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_miptail_ValueError) != (0)) __PYX_ERR(0, 14640, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14640, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":14637
 *             except ValueError:
 *                 str_list += ['sparseLevel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptail :\n' + '\n'.join(['    ' + line for line in str(self.miptail).splitlines()])]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14641
 *             except ValueError:
 *                 str_list += ['miptail : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14631
 *         return <void_ptr>&self._pvt_ptr[0].subresource
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14643
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def sparseLevel(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14630
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].subresource
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr185__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr186__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14644
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def sparseLevel(self):
 *         return self._sparseLevel
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_11sparseLevel___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_11sparseLevel___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14646
 *     @property
 *     def sparseLevel(self):
 *         return self._sparseLevel             # <<<<<<<<<<<<<<
 *     @sparseLevel.setter
 *     def sparseLevel(self, sparseLevel not None : anon_struct20):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_sparseLevel);
  __pyx_r = ((PyObject *)__pyx_v_self->_sparseLevel);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14644
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def sparseLevel(self):
 *         return self._sparseLevel
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14647
 *     def sparseLevel(self):
 *         return self._sparseLevel
 *     @sparseLevel.setter             # <<<<<<<<<<<<<<
 *     def sparseLevel(self, sparseLevel not None : anon_struct20):
 *         string.memcpy(&self._pvt_ptr[0].subresource.sparseLevel, <cydriver.anon_struct20*><void_ptr>sparseLevel.getPtr(), sizeof(self._pvt_ptr[0].subresource.sparseLevel))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sparseLevel); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sparseLevel) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sparseLevel), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20, 0, "sparseLevel", 0))) __PYX_ERR(0, 14648, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)__pyx_v_sparseLevel));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *__pyx_v_sparseLevel) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14649
 *     @sparseLevel.setter
 *     def sparseLevel(self, sparseLevel not None : anon_struct20):
 *         string.memcpy(&self._pvt_ptr[0].subresource.sparseLevel, <cydriver.anon_struct20*><void_ptr>sparseLevel.getPtr(), sizeof(self._pvt_ptr[0].subresource.sparseLevel))             # <<<<<<<<<<<<<<
 *     @property
 *     def miptail(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_sparseLevel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel), ((struct anon_struct20 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).subresource.sparseLevel))));

  /* "cuda/bindings/driver.pyx":14647
 *     def sparseLevel(self):
 *         return self._sparseLevel
 *     @sparseLevel.setter             # <<<<<<<<<<<<<<
 *     def sparseLevel(self, sparseLevel not None : anon_struct20):
 *         string.memcpy(&self._pvt_ptr[0].subresource.sparseLevel, <cydriver.anon_struct20*><void_ptr>sparseLevel.getPtr(), sizeof(self._pvt_ptr[0].subresource.sparseLevel))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.sparseLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14650
 *     def sparseLevel(self, sparseLevel not None : anon_struct20):
 *         string.memcpy(&self._pvt_ptr[0].subresource.sparseLevel, <cydriver.anon_struct20*><void_ptr>sparseLevel.getPtr(), sizeof(self._pvt_ptr[0].subresource.sparseLevel))
 *     @property             # <<<<<<<<<<<<<<
 *     def miptail(self):
 *         return self._miptail
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_7miptail_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_7miptail_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_7miptail___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_7miptail___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14652
 *     @property
 *     def miptail(self):
 *         return self._miptail             # <<<<<<<<<<<<<<
 *     @miptail.setter
 *     def miptail(self, miptail not None : anon_struct21):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_miptail);
  __pyx_r = ((PyObject *)__pyx_v_self->_miptail);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14650
 *     def sparseLevel(self, sparseLevel not None : anon_struct20):
 *         string.memcpy(&self._pvt_ptr[0].subresource.sparseLevel, <cydriver.anon_struct20*><void_ptr>sparseLevel.getPtr(), sizeof(self._pvt_ptr[0].subresource.sparseLevel))
 *     @property             # <<<<<<<<<<<<<<
 *     def miptail(self):
 *         return self._miptail
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14653
 *     def miptail(self):
 *         return self._miptail
 *     @miptail.setter             # <<<<<<<<<<<<<<
 *     def miptail(self, miptail not None : anon_struct21):
 *         string.memcpy(&self._pvt_ptr[0].subresource.miptail, <cydriver.anon_struct21*><void_ptr>miptail.getPtr(), sizeof(self._pvt_ptr[0].subresource.miptail))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union10_7miptail_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_miptail); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union10_7miptail_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_miptail) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_miptail), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21, 0, "miptail", 0))) __PYX_ERR(0, 14654, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_7miptail_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)__pyx_v_miptail));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union10_7miptail_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *__pyx_v_miptail) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14655
 *     @miptail.setter
 *     def miptail(self, miptail not None : anon_struct21):
 *         string.memcpy(&self._pvt_ptr[0].subresource.miptail, <cydriver.anon_struct21*><void_ptr>miptail.getPtr(), sizeof(self._pvt_ptr[0].subresource.miptail))             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union11:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_miptail);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).subresource.miptail), ((struct anon_struct21 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).subresource.miptail))));

  /* "cuda/bindings/driver.pyx":14653
 *     def miptail(self):
 *         return self._miptail
 *     @miptail.setter             # <<<<<<<<<<<<<<
 *     def miptail(self, miptail not None : anon_struct21):
 *         string.memcpy(&self._pvt_ptr[0].subresource.miptail, <cydriver.anon_struct21*><void_ptr>miptail.getPtr(), sizeof(self._pvt_ptr[0].subresource.miptail))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.miptail.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union10_10__reduce_cython__, "anon_union10.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union10_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union10_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union10_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union10_12__setstate_cython__, "anon_union10.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union10_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union10_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union10_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union10_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union10_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union10_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union10.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14669
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union11_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union11_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14669, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14669, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14669, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 14669, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14669, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14669, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14669, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union11___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union11___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14670
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":14669
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14672
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._memHandle = CUmemGenericAllocationHandle(_ptr=<void_ptr>&self._pvt_ptr[0].memHandle.memHandle)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union11_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union11_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14672, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14672, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14672, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 14672, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14672, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14672, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14672, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union11_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union11_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":14674
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._memHandle = CUmemGenericAllocationHandle(_ptr=<void_ptr>&self._pvt_ptr[0].memHandle.memHandle)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).memHandle.memHandle))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14674, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14674, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memHandle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memHandle);
  __pyx_v_self->_memHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14672
 *         self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._memHandle = CUmemGenericAllocationHandle(_ptr=<void_ptr>&self._pvt_ptr[0].memHandle.memHandle)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14675
 *         pass
 *         self._memHandle = CUmemGenericAllocationHandle(_ptr=<void_ptr>&self._pvt_ptr[0].memHandle.memHandle)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_union11_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_union11_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_union11_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_union11_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14677
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].memHandle
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union11_6getPtr, "anon_union11.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union11_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union11_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union11_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union11_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14678
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].memHandle             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).memHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14677
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].memHandle
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14679
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].memHandle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union11_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14680
 *         return <void_ptr>&self._pvt_ptr[0].memHandle
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14681
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memHandle : ' + str(self.memHandle)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14682
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle : ' + str(self.memHandle)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14683
 *             str_list = []
 *             try:
 *                 str_list += ['memHandle : ' + str(self.memHandle)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memHandle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14683, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14683, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memHandle, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14683, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14683, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14683, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14683, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14682
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle : ' + str(self.memHandle)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14684
 *             try:
 *                 str_list += ['memHandle : ' + str(self.memHandle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14684, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14685
 *                 str_list += ['memHandle : ' + str(self.memHandle)]
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14685, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memHandle_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memHandle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_memHandle_ValueError) != (0)) __PYX_ERR(0, 14685, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14685, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14682
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle : ' + str(self.memHandle)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14686
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14680
 *         return <void_ptr>&self._pvt_ptr[0].memHandle
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14688
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def memHandle(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14679
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].memHandle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14689
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandle(self):
 *         return self._memHandle
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_9memHandle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_9memHandle_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union11_9memHandle___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_9memHandle___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14691
 *     @property
 *     def memHandle(self):
 *         return self._memHandle             # <<<<<<<<<<<<<<
 *     @memHandle.setter
 *     def memHandle(self, memHandle):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_memHandle);
  __pyx_r = ((PyObject *)__pyx_v_self->_memHandle);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14689
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandle(self):
 *         return self._memHandle
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14692
 *     def memHandle(self):
 *         return self._memHandle
 *     @memHandle.setter             # <<<<<<<<<<<<<<
 *     def memHandle(self, memHandle):
 *         cdef cydriver.CUmemGenericAllocationHandle cymemHandle
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union11_9memHandle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandle); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union11_9memHandle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandle) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union11_9memHandle_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self), ((PyObject *)__pyx_v_memHandle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union11_9memHandle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self, PyObject *__pyx_v_memHandle) {
  CUmemGenericAllocationHandle __pyx_v_cymemHandle;
  PyObject *__pyx_v_pmemHandle = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14695
 *     def memHandle(self, memHandle):
 *         cdef cydriver.CUmemGenericAllocationHandle cymemHandle
 *         if memHandle is None:             # <<<<<<<<<<<<<<
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
*/
  __pyx_t_1 = (__pyx_v_memHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14696
 *         cdef cydriver.CUmemGenericAllocationHandle cymemHandle
 *         if memHandle is None:
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
 *             pmemHandle = int(memHandle)
*/
    __pyx_v_cymemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":14695
 *     def memHandle(self, memHandle):
 *         cdef cydriver.CUmemGenericAllocationHandle cymemHandle
 *         if memHandle is None:             # <<<<<<<<<<<<<<
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14697
 *         if memHandle is None:
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):             # <<<<<<<<<<<<<<
 *             pmemHandle = int(memHandle)
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memHandle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14698
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
 *             pmemHandle = int(memHandle)             # <<<<<<<<<<<<<<
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_memHandle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14699
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
 *             pmemHandle = int(memHandle)
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *         else:
 *             pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14699, __pyx_L1_error)
    __pyx_v_cymemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":14697
 *         if memHandle is None:
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):             # <<<<<<<<<<<<<<
 *             pmemHandle = int(memHandle)
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14701
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *         else:
 *             pmemHandle = int(CUmemGenericAllocationHandle(memHandle))             # <<<<<<<<<<<<<<
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *         self._memHandle._pvt_ptr[0] = cymemHandle
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_memHandle};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14701, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":14702
 *         else:
 *             pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *         self._memHandle._pvt_ptr[0] = cymemHandle
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14702, __pyx_L1_error)
    __pyx_v_cymemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14703
 *             pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 *             cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *         self._memHandle._pvt_ptr[0] = cymemHandle             # <<<<<<<<<<<<<<
 * 
 * 
*/
  (__pyx_v_self->_memHandle->_pvt_ptr[0]) = __pyx_v_cymemHandle;

  /* "cuda/bindings/driver.pyx":14692
 *     def memHandle(self):
 *         return self._memHandle
 *     @memHandle.setter             # <<<<<<<<<<<<<<
 *     def memHandle(self, memHandle):
 *         cdef cydriver.CUmemGenericAllocationHandle cymemHandle
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.memHandle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemHandle);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union11_10__reduce_cython__, "anon_union11.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union11_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union11_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union11_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union11_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union11_12__setstate_cython__, "anon_union11.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union11_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union11_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union11_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union11_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union11_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union11_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union11.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14741
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUarrayMapInfo_st *>calloc(1, sizeof(cydriver.CUarrayMapInfo_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14741, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14741, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14741, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUarrayMapInfo_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":14742
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUarrayMapInfo_st *>calloc(1, sizeof(cydriver.CUarrayMapInfo_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14743
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUarrayMapInfo_st *>calloc(1, sizeof(cydriver.CUarrayMapInfo_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUarrayMapInfo_st *)calloc(1, (sizeof(struct CUarrayMapInfo_st))));

    /* "cuda/bindings/driver.pyx":14744
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUarrayMapInfo_st *>calloc(1, sizeof(cydriver.CUarrayMapInfo_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":14742
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUarrayMapInfo_st *>calloc(1, sizeof(cydriver.CUarrayMapInfo_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14746
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14741
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUarrayMapInfo_st *>calloc(1, sizeof(cydriver.CUarrayMapInfo_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14747
 *         else:
 *             self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._resource = anon_union9(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14747, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14747, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14747, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14747, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14747, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14747, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":14749
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._resource = anon_union9(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union9);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union9); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14749, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14749, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_resource);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_resource);
  __pyx_v_self->_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14750
 *         pass
 *         self._resource = anon_union9(_ptr=<void_ptr>self._pvt_ptr)
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union10);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union10); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14750, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14750, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_subresource);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_subresource);
  __pyx_v_self->_subresource = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14751
 *         self._resource = anon_union9(_ptr=<void_ptr>self._pvt_ptr)
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union11);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union11); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14751, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14751, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memHandle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memHandle);
  __pyx_v_self->_memHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":14747
 *         else:
 *             self._pvt_ptr = <cydriver.CUarrayMapInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._resource = anon_union9(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14752
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":14753
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14754
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":14753
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":14752
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14755
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6getPtr, "CUarrayMapInfo_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUarrayMapInfo_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14756
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14755
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14757
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr187__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr188__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr189__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14758
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14759
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['resourceType : ' + str(self.resourceType)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14760
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resourceType : ' + str(self.resourceType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14761
 *             str_list = []
 *             try:
 *                 str_list += ['resourceType : ' + str(self.resourceType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['resourceType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_resourceType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14761, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14761, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_resourceType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14761, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14761, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14761, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14761, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14760
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resourceType : ' + str(self.resourceType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14762
 *             try:
 *                 str_list += ['resourceType : ' + str(self.resourceType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['resourceType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14762, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14763
 *                 str_list += ['resourceType : ' + str(self.resourceType)]
 *             except ValueError:
 *                 str_list += ['resourceType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['resource :\n' + '\n'.join(['    ' + line for line in str(self.resource).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14763, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_resourceType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_resourceType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_resourceType_ValueError) != (0)) __PYX_ERR(0, 14763, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14763, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14760
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resourceType : ' + str(self.resourceType)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14764
 *             except ValueError:
 *                 str_list += ['resourceType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resource :\n' + '\n'.join(['    ' + line for line in str(self.resource).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14765
 *                 str_list += ['resourceType : <ValueError>']
 *             try:
 *                 str_list += ['resource :\n' + '\n'.join(['    ' + line for line in str(self.resource).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['resource : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14765, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_resource_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14765, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14765, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14765, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14765, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14765, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr187__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr187__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14765, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 14765, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr187__pyx_v_line); __pyx_10genexpr187__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr187__pyx_v_line); __pyx_10genexpr187__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14765, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_resource, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14765, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14765, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14765, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14765, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14764
 *             except ValueError:
 *                 str_list += ['resourceType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resource :\n' + '\n'.join(['    ' + line for line in str(self.resource).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14766
 *             try:
 *                 str_list += ['resource :\n' + '\n'.join(['    ' + line for line in str(self.resource).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['resource : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 14766, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14767
 *                 str_list += ['resource :\n' + '\n'.join(['    ' + line for line in str(self.resource).splitlines()])]
 *             except ValueError:
 *                 str_list += ['resource : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14767, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_resource_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_resource_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_resource_ValueError) != (0)) __PYX_ERR(0, 14767, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14767, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14764
 *             except ValueError:
 *                 str_list += ['resourceType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['resource :\n' + '\n'.join(['    ' + line for line in str(self.resource).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14768
 *             except ValueError:
 *                 str_list += ['resource : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14769
 *                 str_list += ['resource : <ValueError>']
 *             try:
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['subresourceType : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_subresourceType_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14769, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14769, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_subresourceType, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14769, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14769, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 14769, __pyx_L27_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14769, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":14768
 *             except ValueError:
 *                 str_list += ['resource : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14770
 *             try:
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresourceType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 14770, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14771
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]
 *             except ValueError:
 *                 str_list += ['subresourceType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['subresource :\n' + '\n'.join(['    ' + line for line in str(self.subresource).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14771, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_subresourceType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_subresourceType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_subresourceType_ValueError) != (0)) __PYX_ERR(0, 14771, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14771, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":14768
 *             except ValueError:
 *                 str_list += ['resource : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14772
 *             except ValueError:
 *                 str_list += ['subresourceType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresource :\n' + '\n'.join(['    ' + line for line in str(self.subresource).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14773
 *                 str_list += ['subresourceType : <ValueError>']
 *             try:
 *                 str_list += ['subresource :\n' + '\n'.join(['    ' + line for line in str(self.subresource).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['subresource : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14773, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_subresource_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14773, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14773, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14773, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14773, __pyx_L43_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14773, __pyx_L43_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr188__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr188__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14773, __pyx_L43_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 14773, __pyx_L43_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr188__pyx_v_line); __pyx_10genexpr188__pyx_v_line = 0;
          goto __pyx_L47_exit_scope;
          __pyx_L43_error:;
          __Pyx_XDECREF(__pyx_10genexpr188__pyx_v_line); __pyx_10genexpr188__pyx_v_line = 0;
          goto __pyx_L35_error;
          __pyx_L47_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14773, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_subresource, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14773, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14773, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14773, __pyx_L35_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14773, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14772
 *             except ValueError:
 *                 str_list += ['subresourceType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresource :\n' + '\n'.join(['    ' + line for line in str(self.subresource).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14774
 *             try:
 *                 str_list += ['subresource :\n' + '\n'.join(['    ' + line for line in str(self.subresource).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresource : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14774, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14775
 *                 str_list += ['subresource :\n' + '\n'.join(['    ' + line for line in str(self.subresource).splitlines()])]
 *             except ValueError:
 *                 str_list += ['subresource : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14775, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_subresource_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_subresource_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_subresource_ValueError) != (0)) __PYX_ERR(0, 14775, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14775, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":14772
 *             except ValueError:
 *                 str_list += ['subresourceType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresource :\n' + '\n'.join(['    ' + line for line in str(self.subresource).splitlines()])]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14776
 *             except ValueError:
 *                 str_list += ['subresource : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14777
 *                 str_list += ['subresource : <ValueError>']
 *             try:
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memOperationType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memOperationType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14777, __pyx_L50_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14777, __pyx_L50_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memOperationType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14777, __pyx_L50_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14777, __pyx_L50_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14777, __pyx_L50_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14777, __pyx_L50_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14776
 *             except ValueError:
 *                 str_list += ['subresource : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L55_try_end;
      __pyx_L50_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14778
 *             try:
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOperationType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14778, __pyx_L52_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14779
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]
 *             except ValueError:
 *                 str_list += ['memOperationType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14779, __pyx_L52_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memOperationType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memOperationType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_memOperationType_ValueError) != (0)) __PYX_ERR(0, 14779, __pyx_L52_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14779, __pyx_L52_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L51_exception_handled;
      }
      goto __pyx_L52_except_error;

      /* "cuda/bindings/driver.pyx":14776
 *             except ValueError:
 *                 str_list += ['subresource : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]
 *             except ValueError:
*/
      __pyx_L52_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L51_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L55_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14780
 *             except ValueError:
 *                 str_list += ['memOperationType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14781
 *                 str_list += ['memOperationType : <ValueError>']
 *             try:
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memHandleType : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memHandleType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14781, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14781, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memHandleType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14781, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14781, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14781, __pyx_L58_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14781, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14780
 *             except ValueError:
 *                 str_list += ['memOperationType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L63_try_end;
      __pyx_L58_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14782
 *             try:
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandleType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14782, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14783
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]
 *             except ValueError:
 *                 str_list += ['memHandleType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memHandle :\n' + '\n'.join(['    ' + line for line in str(self.memHandle).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14783, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memHandleType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memHandleType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_memHandleType_ValueError) != (0)) __PYX_ERR(0, 14783, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14783, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L59_exception_handled;
      }
      goto __pyx_L60_except_error;

      /* "cuda/bindings/driver.pyx":14780
 *             except ValueError:
 *                 str_list += ['memOperationType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]
 *             except ValueError:
*/
      __pyx_L60_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L59_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L63_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14784
 *             except ValueError:
 *                 str_list += ['memHandleType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle :\n' + '\n'.join(['    ' + line for line in str(self.memHandle).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14785
 *                 str_list += ['memHandleType : <ValueError>']
 *             try:
 *                 str_list += ['memHandle :\n' + '\n'.join(['    ' + line for line in str(self.memHandle).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14785, __pyx_L74_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memHandle_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14785, __pyx_L74_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14785, __pyx_L74_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14785, __pyx_L74_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 14785, __pyx_L74_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14785, __pyx_L74_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr189__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr189__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14785, __pyx_L74_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 14785, __pyx_L74_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr189__pyx_v_line); __pyx_10genexpr189__pyx_v_line = 0;
          goto __pyx_L78_exit_scope;
          __pyx_L74_error:;
          __Pyx_XDECREF(__pyx_10genexpr189__pyx_v_line); __pyx_10genexpr189__pyx_v_line = 0;
          goto __pyx_L66_error;
          __pyx_L78_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14785, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memHandle_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14785, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14785, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14785, __pyx_L66_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14785, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14784
 *             except ValueError:
 *                 str_list += ['memHandleType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle :\n' + '\n'.join(['    ' + line for line in str(self.memHandle).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L71_try_end;
      __pyx_L66_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14786
 *             try:
 *                 str_list += ['memHandle :\n' + '\n'.join(['    ' + line for line in str(self.memHandle).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 14786, __pyx_L68_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14787
 *                 str_list += ['memHandle :\n' + '\n'.join(['    ' + line for line in str(self.memHandle).splitlines()])]
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14787, __pyx_L68_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memHandle_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memHandle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_memHandle_ValueError) != (0)) __PYX_ERR(0, 14787, __pyx_L68_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14787, __pyx_L68_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L67_exception_handled;
      }
      goto __pyx_L68_except_error;

      /* "cuda/bindings/driver.pyx":14784
 *             except ValueError:
 *                 str_list += ['memHandleType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle :\n' + '\n'.join(['    ' + line for line in str(self.memHandle).splitlines()])]
 *             except ValueError:
*/
      __pyx_L68_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L67_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L71_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14788
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14789
 *                 str_list += ['memHandle : <ValueError>']
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_offset_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14789, __pyx_L81_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14789, __pyx_L81_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_offset, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14789, __pyx_L81_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14789, __pyx_L81_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 14789, __pyx_L81_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14789, __pyx_L81_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":14788
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L86_try_end;
      __pyx_L81_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14790
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 14790, __pyx_L83_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14791
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14791, __pyx_L83_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_offset_ValueError) != (0)) __PYX_ERR(0, 14791, __pyx_L83_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14791, __pyx_L83_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L82_exception_handled;
      }
      goto __pyx_L83_except_error;

      /* "cuda/bindings/driver.pyx":14788
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:
*/
      __pyx_L83_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L82_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L86_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14792
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14793
 *                 str_list += ['offset : <ValueError>']
 *             try:
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['deviceBitMask : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_deviceBitMask_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14793, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14793, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_deviceBitMask, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14793, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14793, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14793, __pyx_L89_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14793, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14792
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L94_try_end;
      __pyx_L89_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14794
 *             try:
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceBitMask : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 14794, __pyx_L91_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14795
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]
 *             except ValueError:
 *                 str_list += ['deviceBitMask : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14795, __pyx_L91_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_deviceBitMask_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_deviceBitMask_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_deviceBitMask_ValueError) != (0)) __PYX_ERR(0, 14795, __pyx_L91_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14795, __pyx_L91_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L90_exception_handled;
      }
      goto __pyx_L91_except_error;

      /* "cuda/bindings/driver.pyx":14792
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]
 *             except ValueError:
*/
      __pyx_L91_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L90_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L94_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14796
 *             except ValueError:
 *                 str_list += ['deviceBitMask : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14797
 *                 str_list += ['deviceBitMask : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14797, __pyx_L97_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14797, __pyx_L97_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14797, __pyx_L97_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14797, __pyx_L97_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 14797, __pyx_L97_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14797, __pyx_L97_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":14796
 *             except ValueError:
 *                 str_list += ['deviceBitMask : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L102_try_end;
      __pyx_L97_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14798
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 14798, __pyx_L99_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14799
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14799, __pyx_L99_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 14799, __pyx_L99_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14799, __pyx_L99_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L98_exception_handled;
      }
      goto __pyx_L99_except_error;

      /* "cuda/bindings/driver.pyx":14796
 *             except ValueError:
 *                 str_list += ['deviceBitMask : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L99_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L98_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L102_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14800
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14801
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14801, __pyx_L105_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14801, __pyx_L105_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14801, __pyx_L105_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14801, __pyx_L105_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14801, __pyx_L105_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14801, __pyx_L105_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14800
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L110_try_end;
      __pyx_L105_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14802
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 14802, __pyx_L107_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14803
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14803, __pyx_L107_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 14803, __pyx_L107_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14803, __pyx_L107_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L106_exception_handled;
      }
      goto __pyx_L107_except_error;

      /* "cuda/bindings/driver.pyx":14800
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L107_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L106_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L110_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14804
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14758
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14806
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def resourceType(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14757
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr187__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr188__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr189__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14807
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def resourceType(self):
 *         if self._pvt_ptr[0].resourceType not in _dict_CUresourcetype:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14809
 *     @property
 *     def resourceType(self):
 *         if self._pvt_ptr[0].resourceType not in _dict_CUresourcetype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resourceType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUresourcetype_enum((__pyx_v_self->_pvt_ptr[0]).resourceType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresourcetype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 14809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":14810
 *     def resourceType(self):
 *         if self._pvt_ptr[0].resourceType not in _dict_CUresourcetype:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resourceType]
 *     @resourceType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14809
 *     @property
 *     def resourceType(self):
 *         if self._pvt_ptr[0].resourceType not in _dict_CUresourcetype:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resourceType]
*/
  }

  /* "cuda/bindings/driver.pyx":14811
 *         if self._pvt_ptr[0].resourceType not in _dict_CUresourcetype:
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resourceType]             # <<<<<<<<<<<<<<
 *     @resourceType.setter
 *     def resourceType(self, resourceType not None : CUresourcetype):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresourcetype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUresourcetype_enum((__pyx_v_self->_pvt_ptr[0]).resourceType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14807
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def resourceType(self):
 *         if self._pvt_ptr[0].resourceType not in _dict_CUresourcetype:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.resourceType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14812
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resourceType]
 *     @resourceType.setter             # <<<<<<<<<<<<<<
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._pvt_ptr[0].resourceType = resourceType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resourceType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resourceType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_resourceType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "resourceType"); __PYX_ERR(0, 14813, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_resourceType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_resourceType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresourcetype __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14814
 *     @resourceType.setter
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._pvt_ptr[0].resourceType = resourceType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def resource(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_resourceType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUresourcetype_enum)__Pyx_PyLong_As_enum__CUresourcetype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).resourceType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":14812
 *             return None
 *         return _dict_CUresourcetype[self._pvt_ptr[0].resourceType]
 *     @resourceType.setter             # <<<<<<<<<<<<<<
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._pvt_ptr[0].resourceType = resourceType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.resourceType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14815
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._pvt_ptr[0].resourceType = resourceType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def resource(self):
 *         return self._resource
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14817
 *     @property
 *     def resource(self):
 *         return self._resource             # <<<<<<<<<<<<<<
 *     @resource.setter
 *     def resource(self, resource not None : anon_union9):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_resource);
  __pyx_r = ((PyObject *)__pyx_v_self->_resource);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14815
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._pvt_ptr[0].resourceType = resourceType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def resource(self):
 *         return self._resource
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14818
 *     def resource(self):
 *         return self._resource
 *     @resource.setter             # <<<<<<<<<<<<<<
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._pvt_ptr[0].resource, <cydriver.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._pvt_ptr[0].resource))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resource); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resource) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resource), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union9, 0, "resource", 0))) __PYX_ERR(0, 14819, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)__pyx_v_resource));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *__pyx_v_resource) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14820
 *     @resource.setter
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._pvt_ptr[0].resource, <cydriver.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._pvt_ptr[0].resource))             # <<<<<<<<<<<<<<
 *     @property
 *     def subresourceType(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_resource);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).resource), ((union anon_union9 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).resource))));

  /* "cuda/bindings/driver.pyx":14818
 *     def resource(self):
 *         return self._resource
 *     @resource.setter             # <<<<<<<<<<<<<<
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._pvt_ptr[0].resource, <cydriver.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._pvt_ptr[0].resource))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.resource.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14821
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._pvt_ptr[0].resource, <cydriver.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._pvt_ptr[0].resource))
 *     @property             # <<<<<<<<<<<<<<
 *     def subresourceType(self):
 *         if self._pvt_ptr[0].subresourceType not in _dict_CUarraySparseSubresourceType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14823
 *     @property
 *     def subresourceType(self):
 *         if self._pvt_ptr[0].subresourceType not in _dict_CUarraySparseSubresourceType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarraySparseSubresourceType[self._pvt_ptr[0].subresourceType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarraySparseSubresourceType_enum((__pyx_v_self->_pvt_ptr[0]).subresourceType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarraySparseSubresourceTy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 14823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":14824
 *     def subresourceType(self):
 *         if self._pvt_ptr[0].subresourceType not in _dict_CUarraySparseSubresourceType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUarraySparseSubresourceType[self._pvt_ptr[0].subresourceType]
 *     @subresourceType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14823
 *     @property
 *     def subresourceType(self):
 *         if self._pvt_ptr[0].subresourceType not in _dict_CUarraySparseSubresourceType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarraySparseSubresourceType[self._pvt_ptr[0].subresourceType]
*/
  }

  /* "cuda/bindings/driver.pyx":14825
 *         if self._pvt_ptr[0].subresourceType not in _dict_CUarraySparseSubresourceType:
 *             return None
 *         return _dict_CUarraySparseSubresourceType[self._pvt_ptr[0].subresourceType]             # <<<<<<<<<<<<<<
 *     @subresourceType.setter
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarraySparseSubresourceTy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarraySparseSubresourceType_enum((__pyx_v_self->_pvt_ptr[0]).subresourceType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14821
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._pvt_ptr[0].resource, <cydriver.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._pvt_ptr[0].resource))
 *     @property             # <<<<<<<<<<<<<<
 *     def subresourceType(self):
 *         if self._pvt_ptr[0].subresourceType not in _dict_CUarraySparseSubresourceType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.subresourceType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14826
 *             return None
 *         return _dict_CUarraySparseSubresourceType[self._pvt_ptr[0].subresourceType]
 *     @subresourceType.setter             # <<<<<<<<<<<<<<
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._pvt_ptr[0].subresourceType = subresourceType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_subresourceType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_subresourceType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_subresourceType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "subresourceType"); __PYX_ERR(0, 14827, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_subresourceType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_subresourceType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUarraySparseSubresourceType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14828
 *     @subresourceType.setter
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._pvt_ptr[0].subresourceType = subresourceType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def subresource(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_subresourceType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarraySparseSubresourceType_enum)__Pyx_PyLong_As_enum__CUarraySparseSubresourceType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).subresourceType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":14826
 *             return None
 *         return _dict_CUarraySparseSubresourceType[self._pvt_ptr[0].subresourceType]
 *     @subresourceType.setter             # <<<<<<<<<<<<<<
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._pvt_ptr[0].subresourceType = subresourceType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.subresourceType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14829
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._pvt_ptr[0].subresourceType = subresourceType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def subresource(self):
 *         return self._subresource
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14831
 *     @property
 *     def subresource(self):
 *         return self._subresource             # <<<<<<<<<<<<<<
 *     @subresource.setter
 *     def subresource(self, subresource not None : anon_union10):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_subresource);
  __pyx_r = ((PyObject *)__pyx_v_self->_subresource);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14829
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._pvt_ptr[0].subresourceType = subresourceType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def subresource(self):
 *         return self._subresource
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14832
 *     def subresource(self):
 *         return self._subresource
 *     @subresource.setter             # <<<<<<<<<<<<<<
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._pvt_ptr[0].subresource, <cydriver.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._pvt_ptr[0].subresource))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_subresource); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_subresource) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_subresource), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union10, 0, "subresource", 0))) __PYX_ERR(0, 14833, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)__pyx_v_subresource));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *__pyx_v_subresource) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14834
 *     @subresource.setter
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._pvt_ptr[0].subresource, <cydriver.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._pvt_ptr[0].subresource))             # <<<<<<<<<<<<<<
 *     @property
 *     def memOperationType(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_subresource);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).subresource), ((union anon_union10 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).subresource))));

  /* "cuda/bindings/driver.pyx":14832
 *     def subresource(self):
 *         return self._subresource
 *     @subresource.setter             # <<<<<<<<<<<<<<
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._pvt_ptr[0].subresource, <cydriver.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._pvt_ptr[0].subresource))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.subresource.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14835
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._pvt_ptr[0].subresource, <cydriver.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._pvt_ptr[0].subresource))
 *     @property             # <<<<<<<<<<<<<<
 *     def memOperationType(self):
 *         if self._pvt_ptr[0].memOperationType not in _dict_CUmemOperationType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14837
 *     @property
 *     def memOperationType(self):
 *         if self._pvt_ptr[0].memOperationType not in _dict_CUmemOperationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemOperationType[self._pvt_ptr[0].memOperationType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemOperationType_enum((__pyx_v_self->_pvt_ptr[0]).memOperationType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemOperationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 14837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":14838
 *     def memOperationType(self):
 *         if self._pvt_ptr[0].memOperationType not in _dict_CUmemOperationType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemOperationType[self._pvt_ptr[0].memOperationType]
 *     @memOperationType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14837
 *     @property
 *     def memOperationType(self):
 *         if self._pvt_ptr[0].memOperationType not in _dict_CUmemOperationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemOperationType[self._pvt_ptr[0].memOperationType]
*/
  }

  /* "cuda/bindings/driver.pyx":14839
 *         if self._pvt_ptr[0].memOperationType not in _dict_CUmemOperationType:
 *             return None
 *         return _dict_CUmemOperationType[self._pvt_ptr[0].memOperationType]             # <<<<<<<<<<<<<<
 *     @memOperationType.setter
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemOperationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemOperationType_enum((__pyx_v_self->_pvt_ptr[0]).memOperationType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14835
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._pvt_ptr[0].subresource, <cydriver.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._pvt_ptr[0].subresource))
 *     @property             # <<<<<<<<<<<<<<
 *     def memOperationType(self):
 *         if self._pvt_ptr[0].memOperationType not in _dict_CUmemOperationType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.memOperationType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14840
 *             return None
 *         return _dict_CUmemOperationType[self._pvt_ptr[0].memOperationType]
 *     @memOperationType.setter             # <<<<<<<<<<<<<<
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._pvt_ptr[0].memOperationType = memOperationType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memOperationType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memOperationType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_memOperationType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "memOperationType"); __PYX_ERR(0, 14841, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_memOperationType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_memOperationType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemOperationType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14842
 *     @memOperationType.setter
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._pvt_ptr[0].memOperationType = memOperationType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def memHandleType(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_memOperationType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemOperationType_enum)__Pyx_PyLong_As_enum__CUmemOperationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).memOperationType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":14840
 *             return None
 *         return _dict_CUmemOperationType[self._pvt_ptr[0].memOperationType]
 *     @memOperationType.setter             # <<<<<<<<<<<<<<
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._pvt_ptr[0].memOperationType = memOperationType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.memOperationType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14843
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._pvt_ptr[0].memOperationType = memOperationType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandleType(self):
 *         if self._pvt_ptr[0].memHandleType not in _dict_CUmemHandleType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14845
 *     @property
 *     def memHandleType(self):
 *         if self._pvt_ptr[0].memHandleType not in _dict_CUmemHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemHandleType[self._pvt_ptr[0].memHandleType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemHandleType_enum((__pyx_v_self->_pvt_ptr[0]).memHandleType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 14845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":14846
 *     def memHandleType(self):
 *         if self._pvt_ptr[0].memHandleType not in _dict_CUmemHandleType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemHandleType[self._pvt_ptr[0].memHandleType]
 *     @memHandleType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14845
 *     @property
 *     def memHandleType(self):
 *         if self._pvt_ptr[0].memHandleType not in _dict_CUmemHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemHandleType[self._pvt_ptr[0].memHandleType]
*/
  }

  /* "cuda/bindings/driver.pyx":14847
 *         if self._pvt_ptr[0].memHandleType not in _dict_CUmemHandleType:
 *             return None
 *         return _dict_CUmemHandleType[self._pvt_ptr[0].memHandleType]             # <<<<<<<<<<<<<<
 *     @memHandleType.setter
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemHandleType_enum((__pyx_v_self->_pvt_ptr[0]).memHandleType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14843
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._pvt_ptr[0].memOperationType = memOperationType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandleType(self):
 *         if self._pvt_ptr[0].memHandleType not in _dict_CUmemHandleType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.memHandleType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14848
 *             return None
 *         return _dict_CUmemHandleType[self._pvt_ptr[0].memHandleType]
 *     @memHandleType.setter             # <<<<<<<<<<<<<<
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._pvt_ptr[0].memHandleType = memHandleType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandleType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandleType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_memHandleType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "memHandleType"); __PYX_ERR(0, 14849, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_memHandleType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_memHandleType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemHandleType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14850
 *     @memHandleType.setter
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._pvt_ptr[0].memHandleType = memHandleType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def memHandle(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_memHandleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemHandleType_enum)__Pyx_PyLong_As_enum__CUmemHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14850, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).memHandleType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":14848
 *             return None
 *         return _dict_CUmemHandleType[self._pvt_ptr[0].memHandleType]
 *     @memHandleType.setter             # <<<<<<<<<<<<<<
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._pvt_ptr[0].memHandleType = memHandleType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.memHandleType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14851
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._pvt_ptr[0].memHandleType = memHandleType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandle(self):
 *         return self._memHandle
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14853
 *     @property
 *     def memHandle(self):
 *         return self._memHandle             # <<<<<<<<<<<<<<
 *     @memHandle.setter
 *     def memHandle(self, memHandle not None : anon_union11):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_memHandle);
  __pyx_r = ((PyObject *)__pyx_v_self->_memHandle);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14851
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._pvt_ptr[0].memHandleType = memHandleType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandle(self):
 *         return self._memHandle
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14854
 *     def memHandle(self):
 *         return self._memHandle
 *     @memHandle.setter             # <<<<<<<<<<<<<<
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._pvt_ptr[0].memHandle, <cydriver.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._pvt_ptr[0].memHandle))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandle); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandle) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memHandle), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union11, 0, "memHandle", 0))) __PYX_ERR(0, 14855, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)__pyx_v_memHandle));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *__pyx_v_memHandle) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14856
 *     @memHandle.setter
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._pvt_ptr[0].memHandle, <cydriver.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._pvt_ptr[0].memHandle))             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_memHandle);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).memHandle), ((union anon_union11 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).memHandle))));

  /* "cuda/bindings/driver.pyx":14854
 *     def memHandle(self):
 *         return self._memHandle
 *     @memHandle.setter             # <<<<<<<<<<<<<<
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._pvt_ptr[0].memHandle, <cydriver.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._pvt_ptr[0].memHandle))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.memHandle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14857
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._pvt_ptr[0].memHandle, <cydriver.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._pvt_ptr[0].memHandle))
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14859
 *     @property
 *     def offset(self):
 *         return self._pvt_ptr[0].offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14857
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._pvt_ptr[0].memHandle, <cydriver.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._pvt_ptr[0].memHandle))
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14860
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) {
  unsigned PY_LONG_LONG __pyx_v_offset;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_offset); {
    __pyx_v_offset = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14861, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_offset));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14862
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def deviceBitMask(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).offset = __pyx_v_offset;

  /* "cuda/bindings/driver.pyx":14860
 *     def offset(self):
 *         return self._pvt_ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14863
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceBitMask(self):
 *         return self._pvt_ptr[0].deviceBitMask
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14865
 *     @property
 *     def deviceBitMask(self):
 *         return self._pvt_ptr[0].deviceBitMask             # <<<<<<<<<<<<<<
 *     @deviceBitMask.setter
 *     def deviceBitMask(self, unsigned int deviceBitMask):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).deviceBitMask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14863
 *     def offset(self, unsigned long long offset):
 *         self._pvt_ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceBitMask(self):
 *         return self._pvt_ptr[0].deviceBitMask
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.deviceBitMask.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14866
 *     def deviceBitMask(self):
 *         return self._pvt_ptr[0].deviceBitMask
 *     @deviceBitMask.setter             # <<<<<<<<<<<<<<
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._pvt_ptr[0].deviceBitMask = deviceBitMask
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_deviceBitMask); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_deviceBitMask) {
  unsigned int __pyx_v_deviceBitMask;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_deviceBitMask); {
    __pyx_v_deviceBitMask = __Pyx_PyLong_As_unsigned_int(__pyx_arg_deviceBitMask); if (unlikely((__pyx_v_deviceBitMask == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14867, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.deviceBitMask.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((unsigned int)__pyx_v_deviceBitMask));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, unsigned int __pyx_v_deviceBitMask) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14868
 *     @deviceBitMask.setter
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._pvt_ptr[0].deviceBitMask = deviceBitMask             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).deviceBitMask = __pyx_v_deviceBitMask;

  /* "cuda/bindings/driver.pyx":14866
 *     def deviceBitMask(self):
 *         return self._pvt_ptr[0].deviceBitMask
 *     @deviceBitMask.setter             # <<<<<<<<<<<<<<
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._pvt_ptr[0].deviceBitMask = deviceBitMask
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14869
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._pvt_ptr[0].deviceBitMask = deviceBitMask
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14871
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14869
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._pvt_ptr[0].deviceBitMask = deviceBitMask
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14872
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14873, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14874
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":14872
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14875
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14877
 *     @property
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14875
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14878
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  unsigned int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":14880
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemLocation_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 2) < 0))) __PYX_ERR(0, 14880, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (2));

  /* "cuda/bindings/driver.pyx":14878
 *     def reserved(self):
 *         return self._pvt_ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_10__reduce_cython__, "CUarrayMapInfo_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12__setstate_cython__, "CUarrayMapInfo_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUarrayMapInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14898
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14898, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14898, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14898, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14898, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14898, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14898, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":14899
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14900
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemLocation_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":14899
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14902
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemLocation_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemLocation_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14898
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14903
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemLocation_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14903, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14903, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14903, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14903, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14903, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 14903, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14905
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14907
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_6getPtr, "CUmemLocation_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUmemLocation_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14908
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14907
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14909
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14910
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14911
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14912
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14913
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14913, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14912
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14914
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14914, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14915
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['id : ' + str(self.id)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14915, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 14915, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14915, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14912
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14916
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14917
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['id : ' + str(self.id)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_id_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14917, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14917, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_id, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14917, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14917, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14917, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14917, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14916
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14918
 *             try:
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14918, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14919
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14919, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_id_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_id_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_id_ValueError) != (0)) __PYX_ERR(0, 14919, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14919, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14916
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14920
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14920, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14910
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14922
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14909
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14923
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemLocationType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14925
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemLocationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemLocationType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemLocationType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemLocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 14925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":14926
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemLocationType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemLocationType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14925
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemLocationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemLocationType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":14927
 *         if self._pvt_ptr[0].type not in _dict_CUmemLocationType:
 *             return None
 *         return _dict_CUmemLocationType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUmemLocationType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemLocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemLocationType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14923
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemLocationType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14928
 *             return None
 *         return _dict_CUmemLocationType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemLocationType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 14929, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemLocationType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14930
 *     @type.setter
 *     def type(self, type not None : CUmemLocationType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def id(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemLocationType_enum)__Pyx_PyLong_As_enum__CUmemLocationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":14928
 *             return None
 *         return _dict_CUmemLocationType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemLocationType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14931
 *     def type(self, type not None : CUmemLocationType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def id(self):
 *         return self._pvt_ptr[0].id
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_2id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_2id_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2id___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2id___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14933
 *     @property
 *     def id(self):
 *         return self._pvt_ptr[0].id             # <<<<<<<<<<<<<<
 *     @id.setter
 *     def id(self, int id):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_self->_pvt_ptr[0]).id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14931
 *     def type(self, type not None : CUmemLocationType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def id(self):
 *         return self._pvt_ptr[0].id
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14934
 *     def id(self):
 *         return self._pvt_ptr[0].id
 *     @id.setter             # <<<<<<<<<<<<<<
 *     def id(self, int id):
 *         self._pvt_ptr[0].id = id
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_id); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_id) {
  int __pyx_v_id;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_id); {
    __pyx_v_id = __Pyx_PyLong_As_int(__pyx_arg_id); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14935, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2id_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self), ((int)__pyx_v_id));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_2id_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, int __pyx_v_id) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14936
 *     @id.setter
 *     def id(self, int id):
 *         self._pvt_ptr[0].id = id             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct22:
*/
  (__pyx_v_self->_pvt_ptr[0]).id = __pyx_v_id;

  /* "cuda/bindings/driver.pyx":14934
 *     def id(self):
 *         return self._pvt_ptr[0].id
 *     @id.setter             # <<<<<<<<<<<<<<
 *     def id(self, int id):
 *         self._pvt_ptr[0].id = id
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_10__reduce_cython__, "CUmemLocation_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUmemLocation_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_12__setstate_cython__, "CUmemLocation_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUmemLocation_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUmemLocation_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemLocation_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14956
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUmemAllocationProp_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14956, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 14956, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 14956, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14956, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14956, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14956, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14957
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUmemAllocationProp_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUmemAllocationProp_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":14956
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUmemAllocationProp_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14959
 *         self._pvt_ptr = <cydriver.CUmemAllocationProp_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 14959, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14959, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 14959, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 14959, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 14959, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14959, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14959, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14961
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":14963
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].allocFlags
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct22_6getPtr, "anon_struct22.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct22_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct22_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":14964
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].allocFlags             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).allocFlags))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14963
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].allocFlags
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14965
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].allocFlags
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":14966
 *         return <void_ptr>&self._pvt_ptr[0].allocFlags
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":14967
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['compressionType : ' + str(self.compressionType)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14968
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['compressionType : ' + str(self.compressionType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14969
 *             str_list = []
 *             try:
 *                 str_list += ['compressionType : ' + str(self.compressionType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['compressionType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_compressionType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14969, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14969, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_compressionType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14969, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14969, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14969, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14969, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14968
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['compressionType : ' + str(self.compressionType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":14970
 *             try:
 *                 str_list += ['compressionType : ' + str(self.compressionType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['compressionType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14970, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14971
 *                 str_list += ['compressionType : ' + str(self.compressionType)]
 *             except ValueError:
 *                 str_list += ['compressionType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14971, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_compressionType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_compressionType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_compressionType_ValueError) != (0)) __PYX_ERR(0, 14971, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14971, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":14968
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['compressionType : ' + str(self.compressionType)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14972
 *             except ValueError:
 *                 str_list += ['compressionType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14973
 *                 str_list += ['compressionType : <ValueError>']
 *             try:
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gpuDirectRDMACapable_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14973, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14973, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_gpuDirectRDMACapable, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14973, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14973, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14973, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14973, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14972
 *             except ValueError:
 *                 str_list += ['compressionType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14974
 *             try:
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14974, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14975
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]
 *             except ValueError:
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14975, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gpuDirectRDMACapable_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gpuDirectRDMACapable_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gpuDirectRDMACapable_ValueError) != (0)) __PYX_ERR(0, 14975, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14975, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":14972
 *             except ValueError:
 *                 str_list += ['compressionType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14976
 *             except ValueError:
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14977
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_usage_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14977, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14977, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_usage, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14977, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14977, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 14977, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14977, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":14976
 *             except ValueError:
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14978
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14978, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14979
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14979, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_usage_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_usage_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_usage_ValueError) != (0)) __PYX_ERR(0, 14979, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14979, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":14976
 *             except ValueError:
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14980
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":14981
 *                 str_list += ['usage : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14981, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14981, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14981, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14981, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 14981, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14981, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":14980
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14982
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14982, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14983
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14983, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 14983, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14983, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":14980
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":14984
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14966
 *         return <void_ptr>&self._pvt_ptr[0].allocFlags
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14986
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def compressionType(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":14965
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].allocFlags
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14987
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def compressionType(self):
 *         return self._pvt_ptr[0].allocFlags.compressionType
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_15compressionType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_15compressionType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_15compressionType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_15compressionType___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14989
 *     @property
 *     def compressionType(self):
 *         return self._pvt_ptr[0].allocFlags.compressionType             # <<<<<<<<<<<<<<
 *     @compressionType.setter
 *     def compressionType(self, unsigned char compressionType):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_char((__pyx_v_self->_pvt_ptr[0]).allocFlags.compressionType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14987
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def compressionType(self):
 *         return self._pvt_ptr[0].allocFlags.compressionType
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.compressionType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14990
 *     def compressionType(self):
 *         return self._pvt_ptr[0].allocFlags.compressionType
 *     @compressionType.setter             # <<<<<<<<<<<<<<
 *     def compressionType(self, unsigned char compressionType):
 *         self._pvt_ptr[0].allocFlags.compressionType = compressionType
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_15compressionType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_compressionType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_15compressionType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_compressionType) {
  unsigned char __pyx_v_compressionType;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_compressionType); {
    __pyx_v_compressionType = __Pyx_PyLong_As_unsigned_char(__pyx_arg_compressionType); if (unlikely((__pyx_v_compressionType == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 14991, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.compressionType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_15compressionType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self), ((unsigned char)__pyx_v_compressionType));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_15compressionType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, unsigned char __pyx_v_compressionType) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14992
 *     @compressionType.setter
 *     def compressionType(self, unsigned char compressionType):
 *         self._pvt_ptr[0].allocFlags.compressionType = compressionType             # <<<<<<<<<<<<<<
 *     @property
 *     def gpuDirectRDMACapable(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).allocFlags.compressionType = __pyx_v_compressionType;

  /* "cuda/bindings/driver.pyx":14990
 *     def compressionType(self):
 *         return self._pvt_ptr[0].allocFlags.compressionType
 *     @compressionType.setter             # <<<<<<<<<<<<<<
 *     def compressionType(self, unsigned char compressionType):
 *         self._pvt_ptr[0].allocFlags.compressionType = compressionType
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14993
 *     def compressionType(self, unsigned char compressionType):
 *         self._pvt_ptr[0].allocFlags.compressionType = compressionType
 *     @property             # <<<<<<<<<<<<<<
 *     def gpuDirectRDMACapable(self):
 *         return self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14995
 *     @property
 *     def gpuDirectRDMACapable(self):
 *         return self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable             # <<<<<<<<<<<<<<
 *     @gpuDirectRDMACapable.setter
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_char((__pyx_v_self->_pvt_ptr[0]).allocFlags.gpuDirectRDMACapable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14993
 *     def compressionType(self, unsigned char compressionType):
 *         self._pvt_ptr[0].allocFlags.compressionType = compressionType
 *     @property             # <<<<<<<<<<<<<<
 *     def gpuDirectRDMACapable(self):
 *         return self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.gpuDirectRDMACapable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14996
 *     def gpuDirectRDMACapable(self):
 *         return self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable
 *     @gpuDirectRDMACapable.setter             # <<<<<<<<<<<<<<
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gpuDirectRDMACapable); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gpuDirectRDMACapable) {
  unsigned char __pyx_v_gpuDirectRDMACapable;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_gpuDirectRDMACapable); {
    __pyx_v_gpuDirectRDMACapable = __Pyx_PyLong_As_unsigned_char(__pyx_arg_gpuDirectRDMACapable); if (unlikely((__pyx_v_gpuDirectRDMACapable == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 14997, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.gpuDirectRDMACapable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self), ((unsigned char)__pyx_v_gpuDirectRDMACapable));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, unsigned char __pyx_v_gpuDirectRDMACapable) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":14998
 *     @gpuDirectRDMACapable.setter
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable             # <<<<<<<<<<<<<<
 *     @property
 *     def usage(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).allocFlags.gpuDirectRDMACapable = __pyx_v_gpuDirectRDMACapable;

  /* "cuda/bindings/driver.pyx":14996
 *     def gpuDirectRDMACapable(self):
 *         return self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable
 *     @gpuDirectRDMACapable.setter             # <<<<<<<<<<<<<<
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14999
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable
 *     @property             # <<<<<<<<<<<<<<
 *     def usage(self):
 *         return self._pvt_ptr[0].allocFlags.usage
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5usage_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5usage_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_5usage___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_5usage___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15001
 *     @property
 *     def usage(self):
 *         return self._pvt_ptr[0].allocFlags.usage             # <<<<<<<<<<<<<<
 *     @usage.setter
 *     def usage(self, unsigned short usage):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_short((__pyx_v_self->_pvt_ptr[0]).allocFlags.usage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14999
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._pvt_ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable
 *     @property             # <<<<<<<<<<<<<<
 *     def usage(self):
 *         return self._pvt_ptr[0].allocFlags.usage
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.usage.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15002
 *     def usage(self):
 *         return self._pvt_ptr[0].allocFlags.usage
 *     @usage.setter             # <<<<<<<<<<<<<<
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].allocFlags.usage = usage
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5usage_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_usage); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5usage_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_usage) {
  unsigned short __pyx_v_usage;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_usage); {
    __pyx_v_usage = __Pyx_PyLong_As_unsigned_short(__pyx_arg_usage); if (unlikely((__pyx_v_usage == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(0, 15003, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.usage.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_5usage_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self), ((unsigned short)__pyx_v_usage));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_5usage_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, unsigned short __pyx_v_usage) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15004
 *     @usage.setter
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].allocFlags.usage = usage             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).allocFlags.usage = __pyx_v_usage;

  /* "cuda/bindings/driver.pyx":15002
 *     def usage(self):
 *         return self._pvt_ptr[0].allocFlags.usage
 *     @usage.setter             # <<<<<<<<<<<<<<
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].allocFlags.usage = usage
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15005
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].allocFlags.usage = usage
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].allocFlags.reserved, 4)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15007
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].allocFlags.reserved, 4)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0]).allocFlags.reserved), 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15005
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].allocFlags.usage = usage
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].allocFlags.reserved, 4)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15008
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].allocFlags.reserved, 4)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 4:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  unsigned char __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15010
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 4:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15010, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":15011
 *     def reserved(self, reserved):
 *         if len(reserved) != 4:
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].allocFlags.reserved[i] = b
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15011, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_4_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 15011, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":15010
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 4:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  }

  /* "cuda/bindings/driver.pyx":15012
 *         if len(reserved) != 4:
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].allocFlags.reserved[i] = b
 * 
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
    __pyx_t_5 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15012, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15012, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15012, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15012, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 15012, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":15013
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].allocFlags.reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemAllocationProp_st:
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 15013, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15013, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).allocFlags.reserved[__pyx_t_11]) = __pyx_t_10;

    /* "cuda/bindings/driver.pyx":15012
 *         if len(reserved) != 4:
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].allocFlags.reserved[i] = b
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":15008
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].allocFlags.reserved, 4)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 4:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct22_10__reduce_cython__, "anon_struct22.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct22_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct22_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct22_12__setstate_cython__, "anon_struct22.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct22_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct22_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct22_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct22_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct22.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15041
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15041, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15041, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15041, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15041, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15041, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15041, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15042
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15043
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemAllocationProp_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15042
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15045
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemAllocationProp_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemAllocationProp_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15041
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15046
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemAllocationProp_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15046, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15046, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15046, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15046, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15048
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)             # <<<<<<<<<<<<<<
 *         self._allocFlags = anon_struct22(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).location))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15048, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15048, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_location);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_location);
  __pyx_v_self->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15049
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
 *         self._allocFlags = anon_struct22(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15049, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15049, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_allocFlags);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_allocFlags);
  __pyx_v_self->_allocFlags = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15046
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemAllocationProp_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15050
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
 *         self._allocFlags = anon_struct22(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15052
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_6getPtr, "CUmemAllocationProp_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUmemAllocationProp_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15053
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15052
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15054
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr190__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr191__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15055
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15056
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15057
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15058
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15058, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15058, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15058, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15058, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15058, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15058, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15057
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15059
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15059, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15060
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15060, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 15060, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15060, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15057
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15061
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15062
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['requestedHandleTypes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_requestedHandleTypes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15062, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15062, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_requestedHandleTypes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15062, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15062, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15062, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15062, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15061
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15063
 *             try:
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['requestedHandleTypes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15063, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15064
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]
 *             except ValueError:
 *                 str_list += ['requestedHandleTypes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15064, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_requestedHandleTypes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_requestedHandleTypes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_requestedHandleTypes_ValueError) != (0)) __PYX_ERR(0, 15064, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15064, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15061
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15065
 *             except ValueError:
 *                 str_list += ['requestedHandleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15066
 *                 str_list += ['requestedHandleTypes : <ValueError>']
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15066, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_location_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15066, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15066, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15066, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15066, __pyx_L28_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15066, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr190__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr190__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15066, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15066, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr190__pyx_v_line); __pyx_10genexpr190__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_10genexpr190__pyx_v_line); __pyx_10genexpr190__pyx_v_line = 0;
          goto __pyx_L20_error;
          __pyx_L32_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15066, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_location, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15066, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15066, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15066, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15066, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15065
 *             except ValueError:
 *                 str_list += ['requestedHandleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15067
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['location : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 15067, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15068
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15068, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_location_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_location_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_location_ValueError) != (0)) __PYX_ERR(0, 15068, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15068, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":15065
 *             except ValueError:
 *                 str_list += ['requestedHandleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15069
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15070
 *                 str_list += ['location : <ValueError>']
 *             try:
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['win32HandleMetaData : <ValueError>']
*/
        __pyx_t_8 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_win32HandleMetaData_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15070, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
          __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15070, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_6);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_win32HandleMetaData, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15070, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15070, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15070, __pyx_L35_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15070, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15069
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15071
 *             try:
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32HandleMetaData : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_10) < 0) __PYX_ERR(0, 15071, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":15072
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]
 *             except ValueError:
 *                 str_list += ['win32HandleMetaData : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['allocFlags :\n' + '\n'.join(['    ' + line for line in str(self.allocFlags).splitlines()])]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15072, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_win32HandleMetaData_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_win32HandleMetaData_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_win32HandleMetaData_ValueError) != (0)) __PYX_ERR(0, 15072, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15072, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":15069
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15073
 *             except ValueError:
 *                 str_list += ['win32HandleMetaData : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocFlags :\n' + '\n'.join(['    ' + line for line in str(self.allocFlags).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15074
 *                 str_list += ['win32HandleMetaData : <ValueError>']
 *             try:
 *                 str_list += ['allocFlags :\n' + '\n'.join(['    ' + line for line in str(self.allocFlags).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['allocFlags : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15074, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_10);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_allocFlags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15074, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15074, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15074, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15074, __pyx_L51_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15074, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr191__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr191__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15074, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15074, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr191__pyx_v_line); __pyx_10genexpr191__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_10genexpr191__pyx_v_line); __pyx_10genexpr191__pyx_v_line = 0;
          goto __pyx_L43_error;
          __pyx_L55_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15074, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_allocFlags, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15074, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15074, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 15074, __pyx_L43_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15074, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":15073
 *             except ValueError:
 *                 str_list += ['win32HandleMetaData : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocFlags :\n' + '\n'.join(['    ' + line for line in str(self.allocFlags).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15075
 *             try:
 *                 str_list += ['allocFlags :\n' + '\n'.join(['    ' + line for line in str(self.allocFlags).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocFlags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 15075, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15076
 *                 str_list += ['allocFlags :\n' + '\n'.join(['    ' + line for line in str(self.allocFlags).splitlines()])]
 *             except ValueError:
 *                 str_list += ['allocFlags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15076, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_allocFlags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_allocFlags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_allocFlags_ValueError) != (0)) __PYX_ERR(0, 15076, __pyx_L45_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15076, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":15073
 *             except ValueError:
 *                 str_list += ['win32HandleMetaData : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocFlags :\n' + '\n'.join(['    ' + line for line in str(self.allocFlags).splitlines()])]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15077
 *             except ValueError:
 *                 str_list += ['allocFlags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15055
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15079
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15054
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr190__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr191__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15080
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemAllocationType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15082
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemAllocationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAllocationType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 15082, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":15083
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemAllocationType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15082
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemAllocationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":15084
 *         if self._pvt_ptr[0].type not in _dict_CUmemAllocationType:
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUmemAllocationType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAllocationType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15080
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemAllocationType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15085
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemAllocationType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 15086, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemAllocationType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15087
 *     @type.setter
 *     def type(self, type not None : CUmemAllocationType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def requestedHandleTypes(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationType_enum)__Pyx_PyLong_As_enum__CUmemAllocationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":15085
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemAllocationType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15088
 *     def type(self, type not None : CUmemAllocationType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def requestedHandleTypes(self):
 *         if self._pvt_ptr[0].requestedHandleTypes not in _dict_CUmemAllocationHandleType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15090
 *     @property
 *     def requestedHandleTypes(self):
 *         if self._pvt_ptr[0].requestedHandleTypes not in _dict_CUmemAllocationHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].requestedHandleTypes]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum((__pyx_v_self->_pvt_ptr[0]).requestedHandleTypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 15090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":15091
 *     def requestedHandleTypes(self):
 *         if self._pvt_ptr[0].requestedHandleTypes not in _dict_CUmemAllocationHandleType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].requestedHandleTypes]
 *     @requestedHandleTypes.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15090
 *     @property
 *     def requestedHandleTypes(self):
 *         if self._pvt_ptr[0].requestedHandleTypes not in _dict_CUmemAllocationHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].requestedHandleTypes]
*/
  }

  /* "cuda/bindings/driver.pyx":15092
 *         if self._pvt_ptr[0].requestedHandleTypes not in _dict_CUmemAllocationHandleType:
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].requestedHandleTypes]             # <<<<<<<<<<<<<<
 *     @requestedHandleTypes.setter
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum((__pyx_v_self->_pvt_ptr[0]).requestedHandleTypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15088
 *     def type(self, type not None : CUmemAllocationType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def requestedHandleTypes(self):
 *         if self._pvt_ptr[0].requestedHandleTypes not in _dict_CUmemAllocationHandleType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.requestedHandleTypes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15093
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].requestedHandleTypes]
 *     @requestedHandleTypes.setter             # <<<<<<<<<<<<<<
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].requestedHandleTypes = requestedHandleTypes.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_requestedHandleTypes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_requestedHandleTypes) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_requestedHandleTypes) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "requestedHandleTypes"); __PYX_ERR(0, 15094, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self), ((PyObject *)__pyx_v_requestedHandleTypes));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_requestedHandleTypes) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemAllocationHandleType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15095
 *     @requestedHandleTypes.setter
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].requestedHandleTypes = requestedHandleTypes.value             # <<<<<<<<<<<<<<
 *     @property
 *     def location(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_requestedHandleTypes, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).requestedHandleTypes = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":15093
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].requestedHandleTypes]
 *     @requestedHandleTypes.setter             # <<<<<<<<<<<<<<
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].requestedHandleTypes = requestedHandleTypes.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.requestedHandleTypes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15096
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].requestedHandleTypes = requestedHandleTypes.value
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15098
 *     @property
 *     def location(self):
 *         return self._location             # <<<<<<<<<<<<<<
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_location);
  __pyx_r = ((PyObject *)__pyx_v_self->_location);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15096
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].requestedHandleTypes = requestedHandleTypes.value
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15099
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "location", 0))) __PYX_ERR(0, 15100, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_v_location));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15101
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))             # <<<<<<<<<<<<<<
 *     @property
 *     def win32HandleMetaData(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_location);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).location), ((CUmemLocation *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).location))));

  /* "cuda/bindings/driver.pyx":15099
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15102
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._pvt_ptr[0].win32HandleMetaData
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15104
 *     @property
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._pvt_ptr[0].win32HandleMetaData             # <<<<<<<<<<<<<<
 *     @win32HandleMetaData.setter
 *     def win32HandleMetaData(self, win32HandleMetaData):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).win32HandleMetaData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15102
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._pvt_ptr[0].win32HandleMetaData
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.win32HandleMetaData.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15105
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._pvt_ptr[0].win32HandleMetaData
 *     @win32HandleMetaData.setter             # <<<<<<<<<<<<<<
 *     def win32HandleMetaData(self, win32HandleMetaData):
 *         _cwin32HandleMetaData = _HelperInputVoidPtr(win32HandleMetaData)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32HandleMetaData); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32HandleMetaData) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self), ((PyObject *)__pyx_v_win32HandleMetaData));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_win32HandleMetaData) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cwin32HandleMetaData = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15107
 *     @win32HandleMetaData.setter
 *     def win32HandleMetaData(self, win32HandleMetaData):
 *         _cwin32HandleMetaData = _HelperInputVoidPtr(win32HandleMetaData)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].win32HandleMetaData = <void*><void_ptr>_cwin32HandleMetaData.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_win32HandleMetaData};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15107, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cwin32HandleMetaData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15108
 *     def win32HandleMetaData(self, win32HandleMetaData):
 *         _cwin32HandleMetaData = _HelperInputVoidPtr(win32HandleMetaData)
 *         self._pvt_ptr[0].win32HandleMetaData = <void*><void_ptr>_cwin32HandleMetaData.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def allocFlags(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cwin32HandleMetaData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).win32HandleMetaData = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":15105
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._pvt_ptr[0].win32HandleMetaData
 *     @win32HandleMetaData.setter             # <<<<<<<<<<<<<<
 *     def win32HandleMetaData(self, win32HandleMetaData):
 *         _cwin32HandleMetaData = _HelperInputVoidPtr(win32HandleMetaData)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.win32HandleMetaData.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cwin32HandleMetaData);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15109
 *         _cwin32HandleMetaData = _HelperInputVoidPtr(win32HandleMetaData)
 *         self._pvt_ptr[0].win32HandleMetaData = <void*><void_ptr>_cwin32HandleMetaData.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def allocFlags(self):
 *         return self._allocFlags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15111
 *     @property
 *     def allocFlags(self):
 *         return self._allocFlags             # <<<<<<<<<<<<<<
 *     @allocFlags.setter
 *     def allocFlags(self, allocFlags not None : anon_struct22):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_allocFlags);
  __pyx_r = ((PyObject *)__pyx_v_self->_allocFlags);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15109
 *         _cwin32HandleMetaData = _HelperInputVoidPtr(win32HandleMetaData)
 *         self._pvt_ptr[0].win32HandleMetaData = <void*><void_ptr>_cwin32HandleMetaData.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def allocFlags(self):
 *         return self._allocFlags
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15112
 *     def allocFlags(self):
 *         return self._allocFlags
 *     @allocFlags.setter             # <<<<<<<<<<<<<<
 *     def allocFlags(self, allocFlags not None : anon_struct22):
 *         string.memcpy(&self._pvt_ptr[0].allocFlags, <cydriver.anon_struct22*><void_ptr>allocFlags.getPtr(), sizeof(self._pvt_ptr[0].allocFlags))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_allocFlags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_allocFlags) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_allocFlags), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22, 0, "allocFlags", 0))) __PYX_ERR(0, 15113, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)__pyx_v_allocFlags));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *__pyx_v_allocFlags) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15114
 *     @allocFlags.setter
 *     def allocFlags(self, allocFlags not None : anon_struct22):
 *         string.memcpy(&self._pvt_ptr[0].allocFlags, <cydriver.anon_struct22*><void_ptr>allocFlags.getPtr(), sizeof(self._pvt_ptr[0].allocFlags))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmulticastObjectProp_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_allocFlags);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).allocFlags), ((struct anon_struct22 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).allocFlags))));

  /* "cuda/bindings/driver.pyx":15112
 *     def allocFlags(self):
 *         return self._allocFlags
 *     @allocFlags.setter             # <<<<<<<<<<<<<<
 *     def allocFlags(self, allocFlags not None : anon_struct22):
 *         string.memcpy(&self._pvt_ptr[0].allocFlags, <cydriver.anon_struct22*><void_ptr>allocFlags.getPtr(), sizeof(self._pvt_ptr[0].allocFlags))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.allocFlags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10__reduce_cython__, "CUmemAllocationProp_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUmemAllocationProp_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_12__setstate_cython__, "CUmemAllocationProp_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUmemAllocationProp_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUmemAllocationProp_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15139
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15139, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15139, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15139, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15139, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15139, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15139, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15140
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15141
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmulticastObjectProp_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15140
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15143
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmulticastObjectProp_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmulticastObjectProp_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15139
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15144
 *         else:
 *             self._pvt_ptr = <cydriver.CUmulticastObjectProp_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15144, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15144, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15144, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15144, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15144, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15144, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15146
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15148
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_6getPtr, "CUmulticastObjectProp_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15149
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15148
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15150
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15151
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15152
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numDevices : ' + str(self.numDevices)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15153
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numDevices : ' + str(self.numDevices)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15154
 *             str_list = []
 *             try:
 *                 str_list += ['numDevices : ' + str(self.numDevices)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numDevices : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numDevices_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15154, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15154, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numDevices, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15154, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15154, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15154, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15154, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15153
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numDevices : ' + str(self.numDevices)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15155
 *             try:
 *                 str_list += ['numDevices : ' + str(self.numDevices)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numDevices : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15155, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15156
 *                 str_list += ['numDevices : ' + str(self.numDevices)]
 *             except ValueError:
 *                 str_list += ['numDevices : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15156, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numDevices_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numDevices_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_numDevices_ValueError) != (0)) __PYX_ERR(0, 15156, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15156, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15153
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numDevices : ' + str(self.numDevices)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15157
 *             except ValueError:
 *                 str_list += ['numDevices : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15158
 *                 str_list += ['numDevices : <ValueError>']
 *             try:
 *                 str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15158, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15158, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15158, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15158, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15158, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15158, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15157
 *             except ValueError:
 *                 str_list += ['numDevices : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15159
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15159, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15160
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15160, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_size_ValueError) != (0)) __PYX_ERR(0, 15160, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15160, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15157
 *             except ValueError:
 *                 str_list += ['numDevices : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15161
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15162
 *                 str_list += ['size : <ValueError>']
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_handleTypes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15162, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15162, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_handleTypes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15162, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15162, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15162, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15162, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15161
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15163
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15163, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15164
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15164, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_handleTypes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_handleTypes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_handleTypes_ValueError) != (0)) __PYX_ERR(0, 15164, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15164, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":15161
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15165
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15166
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15166, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15166, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15166, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15166, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15166, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15166, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15165
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15167
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15167, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15168
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15168, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 15168, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15168, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":15165
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15169
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15151
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15171
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def numDevices(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15150
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15172
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def numDevices(self):
 *         return self._pvt_ptr[0].numDevices
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15174
 *     @property
 *     def numDevices(self):
 *         return self._pvt_ptr[0].numDevices             # <<<<<<<<<<<<<<
 *     @numDevices.setter
 *     def numDevices(self, unsigned int numDevices):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).numDevices); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15172
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def numDevices(self):
 *         return self._pvt_ptr[0].numDevices
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.numDevices.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15175
 *     def numDevices(self):
 *         return self._pvt_ptr[0].numDevices
 *     @numDevices.setter             # <<<<<<<<<<<<<<
 *     def numDevices(self, unsigned int numDevices):
 *         self._pvt_ptr[0].numDevices = numDevices
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numDevices); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numDevices) {
  unsigned int __pyx_v_numDevices;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numDevices); {
    __pyx_v_numDevices = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numDevices); if (unlikely((__pyx_v_numDevices == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15176, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.numDevices.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self), ((unsigned int)__pyx_v_numDevices));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, unsigned int __pyx_v_numDevices) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15177
 *     @numDevices.setter
 *     def numDevices(self, unsigned int numDevices):
 *         self._pvt_ptr[0].numDevices = numDevices             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).numDevices = __pyx_v_numDevices;

  /* "cuda/bindings/driver.pyx":15175
 *     def numDevices(self):
 *         return self._pvt_ptr[0].numDevices
 *     @numDevices.setter             # <<<<<<<<<<<<<<
 *     def numDevices(self, unsigned int numDevices):
 *         self._pvt_ptr[0].numDevices = numDevices
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15178
 *     def numDevices(self, unsigned int numDevices):
 *         self._pvt_ptr[0].numDevices = numDevices
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15180
 *     @property
 *     def size(self):
 *         return self._pvt_ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, size_t size):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15178
 *     def numDevices(self, unsigned int numDevices):
 *         self._pvt_ptr[0].numDevices = numDevices
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._pvt_ptr[0].size
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15181
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  size_t __pyx_v_size;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyLong_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15182, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self), ((size_t)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, size_t __pyx_v_size) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15183
 *     @size.setter
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def handleTypes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).size = __pyx_v_size;

  /* "cuda/bindings/driver.pyx":15181
 *     def size(self):
 *         return self._pvt_ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15184
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def handleTypes(self):
 *         return self._pvt_ptr[0].handleTypes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15186
 *     @property
 *     def handleTypes(self):
 *         return self._pvt_ptr[0].handleTypes             # <<<<<<<<<<<<<<
 *     @handleTypes.setter
 *     def handleTypes(self, unsigned long long handleTypes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).handleTypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15184
 *     def size(self, size_t size):
 *         self._pvt_ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def handleTypes(self):
 *         return self._pvt_ptr[0].handleTypes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.handleTypes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15187
 *     def handleTypes(self):
 *         return self._pvt_ptr[0].handleTypes
 *     @handleTypes.setter             # <<<<<<<<<<<<<<
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._pvt_ptr[0].handleTypes = handleTypes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_handleTypes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_handleTypes) {
  unsigned PY_LONG_LONG __pyx_v_handleTypes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_handleTypes); {
    __pyx_v_handleTypes = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_handleTypes); if (unlikely((__pyx_v_handleTypes == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15188, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.handleTypes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_handleTypes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_handleTypes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15189
 *     @handleTypes.setter
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._pvt_ptr[0].handleTypes = handleTypes             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).handleTypes = __pyx_v_handleTypes;

  /* "cuda/bindings/driver.pyx":15187
 *     def handleTypes(self):
 *         return self._pvt_ptr[0].handleTypes
 *     @handleTypes.setter             # <<<<<<<<<<<<<<
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._pvt_ptr[0].handleTypes = handleTypes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15190
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._pvt_ptr[0].handleTypes = handleTypes
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15192
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned long long flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15190
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._pvt_ptr[0].handleTypes = handleTypes
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15193
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned long long flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned PY_LONG_LONG __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15194, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15195
 *     @flags.setter
 *     def flags(self, unsigned long long flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemAccessDesc_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":15193
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned long long flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10__reduce_cython__, "CUmulticastObjectProp_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_12__setstate_cython__, "CUmulticastObjectProp_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmulticastObjectProp_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15213
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15213, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15213, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15213, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15213, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15213, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15213, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15214
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15215
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemAccessDesc_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15214
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15217
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemAccessDesc_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemAccessDesc_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15213
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15218
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemAccessDesc_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15218, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15218, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15218, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15218, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15218, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15218, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15220
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).location))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15220, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15220, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_location);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_location);
  __pyx_v_self->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15218
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemAccessDesc_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15221
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15223
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_6getPtr, "CUmemAccessDesc_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUmemAccessDesc_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15224
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15223
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15225
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr192__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15226
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15227
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15228
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15229
 *             str_list = []
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15229, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_location_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15229, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15229, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15229, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15229, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15229, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr192__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr192__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15229, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15229, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr192__pyx_v_line); __pyx_10genexpr192__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr192__pyx_v_line); __pyx_10genexpr192__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15229, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_location, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15229, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15229, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15229, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15229, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15228
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":15230
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['location : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 15230, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15231
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15231, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_location_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_location_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_location_ValueError) != (0)) __PYX_ERR(0, 15231, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 15231, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15228
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15232
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15233
 *                 str_list += ['location : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15233, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15233, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15233, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15233, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 15233, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15233, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":15232
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":15234
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 15234, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15235
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 15235, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 15235, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15235, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":15232
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15236
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15226
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15238
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def location(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15225
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr192__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15239
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15241
 *     @property
 *     def location(self):
 *         return self._location             # <<<<<<<<<<<<<<
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_location);
  __pyx_r = ((PyObject *)__pyx_v_self->_location);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15239
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15242
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "location", 0))) __PYX_ERR(0, 15243, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_v_location));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15244
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_location);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15244, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).location), ((CUmemLocation *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).location))));

  /* "cuda/bindings/driver.pyx":15242
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15245
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         if self._pvt_ptr[0].flags not in _dict_CUmemAccess_flags:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15247
 *     @property
 *     def flags(self):
 *         if self._pvt_ptr[0].flags not in _dict_CUmemAccess_flags:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAccess_flags[self._pvt_ptr[0].flags]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAccess_flags_enum((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAccess_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 15247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":15248
 *     def flags(self):
 *         if self._pvt_ptr[0].flags not in _dict_CUmemAccess_flags:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemAccess_flags[self._pvt_ptr[0].flags]
 *     @flags.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15247
 *     @property
 *     def flags(self):
 *         if self._pvt_ptr[0].flags not in _dict_CUmemAccess_flags:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAccess_flags[self._pvt_ptr[0].flags]
*/
  }

  /* "cuda/bindings/driver.pyx":15249
 *         if self._pvt_ptr[0].flags not in _dict_CUmemAccess_flags:
 *             return None
 *         return _dict_CUmemAccess_flags[self._pvt_ptr[0].flags]             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, flags not None : CUmemAccess_flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAccess_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAccess_flags_enum((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15245
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         if self._pvt_ptr[0].flags not in _dict_CUmemAccess_flags:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15250
 *             return None
 *         return _dict_CUmemAccess_flags[self._pvt_ptr[0].flags]
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, flags not None : CUmemAccess_flags):
 *         self._pvt_ptr[0].flags = flags.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flags) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_flags) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "flags"); __PYX_ERR(0, 15251, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self), ((PyObject *)__pyx_v_flags));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, PyObject *__pyx_v_flags) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemAccess_flags __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15252
 *     @flags.setter
 *     def flags(self, flags not None : CUmemAccess_flags):
 *         self._pvt_ptr[0].flags = flags.value             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphExecUpdateResultInfo_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_flags, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAccess_flags_enum)__Pyx_PyLong_As_enum__CUmemAccess_flags_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":15250
 *             return None
 *         return _dict_CUmemAccess_flags[self._pvt_ptr[0].flags]
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, flags not None : CUmemAccess_flags):
 *         self._pvt_ptr[0].flags = flags.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_10__reduce_cython__, "CUmemAccessDesc_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUmemAccessDesc_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_12__setstate_cython__, "CUmemAccessDesc_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUmemAccessDesc_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUmemAccessDesc_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemAccessDesc_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15275
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15275, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15275, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15275, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15275, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15275, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15275, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15276
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15277
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphExecUpdateResultInfo_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15276
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15279
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphExecUpdateResultInfo_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUgraphExecUpdateResultInfo_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15275
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15280
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphExecUpdateResultInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].errorNode)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15280, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15280, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15280, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15280, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15280, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15280, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15282
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].errorNode)             # <<<<<<<<<<<<<<
 *         self._errorFromNode = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].errorFromNode)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).errorNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15282, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15282, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_errorNode);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_errorNode);
  __pyx_v_self->_errorNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15283
 *         pass
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].errorNode)
 *         self._errorFromNode = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].errorFromNode)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).errorFromNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15283, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15283, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_errorFromNode);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_errorFromNode);
  __pyx_v_self->_errorFromNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15280
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphExecUpdateResultInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].errorNode)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15284
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].errorNode)
 *         self._errorFromNode = CUgraphNode(_ptr=<void_ptr>&self._pvt_ptr[0].errorFromNode)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15286
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6getPtr, "CUgraphExecUpdateResultInfo_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15287
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15286
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15288
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15289
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15290
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['result : ' + str(self.result)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15291
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['result : ' + str(self.result)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15292
 *             str_list = []
 *             try:
 *                 str_list += ['result : ' + str(self.result)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['result : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_result_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15292, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15292, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_result, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15292, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15292, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15292, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15292, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15291
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['result : ' + str(self.result)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15293
 *             try:
 *                 str_list += ['result : ' + str(self.result)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['result : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15293, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15294
 *                 str_list += ['result : ' + str(self.result)]
 *             except ValueError:
 *                 str_list += ['result : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['errorNode : ' + str(self.errorNode)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15294, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_result_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_result_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_result_ValueError) != (0)) __PYX_ERR(0, 15294, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15294, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15291
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['result : ' + str(self.result)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15295
 *             except ValueError:
 *                 str_list += ['result : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorNode : ' + str(self.errorNode)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15296
 *                 str_list += ['result : <ValueError>']
 *             try:
 *                 str_list += ['errorNode : ' + str(self.errorNode)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['errorNode : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_errorNode_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15296, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15296, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_errorNode, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15296, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15296, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15296, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15296, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15295
 *             except ValueError:
 *                 str_list += ['result : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorNode : ' + str(self.errorNode)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15297
 *             try:
 *                 str_list += ['errorNode : ' + str(self.errorNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorNode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15297, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15298
 *                 str_list += ['errorNode : ' + str(self.errorNode)]
 *             except ValueError:
 *                 str_list += ['errorNode : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15298, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_errorNode_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_errorNode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_errorNode_ValueError) != (0)) __PYX_ERR(0, 15298, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15298, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15295
 *             except ValueError:
 *                 str_list += ['result : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorNode : ' + str(self.errorNode)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15299
 *             except ValueError:
 *                 str_list += ['errorNode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15300
 *                 str_list += ['errorNode : <ValueError>']
 *             try:
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['errorFromNode : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_errorFromNode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15300, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15300, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_errorFromNode, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15300, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15300, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15300, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15300, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15299
 *             except ValueError:
 *                 str_list += ['errorNode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15301
 *             try:
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorFromNode : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15301, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15302
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]
 *             except ValueError:
 *                 str_list += ['errorFromNode : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15302, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_errorFromNode_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_errorFromNode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_errorFromNode_ValueError) != (0)) __PYX_ERR(0, 15302, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15302, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":15299
 *             except ValueError:
 *                 str_list += ['errorNode : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15303
 *             except ValueError:
 *                 str_list += ['errorFromNode : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15289
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15305
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def result(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15288
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15306
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def result(self):
 *         if self._pvt_ptr[0].result not in _dict_CUgraphExecUpdateResult:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15308
 *     @property
 *     def result(self):
 *         if self._pvt_ptr[0].result not in _dict_CUgraphExecUpdateResult:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphExecUpdateResult[self._pvt_ptr[0].result]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum((__pyx_v_self->_pvt_ptr[0]).result); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphExecUpdateResult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 15308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":15309
 *     def result(self):
 *         if self._pvt_ptr[0].result not in _dict_CUgraphExecUpdateResult:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUgraphExecUpdateResult[self._pvt_ptr[0].result]
 *     @result.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15308
 *     @property
 *     def result(self):
 *         if self._pvt_ptr[0].result not in _dict_CUgraphExecUpdateResult:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphExecUpdateResult[self._pvt_ptr[0].result]
*/
  }

  /* "cuda/bindings/driver.pyx":15310
 *         if self._pvt_ptr[0].result not in _dict_CUgraphExecUpdateResult:
 *             return None
 *         return _dict_CUgraphExecUpdateResult[self._pvt_ptr[0].result]             # <<<<<<<<<<<<<<
 *     @result.setter
 *     def result(self, result not None : CUgraphExecUpdateResult):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphExecUpdateResult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum((__pyx_v_self->_pvt_ptr[0]).result); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15306
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def result(self):
 *         if self._pvt_ptr[0].result not in _dict_CUgraphExecUpdateResult:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.result.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15311
 *             return None
 *         return _dict_CUgraphExecUpdateResult[self._pvt_ptr[0].result]
 *     @result.setter             # <<<<<<<<<<<<<<
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._pvt_ptr[0].result = result.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_result); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_result) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_result) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "result"); __PYX_ERR(0, 15312, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_result));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_result) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUgraphExecUpdateResult __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15313
 *     @result.setter
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._pvt_ptr[0].result = result.value             # <<<<<<<<<<<<<<
 *     @property
 *     def errorNode(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphExecUpdateResult_enum)__Pyx_PyLong_As_enum__CUgraphExecUpdateResult_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).result = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":15311
 *             return None
 *         return _dict_CUgraphExecUpdateResult[self._pvt_ptr[0].result]
 *     @result.setter             # <<<<<<<<<<<<<<
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._pvt_ptr[0].result = result.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.result.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15314
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._pvt_ptr[0].result = result.value
 *     @property             # <<<<<<<<<<<<<<
 *     def errorNode(self):
 *         return self._errorNode
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15316
 *     @property
 *     def errorNode(self):
 *         return self._errorNode             # <<<<<<<<<<<<<<
 *     @errorNode.setter
 *     def errorNode(self, errorNode):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_errorNode);
  __pyx_r = ((PyObject *)__pyx_v_self->_errorNode);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15314
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._pvt_ptr[0].result = result.value
 *     @property             # <<<<<<<<<<<<<<
 *     def errorNode(self):
 *         return self._errorNode
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15317
 *     def errorNode(self):
 *         return self._errorNode
 *     @errorNode.setter             # <<<<<<<<<<<<<<
 *     def errorNode(self, errorNode):
 *         cdef cydriver.CUgraphNode cyerrorNode
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_errorNode); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_errorNode) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_errorNode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_errorNode) {
  CUgraphNode __pyx_v_cyerrorNode;
  PyObject *__pyx_v_perrorNode = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15320
 *     def errorNode(self, errorNode):
 *         cdef cydriver.CUgraphNode cyerrorNode
 *         if errorNode is None:             # <<<<<<<<<<<<<<
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_errorNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15321
 *         cdef cydriver.CUgraphNode cyerrorNode
 *         if errorNode is None:
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(errorNode, (CUgraphNode,)):
 *             perrorNode = int(errorNode)
*/
    __pyx_v_cyerrorNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":15320
 *     def errorNode(self, errorNode):
 *         cdef cydriver.CUgraphNode cyerrorNode
 *         if errorNode is None:             # <<<<<<<<<<<<<<
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15322
 *         if errorNode is None:
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             perrorNode = int(errorNode)
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_errorNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15323
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):
 *             perrorNode = int(errorNode)             # <<<<<<<<<<<<<<
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_errorNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_perrorNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15324
 *         elif isinstance(errorNode, (CUgraphNode,)):
 *             perrorNode = int(errorNode)
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode             # <<<<<<<<<<<<<<
 *         else:
 *             perrorNode = int(CUgraphNode(errorNode))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_perrorNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15324, __pyx_L1_error)
    __pyx_v_cyerrorNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":15322
 *         if errorNode is None:
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             perrorNode = int(errorNode)
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15326
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode
 *         else:
 *             perrorNode = int(CUgraphNode(errorNode))             # <<<<<<<<<<<<<<
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode
 *         self._errorNode._pvt_ptr[0] = cyerrorNode
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_errorNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15326, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_perrorNode = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":15327
 *         else:
 *             perrorNode = int(CUgraphNode(errorNode))
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode             # <<<<<<<<<<<<<<
 *         self._errorNode._pvt_ptr[0] = cyerrorNode
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_perrorNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15327, __pyx_L1_error)
    __pyx_v_cyerrorNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15328
 *             perrorNode = int(CUgraphNode(errorNode))
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode
 *         self._errorNode._pvt_ptr[0] = cyerrorNode             # <<<<<<<<<<<<<<
 *     @property
 *     def errorFromNode(self):
*/
  (__pyx_v_self->_errorNode->_pvt_ptr[0]) = __pyx_v_cyerrorNode;

  /* "cuda/bindings/driver.pyx":15317
 *     def errorNode(self):
 *         return self._errorNode
 *     @errorNode.setter             # <<<<<<<<<<<<<<
 *     def errorNode(self, errorNode):
 *         cdef cydriver.CUgraphNode cyerrorNode
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.errorNode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_perrorNode);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15329
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode
 *         self._errorNode._pvt_ptr[0] = cyerrorNode
 *     @property             # <<<<<<<<<<<<<<
 *     def errorFromNode(self):
 *         return self._errorFromNode
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15331
 *     @property
 *     def errorFromNode(self):
 *         return self._errorFromNode             # <<<<<<<<<<<<<<
 *     @errorFromNode.setter
 *     def errorFromNode(self, errorFromNode):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_errorFromNode);
  __pyx_r = ((PyObject *)__pyx_v_self->_errorFromNode);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15329
 *             cyerrorNode = <cydriver.CUgraphNode><void_ptr>perrorNode
 *         self._errorNode._pvt_ptr[0] = cyerrorNode
 *     @property             # <<<<<<<<<<<<<<
 *     def errorFromNode(self):
 *         return self._errorFromNode
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15332
 *     def errorFromNode(self):
 *         return self._errorFromNode
 *     @errorFromNode.setter             # <<<<<<<<<<<<<<
 *     def errorFromNode(self, errorFromNode):
 *         cdef cydriver.CUgraphNode cyerrorFromNode
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_errorFromNode); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_errorFromNode) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_errorFromNode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_errorFromNode) {
  CUgraphNode __pyx_v_cyerrorFromNode;
  PyObject *__pyx_v_perrorFromNode = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15335
 *     def errorFromNode(self, errorFromNode):
 *         cdef cydriver.CUgraphNode cyerrorFromNode
 *         if errorFromNode is None:             # <<<<<<<<<<<<<<
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_errorFromNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15336
 *         cdef cydriver.CUgraphNode cyerrorFromNode
 *         if errorFromNode is None:
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
 *             perrorFromNode = int(errorFromNode)
*/
    __pyx_v_cyerrorFromNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":15335
 *     def errorFromNode(self, errorFromNode):
 *         cdef cydriver.CUgraphNode cyerrorFromNode
 *         if errorFromNode is None:             # <<<<<<<<<<<<<<
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15337
 *         if errorFromNode is None:
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             perrorFromNode = int(errorFromNode)
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>perrorFromNode
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_errorFromNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15338
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
 *             perrorFromNode = int(errorFromNode)             # <<<<<<<<<<<<<<
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>perrorFromNode
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_errorFromNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_perrorFromNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15339
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
 *             perrorFromNode = int(errorFromNode)
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>perrorFromNode             # <<<<<<<<<<<<<<
 *         else:
 *             perrorFromNode = int(CUgraphNode(errorFromNode))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_perrorFromNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15339, __pyx_L1_error)
    __pyx_v_cyerrorFromNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":15337
 *         if errorFromNode is None:
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             perrorFromNode = int(errorFromNode)
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>perrorFromNode
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15341
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>perrorFromNode
 *         else:
 *             perrorFromNode = int(CUgraphNode(errorFromNode))             # <<<<<<<<<<<<<<
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>perrorFromNode
 *         self._errorFromNode._pvt_ptr[0] = cyerrorFromNode
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_errorFromNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15341, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_perrorFromNode = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":15342
 *         else:
 *             perrorFromNode = int(CUgraphNode(errorFromNode))
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>perrorFromNode             # <<<<<<<<<<<<<<
 *         self._errorFromNode._pvt_ptr[0] = cyerrorFromNode
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_perrorFromNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15342, __pyx_L1_error)
    __pyx_v_cyerrorFromNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15343
 *             perrorFromNode = int(CUgraphNode(errorFromNode))
 *             cyerrorFromNode = <cydriver.CUgraphNode><void_ptr>perrorFromNode
 *         self._errorFromNode._pvt_ptr[0] = cyerrorFromNode             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemPoolProps_st:
*/
  (__pyx_v_self->_errorFromNode->_pvt_ptr[0]) = __pyx_v_cyerrorFromNode;

  /* "cuda/bindings/driver.pyx":15332
 *     def errorFromNode(self):
 *         return self._errorFromNode
 *     @errorFromNode.setter             # <<<<<<<<<<<<<<
 *     def errorFromNode(self, errorFromNode):
 *         cdef cydriver.CUgraphNode cyerrorFromNode
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.errorFromNode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_perrorFromNode);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__, "CUgraphExecUpdateResultInfo_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__, "CUgraphExecUpdateResultInfo_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphExecUpdateResultInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15377
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15377, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15377, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15377, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15377, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15377, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15377, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15378
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15379
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemPoolProps_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15378
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15381
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemPoolProps_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemPoolProps_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15377
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15382
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemPoolProps_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15382, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15382, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15382, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15382, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15382, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15382, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15384
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).location))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15384, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15384, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_location);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_location);
  __pyx_v_self->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15382
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemPoolProps_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15385
 *         pass
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15387
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_6getPtr, "CUmemPoolProps_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUmemPoolProps_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15388
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15387
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15389
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr193__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15390
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15391
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['allocType : ' + str(self.allocType)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15392
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocType : ' + str(self.allocType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15393
 *             str_list = []
 *             try:
 *                 str_list += ['allocType : ' + str(self.allocType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['allocType : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_allocType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15393, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15393, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_allocType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15393, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15393, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15393, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15393, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15392
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocType : ' + str(self.allocType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15394
 *             try:
 *                 str_list += ['allocType : ' + str(self.allocType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15394, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15395
 *                 str_list += ['allocType : ' + str(self.allocType)]
 *             except ValueError:
 *                 str_list += ['allocType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15395, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_allocType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_allocType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_allocType_ValueError) != (0)) __PYX_ERR(0, 15395, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15395, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15392
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocType : ' + str(self.allocType)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15396
 *             except ValueError:
 *                 str_list += ['allocType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15397
 *                 str_list += ['allocType : <ValueError>']
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_handleTypes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15397, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15397, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_handleTypes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15397, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15397, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15397, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15397, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15396
 *             except ValueError:
 *                 str_list += ['allocType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15398
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15398, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15399
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15399, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_handleTypes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_handleTypes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_handleTypes_ValueError) != (0)) __PYX_ERR(0, 15399, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15399, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15396
 *             except ValueError:
 *                 str_list += ['allocType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15400
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15401
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15401, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_location_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15401, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15401, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15401, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15401, __pyx_L28_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15401, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr193__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr193__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15401, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15401, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr193__pyx_v_line); __pyx_10genexpr193__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_10genexpr193__pyx_v_line); __pyx_10genexpr193__pyx_v_line = 0;
          goto __pyx_L20_error;
          __pyx_L32_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15401, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_location, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15401, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15401, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15401, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15401, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15400
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15402
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['location : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 15402, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15403
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15403, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_location_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_location_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_location_ValueError) != (0)) __PYX_ERR(0, 15403, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15403, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":15400
 *             except ValueError:
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15404
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15405
 *                 str_list += ['location : <ValueError>']
 *             try:
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
*/
        __pyx_t_8 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_win32SecurityAttributes_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15405, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
          __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15405, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_6);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_win32SecurityAttributes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15405, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15405, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15405, __pyx_L35_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15405, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15404
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15406
 *             try:
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_10) < 0) __PYX_ERR(0, 15406, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":15407
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             except ValueError:
 *                 str_list += ['win32SecurityAttributes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15407, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_win32SecurityAttributes_ValueErr);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_win32SecurityAttributes_ValueErr);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_win32SecurityAttributes_ValueErr) != (0)) __PYX_ERR(0, 15407, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15407, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":15404
 *             except ValueError:
 *                 str_list += ['location : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15408
 *             except ValueError:
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15409
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
 *             try:
 *                 str_list += ['maxSize : ' + str(self.maxSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['maxSize : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_maxSize_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15409, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15409, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_maxSize, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15409, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15409, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 15409, __pyx_L43_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15409, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":15408
 *             except ValueError:
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15410
 *             try:
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15410, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15411
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
 *             except ValueError:
 *                 str_list += ['maxSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15411, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_maxSize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_maxSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_maxSize_ValueError) != (0)) __PYX_ERR(0, 15411, __pyx_L45_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15411, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":15408
 *             except ValueError:
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15412
 *             except ValueError:
 *                 str_list += ['maxSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15413
 *                 str_list += ['maxSize : <ValueError>']
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_usage_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15413, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15413, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_usage, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15413, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15413, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15413, __pyx_L51_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15413, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15412
 *             except ValueError:
 *                 str_list += ['maxSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L56_try_end;
      __pyx_L51_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15414
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_10) < 0) __PYX_ERR(0, 15414, __pyx_L53_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":15415
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15415, __pyx_L53_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_usage_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_usage_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_usage_ValueError) != (0)) __PYX_ERR(0, 15415, __pyx_L53_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15415, __pyx_L53_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L52_exception_handled;
      }
      goto __pyx_L53_except_error;

      /* "cuda/bindings/driver.pyx":15412
 *             except ValueError:
 *                 str_list += ['maxSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
*/
      __pyx_L53_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L52_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L56_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15416
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15417
 *                 str_list += ['usage : <ValueError>']
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15417, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15417, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15417, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15417, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_10);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 15417, __pyx_L59_error);
        __pyx_t_10 = 0;
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15417, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;

        /* "cuda/bindings/driver.pyx":15416
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L64_try_end;
      __pyx_L59_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15418
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15418, __pyx_L61_except_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15419
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15419, __pyx_L61_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 15419, __pyx_L61_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15419, __pyx_L61_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L60_exception_handled;
      }
      goto __pyx_L61_except_error;

      /* "cuda/bindings/driver.pyx":15416
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L61_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L60_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L64_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15420
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15390
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15422
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def allocType(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15389
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr193__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15423
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def allocType(self):
 *         if self._pvt_ptr[0].allocType not in _dict_CUmemAllocationType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15425
 *     @property
 *     def allocType(self):
 *         if self._pvt_ptr[0].allocType not in _dict_CUmemAllocationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].allocType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAllocationType_enum((__pyx_v_self->_pvt_ptr[0]).allocType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 15425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":15426
 *     def allocType(self):
 *         if self._pvt_ptr[0].allocType not in _dict_CUmemAllocationType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].allocType]
 *     @allocType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15425
 *     @property
 *     def allocType(self):
 *         if self._pvt_ptr[0].allocType not in _dict_CUmemAllocationType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].allocType]
*/
  }

  /* "cuda/bindings/driver.pyx":15427
 *         if self._pvt_ptr[0].allocType not in _dict_CUmemAllocationType:
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].allocType]             # <<<<<<<<<<<<<<
 *     @allocType.setter
 *     def allocType(self, allocType not None : CUmemAllocationType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAllocationType_enum((__pyx_v_self->_pvt_ptr[0]).allocType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15423
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def allocType(self):
 *         if self._pvt_ptr[0].allocType not in _dict_CUmemAllocationType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.allocType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15428
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].allocType]
 *     @allocType.setter             # <<<<<<<<<<<<<<
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._pvt_ptr[0].allocType = allocType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_allocType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_allocType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_allocType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "allocType"); __PYX_ERR(0, 15429, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), ((PyObject *)__pyx_v_allocType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_allocType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemAllocationType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15430
 *     @allocType.setter
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._pvt_ptr[0].allocType = allocType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handleTypes(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_allocType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationType_enum)__Pyx_PyLong_As_enum__CUmemAllocationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).allocType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":15428
 *             return None
 *         return _dict_CUmemAllocationType[self._pvt_ptr[0].allocType]
 *     @allocType.setter             # <<<<<<<<<<<<<<
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._pvt_ptr[0].allocType = allocType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.allocType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15431
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._pvt_ptr[0].allocType = allocType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handleTypes(self):
 *         if self._pvt_ptr[0].handleTypes not in _dict_CUmemAllocationHandleType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15433
 *     @property
 *     def handleTypes(self):
 *         if self._pvt_ptr[0].handleTypes not in _dict_CUmemAllocationHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].handleTypes]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum((__pyx_v_self->_pvt_ptr[0]).handleTypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 15433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":15434
 *     def handleTypes(self):
 *         if self._pvt_ptr[0].handleTypes not in _dict_CUmemAllocationHandleType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].handleTypes]
 *     @handleTypes.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15433
 *     @property
 *     def handleTypes(self):
 *         if self._pvt_ptr[0].handleTypes not in _dict_CUmemAllocationHandleType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].handleTypes]
*/
  }

  /* "cuda/bindings/driver.pyx":15435
 *         if self._pvt_ptr[0].handleTypes not in _dict_CUmemAllocationHandleType:
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].handleTypes]             # <<<<<<<<<<<<<<
 *     @handleTypes.setter
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum((__pyx_v_self->_pvt_ptr[0]).handleTypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15431
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._pvt_ptr[0].allocType = allocType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handleTypes(self):
 *         if self._pvt_ptr[0].handleTypes not in _dict_CUmemAllocationHandleType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.handleTypes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15436
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].handleTypes]
 *     @handleTypes.setter             # <<<<<<<<<<<<<<
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].handleTypes = handleTypes.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handleTypes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handleTypes) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_handleTypes) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "handleTypes"); __PYX_ERR(0, 15437, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), ((PyObject *)__pyx_v_handleTypes));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_handleTypes) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemAllocationHandleType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15438
 *     @handleTypes.setter
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].handleTypes = handleTypes.value             # <<<<<<<<<<<<<<
 *     @property
 *     def location(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleTypes, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).handleTypes = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":15436
 *             return None
 *         return _dict_CUmemAllocationHandleType[self._pvt_ptr[0].handleTypes]
 *     @handleTypes.setter             # <<<<<<<<<<<<<<
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].handleTypes = handleTypes.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.handleTypes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15439
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].handleTypes = handleTypes.value
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15441
 *     @property
 *     def location(self):
 *         return self._location             # <<<<<<<<<<<<<<
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_location);
  __pyx_r = ((PyObject *)__pyx_v_self->_location);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15439
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._pvt_ptr[0].handleTypes = handleTypes.value
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15442
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "location", 0))) __PYX_ERR(0, 15443, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_v_location));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15444
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))             # <<<<<<<<<<<<<<
 *     @property
 *     def win32SecurityAttributes(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_location);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).location), ((CUmemLocation *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).location))));

  /* "cuda/bindings/driver.pyx":15442
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15445
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._pvt_ptr[0].win32SecurityAttributes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15447
 *     @property
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._pvt_ptr[0].win32SecurityAttributes             # <<<<<<<<<<<<<<
 *     @win32SecurityAttributes.setter
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).win32SecurityAttributes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15445
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].location, <cydriver.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._pvt_ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._pvt_ptr[0].win32SecurityAttributes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.win32SecurityAttributes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15448
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._pvt_ptr[0].win32SecurityAttributes
 *     @win32SecurityAttributes.setter             # <<<<<<<<<<<<<<
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), ((PyObject *)__pyx_v_win32SecurityAttributes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cwin32SecurityAttributes = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15450
 *     @win32SecurityAttributes.setter
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_win32SecurityAttributes};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15450, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cwin32SecurityAttributes = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15451
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes)
 *         self._pvt_ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSize(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cwin32SecurityAttributes), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).win32SecurityAttributes = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":15448
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._pvt_ptr[0].win32SecurityAttributes
 *     @win32SecurityAttributes.setter             # <<<<<<<<<<<<<<
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.win32SecurityAttributes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cwin32SecurityAttributes);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15452
 *         _cwin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes)
 *         self._pvt_ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def maxSize(self):
 *         return self._pvt_ptr[0].maxSize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15454
 *     @property
 *     def maxSize(self):
 *         return self._pvt_ptr[0].maxSize             # <<<<<<<<<<<<<<
 *     @maxSize.setter
 *     def maxSize(self, size_t maxSize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).maxSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15452
 *         _cwin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes)
 *         self._pvt_ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def maxSize(self):
 *         return self._pvt_ptr[0].maxSize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.maxSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15455
 *     def maxSize(self):
 *         return self._pvt_ptr[0].maxSize
 *     @maxSize.setter             # <<<<<<<<<<<<<<
 *     def maxSize(self, size_t maxSize):
 *         self._pvt_ptr[0].maxSize = maxSize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxSize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxSize) {
  size_t __pyx_v_maxSize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_maxSize); {
    __pyx_v_maxSize = __Pyx_PyLong_As_size_t(__pyx_arg_maxSize); if (unlikely((__pyx_v_maxSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15456, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.maxSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), ((size_t)__pyx_v_maxSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, size_t __pyx_v_maxSize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15457
 *     @maxSize.setter
 *     def maxSize(self, size_t maxSize):
 *         self._pvt_ptr[0].maxSize = maxSize             # <<<<<<<<<<<<<<
 *     @property
 *     def usage(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).maxSize = __pyx_v_maxSize;

  /* "cuda/bindings/driver.pyx":15455
 *     def maxSize(self):
 *         return self._pvt_ptr[0].maxSize
 *     @maxSize.setter             # <<<<<<<<<<<<<<
 *     def maxSize(self, size_t maxSize):
 *         self._pvt_ptr[0].maxSize = maxSize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15458
 *     def maxSize(self, size_t maxSize):
 *         self._pvt_ptr[0].maxSize = maxSize
 *     @property             # <<<<<<<<<<<<<<
 *     def usage(self):
 *         return self._pvt_ptr[0].usage
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15460
 *     @property
 *     def usage(self):
 *         return self._pvt_ptr[0].usage             # <<<<<<<<<<<<<<
 *     @usage.setter
 *     def usage(self, unsigned short usage):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_short((__pyx_v_self->_pvt_ptr[0]).usage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15458
 *     def maxSize(self, size_t maxSize):
 *         self._pvt_ptr[0].maxSize = maxSize
 *     @property             # <<<<<<<<<<<<<<
 *     def usage(self):
 *         return self._pvt_ptr[0].usage
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.usage.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15461
 *     def usage(self):
 *         return self._pvt_ptr[0].usage
 *     @usage.setter             # <<<<<<<<<<<<<<
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].usage = usage
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_usage); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_usage) {
  unsigned short __pyx_v_usage;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_usage); {
    __pyx_v_usage = __Pyx_PyLong_As_unsigned_short(__pyx_arg_usage); if (unlikely((__pyx_v_usage == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(0, 15462, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.usage.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), ((unsigned short)__pyx_v_usage));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, unsigned short __pyx_v_usage) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15463
 *     @usage.setter
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].usage = usage             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).usage = __pyx_v_usage;

  /* "cuda/bindings/driver.pyx":15461
 *     def usage(self):
 *         return self._pvt_ptr[0].usage
 *     @usage.setter             # <<<<<<<<<<<<<<
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].usage = usage
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15464
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].usage = usage
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 54)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15466
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 54)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0]).reserved), 54); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15464
 *     def usage(self, unsigned short usage):
 *         self._pvt_ptr[0].usage = usage
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 54)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15467
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 54)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 54:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  unsigned char __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15469
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 54:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 54, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15469, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 54);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":15470
 *     def reserved(self, reserved):
 *         if len(reserved) != 54:
 *             raise ValueError("reserved length must be 54, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].reserved[i] = b
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15470, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_54_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15470, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 15470, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":15469
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 54:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 54, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  }

  /* "cuda/bindings/driver.pyx":15471
 *         if len(reserved) != 54:
 *             raise ValueError("reserved length must be 54, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].reserved[i] = b
 * 
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
    __pyx_t_5 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15471, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15471, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15471, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15471, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 15471, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":15472
 *             raise ValueError("reserved length must be 54, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemPoolPtrExportData_st:
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 15472, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15472, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

    /* "cuda/bindings/driver.pyx":15471
 *         if len(reserved) != 54:
 *             raise ValueError("reserved length must be 54, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].reserved[i] = b
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":15467
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 54)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 54:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_10__reduce_cython__, "CUmemPoolProps_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUmemPoolProps_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_12__setstate_cython__, "CUmemPoolProps_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17CUmemPoolProps_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17CUmemPoolProps_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15488
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15488, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15488, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15488, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15488, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15489
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15490
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemPoolPtrExportData_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15489
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15492
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemPoolPtrExportData_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemPoolPtrExportData_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15488
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15493
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemPoolPtrExportData_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15493, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15493, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15493, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15493, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15493, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15493, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15495
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15497
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_6getPtr, "CUmemPoolPtrExportData_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15498
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15497
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15499
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15500
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15501
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15502
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15503
 *             str_list = []
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15503, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15503, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15503, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15503, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15503, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15503, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15502
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15504
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15504, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15505
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15505, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 15505, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15505, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15502
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15506
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15500
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15508
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15499
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15509
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 64)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15511
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 64)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0]).reserved), 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15509
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 64)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15512
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  unsigned char __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15514
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15514, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":15515
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].reserved[i] = b
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15515, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15515, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 15515, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":15514
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  }

  /* "cuda/bindings/driver.pyx":15516
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].reserved[i] = b
 * 
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
    __pyx_t_5 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15516, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15516, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15516, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15516, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 15516, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":15517
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemcpyAttributes_st:
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 15517, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15517, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

    /* "cuda/bindings/driver.pyx":15516
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].reserved[i] = b
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":15512
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_10__reduce_cython__, "CUmemPoolPtrExportData_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_12__setstate_cython__, "CUmemPoolPtrExportData_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolPtrExportData_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15543
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15543, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15543, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15543, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15543, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15544
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15545
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemcpyAttributes_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15544
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15547
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemcpyAttributes_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemcpyAttributes_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15543
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15548
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemcpyAttributes_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcLocHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].srcLocHint)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15548, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15548, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15548, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15548, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15548, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15548, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15550
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._srcLocHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].srcLocHint)             # <<<<<<<<<<<<<<
 *         self._dstLocHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].dstLocHint)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).srcLocHint))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15550, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15550, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcLocHint);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcLocHint);
  __pyx_v_self->_srcLocHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15551
 *         pass
 *         self._srcLocHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].srcLocHint)
 *         self._dstLocHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].dstLocHint)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dstLocHint))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15551, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15551, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstLocHint);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstLocHint);
  __pyx_v_self->_dstLocHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15548
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemcpyAttributes_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcLocHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].srcLocHint)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15552
 *         self._srcLocHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].srcLocHint)
 *         self._dstLocHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].dstLocHint)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15554
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_6getPtr, "CUmemcpyAttributes_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15555
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15554
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15556
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr194__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr195__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15557
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15558
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15559
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15560
 *             str_list = []
 *             try:
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcAccessOrder_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15560, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15560, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcAccessOrder, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15560, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15560, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15560, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15560, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15559
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15561
 *             try:
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15561, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15562
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcLocHint :\n' + '\n'.join(['    ' + line for line in str(self.srcLocHint).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15562, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcAccessOrder_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcAccessOrder_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcAccessOrder_ValueError) != (0)) __PYX_ERR(0, 15562, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15562, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15559
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15563
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLocHint :\n' + '\n'.join(['    ' + line for line in str(self.srcLocHint).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15564
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:
 *                 str_list += ['srcLocHint :\n' + '\n'.join(['    ' + line for line in str(self.srcLocHint).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcLocHint : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15564, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcLocHint_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15564, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15564, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15564, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15564, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15564, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr194__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr194__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15564, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15564, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr194__pyx_v_line); __pyx_10genexpr194__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr194__pyx_v_line); __pyx_10genexpr194__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15564, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcLocHint, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15564, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15564, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15564, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15564, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15563
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLocHint :\n' + '\n'.join(['    ' + line for line in str(self.srcLocHint).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15565
 *             try:
 *                 str_list += ['srcLocHint :\n' + '\n'.join(['    ' + line for line in str(self.srcLocHint).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLocHint : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 15565, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15566
 *                 str_list += ['srcLocHint :\n' + '\n'.join(['    ' + line for line in str(self.srcLocHint).splitlines()])]
 *             except ValueError:
 *                 str_list += ['srcLocHint : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstLocHint :\n' + '\n'.join(['    ' + line for line in str(self.dstLocHint).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15566, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcLocHint_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcLocHint_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_srcLocHint_ValueError) != (0)) __PYX_ERR(0, 15566, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15566, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15563
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLocHint :\n' + '\n'.join(['    ' + line for line in str(self.srcLocHint).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15567
 *             except ValueError:
 *                 str_list += ['srcLocHint : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLocHint :\n' + '\n'.join(['    ' + line for line in str(self.dstLocHint).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15568
 *                 str_list += ['srcLocHint : <ValueError>']
 *             try:
 *                 str_list += ['dstLocHint :\n' + '\n'.join(['    ' + line for line in str(self.dstLocHint).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstLocHint : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15568, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstLocHint_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15568, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15568, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15568, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15568, __pyx_L35_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15568, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr195__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr195__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15568, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 15568, __pyx_L35_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr195__pyx_v_line); __pyx_10genexpr195__pyx_v_line = 0;
          goto __pyx_L39_exit_scope;
          __pyx_L35_error:;
          __Pyx_XDECREF(__pyx_10genexpr195__pyx_v_line); __pyx_10genexpr195__pyx_v_line = 0;
          goto __pyx_L27_error;
          __pyx_L39_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15568, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstLocHint, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15568, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15568, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 15568, __pyx_L27_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15568, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":15567
 *             except ValueError:
 *                 str_list += ['srcLocHint : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLocHint :\n' + '\n'.join(['    ' + line for line in str(self.dstLocHint).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15569
 *             try:
 *                 str_list += ['dstLocHint :\n' + '\n'.join(['    ' + line for line in str(self.dstLocHint).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLocHint : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 15569, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15570
 *                 str_list += ['dstLocHint :\n' + '\n'.join(['    ' + line for line in str(self.dstLocHint).splitlines()])]
 *             except ValueError:
 *                 str_list += ['dstLocHint : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15570, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstLocHint_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstLocHint_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_dstLocHint_ValueError) != (0)) __PYX_ERR(0, 15570, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15570, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":15567
 *             except ValueError:
 *                 str_list += ['srcLocHint : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLocHint :\n' + '\n'.join(['    ' + line for line in str(self.dstLocHint).splitlines()])]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15571
 *             except ValueError:
 *                 str_list += ['dstLocHint : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15572
 *                 str_list += ['dstLocHint : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15572, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15572, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15572, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15572, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15572, __pyx_L42_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15572, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15571
 *             except ValueError:
 *                 str_list += ['dstLocHint : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L47_try_end;
      __pyx_L42_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15573
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 15573, __pyx_L44_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15574
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15574, __pyx_L44_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 15574, __pyx_L44_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15574, __pyx_L44_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L43_exception_handled;
      }
      goto __pyx_L44_except_error;

      /* "cuda/bindings/driver.pyx":15571
 *             except ValueError:
 *                 str_list += ['dstLocHint : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L44_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L43_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L47_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15575
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15557
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15577
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def srcAccessOrder(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15556
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr194__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr195__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15578
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15580
 *     @property
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum((__pyx_v_self->_pvt_ptr[0]).srcAccessOrder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpySrcAccessOrder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 15580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":15581
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
 *     @srcAccessOrder.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15580
 *     @property
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
*/
  }

  /* "cuda/bindings/driver.pyx":15582
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]             # <<<<<<<<<<<<<<
 *     @srcAccessOrder.setter
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpySrcAccessOrder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum((__pyx_v_self->_pvt_ptr[0]).srcAccessOrder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15578
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.srcAccessOrder.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15583
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
 *     @srcAccessOrder.setter             # <<<<<<<<<<<<<<
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcAccessOrder); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcAccessOrder) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_srcAccessOrder) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "srcAccessOrder"); __PYX_ERR(0, 15584, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcAccessOrder));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, PyObject *__pyx_v_srcAccessOrder) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemcpySrcAccessOrder __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15585
 *     @srcAccessOrder.setter
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value             # <<<<<<<<<<<<<<
 *     @property
 *     def srcLocHint(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcAccessOrder, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemcpySrcAccessOrder_enum)__Pyx_PyLong_As_enum__CUmemcpySrcAccessOrder_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).srcAccessOrder = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":15583
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
 *     @srcAccessOrder.setter             # <<<<<<<<<<<<<<
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.srcAccessOrder.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15586
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLocHint(self):
 *         return self._srcLocHint
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15588
 *     @property
 *     def srcLocHint(self):
 *         return self._srcLocHint             # <<<<<<<<<<<<<<
 *     @srcLocHint.setter
 *     def srcLocHint(self, srcLocHint not None : CUmemLocation):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_srcLocHint);
  __pyx_r = ((PyObject *)__pyx_v_self->_srcLocHint);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15586
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLocHint(self):
 *         return self._srcLocHint
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15589
 *     def srcLocHint(self):
 *         return self._srcLocHint
 *     @srcLocHint.setter             # <<<<<<<<<<<<<<
 *     def srcLocHint(self, srcLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].srcLocHint, <cydriver.CUmemLocation*><void_ptr>srcLocHint.getPtr(), sizeof(self._pvt_ptr[0].srcLocHint))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcLocHint); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcLocHint) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_srcLocHint), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "srcLocHint", 0))) __PYX_ERR(0, 15590, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_v_srcLocHint));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_srcLocHint) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15591
 *     @srcLocHint.setter
 *     def srcLocHint(self, srcLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].srcLocHint, <cydriver.CUmemLocation*><void_ptr>srcLocHint.getPtr(), sizeof(self._pvt_ptr[0].srcLocHint))             # <<<<<<<<<<<<<<
 *     @property
 *     def dstLocHint(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_srcLocHint);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).srcLocHint), ((CUmemLocation *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).srcLocHint))));

  /* "cuda/bindings/driver.pyx":15589
 *     def srcLocHint(self):
 *         return self._srcLocHint
 *     @srcLocHint.setter             # <<<<<<<<<<<<<<
 *     def srcLocHint(self, srcLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].srcLocHint, <cydriver.CUmemLocation*><void_ptr>srcLocHint.getPtr(), sizeof(self._pvt_ptr[0].srcLocHint))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.srcLocHint.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15592
 *     def srcLocHint(self, srcLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].srcLocHint, <cydriver.CUmemLocation*><void_ptr>srcLocHint.getPtr(), sizeof(self._pvt_ptr[0].srcLocHint))
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLocHint(self):
 *         return self._dstLocHint
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15594
 *     @property
 *     def dstLocHint(self):
 *         return self._dstLocHint             # <<<<<<<<<<<<<<
 *     @dstLocHint.setter
 *     def dstLocHint(self, dstLocHint not None : CUmemLocation):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dstLocHint);
  __pyx_r = ((PyObject *)__pyx_v_self->_dstLocHint);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15592
 *     def srcLocHint(self, srcLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].srcLocHint, <cydriver.CUmemLocation*><void_ptr>srcLocHint.getPtr(), sizeof(self._pvt_ptr[0].srcLocHint))
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLocHint(self):
 *         return self._dstLocHint
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15595
 *     def dstLocHint(self):
 *         return self._dstLocHint
 *     @dstLocHint.setter             # <<<<<<<<<<<<<<
 *     def dstLocHint(self, dstLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].dstLocHint, <cydriver.CUmemLocation*><void_ptr>dstLocHint.getPtr(), sizeof(self._pvt_ptr[0].dstLocHint))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstLocHint); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstLocHint) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dstLocHint), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "dstLocHint", 0))) __PYX_ERR(0, 15596, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_v_dstLocHint));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_dstLocHint) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15597
 *     @dstLocHint.setter
 *     def dstLocHint(self, dstLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].dstLocHint, <cydriver.CUmemLocation*><void_ptr>dstLocHint.getPtr(), sizeof(self._pvt_ptr[0].dstLocHint))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_dstLocHint);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).dstLocHint), ((CUmemLocation *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).dstLocHint))));

  /* "cuda/bindings/driver.pyx":15595
 *     def dstLocHint(self):
 *         return self._dstLocHint
 *     @dstLocHint.setter             # <<<<<<<<<<<<<<
 *     def dstLocHint(self, dstLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].dstLocHint, <cydriver.CUmemLocation*><void_ptr>dstLocHint.getPtr(), sizeof(self._pvt_ptr[0].dstLocHint))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.dstLocHint.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15598
 *     def dstLocHint(self, dstLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].dstLocHint, <cydriver.CUmemLocation*><void_ptr>dstLocHint.getPtr(), sizeof(self._pvt_ptr[0].dstLocHint))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15600
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15598
 *     def dstLocHint(self, dstLocHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].dstLocHint, <cydriver.CUmemLocation*><void_ptr>dstLocHint.getPtr(), sizeof(self._pvt_ptr[0].dstLocHint))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15601
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15602, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15603
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUoffset3D_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":15601
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10__reduce_cython__, "CUmemcpyAttributes_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_12__setstate_cython__, "CUmemcpyAttributes_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpyAttributes_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15623
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15623, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15623, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15623, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15623, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15623, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15623, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15624
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15625
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUoffset3D_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15624
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15627
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUoffset3D_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUoffset3D_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15623
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15628
 *         else:
 *             self._pvt_ptr = <cydriver.CUoffset3D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15628, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15628, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15628, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15628, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15630
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15632
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_6getPtr, "CUoffset3D_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUoffset3D_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15633
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15632
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15634
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15635
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15636
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15637
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15638
 *             str_list = []
 *             try:
 *                 str_list += ['x : ' + str(self.x)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_x_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15638, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15637
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15639
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15639, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15640
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15640, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_x_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_x_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_x_ValueError) != (0)) __PYX_ERR(0, 15640, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15640, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15637
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15641
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15642
 *                 str_list += ['x : <ValueError>']
 *             try:
 *                 str_list += ['y : ' + str(self.y)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_y_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_y, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15642, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15641
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15643
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15643, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15644
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15644, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_y_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_y_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_y_ValueError) != (0)) __PYX_ERR(0, 15644, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15644, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15641
 *             except ValueError:
 *                 str_list += ['x : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15645
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15646
 *                 str_list += ['y : <ValueError>']
 *             try:
 *                 str_list += ['z : ' + str(self.z)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_z_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_z, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15646, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15645
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15647
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15647, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15648
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15648, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_z_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_z_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_z_ValueError) != (0)) __PYX_ERR(0, 15648, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15648, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":15645
 *             except ValueError:
 *                 str_list += ['y : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15649
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15635
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15651
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def x(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15634
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15652
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def x(self):
 *         return self._pvt_ptr[0].x
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1x_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1x___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1x___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15654
 *     @property
 *     def x(self):
 *         return self._pvt_ptr[0].x             # <<<<<<<<<<<<<<
 *     @x.setter
 *     def x(self, size_t x):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15652
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def x(self):
 *         return self._pvt_ptr[0].x
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15655
 *     def x(self):
 *         return self._pvt_ptr[0].x
 *     @x.setter             # <<<<<<<<<<<<<<
 *     def x(self, size_t x):
 *         self._pvt_ptr[0].x = x
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x) {
  size_t __pyx_v_x;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_x); {
    __pyx_v_x = __Pyx_PyLong_As_size_t(__pyx_arg_x); if (unlikely((__pyx_v_x == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15656, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1x_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self), ((size_t)__pyx_v_x));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1x_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, size_t __pyx_v_x) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15657
 *     @x.setter
 *     def x(self, size_t x):
 *         self._pvt_ptr[0].x = x             # <<<<<<<<<<<<<<
 *     @property
 *     def y(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).x = __pyx_v_x;

  /* "cuda/bindings/driver.pyx":15655
 *     def x(self):
 *         return self._pvt_ptr[0].x
 *     @x.setter             # <<<<<<<<<<<<<<
 *     def x(self, size_t x):
 *         self._pvt_ptr[0].x = x
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15658
 *     def x(self, size_t x):
 *         self._pvt_ptr[0].x = x
 *     @property             # <<<<<<<<<<<<<<
 *     def y(self):
 *         return self._pvt_ptr[0].y
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1y_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1y___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1y___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15660
 *     @property
 *     def y(self):
 *         return self._pvt_ptr[0].y             # <<<<<<<<<<<<<<
 *     @y.setter
 *     def y(self, size_t y):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15658
 *     def x(self, size_t x):
 *         self._pvt_ptr[0].x = x
 *     @property             # <<<<<<<<<<<<<<
 *     def y(self):
 *         return self._pvt_ptr[0].y
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15661
 *     def y(self):
 *         return self._pvt_ptr[0].y
 *     @y.setter             # <<<<<<<<<<<<<<
 *     def y(self, size_t y):
 *         self._pvt_ptr[0].y = y
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y) {
  size_t __pyx_v_y;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_y); {
    __pyx_v_y = __Pyx_PyLong_As_size_t(__pyx_arg_y); if (unlikely((__pyx_v_y == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15662, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1y_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self), ((size_t)__pyx_v_y));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1y_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, size_t __pyx_v_y) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15663
 *     @y.setter
 *     def y(self, size_t y):
 *         self._pvt_ptr[0].y = y             # <<<<<<<<<<<<<<
 *     @property
 *     def z(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).y = __pyx_v_y;

  /* "cuda/bindings/driver.pyx":15661
 *     def y(self):
 *         return self._pvt_ptr[0].y
 *     @y.setter             # <<<<<<<<<<<<<<
 *     def y(self, size_t y):
 *         self._pvt_ptr[0].y = y
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15664
 *     def y(self, size_t y):
 *         self._pvt_ptr[0].y = y
 *     @property             # <<<<<<<<<<<<<<
 *     def z(self):
 *         return self._pvt_ptr[0].z
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1z_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1z___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1z___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15666
 *     @property
 *     def z(self):
 *         return self._pvt_ptr[0].z             # <<<<<<<<<<<<<<
 *     @z.setter
 *     def z(self, size_t z):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15664
 *     def y(self, size_t y):
 *         self._pvt_ptr[0].y = y
 *     @property             # <<<<<<<<<<<<<<
 *     def z(self):
 *         return self._pvt_ptr[0].z
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.z.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15667
 *     def z(self):
 *         return self._pvt_ptr[0].z
 *     @z.setter             # <<<<<<<<<<<<<<
 *     def z(self, size_t z):
 *         self._pvt_ptr[0].z = z
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z) {
  size_t __pyx_v_z;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_z); {
    __pyx_v_z = __Pyx_PyLong_As_size_t(__pyx_arg_z); if (unlikely((__pyx_v_z == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15668, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1z_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self), ((size_t)__pyx_v_z));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_1z_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, size_t __pyx_v_z) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15669
 *     @z.setter
 *     def z(self, size_t z):
 *         self._pvt_ptr[0].z = z             # <<<<<<<<<<<<<<
 * 
 * cdef class CUextent3D_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).z = __pyx_v_z;

  /* "cuda/bindings/driver.pyx":15667
 *     def z(self):
 *         return self._pvt_ptr[0].z
 *     @z.setter             # <<<<<<<<<<<<<<
 *     def z(self, size_t z):
 *         self._pvt_ptr[0].z = z
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_10__reduce_cython__, "CUoffset3D_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUoffset3D_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_12__setstate_cython__, "CUoffset3D_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUoffset3D_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUoffset3D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUoffset3D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15689
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15689, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15689, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15689, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15689, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15689, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15689, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15690
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15691
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUextent3D_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":15690
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15693
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUextent3D_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUextent3D_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15689
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15694
 *         else:
 *             self._pvt_ptr = <cydriver.CUextent3D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15694, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15694, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15694, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15694, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15696
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15698
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_6getPtr, "CUextent3D_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUextent3D_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15699
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15698
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15700
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15701
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15702
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15703
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15704
 *             str_list = []
 *             try:
 *                 str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15704, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15704, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15704, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15704, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15704, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15704, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15703
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15705
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15705, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15706
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15706, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_width_ValueError) != (0)) __PYX_ERR(0, 15706, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15706, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15703
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15707
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15708
 *                 str_list += ['width : <ValueError>']
 *             try:
 *                 str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15708, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15708, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15708, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15708, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15708, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15708, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15707
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15709
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15709, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15710
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15710, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_height_ValueError) != (0)) __PYX_ERR(0, 15710, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15710, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15707
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15711
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15712
 *                 str_list += ['height : <ValueError>']
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15712, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15712, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_depth, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15712, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15712, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15712, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15712, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15711
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15713
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15713, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15714
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15714, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_depth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_depth_ValueError) != (0)) __PYX_ERR(0, 15714, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15714, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":15711
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15715
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15701
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15717
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15700
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15718
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15720
 *     @property
 *     def width(self):
 *         return self._pvt_ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15718
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15721
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_width); {
    __pyx_v_width = __Pyx_PyLong_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15722, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15723
 *     @width.setter
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).width = __pyx_v_width;

  /* "cuda/bindings/driver.pyx":15721
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15724
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15726
 *     @property
 *     def height(self):
 *         return self._pvt_ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15724
 *     def width(self, size_t width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15727
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_height); {
    __pyx_v_height = __Pyx_PyLong_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15728, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15729
 *     @height.setter
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).height = __pyx_v_height;

  /* "cuda/bindings/driver.pyx":15727
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15730
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5depth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5depth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15732
 *     @property
 *     def depth(self):
 *         return self._pvt_ptr[0].depth             # <<<<<<<<<<<<<<
 *     @depth.setter
 *     def depth(self, size_t depth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15730
 *     def height(self, size_t height):
 *         self._pvt_ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15733
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, size_t depth):
 *         self._pvt_ptr[0].depth = depth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth) {
  size_t __pyx_v_depth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_depth); {
    __pyx_v_depth = __Pyx_PyLong_As_size_t(__pyx_arg_depth); if (unlikely((__pyx_v_depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15734, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5depth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self), ((size_t)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_5depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, size_t __pyx_v_depth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15735
 *     @depth.setter
 *     def depth(self, size_t depth):
 *         self._pvt_ptr[0].depth = depth             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct23:
*/
  (__pyx_v_self->_pvt_ptr[0]).depth = __pyx_v_depth;

  /* "cuda/bindings/driver.pyx":15733
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, size_t depth):
 *         self._pvt_ptr[0].depth = depth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_10__reduce_cython__, "CUextent3D_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUextent3D_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_12__setstate_cython__, "CUextent3D_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUextent3D_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUextent3D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUextent3D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15755
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15755, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15755, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15755, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 15755, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15755, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15755, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15755, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15756
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUmemcpy3DOperand_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":15755
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15758
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].op.ptr.ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15758, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15758, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15758, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 15758, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15758, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15758, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15758, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15760
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._ptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].op.ptr.ptr)             # <<<<<<<<<<<<<<
 *         self._locHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].op.ptr.locHint)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).op.ptr.ptr))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15760, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15760, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ptr);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ptr);
  __pyx_v_self->_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15761
 *         pass
 *         self._ptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].op.ptr.ptr)
 *         self._locHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].op.ptr.locHint)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).op.ptr.locHint))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15761, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15761, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_locHint);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_locHint);
  __pyx_v_self->_locHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15758
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].op.ptr.ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15762
 *         self._ptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].op.ptr.ptr)
 *         self._locHint = CUmemLocation(_ptr=<void_ptr>&self._pvt_ptr[0].op.ptr.locHint)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15764
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op.ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct23_6getPtr, "anon_struct23.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct23_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct23_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15765
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op.ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).op.ptr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15764
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op.ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15766
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op.ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr196__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15767
 *         return <void_ptr>&self._pvt_ptr[0].op.ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15768
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ptr : ' + str(self.ptr)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15769
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr : ' + str(self.ptr)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15770
 *             str_list = []
 *             try:
 *                 str_list += ['ptr : ' + str(self.ptr)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15770, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15770, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ptr_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15770, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15770, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15770, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15770, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15769
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr : ' + str(self.ptr)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15771
 *             try:
 *                 str_list += ['ptr : ' + str(self.ptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15771, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15772
 *                 str_list += ['ptr : ' + str(self.ptr)]
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['rowLength : ' + str(self.rowLength)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15772, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ptr_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_ptr_ValueError) != (0)) __PYX_ERR(0, 15772, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15772, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15769
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr : ' + str(self.ptr)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15773
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['rowLength : ' + str(self.rowLength)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15774
 *                 str_list += ['ptr : <ValueError>']
 *             try:
 *                 str_list += ['rowLength : ' + str(self.rowLength)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['rowLength : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_rowLength_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15774, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15774, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_rowLength, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15774, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15774, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15774, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15774, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15773
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['rowLength : ' + str(self.rowLength)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15775
 *             try:
 *                 str_list += ['rowLength : ' + str(self.rowLength)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['rowLength : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 15775, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15776
 *                 str_list += ['rowLength : ' + str(self.rowLength)]
 *             except ValueError:
 *                 str_list += ['rowLength : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['layerHeight : ' + str(self.layerHeight)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15776, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_rowLength_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_rowLength_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_rowLength_ValueError) != (0)) __PYX_ERR(0, 15776, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15776, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15773
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['rowLength : ' + str(self.rowLength)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15777
 *             except ValueError:
 *                 str_list += ['rowLength : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layerHeight : ' + str(self.layerHeight)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15778
 *                 str_list += ['rowLength : <ValueError>']
 *             try:
 *                 str_list += ['layerHeight : ' + str(self.layerHeight)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['layerHeight : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_layerHeight_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15778, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15778, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_layerHeight, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15778, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15778, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15778, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15778, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15777
 *             except ValueError:
 *                 str_list += ['rowLength : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layerHeight : ' + str(self.layerHeight)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15779
 *             try:
 *                 str_list += ['layerHeight : ' + str(self.layerHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['layerHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15779, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15780
 *                 str_list += ['layerHeight : ' + str(self.layerHeight)]
 *             except ValueError:
 *                 str_list += ['layerHeight : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['locHint :\n' + '\n'.join(['    ' + line for line in str(self.locHint).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15780, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_layerHeight_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_layerHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_layerHeight_ValueError) != (0)) __PYX_ERR(0, 15780, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15780, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":15777
 *             except ValueError:
 *                 str_list += ['rowLength : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['layerHeight : ' + str(self.layerHeight)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15781
 *             except ValueError:
 *                 str_list += ['layerHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['locHint :\n' + '\n'.join(['    ' + line for line in str(self.locHint).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15782
 *                 str_list += ['layerHeight : <ValueError>']
 *             try:
 *                 str_list += ['locHint :\n' + '\n'.join(['    ' + line for line in str(self.locHint).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['locHint : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15782, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_locHint_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15782, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15782, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15782, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15782, __pyx_L36_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15782, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr196__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr196__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15782, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15782, __pyx_L36_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr196__pyx_v_line); __pyx_10genexpr196__pyx_v_line = 0;
          goto __pyx_L40_exit_scope;
          __pyx_L36_error:;
          __Pyx_XDECREF(__pyx_10genexpr196__pyx_v_line); __pyx_10genexpr196__pyx_v_line = 0;
          goto __pyx_L28_error;
          __pyx_L40_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15782, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_locHint, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15782, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15782, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15782, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15782, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15781
 *             except ValueError:
 *                 str_list += ['layerHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['locHint :\n' + '\n'.join(['    ' + line for line in str(self.locHint).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15783
 *             try:
 *                 str_list += ['locHint :\n' + '\n'.join(['    ' + line for line in str(self.locHint).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['locHint : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 15783, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15784
 *                 str_list += ['locHint :\n' + '\n'.join(['    ' + line for line in str(self.locHint).splitlines()])]
 *             except ValueError:
 *                 str_list += ['locHint : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15784, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_locHint_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_locHint_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_locHint_ValueError) != (0)) __PYX_ERR(0, 15784, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15784, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":15781
 *             except ValueError:
 *                 str_list += ['layerHeight : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['locHint :\n' + '\n'.join(['    ' + line for line in str(self.locHint).splitlines()])]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15785
 *             except ValueError:
 *                 str_list += ['locHint : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15767
 *         return <void_ptr>&self._pvt_ptr[0].op.ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15787
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def ptr(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15766
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op.ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr196__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15788
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ptr(self):
 *         return self._ptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3ptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3ptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_3ptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_3ptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15790
 *     @property
 *     def ptr(self):
 *         return self._ptr             # <<<<<<<<<<<<<<
 *     @ptr.setter
 *     def ptr(self, ptr):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_ptr);
  __pyx_r = ((PyObject *)__pyx_v_self->_ptr);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15788
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ptr(self):
 *         return self._ptr
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15791
 *     def ptr(self):
 *         return self._ptr
 *     @ptr.setter             # <<<<<<<<<<<<<<
 *     def ptr(self, ptr):
 *         cdef cydriver.CUdeviceptr cyptr
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ptr); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ptr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_3ptr_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self), ((PyObject *)__pyx_v_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_3ptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15794
 *     def ptr(self, ptr):
 *         cdef cydriver.CUdeviceptr cyptr
 *         if ptr is None:             # <<<<<<<<<<<<<<
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(ptr, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15795
 *         cdef cydriver.CUdeviceptr cyptr
 *         if ptr is None:
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ptr, (CUdeviceptr)):
 *             pptr = int(ptr)
*/
    __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":15794
 *     def ptr(self, ptr):
 *         cdef cydriver.CUdeviceptr cyptr
 *         if ptr is None:             # <<<<<<<<<<<<<<
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(ptr, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15796
 *         if ptr is None:
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(ptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pptr = int(ptr)
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15797
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(ptr, (CUdeviceptr)):
 *             pptr = int(ptr)             # <<<<<<<<<<<<<<
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15798
 *         elif isinstance(ptr, (CUdeviceptr)):
 *             pptr = int(ptr)
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *         else:
 *             pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15798, __pyx_L1_error)
    __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":15796
 *         if ptr is None:
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(ptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pptr = int(ptr)
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15800
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *         else:
 *             pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *         self._ptr._pvt_ptr[0] = cyptr
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15800, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":15801
 *         else:
 *             pptr = int(CUdeviceptr(ptr))
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *         self._ptr._pvt_ptr[0] = cyptr
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15801, __pyx_L1_error)
    __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15802
 *             pptr = int(CUdeviceptr(ptr))
 *             cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *         self._ptr._pvt_ptr[0] = cyptr             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_ptr->_pvt_ptr[0]) = __pyx_v_cyptr;

  /* "cuda/bindings/driver.pyx":15791
 *     def ptr(self):
 *         return self._ptr
 *     @ptr.setter             # <<<<<<<<<<<<<<
 *     def ptr(self, ptr):
 *         cdef cydriver.CUdeviceptr cyptr
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.ptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15804
 *         self._ptr._pvt_ptr[0] = cyptr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def rowLength(self):
 *         return self._pvt_ptr[0].op.ptr.rowLength
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9rowLength_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9rowLength_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_9rowLength___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_9rowLength___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15806
 *     @property
 *     def rowLength(self):
 *         return self._pvt_ptr[0].op.ptr.rowLength             # <<<<<<<<<<<<<<
 *     @rowLength.setter
 *     def rowLength(self, size_t rowLength):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).op.ptr.rowLength); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15804
 *         self._ptr._pvt_ptr[0] = cyptr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def rowLength(self):
 *         return self._pvt_ptr[0].op.ptr.rowLength
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.rowLength.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15807
 *     def rowLength(self):
 *         return self._pvt_ptr[0].op.ptr.rowLength
 *     @rowLength.setter             # <<<<<<<<<<<<<<
 *     def rowLength(self, size_t rowLength):
 *         self._pvt_ptr[0].op.ptr.rowLength = rowLength
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9rowLength_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_rowLength); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9rowLength_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_rowLength) {
  size_t __pyx_v_rowLength;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_rowLength); {
    __pyx_v_rowLength = __Pyx_PyLong_As_size_t(__pyx_arg_rowLength); if (unlikely((__pyx_v_rowLength == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15808, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.rowLength.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_9rowLength_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self), ((size_t)__pyx_v_rowLength));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_9rowLength_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, size_t __pyx_v_rowLength) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15809
 *     @rowLength.setter
 *     def rowLength(self, size_t rowLength):
 *         self._pvt_ptr[0].op.ptr.rowLength = rowLength             # <<<<<<<<<<<<<<
 *     @property
 *     def layerHeight(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).op.ptr.rowLength = __pyx_v_rowLength;

  /* "cuda/bindings/driver.pyx":15807
 *     def rowLength(self):
 *         return self._pvt_ptr[0].op.ptr.rowLength
 *     @rowLength.setter             # <<<<<<<<<<<<<<
 *     def rowLength(self, size_t rowLength):
 *         self._pvt_ptr[0].op.ptr.rowLength = rowLength
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15810
 *     def rowLength(self, size_t rowLength):
 *         self._pvt_ptr[0].op.ptr.rowLength = rowLength
 *     @property             # <<<<<<<<<<<<<<
 *     def layerHeight(self):
 *         return self._pvt_ptr[0].op.ptr.layerHeight
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_11layerHeight___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_11layerHeight___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15812
 *     @property
 *     def layerHeight(self):
 *         return self._pvt_ptr[0].op.ptr.layerHeight             # <<<<<<<<<<<<<<
 *     @layerHeight.setter
 *     def layerHeight(self, size_t layerHeight):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).op.ptr.layerHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15810
 *     def rowLength(self, size_t rowLength):
 *         self._pvt_ptr[0].op.ptr.rowLength = rowLength
 *     @property             # <<<<<<<<<<<<<<
 *     def layerHeight(self):
 *         return self._pvt_ptr[0].op.ptr.layerHeight
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.layerHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15813
 *     def layerHeight(self):
 *         return self._pvt_ptr[0].op.ptr.layerHeight
 *     @layerHeight.setter             # <<<<<<<<<<<<<<
 *     def layerHeight(self, size_t layerHeight):
 *         self._pvt_ptr[0].op.ptr.layerHeight = layerHeight
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_layerHeight); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_layerHeight) {
  size_t __pyx_v_layerHeight;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_layerHeight); {
    __pyx_v_layerHeight = __Pyx_PyLong_As_size_t(__pyx_arg_layerHeight); if (unlikely((__pyx_v_layerHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15814, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.layerHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self), ((size_t)__pyx_v_layerHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, size_t __pyx_v_layerHeight) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15815
 *     @layerHeight.setter
 *     def layerHeight(self, size_t layerHeight):
 *         self._pvt_ptr[0].op.ptr.layerHeight = layerHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def locHint(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).op.ptr.layerHeight = __pyx_v_layerHeight;

  /* "cuda/bindings/driver.pyx":15813
 *     def layerHeight(self):
 *         return self._pvt_ptr[0].op.ptr.layerHeight
 *     @layerHeight.setter             # <<<<<<<<<<<<<<
 *     def layerHeight(self, size_t layerHeight):
 *         self._pvt_ptr[0].op.ptr.layerHeight = layerHeight
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15816
 *     def layerHeight(self, size_t layerHeight):
 *         self._pvt_ptr[0].op.ptr.layerHeight = layerHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def locHint(self):
 *         return self._locHint
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7locHint_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7locHint_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_7locHint___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_7locHint___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15818
 *     @property
 *     def locHint(self):
 *         return self._locHint             # <<<<<<<<<<<<<<
 *     @locHint.setter
 *     def locHint(self, locHint not None : CUmemLocation):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_locHint);
  __pyx_r = ((PyObject *)__pyx_v_self->_locHint);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15816
 *     def layerHeight(self, size_t layerHeight):
 *         self._pvt_ptr[0].op.ptr.layerHeight = layerHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def locHint(self):
 *         return self._locHint
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15819
 *     def locHint(self):
 *         return self._locHint
 *     @locHint.setter             # <<<<<<<<<<<<<<
 *     def locHint(self, locHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].op.ptr.locHint, <cydriver.CUmemLocation*><void_ptr>locHint.getPtr(), sizeof(self._pvt_ptr[0].op.ptr.locHint))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7locHint_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_locHint); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7locHint_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_locHint) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_locHint), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "locHint", 0))) __PYX_ERR(0, 15820, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_7locHint_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_v_locHint));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_7locHint_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_locHint) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15821
 *     @locHint.setter
 *     def locHint(self, locHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].op.ptr.locHint, <cydriver.CUmemLocation*><void_ptr>locHint.getPtr(), sizeof(self._pvt_ptr[0].op.ptr.locHint))             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct24:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_locHint);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).op.ptr.locHint), ((CUmemLocation *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).op.ptr.locHint))));

  /* "cuda/bindings/driver.pyx":15819
 *     def locHint(self):
 *         return self._locHint
 *     @locHint.setter             # <<<<<<<<<<<<<<
 *     def locHint(self, locHint not None : CUmemLocation):
 *         string.memcpy(&self._pvt_ptr[0].op.ptr.locHint, <cydriver.CUmemLocation*><void_ptr>locHint.getPtr(), sizeof(self._pvt_ptr[0].op.ptr.locHint))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.locHint.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct23_10__reduce_cython__, "anon_struct23.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct23_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct23_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct23_12__setstate_cython__, "anon_struct23.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct23_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct23_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct23_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct23_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct23.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15837
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15837, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15837, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15837, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 15837, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15837, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15837, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15837, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct24___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15838
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUmemcpy3DOperand_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":15837
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15840
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._array = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].op.array.array)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15840, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15840, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15840, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 15840, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15840, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15840, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15840, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15842
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._array = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].op.array.array)             # <<<<<<<<<<<<<<
 *         self._offset = CUoffset3D(_ptr=<void_ptr>&self._pvt_ptr[0].op.array.offset)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).op.array.array))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15842, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15842, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_array);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_array);
  __pyx_v_self->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15843
 *         pass
 *         self._array = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].op.array.array)
 *         self._offset = CUoffset3D(_ptr=<void_ptr>&self._pvt_ptr[0].op.array.offset)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).op.array.offset))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15843, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15843, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_offset);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_offset);
  __pyx_v_self->_offset = ((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15840
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._array = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].op.array.array)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15844
 *         self._array = CUarray(_ptr=<void_ptr>&self._pvt_ptr[0].op.array.array)
 *         self._offset = CUoffset3D(_ptr=<void_ptr>&self._pvt_ptr[0].op.array.offset)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15846
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op.array
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct24_6getPtr, "anon_struct24.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct24_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct24_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15847
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op.array             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).op.array))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15846
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op.array
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15848
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op.array
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr197__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15849
 *         return <void_ptr>&self._pvt_ptr[0].op.array
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15850
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['array : ' + str(self.array)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15851
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15852
 *             str_list = []
 *             try:
 *                 str_list += ['array : ' + str(self.array)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_array_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15852, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15852, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_array_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15852, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15852, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15852, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15852, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15851
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15853
 *             try:
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15853, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15854
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['offset :\n' + '\n'.join(['    ' + line for line in str(self.offset).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15854, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_array_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_array_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_array_ValueError) != (0)) __PYX_ERR(0, 15854, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15854, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15851
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15855
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset :\n' + '\n'.join(['    ' + line for line in str(self.offset).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15856
 *                 str_list += ['array : <ValueError>']
 *             try:
 *                 str_list += ['offset :\n' + '\n'.join(['    ' + line for line in str(self.offset).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15856, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_offset_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15856, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15856, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15856, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15856, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15856, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr197__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr197__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15856, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15856, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr197__pyx_v_line); __pyx_10genexpr197__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr197__pyx_v_line); __pyx_10genexpr197__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15856, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_offset_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15856, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15856, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15856, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15856, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15855
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset :\n' + '\n'.join(['    ' + line for line in str(self.offset).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15857
 *             try:
 *                 str_list += ['offset :\n' + '\n'.join(['    ' + line for line in str(self.offset).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 15857, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15858
 *                 str_list += ['offset :\n' + '\n'.join(['    ' + line for line in str(self.offset).splitlines()])]
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15858, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_offset_ValueError) != (0)) __PYX_ERR(0, 15858, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15858, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15855
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset :\n' + '\n'.join(['    ' + line for line in str(self.offset).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15859
 *             except ValueError:
 *                 str_list += ['offset : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15849
 *         return <void_ptr>&self._pvt_ptr[0].op.array
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15861
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def array(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15848
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op.array
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr197__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15862
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5array_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5array_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_5array___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_5array___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15864
 *     @property
 *     def array(self):
 *         return self._array             # <<<<<<<<<<<<<<
 *     @array.setter
 *     def array(self, array):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_array);
  __pyx_r = ((PyObject *)__pyx_v_self->_array);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15862
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15865
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array):
 *         cdef cydriver.CUarray cyarray
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_5array_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self), ((PyObject *)__pyx_v_array));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_5array_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, PyObject *__pyx_v_array) {
  CUarray __pyx_v_cyarray;
  PyObject *__pyx_v_parray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15868
 *     def array(self, array):
 *         cdef cydriver.CUarray cyarray
 *         if array is None:             # <<<<<<<<<<<<<<
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_array == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15869
 *         cdef cydriver.CUarray cyarray
 *         if array is None:
 *             cyarray = <cydriver.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)
*/
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":15868
 *     def array(self, array):
 *         cdef cydriver.CUarray cyarray
 *         if array is None:             # <<<<<<<<<<<<<<
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15870
 *         if array is None:
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *             parray = int(array)
 *             cyarray = <cydriver.CUarray><void_ptr>parray
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_array, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15871
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)             # <<<<<<<<<<<<<<
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_parray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15872
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)
 *             cyarray = <cydriver.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *         else:
 *             parray = int(CUarray(array))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15872, __pyx_L1_error)
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":15870
 *         if array is None:
 *             cyarray = <cydriver.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *             parray = int(array)
 *             cyarray = <cydriver.CUarray><void_ptr>parray
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15874
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         else:
 *             parray = int(CUarray(array))             # <<<<<<<<<<<<<<
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         self._array._pvt_ptr[0] = cyarray
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_array};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15874, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_parray = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":15875
 *         else:
 *             parray = int(CUarray(array))
 *             cyarray = <cydriver.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *         self._array._pvt_ptr[0] = cyarray
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15875, __pyx_L1_error)
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15876
 *             parray = int(CUarray(array))
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         self._array._pvt_ptr[0] = cyarray             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
*/
  (__pyx_v_self->_array->_pvt_ptr[0]) = __pyx_v_cyarray;

  /* "cuda/bindings/driver.pyx":15865
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array):
 *         cdef cydriver.CUarray cyarray
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.array.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15877
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         self._array._pvt_ptr[0] = cyarray
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._offset
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_6offset_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6offset___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6offset___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15879
 *     @property
 *     def offset(self):
 *         return self._offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, offset not None : CUoffset3D):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_offset);
  __pyx_r = ((PyObject *)__pyx_v_self->_offset);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15877
 *             cyarray = <cydriver.CUarray><void_ptr>parray
 *         self._array._pvt_ptr[0] = cyarray
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._offset
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15880
 *     def offset(self):
 *         return self._offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, offset not None : CUoffset3D):
 *         string.memcpy(&self._pvt_ptr[0].op.array.offset, <cydriver.CUoffset3D*><void_ptr>offset.getPtr(), sizeof(self._pvt_ptr[0].op.array.offset))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_offset); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_offset) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_offset), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D, 0, "offset", 0))) __PYX_ERR(0, 15881, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6offset_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D *)__pyx_v_offset));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_6offset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D *__pyx_v_offset) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15882
 *     @offset.setter
 *     def offset(self, offset not None : CUoffset3D):
 *         string.memcpy(&self._pvt_ptr[0].op.array.offset, <cydriver.CUoffset3D*><void_ptr>offset.getPtr(), sizeof(self._pvt_ptr[0].op.array.offset))             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union12:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_offset);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).op.array.offset), ((CUoffset3D *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).op.array.offset))));

  /* "cuda/bindings/driver.pyx":15880
 *     def offset(self):
 *         return self._offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, offset not None : CUoffset3D):
 *         string.memcpy(&self._pvt_ptr[0].op.array.offset, <cydriver.CUoffset3D*><void_ptr>offset.getPtr(), sizeof(self._pvt_ptr[0].op.array.offset))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct24_10__reduce_cython__, "anon_struct24.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct24_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct24_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13anon_struct24_12__setstate_cython__, "anon_struct24.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13anon_struct24_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct24_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13anon_struct24_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13anon_struct24_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_struct24.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15898
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union12_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union12_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15898, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15898, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15898, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 15898, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15898, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15898, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15898, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union12___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":15899
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct CUmemcpy3DOperand_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":15898
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15901
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr = anon_struct23(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union12_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union12_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15901, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15901, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15901, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 15901, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15901, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15901, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15901, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union12_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15903
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._ptr = anon_struct23(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *         self._array = anon_struct24(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15903, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15903, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ptr);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ptr);
  __pyx_v_self->_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15904
 *         pass
 *         self._ptr = anon_struct23(_ptr=<void_ptr>self._pvt_ptr)
 *         self._array = anon_struct24(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15904, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15904, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_array);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_array);
  __pyx_v_self->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15901
 *         self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr = anon_struct23(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15905
 *         self._ptr = anon_struct23(_ptr=<void_ptr>self._pvt_ptr)
 *         self._array = anon_struct24(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_union12_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_union12_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_union12_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_union12_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15907
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union12_6getPtr, "anon_union12.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union12_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union12_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union12_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15908
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).op))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15907
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15909
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr198__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr199__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15910
 *         return <void_ptr>&self._pvt_ptr[0].op
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15911
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ptr :\n' + '\n'.join(['    ' + line for line in str(self.ptr).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15912
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr :\n' + '\n'.join(['    ' + line for line in str(self.ptr).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15913
 *             str_list = []
 *             try:
 *                 str_list += ['ptr :\n' + '\n'.join(['    ' + line for line in str(self.ptr).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15913, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15913, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15913, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15913, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15913, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15913, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr198__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr198__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15913, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15913, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr198__pyx_v_line); __pyx_10genexpr198__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr198__pyx_v_line); __pyx_10genexpr198__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ptr_4, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15913, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15913, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15912
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr :\n' + '\n'.join(['    ' + line for line in str(self.ptr).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":15914
 *             try:
 *                 str_list += ['ptr :\n' + '\n'.join(['    ' + line for line in str(self.ptr).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 15914, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15915
 *                 str_list += ['ptr :\n' + '\n'.join(['    ' + line for line in str(self.ptr).splitlines()])]
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15915, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ptr_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_ptr_ValueError) != (0)) __PYX_ERR(0, 15915, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 15915, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15912
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr :\n' + '\n'.join(['    ' + line for line in str(self.ptr).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15916
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15917
 *                 str_list += ['ptr : <ValueError>']
 *             try:
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15917, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_array_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15917, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15917, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15917, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15917, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15917, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr199__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr199__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15917, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 15917, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr199__pyx_v_line); __pyx_10genexpr199__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr199__pyx_v_line); __pyx_10genexpr199__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15917, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_array, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15917, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15917, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 15917, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15917, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":15916
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":15918
 *             try:
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 15918, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":15919
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 15919, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_array_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_array_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_array_ValueError) != (0)) __PYX_ERR(0, 15919, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15919, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":15916
 *             except ValueError:
 *                 str_list += ['ptr : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15920
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15920, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15910
 *         return <void_ptr>&self._pvt_ptr[0].op
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15922
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def ptr(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15909
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].op
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr198__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr199__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15923
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ptr(self):
 *         return self._ptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_3ptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_3ptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_3ptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_3ptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15925
 *     @property
 *     def ptr(self):
 *         return self._ptr             # <<<<<<<<<<<<<<
 *     @ptr.setter
 *     def ptr(self, ptr not None : anon_struct23):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_ptr);
  __pyx_r = ((PyObject *)__pyx_v_self->_ptr);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15923
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ptr(self):
 *         return self._ptr
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15926
 *     def ptr(self):
 *         return self._ptr
 *     @ptr.setter             # <<<<<<<<<<<<<<
 *     def ptr(self, ptr not None : anon_struct23):
 *         string.memcpy(&self._pvt_ptr[0].op.ptr, <cydriver.anon_struct23*><void_ptr>ptr.getPtr(), sizeof(self._pvt_ptr[0].op.ptr))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union12_3ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ptr); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union12_3ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ptr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ptr), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23, 0, "ptr", 0))) __PYX_ERR(0, 15927, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_3ptr_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)__pyx_v_ptr));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union12_3ptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *__pyx_v_ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15928
 *     @ptr.setter
 *     def ptr(self, ptr not None : anon_struct23):
 *         string.memcpy(&self._pvt_ptr[0].op.ptr, <cydriver.anon_struct23*><void_ptr>ptr.getPtr(), sizeof(self._pvt_ptr[0].op.ptr))             # <<<<<<<<<<<<<<
 *     @property
 *     def array(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_ptr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).op.ptr), ((struct anon_struct23 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).op.ptr))));

  /* "cuda/bindings/driver.pyx":15926
 *     def ptr(self):
 *         return self._ptr
 *     @ptr.setter             # <<<<<<<<<<<<<<
 *     def ptr(self, ptr not None : anon_struct23):
 *         string.memcpy(&self._pvt_ptr[0].op.ptr, <cydriver.anon_struct23*><void_ptr>ptr.getPtr(), sizeof(self._pvt_ptr[0].op.ptr))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.ptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15929
 *     def ptr(self, ptr not None : anon_struct23):
 *         string.memcpy(&self._pvt_ptr[0].op.ptr, <cydriver.anon_struct23*><void_ptr>ptr.getPtr(), sizeof(self._pvt_ptr[0].op.ptr))
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_5array_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_5array_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_5array___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_5array___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15931
 *     @property
 *     def array(self):
 *         return self._array             # <<<<<<<<<<<<<<
 *     @array.setter
 *     def array(self, array not None : anon_struct24):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_array);
  __pyx_r = ((PyObject *)__pyx_v_self->_array);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15929
 *     def ptr(self, ptr not None : anon_struct23):
 *         string.memcpy(&self._pvt_ptr[0].op.ptr, <cydriver.anon_struct23*><void_ptr>ptr.getPtr(), sizeof(self._pvt_ptr[0].op.ptr))
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15932
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array not None : anon_struct24):
 *         string.memcpy(&self._pvt_ptr[0].op.array, <cydriver.anon_struct24*><void_ptr>array.getPtr(), sizeof(self._pvt_ptr[0].op.array))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union12_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union12_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_array), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24, 0, "array", 0))) __PYX_ERR(0, 15933, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_5array_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)__pyx_v_array));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union12_5array_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *__pyx_v_array) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15934
 *     @array.setter
 *     def array(self, array not None : anon_struct24):
 *         string.memcpy(&self._pvt_ptr[0].op.array, <cydriver.anon_struct24*><void_ptr>array.getPtr(), sizeof(self._pvt_ptr[0].op.array))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemcpy3DOperand_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_array);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).op.array), ((struct anon_struct24 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).op.array))));

  /* "cuda/bindings/driver.pyx":15932
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array not None : anon_struct24):
 *         string.memcpy(&self._pvt_ptr[0].op.array, <cydriver.anon_struct24*><void_ptr>array.getPtr(), sizeof(self._pvt_ptr[0].op.array))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.array.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union12_10__reduce_cython__, "anon_union12.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union12_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union12_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union12_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union12_12__setstate_cython__, "anon_union12.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union12_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union12_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union12_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union12_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union12_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union12_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union12.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15952
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUmemcpy3DOperand_st *>calloc(1, sizeof(cydriver.CUmemcpy3DOperand_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15952, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 15952, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15952, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15952, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUmemcpy3DOperand_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":15953
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUmemcpy3DOperand_st *>calloc(1, sizeof(cydriver.CUmemcpy3DOperand_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15954
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUmemcpy3DOperand_st *>calloc(1, sizeof(cydriver.CUmemcpy3DOperand_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUmemcpy3DOperand_st *)calloc(1, (sizeof(struct CUmemcpy3DOperand_st))));

    /* "cuda/bindings/driver.pyx":15955
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUmemcpy3DOperand_st *>calloc(1, sizeof(cydriver.CUmemcpy3DOperand_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":15953
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUmemcpy3DOperand_st *>calloc(1, sizeof(cydriver.CUmemcpy3DOperand_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15957
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemcpy3DOperand_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15952
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUmemcpy3DOperand_st *>calloc(1, sizeof(cydriver.CUmemcpy3DOperand_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15958
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._op = anon_union12(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 15958, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15958, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 15958, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 15958, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15958, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 15958, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15960
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._op = anon_union12(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union12);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union12); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15960, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15960, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_op);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_op);
  __pyx_v_self->_op = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":15958
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemcpy3DOperand_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._op = anon_union12(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15961
 *         pass
 *         self._op = anon_union12(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":15962
 *         self._op = anon_union12(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15963
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":15962
 *         self._op = anon_union12(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":15961
 *         pass
 *         self._op = anon_union12(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":15964
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_6getPtr, "CUmemcpy3DOperand_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":15965
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15964
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15966
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr200__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":15967
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":15968
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15969
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15970
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15970, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15970, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15970, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15970, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 15970, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15970, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":15969
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":15971
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 15971, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15972
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['op :\n' + '\n'.join(['    ' + line for line in str(self.op).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15972, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 15972, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15972, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":15969
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15973
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['op :\n' + '\n'.join(['    ' + line for line in str(self.op).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":15974
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['op :\n' + '\n'.join(['    ' + line for line in str(self.op).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['op : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15974, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_op_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15974, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15974, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15974, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 15974, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15974, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr200__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr200__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15974, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15974, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr200__pyx_v_line); __pyx_10genexpr200__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr200__pyx_v_line); __pyx_10genexpr200__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15974, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_op, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15974, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15974, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 15974, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15974, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":15973
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['op :\n' + '\n'.join(['    ' + line for line in str(self.op).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":15975
 *             try:
 *                 str_list += ['op :\n' + '\n'.join(['    ' + line for line in str(self.op).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['op : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 15975, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15976
 *                 str_list += ['op :\n' + '\n'.join(['    ' + line for line in str(self.op).splitlines()])]
 *             except ValueError:
 *                 str_list += ['op : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15976, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_op_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_op_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_op_ValueError) != (0)) __PYX_ERR(0, 15976, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15976, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":15973
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['op :\n' + '\n'.join(['    ' + line for line in str(self.op).splitlines()])]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":15977
 *             except ValueError:
 *                 str_list += ['op : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15967
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15979
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":15966
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr200__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15980
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemcpy3DOperandType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15982
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemcpy3DOperandType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemcpy3DOperandType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemcpy3DOperandType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpy3DOperandType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 15982, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":15983
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemcpy3DOperandType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemcpy3DOperandType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15982
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemcpy3DOperandType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemcpy3DOperandType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":15984
 *         if self._pvt_ptr[0].type not in _dict_CUmemcpy3DOperandType:
 *             return None
 *         return _dict_CUmemcpy3DOperandType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUmemcpy3DOperandType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpy3DOperandType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemcpy3DOperandType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15980
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUmemcpy3DOperandType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15985
 *             return None
 *         return _dict_CUmemcpy3DOperandType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemcpy3DOperandType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 15986, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemcpy3DOperandType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15987
 *     @type.setter
 *     def type(self, type not None : CUmemcpy3DOperandType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def op(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemcpy3DOperandType_enum)__Pyx_PyLong_As_enum__CUmemcpy3DOperandType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":15985
 *             return None
 *         return _dict_CUmemcpy3DOperandType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemcpy3DOperandType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15988
 *     def type(self, type not None : CUmemcpy3DOperandType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def op(self):
 *         return self._op
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":15990
 *     @property
 *     def op(self):
 *         return self._op             # <<<<<<<<<<<<<<
 *     @op.setter
 *     def op(self, op not None : anon_union12):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_op);
  __pyx_r = ((PyObject *)__pyx_v_self->_op);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15988
 *     def type(self, type not None : CUmemcpy3DOperandType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def op(self):
 *         return self._op
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15991
 *     def op(self):
 *         return self._op
 *     @op.setter             # <<<<<<<<<<<<<<
 *     def op(self, op not None : anon_union12):
 *         string.memcpy(&self._pvt_ptr[0].op, <cydriver.anon_union12*><void_ptr>op.getPtr(), sizeof(self._pvt_ptr[0].op))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_op); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_op) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union12, 0, "op", 0))) __PYX_ERR(0, 15992, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)__pyx_v_op));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *__pyx_v_op) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15993
 *     @op.setter
 *     def op(self, op not None : anon_union12):
 *         string.memcpy(&self._pvt_ptr[0].op, <cydriver.anon_union12*><void_ptr>op.getPtr(), sizeof(self._pvt_ptr[0].op))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY3D_BATCH_OP_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_op);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15993, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).op), ((union anon_union12 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).op))));

  /* "cuda/bindings/driver.pyx":15991
 *     def op(self):
 *         return self._op
 *     @op.setter             # <<<<<<<<<<<<<<
 *     def op(self, op not None : anon_union12):
 *         string.memcpy(&self._pvt_ptr[0].op, <cydriver.anon_union12*><void_ptr>op.getPtr(), sizeof(self._pvt_ptr[0].op))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.op.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_10__reduce_cython__, "CUmemcpy3DOperand_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_12__setstate_cython__, "CUmemcpy3DOperand_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemcpy3DOperand_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16016
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16016, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16016, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16016, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16016, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16016, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16016, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16017
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16018
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_BATCH_OP_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16017
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16020
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_BATCH_OP_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16016
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16021
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_BATCH_OP_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._src = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].src)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16021, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16021, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16021, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16021, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16021, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16021, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16023
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._src = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].src)             # <<<<<<<<<<<<<<
 *         self._dst = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
 *         self._extent = CUextent3D(_ptr=<void_ptr>&self._pvt_ptr[0].extent)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).src))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16023, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16023, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_src);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_src);
  __pyx_v_self->_src = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16024
 *         pass
 *         self._src = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].src)
 *         self._dst = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].dst)             # <<<<<<<<<<<<<<
 *         self._extent = CUextent3D(_ptr=<void_ptr>&self._pvt_ptr[0].extent)
 *     def __dealloc__(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dst))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16024, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16024, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dst);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dst);
  __pyx_v_self->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16025
 *         self._src = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].src)
 *         self._dst = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
 *         self._extent = CUextent3D(_ptr=<void_ptr>&self._pvt_ptr[0].extent)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).extent))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16025, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16025, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_extent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_extent);
  __pyx_v_self->_extent = ((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16021
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEMCPY3D_BATCH_OP_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._src = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].src)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16026
 *         self._dst = CUmemcpy3DOperand(_ptr=<void_ptr>&self._pvt_ptr[0].dst)
 *         self._extent = CUextent3D(_ptr=<void_ptr>&self._pvt_ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16028
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6getPtr, "CUDA_MEMCPY3D_BATCH_OP_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16029
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16028
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16030
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr201__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr202__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr203__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16031
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16032
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['src :\n' + '\n'.join(['    ' + line for line in str(self.src).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16033
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['src :\n' + '\n'.join(['    ' + line for line in str(self.src).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16034
 *             str_list = []
 *             try:
 *                 str_list += ['src :\n' + '\n'.join(['    ' + line for line in str(self.src).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16034, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_src_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16034, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16034, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16034, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16034, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16034, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr201__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr201__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16034, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16034, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr201__pyx_v_line); __pyx_10genexpr201__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr201__pyx_v_line); __pyx_10genexpr201__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16034, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_src, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16034, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16034, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16034, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16034, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16033
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['src :\n' + '\n'.join(['    ' + line for line in str(self.src).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16035
 *             try:
 *                 str_list += ['src :\n' + '\n'.join(['    ' + line for line in str(self.src).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['src : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 16035, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16036
 *                 str_list += ['src :\n' + '\n'.join(['    ' + line for line in str(self.src).splitlines()])]
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dst :\n' + '\n'.join(['    ' + line for line in str(self.dst).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16036, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_src_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_src_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_src_ValueError) != (0)) __PYX_ERR(0, 16036, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16036, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16033
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['src :\n' + '\n'.join(['    ' + line for line in str(self.src).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16037
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst :\n' + '\n'.join(['    ' + line for line in str(self.dst).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16038
 *                 str_list += ['src : <ValueError>']
 *             try:
 *                 str_list += ['dst :\n' + '\n'.join(['    ' + line for line in str(self.dst).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16038, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dst_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16038, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16038, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16038, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16038, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16038, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr202__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr202__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16038, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 16038, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr202__pyx_v_line); __pyx_10genexpr202__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr202__pyx_v_line); __pyx_10genexpr202__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16038, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dst_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16038, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16038, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16038, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16038, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16037
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst :\n' + '\n'.join(['    ' + line for line in str(self.dst).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16039
 *             try:
 *                 str_list += ['dst :\n' + '\n'.join(['    ' + line for line in str(self.dst).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 16039, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":16040
 *                 str_list += ['dst :\n' + '\n'.join(['    ' + line for line in str(self.dst).splitlines()])]
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16040, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dst_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dst_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_dst_ValueError) != (0)) __PYX_ERR(0, 16040, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16040, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":16037
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst :\n' + '\n'.join(['    ' + line for line in str(self.dst).splitlines()])]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16041
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16042
 *                 str_list += ['dst : <ValueError>']
 *             try:
 *                 str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extent : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16042, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extent_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16042, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16042, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16042, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16042, __pyx_L42_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16042, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr203__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr203__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16042, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 16042, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr203__pyx_v_line); __pyx_10genexpr203__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_10genexpr203__pyx_v_line); __pyx_10genexpr203__pyx_v_line = 0;
          goto __pyx_L34_error;
          __pyx_L46_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16042, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extent, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16042, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16042, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 16042, __pyx_L34_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16042, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":16041
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L39_try_end;
      __pyx_L34_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16043
 *             try:
 *                 str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extent : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 16043, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16044
 *                 str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             except ValueError:
 *                 str_list += ['extent : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16044, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extent_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extent_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_extent_ValueError) != (0)) __PYX_ERR(0, 16044, __pyx_L36_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16044, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L35_exception_handled;
      }
      goto __pyx_L36_except_error;

      /* "cuda/bindings/driver.pyx":16041
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             except ValueError:
*/
      __pyx_L36_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L35_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L39_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16045
 *             except ValueError:
 *                 str_list += ['extent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16046
 *                 str_list += ['extent : <ValueError>']
 *             try:
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcAccessOrder_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16046, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16046, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcAccessOrder, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16046, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16046, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16046, __pyx_L49_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16046, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16045
 *             except ValueError:
 *                 str_list += ['extent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L54_try_end;
      __pyx_L49_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16047
 *             try:
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 16047, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":16048
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16048, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcAccessOrder_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcAccessOrder_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_srcAccessOrder_ValueError) != (0)) __PYX_ERR(0, 16048, __pyx_L51_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16048, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L50_exception_handled;
      }
      goto __pyx_L51_except_error;

      /* "cuda/bindings/driver.pyx":16045
 *             except ValueError:
 *                 str_list += ['extent : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:
*/
      __pyx_L51_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L50_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L54_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16049
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16050
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
*/
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_flags_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16050, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16050, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16050, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16050, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 16050, __pyx_L57_error);
        __pyx_t_7 = 0;
        __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16050, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_7));
        __pyx_t_7 = 0;

        /* "cuda/bindings/driver.pyx":16049
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L62_try_end;
      __pyx_L57_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16051
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 16051, __pyx_L59_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16052
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16052, __pyx_L59_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_flags_ValueError) != (0)) __PYX_ERR(0, 16052, __pyx_L59_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16052, __pyx_L59_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L58_exception_handled;
      }
      goto __pyx_L59_except_error;

      /* "cuda/bindings/driver.pyx":16049
 *             except ValueError:
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
*/
      __pyx_L59_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L58_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L62_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16053
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16031
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16055
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def src(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16030
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr201__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr202__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr203__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16056
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def src(self):
 *         return self._src
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16058
 *     @property
 *     def src(self):
 *         return self._src             # <<<<<<<<<<<<<<
 *     @src.setter
 *     def src(self, src not None : CUmemcpy3DOperand):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_src);
  __pyx_r = ((PyObject *)__pyx_v_self->_src);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16056
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def src(self):
 *         return self._src
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16059
 *     def src(self):
 *         return self._src
 *     @src.setter             # <<<<<<<<<<<<<<
 *     def src(self, src not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].src, <cydriver.CUmemcpy3DOperand*><void_ptr>src.getPtr(), sizeof(self._pvt_ptr[0].src))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_src); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_src) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand, 0, "src", 0))) __PYX_ERR(0, 16060, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *)__pyx_v_src));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *__pyx_v_src) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16061
 *     @src.setter
 *     def src(self, src not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].src, <cydriver.CUmemcpy3DOperand*><void_ptr>src.getPtr(), sizeof(self._pvt_ptr[0].src))             # <<<<<<<<<<<<<<
 *     @property
 *     def dst(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_src);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).src), ((CUmemcpy3DOperand *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).src))));

  /* "cuda/bindings/driver.pyx":16059
 *     def src(self):
 *         return self._src
 *     @src.setter             # <<<<<<<<<<<<<<
 *     def src(self, src not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].src, <cydriver.CUmemcpy3DOperand*><void_ptr>src.getPtr(), sizeof(self._pvt_ptr[0].src))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.src.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16062
 *     def src(self, src not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].src, <cydriver.CUmemcpy3DOperand*><void_ptr>src.getPtr(), sizeof(self._pvt_ptr[0].src))
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16064
 *     @property
 *     def dst(self):
 *         return self._dst             # <<<<<<<<<<<<<<
 *     @dst.setter
 *     def dst(self, dst not None : CUmemcpy3DOperand):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dst);
  __pyx_r = ((PyObject *)__pyx_v_self->_dst);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16062
 *     def src(self, src not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].src, <cydriver.CUmemcpy3DOperand*><void_ptr>src.getPtr(), sizeof(self._pvt_ptr[0].src))
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16065
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].dst, <cydriver.CUmemcpy3DOperand*><void_ptr>dst.getPtr(), sizeof(self._pvt_ptr[0].dst))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand, 0, "dst", 0))) __PYX_ERR(0, 16066, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *)__pyx_v_dst));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *__pyx_v_dst) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16067
 *     @dst.setter
 *     def dst(self, dst not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].dst, <cydriver.CUmemcpy3DOperand*><void_ptr>dst.getPtr(), sizeof(self._pvt_ptr[0].dst))             # <<<<<<<<<<<<<<
 *     @property
 *     def extent(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_dst);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).dst), ((CUmemcpy3DOperand *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).dst))));

  /* "cuda/bindings/driver.pyx":16065
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].dst, <cydriver.CUmemcpy3DOperand*><void_ptr>dst.getPtr(), sizeof(self._pvt_ptr[0].dst))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.dst.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16068
 *     def dst(self, dst not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].dst, <cydriver.CUmemcpy3DOperand*><void_ptr>dst.getPtr(), sizeof(self._pvt_ptr[0].dst))
 *     @property             # <<<<<<<<<<<<<<
 *     def extent(self):
 *         return self._extent
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16070
 *     @property
 *     def extent(self):
 *         return self._extent             # <<<<<<<<<<<<<<
 *     @extent.setter
 *     def extent(self, extent not None : CUextent3D):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_extent);
  __pyx_r = ((PyObject *)__pyx_v_self->_extent);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16068
 *     def dst(self, dst not None : CUmemcpy3DOperand):
 *         string.memcpy(&self._pvt_ptr[0].dst, <cydriver.CUmemcpy3DOperand*><void_ptr>dst.getPtr(), sizeof(self._pvt_ptr[0].dst))
 *     @property             # <<<<<<<<<<<<<<
 *     def extent(self):
 *         return self._extent
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16071
 *     def extent(self):
 *         return self._extent
 *     @extent.setter             # <<<<<<<<<<<<<<
 *     def extent(self, extent not None : CUextent3D):
 *         string.memcpy(&self._pvt_ptr[0].extent, <cydriver.CUextent3D*><void_ptr>extent.getPtr(), sizeof(self._pvt_ptr[0].extent))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extent); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extent) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D, 0, "extent", 0))) __PYX_ERR(0, 16072, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D *)__pyx_v_extent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D *__pyx_v_extent) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16073
 *     @extent.setter
 *     def extent(self, extent not None : CUextent3D):
 *         string.memcpy(&self._pvt_ptr[0].extent, <cydriver.CUextent3D*><void_ptr>extent.getPtr(), sizeof(self._pvt_ptr[0].extent))             # <<<<<<<<<<<<<<
 *     @property
 *     def srcAccessOrder(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_extent);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16073, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).extent), ((CUextent3D *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).extent))));

  /* "cuda/bindings/driver.pyx":16071
 *     def extent(self):
 *         return self._extent
 *     @extent.setter             # <<<<<<<<<<<<<<
 *     def extent(self, extent not None : CUextent3D):
 *         string.memcpy(&self._pvt_ptr[0].extent, <cydriver.CUextent3D*><void_ptr>extent.getPtr(), sizeof(self._pvt_ptr[0].extent))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.extent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16074
 *     def extent(self, extent not None : CUextent3D):
 *         string.memcpy(&self._pvt_ptr[0].extent, <cydriver.CUextent3D*><void_ptr>extent.getPtr(), sizeof(self._pvt_ptr[0].extent))
 *     @property             # <<<<<<<<<<<<<<
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16076
 *     @property
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum((__pyx_v_self->_pvt_ptr[0]).srcAccessOrder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpySrcAccessOrder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 16076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":16077
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
 *     @srcAccessOrder.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16076
 *     @property
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
*/
  }

  /* "cuda/bindings/driver.pyx":16078
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]             # <<<<<<<<<<<<<<
 *     @srcAccessOrder.setter
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpySrcAccessOrder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum((__pyx_v_self->_pvt_ptr[0]).srcAccessOrder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16074
 *     def extent(self, extent not None : CUextent3D):
 *         string.memcpy(&self._pvt_ptr[0].extent, <cydriver.CUextent3D*><void_ptr>extent.getPtr(), sizeof(self._pvt_ptr[0].extent))
 *     @property             # <<<<<<<<<<<<<<
 *     def srcAccessOrder(self):
 *         if self._pvt_ptr[0].srcAccessOrder not in _dict_CUmemcpySrcAccessOrder:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.srcAccessOrder.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16079
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
 *     @srcAccessOrder.setter             # <<<<<<<<<<<<<<
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcAccessOrder); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcAccessOrder) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_srcAccessOrder) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "srcAccessOrder"); __PYX_ERR(0, 16080, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcAccessOrder));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, PyObject *__pyx_v_srcAccessOrder) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemcpySrcAccessOrder __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16081
 *     @srcAccessOrder.setter
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcAccessOrder, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemcpySrcAccessOrder_enum)__Pyx_PyLong_As_enum__CUmemcpySrcAccessOrder_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).srcAccessOrder = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":16079
 *             return None
 *         return _dict_CUmemcpySrcAccessOrder[self._pvt_ptr[0].srcAccessOrder]
 *     @srcAccessOrder.setter             # <<<<<<<<<<<<<<
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.srcAccessOrder.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16082
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16084
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16082
 *     def srcAccessOrder(self, srcAccessOrder not None : CUmemcpySrcAccessOrder):
 *         self._pvt_ptr[0].srcAccessOrder = srcAccessOrder.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16085
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16086, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":16087
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":16085
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_10__reduce_cython__, "CUDA_MEMCPY3D_BATCH_OP_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_12__setstate_cython__, "CUDA_MEMCPY3D_BATCH_OP_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16115
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16115, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16115, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16115, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16115, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16115, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16115, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16116
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16117
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16116
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16119
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16115
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16120
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16120, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16120, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16120, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16120, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16120, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16120, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16122
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)             # <<<<<<<<<<<<<<
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).poolProps))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16122, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16122, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_poolProps);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_poolProps);
  __pyx_v_self->_poolProps = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16123
 *         pass
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dptr))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16123, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16123, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dptr);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dptr);
  __pyx_v_self->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16120
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16124
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._accessDescs is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16126
 *     def __dealloc__(self):
 *         pass
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_accessDescs != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16127
 *         pass
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_accessDescs);

    /* "cuda/bindings/driver.pyx":16126
 *     def __dealloc__(self):
 *         pass
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":16124
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._accessDescs is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16128
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr, "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16129
 *             free(self._accessDescs)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16128
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16130
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr204__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16131
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16132
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16133
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16134
 *             str_list = []
 *             try:
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16134, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_poolProps_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16134, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16134, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16134, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16134, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16134, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr204__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr204__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16134, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16134, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr204__pyx_v_line); __pyx_10genexpr204__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr204__pyx_v_line); __pyx_10genexpr204__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16134, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_poolProps, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16134, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16134, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16134, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16134, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16133
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16135
 *             try:
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 16135, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16136
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16136, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_poolProps_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_poolProps_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_poolProps_ValueError) != (0)) __PYX_ERR(0, 16136, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16136, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16133
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16137
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16138
 *                 str_list += ['poolProps : <ValueError>']
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_accessDescs_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16138, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16138, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_accessDescs, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16138, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16138, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16138, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16138, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16137
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16139
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 16139, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16140
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16140, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_accessDescs_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_accessDescs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_accessDescs_ValueError) != (0)) __PYX_ERR(0, 16140, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16140, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":16137
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16141
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16142
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_accessDescCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16142, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16142, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_accessDescCount, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16142, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16142, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16142, __pyx_L27_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16142, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16141
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16143
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 16143, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16144
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16144, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_accessDescCount_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_accessDescCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_accessDescCount_ValueError) != (0)) __PYX_ERR(0, 16144, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16144, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":16141
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16145
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16146
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_bytesize_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16146, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16146, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_bytesize, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16146, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16146, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16146, __pyx_L35_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16146, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16145
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16147
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 16147, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16148
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16148, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_bytesize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_bytesize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_bytesize_ValueError) != (0)) __PYX_ERR(0, 16148, __pyx_L37_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16148, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":16145
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16149
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16150
 *                 str_list += ['bytesize : <ValueError>']
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16150, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16150, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dptr, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16150, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16150, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16150, __pyx_L43_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16150, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16149
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16151
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 16151, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16152
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16152, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dptr_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_dptr_ValueError) != (0)) __PYX_ERR(0, 16152, __pyx_L45_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16152, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":16149
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16153
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16131
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16155
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def poolProps(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16130
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr204__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16156
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def poolProps(self):
 *         return self._poolProps
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16158
 *     @property
 *     def poolProps(self):
 *         return self._poolProps             # <<<<<<<<<<<<<<
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_poolProps);
  __pyx_r = ((PyObject *)__pyx_v_self->_poolProps);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16156
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def poolProps(self):
 *         return self._poolProps
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16159
 *     def poolProps(self):
 *         return self._poolProps
 *     @poolProps.setter             # <<<<<<<<<<<<<<
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_poolProps); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_poolProps) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_poolProps), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps, 0, "poolProps", 0))) __PYX_ERR(0, 16160, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)__pyx_v_poolProps));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *__pyx_v_poolProps) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16161
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))             # <<<<<<<<<<<<<<
 *     @property
 *     def accessDescs(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_poolProps);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).poolProps), ((CUmemPoolProps *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).poolProps))));

  /* "cuda/bindings/driver.pyx":16159
 *     def poolProps(self):
 *         return self._poolProps
 *     @poolProps.setter             # <<<<<<<<<<<<<<
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.poolProps.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16162
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr205__pyx_v_x;
  PyObject *__pyx_10genexpr206__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16164
 *     @property
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]             # <<<<<<<<<<<<<<
 *         return [CUmemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_accessDescs_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr205__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).accessDescs) + (__pyx_10genexpr205__pyx_v_x * (sizeof(CUmemAccessDesc))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16164, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 16164, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16165
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [CUmemAccessDesc(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @accessDescs.setter
 *     def accessDescs(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16165, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16165, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16165, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr206__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16165, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr206__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16165, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16165, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 16165, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr206__pyx_v_arr); __pyx_10genexpr206__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr206__pyx_v_arr); __pyx_10genexpr206__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16162
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.accessDescs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr206__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16166
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [CUmemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter             # <<<<<<<<<<<<<<
 *     def accessDescs(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUmemAccessDesc *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16168
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16168, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":16169
 *     def accessDescs(self, val):
 *         if len(val) == 0:
 *             free(self._accessDescs)             # <<<<<<<<<<<<<<
 *             self._accessDescs_length = 0
 *             self._pvt_ptr[0].accessDescs = NULL
*/
    free(__pyx_v_self->_accessDescs);

    /* "cuda/bindings/driver.pyx":16170
 *         if len(val) == 0:
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].accessDescs = NULL
 *         else:
*/
    __pyx_v_self->_accessDescs_length = 0;

    /* "cuda/bindings/driver.pyx":16171
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 *             self._pvt_ptr[0].accessDescs = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).accessDescs = NULL;

    /* "cuda/bindings/driver.pyx":16168
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16173
 *             self._pvt_ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16173, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_accessDescs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":16174
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)             # <<<<<<<<<<<<<<
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:
*/
      free(__pyx_v_self->_accessDescs);

      /* "cuda/bindings/driver.pyx":16175
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16175, __pyx_L1_error)
      __pyx_v_self->_accessDescs = ((CUmemAccessDesc *)calloc(__pyx_t_1, (sizeof(CUmemAccessDesc))));

      /* "cuda/bindings/driver.pyx":16176
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_accessDescs == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":16177
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))             # <<<<<<<<<<<<<<
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16177, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16177, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 16177, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":16176
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":16178
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16178, __pyx_L1_error)
      __pyx_v_self->_accessDescs_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":16179
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
*/
      __pyx_t_10 = __pyx_v_self->_accessDescs;
      (__pyx_v_self->_pvt_ptr[0]).accessDescs = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":16173
 *             self._pvt_ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
*/
    }

    /* "cuda/bindings/driver.pyx":16180
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16180, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":16181
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_accessDescs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUmemAccessDesc))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16166
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [CUmemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter             # <<<<<<<<<<<<<<
 *     def accessDescs(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.accessDescs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16183
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16185
 *     @property
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount             # <<<<<<<<<<<<<<
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).accessDescCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16183
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.accessDescCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16186
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount
 *     @accessDescCount.setter             # <<<<<<<<<<<<<<
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessDescCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessDescCount) {
  size_t __pyx_v_accessDescCount;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_accessDescCount); {
    __pyx_v_accessDescCount = __Pyx_PyLong_As_size_t(__pyx_arg_accessDescCount); if (unlikely((__pyx_v_accessDescCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16187, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.accessDescCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), ((size_t)__pyx_v_accessDescCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, size_t __pyx_v_accessDescCount) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":16188
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount             # <<<<<<<<<<<<<<
 *     @property
 *     def bytesize(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).accessDescCount = __pyx_v_accessDescCount;

  /* "cuda/bindings/driver.pyx":16186
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount
 *     @accessDescCount.setter             # <<<<<<<<<<<<<<
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16189
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16191
 *     @property
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize             # <<<<<<<<<<<<<<
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).bytesize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16189
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.bytesize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16192
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize
 *     @bytesize.setter             # <<<<<<<<<<<<<<
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesize) {
  size_t __pyx_v_bytesize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_bytesize); {
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(__pyx_arg_bytesize); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16193, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.bytesize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), ((size_t)__pyx_v_bytesize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, size_t __pyx_v_bytesize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":16194
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize             # <<<<<<<<<<<<<<
 *     @property
 *     def dptr(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).bytesize = __pyx_v_bytesize;

  /* "cuda/bindings/driver.pyx":16192
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize
 *     @bytesize.setter             # <<<<<<<<<<<<<<
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16195
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16197
 *     @property
 *     def dptr(self):
 *         return self._dptr             # <<<<<<<<<<<<<<
 *     @dptr.setter
 *     def dptr(self, dptr):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dptr);
  __pyx_r = ((PyObject *)__pyx_v_self->_dptr);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16195
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16198
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), ((PyObject *)__pyx_v_dptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16201
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16202
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
*/
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":16201
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16203
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16204
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16205
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16205, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16203
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16207
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._pvt_ptr[0] = cydptr
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16207, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":16208
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         self._dptr._pvt_ptr[0] = cydptr
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16208, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16209
 *             pdptr = int(CUdeviceptr(dptr))
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._pvt_ptr[0] = cydptr             # <<<<<<<<<<<<<<
 * 
 * 
*/
  (__pyx_v_self->_dptr->_pvt_ptr[0]) = __pyx_v_cydptr;

  /* "cuda/bindings/driver.pyx":16198
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.dptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__, "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__, "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16238
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16238, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16238, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16238, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16238, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16238, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16238, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16239
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16240
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16239
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16242
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16238
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16243
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16243, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16243, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16243, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16243, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16245
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)             # <<<<<<<<<<<<<<
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).poolProps))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16245, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16245, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_poolProps);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_poolProps);
  __pyx_v_self->_poolProps = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16246
 *         pass
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dptr))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16246, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16246, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dptr);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dptr);
  __pyx_v_self->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16243
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16247
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._accessDescs is not NULL:
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16249
 *     def __dealloc__(self):
 *         pass
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_accessDescs != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16250
 *         pass
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_accessDescs);

    /* "cuda/bindings/driver.pyx":16249
 *     def __dealloc__(self):
 *         pass
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":16247
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._pvt_ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._accessDescs is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16251
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr, "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16252
 *             free(self._accessDescs)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16251
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16253
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr207__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16254
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16255
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16256
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16257
 *             str_list = []
 *             try:
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16257, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_poolProps_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16257, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16257, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16257, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16257, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16257, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr207__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr207__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16257, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16257, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr207__pyx_v_line); __pyx_10genexpr207__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr207__pyx_v_line); __pyx_10genexpr207__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16257, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_poolProps, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16257, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16257, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16257, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16257, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16256
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16258
 *             try:
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 16258, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16259
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16259, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_poolProps_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_poolProps_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_poolProps_ValueError) != (0)) __PYX_ERR(0, 16259, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16259, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16256
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16260
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16261
 *                 str_list += ['poolProps : <ValueError>']
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_accessDescs_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16261, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16261, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_accessDescs, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16261, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16261, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16261, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16261, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16260
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16262
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 16262, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16263
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16263, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_accessDescs_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_accessDescs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_accessDescs_ValueError) != (0)) __PYX_ERR(0, 16263, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16263, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":16260
 *             except ValueError:
 *                 str_list += ['poolProps : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16264
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16265
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_accessDescCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16265, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16265, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_accessDescCount, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16265, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16265, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16265, __pyx_L27_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16265, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16264
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16266
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 16266, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16267
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16267, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_accessDescCount_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_accessDescCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_accessDescCount_ValueError) != (0)) __PYX_ERR(0, 16267, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16267, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":16264
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16268
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16269
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_bytesize_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16269, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16269, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_bytesize, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16269, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16269, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16269, __pyx_L35_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16269, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16268
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16270
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 16270, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16271
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16271, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_bytesize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_bytesize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_bytesize_ValueError) != (0)) __PYX_ERR(0, 16271, __pyx_L37_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16271, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":16268
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16272
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16273
 *                 str_list += ['bytesize : <ValueError>']
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16273, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16273, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dptr, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16273, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16273, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16273, __pyx_L43_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16273, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16272
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":16274
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 16274, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16275
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16275, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dptr_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_dptr_ValueError) != (0)) __PYX_ERR(0, 16275, __pyx_L45_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16275, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":16272
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16276
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16254
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16278
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def poolProps(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16253
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr207__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16279
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def poolProps(self):
 *         return self._poolProps
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16281
 *     @property
 *     def poolProps(self):
 *         return self._poolProps             # <<<<<<<<<<<<<<
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_poolProps);
  __pyx_r = ((PyObject *)__pyx_v_self->_poolProps);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16279
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def poolProps(self):
 *         return self._poolProps
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16282
 *     def poolProps(self):
 *         return self._poolProps
 *     @poolProps.setter             # <<<<<<<<<<<<<<
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_poolProps); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_poolProps) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_poolProps), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps, 0, "poolProps", 0))) __PYX_ERR(0, 16283, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)__pyx_v_poolProps));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *__pyx_v_poolProps) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16284
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))             # <<<<<<<<<<<<<<
 *     @property
 *     def accessDescs(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_poolProps);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).poolProps), ((CUmemPoolProps *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).poolProps))));

  /* "cuda/bindings/driver.pyx":16282
 *     def poolProps(self):
 *         return self._poolProps
 *     @poolProps.setter             # <<<<<<<<<<<<<<
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.poolProps.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16285
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr208__pyx_v_x;
  PyObject *__pyx_10genexpr209__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16287
 *     @property
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]             # <<<<<<<<<<<<<<
 *         return [CUmemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_accessDescs_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr208__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).accessDescs) + (__pyx_10genexpr208__pyx_v_x * (sizeof(CUmemAccessDesc))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 16287, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_arrs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16288
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [CUmemAccessDesc(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @accessDescs.setter
 *     def accessDescs(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16288, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16288, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_6);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16288, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr209__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc);
      __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc); 
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16288, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr209__pyx_v_arr, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16288, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16288, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 16288, __pyx_L7_error)
      __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr209__pyx_v_arr); __pyx_10genexpr209__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr209__pyx_v_arr); __pyx_10genexpr209__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16285
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._pvt_ptr[0].poolProps, <cydriver.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._pvt_ptr[0].poolProps))
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.accessDescs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr209__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16289
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [CUmemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter             # <<<<<<<<<<<<<<
 *     def accessDescs(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  CUmemAccessDesc *__pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16291
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16291, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":16292
 *     def accessDescs(self, val):
 *         if len(val) == 0:
 *             free(self._accessDescs)             # <<<<<<<<<<<<<<
 *             self._accessDescs_length = 0
 *             self._pvt_ptr[0].accessDescs = NULL
*/
    free(__pyx_v_self->_accessDescs);

    /* "cuda/bindings/driver.pyx":16293
 *         if len(val) == 0:
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].accessDescs = NULL
 *         else:
*/
    __pyx_v_self->_accessDescs_length = 0;

    /* "cuda/bindings/driver.pyx":16294
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 *             self._pvt_ptr[0].accessDescs = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).accessDescs = NULL;

    /* "cuda/bindings/driver.pyx":16291
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16296
 *             self._pvt_ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16296, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_accessDescs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":16297
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)             # <<<<<<<<<<<<<<
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:
*/
      free(__pyx_v_self->_accessDescs);

      /* "cuda/bindings/driver.pyx":16298
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16298, __pyx_L1_error)
      __pyx_v_self->_accessDescs = ((CUmemAccessDesc *)calloc(__pyx_t_1, (sizeof(CUmemAccessDesc))));

      /* "cuda/bindings/driver.pyx":16299
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_accessDescs == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":16300
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))             # <<<<<<<<<<<<<<
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs
*/
        __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_builtin_MemoryError);
        __pyx_t_5 = __pyx_builtin_MemoryError; 
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16300, __pyx_L1_error)
        __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16300, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16300, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16300, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16300, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16300, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16300, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16300, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16300, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 16300, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":16299
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":16301
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16301, __pyx_L1_error)
      __pyx_v_self->_accessDescs_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":16302
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
*/
      __pyx_t_10 = __pyx_v_self->_accessDescs;
      (__pyx_v_self->_pvt_ptr[0]).accessDescs = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":16296
 *             self._pvt_ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <cydriver.CUmemAccessDesc*> calloc(len(val), sizeof(cydriver.CUmemAccessDesc))
*/
    }

    /* "cuda/bindings/driver.pyx":16303
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16303, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_1;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":16304
 *                 self._pvt_ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16304, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_accessDescs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUmemAccessDesc))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16289
 *         arrs = [<void_ptr>self._pvt_ptr[0].accessDescs + x*sizeof(cydriver.CUmemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [CUmemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter             # <<<<<<<<<<<<<<
 *     def accessDescs(self, val):
 *         if len(val) == 0:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.accessDescs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16306
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16308
 *     @property
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount             # <<<<<<<<<<<<<<
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).accessDescCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16306
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.accessDescCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16309
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount
 *     @accessDescCount.setter             # <<<<<<<<<<<<<<
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessDescCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessDescCount) {
  size_t __pyx_v_accessDescCount;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_accessDescCount); {
    __pyx_v_accessDescCount = __Pyx_PyLong_As_size_t(__pyx_arg_accessDescCount); if (unlikely((__pyx_v_accessDescCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16310, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.accessDescCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), ((size_t)__pyx_v_accessDescCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_accessDescCount) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":16311
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount             # <<<<<<<<<<<<<<
 *     @property
 *     def bytesize(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).accessDescCount = __pyx_v_accessDescCount;

  /* "cuda/bindings/driver.pyx":16309
 *     def accessDescCount(self):
 *         return self._pvt_ptr[0].accessDescCount
 *     @accessDescCount.setter             # <<<<<<<<<<<<<<
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16312
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16314
 *     @property
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize             # <<<<<<<<<<<<<<
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).bytesize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16312
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._pvt_ptr[0].accessDescCount = accessDescCount
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.bytesize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16315
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize
 *     @bytesize.setter             # <<<<<<<<<<<<<<
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesize) {
  size_t __pyx_v_bytesize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_bytesize); {
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(__pyx_arg_bytesize); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16316, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.bytesize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), ((size_t)__pyx_v_bytesize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_bytesize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":16317
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize             # <<<<<<<<<<<<<<
 *     @property
 *     def dptr(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).bytesize = __pyx_v_bytesize;

  /* "cuda/bindings/driver.pyx":16315
 *     def bytesize(self):
 *         return self._pvt_ptr[0].bytesize
 *     @bytesize.setter             # <<<<<<<<<<<<<<
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16318
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16320
 *     @property
 *     def dptr(self):
 *         return self._dptr             # <<<<<<<<<<<<<<
 *     @dptr.setter
 *     def dptr(self, dptr):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dptr);
  __pyx_r = ((PyObject *)__pyx_v_self->_dptr);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16318
 *     def bytesize(self, size_t bytesize):
 *         self._pvt_ptr[0].bytesize = bytesize
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16321
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), ((PyObject *)__pyx_v_dptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16324
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16325
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
*/
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":16324
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16326
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16327
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16328
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16328, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16326
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16330
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._pvt_ptr[0] = cydptr
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16330, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":16331
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         self._dptr._pvt_ptr[0] = cydptr
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16331, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16332
 *             pdptr = int(CUdeviceptr(dptr))
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._pvt_ptr[0] = cydptr             # <<<<<<<<<<<<<<
 * 
 * 
*/
  (__pyx_v_self->_dptr->_pvt_ptr[0]) = __pyx_v_cydptr;

  /* "cuda/bindings/driver.pyx":16321
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.dptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__, "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16349
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16349, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16349, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16349, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16349, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16349, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16349, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16350
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16351
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16350
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16353
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16349
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16354
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16354, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16354, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16354, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16354, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16354, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16354, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16356
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).dptr))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16356, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16356, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dptr);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dptr);
  __pyx_v_self->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16354
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16357
 *         pass
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16359
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr, "CUDA_MEM_FREE_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16360
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16359
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16361
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16362
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16363
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16364
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16365
 *             str_list = []
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16365, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16365, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dptr, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16365, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16365, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16365, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16365, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16364
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16366
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16366, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16367
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16367, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dptr_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_dptr_ValueError) != (0)) __PYX_ERR(0, 16367, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16367, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16364
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16368
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16362
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16370
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def dptr(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16361
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16371
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16373
 *     @property
 *     def dptr(self):
 *         return self._dptr             # <<<<<<<<<<<<<<
 *     @dptr.setter
 *     def dptr(self, dptr):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_dptr);
  __pyx_r = ((PyObject *)__pyx_v_self->_dptr);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16371
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16374
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_dptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16377
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16378
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
*/
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":16377
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16379
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16380
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16381
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16381, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16379
 *         if dptr is None:
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16383
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._pvt_ptr[0] = cydptr
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16383, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":16384
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         self._dptr._pvt_ptr[0] = cydptr
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16384, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16385
 *             pdptr = int(CUdeviceptr(dptr))
 *             cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._pvt_ptr[0] = cydptr             # <<<<<<<<<<<<<<
 * 
 * 
*/
  (__pyx_v_self->_dptr->_pvt_ptr[0]) = __pyx_v_cydptr;

  /* "cuda/bindings/driver.pyx":16374
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef cydriver.CUdeviceptr cydptr
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.dptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__, "CUDA_MEM_FREE_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__, "CUDA_MEM_FREE_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16408
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16408, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16408, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16408, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16408, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16409
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16410
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16409
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16412
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16408
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16413
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._pvt_ptr[0].graph)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16413, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16413, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16413, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16413, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16413, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16413, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16415
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._pvt_ptr[0].graph)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16415, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16415, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_graph);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_graph);
  __pyx_v_self->_graph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16413
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._pvt_ptr[0].graph)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16416
 *         pass
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._pvt_ptr[0].graph)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16418
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr, "CUDA_CHILD_GRAPH_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16419
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16418
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16420
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16421
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16422
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['graph : ' + str(self.graph)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16423
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph : ' + str(self.graph)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16424
 *             str_list = []
 *             try:
 *                 str_list += ['graph : ' + str(self.graph)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_graph_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16424, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16424, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_graph, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16424, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16424, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16424, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16424, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16423
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph : ' + str(self.graph)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16425
 *             try:
 *                 str_list += ['graph : ' + str(self.graph)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16425, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16426
 *                 str_list += ['graph : ' + str(self.graph)]
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['ownership : ' + str(self.ownership)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16426, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_graph_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_graph_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_graph_ValueError) != (0)) __PYX_ERR(0, 16426, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16426, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16423
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph : ' + str(self.graph)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16427
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ownership : ' + str(self.ownership)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16428
 *                 str_list += ['graph : <ValueError>']
 *             try:
 *                 str_list += ['ownership : ' + str(self.ownership)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['ownership : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_ownership_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16428, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16428, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_ownership, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16428, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16428, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 16428, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16428, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":16427
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ownership : ' + str(self.ownership)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16429
 *             try:
 *                 str_list += ['ownership : ' + str(self.ownership)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ownership : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 16429, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16430
 *                 str_list += ['ownership : ' + str(self.ownership)]
 *             except ValueError:
 *                 str_list += ['ownership : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16430, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_ownership_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_ownership_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_ownership_ValueError) != (0)) __PYX_ERR(0, 16430, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16430, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":16427
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['ownership : ' + str(self.ownership)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16431
 *             except ValueError:
 *                 str_list += ['ownership : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16421
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16433
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def graph(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16420
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16434
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def graph(self):
 *         return self._graph
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16436
 *     @property
 *     def graph(self):
 *         return self._graph             # <<<<<<<<<<<<<<
 *     @graph.setter
 *     def graph(self, graph):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_graph);
  __pyx_r = ((PyObject *)__pyx_v_self->_graph);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16434
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def graph(self):
 *         return self._graph
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16437
 *     def graph(self):
 *         return self._graph
 *     @graph.setter             # <<<<<<<<<<<<<<
 *     def graph(self, graph):
 *         cdef cydriver.CUgraph cygraph
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_graph); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_graph) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_graph));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_graph) {
  CUgraph __pyx_v_cygraph;
  PyObject *__pyx_v_pgraph = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16440
 *     def graph(self, graph):
 *         cdef cydriver.CUgraph cygraph
 *         if graph is None:             # <<<<<<<<<<<<<<
 *             cygraph = <cydriver.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16441
 *         cdef cydriver.CUgraph cygraph
 *         if graph is None:
 *             cygraph = <cydriver.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(graph, (CUgraph,)):
 *             pgraph = int(graph)
*/
    __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":16440
 *     def graph(self, graph):
 *         cdef cydriver.CUgraph cygraph
 *         if graph is None:             # <<<<<<<<<<<<<<
 *             cygraph = <cydriver.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16442
 *         if graph is None:
 *             cygraph = <cydriver.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *             pgraph = int(graph)
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16443
 *             cygraph = <cydriver.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):
 *             pgraph = int(graph)             # <<<<<<<<<<<<<<
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16443, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pgraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16444
 *         elif isinstance(graph, (CUgraph,)):
 *             pgraph = int(graph)
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *         else:
 *             pgraph = int(CUgraph(graph))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16444, __pyx_L1_error)
    __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16442
 *         if graph is None:
 *             cygraph = <cydriver.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *             pgraph = int(graph)
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16446
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *         else:
 *             pgraph = int(CUgraph(graph))             # <<<<<<<<<<<<<<
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *         self._graph._pvt_ptr[0] = cygraph
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_graph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16446, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pgraph = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":16447
 *         else:
 *             pgraph = int(CUgraph(graph))
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *         self._graph._pvt_ptr[0] = cygraph
 *     @property
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16447, __pyx_L1_error)
    __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16448
 *             pgraph = int(CUgraph(graph))
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *         self._graph._pvt_ptr[0] = cygraph             # <<<<<<<<<<<<<<
 *     @property
 *     def ownership(self):
*/
  (__pyx_v_self->_graph->_pvt_ptr[0]) = __pyx_v_cygraph;

  /* "cuda/bindings/driver.pyx":16437
 *     def graph(self):
 *         return self._graph
 *     @graph.setter             # <<<<<<<<<<<<<<
 *     def graph(self, graph):
 *         cdef cydriver.CUgraph cygraph
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.graph.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16449
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *         self._graph._pvt_ptr[0] = cygraph
 *     @property             # <<<<<<<<<<<<<<
 *     def ownership(self):
 *         if self._pvt_ptr[0].ownership not in _dict_CUgraphChildGraphNodeOwnership:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16451
 *     @property
 *     def ownership(self):
 *         if self._pvt_ptr[0].ownership not in _dict_CUgraphChildGraphNodeOwnership:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphChildGraphNodeOwnership[self._pvt_ptr[0].ownership]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphChildGraphNodeOwnership_enum((__pyx_v_self->_pvt_ptr[0]).ownership); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphChildGraphNodeOwner); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 16451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":16452
 *     def ownership(self):
 *         if self._pvt_ptr[0].ownership not in _dict_CUgraphChildGraphNodeOwnership:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUgraphChildGraphNodeOwnership[self._pvt_ptr[0].ownership]
 *     @ownership.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16451
 *     @property
 *     def ownership(self):
 *         if self._pvt_ptr[0].ownership not in _dict_CUgraphChildGraphNodeOwnership:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphChildGraphNodeOwnership[self._pvt_ptr[0].ownership]
*/
  }

  /* "cuda/bindings/driver.pyx":16453
 *         if self._pvt_ptr[0].ownership not in _dict_CUgraphChildGraphNodeOwnership:
 *             return None
 *         return _dict_CUgraphChildGraphNodeOwnership[self._pvt_ptr[0].ownership]             # <<<<<<<<<<<<<<
 *     @ownership.setter
 *     def ownership(self, ownership not None : CUgraphChildGraphNodeOwnership):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphChildGraphNodeOwner); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphChildGraphNodeOwnership_enum((__pyx_v_self->_pvt_ptr[0]).ownership); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16449
 *             cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *         self._graph._pvt_ptr[0] = cygraph
 *     @property             # <<<<<<<<<<<<<<
 *     def ownership(self):
 *         if self._pvt_ptr[0].ownership not in _dict_CUgraphChildGraphNodeOwnership:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.ownership.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16454
 *             return None
 *         return _dict_CUgraphChildGraphNodeOwnership[self._pvt_ptr[0].ownership]
 *     @ownership.setter             # <<<<<<<<<<<<<<
 *     def ownership(self, ownership not None : CUgraphChildGraphNodeOwnership):
 *         self._pvt_ptr[0].ownership = ownership.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ownership); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ownership) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_ownership) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "ownership"); __PYX_ERR(0, 16455, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_ownership));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_ownership) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUgraphChildGraphNodeOwnership __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16456
 *     @ownership.setter
 *     def ownership(self, ownership not None : CUgraphChildGraphNodeOwnership):
 *         self._pvt_ptr[0].ownership = ownership.value             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EVENT_RECORD_NODE_PARAMS_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ownership, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphChildGraphNodeOwnership_enum)__Pyx_PyLong_As_enum__CUgraphChildGraphNodeOwnership_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).ownership = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":16454
 *             return None
 *         return _dict_CUgraphChildGraphNodeOwnership[self._pvt_ptr[0].ownership]
 *     @ownership.setter             # <<<<<<<<<<<<<<
 *     def ownership(self, ownership not None : CUgraphChildGraphNodeOwnership):
 *         self._pvt_ptr[0].ownership = ownership.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.ownership.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__, "CUDA_CHILD_GRAPH_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__, "CUDA_CHILD_GRAPH_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16472
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16472, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16472, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16472, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16472, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16472, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16472, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16473
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16474
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16473
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16476
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16472
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16477
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].event)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16477, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16477, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16477, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16477, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16477, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16477, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16479
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].event)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16479, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16479, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_event);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_event);
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16477
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].event)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16480
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].event)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16482
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr, "CUDA_EVENT_RECORD_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16483
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16482
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16484
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16485
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16486
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16487
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16488
 *             str_list = []
 *             try:
 *                 str_list += ['event : ' + str(self.event)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16488, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16488, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_event, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16488, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16488, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16488, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16488, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16487
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16489
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16489, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16490
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16490, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_event_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_event_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_event_ValueError) != (0)) __PYX_ERR(0, 16490, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16490, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16487
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16491
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16485
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16493
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def event(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16484
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16494
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16496
 *     @property
 *     def event(self):
 *         return self._event             # <<<<<<<<<<<<<<
 *     @event.setter
 *     def event(self, event):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_event);
  __pyx_r = ((PyObject *)__pyx_v_self->_event);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16494
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16497
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16500
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16501
 *         cdef cydriver.CUevent cyevent
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
*/
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":16500
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16502
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16503
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16504
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(CUevent(event))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16504, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16502
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16506
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         else:
 *             pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16506, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":16507
 *         else:
 *             pevent = int(CUevent(event))
 *             cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._pvt_ptr[0] = cyevent
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16507, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16508
 *             pevent = int(CUevent(event))
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EVENT_WAIT_NODE_PARAMS_st:
*/
  (__pyx_v_self->_event->_pvt_ptr[0]) = __pyx_v_cyevent;

  /* "cuda/bindings/driver.pyx":16497
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.event.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__, "CUDA_EVENT_RECORD_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__, "CUDA_EVENT_RECORD_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16524
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16524, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16524, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16524, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16524, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16524, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16524, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16525
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16526
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16525
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16528
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16524
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16529
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].event)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16529, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16529, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16529, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16529, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16529, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16529, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16531
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].event)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16531, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16531, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_event);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_event);
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16529
 *         else:
 *             self._pvt_ptr = <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].event)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16532
 *         pass
 *         self._event = CUevent(_ptr=<void_ptr>&self._pvt_ptr[0].event)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16534
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr, "CUDA_EVENT_WAIT_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16535
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16534
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16536
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16537
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16538
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16539
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16540
 *             str_list = []
 *             try:
 *                 str_list += ['event : ' + str(self.event)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_event, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16540, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16540, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16539
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16541
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16541, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16542
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16542, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_event_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_event_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_event_ValueError) != (0)) __PYX_ERR(0, 16542, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16542, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16539
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16543
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16537
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16545
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def event(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16536
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16546
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16548
 *     @property
 *     def event(self):
 *         return self._event             # <<<<<<<<<<<<<<
 *     @event.setter
 *     def event(self, event):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_event);
  __pyx_r = ((PyObject *)__pyx_v_self->_event);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16546
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16549
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16552
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16553
 *         cdef cydriver.CUevent cyevent
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
*/
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":16552
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16554
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16555
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16556
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(CUevent(event))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16556, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16554
 *         if event is None:
 *             cyevent = <cydriver.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16558
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         else:
 *             pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16558, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":16559
 *         else:
 *             pevent = int(CUevent(event))
 *             cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._pvt_ptr[0] = cyevent
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16559, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16560
 *             pevent = int(CUevent(event))
 *             cyevent = <cydriver.CUevent><void_ptr>pevent
 *         self._event._pvt_ptr[0] = cyevent             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphNodeParams_st:
*/
  (__pyx_v_self->_event->_pvt_ptr[0]) = __pyx_v_cyevent;

  /* "cuda/bindings/driver.pyx":16549
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef cydriver.CUevent cyevent
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.event.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__, "CUDA_EVENT_WAIT_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__, "CUDA_EVENT_WAIT_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16608
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUgraphNodeParams_st *>calloc(1, sizeof(cydriver.CUgraphNodeParams_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16608, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16608, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16608, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16608, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16608, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16608, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUgraphNodeParams_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":16609
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUgraphNodeParams_st *>calloc(1, sizeof(cydriver.CUgraphNodeParams_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16610
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUgraphNodeParams_st *>calloc(1, sizeof(cydriver.CUgraphNodeParams_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUgraphNodeParams_st *)calloc(1, (sizeof(struct CUgraphNodeParams_st))));

    /* "cuda/bindings/driver.pyx":16611
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUgraphNodeParams_st *>calloc(1, sizeof(cydriver.CUgraphNodeParams_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphNodeParams_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":16609
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUgraphNodeParams_st *>calloc(1, sizeof(cydriver.CUgraphNodeParams_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16613
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphNodeParams_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUgraphNodeParams_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16608
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUgraphNodeParams_st *>calloc(1, sizeof(cydriver.CUgraphNodeParams_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16614
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphNodeParams_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._pvt_ptr[0].kernel)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16614, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16614, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16614, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16614, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16614, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16614, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16616
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._pvt_ptr[0].kernel)             # <<<<<<<<<<<<<<
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].memcpy)
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memset)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).kernel))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16616, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16616, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_kernel);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_kernel);
  __pyx_v_self->_kernel = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16617
 *         pass
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._pvt_ptr[0].kernel)
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].memcpy)             # <<<<<<<<<<<<<<
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memset)
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].host)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).memcpy))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16617, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16617, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16617, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memcpy);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memcpy);
  __pyx_v_self->_memcpy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16618
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._pvt_ptr[0].kernel)
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].memcpy)
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memset)             # <<<<<<<<<<<<<<
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].host)
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].graph)
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).memset))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16618, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16618, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memset);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memset);
  __pyx_v_self->_memset = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16619
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].memcpy)
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memset)
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].host)             # <<<<<<<<<<<<<<
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].graph)
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventWait)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).host))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16619, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16619, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16619, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_host);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_host);
  __pyx_v_self->_host = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16620
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memset)
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].host)
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].graph)             # <<<<<<<<<<<<<<
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventWait)
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventRecord)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16620, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16620, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_graph);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_graph);
  __pyx_v_self->_graph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16621
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].host)
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].graph)
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventWait)             # <<<<<<<<<<<<<<
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventRecord)
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemSignal)
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).eventWait))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16621, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16621, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_eventWait);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_eventWait);
  __pyx_v_self->_eventWait = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16622
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].graph)
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventWait)
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventRecord)             # <<<<<<<<<<<<<<
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemSignal)
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemWait)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).eventRecord))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16622, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16622, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_eventRecord);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_eventRecord);
  __pyx_v_self->_eventRecord = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16623
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventWait)
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventRecord)
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemSignal)             # <<<<<<<<<<<<<<
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemWait)
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].alloc)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).extSemSignal))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16623, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16623, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_extSemSignal);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_extSemSignal);
  __pyx_v_self->_extSemSignal = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16624
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].eventRecord)
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemSignal)
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemWait)             # <<<<<<<<<<<<<<
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].alloc)
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].free)
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).extSemWait))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16624, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16624, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_extSemWait);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_extSemWait);
  __pyx_v_self->_extSemWait = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16625
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemSignal)
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemWait)
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].alloc)             # <<<<<<<<<<<<<<
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].free)
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memOp)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).alloc))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16625, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16625, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_alloc);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_alloc);
  __pyx_v_self->_alloc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16626
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].extSemWait)
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].alloc)
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].free)             # <<<<<<<<<<<<<<
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memOp)
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].conditional)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).free))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16626, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_6, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16626, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_free);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_free);
  __pyx_v_self->_free = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16627
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].alloc)
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].free)
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memOp)             # <<<<<<<<<<<<<<
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].conditional)
 *     def __dealloc__(self):
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).memOp))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16627, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16627, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memOp);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memOp);
  __pyx_v_self->_memOp = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16628
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].free)
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memOp)
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].conditional)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).conditional))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16628, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16628, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_conditional);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_conditional);
  __pyx_v_self->_conditional = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":16614
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphNodeParams_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._pvt_ptr[0].kernel)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16629
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memOp)
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].conditional)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16630
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].conditional)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16631
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":16630
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].conditional)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":16629
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._pvt_ptr[0].memOp)
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._pvt_ptr[0].conditional)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16632
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6getPtr, "CUgraphNodeParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUgraphNodeParams_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16633
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16632
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16634
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr210__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr211__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr212__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr213__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr214__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr215__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr216__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr217__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr218__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr219__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr220__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr221__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr222__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16635
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16636
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16637
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16638
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16638, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16638, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16637
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16639
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16639, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16640
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16640, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 16640, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16640, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16637
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16641
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16642
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved0_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved0, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 16642, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16642, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":16641
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16643
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 16643, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16644
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16644, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved0_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved0_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved0_ValueError) != (0)) __PYX_ERR(0, 16644, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16644, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":16641
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16645
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16646
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved1_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved1, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16646, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16646, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16645
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16647
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16647, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16648
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['kernel :\n' + '\n'.join(['    ' + line for line in str(self.kernel).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16648, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved1_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved1_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved1_ValueError) != (0)) __PYX_ERR(0, 16648, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16648, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":16645
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16649
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernel :\n' + '\n'.join(['    ' + line for line in str(self.kernel).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16650
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:
 *                 str_list += ['kernel :\n' + '\n'.join(['    ' + line for line in str(self.kernel).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['kernel : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16650, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_kernel_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16650, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16650, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16650, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16650, __pyx_L36_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16650, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr210__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr210__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16650, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16650, __pyx_L36_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr210__pyx_v_line); __pyx_10genexpr210__pyx_v_line = 0;
          goto __pyx_L40_exit_scope;
          __pyx_L36_error:;
          __Pyx_XDECREF(__pyx_10genexpr210__pyx_v_line); __pyx_10genexpr210__pyx_v_line = 0;
          goto __pyx_L28_error;
          __pyx_L40_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16650, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_kernel, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16650, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16650, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 16650, __pyx_L28_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16650, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":16649
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernel :\n' + '\n'.join(['    ' + line for line in str(self.kernel).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16651
 *             try:
 *                 str_list += ['kernel :\n' + '\n'.join(['    ' + line for line in str(self.kernel).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernel : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 16651, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16652
 *                 str_list += ['kernel :\n' + '\n'.join(['    ' + line for line in str(self.kernel).splitlines()])]
 *             except ValueError:
 *                 str_list += ['kernel : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memcpy :\n' + '\n'.join(['    ' + line for line in str(self.memcpy).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16652, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_kernel_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_kernel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_kernel_ValueError) != (0)) __PYX_ERR(0, 16652, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16652, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":16649
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernel :\n' + '\n'.join(['    ' + line for line in str(self.kernel).splitlines()])]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16653
 *             except ValueError:
 *                 str_list += ['kernel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memcpy :\n' + '\n'.join(['    ' + line for line in str(self.memcpy).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16654
 *                 str_list += ['kernel : <ValueError>']
 *             try:
 *                 str_list += ['memcpy :\n' + '\n'.join(['    ' + line for line in str(self.memcpy).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memcpy : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16654, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memcpy_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16654, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16654, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16654, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16654, __pyx_L51_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16654, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr211__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr211__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16654, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 16654, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr211__pyx_v_line); __pyx_10genexpr211__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_10genexpr211__pyx_v_line); __pyx_10genexpr211__pyx_v_line = 0;
          goto __pyx_L43_error;
          __pyx_L55_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16654, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memcpy, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16654, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16654, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16654, __pyx_L43_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16654, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16653
 *             except ValueError:
 *                 str_list += ['kernel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memcpy :\n' + '\n'.join(['    ' + line for line in str(self.memcpy).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16655
 *             try:
 *                 str_list += ['memcpy :\n' + '\n'.join(['    ' + line for line in str(self.memcpy).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memcpy : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 16655, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16656
 *                 str_list += ['memcpy :\n' + '\n'.join(['    ' + line for line in str(self.memcpy).splitlines()])]
 *             except ValueError:
 *                 str_list += ['memcpy : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memset :\n' + '\n'.join(['    ' + line for line in str(self.memset).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16656, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memcpy_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memcpy_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_memcpy_ValueError) != (0)) __PYX_ERR(0, 16656, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16656, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":16653
 *             except ValueError:
 *                 str_list += ['kernel : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memcpy :\n' + '\n'.join(['    ' + line for line in str(self.memcpy).splitlines()])]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16657
 *             except ValueError:
 *                 str_list += ['memcpy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memset :\n' + '\n'.join(['    ' + line for line in str(self.memset).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16658
 *                 str_list += ['memcpy : <ValueError>']
 *             try:
 *                 str_list += ['memset :\n' + '\n'.join(['    ' + line for line in str(self.memset).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memset : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16658, __pyx_L66_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memset_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16658, __pyx_L66_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16658, __pyx_L66_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16658, __pyx_L66_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16658, __pyx_L66_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16658, __pyx_L66_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr212__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr212__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16658, __pyx_L66_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 16658, __pyx_L66_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr212__pyx_v_line); __pyx_10genexpr212__pyx_v_line = 0;
          goto __pyx_L70_exit_scope;
          __pyx_L66_error:;
          __Pyx_XDECREF(__pyx_10genexpr212__pyx_v_line); __pyx_10genexpr212__pyx_v_line = 0;
          goto __pyx_L58_error;
          __pyx_L70_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16658, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memset, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16658, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16658, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16658, __pyx_L58_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16658, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16657
 *             except ValueError:
 *                 str_list += ['memcpy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memset :\n' + '\n'.join(['    ' + line for line in str(self.memset).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L63_try_end;
      __pyx_L58_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16659
 *             try:
 *                 str_list += ['memset :\n' + '\n'.join(['    ' + line for line in str(self.memset).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16659, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16660
 *                 str_list += ['memset :\n' + '\n'.join(['    ' + line for line in str(self.memset).splitlines()])]
 *             except ValueError:
 *                 str_list += ['memset : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['host :\n' + '\n'.join(['    ' + line for line in str(self.host).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16660, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memset_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_memset_ValueError) != (0)) __PYX_ERR(0, 16660, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16660, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L59_exception_handled;
      }
      goto __pyx_L60_except_error;

      /* "cuda/bindings/driver.pyx":16657
 *             except ValueError:
 *                 str_list += ['memcpy : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memset :\n' + '\n'.join(['    ' + line for line in str(self.memset).splitlines()])]
 *             except ValueError:
*/
      __pyx_L60_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L59_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L63_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16661
 *             except ValueError:
 *                 str_list += ['memset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['host :\n' + '\n'.join(['    ' + line for line in str(self.host).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16662
 *                 str_list += ['memset : <ValueError>']
 *             try:
 *                 str_list += ['host :\n' + '\n'.join(['    ' + line for line in str(self.host).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['host : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16662, __pyx_L81_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_host_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16662, __pyx_L81_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16662, __pyx_L81_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16662, __pyx_L81_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16662, __pyx_L81_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16662, __pyx_L81_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr213__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr213__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16662, __pyx_L81_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16662, __pyx_L81_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr213__pyx_v_line); __pyx_10genexpr213__pyx_v_line = 0;
          goto __pyx_L85_exit_scope;
          __pyx_L81_error:;
          __Pyx_XDECREF(__pyx_10genexpr213__pyx_v_line); __pyx_10genexpr213__pyx_v_line = 0;
          goto __pyx_L73_error;
          __pyx_L85_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16662, __pyx_L73_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_host, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16662, __pyx_L73_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16662, __pyx_L73_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 16662, __pyx_L73_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16662, __pyx_L73_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":16661
 *             except ValueError:
 *                 str_list += ['memset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['host :\n' + '\n'.join(['    ' + line for line in str(self.host).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L78_try_end;
      __pyx_L73_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16663
 *             try:
 *                 str_list += ['host :\n' + '\n'.join(['    ' + line for line in str(self.host).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['host : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 16663, __pyx_L75_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16664
 *                 str_list += ['host :\n' + '\n'.join(['    ' + line for line in str(self.host).splitlines()])]
 *             except ValueError:
 *                 str_list += ['host : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['graph :\n' + '\n'.join(['    ' + line for line in str(self.graph).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16664, __pyx_L75_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_host_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_host_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_host_ValueError) != (0)) __PYX_ERR(0, 16664, __pyx_L75_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16664, __pyx_L75_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L74_exception_handled;
      }
      goto __pyx_L75_except_error;

      /* "cuda/bindings/driver.pyx":16661
 *             except ValueError:
 *                 str_list += ['memset : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['host :\n' + '\n'.join(['    ' + line for line in str(self.host).splitlines()])]
 *             except ValueError:
*/
      __pyx_L75_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L74_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L78_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16665
 *             except ValueError:
 *                 str_list += ['host : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph :\n' + '\n'.join(['    ' + line for line in str(self.graph).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16666
 *                 str_list += ['host : <ValueError>']
 *             try:
 *                 str_list += ['graph :\n' + '\n'.join(['    ' + line for line in str(self.graph).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16666, __pyx_L96_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_graph_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16666, __pyx_L96_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16666, __pyx_L96_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16666, __pyx_L96_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16666, __pyx_L96_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16666, __pyx_L96_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr214__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr214__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16666, __pyx_L96_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 16666, __pyx_L96_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr214__pyx_v_line); __pyx_10genexpr214__pyx_v_line = 0;
          goto __pyx_L100_exit_scope;
          __pyx_L96_error:;
          __Pyx_XDECREF(__pyx_10genexpr214__pyx_v_line); __pyx_10genexpr214__pyx_v_line = 0;
          goto __pyx_L88_error;
          __pyx_L100_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16666, __pyx_L88_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_graph_3, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16666, __pyx_L88_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16666, __pyx_L88_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16666, __pyx_L88_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16666, __pyx_L88_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16665
 *             except ValueError:
 *                 str_list += ['host : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph :\n' + '\n'.join(['    ' + line for line in str(self.graph).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L93_try_end;
      __pyx_L88_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16667
 *             try:
 *                 str_list += ['graph :\n' + '\n'.join(['    ' + line for line in str(self.graph).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 16667, __pyx_L90_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16668
 *                 str_list += ['graph :\n' + '\n'.join(['    ' + line for line in str(self.graph).splitlines()])]
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['eventWait :\n' + '\n'.join(['    ' + line for line in str(self.eventWait).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16668, __pyx_L90_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_graph_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_graph_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_graph_ValueError) != (0)) __PYX_ERR(0, 16668, __pyx_L90_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16668, __pyx_L90_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L89_exception_handled;
      }
      goto __pyx_L90_except_error;

      /* "cuda/bindings/driver.pyx":16665
 *             except ValueError:
 *                 str_list += ['host : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph :\n' + '\n'.join(['    ' + line for line in str(self.graph).splitlines()])]
 *             except ValueError:
*/
      __pyx_L90_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L89_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L93_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16669
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventWait :\n' + '\n'.join(['    ' + line for line in str(self.eventWait).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16670
 *                 str_list += ['graph : <ValueError>']
 *             try:
 *                 str_list += ['eventWait :\n' + '\n'.join(['    ' + line for line in str(self.eventWait).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['eventWait : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16670, __pyx_L111_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_eventWait_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16670, __pyx_L111_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16670, __pyx_L111_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16670, __pyx_L111_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16670, __pyx_L111_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16670, __pyx_L111_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr215__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr215__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16670, __pyx_L111_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 16670, __pyx_L111_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr215__pyx_v_line); __pyx_10genexpr215__pyx_v_line = 0;
          goto __pyx_L115_exit_scope;
          __pyx_L111_error:;
          __Pyx_XDECREF(__pyx_10genexpr215__pyx_v_line); __pyx_10genexpr215__pyx_v_line = 0;
          goto __pyx_L103_error;
          __pyx_L115_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16670, __pyx_L103_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_eventWait, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16670, __pyx_L103_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16670, __pyx_L103_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16670, __pyx_L103_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16670, __pyx_L103_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16669
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventWait :\n' + '\n'.join(['    ' + line for line in str(self.eventWait).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L108_try_end;
      __pyx_L103_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16671
 *             try:
 *                 str_list += ['eventWait :\n' + '\n'.join(['    ' + line for line in str(self.eventWait).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventWait : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16671, __pyx_L105_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16672
 *                 str_list += ['eventWait :\n' + '\n'.join(['    ' + line for line in str(self.eventWait).splitlines()])]
 *             except ValueError:
 *                 str_list += ['eventWait : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['eventRecord :\n' + '\n'.join(['    ' + line for line in str(self.eventRecord).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16672, __pyx_L105_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_eventWait_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_eventWait_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_eventWait_ValueError) != (0)) __PYX_ERR(0, 16672, __pyx_L105_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16672, __pyx_L105_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L104_exception_handled;
      }
      goto __pyx_L105_except_error;

      /* "cuda/bindings/driver.pyx":16669
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventWait :\n' + '\n'.join(['    ' + line for line in str(self.eventWait).splitlines()])]
 *             except ValueError:
*/
      __pyx_L105_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L104_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L108_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16673
 *             except ValueError:
 *                 str_list += ['eventWait : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventRecord :\n' + '\n'.join(['    ' + line for line in str(self.eventRecord).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16674
 *                 str_list += ['eventWait : <ValueError>']
 *             try:
 *                 str_list += ['eventRecord :\n' + '\n'.join(['    ' + line for line in str(self.eventRecord).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['eventRecord : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16674, __pyx_L126_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_eventRecord_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16674, __pyx_L126_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16674, __pyx_L126_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16674, __pyx_L126_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16674, __pyx_L126_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16674, __pyx_L126_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr216__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr216__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16674, __pyx_L126_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16674, __pyx_L126_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr216__pyx_v_line); __pyx_10genexpr216__pyx_v_line = 0;
          goto __pyx_L130_exit_scope;
          __pyx_L126_error:;
          __Pyx_XDECREF(__pyx_10genexpr216__pyx_v_line); __pyx_10genexpr216__pyx_v_line = 0;
          goto __pyx_L118_error;
          __pyx_L130_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16674, __pyx_L118_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_eventRecord, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16674, __pyx_L118_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16674, __pyx_L118_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 16674, __pyx_L118_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16674, __pyx_L118_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":16673
 *             except ValueError:
 *                 str_list += ['eventWait : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventRecord :\n' + '\n'.join(['    ' + line for line in str(self.eventRecord).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L123_try_end;
      __pyx_L118_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16675
 *             try:
 *                 str_list += ['eventRecord :\n' + '\n'.join(['    ' + line for line in str(self.eventRecord).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventRecord : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 16675, __pyx_L120_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16676
 *                 str_list += ['eventRecord :\n' + '\n'.join(['    ' + line for line in str(self.eventRecord).splitlines()])]
 *             except ValueError:
 *                 str_list += ['eventRecord : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extSemSignal :\n' + '\n'.join(['    ' + line for line in str(self.extSemSignal).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16676, __pyx_L120_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_eventRecord_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_eventRecord_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_eventRecord_ValueError) != (0)) __PYX_ERR(0, 16676, __pyx_L120_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16676, __pyx_L120_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L119_exception_handled;
      }
      goto __pyx_L120_except_error;

      /* "cuda/bindings/driver.pyx":16673
 *             except ValueError:
 *                 str_list += ['eventWait : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventRecord :\n' + '\n'.join(['    ' + line for line in str(self.eventRecord).splitlines()])]
 *             except ValueError:
*/
      __pyx_L120_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L119_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L123_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16677
 *             except ValueError:
 *                 str_list += ['eventRecord : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemSignal :\n' + '\n'.join(['    ' + line for line in str(self.extSemSignal).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16678
 *                 str_list += ['eventRecord : <ValueError>']
 *             try:
 *                 str_list += ['extSemSignal :\n' + '\n'.join(['    ' + line for line in str(self.extSemSignal).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extSemSignal : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16678, __pyx_L141_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extSemSignal_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16678, __pyx_L141_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16678, __pyx_L141_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16678, __pyx_L141_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16678, __pyx_L141_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16678, __pyx_L141_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr217__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr217__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16678, __pyx_L141_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 16678, __pyx_L141_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr217__pyx_v_line); __pyx_10genexpr217__pyx_v_line = 0;
          goto __pyx_L145_exit_scope;
          __pyx_L141_error:;
          __Pyx_XDECREF(__pyx_10genexpr217__pyx_v_line); __pyx_10genexpr217__pyx_v_line = 0;
          goto __pyx_L133_error;
          __pyx_L145_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16678, __pyx_L133_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extSemSignal, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16678, __pyx_L133_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16678, __pyx_L133_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16678, __pyx_L133_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16678, __pyx_L133_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16677
 *             except ValueError:
 *                 str_list += ['eventRecord : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemSignal :\n' + '\n'.join(['    ' + line for line in str(self.extSemSignal).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L138_try_end;
      __pyx_L133_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16679
 *             try:
 *                 str_list += ['extSemSignal :\n' + '\n'.join(['    ' + line for line in str(self.extSemSignal).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemSignal : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 16679, __pyx_L135_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16680
 *                 str_list += ['extSemSignal :\n' + '\n'.join(['    ' + line for line in str(self.extSemSignal).splitlines()])]
 *             except ValueError:
 *                 str_list += ['extSemSignal : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['extSemWait :\n' + '\n'.join(['    ' + line for line in str(self.extSemWait).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16680, __pyx_L135_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extSemSignal_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extSemSignal_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_extSemSignal_ValueError) != (0)) __PYX_ERR(0, 16680, __pyx_L135_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16680, __pyx_L135_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L134_exception_handled;
      }
      goto __pyx_L135_except_error;

      /* "cuda/bindings/driver.pyx":16677
 *             except ValueError:
 *                 str_list += ['eventRecord : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemSignal :\n' + '\n'.join(['    ' + line for line in str(self.extSemSignal).splitlines()])]
 *             except ValueError:
*/
      __pyx_L135_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L134_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L138_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16681
 *             except ValueError:
 *                 str_list += ['extSemSignal : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemWait :\n' + '\n'.join(['    ' + line for line in str(self.extSemWait).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16682
 *                 str_list += ['extSemSignal : <ValueError>']
 *             try:
 *                 str_list += ['extSemWait :\n' + '\n'.join(['    ' + line for line in str(self.extSemWait).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['extSemWait : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16682, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_extSemWait_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16682, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16682, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16682, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16682, __pyx_L156_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16682, __pyx_L156_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr218__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr218__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16682, __pyx_L156_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 16682, __pyx_L156_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr218__pyx_v_line); __pyx_10genexpr218__pyx_v_line = 0;
          goto __pyx_L160_exit_scope;
          __pyx_L156_error:;
          __Pyx_XDECREF(__pyx_10genexpr218__pyx_v_line); __pyx_10genexpr218__pyx_v_line = 0;
          goto __pyx_L148_error;
          __pyx_L160_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16682, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_extSemWait, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16682, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16682, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16682, __pyx_L148_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16682, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16681
 *             except ValueError:
 *                 str_list += ['extSemSignal : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemWait :\n' + '\n'.join(['    ' + line for line in str(self.extSemWait).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L153_try_end;
      __pyx_L148_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16683
 *             try:
 *                 str_list += ['extSemWait :\n' + '\n'.join(['    ' + line for line in str(self.extSemWait).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemWait : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16683, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16684
 *                 str_list += ['extSemWait :\n' + '\n'.join(['    ' + line for line in str(self.extSemWait).splitlines()])]
 *             except ValueError:
 *                 str_list += ['extSemWait : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['alloc :\n' + '\n'.join(['    ' + line for line in str(self.alloc).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16684, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_extSemWait_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_extSemWait_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_extSemWait_ValueError) != (0)) __PYX_ERR(0, 16684, __pyx_L150_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16684, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L149_exception_handled;
      }
      goto __pyx_L150_except_error;

      /* "cuda/bindings/driver.pyx":16681
 *             except ValueError:
 *                 str_list += ['extSemSignal : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemWait :\n' + '\n'.join(['    ' + line for line in str(self.extSemWait).splitlines()])]
 *             except ValueError:
*/
      __pyx_L150_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L149_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L153_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16685
 *             except ValueError:
 *                 str_list += ['extSemWait : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alloc :\n' + '\n'.join(['    ' + line for line in str(self.alloc).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16686
 *                 str_list += ['extSemWait : <ValueError>']
 *             try:
 *                 str_list += ['alloc :\n' + '\n'.join(['    ' + line for line in str(self.alloc).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['alloc : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16686, __pyx_L171_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_alloc_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16686, __pyx_L171_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16686, __pyx_L171_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16686, __pyx_L171_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16686, __pyx_L171_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16686, __pyx_L171_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr219__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr219__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16686, __pyx_L171_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16686, __pyx_L171_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr219__pyx_v_line); __pyx_10genexpr219__pyx_v_line = 0;
          goto __pyx_L175_exit_scope;
          __pyx_L171_error:;
          __Pyx_XDECREF(__pyx_10genexpr219__pyx_v_line); __pyx_10genexpr219__pyx_v_line = 0;
          goto __pyx_L163_error;
          __pyx_L175_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16686, __pyx_L163_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_alloc, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16686, __pyx_L163_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16686, __pyx_L163_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 16686, __pyx_L163_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16686, __pyx_L163_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":16685
 *             except ValueError:
 *                 str_list += ['extSemWait : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alloc :\n' + '\n'.join(['    ' + line for line in str(self.alloc).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L168_try_end;
      __pyx_L163_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16687
 *             try:
 *                 str_list += ['alloc :\n' + '\n'.join(['    ' + line for line in str(self.alloc).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alloc : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 16687, __pyx_L165_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16688
 *                 str_list += ['alloc :\n' + '\n'.join(['    ' + line for line in str(self.alloc).splitlines()])]
 *             except ValueError:
 *                 str_list += ['alloc : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['free :\n' + '\n'.join(['    ' + line for line in str(self.free).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16688, __pyx_L165_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_alloc_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_alloc_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_alloc_ValueError) != (0)) __PYX_ERR(0, 16688, __pyx_L165_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16688, __pyx_L165_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L164_exception_handled;
      }
      goto __pyx_L165_except_error;

      /* "cuda/bindings/driver.pyx":16685
 *             except ValueError:
 *                 str_list += ['extSemWait : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alloc :\n' + '\n'.join(['    ' + line for line in str(self.alloc).splitlines()])]
 *             except ValueError:
*/
      __pyx_L165_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L164_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L168_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16689
 *             except ValueError:
 *                 str_list += ['alloc : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['free :\n' + '\n'.join(['    ' + line for line in str(self.free).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16690
 *                 str_list += ['alloc : <ValueError>']
 *             try:
 *                 str_list += ['free :\n' + '\n'.join(['    ' + line for line in str(self.free).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['free : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16690, __pyx_L186_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_free_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16690, __pyx_L186_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16690, __pyx_L186_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16690, __pyx_L186_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16690, __pyx_L186_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16690, __pyx_L186_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr220__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr220__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16690, __pyx_L186_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 16690, __pyx_L186_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr220__pyx_v_line); __pyx_10genexpr220__pyx_v_line = 0;
          goto __pyx_L190_exit_scope;
          __pyx_L186_error:;
          __Pyx_XDECREF(__pyx_10genexpr220__pyx_v_line); __pyx_10genexpr220__pyx_v_line = 0;
          goto __pyx_L178_error;
          __pyx_L190_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16690, __pyx_L178_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_free, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16690, __pyx_L178_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16690, __pyx_L178_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16690, __pyx_L178_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16690, __pyx_L178_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16689
 *             except ValueError:
 *                 str_list += ['alloc : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['free :\n' + '\n'.join(['    ' + line for line in str(self.free).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L183_try_end;
      __pyx_L178_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16691
 *             try:
 *                 str_list += ['free :\n' + '\n'.join(['    ' + line for line in str(self.free).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['free : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 16691, __pyx_L180_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16692
 *                 str_list += ['free :\n' + '\n'.join(['    ' + line for line in str(self.free).splitlines()])]
 *             except ValueError:
 *                 str_list += ['free : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['memOp :\n' + '\n'.join(['    ' + line for line in str(self.memOp).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16692, __pyx_L180_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_free_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_free_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_free_ValueError) != (0)) __PYX_ERR(0, 16692, __pyx_L180_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16692, __pyx_L180_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L179_exception_handled;
      }
      goto __pyx_L180_except_error;

      /* "cuda/bindings/driver.pyx":16689
 *             except ValueError:
 *                 str_list += ['alloc : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['free :\n' + '\n'.join(['    ' + line for line in str(self.free).splitlines()])]
 *             except ValueError:
*/
      __pyx_L180_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L179_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L183_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16693
 *             except ValueError:
 *                 str_list += ['free : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOp :\n' + '\n'.join(['    ' + line for line in str(self.memOp).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16694
 *                 str_list += ['free : <ValueError>']
 *             try:
 *                 str_list += ['memOp :\n' + '\n'.join(['    ' + line for line in str(self.memOp).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['memOp : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16694, __pyx_L201_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memOp_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16694, __pyx_L201_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16694, __pyx_L201_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = PyUnicode_Splitlines(((PyObject*)__pyx_t_6), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16694, __pyx_L201_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16694, __pyx_L201_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_6, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16694, __pyx_L201_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr221__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr221__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16694, __pyx_L201_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 16694, __pyx_L201_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr221__pyx_v_line); __pyx_10genexpr221__pyx_v_line = 0;
          goto __pyx_L205_exit_scope;
          __pyx_L201_error:;
          __Pyx_XDECREF(__pyx_10genexpr221__pyx_v_line); __pyx_10genexpr221__pyx_v_line = 0;
          goto __pyx_L193_error;
          __pyx_L205_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16694, __pyx_L193_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_memOp, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16694, __pyx_L193_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16694, __pyx_L193_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16694, __pyx_L193_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16694, __pyx_L193_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16693
 *             except ValueError:
 *                 str_list += ['free : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOp :\n' + '\n'.join(['    ' + line for line in str(self.memOp).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L198_try_end;
      __pyx_L193_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16695
 *             try:
 *                 str_list += ['memOp :\n' + '\n'.join(['    ' + line for line in str(self.memOp).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOp : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16695, __pyx_L195_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16696
 *                 str_list += ['memOp :\n' + '\n'.join(['    ' + line for line in str(self.memOp).splitlines()])]
 *             except ValueError:
 *                 str_list += ['memOp : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['conditional :\n' + '\n'.join(['    ' + line for line in str(self.conditional).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16696, __pyx_L195_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_memOp_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_memOp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_memOp_ValueError) != (0)) __PYX_ERR(0, 16696, __pyx_L195_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16696, __pyx_L195_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L194_exception_handled;
      }
      goto __pyx_L195_except_error;

      /* "cuda/bindings/driver.pyx":16693
 *             except ValueError:
 *                 str_list += ['free : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOp :\n' + '\n'.join(['    ' + line for line in str(self.memOp).splitlines()])]
 *             except ValueError:
*/
      __pyx_L195_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L194_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L198_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16697
 *             except ValueError:
 *                 str_list += ['memOp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['conditional :\n' + '\n'.join(['    ' + line for line in str(self.conditional).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16698
 *                 str_list += ['memOp : <ValueError>']
 *             try:
 *                 str_list += ['conditional :\n' + '\n'.join(['    ' + line for line in str(self.conditional).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['conditional : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16698, __pyx_L216_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_conditional_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16698, __pyx_L216_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16698, __pyx_L216_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16698, __pyx_L216_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 16698, __pyx_L216_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16698, __pyx_L216_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr222__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr222__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16698, __pyx_L216_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16698, __pyx_L216_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr222__pyx_v_line); __pyx_10genexpr222__pyx_v_line = 0;
          goto __pyx_L220_exit_scope;
          __pyx_L216_error:;
          __Pyx_XDECREF(__pyx_10genexpr222__pyx_v_line); __pyx_10genexpr222__pyx_v_line = 0;
          goto __pyx_L208_error;
          __pyx_L220_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16698, __pyx_L208_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_conditional, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16698, __pyx_L208_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16698, __pyx_L208_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 16698, __pyx_L208_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16698, __pyx_L208_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":16697
 *             except ValueError:
 *                 str_list += ['memOp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['conditional :\n' + '\n'.join(['    ' + line for line in str(self.conditional).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L213_try_end;
      __pyx_L208_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16699
 *             try:
 *                 str_list += ['conditional :\n' + '\n'.join(['    ' + line for line in str(self.conditional).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['conditional : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 16699, __pyx_L210_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16700
 *                 str_list += ['conditional :\n' + '\n'.join(['    ' + line for line in str(self.conditional).splitlines()])]
 *             except ValueError:
 *                 str_list += ['conditional : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16700, __pyx_L210_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_conditional_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_conditional_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_conditional_ValueError) != (0)) __PYX_ERR(0, 16700, __pyx_L210_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16700, __pyx_L210_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L209_exception_handled;
      }
      goto __pyx_L210_except_error;

      /* "cuda/bindings/driver.pyx":16697
 *             except ValueError:
 *                 str_list += ['memOp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['conditional :\n' + '\n'.join(['    ' + line for line in str(self.conditional).splitlines()])]
 *             except ValueError:
*/
      __pyx_L210_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L209_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L213_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16701
 *             except ValueError:
 *                 str_list += ['conditional : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16702
 *                 str_list += ['conditional : <ValueError>']
 *             try:
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved2 : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved2_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16702, __pyx_L223_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16702, __pyx_L223_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved2, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16702, __pyx_L223_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16702, __pyx_L223_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 16702, __pyx_L223_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16702, __pyx_L223_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":16701
 *             except ValueError:
 *                 str_list += ['conditional : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L228_try_end;
      __pyx_L223_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16703
 *             try:
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved2 : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 16703, __pyx_L225_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16704
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]
 *             except ValueError:
 *                 str_list += ['reserved2 : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16704, __pyx_L225_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved2_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved2_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved2_ValueError) != (0)) __PYX_ERR(0, 16704, __pyx_L225_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16704, __pyx_L225_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L224_exception_handled;
      }
      goto __pyx_L225_except_error;

      /* "cuda/bindings/driver.pyx":16701
 *             except ValueError:
 *                 str_list += ['conditional : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]
 *             except ValueError:
*/
      __pyx_L225_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L224_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L228_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16705
 *             except ValueError:
 *                 str_list += ['reserved2 : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16635
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16707
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16634
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr210__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr211__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr212__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr213__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr214__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr215__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr216__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr217__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr218__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr219__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr220__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr221__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr222__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16708
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphNodeType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16710
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphNodeType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphNodeType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphNodeType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 16710, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":16711
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphNodeType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUgraphNodeType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16710
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphNodeType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUgraphNodeType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":16712
 *         if self._pvt_ptr[0].type not in _dict_CUgraphNodeType:
 *             return None
 *         return _dict_CUgraphNodeType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUgraphNodeType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUgraphNodeType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16708
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUgraphNodeType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16713
 *             return None
 *         return _dict_CUgraphNodeType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUgraphNodeType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 16714, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUgraphNodeType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16715
 *     @type.setter
 *     def type(self, type not None : CUgraphNodeType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved0(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphNodeType_enum)__Pyx_PyLong_As_enum__CUgraphNodeType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":16713
 *             return None
 *         return _dict_CUgraphNodeType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUgraphNodeType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16716
 *     def type(self, type not None : CUgraphNodeType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16718
 *     @property
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0             # <<<<<<<<<<<<<<
 *     @reserved0.setter
 *     def reserved0(self, reserved0):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_pvt_ptr[0]).reserved0, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16716
 *     def type(self, type not None : CUgraphNodeType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.reserved0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16719
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved0); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved0) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved0));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_reserved0) {
  int __pyx_r;
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":16721
 *     @reserved0.setter
 *     def reserved0(self, reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved1(self):
*/
  if (unlikely((__Pyx_carray_from_py_int(__pyx_v_reserved0, __pyx_t_1, 3) < 0))) __PYX_ERR(0, 16721, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved0[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved0[0]) * (3));

  /* "cuda/bindings/driver.pyx":16719
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.reserved0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16722
 *     def reserved0(self, reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return self._pvt_ptr[0].reserved1
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16724
 *     @property
 *     def reserved1(self):
 *         return self._pvt_ptr[0].reserved1             # <<<<<<<<<<<<<<
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).reserved1, 29); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16722
 *     def reserved0(self, reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return self._pvt_ptr[0].reserved1
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.reserved1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16725
 *     def reserved1(self):
 *         return self._pvt_ptr[0].reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         self._pvt_ptr[0].reserved1 = reserved1
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved1));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  int __pyx_r;
  PY_LONG_LONG __pyx_t_1[29];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":16727
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
 *         self._pvt_ptr[0].reserved1 = reserved1             # <<<<<<<<<<<<<<
 *     @property
 *     def kernel(self):
*/
  if (unlikely((__Pyx_carray_from_py_PY_LONG_LONG(__pyx_v_reserved1, __pyx_t_1, 29) < 0))) __PYX_ERR(0, 16727, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved1[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved1[0]) * (29));

  /* "cuda/bindings/driver.pyx":16725
 *     def reserved1(self):
 *         return self._pvt_ptr[0].reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         self._pvt_ptr[0].reserved1 = reserved1
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.reserved1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16728
 *     def reserved1(self, reserved1):
 *         self._pvt_ptr[0].reserved1 = reserved1
 *     @property             # <<<<<<<<<<<<<<
 *     def kernel(self):
 *         return self._kernel
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16730
 *     @property
 *     def kernel(self):
 *         return self._kernel             # <<<<<<<<<<<<<<
 *     @kernel.setter
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_kernel);
  __pyx_r = ((PyObject *)__pyx_v_self->_kernel);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16728
 *     def reserved1(self, reserved1):
 *         self._pvt_ptr[0].reserved1 = reserved1
 *     @property             # <<<<<<<<<<<<<<
 *     def kernel(self):
 *         return self._kernel
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16731
 *     def kernel(self):
 *         return self._kernel
 *     @kernel.setter             # <<<<<<<<<<<<<<
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._pvt_ptr[0].kernel, <cydriver.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._pvt_ptr[0].kernel))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernel); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernel) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kernel), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3, 0, "kernel", 0))) __PYX_ERR(0, 16732, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 *)__pyx_v_kernel));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 *__pyx_v_kernel) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16733
 *     @kernel.setter
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._pvt_ptr[0].kernel, <cydriver.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._pvt_ptr[0].kernel))             # <<<<<<<<<<<<<<
 *     @property
 *     def memcpy(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_kernel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).kernel), ((CUDA_KERNEL_NODE_PARAMS_v3 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).kernel))));

  /* "cuda/bindings/driver.pyx":16731
 *     def kernel(self):
 *         return self._kernel
 *     @kernel.setter             # <<<<<<<<<<<<<<
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._pvt_ptr[0].kernel, <cydriver.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._pvt_ptr[0].kernel))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.kernel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16734
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._pvt_ptr[0].kernel, <cydriver.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._pvt_ptr[0].kernel))
 *     @property             # <<<<<<<<<<<<<<
 *     def memcpy(self):
 *         return self._memcpy
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16736
 *     @property
 *     def memcpy(self):
 *         return self._memcpy             # <<<<<<<<<<<<<<
 *     @memcpy.setter
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_memcpy);
  __pyx_r = ((PyObject *)__pyx_v_self->_memcpy);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16734
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._pvt_ptr[0].kernel, <cydriver.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._pvt_ptr[0].kernel))
 *     @property             # <<<<<<<<<<<<<<
 *     def memcpy(self):
 *         return self._memcpy
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16737
 *     def memcpy(self):
 *         return self._memcpy
 *     @memcpy.setter             # <<<<<<<<<<<<<<
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].memcpy, <cydriver.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._pvt_ptr[0].memcpy))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memcpy); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memcpy) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memcpy), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS, 0, "memcpy", 0))) __PYX_ERR(0, 16738, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS *)__pyx_v_memcpy));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS *__pyx_v_memcpy) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16739
 *     @memcpy.setter
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].memcpy, <cydriver.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._pvt_ptr[0].memcpy))             # <<<<<<<<<<<<<<
 *     @property
 *     def memset(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_memcpy);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16739, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).memcpy), ((CUDA_MEMCPY_NODE_PARAMS *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).memcpy))));

  /* "cuda/bindings/driver.pyx":16737
 *     def memcpy(self):
 *         return self._memcpy
 *     @memcpy.setter             # <<<<<<<<<<<<<<
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].memcpy, <cydriver.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._pvt_ptr[0].memcpy))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.memcpy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16740
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].memcpy, <cydriver.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._pvt_ptr[0].memcpy))
 *     @property             # <<<<<<<<<<<<<<
 *     def memset(self):
 *         return self._memset
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16742
 *     @property
 *     def memset(self):
 *         return self._memset             # <<<<<<<<<<<<<<
 *     @memset.setter
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_memset);
  __pyx_r = ((PyObject *)__pyx_v_self->_memset);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16740
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].memcpy, <cydriver.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._pvt_ptr[0].memcpy))
 *     @property             # <<<<<<<<<<<<<<
 *     def memset(self):
 *         return self._memset
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16743
 *     def memset(self):
 *         return self._memset
 *     @memset.setter             # <<<<<<<<<<<<<<
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memset, <cydriver.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._pvt_ptr[0].memset))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memset); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memset) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memset), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2, 0, "memset", 0))) __PYX_ERR(0, 16744, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 *)__pyx_v_memset));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 *__pyx_v_memset) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16745
 *     @memset.setter
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memset, <cydriver.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._pvt_ptr[0].memset))             # <<<<<<<<<<<<<<
 *     @property
 *     def host(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_memset);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).memset), ((CUDA_MEMSET_NODE_PARAMS_v2 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).memset))));

  /* "cuda/bindings/driver.pyx":16743
 *     def memset(self):
 *         return self._memset
 *     @memset.setter             # <<<<<<<<<<<<<<
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memset, <cydriver.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._pvt_ptr[0].memset))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.memset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16746
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memset, <cydriver.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._pvt_ptr[0].memset))
 *     @property             # <<<<<<<<<<<<<<
 *     def host(self):
 *         return self._host
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16748
 *     @property
 *     def host(self):
 *         return self._host             # <<<<<<<<<<<<<<
 *     @host.setter
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_host);
  __pyx_r = ((PyObject *)__pyx_v_self->_host);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16746
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memset, <cydriver.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._pvt_ptr[0].memset))
 *     @property             # <<<<<<<<<<<<<<
 *     def host(self):
 *         return self._host
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16749
 *     def host(self):
 *         return self._host
 *     @host.setter             # <<<<<<<<<<<<<<
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].host, <cydriver.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._pvt_ptr[0].host))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_host); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_host) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_host), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2, 0, "host", 0))) __PYX_ERR(0, 16750, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 *)__pyx_v_host));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 *__pyx_v_host) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16751
 *     @host.setter
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].host, <cydriver.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._pvt_ptr[0].host))             # <<<<<<<<<<<<<<
 *     @property
 *     def graph(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_host);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).host), ((CUDA_HOST_NODE_PARAMS_v2 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).host))));

  /* "cuda/bindings/driver.pyx":16749
 *     def host(self):
 *         return self._host
 *     @host.setter             # <<<<<<<<<<<<<<
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].host, <cydriver.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._pvt_ptr[0].host))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.host.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16752
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].host, <cydriver.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._pvt_ptr[0].host))
 *     @property             # <<<<<<<<<<<<<<
 *     def graph(self):
 *         return self._graph
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16754
 *     @property
 *     def graph(self):
 *         return self._graph             # <<<<<<<<<<<<<<
 *     @graph.setter
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_graph);
  __pyx_r = ((PyObject *)__pyx_v_self->_graph);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16752
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].host, <cydriver.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._pvt_ptr[0].host))
 *     @property             # <<<<<<<<<<<<<<
 *     def graph(self):
 *         return self._graph
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16755
 *     def graph(self):
 *         return self._graph
 *     @graph.setter             # <<<<<<<<<<<<<<
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].graph, <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._pvt_ptr[0].graph))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_graph); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_graph) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS, 0, "graph", 0))) __PYX_ERR(0, 16756, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS *)__pyx_v_graph));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS *__pyx_v_graph) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16757
 *     @graph.setter
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].graph, <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._pvt_ptr[0].graph))             # <<<<<<<<<<<<<<
 *     @property
 *     def eventWait(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_graph);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16757, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).graph), ((CUDA_CHILD_GRAPH_NODE_PARAMS *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).graph))));

  /* "cuda/bindings/driver.pyx":16755
 *     def graph(self):
 *         return self._graph
 *     @graph.setter             # <<<<<<<<<<<<<<
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].graph, <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._pvt_ptr[0].graph))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.graph.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16758
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].graph, <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._pvt_ptr[0].graph))
 *     @property             # <<<<<<<<<<<<<<
 *     def eventWait(self):
 *         return self._eventWait
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16760
 *     @property
 *     def eventWait(self):
 *         return self._eventWait             # <<<<<<<<<<<<<<
 *     @eventWait.setter
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_eventWait);
  __pyx_r = ((PyObject *)__pyx_v_self->_eventWait);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16758
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].graph, <cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._pvt_ptr[0].graph))
 *     @property             # <<<<<<<<<<<<<<
 *     def eventWait(self):
 *         return self._eventWait
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16761
 *     def eventWait(self):
 *         return self._eventWait
 *     @eventWait.setter             # <<<<<<<<<<<<<<
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventWait, <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._pvt_ptr[0].eventWait))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eventWait); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eventWait) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventWait), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS, 0, "eventWait", 0))) __PYX_ERR(0, 16762, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS *)__pyx_v_eventWait));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS *__pyx_v_eventWait) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16763
 *     @eventWait.setter
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventWait, <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._pvt_ptr[0].eventWait))             # <<<<<<<<<<<<<<
 *     @property
 *     def eventRecord(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_eventWait);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).eventWait), ((CUDA_EVENT_WAIT_NODE_PARAMS *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).eventWait))));

  /* "cuda/bindings/driver.pyx":16761
 *     def eventWait(self):
 *         return self._eventWait
 *     @eventWait.setter             # <<<<<<<<<<<<<<
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventWait, <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._pvt_ptr[0].eventWait))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.eventWait.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16764
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventWait, <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._pvt_ptr[0].eventWait))
 *     @property             # <<<<<<<<<<<<<<
 *     def eventRecord(self):
 *         return self._eventRecord
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16766
 *     @property
 *     def eventRecord(self):
 *         return self._eventRecord             # <<<<<<<<<<<<<<
 *     @eventRecord.setter
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_eventRecord);
  __pyx_r = ((PyObject *)__pyx_v_self->_eventRecord);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16764
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventWait, <cydriver.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._pvt_ptr[0].eventWait))
 *     @property             # <<<<<<<<<<<<<<
 *     def eventRecord(self):
 *         return self._eventRecord
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16767
 *     def eventRecord(self):
 *         return self._eventRecord
 *     @eventRecord.setter             # <<<<<<<<<<<<<<
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventRecord, <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._pvt_ptr[0].eventRecord))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eventRecord); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eventRecord) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventRecord), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS, 0, "eventRecord", 0))) __PYX_ERR(0, 16768, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS *)__pyx_v_eventRecord));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS *__pyx_v_eventRecord) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16769
 *     @eventRecord.setter
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventRecord, <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._pvt_ptr[0].eventRecord))             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemSignal(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_eventRecord);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).eventRecord), ((CUDA_EVENT_RECORD_NODE_PARAMS *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).eventRecord))));

  /* "cuda/bindings/driver.pyx":16767
 *     def eventRecord(self):
 *         return self._eventRecord
 *     @eventRecord.setter             # <<<<<<<<<<<<<<
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventRecord, <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._pvt_ptr[0].eventRecord))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.eventRecord.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16770
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventRecord, <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._pvt_ptr[0].eventRecord))
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemSignal(self):
 *         return self._extSemSignal
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16772
 *     @property
 *     def extSemSignal(self):
 *         return self._extSemSignal             # <<<<<<<<<<<<<<
 *     @extSemSignal.setter
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_extSemSignal);
  __pyx_r = ((PyObject *)__pyx_v_self->_extSemSignal);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16770
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].eventRecord, <cydriver.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._pvt_ptr[0].eventRecord))
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemSignal(self):
 *         return self._extSemSignal
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16773
 *     def extSemSignal(self):
 *         return self._extSemSignal
 *     @extSemSignal.setter             # <<<<<<<<<<<<<<
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemSignal, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._pvt_ptr[0].extSemSignal))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extSemSignal); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extSemSignal) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extSemSignal), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2, 0, "extSemSignal", 0))) __PYX_ERR(0, 16774, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)__pyx_v_extSemSignal));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *__pyx_v_extSemSignal) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16775
 *     @extSemSignal.setter
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemSignal, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._pvt_ptr[0].extSemSignal))             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemWait(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_extSemSignal);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).extSemSignal), ((CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).extSemSignal))));

  /* "cuda/bindings/driver.pyx":16773
 *     def extSemSignal(self):
 *         return self._extSemSignal
 *     @extSemSignal.setter             # <<<<<<<<<<<<<<
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemSignal, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._pvt_ptr[0].extSemSignal))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.extSemSignal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16776
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemSignal, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._pvt_ptr[0].extSemSignal))
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemWait(self):
 *         return self._extSemWait
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16778
 *     @property
 *     def extSemWait(self):
 *         return self._extSemWait             # <<<<<<<<<<<<<<
 *     @extSemWait.setter
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_extSemWait);
  __pyx_r = ((PyObject *)__pyx_v_self->_extSemWait);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16776
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemSignal, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._pvt_ptr[0].extSemSignal))
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemWait(self):
 *         return self._extSemWait
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16779
 *     def extSemWait(self):
 *         return self._extSemWait
 *     @extSemWait.setter             # <<<<<<<<<<<<<<
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemWait, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._pvt_ptr[0].extSemWait))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extSemWait); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extSemWait) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extSemWait), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2, 0, "extSemWait", 0))) __PYX_ERR(0, 16780, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)__pyx_v_extSemWait));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *__pyx_v_extSemWait) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16781
 *     @extSemWait.setter
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemWait, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._pvt_ptr[0].extSemWait))             # <<<<<<<<<<<<<<
 *     @property
 *     def alloc(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_extSemWait);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16781, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).extSemWait), ((CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).extSemWait))));

  /* "cuda/bindings/driver.pyx":16779
 *     def extSemWait(self):
 *         return self._extSemWait
 *     @extSemWait.setter             # <<<<<<<<<<<<<<
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemWait, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._pvt_ptr[0].extSemWait))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.extSemWait.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16782
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemWait, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._pvt_ptr[0].extSemWait))
 *     @property             # <<<<<<<<<<<<<<
 *     def alloc(self):
 *         return self._alloc
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16784
 *     @property
 *     def alloc(self):
 *         return self._alloc             # <<<<<<<<<<<<<<
 *     @alloc.setter
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_alloc);
  __pyx_r = ((PyObject *)__pyx_v_self->_alloc);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16782
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].extSemWait, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._pvt_ptr[0].extSemWait))
 *     @property             # <<<<<<<<<<<<<<
 *     def alloc(self):
 *         return self._alloc
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16785
 *     def alloc(self):
 *         return self._alloc
 *     @alloc.setter             # <<<<<<<<<<<<<<
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].alloc, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._pvt_ptr[0].alloc))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alloc); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alloc) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_alloc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2, 0, "alloc", 0))) __PYX_ERR(0, 16786, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)__pyx_v_alloc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *__pyx_v_alloc) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16787
 *     @alloc.setter
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].alloc, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._pvt_ptr[0].alloc))             # <<<<<<<<<<<<<<
 *     @property
 *     def free(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_alloc);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).alloc), ((CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).alloc))));

  /* "cuda/bindings/driver.pyx":16785
 *     def alloc(self):
 *         return self._alloc
 *     @alloc.setter             # <<<<<<<<<<<<<<
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].alloc, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._pvt_ptr[0].alloc))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.alloc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16788
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].alloc, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._pvt_ptr[0].alloc))
 *     @property             # <<<<<<<<<<<<<<
 *     def free(self):
 *         return self._free
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16790
 *     @property
 *     def free(self):
 *         return self._free             # <<<<<<<<<<<<<<
 *     @free.setter
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_free);
  __pyx_r = ((PyObject *)__pyx_v_self->_free);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16788
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].alloc, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._pvt_ptr[0].alloc))
 *     @property             # <<<<<<<<<<<<<<
 *     def free(self):
 *         return self._free
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16791
 *     def free(self):
 *         return self._free
 *     @free.setter             # <<<<<<<<<<<<<<
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].free, <cydriver.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._pvt_ptr[0].free))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_free); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_free) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_free), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS, 0, "free", 0))) __PYX_ERR(0, 16792, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS *)__pyx_v_free));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS *__pyx_v_free) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16793
 *     @free.setter
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].free, <cydriver.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._pvt_ptr[0].free))             # <<<<<<<<<<<<<<
 *     @property
 *     def memOp(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_free);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16793, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).free), ((CUDA_MEM_FREE_NODE_PARAMS *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).free))));

  /* "cuda/bindings/driver.pyx":16791
 *     def free(self):
 *         return self._free
 *     @free.setter             # <<<<<<<<<<<<<<
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].free, <cydriver.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._pvt_ptr[0].free))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.free.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16794
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].free, <cydriver.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._pvt_ptr[0].free))
 *     @property             # <<<<<<<<<<<<<<
 *     def memOp(self):
 *         return self._memOp
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16796
 *     @property
 *     def memOp(self):
 *         return self._memOp             # <<<<<<<<<<<<<<
 *     @memOp.setter
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_memOp);
  __pyx_r = ((PyObject *)__pyx_v_self->_memOp);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16794
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].free, <cydriver.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._pvt_ptr[0].free))
 *     @property             # <<<<<<<<<<<<<<
 *     def memOp(self):
 *         return self._memOp
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16797
 *     def memOp(self):
 *         return self._memOp
 *     @memOp.setter             # <<<<<<<<<<<<<<
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memOp, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._pvt_ptr[0].memOp))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memOp); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memOp) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memOp), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2, 0, "memOp", 0))) __PYX_ERR(0, 16798, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)__pyx_v_memOp));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *__pyx_v_memOp) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16799
 *     @memOp.setter
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memOp, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._pvt_ptr[0].memOp))             # <<<<<<<<<<<<<<
 *     @property
 *     def conditional(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_memOp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).memOp), ((CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).memOp))));

  /* "cuda/bindings/driver.pyx":16797
 *     def memOp(self):
 *         return self._memOp
 *     @memOp.setter             # <<<<<<<<<<<<<<
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memOp, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._pvt_ptr[0].memOp))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.memOp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16800
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memOp, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._pvt_ptr[0].memOp))
 *     @property             # <<<<<<<<<<<<<<
 *     def conditional(self):
 *         return self._conditional
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16802
 *     @property
 *     def conditional(self):
 *         return self._conditional             # <<<<<<<<<<<<<<
 *     @conditional.setter
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_conditional);
  __pyx_r = ((PyObject *)__pyx_v_self->_conditional);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16800
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._pvt_ptr[0].memOp, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._pvt_ptr[0].memOp))
 *     @property             # <<<<<<<<<<<<<<
 *     def conditional(self):
 *         return self._conditional
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16803
 *     def conditional(self):
 *         return self._conditional
 *     @conditional.setter             # <<<<<<<<<<<<<<
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].conditional, <cydriver.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._pvt_ptr[0].conditional))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_conditional); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_conditional) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_conditional), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, 0, "conditional", 0))) __PYX_ERR(0, 16804, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_conditional));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_conditional) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16805
 *     @conditional.setter
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].conditional, <cydriver.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._pvt_ptr[0].conditional))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved2(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_conditional);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).conditional), ((struct CUDA_CONDITIONAL_NODE_PARAMS *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).conditional))));

  /* "cuda/bindings/driver.pyx":16803
 *     def conditional(self):
 *         return self._conditional
 *     @conditional.setter             # <<<<<<<<<<<<<<
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].conditional, <cydriver.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._pvt_ptr[0].conditional))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.conditional.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16806
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].conditional, <cydriver.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._pvt_ptr[0].conditional))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved2(self):
 *         return self._pvt_ptr[0].reserved2
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16808
 *     @property
 *     def reserved2(self):
 *         return self._pvt_ptr[0].reserved2             # <<<<<<<<<<<<<<
 *     @reserved2.setter
 *     def reserved2(self, long long reserved2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG((__pyx_v_self->_pvt_ptr[0]).reserved2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16806
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._pvt_ptr[0].conditional, <cydriver.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._pvt_ptr[0].conditional))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved2(self):
 *         return self._pvt_ptr[0].reserved2
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.reserved2.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16809
 *     def reserved2(self):
 *         return self._pvt_ptr[0].reserved2
 *     @reserved2.setter             # <<<<<<<<<<<<<<
 *     def reserved2(self, long long reserved2):
 *         self._pvt_ptr[0].reserved2 = reserved2
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved2); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved2) {
  PY_LONG_LONG __pyx_v_reserved2;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_reserved2); {
    __pyx_v_reserved2 = __Pyx_PyLong_As_PY_LONG_LONG(__pyx_arg_reserved2); if (unlikely((__pyx_v_reserved2 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16810, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.reserved2.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), ((PY_LONG_LONG)__pyx_v_reserved2));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, PY_LONG_LONG __pyx_v_reserved2) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":16811
 *     @reserved2.setter
 *     def reserved2(self, long long reserved2):
 *         self._pvt_ptr[0].reserved2 = reserved2             # <<<<<<<<<<<<<<
 * 
 * cdef class CUcheckpointLockArgs_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).reserved2 = __pyx_v_reserved2;

  /* "cuda/bindings/driver.pyx":16809
 *     def reserved2(self):
 *         return self._pvt_ptr[0].reserved2
 *     @reserved2.setter             # <<<<<<<<<<<<<<
 *     def reserved2(self, long long reserved2):
 *         self._pvt_ptr[0].reserved2 = reserved2
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10__reduce_cython__, "CUgraphNodeParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12__setstate_cython__, "CUgraphNodeParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_20CUgraphNodeParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUgraphNodeParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16832
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16832, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16832, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16832, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16832, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16832, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16832, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16833
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16834
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointLockArgs_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16833
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16836
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointLockArgs_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUcheckpointLockArgs_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16832
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16837
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointLockArgs_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16837, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16837, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16837, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16837, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16837, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16837, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16839
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16841
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_6getPtr, "CUcheckpointLockArgs_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16842
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16841
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16843
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16844
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16845
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16846
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16847
 *             str_list = []
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_timeoutMs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16847, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16847, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_timeoutMs, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16847, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16847, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16847, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16847, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16846
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16848
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16848, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16849
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16849, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_timeoutMs_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_timeoutMs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_timeoutMs_ValueError) != (0)) __PYX_ERR(0, 16849, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16849, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16846
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16850
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16851
 *                 str_list += ['timeoutMs : <ValueError>']
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved0_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16851, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16851, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved0, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16851, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16851, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 16851, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16851, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":16850
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16852
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 16852, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16853
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16853, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved0_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved0_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved0_ValueError) != (0)) __PYX_ERR(0, 16853, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16853, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":16850
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16854
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16855
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved1_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16855, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16855, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved1, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16855, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16855, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16855, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16855, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16854
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":16856
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16856, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16857
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16857, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved1_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved1_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved1_ValueError) != (0)) __PYX_ERR(0, 16857, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16857, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":16854
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16858
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16844
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16860
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def timeoutMs(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16843
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16861
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].timeoutMs
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16863
 *     @property
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].timeoutMs             # <<<<<<<<<<<<<<
 *     @timeoutMs.setter
 *     def timeoutMs(self, unsigned int timeoutMs):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).timeoutMs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16861
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].timeoutMs
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.timeoutMs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16864
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].timeoutMs
 *     @timeoutMs.setter             # <<<<<<<<<<<<<<
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._pvt_ptr[0].timeoutMs = timeoutMs
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_timeoutMs); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_timeoutMs) {
  unsigned int __pyx_v_timeoutMs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_timeoutMs); {
    __pyx_v_timeoutMs = __Pyx_PyLong_As_unsigned_int(__pyx_arg_timeoutMs); if (unlikely((__pyx_v_timeoutMs == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16865, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.timeoutMs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self), ((unsigned int)__pyx_v_timeoutMs));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, unsigned int __pyx_v_timeoutMs) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":16866
 *     @timeoutMs.setter
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._pvt_ptr[0].timeoutMs = timeoutMs             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved0(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).timeoutMs = __pyx_v_timeoutMs;

  /* "cuda/bindings/driver.pyx":16864
 *     def timeoutMs(self):
 *         return self._pvt_ptr[0].timeoutMs
 *     @timeoutMs.setter             # <<<<<<<<<<<<<<
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._pvt_ptr[0].timeoutMs = timeoutMs
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16867
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._pvt_ptr[0].timeoutMs = timeoutMs
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16869
 *     @property
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0             # <<<<<<<<<<<<<<
 *     @reserved0.setter
 *     def reserved0(self, unsigned int reserved0):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).reserved0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16867
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._pvt_ptr[0].timeoutMs = timeoutMs
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.reserved0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16870
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, unsigned int reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved0); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved0) {
  unsigned int __pyx_v_reserved0;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_reserved0); {
    __pyx_v_reserved0 = __Pyx_PyLong_As_unsigned_int(__pyx_arg_reserved0); if (unlikely((__pyx_v_reserved0 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16871, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.reserved0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self), ((unsigned int)__pyx_v_reserved0));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, unsigned int __pyx_v_reserved0) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":16872
 *     @reserved0.setter
 *     def reserved0(self, unsigned int reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved1(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).reserved0 = __pyx_v_reserved0;

  /* "cuda/bindings/driver.pyx":16870
 *     def reserved0(self):
 *         return self._pvt_ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, unsigned int reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16873
 *     def reserved0(self, unsigned int reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return [cuuint64_t(init_value=_reserved1) for _reserved1 in self._pvt_ptr[0].reserved1]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self) {
  cuuint64_t __pyx_10genexpr223__pyx_v__reserved1;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cuuint64_t *__pyx_t_2;
  cuuint64_t *__pyx_t_3;
  cuuint64_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16875
 *     @property
 *     def reserved1(self):
 *         return [cuuint64_t(init_value=_reserved1) for _reserved1 in self._pvt_ptr[0].reserved1]             # <<<<<<<<<<<<<<
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_pvt_ptr[0]).reserved1 + 7);
    for (__pyx_t_4 = (__pyx_v_self->_pvt_ptr[0]).reserved1; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_10genexpr223__pyx_v__reserved1 = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
      __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
      __pyx_t_8 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr223__pyx_v__reserved1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16875, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16875, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16875, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_7, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16875, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 16875, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16873
 *     def reserved0(self, unsigned int reserved0):
 *         self._pvt_ptr[0].reserved0 = reserved0
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return [cuuint64_t(init_value=_reserved1) for _reserved1 in self._pvt_ptr[0].reserved1]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.reserved1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16876
 *     def reserved1(self):
 *         return [cuuint64_t(init_value=_reserved1) for _reserved1 in self._pvt_ptr[0].reserved1]
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         self._pvt_ptr[0].reserved1 = reserved1
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved1));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  int __pyx_r;
  cuuint64_t __pyx_t_1[7];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":16878
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
 *         self._pvt_ptr[0].reserved1 = reserved1             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (unlikely((__Pyx_carray_from_py_cuuint64_t(__pyx_v_reserved1, __pyx_t_1, 7) < 0))) __PYX_ERR(0, 16878, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved1[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved1[0]) * (7));

  /* "cuda/bindings/driver.pyx":16876
 *     def reserved1(self):
 *         return [cuuint64_t(init_value=_reserved1) for _reserved1 in self._pvt_ptr[0].reserved1]
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         self._pvt_ptr[0].reserved1 = reserved1
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.reserved1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_10__reduce_cython__, "CUcheckpointLockArgs_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_12__setstate_cython__, "CUcheckpointLockArgs_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointLockArgs_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16895
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16895, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16895, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16895, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16895, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16896
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16897
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointCheckpointArgs_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16896
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16899
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointCheckpointArgs_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUcheckpointCheckpointArgs_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16895
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16900
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointCheckpointArgs_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16900, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16900, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16900, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16900, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16900, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16900, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16902
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16904
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_6getPtr, "CUcheckpointCheckpointArgs_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16905
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16904
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16906
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16907
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16908
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16909
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16910
 *             str_list = []
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16910, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16910, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16910, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16910, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16910, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16910, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16909
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16911
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16911, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16912
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16912, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 16912, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16912, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16909
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16913
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16907
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16915
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16906
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16916
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self) {
  cuuint64_t __pyx_10genexpr224__pyx_v__reserved;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cuuint64_t *__pyx_t_2;
  cuuint64_t *__pyx_t_3;
  cuuint64_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16918
 *     @property
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_pvt_ptr[0]).reserved + 8);
    for (__pyx_t_4 = (__pyx_v_self->_pvt_ptr[0]).reserved; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_10genexpr224__pyx_v__reserved = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
      __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
      __pyx_t_8 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr224__pyx_v__reserved); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16918, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16918, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16918, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_7, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16918, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 16918, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16916
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16919
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  cuuint64_t __pyx_t_1[8];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":16921
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (unlikely((__Pyx_carray_from_py_cuuint64_t(__pyx_v_reserved, __pyx_t_1, 8) < 0))) __PYX_ERR(0, 16921, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (8));

  /* "cuda/bindings/driver.pyx":16919
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_10__reduce_cython__, "CUcheckpointCheckpointArgs_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_12__setstate_cython__, "CUcheckpointCheckpointArgs_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointCheckpointArgs_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16938
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16938, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16938, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16938, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16938, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16938, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16938, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16939
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16940
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointRestoreArgs_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16939
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16942
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointRestoreArgs_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUcheckpointRestoreArgs_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16938
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16943
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointRestoreArgs_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16943, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16943, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16943, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16943, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16945
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16947
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_6getPtr, "CUcheckpointRestoreArgs_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16948
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16947
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16949
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16950
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16951
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16952
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16953
 *             str_list = []
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16953, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16953, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16953, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16953, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16953, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16953, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16952
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16954
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16954, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16955
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16955, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 16955, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16955, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16952
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16956
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16950
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16958
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16949
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16959
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self) {
  cuuint64_t __pyx_10genexpr225__pyx_v__reserved;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cuuint64_t *__pyx_t_2;
  cuuint64_t *__pyx_t_3;
  cuuint64_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16961
 *     @property
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_pvt_ptr[0]).reserved + 8);
    for (__pyx_t_4 = (__pyx_v_self->_pvt_ptr[0]).reserved; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_10genexpr225__pyx_v__reserved = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
      __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
      __pyx_t_8 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr225__pyx_v__reserved); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16961, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16961, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16961, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_7, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16961, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 16961, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16959
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16962
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  cuuint64_t __pyx_t_1[8];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":16964
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (unlikely((__Pyx_carray_from_py_cuuint64_t(__pyx_v_reserved, __pyx_t_1, 8) < 0))) __PYX_ERR(0, 16964, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (8));

  /* "cuda/bindings/driver.pyx":16962
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_10__reduce_cython__, "CUcheckpointRestoreArgs_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_12__setstate_cython__, "CUcheckpointRestoreArgs_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16981
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16981, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16981, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 16981, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16981, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16981, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16981, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":16982
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16983
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointUnlockArgs_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":16982
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16985
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointUnlockArgs_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUcheckpointUnlockArgs_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16981
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16986
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointUnlockArgs_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 16986, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16986, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 16986, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 16986, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16986, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 16986, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16988
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":16990
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_6getPtr, "CUcheckpointUnlockArgs_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":16991
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16990
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16992
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":16993
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":16994
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16995
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":16996
 *             str_list = []
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16996, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16996, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16996, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16996, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 16996, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16996, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":16995
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":16997
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 16997, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16998
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16998, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved_ValueError) != (0)) __PYX_ERR(0, 16998, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16998, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":16995
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":16999
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16993
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17001
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":16992
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17002
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self) {
  cuuint64_t __pyx_10genexpr226__pyx_v__reserved;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cuuint64_t *__pyx_t_2;
  cuuint64_t *__pyx_t_3;
  cuuint64_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17004
 *     @property
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_pvt_ptr[0]).reserved + 8);
    for (__pyx_t_4 = (__pyx_v_self->_pvt_ptr[0]).reserved; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_10genexpr226__pyx_v__reserved = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
      __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
      __pyx_t_8 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr226__pyx_v__reserved); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17004, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17004, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17004, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_7, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17004, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 17004, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17002
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17005
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  cuuint64_t __pyx_t_1[8];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "cuda/bindings/driver.pyx":17007
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (unlikely((__Pyx_carray_from_py_cuuint64_t(__pyx_v_reserved, __pyx_t_1, 8) < 0))) __PYX_ERR(0, 17007, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_pvt_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_pvt_ptr[0]).reserved[0]) * (8));

  /* "cuda/bindings/driver.pyx":17005
 *     def reserved(self):
 *         return [cuuint64_t(init_value=_reserved) for _reserved in self._pvt_ptr[0].reserved]
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_10__reduce_cython__, "CUcheckpointUnlockArgs_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_12__setstate_cython__, "CUcheckpointUnlockArgs_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointUnlockArgs_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17046
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17046, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17046, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17046, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 17046, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17047
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17048
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemDecompressParams_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17047
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17050
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemDecompressParams_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUmemDecompressParams_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17046
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17051
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemDecompressParams_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17051, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17051, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 17051, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17051, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17051, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 17051, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17053
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17055
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_6getPtr, "CUmemDecompressParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17056
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17055
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17057
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17058
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17059
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcNumBytes : ' + str(self.srcNumBytes)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17060
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcNumBytes : ' + str(self.srcNumBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17061
 *             str_list = []
 *             try:
 *                 str_list += ['srcNumBytes : ' + str(self.srcNumBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcNumBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcNumBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17061, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17061, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_srcNumBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17061, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17061, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17061, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17061, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17060
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcNumBytes : ' + str(self.srcNumBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":17062
 *             try:
 *                 str_list += ['srcNumBytes : ' + str(self.srcNumBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcNumBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 17062, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17063
 *                 str_list += ['srcNumBytes : ' + str(self.srcNumBytes)]
 *             except ValueError:
 *                 str_list += ['srcNumBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstNumBytes : ' + str(self.dstNumBytes)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17063, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_srcNumBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_srcNumBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_srcNumBytes_ValueError) != (0)) __PYX_ERR(0, 17063, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17063, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":17060
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcNumBytes : ' + str(self.srcNumBytes)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17064
 *             except ValueError:
 *                 str_list += ['srcNumBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstNumBytes : ' + str(self.dstNumBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17065
 *                 str_list += ['srcNumBytes : <ValueError>']
 *             try:
 *                 str_list += ['dstNumBytes : ' + str(self.dstNumBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstNumBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstNumBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17065, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17065, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstNumBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17065, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17065, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 17065, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17065, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":17064
 *             except ValueError:
 *                 str_list += ['srcNumBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstNumBytes : ' + str(self.dstNumBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17066
 *             try:
 *                 str_list += ['dstNumBytes : ' + str(self.dstNumBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstNumBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 17066, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17067
 *                 str_list += ['dstNumBytes : ' + str(self.dstNumBytes)]
 *             except ValueError:
 *                 str_list += ['dstNumBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstActBytes : ' + str(self.dstActBytes)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17067, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstNumBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstNumBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_dstNumBytes_ValueError) != (0)) __PYX_ERR(0, 17067, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17067, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":17064
 *             except ValueError:
 *                 str_list += ['srcNumBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstNumBytes : ' + str(self.dstNumBytes)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17068
 *             except ValueError:
 *                 str_list += ['dstNumBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstActBytes : ' + str(self.dstActBytes)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17069
 *                 str_list += ['dstNumBytes : <ValueError>']
 *             try:
 *                 str_list += ['dstActBytes : ' + str(self.dstActBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstActBytes : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstActBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17069, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17069, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_dstActBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17069, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17069, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17069, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17069, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17068
 *             except ValueError:
 *                 str_list += ['dstNumBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstActBytes : ' + str(self.dstActBytes)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17070
 *             try:
 *                 str_list += ['dstActBytes : ' + str(self.dstActBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstActBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 17070, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17071
 *                 str_list += ['dstActBytes : ' + str(self.dstActBytes)]
 *             except ValueError:
 *                 str_list += ['dstActBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['src : ' + hex(self.src)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17071, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dstActBytes_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dstActBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_dstActBytes_ValueError) != (0)) __PYX_ERR(0, 17071, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17071, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":17068
 *             except ValueError:
 *                 str_list += ['dstNumBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstActBytes : ' + str(self.dstActBytes)]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17072
 *             except ValueError:
 *                 str_list += ['dstActBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['src : ' + hex(self.src)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17073
 *                 str_list += ['dstActBytes : <ValueError>']
 *             try:
 *                 str_list += ['src : ' + hex(self.src)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_src_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17073, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17073, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_src_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17073, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17073, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17073, __pyx_L28_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17073, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17072
 *             except ValueError:
 *                 str_list += ['dstActBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['src : ' + hex(self.src)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L33_try_end;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17074
 *             try:
 *                 str_list += ['src : ' + hex(self.src)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['src : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 17074, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":17075
 *                 str_list += ['src : ' + hex(self.src)]
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dst : ' + hex(self.dst)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17075, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_src_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_src_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_src_ValueError) != (0)) __PYX_ERR(0, 17075, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17075, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L29_exception_handled;
      }
      goto __pyx_L30_except_error;

      /* "cuda/bindings/driver.pyx":17072
 *             except ValueError:
 *                 str_list += ['dstActBytes : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['src : ' + hex(self.src)]
 *             except ValueError:
*/
      __pyx_L30_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L29_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L33_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17076
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + hex(self.dst)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17077
 *                 str_list += ['src : <ValueError>']
 *             try:
 *                 str_list += ['dst : ' + hex(self.dst)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
*/
        __pyx_t_8 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dst_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17077, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
          __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17077, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_10);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_dst, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17077, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17077, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17077, __pyx_L36_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17077, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17076
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + hex(self.dst)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L36_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17078
 *             try:
 *                 str_list += ['dst : ' + hex(self.dst)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 17078, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":17079
 *                 str_list += ['dst : ' + hex(self.dst)]
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['algo : ' + str(self.algo)]
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17079, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dst_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dst_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_dst_ValueError) != (0)) __PYX_ERR(0, 17079, __pyx_L38_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17079, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L37_exception_handled;
      }
      goto __pyx_L38_except_error;

      /* "cuda/bindings/driver.pyx":17076
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : ' + hex(self.dst)]
 *             except ValueError:
*/
      __pyx_L38_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L37_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L41_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17080
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['algo : ' + str(self.algo)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17081
 *                 str_list += ['dst : <ValueError>']
 *             try:
 *                 str_list += ['algo : ' + str(self.algo)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['algo : <ValueError>']
*/
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_algo_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17081, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17081, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_algo, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17081, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17081, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 17081, __pyx_L44_error);
        __pyx_t_9 = 0;
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17081, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;

        /* "cuda/bindings/driver.pyx":17080
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['algo : ' + str(self.algo)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L49_try_end;
      __pyx_L44_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17082
 *             try:
 *                 str_list += ['algo : ' + str(self.algo)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['algo : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_2) < 0) __PYX_ERR(0, 17082, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17083
 *                 str_list += ['algo : ' + str(self.algo)]
 *             except ValueError:
 *                 str_list += ['algo : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['padding : ' + str(self.padding)]
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17083, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_algo_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_algo_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_algo_ValueError) != (0)) __PYX_ERR(0, 17083, __pyx_L46_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17083, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L45_exception_handled;
      }
      goto __pyx_L46_except_error;

      /* "cuda/bindings/driver.pyx":17080
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['algo : ' + str(self.algo)]
 *             except ValueError:
*/
      __pyx_L46_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L45_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L49_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17084
 *             except ValueError:
 *                 str_list += ['algo : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['padding : ' + str(self.padding)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17085
 *                 str_list += ['algo : <ValueError>']
 *             try:
 *                 str_list += ['padding : ' + str(self.padding)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['padding : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_padding_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17085, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17085, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_padding, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17085, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17085, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17085, __pyx_L52_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17085, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17084
 *             except ValueError:
 *                 str_list += ['algo : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['padding : ' + str(self.padding)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L57_try_end;
      __pyx_L52_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17086
 *             try:
 *                 str_list += ['padding : ' + str(self.padding)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['padding : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(0, 17086, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_9);

        /* "cuda/bindings/driver.pyx":17087
 *                 str_list += ['padding : ' + str(self.padding)]
 *             except ValueError:
 *                 str_list += ['padding : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17087, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_padding_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_padding_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_mstate_global->__pyx_kp_u_padding_ValueError) != (0)) __PYX_ERR(0, 17087, __pyx_L54_except_error);
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17087, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L53_exception_handled;
      }
      goto __pyx_L54_except_error;

      /* "cuda/bindings/driver.pyx":17084
 *             except ValueError:
 *                 str_list += ['algo : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['padding : ' + str(self.padding)]
 *             except ValueError:
*/
      __pyx_L54_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L53_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L57_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17088
 *             except ValueError:
 *                 str_list += ['padding : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_9 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17058
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17090
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def srcNumBytes(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":17057
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17091
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcNumBytes(self):
 *         return self._pvt_ptr[0].srcNumBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17093
 *     @property
 *     def srcNumBytes(self):
 *         return self._pvt_ptr[0].srcNumBytes             # <<<<<<<<<<<<<<
 *     @srcNumBytes.setter
 *     def srcNumBytes(self, size_t srcNumBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).srcNumBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17091
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcNumBytes(self):
 *         return self._pvt_ptr[0].srcNumBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.srcNumBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17094
 *     def srcNumBytes(self):
 *         return self._pvt_ptr[0].srcNumBytes
 *     @srcNumBytes.setter             # <<<<<<<<<<<<<<
 *     def srcNumBytes(self, size_t srcNumBytes):
 *         self._pvt_ptr[0].srcNumBytes = srcNumBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcNumBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcNumBytes) {
  size_t __pyx_v_srcNumBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_srcNumBytes); {
    __pyx_v_srcNumBytes = __Pyx_PyLong_As_size_t(__pyx_arg_srcNumBytes); if (unlikely((__pyx_v_srcNumBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17095, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.srcNumBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), ((size_t)__pyx_v_srcNumBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, size_t __pyx_v_srcNumBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17096
 *     @srcNumBytes.setter
 *     def srcNumBytes(self, size_t srcNumBytes):
 *         self._pvt_ptr[0].srcNumBytes = srcNumBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def dstNumBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).srcNumBytes = __pyx_v_srcNumBytes;

  /* "cuda/bindings/driver.pyx":17094
 *     def srcNumBytes(self):
 *         return self._pvt_ptr[0].srcNumBytes
 *     @srcNumBytes.setter             # <<<<<<<<<<<<<<
 *     def srcNumBytes(self, size_t srcNumBytes):
 *         self._pvt_ptr[0].srcNumBytes = srcNumBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17097
 *     def srcNumBytes(self, size_t srcNumBytes):
 *         self._pvt_ptr[0].srcNumBytes = srcNumBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstNumBytes(self):
 *         return self._pvt_ptr[0].dstNumBytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17099
 *     @property
 *     def dstNumBytes(self):
 *         return self._pvt_ptr[0].dstNumBytes             # <<<<<<<<<<<<<<
 *     @dstNumBytes.setter
 *     def dstNumBytes(self, size_t dstNumBytes):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((__pyx_v_self->_pvt_ptr[0]).dstNumBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17097
 *     def srcNumBytes(self, size_t srcNumBytes):
 *         self._pvt_ptr[0].srcNumBytes = srcNumBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstNumBytes(self):
 *         return self._pvt_ptr[0].dstNumBytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.dstNumBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17100
 *     def dstNumBytes(self):
 *         return self._pvt_ptr[0].dstNumBytes
 *     @dstNumBytes.setter             # <<<<<<<<<<<<<<
 *     def dstNumBytes(self, size_t dstNumBytes):
 *         self._pvt_ptr[0].dstNumBytes = dstNumBytes
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstNumBytes); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstNumBytes) {
  size_t __pyx_v_dstNumBytes;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_dstNumBytes); {
    __pyx_v_dstNumBytes = __Pyx_PyLong_As_size_t(__pyx_arg_dstNumBytes); if (unlikely((__pyx_v_dstNumBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17101, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.dstNumBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), ((size_t)__pyx_v_dstNumBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, size_t __pyx_v_dstNumBytes) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17102
 *     @dstNumBytes.setter
 *     def dstNumBytes(self, size_t dstNumBytes):
 *         self._pvt_ptr[0].dstNumBytes = dstNumBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def dstActBytes(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).dstNumBytes = __pyx_v_dstNumBytes;

  /* "cuda/bindings/driver.pyx":17100
 *     def dstNumBytes(self):
 *         return self._pvt_ptr[0].dstNumBytes
 *     @dstNumBytes.setter             # <<<<<<<<<<<<<<
 *     def dstNumBytes(self, size_t dstNumBytes):
 *         self._pvt_ptr[0].dstNumBytes = dstNumBytes
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17103
 *     def dstNumBytes(self, size_t dstNumBytes):
 *         self._pvt_ptr[0].dstNumBytes = dstNumBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstActBytes(self):
 *         return cuuint32_t(_ptr=<void_ptr>self._pvt_ptr[0].dstActBytes)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstActBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstActBytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstActBytes___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstActBytes___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17105
 *     @property
 *     def dstActBytes(self):
 *         return cuuint32_t(_ptr=<void_ptr>self._pvt_ptr[0].dstActBytes)             # <<<<<<<<<<<<<<
 *     @property
 *     def src(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).dstActBytes)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17105, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17105, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_r = ((PyObject *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17103
 *     def dstNumBytes(self, size_t dstNumBytes):
 *         self._pvt_ptr[0].dstNumBytes = dstNumBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstActBytes(self):
 *         return cuuint32_t(_ptr=<void_ptr>self._pvt_ptr[0].dstActBytes)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.dstActBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17106
 *     def dstActBytes(self):
 *         return cuuint32_t(_ptr=<void_ptr>self._pvt_ptr[0].dstActBytes)
 *     @property             # <<<<<<<<<<<<<<
 *     def src(self):
 *         return <void_ptr>self._pvt_ptr[0].src
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17108
 *     @property
 *     def src(self):
 *         return <void_ptr>self._pvt_ptr[0].src             # <<<<<<<<<<<<<<
 *     @src.setter
 *     def src(self, src):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).src)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17106
 *     def dstActBytes(self):
 *         return cuuint32_t(_ptr=<void_ptr>self._pvt_ptr[0].dstActBytes)
 *     @property             # <<<<<<<<<<<<<<
 *     def src(self):
 *         return <void_ptr>self._pvt_ptr[0].src
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.src.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17109
 *     def src(self):
 *         return <void_ptr>self._pvt_ptr[0].src
 *     @src.setter             # <<<<<<<<<<<<<<
 *     def src(self, src):
 *         _csrc = _HelperInputVoidPtr(src)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_src); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_src) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_src));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, PyObject *__pyx_v_src) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__csrc = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17111
 *     @src.setter
 *     def src(self, src):
 *         _csrc = _HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].src = <void*><void_ptr>_csrc.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_src};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17111, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__csrc = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":17112
 *     def src(self, src):
 *         _csrc = _HelperInputVoidPtr(src)
 *         self._pvt_ptr[0].src = <void*><void_ptr>_csrc.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dst(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__csrc), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).src = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":17109
 *     def src(self):
 *         return <void_ptr>self._pvt_ptr[0].src
 *     @src.setter             # <<<<<<<<<<<<<<
 *     def src(self, src):
 *         _csrc = _HelperInputVoidPtr(src)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.src.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__csrc);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17113
 *         _csrc = _HelperInputVoidPtr(src)
 *         self._pvt_ptr[0].src = <void*><void_ptr>_csrc.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return <void_ptr>self._pvt_ptr[0].dst
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17115
 *     @property
 *     def dst(self):
 *         return <void_ptr>self._pvt_ptr[0].dst             # <<<<<<<<<<<<<<
 *     @dst.setter
 *     def dst(self, dst):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0]).dst)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17113
 *         _csrc = _HelperInputVoidPtr(src)
 *         self._pvt_ptr[0].src = <void*><void_ptr>_csrc.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return <void_ptr>self._pvt_ptr[0].dst
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.dst.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17116
 *     def dst(self):
 *         return <void_ptr>self._pvt_ptr[0].dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         _cdst = _HelperInputVoidPtr(dst)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_dst));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, PyObject *__pyx_v_dst) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v__cdst = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17118
 *     @dst.setter
 *     def dst(self, dst):
 *         _cdst = _HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].dst = <void*><void_ptr>_cdst.cptr
 *     @property
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dst};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17118, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v__cdst = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":17119
 *     def dst(self, dst):
 *         _cdst = _HelperInputVoidPtr(dst)
 *         self._pvt_ptr[0].dst = <void*><void_ptr>_cdst.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def algo(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v__cdst), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).dst = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":17116
 *     def dst(self):
 *         return <void_ptr>self._pvt_ptr[0].dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         _cdst = _HelperInputVoidPtr(dst)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.dst.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v__cdst);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17120
 *         _cdst = _HelperInputVoidPtr(dst)
 *         self._pvt_ptr[0].dst = <void*><void_ptr>_cdst.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def algo(self):
 *         if self._pvt_ptr[0].algo not in _dict_CUmemDecompressAlgorithm:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17122
 *     @property
 *     def algo(self):
 *         if self._pvt_ptr[0].algo not in _dict_CUmemDecompressAlgorithm:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemDecompressAlgorithm[self._pvt_ptr[0].algo]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemDecompressAlgorithm_enum((__pyx_v_self->_pvt_ptr[0]).algo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemDecompressAlgorithm); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 17122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":17123
 *     def algo(self):
 *         if self._pvt_ptr[0].algo not in _dict_CUmemDecompressAlgorithm:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUmemDecompressAlgorithm[self._pvt_ptr[0].algo]
 *     @algo.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17122
 *     @property
 *     def algo(self):
 *         if self._pvt_ptr[0].algo not in _dict_CUmemDecompressAlgorithm:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUmemDecompressAlgorithm[self._pvt_ptr[0].algo]
*/
  }

  /* "cuda/bindings/driver.pyx":17124
 *         if self._pvt_ptr[0].algo not in _dict_CUmemDecompressAlgorithm:
 *             return None
 *         return _dict_CUmemDecompressAlgorithm[self._pvt_ptr[0].algo]             # <<<<<<<<<<<<<<
 *     @algo.setter
 *     def algo(self, algo not None : CUmemDecompressAlgorithm):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUmemDecompressAlgorithm); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUmemDecompressAlgorithm_enum((__pyx_v_self->_pvt_ptr[0]).algo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17120
 *         _cdst = _HelperInputVoidPtr(dst)
 *         self._pvt_ptr[0].dst = <void*><void_ptr>_cdst.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def algo(self):
 *         if self._pvt_ptr[0].algo not in _dict_CUmemDecompressAlgorithm:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.algo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17125
 *             return None
 *         return _dict_CUmemDecompressAlgorithm[self._pvt_ptr[0].algo]
 *     @algo.setter             # <<<<<<<<<<<<<<
 *     def algo(self, algo not None : CUmemDecompressAlgorithm):
 *         self._pvt_ptr[0].algo = algo.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_algo); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_algo) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_algo) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "algo"); __PYX_ERR(0, 17126, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_algo));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, PyObject *__pyx_v_algo) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUmemDecompressAlgorithm __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17127
 *     @algo.setter
 *     def algo(self, algo not None : CUmemDecompressAlgorithm):
 *         self._pvt_ptr[0].algo = algo.value             # <<<<<<<<<<<<<<
 *     @property
 *     def padding(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_algo, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemDecompressAlgorithm_enum)__Pyx_PyLong_As_enum__CUmemDecompressAlgorithm_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).algo = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":17125
 *             return None
 *         return _dict_CUmemDecompressAlgorithm[self._pvt_ptr[0].algo]
 *     @algo.setter             # <<<<<<<<<<<<<<
 *     def algo(self, algo not None : CUmemDecompressAlgorithm):
 *         self._pvt_ptr[0].algo = algo.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.algo.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17128
 *     def algo(self, algo not None : CUmemDecompressAlgorithm):
 *         self._pvt_ptr[0].algo = algo.value
 *     @property             # <<<<<<<<<<<<<<
 *     def padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].padding, 20)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17130
 *     @property
 *     def padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].padding, 20)             # <<<<<<<<<<<<<<
 *     @padding.setter
 *     def padding(self, padding):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0]).padding), 20); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17128
 *     def algo(self, algo not None : CUmemDecompressAlgorithm):
 *         self._pvt_ptr[0].algo = algo.value
 *     @property             # <<<<<<<<<<<<<<
 *     def padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].padding, 20)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.padding.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17131
 *     def padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].padding, 20)
 *     @padding.setter             # <<<<<<<<<<<<<<
 *     def padding(self, padding):
 *         if len(padding) != 20:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_padding); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_padding) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_padding));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, PyObject *__pyx_v_padding) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  unsigned char __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17133
 *     @padding.setter
 *     def padding(self, padding):
 *         if len(padding) != 20:             # <<<<<<<<<<<<<<
 *             raise ValueError("padding length must be 20, is " + str(len(padding)))
 *         for i, b in enumerate(padding):
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_padding); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17133, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 20);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":17134
 *     def padding(self, padding):
 *         if len(padding) != 20:
 *             raise ValueError("padding length must be 20, is " + str(len(padding)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(padding):
 *             self._pvt_ptr[0].padding[i] = b
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v_padding); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17134, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_padding_length_must_be_20_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17134, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17134, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":17133
 *     @padding.setter
 *     def padding(self, padding):
 *         if len(padding) != 20:             # <<<<<<<<<<<<<<
 *             raise ValueError("padding length must be 20, is " + str(len(padding)))
 *         for i, b in enumerate(padding):
*/
  }

  /* "cuda/bindings/driver.pyx":17135
 *         if len(padding) != 20:
 *             raise ValueError("padding length must be 20, is " + str(len(padding)))
 *         for i, b in enumerate(padding):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].padding[i] = b
 * 
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_padding)) || PyTuple_CheckExact(__pyx_v_padding)) {
    __pyx_t_5 = __pyx_v_padding; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_padding); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17135, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17135, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17135, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17135, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 17135, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":17136
 *             raise ValueError("padding length must be 20, is " + str(len(padding)))
 *         for i, b in enumerate(padding):
 *             self._pvt_ptr[0].padding[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevSmResource_st:
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 17136, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17136, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).padding[__pyx_t_11]) = __pyx_t_10;

    /* "cuda/bindings/driver.pyx":17135
 *         if len(padding) != 20:
 *             raise ValueError("padding length must be 20, is " + str(len(padding)))
 *         for i, b in enumerate(padding):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].padding[i] = b
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":17131
 *     def padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].padding, 20)
 *     @padding.setter             # <<<<<<<<<<<<<<
 *     def padding(self, padding):
 *         if len(padding) != 20:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.padding.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_10__reduce_cython__, "CUmemDecompressParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_12__setstate_cython__, "CUmemDecompressParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24CUmemDecompressParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24CUmemDecompressParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemDecompressParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17151
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17151, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17151, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17151, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17151, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17151, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 17151, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17152
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17153
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevSmResource_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17152
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17155
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevSmResource_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUdevSmResource_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17151
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17156
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevSmResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17156, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 17156, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17156, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 17156, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17158
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17160
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_6getPtr, "CUdevSmResource_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUdevSmResource_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17161
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17160
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17162
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17163
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17164
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['smCount : ' + str(self.smCount)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17165
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17166
 *             str_list = []
 *             try:
 *                 str_list += ['smCount : ' + str(self.smCount)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_smCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17166, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17166, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_smCount_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17166, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17166, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17166, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17166, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17165
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":17167
 *             try:
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 17167, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17168
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17168, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_smCount_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_smCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_smCount_ValueError) != (0)) __PYX_ERR(0, 17168, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17168, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":17165
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17169
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17163
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17171
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def smCount(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":17162
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17172
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._pvt_ptr[0].smCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17174
 *     @property
 *     def smCount(self):
 *         return self._pvt_ptr[0].smCount             # <<<<<<<<<<<<<<
 *     @smCount.setter
 *     def smCount(self, unsigned int smCount):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).smCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17172
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._pvt_ptr[0].smCount
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.smCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17175
 *     def smCount(self):
 *         return self._pvt_ptr[0].smCount
 *     @smCount.setter             # <<<<<<<<<<<<<<
 *     def smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_smCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_smCount) {
  unsigned int __pyx_v_smCount;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_smCount); {
    __pyx_v_smCount = __Pyx_PyLong_As_unsigned_int(__pyx_arg_smCount); if (unlikely((__pyx_v_smCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17176, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.smCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self), ((unsigned int)__pyx_v_smCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_smCount) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17177
 *     @smCount.setter
 *     def smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevResource_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).smCount = __pyx_v_smCount;

  /* "cuda/bindings/driver.pyx":17175
 *     def smCount(self):
 *         return self._pvt_ptr[0].smCount
 *     @smCount.setter             # <<<<<<<<<<<<<<
 *     def smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_10__reduce_cython__, "CUdevSmResource_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUdevSmResource_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_12__setstate_cython__, "CUdevSmResource_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_18CUdevSmResource_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17197
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUdevResource_st *>calloc(1, sizeof(cydriver.CUdevResource_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17197, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17197, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17197, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17197, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17197, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 17197, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct CUdevResource_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":17198
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUdevResource_st *>calloc(1, sizeof(cydriver.CUdevResource_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17199
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUdevResource_st *>calloc(1, sizeof(cydriver.CUdevResource_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct CUdevResource_st *)calloc(1, (sizeof(struct CUdevResource_st))));

    /* "cuda/bindings/driver.pyx":17200
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUdevResource_st *>calloc(1, sizeof(cydriver.CUdevResource_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevResource_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":17198
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUdevResource_st *>calloc(1, sizeof(cydriver.CUdevResource_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17202
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevResource_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUdevResource_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17197
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUdevResource_st *>calloc(1, sizeof(cydriver.CUdevResource_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17203
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17203, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 17203, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17203, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 17203, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":17205
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).sm))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17205, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17205, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_sm);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_sm);
  __pyx_v_self->_sm = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":17203
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17206
 *         pass
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17207
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17208
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":17207
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17206
 *         pass
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17209
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_6getPtr, "CUdevResource_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUdevResource_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17210
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17209
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17211
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr227__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17212
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17213
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17214
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17215
 *             str_list = []
 *             try:
 *                 str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17215, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17215, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17215, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17215, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17215, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17215, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17214
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":17216
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 17216, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17217
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17217, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_type_ValueError) != (0)) __PYX_ERR(0, 17217, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17217, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":17214
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17218
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17219
 *                 str_list += ['type : <ValueError>']
 *             try:
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['_internal_padding : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_internal_padding_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17219, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17219, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_internal_padding, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17219, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17219, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 17219, __pyx_L12_error);
        __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17219, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;

        /* "cuda/bindings/driver.pyx":17218
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17220
 *             try:
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['_internal_padding : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 17220, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17221
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]
 *             except ValueError:
 *                 str_list += ['_internal_padding : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17221, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_internal_padding_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_internal_padding_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_internal_padding_ValueError) != (0)) __PYX_ERR(0, 17221, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17221, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":17218
 *             except ValueError:
 *                 str_list += ['type : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17222
 *             except ValueError:
 *                 str_list += ['_internal_padding : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17223
 *                 str_list += ['_internal_padding : <ValueError>']
 *             try:
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17223, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sm_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17223, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17223, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_8), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17223, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17223, __pyx_L28_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_11);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17223, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr227__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr227__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17223, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17223, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr227__pyx_v_line); __pyx_10genexpr227__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_10genexpr227__pyx_v_line); __pyx_10genexpr227__pyx_v_line = 0;
          goto __pyx_L20_error;
          __pyx_L32_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17223, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_sm, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17223, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17223, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17223, __pyx_L20_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17223, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17222
 *             except ValueError:
 *                 str_list += ['_internal_padding : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L25_try_end;
      __pyx_L20_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17224
 *             try:
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sm : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 17224, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17225
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17225, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sm_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sm_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_sm_ValueError) != (0)) __PYX_ERR(0, 17225, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17225, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L21_exception_handled;
      }
      goto __pyx_L22_except_error;

      /* "cuda/bindings/driver.pyx":17222
 *             except ValueError:
 *                 str_list += ['_internal_padding : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
 *             except ValueError:
*/
      __pyx_L22_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L21_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L25_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17226
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17227
 *                 str_list += ['sm : <ValueError>']
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_oversize_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17227, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17227, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_oversize, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17227, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17227, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 17227, __pyx_L35_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17227, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":17226
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17228
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 17228, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17229
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17229, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_oversize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_oversize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_oversize_ValueError) != (0)) __PYX_ERR(0, 17229, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17229, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":17226
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17230
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17212
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17232
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":17211
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr227__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17233
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUdevResourceType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4type___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4type___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17235
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUdevResourceType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUdevResourceType[self._pvt_ptr[0].type]
*/
  __pyx_t_1 = __Pyx_PyLong_From_CUdevResourceType((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUdevResourceType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 17235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":17236
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUdevResourceType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUdevResourceType[self._pvt_ptr[0].type]
 *     @type.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17235
 *     @property
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUdevResourceType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUdevResourceType[self._pvt_ptr[0].type]
*/
  }

  /* "cuda/bindings/driver.pyx":17237
 *         if self._pvt_ptr[0].type not in _dict_CUdevResourceType:
 *             return None
 *         return _dict_CUdevResourceType[self._pvt_ptr[0].type]             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUdevResourceType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUdevResourceType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_CUdevResourceType((__pyx_v_self->_pvt_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17233
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         if self._pvt_ptr[0].type not in _dict_CUdevResourceType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17238
 *             return None
 *         return _dict_CUdevResourceType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUdevResourceType):
 *         self._pvt_ptr[0].type = type.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 17239, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4type_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_4type_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUdevResourceType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17240
 *     @type.setter
 *     def type(self, type not None : CUdevResourceType):
 *         self._pvt_ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def _internal_padding(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((CUdevResourceType)__Pyx_PyLong_As_CUdevResourceType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).type = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":17238
 *             return None
 *         return _dict_CUdevResourceType[self._pvt_ptr[0].type]
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUdevResourceType):
 *         self._pvt_ptr[0].type = type.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17241
 *     def type(self, type not None : CUdevResourceType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._internal_padding, 92)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17243
 *     @property
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._internal_padding, 92)             # <<<<<<<<<<<<<<
 *     @_internal_padding.setter
 *     def _internal_padding(self, _internal_padding):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0])._internal_padding), 92); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17241
 *     def type(self, type not None : CUdevResourceType):
 *         self._pvt_ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._internal_padding, 92)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st._internal_padding.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17244
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._internal_padding, 92)
 *     @_internal_padding.setter             # <<<<<<<<<<<<<<
 *     def _internal_padding(self, _internal_padding):
 *         if len(_internal_padding) != 92:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v__internal_padding); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v__internal_padding) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), ((PyObject *)__pyx_v__internal_padding));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v__internal_padding) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  unsigned char __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17246
 *     @_internal_padding.setter
 *     def _internal_padding(self, _internal_padding):
 *         if len(_internal_padding) != 92:             # <<<<<<<<<<<<<<
 *             raise ValueError("_internal_padding length must be 92, is " + str(len(_internal_padding)))
 *         for i, b in enumerate(_internal_padding):
*/
  __pyx_t_1 = PyObject_Length(__pyx_v__internal_padding); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17246, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 92);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":17247
 *     def _internal_padding(self, _internal_padding):
 *         if len(_internal_padding) != 92:
 *             raise ValueError("_internal_padding length must be 92, is " + str(len(_internal_padding)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(_internal_padding):
 *             self._pvt_ptr[0]._internal_padding[i] = b
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v__internal_padding); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17247, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_internal_padding_length_must_be, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17247, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17247, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":17246
 *     @_internal_padding.setter
 *     def _internal_padding(self, _internal_padding):
 *         if len(_internal_padding) != 92:             # <<<<<<<<<<<<<<
 *             raise ValueError("_internal_padding length must be 92, is " + str(len(_internal_padding)))
 *         for i, b in enumerate(_internal_padding):
*/
  }

  /* "cuda/bindings/driver.pyx":17248
 *         if len(_internal_padding) != 92:
 *             raise ValueError("_internal_padding length must be 92, is " + str(len(_internal_padding)))
 *         for i, b in enumerate(_internal_padding):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0]._internal_padding[i] = b
 *     @property
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v__internal_padding)) || PyTuple_CheckExact(__pyx_v__internal_padding)) {
    __pyx_t_5 = __pyx_v__internal_padding; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v__internal_padding); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17248, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17248, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17248, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17248, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 17248, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":17249
 *             raise ValueError("_internal_padding length must be 92, is " + str(len(_internal_padding)))
 *         for i, b in enumerate(_internal_padding):
 *             self._pvt_ptr[0]._internal_padding[i] = b             # <<<<<<<<<<<<<<
 *     @property
 *     def sm(self):
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 17249, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17249, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0])._internal_padding[__pyx_t_11]) = __pyx_t_10;

    /* "cuda/bindings/driver.pyx":17248
 *         if len(_internal_padding) != 92:
 *             raise ValueError("_internal_padding length must be 92, is " + str(len(_internal_padding)))
 *         for i, b in enumerate(_internal_padding):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0]._internal_padding[i] = b
 *     @property
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":17244
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._internal_padding, 92)
 *     @_internal_padding.setter             # <<<<<<<<<<<<<<
 *     def _internal_padding(self, _internal_padding):
 *         if len(_internal_padding) != 92:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st._internal_padding.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17250
 *         for i, b in enumerate(_internal_padding):
 *             self._pvt_ptr[0]._internal_padding[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def sm(self):
 *         return self._sm
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2sm_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2sm_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2sm___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2sm___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17252
 *     @property
 *     def sm(self):
 *         return self._sm             # <<<<<<<<<<<<<<
 *     @sm.setter
 *     def sm(self, sm not None : CUdevSmResource):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_sm);
  __pyx_r = ((PyObject *)__pyx_v_self->_sm);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17250
 *         for i, b in enumerate(_internal_padding):
 *             self._pvt_ptr[0]._internal_padding[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def sm(self):
 *         return self._sm
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17253
 *     def sm(self):
 *         return self._sm
 *     @sm.setter             # <<<<<<<<<<<<<<
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._pvt_ptr[0].sm, <cydriver.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._pvt_ptr[0].sm))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2sm_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sm); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2sm_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sm) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sm), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource, 0, "sm", 0))) __PYX_ERR(0, 17254, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2sm_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource *)__pyx_v_sm));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2sm_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource *__pyx_v_sm) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17255
 *     @sm.setter
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._pvt_ptr[0].sm, <cydriver.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._pvt_ptr[0].sm))             # <<<<<<<<<<<<<<
 *     @property
 *     def _oversize(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_sm);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).sm), ((CUdevSmResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).sm))));

  /* "cuda/bindings/driver.pyx":17253
 *     def sm(self):
 *         return self._sm
 *     @sm.setter             # <<<<<<<<<<<<<<
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._pvt_ptr[0].sm, <cydriver.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._pvt_ptr[0].sm))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.sm.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17256
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._pvt_ptr[0].sm, <cydriver.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._pvt_ptr[0].sm))
 *     @property             # <<<<<<<<<<<<<<
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 48)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17258
 *     @property
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 48)             # <<<<<<<<<<<<<<
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0])._oversize), 48); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17256
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._pvt_ptr[0].sm, <cydriver.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._pvt_ptr[0].sm))
 *     @property             # <<<<<<<<<<<<<<
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 48)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st._oversize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17259
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 48)
 *     @_oversize.setter             # <<<<<<<<<<<<<<
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v__oversize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v__oversize) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), ((PyObject *)__pyx_v__oversize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v__oversize) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  unsigned char __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17261
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:             # <<<<<<<<<<<<<<
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):
*/
  __pyx_t_1 = PyObject_Length(__pyx_v__oversize); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17261, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 48);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":17262
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(_oversize):
 *             self._pvt_ptr[0]._oversize[i] = b
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_ValueError);
    __pyx_t_5 = __pyx_builtin_ValueError; 
    __pyx_t_1 = PyObject_Length(__pyx_v__oversize); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17262, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_oversize_length_must_be_48_is, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17262, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":17261
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:             # <<<<<<<<<<<<<<
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):
*/
  }

  /* "cuda/bindings/driver.pyx":17263
 *         if len(_oversize) != 48:
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0]._oversize[i] = b
 * 
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_3 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v__oversize)) || PyTuple_CheckExact(__pyx_v__oversize)) {
    __pyx_t_5 = __pyx_v__oversize; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v__oversize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17263, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17263, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17263, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17263, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 17263, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":17264
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):
 *             self._pvt_ptr[0]._oversize[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union15:
*/
    __pyx_t_10 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 17264, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17264, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0])._oversize[__pyx_t_11]) = __pyx_t_10;

    /* "cuda/bindings/driver.pyx":17263
 *         if len(_oversize) != 48:
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0]._oversize[i] = b
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":17259
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 48)
 *     @_oversize.setter             # <<<<<<<<<<<<<<
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st._oversize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_10__reduce_cython__, "CUdevResource_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUdevResource_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_12__setstate_cython__, "CUdevResource_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16CUdevResource_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevResource_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17280
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUeglFrame_st *>_ptr
 * 
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union15_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union15_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17280, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17280, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17280, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(0, 17280, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17280, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17280, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 17280, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union15___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17281
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._pvt_ptr = <cydriver.CUeglFrame_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
*/
  __pyx_v_self->_pvt_ptr = ((struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *)__pyx_v__ptr);

  /* "cuda/bindings/driver.pyx":17280
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._pvt_ptr = <cydriver.CUeglFrame_st *>_ptr
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17283
 *         self._pvt_ptr = <cydriver.CUeglFrame_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union15_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union15_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17283, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17283, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 17283, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 17283, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17283, __pyx_L3_error)
    }
    __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17283, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 17283, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union15_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17285
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_12anon_union15_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_12anon_union15_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_12anon_union15_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_12anon_union15_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17287
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].frame
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union15_6getPtr, "anon_union15.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union15_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union15_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union15_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17288
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].frame             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).frame))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17287
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].frame
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17289
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].frame
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17290
 *         return <void_ptr>&self._pvt_ptr[0].frame
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17291
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pArray : ' + str(self.pArray)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17292
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pArray : ' + str(self.pArray)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17293
 *             str_list = []
 *             try:
 *                 str_list += ['pArray : ' + str(self.pArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pArray : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17293, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17293, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17292
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pArray : ' + str(self.pArray)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/bindings/driver.pyx":17294
 *             try:
 *                 str_list += ['pArray : ' + str(self.pArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 17294, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17295
 *                 str_list += ['pArray : ' + str(self.pArray)]
 *             except ValueError:
 *                 str_list += ['pArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17295, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pArray_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_pArray_ValueError) != (0)) __PYX_ERR(0, 17295, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17295, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":17292
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pArray : ' + str(self.pArray)]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17296
 *             except ValueError:
 *                 str_list += ['pArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17297
 *                 str_list += ['pArray : <ValueError>']
 *             try:
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pPitch : <ValueError>']
*/
        __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_builtin_hex);
        __pyx_t_2 = __pyx_builtin_hex; 
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pPitch_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17297, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_pPitch, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17297, __pyx_L12_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17297, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17296
 *             except ValueError:
 *                 str_list += ['pArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L17_try_end;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":17298
 *             try:
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pPitch : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 17298, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);

        /* "cuda/bindings/driver.pyx":17299
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
 *             except ValueError:
 *                 str_list += ['pPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17299, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pPitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_mstate_global->__pyx_kp_u_pPitch_ValueError) != (0)) __PYX_ERR(0, 17299, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17299, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L13_exception_handled;
      }
      goto __pyx_L14_except_error;

      /* "cuda/bindings/driver.pyx":17296
 *             except ValueError:
 *                 str_list += ['pArray : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
 *             except ValueError:
*/
      __pyx_L14_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L13_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L17_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17300
 *             except ValueError:
 *                 str_list += ['pPitch : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_10 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_r = __pyx_t_10;
    __pyx_t_10 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17290
 *         return <void_ptr>&self._pvt_ptr[0].frame
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17302
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def pArray(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":17289
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].frame
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17303
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._pvt_ptr[0].frame.pArray]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pArray_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pArray___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pArray___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self) {
  CUarray __pyx_10genexpr228__pyx_v__pArray;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUarray *__pyx_t_2;
  CUarray *__pyx_t_3;
  CUarray *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17305
 *     @property
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._pvt_ptr[0].frame.pArray]             # <<<<<<<<<<<<<<
 *     @pArray.setter
 *     def pArray(self, pArray : list[CUarray]):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_pvt_ptr[0]).frame.pArray + 3);
    for (__pyx_t_4 = (__pyx_v_self->_pvt_ptr[0]).frame.pArray; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_10genexpr228__pyx_v__pArray = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
      __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
      __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_10genexpr228__pyx_v__pArray)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17305, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_10, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17305, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_7, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17305, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 17305, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17303
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._pvt_ptr[0].frame.pArray]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.pArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17306
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._pvt_ptr[0].frame.pArray]
 *     @pArray.setter             # <<<<<<<<<<<<<<
 *     def pArray(self, pArray : list[CUarray]):
 *         if len(pArray) != 3:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pArray); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pArray) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pArray), (&PyList_Type), 0, "pArray", 2))) __PYX_ERR(0, 17307, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pArray_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self), ((PyObject*)__pyx_v_pArray));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pArray_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, PyObject *__pyx_v_pArray) {
  Py_ssize_t __pyx_v__idx;
  PyObject *__pyx_v__pArray = NULL;
  PyObject *__pyx_10genexpr229__pyx_v__pArray = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_pArray);

  /* "cuda/bindings/driver.pyx":17308
 *     @pArray.setter
 *     def pArray(self, pArray : list[CUarray]):
 *         if len(pArray) != 3:             # <<<<<<<<<<<<<<
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pArray))
 *         pArray = [int(_pArray) for _pArray in pArray]
*/
  __pyx_t_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pArray); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17308, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 3);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":17309
 *     def pArray(self, pArray : list[CUarray]):
 *         if len(pArray) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pArray))             # <<<<<<<<<<<<<<
 *         pArray = [int(_pArray) for _pArray in pArray]
 *         for _idx, _pArray in enumerate(pArray):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_IndexError);
    __pyx_t_5 = __pyx_builtin_IndexError; 
    __pyx_t_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pArray); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17309, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_not_enough_values_found_during_a, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17309, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17309, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":17308
 *     @pArray.setter
 *     def pArray(self, pArray : list[CUarray]):
 *         if len(pArray) != 3:             # <<<<<<<<<<<<<<
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pArray))
 *         pArray = [int(_pArray) for _pArray in pArray]
*/
  }

  /* "cuda/bindings/driver.pyx":17310
 *         if len(pArray) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pArray))
 *         pArray = [int(_pArray) for _pArray in pArray]             # <<<<<<<<<<<<<<
 *         for _idx, _pArray in enumerate(pArray):
 *             self._pvt_ptr[0].frame.pArray[_idx] = <cydriver.CUarray><void_ptr>_pArray
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17310, __pyx_L6_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_v_pArray; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17310, __pyx_L6_error)
        #endif
        if (__pyx_t_1 >= __pyx_temp) break;
      }
      __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
      ++__pyx_t_1;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17310, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_10genexpr229__pyx_v__pArray, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_10genexpr229__pyx_v__pArray); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17310, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17310, __pyx_L6_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr229__pyx_v__pArray); __pyx_10genexpr229__pyx_v__pArray = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_10genexpr229__pyx_v__pArray); __pyx_10genexpr229__pyx_v__pArray = 0;
    goto __pyx_L1_error;
    __pyx_L10_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pArray, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":17311
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pArray))
 *         pArray = [int(_pArray) for _pArray in pArray]
 *         for _idx, _pArray in enumerate(pArray):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].frame.pArray[_idx] = <cydriver.CUarray><void_ptr>_pArray
 * 
*/
  __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_v_pArray; __Pyx_INCREF(__pyx_t_3);
  __pyx_t_8 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17311, __pyx_L1_error)
      #endif
      if (__pyx_t_8 >= __pyx_temp) break;
    }
    __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_8);
    ++__pyx_t_8;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v__pArray, __pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_v__idx = __pyx_t_1;
    __pyx_t_1 = (__pyx_t_1 + 1);

    /* "cuda/bindings/driver.pyx":17312
 *         pArray = [int(_pArray) for _pArray in pArray]
 *         for _idx, _pArray in enumerate(pArray):
 *             self._pvt_ptr[0].frame.pArray[_idx] = <cydriver.CUarray><void_ptr>_pArray             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
    __pyx_t_9 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v__pArray); if (unlikely((__pyx_t_9 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17312, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).frame.pArray[__pyx_v__idx]) = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_9));

    /* "cuda/bindings/driver.pyx":17311
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pArray))
 *         pArray = [int(_pArray) for _pArray in pArray]
 *         for _idx, _pArray in enumerate(pArray):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].frame.pArray[_idx] = <cydriver.CUarray><void_ptr>_pArray
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":17306
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._pvt_ptr[0].frame.pArray]
 *     @pArray.setter             # <<<<<<<<<<<<<<
 *     def pArray(self, pArray : list[CUarray]):
 *         if len(pArray) != 3:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.pArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__pArray);
  __Pyx_XDECREF(__pyx_10genexpr229__pyx_v__pArray);
  __Pyx_XDECREF(__pyx_v_pArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17314
 *             self._pvt_ptr[0].frame.pArray[_idx] = <cydriver.CUarray><void_ptr>_pArray
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._pvt_ptr[0].frame.pPitch]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pPitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pPitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pPitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self) {
  void *__pyx_10genexpr230__pyx_v__pPitch;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  void **__pyx_t_2;
  void **__pyx_t_3;
  void **__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17316
 *     @property
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._pvt_ptr[0].frame.pPitch]             # <<<<<<<<<<<<<<
 *     @pPitch.setter
 *     def pPitch(self, pPitch : list[int]):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_pvt_ptr[0]).frame.pPitch + 3);
    for (__pyx_t_4 = (__pyx_v_self->_pvt_ptr[0]).frame.pPitch; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_10genexpr230__pyx_v__pPitch = (__pyx_t_2[0]);
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_10genexpr230__pyx_v__pPitch)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17316, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 17316, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17314
 *             self._pvt_ptr[0].frame.pArray[_idx] = <cydriver.CUarray><void_ptr>_pArray
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._pvt_ptr[0].frame.pPitch]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.pPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17317
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._pvt_ptr[0].frame.pPitch]
 *     @pPitch.setter             # <<<<<<<<<<<<<<
 *     def pPitch(self, pPitch : list[int]):
 *         if len(pPitch) != 3:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pPitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pPitch) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pPitch), (&PyList_Type), 0, "pPitch", 2))) __PYX_ERR(0, 17318, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pPitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self), ((PyObject*)__pyx_v_pPitch));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_12anon_union15_6pPitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, PyObject *__pyx_v_pPitch) {
  Py_ssize_t __pyx_v__idx;
  PyObject *__pyx_v__pPitch = NULL;
  PyObject *__pyx_10genexpr231__pyx_v__pPitch = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_pPitch);

  /* "cuda/bindings/driver.pyx":17319
 *     @pPitch.setter
 *     def pPitch(self, pPitch : list[int]):
 *         if len(pPitch) != 3:             # <<<<<<<<<<<<<<
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         pPitch = [<void_ptr>_pPitch for _pPitch in pPitch]
*/
  __pyx_t_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pPitch); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17319, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 3);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":17320
 *     def pPitch(self, pPitch : list[int]):
 *         if len(pPitch) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))             # <<<<<<<<<<<<<<
 *         pPitch = [<void_ptr>_pPitch for _pPitch in pPitch]
 *         for _idx, _pPitch in enumerate(pPitch):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_IndexError);
    __pyx_t_5 = __pyx_builtin_IndexError; 
    __pyx_t_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pPitch); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17320, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_not_enough_values_found_during_a, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17320, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17320, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":17319
 *     @pPitch.setter
 *     def pPitch(self, pPitch : list[int]):
 *         if len(pPitch) != 3:             # <<<<<<<<<<<<<<
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         pPitch = [<void_ptr>_pPitch for _pPitch in pPitch]
*/
  }

  /* "cuda/bindings/driver.pyx":17321
 *         if len(pPitch) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         pPitch = [<void_ptr>_pPitch for _pPitch in pPitch]             # <<<<<<<<<<<<<<
 *         for _idx, _pPitch in enumerate(pPitch):
 *             self._pvt_ptr[0].frame.pPitch[_idx] = <void*><void_ptr>_pPitch
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17321, __pyx_L6_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_v_pPitch; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17321, __pyx_L6_error)
        #endif
        if (__pyx_t_1 >= __pyx_temp) break;
      }
      __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_1);
      ++__pyx_t_1;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17321, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_10genexpr231__pyx_v__pPitch, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_10genexpr231__pyx_v__pPitch); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17321, __pyx_L6_error)
      __pyx_t_6 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17321, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17321, __pyx_L6_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr231__pyx_v__pPitch); __pyx_10genexpr231__pyx_v__pPitch = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_10genexpr231__pyx_v__pPitch); __pyx_10genexpr231__pyx_v__pPitch = 0;
    goto __pyx_L1_error;
    __pyx_L10_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pPitch, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":17322
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         pPitch = [<void_ptr>_pPitch for _pPitch in pPitch]
 *         for _idx, _pPitch in enumerate(pPitch):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].frame.pPitch[_idx] = <void*><void_ptr>_pPitch
 * 
*/
  __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_v_pPitch; __Pyx_INCREF(__pyx_t_3);
  __pyx_t_9 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17322, __pyx_L1_error)
      #endif
      if (__pyx_t_9 >= __pyx_temp) break;
    }
    __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_9);
    ++__pyx_t_9;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v__pPitch, __pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_v__idx = __pyx_t_1;
    __pyx_t_1 = (__pyx_t_1 + 1);

    /* "cuda/bindings/driver.pyx":17323
 *         pPitch = [<void_ptr>_pPitch for _pPitch in pPitch]
 *         for _idx, _pPitch in enumerate(pPitch):
 *             self._pvt_ptr[0].frame.pPitch[_idx] = <void*><void_ptr>_pPitch             # <<<<<<<<<<<<<<
 * 
 * cdef class CUeglFrame_st:
*/
    __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v__pPitch); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17323, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).frame.pPitch[__pyx_v__idx]) = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

    /* "cuda/bindings/driver.pyx":17322
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         pPitch = [<void_ptr>_pPitch for _pPitch in pPitch]
 *         for _idx, _pPitch in enumerate(pPitch):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].frame.pPitch[_idx] = <void*><void_ptr>_pPitch
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":17317
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._pvt_ptr[0].frame.pPitch]
 *     @pPitch.setter             # <<<<<<<<<<<<<<
 *     def pPitch(self, pPitch : list[int]):
 *         if len(pPitch) != 3:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.pPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__pPitch);
  __Pyx_XDECREF(__pyx_10genexpr231__pyx_v__pPitch);
  __Pyx_XDECREF(__pyx_v_pPitch);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union15_10__reduce_cython__, "anon_union15.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union15_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union15_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union15_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12anon_union15_12__setstate_cython__, "anon_union15.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_12anon_union15_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union15_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union15_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_12anon_union15_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12anon_union15_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12anon_union15_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17359
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUeglFrame_st *>calloc(1, sizeof(cydriver.CUeglFrame_st))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17359, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17359, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17359, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17359, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17359, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 17359, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;
  struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *__pyx_t_2;

  /* "cuda/bindings/driver.pyx":17360
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUeglFrame_st *>calloc(1, sizeof(cydriver.CUeglFrame_st))
 *             self._pvt_ptr = self._val_ptr
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17361
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUeglFrame_st *>calloc(1, sizeof(cydriver.CUeglFrame_st))             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = self._val_ptr
 *         else:
*/
    __pyx_v_self->_val_ptr = ((struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *)calloc(1, (sizeof(struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st))));

    /* "cuda/bindings/driver.pyx":17362
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUeglFrame_st *>calloc(1, sizeof(cydriver.CUeglFrame_st))
 *             self._pvt_ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUeglFrame_st *>_ptr
*/
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_pvt_ptr = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":17360
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <cydriver.CUeglFrame_st *>calloc(1, sizeof(cydriver.CUeglFrame_st))
 *             self._pvt_ptr = self._val_ptr
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17364
 *             self._pvt_ptr = self._val_ptr
 *         else:
 *             self._pvt_ptr = <cydriver.CUeglFrame_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17359
 *         Get memory address of class instance
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <cydriver.CUeglFrame_st *>calloc(1, sizeof(cydriver.CUeglFrame_st))
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17365
 *         else:
 *             self._pvt_ptr = <cydriver.CUeglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._frame = anon_union15(_ptr=<void_ptr>self._pvt_ptr)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17365, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17365, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 17365, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17365, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17365, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 17365, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":17367
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._frame = anon_union15(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union15);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union15); 
  __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_4, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17367, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17367, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_frame);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_frame);
  __pyx_v_self->_frame = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":17365
 *         else:
 *             self._pvt_ptr = <cydriver.CUeglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._frame = anon_union15(_ptr=<void_ptr>self._pvt_ptr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17368
 *         pass
 *         self._frame = anon_union15(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_4__dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17369
 *         self._frame = anon_union15(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17370
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":17369
 *         self._frame = anon_union15(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17368
 *         pass
 *         self._frame = anon_union15(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17371
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_6getPtr, "CUeglFrame_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUeglFrame_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17372
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17371
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17373
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr232__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17374
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  __pyx_t_1 = (__pyx_v_self->_pvt_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17375
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17376
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17377
 *             str_list = []
 *             try:
 *                 str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['frame : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17377, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_frame_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17377, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17377, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyUnicode_Splitlines(((PyObject*)__pyx_t_7), 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17377, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 17377, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRef(__pyx_t_7, __pyx_t_8);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17377, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr232__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr232__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17377, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17377, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr232__pyx_v_line); __pyx_10genexpr232__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr232__pyx_v_line); __pyx_10genexpr232__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17377, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_frame, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17377, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17377, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17377, __pyx_L4_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17377, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17376
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17378
 *             try:
 *                 str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['frame : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 17378, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17379
 *                 str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             except ValueError:
 *                 str_list += ['frame : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17379, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_frame_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_frame_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_frame_ValueError) != (0)) __PYX_ERR(0, 17379, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17379, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;

      /* "cuda/bindings/driver.pyx":17376
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             except ValueError:
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L9_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17380
 *             except ValueError:
 *                 str_list += ['frame : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17381
 *                 str_list += ['frame : <ValueError>']
 *             try:
 *                 str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_width_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17381, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17381, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_width, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17381, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17381, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 17381, __pyx_L19_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17381, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":17380
 *             except ValueError:
 *                 str_list += ['frame : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L24_try_end;
      __pyx_L19_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17382
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 17382, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17383
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17383, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_width_ValueError) != (0)) __PYX_ERR(0, 17383, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17383, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L20_exception_handled;
      }
      goto __pyx_L21_except_error;

      /* "cuda/bindings/driver.pyx":17380
 *             except ValueError:
 *                 str_list += ['frame : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
*/
      __pyx_L21_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L20_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L24_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17384
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17385
 *                 str_list += ['width : <ValueError>']
 *             try:
 *                 str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17385, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17385, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_height, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17385, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17385, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17385, __pyx_L27_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17385, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17384
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L32_try_end;
      __pyx_L27_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17386
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 17386, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17387
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17387, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_height_ValueError) != (0)) __PYX_ERR(0, 17387, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17387, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L28_exception_handled;
      }
      goto __pyx_L29_except_error;

      /* "cuda/bindings/driver.pyx":17384
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
*/
      __pyx_L29_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L28_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L32_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17388
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17389
 *                 str_list += ['height : <ValueError>']
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_depth_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17389, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17389, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_depth, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17389, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17389, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 17389, __pyx_L35_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17389, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":17388
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17390
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 17390, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17391
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17391, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_depth_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_depth_ValueError) != (0)) __PYX_ERR(0, 17391, __pyx_L37_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17391, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":17388
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
*/
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17392
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17393
 *                 str_list += ['depth : <ValueError>']
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17393, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17393, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_pitch, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17393, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17393, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17393, __pyx_L43_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17393, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17392
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L48_try_end;
      __pyx_L43_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17394
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 17394, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17395
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17395, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_pitch_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_pitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_pitch_ValueError) != (0)) __PYX_ERR(0, 17395, __pyx_L45_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17395, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":17392
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
*/
      __pyx_L45_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L44_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L48_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17396
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17397
 *                 str_list += ['pitch : <ValueError>']
 *             try:
 *                 str_list += ['planeCount : ' + str(self.planeCount)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['planeCount : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_planeCount_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17397, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17397, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_planeCount, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17397, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17397, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 17397, __pyx_L51_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17397, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":17396
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L56_try_end;
      __pyx_L51_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17398
 *             try:
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['planeCount : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 17398, __pyx_L53_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17399
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 *             except ValueError:
 *                 str_list += ['planeCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17399, __pyx_L53_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_planeCount_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_planeCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_planeCount_ValueError) != (0)) __PYX_ERR(0, 17399, __pyx_L53_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17399, __pyx_L53_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L52_exception_handled;
      }
      goto __pyx_L53_except_error;

      /* "cuda/bindings/driver.pyx":17396
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 *             except ValueError:
*/
      __pyx_L53_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L52_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L56_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17400
 *             except ValueError:
 *                 str_list += ['planeCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17401
 *                 str_list += ['planeCount : <ValueError>']
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_numChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17401, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17401, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_numChannels, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17401, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17401, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17401, __pyx_L59_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17401, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17400
 *             except ValueError:
 *                 str_list += ['planeCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L64_try_end;
      __pyx_L59_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17402
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 17402, __pyx_L61_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17403
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['frameType : ' + str(self.frameType)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17403, __pyx_L61_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_numChannels_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_numChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_numChannels_ValueError) != (0)) __PYX_ERR(0, 17403, __pyx_L61_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17403, __pyx_L61_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L60_exception_handled;
      }
      goto __pyx_L61_except_error;

      /* "cuda/bindings/driver.pyx":17400
 *             except ValueError:
 *                 str_list += ['planeCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
*/
      __pyx_L61_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L60_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L64_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17404
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['frameType : ' + str(self.frameType)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17405
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
 *                 str_list += ['frameType : ' + str(self.frameType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['frameType : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_frameType_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17405, __pyx_L67_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17405, __pyx_L67_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_frameType, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17405, __pyx_L67_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17405, __pyx_L67_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 17405, __pyx_L67_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17405, __pyx_L67_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":17404
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['frameType : ' + str(self.frameType)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L72_try_end;
      __pyx_L67_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17406
 *             try:
 *                 str_list += ['frameType : ' + str(self.frameType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['frameType : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 17406, __pyx_L69_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17407
 *                 str_list += ['frameType : ' + str(self.frameType)]
 *             except ValueError:
 *                 str_list += ['frameType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17407, __pyx_L69_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_frameType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_frameType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_frameType_ValueError) != (0)) __PYX_ERR(0, 17407, __pyx_L69_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17407, __pyx_L69_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L68_exception_handled;
      }
      goto __pyx_L69_except_error;

      /* "cuda/bindings/driver.pyx":17404
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['frameType : ' + str(self.frameType)]
 *             except ValueError:
*/
      __pyx_L69_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L68_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L72_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17408
 *             except ValueError:
 *                 str_list += ['frameType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17409
 *                 str_list += ['frameType : <ValueError>']
 *             try:
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['eglColorFormat : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_eglColorFormat_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17409, __pyx_L75_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17409, __pyx_L75_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_eglColorFormat, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17409, __pyx_L75_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17409, __pyx_L75_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 17409, __pyx_L75_error);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17409, __pyx_L75_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "cuda/bindings/driver.pyx":17408
 *             except ValueError:
 *                 str_list += ['frameType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L80_try_end;
      __pyx_L75_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17410
 *             try:
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['eglColorFormat : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 17410, __pyx_L77_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17411
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             except ValueError:
 *                 str_list += ['eglColorFormat : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17411, __pyx_L77_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_eglColorFormat_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_eglColorFormat_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_eglColorFormat_ValueError) != (0)) __PYX_ERR(0, 17411, __pyx_L77_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17411, __pyx_L77_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_11));
        __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L76_exception_handled;
      }
      goto __pyx_L77_except_error;

      /* "cuda/bindings/driver.pyx":17408
 *             except ValueError:
 *                 str_list += ['frameType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             except ValueError:
*/
      __pyx_L77_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L76_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L80_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17412
 *             except ValueError:
 *                 str_list += ['eglColorFormat : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17413
 *                 str_list += ['eglColorFormat : <ValueError>']
 *             try:
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['cuFormat : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_cuFormat_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17413, __pyx_L83_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17413, __pyx_L83_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_cuFormat, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17413, __pyx_L83_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17413, __pyx_L83_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 17413, __pyx_L83_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17413, __pyx_L83_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/bindings/driver.pyx":17412
 *             except ValueError:
 *                 str_list += ['eglColorFormat : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L88_try_end;
      __pyx_L83_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "cuda/bindings/driver.pyx":17414
 *             try:
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['cuFormat : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(0, 17414, __pyx_L85_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17415
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 *             except ValueError:
 *                 str_list += ['cuFormat : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17415, __pyx_L85_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_cuFormat_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_cuFormat_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_cuFormat_ValueError) != (0)) __PYX_ERR(0, 17415, __pyx_L85_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17415, __pyx_L85_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_10));
        __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L84_exception_handled;
      }
      goto __pyx_L85_except_error;

      /* "cuda/bindings/driver.pyx":17412
 *             except ValueError:
 *                 str_list += ['eglColorFormat : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 *             except ValueError:
*/
      __pyx_L85_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L84_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L88_try_end:;
    }

    /* "cuda/bindings/driver.pyx":17416
 *             except ValueError:
 *                 str_list += ['cuFormat : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__2, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17374
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17418
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def frame(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
    goto __pyx_L0;
  }

  /* "cuda/bindings/driver.pyx":17373
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_10genexpr232__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17419
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def frame(self):
 *         return self._frame
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5frame___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5frame___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17421
 *     @property
 *     def frame(self):
 *         return self._frame             # <<<<<<<<<<<<<<
 *     @frame.setter
 *     def frame(self, frame not None : anon_union15):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_frame);
  __pyx_r = ((PyObject *)__pyx_v_self->_frame);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17419
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def frame(self):
 *         return self._frame
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17422
 *     def frame(self):
 *         return self._frame
 *     @frame.setter             # <<<<<<<<<<<<<<
 *     def frame(self, frame not None : anon_union15):
 *         string.memcpy(&self._pvt_ptr[0].frame, <cydriver.anon_union15*><void_ptr>frame.getPtr(), sizeof(self._pvt_ptr[0].frame))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frame); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frame) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_frame), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union15, 0, "frame", 0))) __PYX_ERR(0, 17423, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)__pyx_v_frame));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *__pyx_v_frame) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17424
 *     @frame.setter
 *     def frame(self, frame not None : anon_union15):
 *         string.memcpy(&self._pvt_ptr[0].frame, <cydriver.anon_union15*><void_ptr>frame.getPtr(), sizeof(self._pvt_ptr[0].frame))             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_frame);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).frame), ((union __pyx_t_4cuda_8bindings_8cydriver_anon_union15 *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).frame))));

  /* "cuda/bindings/driver.pyx":17422
 *     def frame(self):
 *         return self._frame
 *     @frame.setter             # <<<<<<<<<<<<<<
 *     def frame(self, frame not None : anon_union15):
 *         string.memcpy(&self._pvt_ptr[0].frame, <cydriver.anon_union15*><void_ptr>frame.getPtr(), sizeof(self._pvt_ptr[0].frame))
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.frame.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17425
 *     def frame(self, frame not None : anon_union15):
 *         string.memcpy(&self._pvt_ptr[0].frame, <cydriver.anon_union15*><void_ptr>frame.getPtr(), sizeof(self._pvt_ptr[0].frame))
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5width___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5width___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17427
 *     @property
 *     def width(self):
 *         return self._pvt_ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, unsigned int width):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17425
 *     def frame(self, frame not None : anon_union15):
 *         string.memcpy(&self._pvt_ptr[0].frame, <cydriver.anon_union15*><void_ptr>frame.getPtr(), sizeof(self._pvt_ptr[0].frame))
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._pvt_ptr[0].width
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17428
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].width = width
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  unsigned int __pyx_v_width;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_width); {
    __pyx_v_width = __Pyx_PyLong_As_unsigned_int(__pyx_arg_width); if (unlikely((__pyx_v_width == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17429, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5width_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5width_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_width) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17430
 *     @width.setter
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).width = __pyx_v_width;

  /* "cuda/bindings/driver.pyx":17428
 *     def width(self):
 *         return self._pvt_ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].width = width
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17431
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6height___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6height___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17433
 *     @property
 *     def height(self):
 *         return self._pvt_ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, unsigned int height):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17431
 *     def width(self, unsigned int width):
 *         self._pvt_ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._pvt_ptr[0].height
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17434
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].height = height
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  unsigned int __pyx_v_height;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_height); {
    __pyx_v_height = __Pyx_PyLong_As_unsigned_int(__pyx_arg_height); if (unlikely((__pyx_v_height == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17435, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6height_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_6height_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_height) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17436
 *     @height.setter
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).height = __pyx_v_height;

  /* "cuda/bindings/driver.pyx":17434
 *     def height(self):
 *         return self._pvt_ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].height = height
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17437
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5depth___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5depth___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17439
 *     @property
 *     def depth(self):
 *         return self._pvt_ptr[0].depth             # <<<<<<<<<<<<<<
 *     @depth.setter
 *     def depth(self, unsigned int depth):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17437
 *     def height(self, unsigned int height):
 *         self._pvt_ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17440
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, unsigned int depth):
 *         self._pvt_ptr[0].depth = depth
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth) {
  unsigned int __pyx_v_depth;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_depth); {
    __pyx_v_depth = __Pyx_PyLong_As_unsigned_int(__pyx_arg_depth); if (unlikely((__pyx_v_depth == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17441, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_depth) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17442
 *     @depth.setter
 *     def depth(self, unsigned int depth):
 *         self._pvt_ptr[0].depth = depth             # <<<<<<<<<<<<<<
 *     @property
 *     def pitch(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).depth = __pyx_v_depth;

  /* "cuda/bindings/driver.pyx":17440
 *     def depth(self):
 *         return self._pvt_ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, unsigned int depth):
 *         self._pvt_ptr[0].depth = depth
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17443
 *     def depth(self, unsigned int depth):
 *         self._pvt_ptr[0].depth = depth
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17445
 *     @property
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch             # <<<<<<<<<<<<<<
 *     @pitch.setter
 *     def pitch(self, unsigned int pitch):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).pitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17443
 *     def depth(self, unsigned int depth):
 *         self._pvt_ptr[0].depth = depth
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.pitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17446
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, unsigned int pitch):
 *         self._pvt_ptr[0].pitch = pitch
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch) {
  unsigned int __pyx_v_pitch;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_pitch); {
    __pyx_v_pitch = __Pyx_PyLong_As_unsigned_int(__pyx_arg_pitch); if (unlikely((__pyx_v_pitch == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17447, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_pitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_pitch) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17448
 *     @pitch.setter
 *     def pitch(self, unsigned int pitch):
 *         self._pvt_ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def planeCount(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/bindings/driver.pyx":17446
 *     def pitch(self):
 *         return self._pvt_ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, unsigned int pitch):
 *         self._pvt_ptr[0].pitch = pitch
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17449
 *     def pitch(self, unsigned int pitch):
 *         self._pvt_ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def planeCount(self):
 *         return self._pvt_ptr[0].planeCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17451
 *     @property
 *     def planeCount(self):
 *         return self._pvt_ptr[0].planeCount             # <<<<<<<<<<<<<<
 *     @planeCount.setter
 *     def planeCount(self, unsigned int planeCount):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).planeCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17449
 *     def pitch(self, unsigned int pitch):
 *         self._pvt_ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def planeCount(self):
 *         return self._pvt_ptr[0].planeCount
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.planeCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17452
 *     def planeCount(self):
 *         return self._pvt_ptr[0].planeCount
 *     @planeCount.setter             # <<<<<<<<<<<<<<
 *     def planeCount(self, unsigned int planeCount):
 *         self._pvt_ptr[0].planeCount = planeCount
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_planeCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_planeCount) {
  unsigned int __pyx_v_planeCount;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_planeCount); {
    __pyx_v_planeCount = __Pyx_PyLong_As_unsigned_int(__pyx_arg_planeCount); if (unlikely((__pyx_v_planeCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17453, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.planeCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_planeCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_planeCount) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17454
 *     @planeCount.setter
 *     def planeCount(self, unsigned int planeCount):
 *         self._pvt_ptr[0].planeCount = planeCount             # <<<<<<<<<<<<<<
 *     @property
 *     def numChannels(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).planeCount = __pyx_v_planeCount;

  /* "cuda/bindings/driver.pyx":17452
 *     def planeCount(self):
 *         return self._pvt_ptr[0].planeCount
 *     @planeCount.setter             # <<<<<<<<<<<<<<
 *     def planeCount(self, unsigned int planeCount):
 *         self._pvt_ptr[0].planeCount = planeCount
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17455
 *     def planeCount(self, unsigned int planeCount):
 *         self._pvt_ptr[0].planeCount = planeCount
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._pvt_ptr[0].numChannels
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17457
 *     @property
 *     def numChannels(self):
 *         return self._pvt_ptr[0].numChannels             # <<<<<<<<<<<<<<
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).numChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17455
 *     def planeCount(self, unsigned int planeCount):
 *         self._pvt_ptr[0].planeCount = planeCount
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._pvt_ptr[0].numChannels
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.numChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17458
 *     def numChannels(self):
 *         return self._pvt_ptr[0].numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].numChannels = numChannels
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels) {
  unsigned int __pyx_v_numChannels;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_numChannels); {
    __pyx_v_numChannels = __Pyx_PyLong_As_unsigned_int(__pyx_arg_numChannels); if (unlikely((__pyx_v_numChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17459, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_numChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_numChannels) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17460
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].numChannels = numChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def frameType(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).numChannels = __pyx_v_numChannels;

  /* "cuda/bindings/driver.pyx":17458
 *     def numChannels(self):
 *         return self._pvt_ptr[0].numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].numChannels = numChannels
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17461
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def frameType(self):
 *         if self._pvt_ptr[0].frameType not in _dict_CUeglFrameType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17463
 *     @property
 *     def frameType(self):
 *         if self._pvt_ptr[0].frameType not in _dict_CUeglFrameType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUeglFrameType[self._pvt_ptr[0].frameType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum((__pyx_v_self->_pvt_ptr[0]).frameType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUeglFrameType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 17463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":17464
 *     def frameType(self):
 *         if self._pvt_ptr[0].frameType not in _dict_CUeglFrameType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUeglFrameType[self._pvt_ptr[0].frameType]
 *     @frameType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17463
 *     @property
 *     def frameType(self):
 *         if self._pvt_ptr[0].frameType not in _dict_CUeglFrameType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUeglFrameType[self._pvt_ptr[0].frameType]
*/
  }

  /* "cuda/bindings/driver.pyx":17465
 *         if self._pvt_ptr[0].frameType not in _dict_CUeglFrameType:
 *             return None
 *         return _dict_CUeglFrameType[self._pvt_ptr[0].frameType]             # <<<<<<<<<<<<<<
 *     @frameType.setter
 *     def frameType(self, frameType not None : CUeglFrameType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUeglFrameType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum((__pyx_v_self->_pvt_ptr[0]).frameType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17461
 *     def numChannels(self, unsigned int numChannels):
 *         self._pvt_ptr[0].numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def frameType(self):
 *         if self._pvt_ptr[0].frameType not in _dict_CUeglFrameType:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.frameType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17466
 *             return None
 *         return _dict_CUeglFrameType[self._pvt_ptr[0].frameType]
 *     @frameType.setter             # <<<<<<<<<<<<<<
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._pvt_ptr[0].frameType = frameType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frameType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frameType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_frameType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "frameType"); __PYX_ERR(0, 17467, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((PyObject *)__pyx_v_frameType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_frameType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17468
 *     @frameType.setter
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._pvt_ptr[0].frameType = frameType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def eglColorFormat(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frameType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)__Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).frameType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":17466
 *             return None
 *         return _dict_CUeglFrameType[self._pvt_ptr[0].frameType]
 *     @frameType.setter             # <<<<<<<<<<<<<<
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._pvt_ptr[0].frameType = frameType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.frameType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17469
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._pvt_ptr[0].frameType = frameType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def eglColorFormat(self):
 *         if self._pvt_ptr[0].eglColorFormat not in _dict_CUeglColorFormat:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17471
 *     @property
 *     def eglColorFormat(self):
 *         if self._pvt_ptr[0].eglColorFormat not in _dict_CUeglColorFormat:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUeglColorFormat[self._pvt_ptr[0].eglColorFormat]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum((__pyx_v_self->_pvt_ptr[0]).eglColorFormat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUeglColorFormat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 17471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":17472
 *     def eglColorFormat(self):
 *         if self._pvt_ptr[0].eglColorFormat not in _dict_CUeglColorFormat:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUeglColorFormat[self._pvt_ptr[0].eglColorFormat]
 *     @eglColorFormat.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17471
 *     @property
 *     def eglColorFormat(self):
 *         if self._pvt_ptr[0].eglColorFormat not in _dict_CUeglColorFormat:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUeglColorFormat[self._pvt_ptr[0].eglColorFormat]
*/
  }

  /* "cuda/bindings/driver.pyx":17473
 *         if self._pvt_ptr[0].eglColorFormat not in _dict_CUeglColorFormat:
 *             return None
 *         return _dict_CUeglColorFormat[self._pvt_ptr[0].eglColorFormat]             # <<<<<<<<<<<<<<
 *     @eglColorFormat.setter
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUeglColorFormat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum((__pyx_v_self->_pvt_ptr[0]).eglColorFormat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17469
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._pvt_ptr[0].frameType = frameType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def eglColorFormat(self):
 *         if self._pvt_ptr[0].eglColorFormat not in _dict_CUeglColorFormat:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.eglColorFormat.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17474
 *             return None
 *         return _dict_CUeglColorFormat[self._pvt_ptr[0].eglColorFormat]
 *     @eglColorFormat.setter             # <<<<<<<<<<<<<<
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._pvt_ptr[0].eglColorFormat = eglColorFormat.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eglColorFormat); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eglColorFormat) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_eglColorFormat) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "eglColorFormat"); __PYX_ERR(0, 17475, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((PyObject *)__pyx_v_eglColorFormat));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_eglColorFormat) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17476
 *     @eglColorFormat.setter
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._pvt_ptr[0].eglColorFormat = eglColorFormat.value             # <<<<<<<<<<<<<<
 *     @property
 *     def cuFormat(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_eglColorFormat, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)__Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).eglColorFormat = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":17474
 *             return None
 *         return _dict_CUeglColorFormat[self._pvt_ptr[0].eglColorFormat]
 *     @eglColorFormat.setter             # <<<<<<<<<<<<<<
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._pvt_ptr[0].eglColorFormat = eglColorFormat.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.eglColorFormat.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17477
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._pvt_ptr[0].eglColorFormat = eglColorFormat.value
 *     @property             # <<<<<<<<<<<<<<
 *     def cuFormat(self):
 *         if self._pvt_ptr[0].cuFormat not in _dict_CUarray_format:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17479
 *     @property
 *     def cuFormat(self):
 *         if self._pvt_ptr[0].cuFormat not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].cuFormat]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).cuFormat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 17479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":17480
 *     def cuFormat(self):
 *         if self._pvt_ptr[0].cuFormat not in _dict_CUarray_format:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUarray_format[self._pvt_ptr[0].cuFormat]
 *     @cuFormat.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17479
 *     @property
 *     def cuFormat(self):
 *         if self._pvt_ptr[0].cuFormat not in _dict_CUarray_format:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].cuFormat]
*/
  }

  /* "cuda/bindings/driver.pyx":17481
 *         if self._pvt_ptr[0].cuFormat not in _dict_CUarray_format:
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].cuFormat]             # <<<<<<<<<<<<<<
 *     @cuFormat.setter
 *     def cuFormat(self, cuFormat not None : CUarray_format):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUarray_format_enum((__pyx_v_self->_pvt_ptr[0]).cuFormat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17477
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._pvt_ptr[0].eglColorFormat = eglColorFormat.value
 *     @property             # <<<<<<<<<<<<<<
 *     def cuFormat(self):
 *         if self._pvt_ptr[0].cuFormat not in _dict_CUarray_format:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.cuFormat.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17482
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].cuFormat]
 *     @cuFormat.setter             # <<<<<<<<<<<<<<
 *     def cuFormat(self, cuFormat not None : CUarray_format):
 *         self._pvt_ptr[0].cuFormat = cuFormat.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_cuFormat); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_cuFormat) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(((PyObject *)__pyx_v_cuFormat) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "cuFormat"); __PYX_ERR(0, 17483, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), ((PyObject *)__pyx_v_cuFormat));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_cuFormat) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUarray_format __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17484
 *     @cuFormat.setter
 *     def cuFormat(self, cuFormat not None : CUarray_format):
 *         self._pvt_ptr[0].cuFormat = cuFormat.value             # <<<<<<<<<<<<<<
 * 
 * cdef class cuuint32_t:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuFormat, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).cuFormat = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":17482
 *             return None
 *         return _dict_CUarray_format[self._pvt_ptr[0].cuFormat]
 *     @cuFormat.setter             # <<<<<<<<<<<<<<
 *     def cuFormat(self, cuFormat not None : CUarray_format):
 *         self._pvt_ptr[0].cuFormat = cuFormat.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.cuFormat.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_10__reduce_cython__, "CUeglFrame_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUeglFrame_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_12__setstate_cython__, "CUeglFrame_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUeglFrame_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUeglFrame_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUeglFrame_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17495
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17495, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17495, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17495, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17495, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17495, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17495, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_uint32_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 17495, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint32_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17495, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17495, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint32_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17496
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17497
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint32_t *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17496
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17499
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint32_t *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((cuuint32_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17500
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint32_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17501
 *             self._pvt_ptr = <cydriver.cuuint32_t *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17500
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint32_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17495
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17502
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17504
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17505
 *         pass
 *     def __repr__(self):
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17505, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_cuuint32_t, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17504
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint32_t.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17506
 *     def __repr__(self):
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17507
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_uint32_t(((uint32_t)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17506
 *     def __repr__(self):
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint32_t.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17508
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_8getPtr, "cuuint32_t.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10cuuint32_t_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17509
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cuuint64_t:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17508
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint32_t.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_10__reduce_cython__, "cuuint32_t.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10cuuint32_t_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint32_t.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_12__setstate_cython__, "cuuint32_t.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10cuuint32_t_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint32_t.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint32_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint32_t.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17520
 * 
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint64_t __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17520, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17520, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_uint64_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 17520, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint64_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17520, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17520, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint64_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self, uint64_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17521
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17522
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint64_t *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17521
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17524
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint64_t *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((cuuint64_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17525
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint64_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17526
 *             self._pvt_ptr = <cydriver.cuuint64_t *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17525
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint64_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17520
 * 
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17527
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17529
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17530
 *         pass
 *     def __repr__(self):
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_cuuint64_t_2, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17529
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint64_t.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17531
 *     def __repr__(self):
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17532
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_uint64_t(((uint64_t)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17531
 *     def __repr__(self):
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint64_t.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17533
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_8getPtr, "cuuint64_t.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10cuuint64_t_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17534
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdeviceptr_v2:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17533
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint64_t.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_10__reduce_cython__, "cuuint64_t.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10cuuint64_t_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint64_t.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_12__setstate_cython__, "cuuint64_t.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_10cuuint64_t_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint64_t.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuuint64_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuuint64_t.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17547
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17547, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17547, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17547, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17547, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17547, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr_v2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17548
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17549
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr_v2 *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17548
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17551
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr_v2 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUdeviceptr_v2 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17552
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr_v2 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17553
 *             self._pvt_ptr = <cydriver.CUdeviceptr_v2 *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17552
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr_v2 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17547
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17554
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17556
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17557
 *         pass
 *     def __repr__(self):
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUdeviceptr_v2, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17556
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr_v2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17558
 *     def __repr__(self):
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17559
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17558
 *     def __repr__(self):
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr_v2.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17560
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_8getPtr, "CUdeviceptr_v2.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUdeviceptr_v2_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17561
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevice_v1:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17560
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr_v2.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_10__reduce_cython__, "CUdeviceptr_v2.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUdeviceptr_v2_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr_v2.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_12__setstate_cython__, "CUdeviceptr_v2.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUdeviceptr_v2_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr_v2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUdeviceptr_v2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdeviceptr_v2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17574
 * 
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17574, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17574, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_init_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17574, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17574, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self, int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17575
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17576
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice_v1 *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17575
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17578
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice_v1 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUdevice_v1 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17579
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17580
 *             self._pvt_ptr = <cydriver.CUdevice_v1 *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17579
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17574
 * 
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17581
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17583
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17584
 *         pass
 *     def __repr__(self):
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUdevice_v1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17583
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice_v1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17585
 *     def __repr__(self):
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17586
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(((int)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17585
 *     def __repr__(self):
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice_v1.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17587
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_8getPtr, "CUdevice_v1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUdevice_v1_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17588
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUtexObject_v1:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17587
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice_v1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_10__reduce_cython__, "CUdevice_v1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUdevice_v1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice_v1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_12__setstate_cython__, "CUdevice_v1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11CUdevice_v1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_11CUdevice_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevice_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17601
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17601, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17601, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17601, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17601, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17601, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17601, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17601, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17601, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17601, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17602
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17603
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject_v1 *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17602
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17605
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject_v1 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUtexObject_v1 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17606
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17607
 *             self._pvt_ptr = <cydriver.CUtexObject_v1 *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17606
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17601
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17608
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17610
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17611
 *         pass
 *     def __repr__(self):
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUtexObject_v1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17610
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject_v1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17612
 *     def __repr__(self):
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17613
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17612
 *     def __repr__(self):
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject_v1.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17614
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_8getPtr, "CUtexObject_v1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUtexObject_v1_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17615
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUsurfObject_v1:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17614
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject_v1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_10__reduce_cython__, "CUtexObject_v1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUtexObject_v1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject_v1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_12__setstate_cython__, "CUtexObject_v1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_14CUtexObject_v1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14CUtexObject_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUtexObject_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17628
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17628, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17628, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17628, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17628, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17628, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17629
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17630
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject_v1 *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17629
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17632
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject_v1 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUsurfObject_v1 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17633
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17634
 *             self._pvt_ptr = <cydriver.CUsurfObject_v1 *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17633
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17628
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17635
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17637
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17638
 *         pass
 *     def __repr__(self):
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUsurfObject_v1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17637
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject_v1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17639
 *     def __repr__(self):
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17640
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17639
 *     def __repr__(self):
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject_v1.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17641
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_8getPtr, "CUsurfObject_v1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15CUsurfObject_v1_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17642
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemGenericAllocationHandle_v1:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17641
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject_v1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_10__reduce_cython__, "CUsurfObject_v1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15CUsurfObject_v1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject_v1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_12__setstate_cython__, "CUsurfObject_v1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15CUsurfObject_v1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15CUsurfObject_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUsurfObject_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17653
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17653, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17653, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17653, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17653, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17653, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17653, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17653, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17653, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17653, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17654
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17655
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle_v1 *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17654
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17657
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle_v1 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUmemGenericAllocationHandle_v1 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17658
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17659
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle_v1 *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17658
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17653
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17660
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17662
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17663
 *         pass
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUmemGenericAllocationHandle_v1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17662
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle_v1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17664
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17665
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17664
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle_v1.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17666
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_8getPtr, "CUmemGenericAllocationHandle_v1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17667
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlogIterator:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17666
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle_v1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_10__reduce_cython__, "CUmemGenericAllocationHandle_v1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle_v1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_12__setstate_cython__, "CUmemGenericAllocationHandle_v1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUmemGenericAllocationHandle_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17678
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17678, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17678, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_init_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17678, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17678, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17678, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogIterator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17679
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17680
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogIterator *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17679
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17682
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogIterator *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((CUlogIterator *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17683
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogIterator *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17684
 *             self._pvt_ptr = <cydriver.CUlogIterator *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17683
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogIterator *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17678
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17685
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17687
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlogIterator ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17688
 *         pass
 *     def __repr__(self):
 *         return '<CUlogIterator ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlogIterator, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17687
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlogIterator ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogIterator.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17689
 *     def __repr__(self):
 *         return '<CUlogIterator ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17690
 *         return '<CUlogIterator ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(((unsigned int)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17689
 *     def __repr__(self):
 *         return '<CUlogIterator ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogIterator.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17691
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_8getPtr, "CUlogIterator.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUlogIterator_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17692
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class GLenum:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17691
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogIterator.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_10__reduce_cython__, "CUlogIterator.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUlogIterator_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogIterator.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_12__setstate_cython__, "CUlogIterator.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13CUlogIterator_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogIterator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13CUlogIterator_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlogIterator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17703
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_6GLenum_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_6GLenum_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17703, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17703, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17703, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17703, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17703, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17703, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_init_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17703, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17703, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17703, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.GLenum.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLenum___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_GLenum *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_6GLenum___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17704
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17705
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.GLenum *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17704
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17707
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.GLenum *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_GLenum *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17708
 *         else:
 *             self._pvt_ptr = <cydriver.GLenum *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17709
 *             self._pvt_ptr = <cydriver.GLenum *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17708
 *         else:
 *             self._pvt_ptr = <cydriver.GLenum *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17703
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17710
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_6GLenum_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_6GLenum_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_6GLenum_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_6GLenum_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17712
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLenum_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17713
 *         pass
 *     def __repr__(self):
 *         return '<GLenum ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_GLenum, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17712
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.GLenum.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17714
 *     def __repr__(self):
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLenum_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17715
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(((unsigned int)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17714
 *     def __repr__(self):
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.GLenum.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17716
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6GLenum_8getPtr, "GLenum.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6GLenum_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLenum_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLenum_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLenum_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17717
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class GLuint:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17716
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.GLenum.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6GLenum_10__reduce_cython__, "GLenum.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6GLenum_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLenum_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLenum_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLenum_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.GLenum.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6GLenum_12__setstate_cython__, "GLenum.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6GLenum_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLenum_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLenum_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLenum_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.GLenum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLenum_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_GLenum *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLenum_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLenum *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.GLenum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17728
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_6GLuint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_6GLuint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17728, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17728, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17728, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17728, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17728, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17728, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_init_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17728, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17728, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17728, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.GLuint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLuint___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_GLuint *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_6GLuint___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17729
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17730
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.GLuint *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17729
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17732
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.GLuint *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_GLuint *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17733
 *         else:
 *             self._pvt_ptr = <cydriver.GLuint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17734
 *             self._pvt_ptr = <cydriver.GLuint *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17733
 *         else:
 *             self._pvt_ptr = <cydriver.GLuint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17728
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17735
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_6GLuint_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_6GLuint_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_6GLuint_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_6GLuint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17737
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLuint_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17738
 *         pass
 *     def __repr__(self):
 *         return '<GLuint ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_GLuint, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17737
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.GLuint.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17739
 *     def __repr__(self):
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLuint_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17740
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(((unsigned int)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17739
 *     def __repr__(self):
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.GLuint.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17741
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6GLuint_8getPtr, "GLuint.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6GLuint_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLuint_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLuint_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLuint_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17742
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class EGLint:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17741
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.GLuint.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6GLuint_10__reduce_cython__, "GLuint.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6GLuint_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLuint_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLuint_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLuint_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.GLuint.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6GLuint_12__setstate_cython__, "GLuint.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6GLuint_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLuint_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLuint_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6GLuint_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.GLuint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6GLuint_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_GLuint *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6GLuint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_GLuint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.GLuint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17753
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_6EGLint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_6EGLint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17753, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17753, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_init_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17753, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17753, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17753, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.EGLint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6EGLint___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLint *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_6EGLint___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17754
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17755
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.EGLint *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17754
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17757
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.EGLint *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_EGLint *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17758
 *         else:
 *             self._pvt_ptr = <cydriver.EGLint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17759
 *             self._pvt_ptr = <cydriver.EGLint *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17758
 *         else:
 *             self._pvt_ptr = <cydriver.EGLint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17753
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17760
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_6EGLint_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_6EGLint_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_6EGLint_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_6EGLint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17762
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6EGLint_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17763
 *         pass
 *     def __repr__(self):
 *         return '<EGLint ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_EGLint, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17762
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLint.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17764
 *     def __repr__(self):
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6EGLint_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17765
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(((unsigned int)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17764
 *     def __repr__(self):
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLint.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17766
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6EGLint_8getPtr, "EGLint.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6EGLint_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6EGLint_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6EGLint_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6EGLint_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17767
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class VdpDevice:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17766
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.EGLint.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6EGLint_10__reduce_cython__, "EGLint.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6EGLint_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6EGLint_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6EGLint_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6EGLint_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.EGLint.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6EGLint_12__setstate_cython__, "EGLint.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_6EGLint_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6EGLint_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6EGLint_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_6EGLint_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.EGLint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6EGLint_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_EGLint *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6EGLint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_EGLint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.EGLint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17778
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_9VdpDevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_9VdpDevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17778, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17778, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17778, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17778, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17778, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17778, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_uint32_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 17778, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint32_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17778, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17778, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.VdpDevice.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9VdpDevice___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_9VdpDevice___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17779
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17780
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.VdpDevice *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17779
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17782
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.VdpDevice *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_VdpDevice *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17783
 *         else:
 *             self._pvt_ptr = <cydriver.VdpDevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17784
 *             self._pvt_ptr = <cydriver.VdpDevice *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17783
 *         else:
 *             self._pvt_ptr = <cydriver.VdpDevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17778
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17785
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_9VdpDevice_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_9VdpDevice_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_9VdpDevice_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_9VdpDevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17787
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9VdpDevice_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17788
 *         pass
 *     def __repr__(self):
 *         return '<VdpDevice ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_VdpDevice, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17787
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpDevice.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17789
 *     def __repr__(self):
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9VdpDevice_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17790
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_uint32_t(((uint32_t)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17789
 *     def __repr__(self):
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpDevice.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17791
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9VdpDevice_8getPtr, "VdpDevice.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9VdpDevice_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9VdpDevice_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9VdpDevice_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17792
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class VdpGetProcAddress:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17791
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpDevice.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9VdpDevice_10__reduce_cython__, "VdpDevice.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9VdpDevice_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9VdpDevice_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9VdpDevice_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.VdpDevice.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_9VdpDevice_12__setstate_cython__, "VdpDevice.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9VdpDevice_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9VdpDevice_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.VdpDevice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_9VdpDevice_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_9VdpDevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.VdpDevice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17803
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17803, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17803, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17803, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17803, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17803, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.VdpGetProcAddress.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17804
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17805
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.VdpGetProcAddress *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17804
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17807
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.VdpGetProcAddress *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17808
 *         else:
 *             self._pvt_ptr = <cydriver.VdpGetProcAddress *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17809
 *             self._pvt_ptr = <cydriver.VdpGetProcAddress *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17808
 *         else:
 *             self._pvt_ptr = <cydriver.VdpGetProcAddress *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17803
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17810
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17812
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17813
 *         pass
 *     def __repr__(self):
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_VdpGetProcAddress, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17812
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpGetProcAddress.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17814
 *     def __repr__(self):
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17815
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17814
 *     def __repr__(self):
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpGetProcAddress.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17816
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_8getPtr, "VdpGetProcAddress.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17VdpGetProcAddress_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17817
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class VdpVideoSurface:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17816
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpGetProcAddress.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_10__reduce_cython__, "VdpGetProcAddress.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17VdpGetProcAddress_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.VdpGetProcAddress.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_12__setstate_cython__, "VdpGetProcAddress.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17VdpGetProcAddress_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.VdpGetProcAddress.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17VdpGetProcAddress_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.VdpGetProcAddress.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17828
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17828, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17828, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_uint32_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 17828, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint32_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17828, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17828, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.VdpVideoSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17829
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17830
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.VdpVideoSurface *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17829
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17832
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.VdpVideoSurface *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17833
 *         else:
 *             self._pvt_ptr = <cydriver.VdpVideoSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17834
 *             self._pvt_ptr = <cydriver.VdpVideoSurface *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17833
 *         else:
 *             self._pvt_ptr = <cydriver.VdpVideoSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17828
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17835
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17837
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17838
 *         pass
 *     def __repr__(self):
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_VdpVideoSurface, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17837
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpVideoSurface.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17839
 *     def __repr__(self):
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17840
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_uint32_t(((uint32_t)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17839
 *     def __repr__(self):
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpVideoSurface.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17841
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_8getPtr, "VdpVideoSurface.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15VdpVideoSurface_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17842
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class VdpOutputSurface:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17841
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpVideoSurface.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_10__reduce_cython__, "VdpVideoSurface.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15VdpVideoSurface_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.VdpVideoSurface.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_12__setstate_cython__, "VdpVideoSurface.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15VdpVideoSurface_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.VdpVideoSurface.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_15VdpVideoSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.VdpVideoSurface.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17853
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_init_value,&__pyx_mstate_global->__pyx_n_u_ptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17853, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17853, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17853, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(0, 17853, __pyx_L3_error)
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 17853, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17853, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyLong_As_uint32_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 17853, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint32_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17853, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_8bindings_6driver_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 17853, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.VdpOutputSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17854
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17855
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.VdpOutputSurface *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17854
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17857
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.VdpOutputSurface *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((__pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17858
 *         else:
 *             self._pvt_ptr = <cydriver.VdpOutputSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17859
 *             self._pvt_ptr = <cydriver.VdpOutputSurface *>_ptr
 *         if init_value:
 *             self._pvt_ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
    (__pyx_v_self->_pvt_ptr[0]) = __pyx_v_init_value;

    /* "cuda/bindings/driver.pyx":17858
 *         else:
 *             self._pvt_ptr = <cydriver.VdpOutputSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17853
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17860
 *         if init_value:
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_2__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17862
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_4__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_4__repr__(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17863
 *         pass
 *     def __repr__(self):
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_int, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_VdpOutputSurface, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17862
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpOutputSurface.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17864
 *     def __repr__(self):
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_7__int__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_6__int__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_6__int__(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 0);

  /* "cuda/bindings/driver.pyx":17865
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_uint32_t(((uint32_t)(__pyx_v_self->_pvt_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17864
 *     def __repr__(self):
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpOutputSurface.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17866
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_8getPtr, "VdpOutputSurface.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16VdpOutputSurface_9getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_8getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_9getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPtr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_8getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_8getPtr(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPtr", 0);

  /* "cuda/bindings/driver.pyx":17867
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17866
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.VdpOutputSurface.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_10__reduce_cython__, "VdpOutputSurface.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16VdpOutputSurface_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.VdpOutputSurface.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_12__setstate_cython__, "VdpOutputSurface.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_16VdpOutputSurface_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.VdpOutputSurface.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16VdpOutputSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.VdpOutputSurface.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17869
 *         return <void_ptr>self._pvt_ptr
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorString(error not None : CUresult):
 *     """ Gets the string description of an error code.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_1cuGetErrorString(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_cuGetErrorString, "cuGetErrorString(error: CUresult)\n\nGets the string description of an error code.\n\nSets `*pStr` to the address of a NULL-terminated string description of\nthe error code `error`. If the error code is not recognized,\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned and `*pStr` will\nbe set to the NULL address.\n\nParameters\n----------\nerror : :py:obj:`~.CUresult`\n    Error code to convert to string\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npStr : bytes\n    Address of the string pointer.\n\nSee Also\n--------\n:py:obj:`~.CUresult`, :py:obj:`~.cudaGetErrorString`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_1cuGetErrorString = {"cuGetErrorString", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_1cuGetErrorString, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_cuGetErrorString};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_1cuGetErrorString(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_error = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGetErrorString (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_error,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17869, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17869, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGetErrorString", 0) < (0)) __PYX_ERR(0, 17869, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGetErrorString", 1, 1, 1, i); __PYX_ERR(0, 17869, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17869, __pyx_L3_error)
    }
    __pyx_v_error = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGetErrorString", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 17869, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGetErrorString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_error) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "error"); __PYX_ERR(0, 17870, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_cuGetErrorString(__pyx_self, __pyx_v_error);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_cuGetErrorString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error) {
  CUresult __pyx_v_cyerror;
  char const *__pyx_v_pStr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGetErrorString", 0);

  /* "cuda/bindings/driver.pyx":17894
 *     :py:obj:`~.CUresult`, :py:obj:`~.cudaGetErrorString`
 *     """
 *     cdef cydriver.CUresult cyerror = error.value             # <<<<<<<<<<<<<<
 *     cdef const char* pStr = NULL
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaError_enum)__Pyx_PyLong_As_enum__cudaError_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17894, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyerror = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":17895
 *     """
 *     cdef cydriver.CUresult cyerror = error.value
 *     cdef const char* pStr = NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGetErrorString(cyerror, &pStr)
*/
  __pyx_v_pStr = NULL;

  /* "cuda/bindings/driver.pyx":17896
 *     cdef cydriver.CUresult cyerror = error.value
 *     cdef const char* pStr = NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGetErrorString(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17897
 *     cdef const char* pStr = NULL
 *     with nogil:
 *         err = cydriver.cuGetErrorString(cyerror, &pStr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_2 = __pyx_f_4cuda_8bindings_8cydriver_cuGetErrorString(__pyx_v_cyerror, (&__pyx_v_pStr)); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17897, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/bindings/driver.pyx":17896
 *     cdef cydriver.CUresult cyerror = error.value
 *     cdef const char* pStr = NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGetErrorString(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":17898
 *     with nogil:
 *         err = cydriver.cuGetErrorString(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
*/
  __pyx_t_3 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":17899
 *         err = cydriver.cuGetErrorString(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 17899, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 17899, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17898
 *     with nogil:
 *         err = cydriver.cuGetErrorString(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
*/
  }

  /* "cuda/bindings/driver.pyx":17900
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_3 = (__pyx_v_pStr != NULL);
  if (__pyx_t_3) {
    __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_pStr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject*)__pyx_t_4));
    __pyx_t_5 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(Py_None);
    __pyx_t_5 = Py_None;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 17900, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 17900, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17869
 *         return <void_ptr>self._pvt_ptr
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorString(error not None : CUresult):
 *     """ Gets the string description of an error code.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGetErrorString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17902
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorName(error not None : CUresult):
 *     """ Gets the string representation of an error code enum name.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_3cuGetErrorName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_2cuGetErrorName, "cuGetErrorName(error: CUresult)\n\nGets the string representation of an error code enum name.\n\nSets `*pStr` to the address of a NULL-terminated string representation\nof the name of the enum error code `error`. If the error code is not\nrecognized, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned and\n`*pStr` will be set to the NULL address.\n\nParameters\n----------\nerror : :py:obj:`~.CUresult`\n    Error code to convert to string\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npStr : bytes\n    Address of the string pointer.\n\nSee Also\n--------\n:py:obj:`~.CUresult`, :py:obj:`~.cudaGetErrorName`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_3cuGetErrorName = {"cuGetErrorName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_3cuGetErrorName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_2cuGetErrorName};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_3cuGetErrorName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_error = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGetErrorName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_error,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17902, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17902, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGetErrorName", 0) < (0)) __PYX_ERR(0, 17902, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGetErrorName", 1, 1, 1, i); __PYX_ERR(0, 17902, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17902, __pyx_L3_error)
    }
    __pyx_v_error = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGetErrorName", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 17902, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGetErrorName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_error) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "error"); __PYX_ERR(0, 17903, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_2cuGetErrorName(__pyx_self, __pyx_v_error);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_2cuGetErrorName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error) {
  CUresult __pyx_v_cyerror;
  char const *__pyx_v_pStr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGetErrorName", 0);

  /* "cuda/bindings/driver.pyx":17927
 *     :py:obj:`~.CUresult`, :py:obj:`~.cudaGetErrorName`
 *     """
 *     cdef cydriver.CUresult cyerror = error.value             # <<<<<<<<<<<<<<
 *     cdef const char* pStr = NULL
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaError_enum)__Pyx_PyLong_As_enum__cudaError_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyerror = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":17928
 *     """
 *     cdef cydriver.CUresult cyerror = error.value
 *     cdef const char* pStr = NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGetErrorName(cyerror, &pStr)
*/
  __pyx_v_pStr = NULL;

  /* "cuda/bindings/driver.pyx":17929
 *     cdef cydriver.CUresult cyerror = error.value
 *     cdef const char* pStr = NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGetErrorName(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17930
 *     cdef const char* pStr = NULL
 *     with nogil:
 *         err = cydriver.cuGetErrorName(cyerror, &pStr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_2 = __pyx_f_4cuda_8bindings_8cydriver_cuGetErrorName(__pyx_v_cyerror, (&__pyx_v_pStr)); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17930, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/bindings/driver.pyx":17929
 *     cdef cydriver.CUresult cyerror = error.value
 *     cdef const char* pStr = NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGetErrorName(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":17931
 *     with nogil:
 *         err = cydriver.cuGetErrorName(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
*/
  __pyx_t_3 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_3) {

    /* "cuda/bindings/driver.pyx":17932
 *         err = cydriver.cuGetErrorName(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 17932, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 17932, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17931
 *     with nogil:
 *         err = cydriver.cuGetErrorName(cyerror, &pStr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
*/
  }

  /* "cuda/bindings/driver.pyx":17933
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_3 = (__pyx_v_pStr != NULL);
  if (__pyx_t_3) {
    __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_pStr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject*)__pyx_t_4));
    __pyx_t_5 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(Py_None);
    __pyx_t_5 = Py_None;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 17933, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 17933, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17902
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorName(error not None : CUresult):
 *     """ Gets the string representation of an error code enum name.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGetErrorName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17935
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuInit(unsigned int Flags):
 *     """ Initialize the CUDA driver API Initializes the driver API and must be called before any other function from the driver API in the current process. Currently, the `Flags` parameter must be 0. If :py:obj:`~.cuInit()` has not been called, any function from the driver API will return :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_5cuInit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_4cuInit, "cuInit(unsigned int Flags)\n\nInitialize the CUDA driver API Initializes the driver API and must be called before any other function from the driver API in the current process. Currently, the `Flags` parameter must be 0. If :py:obj:`~.cuInit()` has not been called, any function from the driver API will return :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`.\n\nParameters\n----------\nFlags : unsigned int\n    Initialization flag for CUDA.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_SYSTEM_DRIVER_MISMATCH`, :py:obj:`~.CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_5cuInit = {"cuInit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_5cuInit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_4cuInit};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_5cuInit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuInit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17935, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17935, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuInit", 0) < (0)) __PYX_ERR(0, 17935, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuInit", 1, 1, 1, i); __PYX_ERR(0, 17935, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17935, __pyx_L3_error)
    }
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17936, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuInit", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 17935, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuInit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_4cuInit(__pyx_self, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_4cuInit(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuInit", 0);

  /* "cuda/bindings/driver.pyx":17949
 *         :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_SYSTEM_DRIVER_MISMATCH`, :py:obj:`~.CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuInit(Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17950
 *     """
 *     with nogil:
 *         err = cydriver.cuInit(Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuInit(__pyx_v_Flags); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17950, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":17949
 *         :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_SYSTEM_DRIVER_MISMATCH`, :py:obj:`~.CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuInit(Flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":17951
 *     with nogil:
 *         err = cydriver.cuInit(Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 17951, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17935
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuInit(unsigned int Flags):
 *     """ Initialize the CUDA driver API Initializes the driver API and must be called before any other function from the driver API in the current process. Currently, the `Flags` parameter must be 0. If :py:obj:`~.cuInit()` has not been called, any function from the driver API will return :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuInit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17953
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDriverGetVersion():
 *     """ Returns the latest CUDA version supported by driver.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7cuDriverGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_6cuDriverGetVersion, "cuDriverGetVersion()\n\nReturns the latest CUDA version supported by driver.\n\nReturns in `*driverVersion` the version of CUDA supported by the\ndriver. The version is returned as (1000 * major + 10 * minor). For\nexample, CUDA 9.2 would be represented by 9020.\n\nThis function automatically returns\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` if `driverVersion` is NULL.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ndriverVersion : int\n    Returns the CUDA driver version\n\nSee Also\n--------\n:py:obj:`~.cudaDriverGetVersion`, :py:obj:`~.cudaRuntimeGetVersion`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_7cuDriverGetVersion = {"cuDriverGetVersion", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_7cuDriverGetVersion, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_6cuDriverGetVersion};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_7cuDriverGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDriverGetVersion (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_6cuDriverGetVersion(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_6cuDriverGetVersion(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_driverVersion;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDriverGetVersion", 0);

  /* "cuda/bindings/driver.pyx":17975
 *     :py:obj:`~.cudaDriverGetVersion`, :py:obj:`~.cudaRuntimeGetVersion`
 *     """
 *     cdef int driverVersion = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
*/
  __pyx_v_driverVersion = 0;

  /* "cuda/bindings/driver.pyx":17976
 *     """
 *     cdef int driverVersion = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17977
 *     cdef int driverVersion = 0
 *     with nogil:
 *         err = cydriver.cuDriverGetVersion(&driverVersion)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuDriverGetVersion((&__pyx_v_driverVersion)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17977, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":17976
 *     """
 *     cdef int driverVersion = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":17978
 *     with nogil:
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], driverVersion)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":17979
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], driverVersion)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 17979, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 17979, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17978
 *     with nogil:
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], driverVersion)
*/
  }

  /* "cuda/bindings/driver.pyx":17980
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], driverVersion)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_driverVersion); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 17980, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 17980, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17953
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDriverGetVersion():
 *     """ Returns the latest CUDA version supported by driver.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDriverGetVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17982
 *     return (_dict_CUresult[err], driverVersion)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGet(int ordinal):
 *     """ Returns a handle to a compute device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9cuDeviceGet(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_8cuDeviceGet, "cuDeviceGet(int ordinal)\n\nReturns a handle to a compute device.\n\nReturns in `*device` a device handle given an ordinal in the range [0,\n:py:obj:`~.cuDeviceGetCount()`-1].\n\nParameters\n----------\nordinal : int\n    Device number to get handle for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\ndevice : :py:obj:`~.CUdevice`\n    Returned device handle\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_9cuDeviceGet = {"cuDeviceGet", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9cuDeviceGet, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8cuDeviceGet};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_9cuDeviceGet(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_ordinal;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGet (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ordinal,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 17982, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17982, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGet", 0) < (0)) __PYX_ERR(0, 17982, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGet", 1, 1, 1, i); __PYX_ERR(0, 17982, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 17982, __pyx_L3_error)
    }
    __pyx_v_ordinal = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_ordinal == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17983, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGet", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 17982, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGet", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8cuDeviceGet(__pyx_self, __pyx_v_ordinal);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_8cuDeviceGet(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_ordinal) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_device = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGet", 0);

  /* "cuda/bindings/driver.pyx":18005
 *     :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`
 *     """
 *     cdef CUdevice device = CUdevice()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGet(<cydriver.CUdevice*>device._pvt_ptr, ordinal)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18005, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_device = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":18006
 *     """
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGet(<cydriver.CUdevice*>device._pvt_ptr, ordinal)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18007
 *     cdef CUdevice device = CUdevice()
 *     with nogil:
 *         err = cydriver.cuDeviceGet(<cydriver.CUdevice*>device._pvt_ptr, ordinal)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGet(((CUdevice *)__pyx_v_device->_pvt_ptr), __pyx_v_ordinal); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18007, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":18006
 *     """
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGet(<cydriver.CUdevice*>device._pvt_ptr, ordinal)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":18008
 *     with nogil:
 *         err = cydriver.cuDeviceGet(<cydriver.CUdevice*>device._pvt_ptr, ordinal)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":18009
 *         err = cydriver.cuDeviceGet(<cydriver.CUdevice*>device._pvt_ptr, ordinal)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], device)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 18009, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 18009, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18008
 *     with nogil:
 *         err = cydriver.cuDeviceGet(<cydriver.CUdevice*>device._pvt_ptr, ordinal)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)
*/
  }

  /* "cuda/bindings/driver.pyx":18010
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 18010, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_device)) != (0)) __PYX_ERR(0, 18010, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17982
 *     return (_dict_CUresult[err], driverVersion)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGet(int ordinal):
 *     """ Returns a handle to a compute device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGet", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_device);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18012
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetCount():
 *     """ Returns the number of compute-capable devices.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11cuDeviceGetCount(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_10cuDeviceGetCount, "cuDeviceGetCount()\n\nReturns the number of compute-capable devices.\n\nReturns in `*count` the number of devices with compute capability\ngreater than or equal to 2.0 that are available for execution. If there\nis no such device, :py:obj:`~.cuDeviceGetCount()` returns 0.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ncount : int\n    Returned number of compute-capable devices\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaGetDeviceCount`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_11cuDeviceGetCount = {"cuDeviceGetCount", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_11cuDeviceGetCount, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_10cuDeviceGetCount};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_11cuDeviceGetCount(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetCount (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_10cuDeviceGetCount(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_10cuDeviceGetCount(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_count;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetCount", 0);

  /* "cuda/bindings/driver.pyx":18031
 *     :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaGetDeviceCount`
 *     """
 *     cdef int count = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetCount(&count)
*/
  __pyx_v_count = 0;

  /* "cuda/bindings/driver.pyx":18032
 *     """
 *     cdef int count = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetCount(&count)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18033
 *     cdef int count = 0
 *     with nogil:
 *         err = cydriver.cuDeviceGetCount(&count)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetCount((&__pyx_v_count)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18033, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":18032
 *     """
 *     cdef int count = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetCount(&count)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":18034
 *     with nogil:
 *         err = cydriver.cuDeviceGetCount(&count)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":18035
 *         err = cydriver.cuDeviceGetCount(&count)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], count)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 18035, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 18035, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18034
 *     with nogil:
 *         err = cydriver.cuDeviceGetCount(&count)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)
*/
  }

  /* "cuda/bindings/driver.pyx":18036
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_count); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 18036, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 18036, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18012
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetCount():
 *     """ Returns the number of compute-capable devices.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18038
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetName(int length, dev):
 *     """ Returns an identifier string for the device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13cuDeviceGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_12cuDeviceGetName, "cuDeviceGetName(int length, dev)\n\nReturns an identifier string for the device.\n\nReturns an ASCII string identifying the device `dev` in the NULL-\nterminated string pointed to by `name`. `length` specifies the maximum\nlength of the string that may be returned. `name` is shortened to the\nspecified `length`, if `length` is less than the device name\n\nParameters\n----------\nlength : int\n    Maximum length of string to store in `name`\ndev : :py:obj:`~.CUdevice`\n    Device to get identifier string for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nname : bytes\n    Returned identifier string for the device\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaGetDeviceProperties`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_13cuDeviceGetName = {"cuDeviceGetName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13cuDeviceGetName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12cuDeviceGetName};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_13cuDeviceGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_length;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_length,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18038, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetName", 0) < (0)) __PYX_ERR(0, 18038, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetName", 1, 2, 2, i); __PYX_ERR(0, 18038, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18038, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18038, __pyx_L3_error)
    }
    __pyx_v_length = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18039, __pyx_L3_error)
    __pyx_v_dev = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetName", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 18038, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_12cuDeviceGetName(__pyx_self, __pyx_v_length, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12cuDeviceGetName(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  PyObject *__pyx_v_pyname = NULL;
  char *__pyx_v_name;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  char *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetName", 0);

  /* "cuda/bindings/driver.pyx":18066
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18067
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18066
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18068
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18069
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18069, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18068
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18071
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     pyname = b" " * length
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18071, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18072
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     pyname = b" " * length
 *     cdef char* name = pyname
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18072, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18073
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     pyname = b" " * length             # <<<<<<<<<<<<<<
 *     cdef char* name = pyname
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_kp_b__5, __pyx_v_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyname = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":18074
 *     cydev = <cydriver.CUdevice>pdev
 *     pyname = b" " * length
 *     cdef char* name = pyname             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetName(name, length, cydev)
*/
  __pyx_t_7 = __Pyx_PyBytes_AsWritableString(__pyx_v_pyname); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 18074, __pyx_L1_error)
  __pyx_v_name = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":18075
 *     pyname = b" " * length
 *     cdef char* name = pyname
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetName(name, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18076
 *     cdef char* name = pyname
 *     with nogil:
 *         err = cydriver.cuDeviceGetName(name, length, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetName(__pyx_v_name, __pyx_v_length, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18076, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":18075
 *     pyname = b" " * length
 *     cdef char* name = pyname
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetName(name, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18077
 *     with nogil:
 *         err = cydriver.cuDeviceGetName(name, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pyname)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18078
 *         err = cydriver.cuDeviceGetName(name, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pyname)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 18078, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 18078, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18077
 *     with nogil:
 *         err = cydriver.cuDeviceGetName(name, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pyname)
*/
  }

  /* "cuda/bindings/driver.pyx":18079
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pyname)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18079, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyname);
  __Pyx_GIVEREF(__pyx_v_pyname);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_pyname) != (0)) __PYX_ERR(0, 18079, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18038
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetName(int length, dev):
 *     """ Returns an identifier string for the device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pyname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18081
 *     return (_dict_CUresult[err], pyname)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid(dev):
 *     """ Return an UUID for the device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15cuDeviceGetUuid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_14cuDeviceGetUuid, "cuDeviceGetUuid(dev)\n\nReturn an UUID for the device.\n\nNote there is a later version of this API,\n:py:obj:`~.cuDeviceGetUuid_v2`. It will supplant this version in 12.0,\nwhich is retained for minor version compatibility.\n\nReturns 16-octets identifying the device `dev` in the structure pointed\nby the `uuid`.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device to get identifier string for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nuuid : :py:obj:`~.CUuuid`\n    Returned UUID\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetUuid_v2` :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaGetDeviceProperties`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_15cuDeviceGetUuid = {"cuDeviceGetUuid", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15cuDeviceGetUuid, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14cuDeviceGetUuid};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_15cuDeviceGetUuid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetUuid (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18081, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18081, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetUuid", 0) < (0)) __PYX_ERR(0, 18081, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetUuid", 1, 1, 1, i); __PYX_ERR(0, 18081, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18081, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetUuid", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18081, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetUuid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_14cuDeviceGetUuid(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14cuDeviceGetUuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_uuid = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetUuid", 0);

  /* "cuda/bindings/driver.pyx":18109
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18110
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18109
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18111
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18112
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18111
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18114
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18114, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18115
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18115, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18116
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetUuid(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18116, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_uuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":18117
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetUuid(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18118
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:
 *         err = cydriver.cuDeviceGetUuid(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetUuid(((CUuuid *)__pyx_v_uuid->__pyx_base._pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18118, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":18117
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetUuid(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18119
 *     with nogil:
 *         err = cydriver.cuDeviceGetUuid(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], uuid)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18120
 *         err = cydriver.cuDeviceGetUuid(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], uuid)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 18120, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 18120, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18119
 *     with nogil:
 *         err = cydriver.cuDeviceGetUuid(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], uuid)
*/
  }

  /* "cuda/bindings/driver.pyx":18121
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], uuid)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18121, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_uuid);
  __Pyx_GIVEREF((PyObject *)__pyx_v_uuid);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_uuid)) != (0)) __PYX_ERR(0, 18121, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18081
 *     return (_dict_CUresult[err], pyname)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid(dev):
 *     """ Return an UUID for the device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetUuid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_uuid);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18123
 *     return (_dict_CUresult[err], uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid_v2(dev):
 *     """ Return an UUID for the device (11.4+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17cuDeviceGetUuid_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16cuDeviceGetUuid_v2, "cuDeviceGetUuid_v2(dev)\n\nReturn an UUID for the device (11.4+)\n\nReturns 16-octets identifying the device `dev` in the structure pointed\nby the `uuid`. If the device is in MIG mode, returns its MIG UUID which\nuniquely identifies the subscribed MIG compute instance.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device to get identifier string for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nuuid : :py:obj:`~.CUuuid`\n    Returned UUID\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cudaGetDeviceProperties`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_17cuDeviceGetUuid_v2 = {"cuDeviceGetUuid_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17cuDeviceGetUuid_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16cuDeviceGetUuid_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17cuDeviceGetUuid_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetUuid_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18123, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18123, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetUuid_v2", 0) < (0)) __PYX_ERR(0, 18123, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetUuid_v2", 1, 1, 1, i); __PYX_ERR(0, 18123, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18123, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetUuid_v2", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18123, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetUuid_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16cuDeviceGetUuid_v2(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_16cuDeviceGetUuid_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_uuid = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetUuid_v2", 0);

  /* "cuda/bindings/driver.pyx":18148
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18149
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18148
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18150
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18151
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18150
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18153
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18153, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18154
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18154, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18155
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetUuid_v2(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18155, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_uuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":18156
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetUuid_v2(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18157
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:
 *         err = cydriver.cuDeviceGetUuid_v2(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetUuid_v2(((CUuuid *)__pyx_v_uuid->__pyx_base._pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18157, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":18156
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetUuid_v2(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18158
 *     with nogil:
 *         err = cydriver.cuDeviceGetUuid_v2(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], uuid)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18159
 *         err = cydriver.cuDeviceGetUuid_v2(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], uuid)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 18159, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 18159, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18158
 *     with nogil:
 *         err = cydriver.cuDeviceGetUuid_v2(<cydriver.CUuuid*>uuid._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], uuid)
*/
  }

  /* "cuda/bindings/driver.pyx":18160
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], uuid)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18160, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_uuid);
  __Pyx_GIVEREF((PyObject *)__pyx_v_uuid);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_uuid)) != (0)) __PYX_ERR(0, 18160, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18123
 *     return (_dict_CUresult[err], uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid_v2(dev):
 *     """ Return an UUID for the device (11.4+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetUuid_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_uuid);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18162
 *     return (_dict_CUresult[err], uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetLuid(dev):
 *     """ Return an LUID and device node mask for the device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19cuDeviceGetLuid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18cuDeviceGetLuid, "cuDeviceGetLuid(dev)\n\nReturn an LUID and device node mask for the device.\n\nReturn identifying information (`luid` and `deviceNodeMask`) to allow\nmatching device with graphics APIs.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device to get identifier string for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nluid : bytes\n    Returned LUID\ndeviceNodeMask : unsigned int\n    Returned device node mask\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaGetDeviceProperties`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_19cuDeviceGetLuid = {"cuDeviceGetLuid", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19cuDeviceGetLuid, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18cuDeviceGetLuid};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19cuDeviceGetLuid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetLuid (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18162, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18162, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetLuid", 0) < (0)) __PYX_ERR(0, 18162, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetLuid", 1, 1, 1, i); __PYX_ERR(0, 18162, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18162, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetLuid", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18162, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetLuid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_18cuDeviceGetLuid(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuDeviceGetLuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  char __pyx_v_luid[8];
  unsigned int __pyx_v_deviceNodeMask;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetLuid", 0);

  /* "cuda/bindings/driver.pyx":18188
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18189
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18188
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18190
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18191
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18190
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18193
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef char luid[8]
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18193, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18194
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef char luid[8]
 *     cdef unsigned int deviceNodeMask = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18194, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18196
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef char luid[8]
 *     cdef unsigned int deviceNodeMask = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetLuid(luid, &deviceNodeMask, cydev)
*/
  __pyx_v_deviceNodeMask = 0;

  /* "cuda/bindings/driver.pyx":18197
 *     cdef char luid[8]
 *     cdef unsigned int deviceNodeMask = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetLuid(luid, &deviceNodeMask, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18198
 *     cdef unsigned int deviceNodeMask = 0
 *     with nogil:
 *         err = cydriver.cuDeviceGetLuid(luid, &deviceNodeMask, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetLuid(__pyx_v_luid, (&__pyx_v_deviceNodeMask), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18198, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":18197
 *     cdef char luid[8]
 *     cdef unsigned int deviceNodeMask = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetLuid(luid, &deviceNodeMask, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18199
 *     with nogil:
 *         err = cydriver.cuDeviceGetLuid(luid, &deviceNodeMask, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], <bytes>luid, deviceNodeMask)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18200
 *         err = cydriver.cuDeviceGetLuid(luid, &deviceNodeMask, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], <bytes>luid, deviceNodeMask)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 18200, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 18200, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 18200, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18199
 *     with nogil:
 *         err = cydriver.cuDeviceGetLuid(luid, &deviceNodeMask, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], <bytes>luid, deviceNodeMask)
*/
  }

  /* "cuda/bindings/driver.pyx":18201
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], <bytes>luid, deviceNodeMask)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_luid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_unsigned_int(__pyx_v_deviceNodeMask); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18201, __pyx_L1_error);
  __Pyx_INCREF(((PyObject*)__pyx_t_3));
  __Pyx_GIVEREF(((PyObject*)__pyx_t_3));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 18201, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 18201, __pyx_L1_error);
  __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18162
 *     return (_dict_CUresult[err], uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetLuid(dev):
 *     """ Return an LUID and device node mask for the device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetLuid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18203
 *     return (_dict_CUresult[err], <bytes>luid, deviceNodeMask)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceTotalMem(dev):
 *     """ Returns the total amount of memory on the device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21cuDeviceTotalMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20cuDeviceTotalMem, "cuDeviceTotalMem(dev)\n\nReturns the total amount of memory on the device.\n\nReturns in `*bytes` the total amount of memory available on the device\n`dev` in bytes.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nnumbytes : int\n    Returned memory available on device in bytes\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaMemGetInfo`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_21cuDeviceTotalMem = {"cuDeviceTotalMem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21cuDeviceTotalMem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20cuDeviceTotalMem};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21cuDeviceTotalMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceTotalMem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18203, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceTotalMem", 0) < (0)) __PYX_ERR(0, 18203, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceTotalMem", 1, 1, 1, i); __PYX_ERR(0, 18203, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18203, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceTotalMem", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18203, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceTotalMem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20cuDeviceTotalMem(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuDeviceTotalMem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  size_t __pyx_v_numbytes;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceTotalMem", 0);

  /* "cuda/bindings/driver.pyx":18227
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18228
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18227
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18229
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18230
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18229
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18232
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t numbytes = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18232, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18233
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18233, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18234
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t numbytes = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)
*/
  __pyx_v_numbytes = 0;

  /* "cuda/bindings/driver.pyx":18235
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18236
 *     cdef size_t numbytes = 0
 *     with nogil:
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceTotalMem((&__pyx_v_numbytes), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18236, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":18235
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18237
 *     with nogil:
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numbytes)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18238
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], numbytes)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 18238, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 18238, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18237
 *     with nogil:
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numbytes)
*/
  }

  /* "cuda/bindings/driver.pyx":18239
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numbytes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18239, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 18239, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18203
 *     return (_dict_CUresult[err], <bytes>luid, deviceNodeMask)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceTotalMem(dev):
 *     """ Returns the total amount of memory on the device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceTotalMem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18241
 *     return (_dict_CUresult[err], numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetTexture1DLinearMaxWidth(pformat not None : CUarray_format, unsigned numChannels, dev):
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given texture element size.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23cuDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22cuDeviceGetTexture1DLinearMaxWidth, "cuDeviceGetTexture1DLinearMaxWidth(pformat: CUarray_format, unsigned int numChannels, dev)\n\nReturns the maximum number of elements allocatable in a 1D linear texture for a given texture element size.\n\nReturns in `maxWidthInElements` the maximum number of texture elements\nallocatable in a 1D linear texture for given `pformat` and\n`numChannels`.\n\nParameters\n----------\npformat : :py:obj:`~.CUarray_format`\n    Texture format.\nnumChannels : unsigned\n    Number of channels per texture element.\ndev : :py:obj:`~.CUdevice`\n    Device handle.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nmaxWidthInElements : int\n    Returned maximum number of texture elements allocatable for given\n    `pformat` and `numChannels`.\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cudaMemGetInfo`, :py:obj:`~.cuDeviceTotalMem`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_23cuDeviceGetTexture1DLinearMaxWidth = {"cuDeviceGetTexture1DLinearMaxWidth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23cuDeviceGetTexture1DLinearMaxWidth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22cuDeviceGetTexture1DLinearMaxWidth};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23cuDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pformat = 0;
  unsigned int __pyx_v_numChannels;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetTexture1DLinearMaxWidth (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pformat,&__pyx_mstate_global->__pyx_n_u_numChannels_2,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18241, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 18241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetTexture1DLinearMaxWidth", 0) < (0)) __PYX_ERR(0, 18241, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetTexture1DLinearMaxWidth", 1, 3, 3, i); __PYX_ERR(0, 18241, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18241, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18241, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 18241, __pyx_L3_error)
    }
    __pyx_v_pformat = values[0];
    __pyx_v_numChannels = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18242, __pyx_L3_error)
    __pyx_v_dev = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetTexture1DLinearMaxWidth", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 18241, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetTexture1DLinearMaxWidth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_pformat) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "pformat"); __PYX_ERR(0, 18242, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22cuDeviceGetTexture1DLinearMaxWidth(__pyx_self, __pyx_v_pformat, __pyx_v_numChannels, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuDeviceGetTexture1DLinearMaxWidth(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pformat, unsigned int __pyx_v_numChannels, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  size_t __pyx_v_maxWidthInElements;
  CUarray_format __pyx_v_cypformat;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUarray_format __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetTexture1DLinearMaxWidth", 0);

  /* "cuda/bindings/driver.pyx":18271
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18272
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18271
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18273
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18274
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18273
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18276
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t maxWidthInElements = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18276, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18277
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef size_t maxWidthInElements = 0
 *     cdef cydriver.CUarray_format cypformat = pformat.value
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18277, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18278
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t maxWidthInElements = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray_format cypformat = pformat.value
 *     with nogil:
*/
  __pyx_v_maxWidthInElements = 0;

  /* "cuda/bindings/driver.pyx":18279
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t maxWidthInElements = 0
 *     cdef cydriver.CUarray_format cypformat = pformat.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cypformat, numChannels, cydev)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pformat, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cypformat = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":18280
 *     cdef size_t maxWidthInElements = 0
 *     cdef cydriver.CUarray_format cypformat = pformat.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cypformat, numChannels, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18281
 *     cdef cydriver.CUarray_format cypformat = pformat.value
 *     with nogil:
 *         err = cydriver.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cypformat, numChannels, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetTexture1DLinearMaxWidth((&__pyx_v_maxWidthInElements), __pyx_v_cypformat, __pyx_v_numChannels, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18281, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":18280
 *     cdef size_t maxWidthInElements = 0
 *     cdef cydriver.CUarray_format cypformat = pformat.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cypformat, numChannels, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18282
 *     with nogil:
 *         err = cydriver.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cypformat, numChannels, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], maxWidthInElements)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18283
 *         err = cydriver.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cypformat, numChannels, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], maxWidthInElements)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 18283, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 18283, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18282
 *     with nogil:
 *         err = cydriver.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cypformat, numChannels, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], maxWidthInElements)
*/
  }

  /* "cuda/bindings/driver.pyx":18284
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], maxWidthInElements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_maxWidthInElements); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18284, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 18284, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18241
 *     return (_dict_CUresult[err], numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetTexture1DLinearMaxWidth(pformat not None : CUarray_format, unsigned numChannels, dev):
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given texture element size.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetTexture1DLinearMaxWidth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18286
 *     return (_dict_CUresult[err], maxWidthInElements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetAttribute(attrib not None : CUdevice_attribute, dev):
 *     """ Returns information about the device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25cuDeviceGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24cuDeviceGetAttribute, "cuDeviceGetAttribute(attrib: CUdevice_attribute, dev)\n\nReturns information about the device.\n\nReturns in `*pi` the integer value of the attribute `attrib` on device\n`dev`. The supported attributes are:\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK`: Maximum number\n  of threads per block;\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X`: Maximum x-dimension\n  of a block\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y`: Maximum y-dimension\n  of a block\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z`: Maximum z-dimension\n  of a block\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X`: Maximum x-dimension\n  of a grid\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y`: Maximum y-dimension\n  of a grid\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z`: Maximum z-dimension\n  of a grid\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK`: Maximum\n  amount of shared memory available to a thread block in bytes\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY`: Memory\n  available on device for constant variables in a CUDA C kernel in\n  bytes\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_WARP_SIZE`: Warp size in threads\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`: Maximum pitch in bytes\n  allowed by the memory copy functions that involve memory regions\n  allocated through :py:obj:`~.cuMemAllocPitch()`\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH`: Maximum 1D\n  texture width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH`:\n  Maximum width for a 1D texture bound to linear memory\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH`:\n  Maximum mipmapped 1D texture width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH`: Maximum 2D\n  texture width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT`: Maximum 2D\n  texture height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH`:\n  Maximum width for a 2D texture bound to linear mem""ory\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT`:\n  Maximum height for a 2D texture bound to linear memory\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH`:\n  Maximum pitch in bytes for a 2D texture bound to linear memory\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH`:\n  Maximum mipmapped 2D texture width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT`:\n  Maximum mipmapped 2D texture height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH`: Maximum 3D\n  texture width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT`: Maximum 3D\n  texture height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH`: Maximum 3D\n  texture depth\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE`:\n  Alternate maximum 3D texture width, 0 if no alternate maximum 3D\n  texture size is supported\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE`:\n  Alternate maximum 3D texture height, 0 if no alternate maximum 3D\n  texture size is supported\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE`:\n  Alternate maximum 3D texture depth, 0 if no alternate maximum 3D\n  texture size is supported\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH`: Maximum\n  cubemap texture width or height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH`:\n  Maximum 1D layered texture width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS`:\n  Maximum layers in a 1D layered texture\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH`:\n  Maximum 2D layered texture width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT`:\n  Maximum 2D layered texture height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS`:\n  Maximum layers in a 2D layered texture\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH`:""\n  Maximum cubemap layered texture width or height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS`:\n  Maximum layers in a cubemap layered texture\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH`: Maximum 1D\n  surface width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH`: Maximum 2D\n  surface width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT`: Maximum 2D\n  surface height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH`: Maximum 3D\n  surface width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT`: Maximum 3D\n  surface height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH`: Maximum 3D\n  surface depth\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH`:\n  Maximum 1D layered surface width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS`:\n  Maximum layers in a 1D layered surface\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH`:\n  Maximum 2D layered surface width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT`:\n  Maximum 2D layered surface height\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS`:\n  Maximum layers in a 2D layered surface\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH`: Maximum\n  cubemap surface width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH`:\n  Maximum cubemap layered surface width\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS`:\n  Maximum layers in a cubemap layered surface\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK`: Maximum\n  number of 32-bit registers available to a thread block\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_CLOCK_RATE`: The typical clock\n  frequency in kilohertz\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT`: Alignment\n  requirement; texture base addresses aligned to\n  :py:obj:`~.textureAlign` bytes do not need an offset app""lied to\n  texture fetches\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT`: Pitch\n  alignment requirement for 2D texture references bound to pitched\n  memory\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_OVERLAP`: 1 if the device can\n  concurrently copy memory between host and device while executing a\n  kernel, or 0 if not\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT`: Number of\n  multiprocessors on the device\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT`: 1 if there is a\n  run time limit for kernels executed on the device, or 0 if not\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_INTEGRATED`: 1 if the device is\n  integrated with the memory subsystem, or 0 if not\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY`: 1 if the device\n  can map host memory into the CUDA address space, or 0 if not\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE`: Compute mode that\n  device is currently in. Available modes are as follows:\n\n  - :py:obj:`~.CU_COMPUTEMODE_DEFAULT`: Default mode - Device is not\n    restricted and can have multiple CUDA contexts present at a single\n    time.\n\n  - :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`: Compute-prohibited mode -\n    Device is prohibited from creating new CUDA contexts.\n\n  - :py:obj:`~.CU_COMPUTEMODE_EXCLUSIVE_PROCESS`: Compute-exclusive-\n    process mode - Device can have only one context used by a single\n    process at a time.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS`: 1 if the device\n  supports executing multiple kernels within the same context\n  simultaneously, or 0 if not. It is not guaranteed that multiple\n  kernels will be resident on the device concurrently so this feature\n  should not be relied upon for correctness.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_ECC_ENABLED`: 1 if error correction is\n  enabled on the device, 0 if error correction is disabled or not\n  supported by the device\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_PCI_BUS_ID`: PCI bus identifier of the\n  device\n\n- :py:""obj:`~.CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID`: PCI device (also known\n  as slot) identifier of the device\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID`: PCI domain identifier\n  of the device\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_TCC_DRIVER`: 1 if the device is using\n  a TCC driver. TCC is only available on Tesla hardware running Windows\n  Vista or later\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE`: Peak memory clock\n  frequency in kilohertz\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH`: Global\n  memory bus width in bits\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE`: Size of L2 cache in\n  bytes. 0 if the device doesn't have L2 cache\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR`:\n  Maximum resident threads per multiprocessor\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING`: 1 if the device\n  shares a unified address space with the host, or 0 if not\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR`: Major\n  compute capability version number\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR`: Minor\n  compute capability version number\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED`: 1 if\n  device supports caching globals in L1 cache, 0 if caching globals in\n  L1 cache is not supported by the device\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED`: 1 if device\n  supports caching locals in L1 cache, 0 if caching locals in L1 cache\n  is not supported by the device\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR`:\n  Maximum amount of shared memory available to a multiprocessor in\n  bytes; this amount is shared by all thread blocks simultaneously\n  resident on a multiprocessor\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR`:\n  Maximum number of 32-bit registers available to a multiprocessor;\n  this number is shared by all thread blocks simultaneously resident on\n  a multiprocessor\n\n- :py:obj:`~.CU_DE""VICE_ATTRIBUTE_MANAGED_MEMORY`: 1 if device supports\n  allocating managed memory on this system, 0 if allocating managed\n  memory is not supported by the device on this system.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD`: 1 if device is on a\n  multi-GPU board, 0 if not.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID`: Unique\n  identifier for a group of devices associated with the same board.\n  Devices on the same multi-GPU board will share the same identifier.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED`: 1 if\n  Link between the device and the host supports native atomic\n  operations.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO`:\n  Ratio of single precision performance (in floating-point operations\n  per second) to double precision performance.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`: Device\n  supports coherently accessing pageable memory without calling\n  cudaHostRegister on it.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`: Device can\n  coherently access managed memory concurrently with the CPU.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED`: Device\n  supports Compute Preemption.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM`:\n  Device can access host registered memory at the same virtual address\n  as the CPU.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN`:\n  The maximum per block shared memory size supported on this device.\n  This is the maximum value that can be opted into when using the\n  :py:obj:`~.cuFuncSetAttribute()` or\n  :py:obj:`~.cuKernelSetAttribute()` call. For more details see\n  :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`:\n  Device accesses pageable memory via the host's page tables.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST""`:\n  The host can directly access managed memory on the device without\n  migration.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED`:\n  Device supports virtual memory management APIs like\n  :py:obj:`~.cuMemAddressReserve`, :py:obj:`~.cuMemCreate`,\n  :py:obj:`~.cuMemMap` and related APIs\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED`:\n  Device supports exporting memory to a posix file descriptor with\n  :py:obj:`~.cuMemExportToShareableHandle`, if requested via\n  :py:obj:`~.cuMemCreate`\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED`:\n  Device supports exporting memory to a Win32 NT handle with\n  :py:obj:`~.cuMemExportToShareableHandle`, if requested via\n  :py:obj:`~.cuMemCreate`\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED`:\n  Device supports exporting memory to a Win32 KMT handle with\n  :py:obj:`~.cuMemExportToShareableHandle`, if requested via\n  :py:obj:`~.cuMemCreate`\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR`:\n  Maximum number of thread blocks that can reside on a multiprocessor\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED`: Device\n  supports compressible memory allocation via :py:obj:`~.cuMemCreate`\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE`: Maximum\n  L2 persisting lines capacity setting in bytes\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE`:\n  Maximum value of :py:obj:`~.CUaccessPolicyWindow.num_bytes`\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED`:\n  Device supports specifying the GPUDirect RDMA flag with\n  :py:obj:`~.cuMemCreate`.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK`:\n  Amount of shared memory per block reserved by CUDA driver in bytes\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED`: Device\n  supports sparse CUDA arrays and sparse CUDA mipmapped arrays.\n\n- :p""y:obj:`~.CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED`:\n  Device supports using the :py:obj:`~.cuMemHostRegister` flag\n  :py:obj:`~.CU_MEMHOSTERGISTER_READ_ONLY` to register memory that must\n  be mapped as read-only to the GPU\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED`: Device\n  supports using the :py:obj:`~.cuMemAllocAsync` and\n  :py:obj:`~.cuMemPool` family of APIs\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED`: Device\n  supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see\n  https://docs.nvidia.com/cuda/gpudirect-rdma for more information)\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS`:\n  The returned attribute shall be interpreted as a bitmask, where the\n  individual bits are described by the\n  :py:obj:`~.CUflushGPUDirectRDMAWritesOptions` enum\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING`:\n  GPUDirect RDMA writes to the device do not need to be flushed for\n  consumers within the scope indicated by the returned attribute. See\n  :py:obj:`~.CUGPUDirectRDMAWritesOrdering` for the numerical values\n  returned here.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES`:\n  Bitmask of handle types supported with mempool based IPC\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED`:\n  Device supports deferred mapping CUDA arrays and CUDA mipmapped\n  arrays.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_NUMA_CONFIG`: NUMA configuration of a\n  device: value is of type :py:obj:`~.CUdeviceNumaConfig` enum\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_NUMA_ID`: NUMA node ID of the GPU\n  memory\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED`: Device supports\n  switch multicast and reduction operations.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID`: The combined\n  16-bit PCI device ID and 16-bit PCI vendor ID.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID`: The combined\n  16-bit PCI subsystem ID and 16-bit PCI sub""system vendor ID. ID.\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED`:\n  Device supports HOST_NUMA location with the virtual memory management\n  APIs like :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemMap` and related\n  APIs\n\n- :py:obj:`~.CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED`:\n  Device supports HOST_NUMA location with the\n  :py:obj:`~.cuMemAllocAsync` and :py:obj:`~.cuMemPool` family of APIs\n\nParameters\n----------\nattrib : :py:obj:`~.CUdevice_attribute`\n    Device attribute to query\ndev : :py:obj:`~.CUdevice`\n    Device handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\npi : int\n    Returned device attribute value\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaDeviceGetAttribute`, :py:obj:`~.cudaGetDeviceProperties`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25cuDeviceGetAttribute = {"cuDeviceGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25cuDeviceGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24cuDeviceGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25cuDeviceGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18286, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18286, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18286, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetAttribute", 0) < (0)) __PYX_ERR(0, 18286, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetAttribute", 1, 2, 2, i); __PYX_ERR(0, 18286, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18286, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18286, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
    __pyx_v_dev = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 18286, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 18287, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24cuDeviceGetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cuDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  int __pyx_v_pi;
  CUdevice_attribute __pyx_v_cyattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUdevice_attribute __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":18714
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18715
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18714
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18716
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18717
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18716
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18719
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18719, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18720
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef cydriver.CUdevice_attribute cyattrib = attrib.value
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18720, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18721
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice_attribute cyattrib = attrib.value
 *     with nogil:
*/
  __pyx_v_pi = 0;

  /* "cuda/bindings/driver.pyx":18722
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0
 *     cdef cydriver.CUdevice_attribute cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetAttribute(&pi, cyattrib, cydev)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUdevice_attribute_enum)__Pyx_PyLong_As_enum__CUdevice_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattrib = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":18723
 *     cdef int pi = 0
 *     cdef cydriver.CUdevice_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetAttribute(&pi, cyattrib, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18724
 *     cdef cydriver.CUdevice_attribute cyattrib = attrib.value
 *     with nogil:
 *         err = cydriver.cuDeviceGetAttribute(&pi, cyattrib, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetAttribute((&__pyx_v_pi), __pyx_v_cyattrib, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18724, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":18723
 *     cdef int pi = 0
 *     cdef cydriver.CUdevice_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetAttribute(&pi, cyattrib, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18725
 *     with nogil:
 *         err = cydriver.cuDeviceGetAttribute(&pi, cyattrib, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18726
 *         err = cydriver.cuDeviceGetAttribute(&pi, cyattrib, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pi)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 18726, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 18726, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18725
 *     with nogil:
 *         err = cydriver.cuDeviceGetAttribute(&pi, cyattrib, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)
*/
  }

  /* "cuda/bindings/driver.pyx":18727
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18727, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 18727, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18286
 *     return (_dict_CUresult[err], maxWidthInElements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetAttribute(attrib not None : CUdevice_attribute, dev):
 *     """ Returns information about the device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18729
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags):
 *     """ Return NvSciSync attributes that this device can support.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27cuDeviceGetNvSciSyncAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_26cuDeviceGetNvSciSyncAttributes, "cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags)\n\nReturn NvSciSync attributes that this device can support.\n\nReturns in `nvSciSyncAttrList`, the properties of NvSciSync that this\nCUDA device, `dev` can support. The returned `nvSciSyncAttrList` can be\nused to create an NvSciSync object that matches this device's\ncapabilities.\n\nIf NvSciSyncAttrKey_RequiredPerm field in `nvSciSyncAttrList` is\nalready set this API will return :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\nThe applications should set `nvSciSyncAttrList` to a valid\nNvSciSyncAttrList failing which this API will return\n:py:obj:`~.CUDA_ERROR_INVALID_HANDLE`.\n\nThe `flags` controls how applications intends to use the NvSciSync\ncreated from the `nvSciSyncAttrList`. The valid flags are:\n\n- :py:obj:`~.CUDA_NVSCISYNC_ATTR_SIGNAL`, specifies that the\n  applications intends to signal an NvSciSync on this CUDA device.\n\n- :py:obj:`~.CUDA_NVSCISYNC_ATTR_WAIT`, specifies that the applications\n  intends to wait on an NvSciSync on this CUDA device.\n\nAt least one of these flags must be set, failing which the API returns\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE`. Both the flags are orthogonal to\none another: a developer may set both these flags that allows to set\nboth wait and signal specific attributes in the same\n`nvSciSyncAttrList`.\n\nNote that this API updates the input `nvSciSyncAttrList` with values\nequivalent to the following public attribute key-values:\nNvSciSyncAttrKey_RequiredPerm is set to\n\n- NvSciSyncAccessPerm_SignalOnly if\n  :py:obj:`~.CUDA_NVSCISYNC_ATTR_SIGNAL` is set in `flags`.\n\n- NvSciSyncAccessPerm_WaitOnly if :py:obj:`~.CUDA_NVSCISYNC_ATTR_WAIT`\n  is set in `flags`.\n\n- NvSciSyncAccessPerm_WaitSignal if both\n  :py:obj:`~.CUDA_NVSCISYNC_ATTR_WAIT` and\n  :py:obj:`~.CUDA_NVSCISYNC_ATTR_SIGNAL` are set in `flags`.\n  NvSciSyncAttrKey_PrimitiveInfo is set to\n\n- NvSciSyncAttrValPrimitiveType_SysmemSemaphore on any valid `device`.\n\n- NvSciSyncAttrValPrimitiveTyp""e_Syncpoint if `device` is a Tegra\n  device.\n\n- NvSciSyncAttrValPrimitiveType_SysmemSemaphorePayload64b if `device`\n  is GA10X+. NvSciSyncAttrKey_GpuId is set to the same UUID that is\n  returned for this `device` from :py:obj:`~.cuDeviceGetUuid`.\n\n:py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`,\n:py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`,\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n:py:obj:`~.CUDA_ERROR_INVALID_HANDLE`,\n:py:obj:`~.CUDA_ERROR_INVALID_DEVICE`,\n:py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`,\n:py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n\nParameters\n----------\nnvSciSyncAttrList : Any\n    Return NvSciSync attributes supported.\ndev : :py:obj:`~.CUdevice`\n    Valid Cuda Device to get NvSciSync attributes for.\nflags : int\n    flags describing NvSciSync usage.\n\nReturns\n-------\nCUresult\n\n\nSee Also\n--------\n:py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_27cuDeviceGetNvSciSyncAttributes = {"cuDeviceGetNvSciSyncAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27cuDeviceGetNvSciSyncAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26cuDeviceGetNvSciSyncAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_27cuDeviceGetNvSciSyncAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_nvSciSyncAttrList = 0;
  PyObject *__pyx_v_dev = 0;
  int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetNvSciSyncAttributes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nvSciSyncAttrList,&__pyx_mstate_global->__pyx_n_u_dev,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18729, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 18729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetNvSciSyncAttributes", 0) < (0)) __PYX_ERR(0, 18729, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetNvSciSyncAttributes", 1, 3, 3, i); __PYX_ERR(0, 18729, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18729, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18729, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 18729, __pyx_L3_error)
    }
    __pyx_v_nvSciSyncAttrList = values[0];
    __pyx_v_dev = values[1];
    __pyx_v_flags = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18730, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetNvSciSyncAttributes", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 18729, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetNvSciSyncAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26cuDeviceGetNvSciSyncAttributes(__pyx_self, __pyx_v_nvSciSyncAttrList, __pyx_v_dev, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26cuDeviceGetNvSciSyncAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nvSciSyncAttrList, PyObject *__pyx_v_dev, int __pyx_v_flags) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cynvSciSyncAttrList = NULL;
  void *__pyx_v_cynvSciSyncAttrList_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetNvSciSyncAttributes", 0);

  /* "cuda/bindings/driver.pyx":18811
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18812
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18811
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18813
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18814
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18813
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18816
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cynvSciSyncAttrList = _HelperInputVoidPtr(nvSciSyncAttrList)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18816, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18817
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cynvSciSyncAttrList = _HelperInputVoidPtr(nvSciSyncAttrList)
 *     cdef void* cynvSciSyncAttrList_ptr = <void*><void_ptr>cynvSciSyncAttrList.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18817, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18818
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cynvSciSyncAttrList = _HelperInputVoidPtr(nvSciSyncAttrList)             # <<<<<<<<<<<<<<
 *     cdef void* cynvSciSyncAttrList_ptr = <void*><void_ptr>cynvSciSyncAttrList.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_nvSciSyncAttrList};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18818, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cynvSciSyncAttrList = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":18819
 *     cydev = <cydriver.CUdevice>pdev
 *     cynvSciSyncAttrList = _HelperInputVoidPtr(nvSciSyncAttrList)
 *     cdef void* cynvSciSyncAttrList_ptr = <void*><void_ptr>cynvSciSyncAttrList.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetNvSciSyncAttributes(cynvSciSyncAttrList_ptr, cydev, flags)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cynvSciSyncAttrList), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cynvSciSyncAttrList_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":18820
 *     cynvSciSyncAttrList = _HelperInputVoidPtr(nvSciSyncAttrList)
 *     cdef void* cynvSciSyncAttrList_ptr = <void*><void_ptr>cynvSciSyncAttrList.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetNvSciSyncAttributes(cynvSciSyncAttrList_ptr, cydev, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18821
 *     cdef void* cynvSciSyncAttrList_ptr = <void*><void_ptr>cynvSciSyncAttrList.cptr
 *     with nogil:
 *         err = cydriver.cuDeviceGetNvSciSyncAttributes(cynvSciSyncAttrList_ptr, cydev, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetNvSciSyncAttributes(__pyx_v_cynvSciSyncAttrList_ptr, __pyx_v_cydev, __pyx_v_flags); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18821, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":18820
 *     cynvSciSyncAttrList = _HelperInputVoidPtr(nvSciSyncAttrList)
 *     cdef void* cynvSciSyncAttrList_ptr = <void*><void_ptr>cynvSciSyncAttrList.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetNvSciSyncAttributes(cynvSciSyncAttrList_ptr, cydev, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18822
 *     with nogil:
 *         err = cydriver.cuDeviceGetNvSciSyncAttributes(cynvSciSyncAttrList_ptr, cydev, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 18822, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18729
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags):
 *     """ Return NvSciSync attributes that this device can support.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetNvSciSyncAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_cynvSciSyncAttrList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18824
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetMemPool(dev, pool):
 *     """ Sets the current memory pool of a device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29cuDeviceSetMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_28cuDeviceSetMemPool, "cuDeviceSetMemPool(dev, pool)\n\nSets the current memory pool of a device.\n\nThe memory pool must be local to the specified device.\n:py:obj:`~.cuMemAllocAsync` allocates from the current mempool of the\nprovided stream's device. By default, a device's current memory pool is\nits default memory pool.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    None\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    None\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuMemPoolDestroy`, :py:obj:`~.cuMemAllocFromPoolAsync`\n\nNotes\n-----\nUse :py:obj:`~.cuMemAllocFromPoolAsync` to specify asynchronous allocations from a device different than the one the stream runs on.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_29cuDeviceSetMemPool = {"cuDeviceSetMemPool", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29cuDeviceSetMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28cuDeviceSetMemPool};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_29cuDeviceSetMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  PyObject *__pyx_v_pool = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceSetMemPool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,&__pyx_mstate_global->__pyx_n_u_pool,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18824, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18824, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18824, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceSetMemPool", 0) < (0)) __PYX_ERR(0, 18824, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceSetMemPool", 1, 2, 2, i); __PYX_ERR(0, 18824, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18824, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18824, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
    __pyx_v_pool = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceSetMemPool", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 18824, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceSetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_28cuDeviceSetMemPool(__pyx_self, __pyx_v_dev, __pyx_v_pool);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28cuDeviceSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_pool) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUdevice __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceSetMemPool", 0);

  /* "cuda/bindings/driver.pyx":18854
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18855
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18854
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18856
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18857
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18856
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18859
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUdevice cydev
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18859, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18860
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18860, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":18862
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18863
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18862
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":18864
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18865
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":18864
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":18867
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dev};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18867, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":18868
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)
*/
  __pyx_t_7 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_7 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18868, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_7);

  /* "cuda/bindings/driver.pyx":18869
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18870
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceSetMemPool(__pyx_v_cydev, __pyx_v_cypool); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18870, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":18869
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":18871
 *     with nogil:
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 18871, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18824
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetMemPool(dev, pool):
 *     """ Sets the current memory pool of a device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceSetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18873
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetMemPool(dev):
 *     """ Gets the current mempool for a device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31cuDeviceGetMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_30cuDeviceGetMemPool, "cuDeviceGetMemPool(dev)\n\nGets the current mempool for a device.\n\nReturns the last pool provided to :py:obj:`~.cuDeviceSetMemPool` for\nthis device or the device's default memory pool if\n:py:obj:`~.cuDeviceSetMemPool` has never been called. By default the\ncurrent mempool is the default mempool for a device. Otherwise the\nreturned pool must have been set with :py:obj:`~.cuDeviceSetMemPool`.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    None\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npool : :py:obj:`~.CUmemoryPool`\n    None\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuDeviceSetMemPool`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31cuDeviceGetMemPool = {"cuDeviceGetMemPool", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31cuDeviceGetMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30cuDeviceGetMemPool};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31cuDeviceGetMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetMemPool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18873, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetMemPool", 0) < (0)) __PYX_ERR(0, 18873, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetMemPool", 1, 1, 1, i); __PYX_ERR(0, 18873, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18873, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetMemPool", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18873, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30cuDeviceGetMemPool(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_30cuDeviceGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_pool = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetMemPool", 0);

  /* "cuda/bindings/driver.pyx":18900
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18901
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18900
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18902
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18903
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18902
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18905
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool = CUmemoryPool()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18905, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18906
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18906, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18907
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cydev)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18907, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pool = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":18908
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18909
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     with nogil:
 *         err = cydriver.cuDeviceGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetMemPool(((CUmemoryPool *)__pyx_v_pool->_pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18909, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":18908
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18910
 *     with nogil:
 *         err = cydriver.cuDeviceGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18911
 *         err = cydriver.cuDeviceGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pool)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 18911, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 18911, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18910
 *     with nogil:
 *         err = cydriver.cuDeviceGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool)
*/
  }

  /* "cuda/bindings/driver.pyx":18912
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18912, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pool)) != (0)) __PYX_ERR(0, 18912, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18873
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetMemPool(dev):
 *     """ Gets the current mempool for a device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_pool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18914
 *     return (_dict_CUresult[err], pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDefaultMemPool(dev):
 *     """ Returns the default mempool of a device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33cuDeviceGetDefaultMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_32cuDeviceGetDefaultMemPool, "cuDeviceGetDefaultMemPool(dev)\n\nReturns the default mempool of a device.\n\nThe default mempool of a device contains device memory from that\ndevice.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    None\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\npool_out : :py:obj:`~.CUmemoryPool`\n    None\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemPoolTrimTo`, :py:obj:`~.cuMemPoolGetAttribute`, :py:obj:`~.cuMemPoolSetAttribute`, :py:obj:`~.cuMemPoolSetAccess`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_33cuDeviceGetDefaultMemPool = {"cuDeviceGetDefaultMemPool", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_33cuDeviceGetDefaultMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32cuDeviceGetDefaultMemPool};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_33cuDeviceGetDefaultMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetDefaultMemPool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18914, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18914, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetDefaultMemPool", 0) < (0)) __PYX_ERR(0, 18914, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetDefaultMemPool", 1, 1, 1, i); __PYX_ERR(0, 18914, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18914, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetDefaultMemPool", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18914, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetDefaultMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_32cuDeviceGetDefaultMemPool(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32cuDeviceGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_pool_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetDefaultMemPool", 0);

  /* "cuda/bindings/driver.pyx":18938
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18939
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18938
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18940
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18941
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18940
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18943
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18943, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18944
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18944, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18945
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool_out = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cydev)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18945, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pool_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":18946
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18947
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     with nogil:
 *         err = cydriver.cuDeviceGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetDefaultMemPool(((CUmemoryPool *)__pyx_v_pool_out->_pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18947, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":18946
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18948
 *     with nogil:
 *         err = cydriver.cuDeviceGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18949
 *         err = cydriver.cuDeviceGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pool_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 18949, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 18949, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18948
 *     with nogil:
 *         err = cydriver.cuDeviceGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool_out)
*/
  }

  /* "cuda/bindings/driver.pyx":18950
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18950, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pool_out)) != (0)) __PYX_ERR(0, 18950, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18914
 *     return (_dict_CUresult[err], pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDefaultMemPool(dev):
 *     """ Returns the default mempool of a device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetDefaultMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_pool_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18952
 *     return (_dict_CUresult[err], pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetExecAffinitySupport(typename not None : CUexecAffinityType, dev):
 *     """ Returns information about the execution affinity support of the device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35cuDeviceGetExecAffinitySupport(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_34cuDeviceGetExecAffinitySupport, "cuDeviceGetExecAffinitySupport(typename: CUexecAffinityType, dev)\n\nReturns information about the execution affinity support of the device.\n\nReturns in `*pi` whether execution affinity type `typename` is\nsupported by device `dev`. The supported types are:\n\n- :py:obj:`~.CU_EXEC_AFFINITY_TYPE_SM_COUNT`: 1 if context with limited\n  SMs is supported by the device, or 0 if not;\n\nParameters\n----------\ntypename : :py:obj:`~.CUexecAffinityType`\n    Execution affinity type to query\ndev : :py:obj:`~.CUdevice`\n    Device handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\npi : int\n    1 if the execution affinity type `typename` is supported by the\n    device, or 0 if not\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_35cuDeviceGetExecAffinitySupport = {"cuDeviceGetExecAffinitySupport", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35cuDeviceGetExecAffinitySupport, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34cuDeviceGetExecAffinitySupport};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_35cuDeviceGetExecAffinitySupport(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_typename = 0;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetExecAffinitySupport (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_typename,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18952, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetExecAffinitySupport", 0) < (0)) __PYX_ERR(0, 18952, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetExecAffinitySupport", 1, 2, 2, i); __PYX_ERR(0, 18952, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18952, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18952, __pyx_L3_error)
    }
    __pyx_v_typename = values[0];
    __pyx_v_dev = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetExecAffinitySupport", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 18952, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetExecAffinitySupport", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 18953, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34cuDeviceGetExecAffinitySupport(__pyx_self, __pyx_v_typename, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34cuDeviceGetExecAffinitySupport(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_typename, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  int __pyx_v_pi;
  CUexecAffinityType __pyx_v_cytypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUexecAffinityType __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetExecAffinitySupport", 0);

  /* "cuda/bindings/driver.pyx":18982
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18983
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":18982
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18984
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18985
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18984
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18987
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18987, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18988
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18988, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":18989
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:
*/
  __pyx_v_pi = 0;

  /* "cuda/bindings/driver.pyx":18990
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetExecAffinitySupport(&pi, cytypename, cydev)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUexecAffinityType_enum)__Pyx_PyLong_As_enum__CUexecAffinityType_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cytypename = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":18991
 *     cdef int pi = 0
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetExecAffinitySupport(&pi, cytypename, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18992
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuDeviceGetExecAffinitySupport(&pi, cytypename, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetExecAffinitySupport((&__pyx_v_pi), __pyx_v_cytypename, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18992, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":18991
 *     cdef int pi = 0
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetExecAffinitySupport(&pi, cytypename, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18993
 *     with nogil:
 *         err = cydriver.cuDeviceGetExecAffinitySupport(&pi, cytypename, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18994
 *         err = cydriver.cuDeviceGetExecAffinitySupport(&pi, cytypename, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pi)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 18994, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 18994, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18993
 *     with nogil:
 *         err = cydriver.cuDeviceGetExecAffinitySupport(&pi, cytypename, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)
*/
  }

  /* "cuda/bindings/driver.pyx":18995
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 18995, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 18995, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18952
 *     return (_dict_CUresult[err], pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetExecAffinitySupport(typename not None : CUexecAffinityType, dev):
 *     """ Returns information about the execution affinity support of the device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetExecAffinitySupport", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18997
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFlushGPUDirectRDMAWrites(target not None : CUflushGPUDirectRDMAWritesTarget, scope not None : CUflushGPUDirectRDMAWritesScope):
 *     """ Blocks until remote writes are visible to the specified scope.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37cuFlushGPUDirectRDMAWrites(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_36cuFlushGPUDirectRDMAWrites, "cuFlushGPUDirectRDMAWrites(target: CUflushGPUDirectRDMAWritesTarget, scope: CUflushGPUDirectRDMAWritesScope)\n\nBlocks until remote writes are visible to the specified scope.\n\nBlocks until GPUDirect RDMA writes to the target context via mappings\ncreated through APIs like nvidia_p2p_get_pages (see\nhttps://docs.nvidia.com/cuda/gpudirect-rdma for more information), are\nvisible to the specified scope.\n\nIf the scope equals or lies within the scope indicated by\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING`, the\ncall will be a no-op and can be safely omitted for performance. This\ncan be determined by comparing the numerical values between the two\nenums, with smaller scopes having smaller values.\n\nOn platforms that support GPUDirect RDMA writes via more than one path\nin hardware (see\n:py:obj:`~.CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE`), the user\nshould consider those paths as belonging to separate ordering domains.\nNote that in such cases CUDA driver will report both RDMA writes\nordering and RDMA write scope as ALL_DEVICES and a call to\ncuFlushGPUDirectRDMA will be a no-op, but when these multiple paths are\nused simultaneously, it is the user's responsibility to ensure ordering\nby using mechanisms outside the scope of CUDA.\n\nUsers may query support for this API via\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_FLUSH_FLUSH_GPU_DIRECT_RDMA_OPTIONS`.\n\nParameters\n----------\ntarget : :py:obj:`~.CUflushGPUDirectRDMAWritesTarget`\n    The target of the operation, see\n    :py:obj:`~.CUflushGPUDirectRDMAWritesTarget`\nscope : :py:obj:`~.CUflushGPUDirectRDMAWritesScope`\n    The scope of the operation, see\n    :py:obj:`~.CUflushGPUDirectRDMAWritesScope`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_37cuFlushGPUDirectRDMAWrites = {"cuFlushGPUDirectRDMAWrites", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37cuFlushGPUDirectRDMAWrites, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_36cuFlushGPUDirectRDMAWrites};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37cuFlushGPUDirectRDMAWrites(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_target = 0;
  PyObject *__pyx_v_scope = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFlushGPUDirectRDMAWrites (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_target,&__pyx_mstate_global->__pyx_n_u_scope,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 18997, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18997, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18997, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFlushGPUDirectRDMAWrites", 0) < (0)) __PYX_ERR(0, 18997, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFlushGPUDirectRDMAWrites", 1, 2, 2, i); __PYX_ERR(0, 18997, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18997, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18997, __pyx_L3_error)
    }
    __pyx_v_target = values[0];
    __pyx_v_scope = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFlushGPUDirectRDMAWrites", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 18997, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFlushGPUDirectRDMAWrites", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_target) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "target"); __PYX_ERR(0, 18998, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_scope) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "scope"); __PYX_ERR(0, 18998, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_36cuFlushGPUDirectRDMAWrites(__pyx_self, __pyx_v_target, __pyx_v_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuFlushGPUDirectRDMAWrites(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_scope) {
  CUflushGPUDirectRDMAWritesTarget __pyx_v_cytarget;
  CUflushGPUDirectRDMAWritesScope __pyx_v_cyscope;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUflushGPUDirectRDMAWritesTarget __pyx_t_2;
  CUflushGPUDirectRDMAWritesScope __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFlushGPUDirectRDMAWrites", 0);

  /* "cuda/bindings/driver.pyx":19039
 *         :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,
 *     """
 *     cdef cydriver.CUflushGPUDirectRDMAWritesTarget cytarget = target.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUflushGPUDirectRDMAWritesScope cyscope = scope.value
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUflushGPUDirectRDMAWritesTarget_enum)__Pyx_PyLong_As_enum__CUflushGPUDirectRDMAWritesTarget_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 19039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytarget = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":19040
 *     """
 *     cdef cydriver.CUflushGPUDirectRDMAWritesTarget cytarget = target.value
 *     cdef cydriver.CUflushGPUDirectRDMAWritesScope cyscope = scope.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFlushGPUDirectRDMAWrites(cytarget, cyscope)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum CUflushGPUDirectRDMAWritesScope_enum)__Pyx_PyLong_As_enum__CUflushGPUDirectRDMAWritesScope_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 19040, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyscope = __pyx_t_3;

  /* "cuda/bindings/driver.pyx":19041
 *     cdef cydriver.CUflushGPUDirectRDMAWritesTarget cytarget = target.value
 *     cdef cydriver.CUflushGPUDirectRDMAWritesScope cyscope = scope.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFlushGPUDirectRDMAWrites(cytarget, cyscope)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19042
 *     cdef cydriver.CUflushGPUDirectRDMAWritesScope cyscope = scope.value
 *     with nogil:
 *         err = cydriver.cuFlushGPUDirectRDMAWrites(cytarget, cyscope)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_4 = __pyx_f_4cuda_8bindings_8cydriver_cuFlushGPUDirectRDMAWrites(__pyx_v_cytarget, __pyx_v_cyscope); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19042, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":19041
 *     cdef cydriver.CUflushGPUDirectRDMAWritesTarget cytarget = target.value
 *     cdef cydriver.CUflushGPUDirectRDMAWritesScope cyscope = scope.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFlushGPUDirectRDMAWrites(cytarget, cyscope)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":19043
 *     with nogil:
 *         err = cydriver.cuFlushGPUDirectRDMAWrites(cytarget, cyscope)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 19043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 19043, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18997
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFlushGPUDirectRDMAWrites(target not None : CUflushGPUDirectRDMAWritesTarget, scope not None : CUflushGPUDirectRDMAWritesScope):
 *     """ Blocks until remote writes are visible to the specified scope.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFlushGPUDirectRDMAWrites", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19045
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetProperties(dev):
 *     """ Returns properties for a selected device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39cuDeviceGetProperties(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_38cuDeviceGetProperties, "cuDeviceGetProperties(dev)\n\nReturns properties for a selected device.\n\n[Deprecated]\n\nThis function was deprecated as of CUDA 5.0 and replaced by\n:py:obj:`~.cuDeviceGetAttribute()`.\n\nReturns in `*prop` the properties of device `dev`. The\n:py:obj:`~.CUdevprop` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.maxThreadsPerBlock` is the maximum number of threads per\n  block;\n\n- :py:obj:`~.maxThreadsDim`[3] is the maximum sizes of each dimension\n  of a block;\n\n- :py:obj:`~.maxGridSize`[3] is the maximum sizes of each dimension of\n  a grid;\n\n- :py:obj:`~.sharedMemPerBlock` is the total amount of shared memory\n  available per block in bytes;\n\n- :py:obj:`~.totalConstantMemory` is the total amount of constant\n  memory available on the device in bytes;\n\n- :py:obj:`~.SIMDWidth` is the warp size;\n\n- :py:obj:`~.memPitch` is the maximum pitch allowed by the memory copy\n  functions that involve memory regions allocated through\n  :py:obj:`~.cuMemAllocPitch()`;\n\n- :py:obj:`~.regsPerBlock` is the total number of registers available\n  per block;\n\n- :py:obj:`~.clockRate` is the clock frequency in kilohertz;\n\n- :py:obj:`~.textureAlign` is the alignment requirement; texture base\n  addresses that are aligned to :py:obj:`~.textureAlign` bytes do not\n  need an offset applied to texture fetches.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device to get properties for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nprop : :py:obj:`~.CUdevprop`\n    Returned properties of device\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_39cuDeviceGetProperties = {"cuDeviceGetProperties", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_39cuDeviceGetProperties, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38cuDeviceGetProperties};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_39cuDeviceGetProperties(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetProperties (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19045, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19045, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetProperties", 0) < (0)) __PYX_ERR(0, 19045, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetProperties", 1, 1, 1, i); __PYX_ERR(0, 19045, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19045, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetProperties", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 19045, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_38cuDeviceGetProperties(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38cuDeviceGetProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop *__pyx_v_prop = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetProperties", 0);

  /* "cuda/bindings/driver.pyx":19108
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19109
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19108
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19110
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19111
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19110
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19113
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUdevprop prop = CUdevprop()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19113, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19114
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUdevprop prop = CUdevprop()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19114, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19115
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUdevprop prop = CUdevprop()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetProperties(<cydriver.CUdevprop*>prop._pvt_ptr, cydev)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19115, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_prop = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":19116
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUdevprop prop = CUdevprop()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetProperties(<cydriver.CUdevprop*>prop._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19117
 *     cdef CUdevprop prop = CUdevprop()
 *     with nogil:
 *         err = cydriver.cuDeviceGetProperties(<cydriver.CUdevprop*>prop._pvt_ptr, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetProperties(((CUdevprop *)__pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19117, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19116
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUdevprop prop = CUdevprop()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetProperties(<cydriver.CUdevprop*>prop._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19118
 *     with nogil:
 *         err = cydriver.cuDeviceGetProperties(<cydriver.CUdevprop*>prop._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], prop)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19119
 *         err = cydriver.cuDeviceGetProperties(<cydriver.CUdevprop*>prop._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], prop)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 19119, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 19119, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19118
 *     with nogil:
 *         err = cydriver.cuDeviceGetProperties(<cydriver.CUdevprop*>prop._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], prop)
*/
  }

  /* "cuda/bindings/driver.pyx":19120
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], prop)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 19120, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_prop);
  __Pyx_GIVEREF((PyObject *)__pyx_v_prop);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_prop)) != (0)) __PYX_ERR(0, 19120, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19045
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetProperties(dev):
 *     """ Returns properties for a selected device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_prop);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19122
 *     return (_dict_CUresult[err], prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceComputeCapability(dev):
 *     """ Returns the compute capability of the device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_41cuDeviceComputeCapability(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_40cuDeviceComputeCapability, "cuDeviceComputeCapability(dev)\n\nReturns the compute capability of the device.\n\n[Deprecated]\n\nThis function was deprecated as of CUDA 5.0 and its functionality\nsuperseded by :py:obj:`~.cuDeviceGetAttribute()`.\n\nReturns in `*major` and `*minor` the major and minor revision numbers\nthat define the compute capability of the device `dev`.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nmajor : int\n    Major revision number\nminor : int\n    Minor revision number\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_41cuDeviceComputeCapability = {"cuDeviceComputeCapability", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_41cuDeviceComputeCapability, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_40cuDeviceComputeCapability};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_41cuDeviceComputeCapability(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceComputeCapability (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19122, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19122, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceComputeCapability", 0) < (0)) __PYX_ERR(0, 19122, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceComputeCapability", 1, 1, 1, i); __PYX_ERR(0, 19122, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19122, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceComputeCapability", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 19122, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceComputeCapability", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_40cuDeviceComputeCapability(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_40cuDeviceComputeCapability(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  int __pyx_v_major;
  int __pyx_v_minor;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceComputeCapability", 0);

  /* "cuda/bindings/driver.pyx":19153
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19154
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19153
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19155
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19156
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19155
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19158
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int major = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19158, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19159
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int major = 0
 *     cdef int minor = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19159, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19160
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int major = 0             # <<<<<<<<<<<<<<
 *     cdef int minor = 0
 *     with nogil:
*/
  __pyx_v_major = 0;

  /* "cuda/bindings/driver.pyx":19161
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int major = 0
 *     cdef int minor = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceComputeCapability(&major, &minor, cydev)
*/
  __pyx_v_minor = 0;

  /* "cuda/bindings/driver.pyx":19162
 *     cdef int major = 0
 *     cdef int minor = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceComputeCapability(&major, &minor, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19163
 *     cdef int minor = 0
 *     with nogil:
 *         err = cydriver.cuDeviceComputeCapability(&major, &minor, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceComputeCapability((&__pyx_v_major), (&__pyx_v_minor), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19163, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19162
 *     cdef int major = 0
 *     cdef int minor = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceComputeCapability(&major, &minor, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19164
 *     with nogil:
 *         err = cydriver.cuDeviceComputeCapability(&major, &minor, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], major, minor)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19165
 *         err = cydriver.cuDeviceComputeCapability(&major, &minor, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], major, minor)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 19165, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 19165, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 19165, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19164
 *     with nogil:
 *         err = cydriver.cuDeviceComputeCapability(&major, &minor, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], major, minor)
*/
  }

  /* "cuda/bindings/driver.pyx":19166
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], major, minor)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_major); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_minor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 19166, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 19166, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 19166, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19122
 *     return (_dict_CUresult[err], prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceComputeCapability(dev):
 *     """ Returns the compute capability of the device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceComputeCapability", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19168
 *     return (_dict_CUresult[err], major, minor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRetain(dev):
 *     """ Retain the primary context on the GPU.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_43cuDevicePrimaryCtxRetain(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_42cuDevicePrimaryCtxRetain, "cuDevicePrimaryCtxRetain(dev)\n\nRetain the primary context on the GPU.\n\nRetains the primary context on the device. Once the user successfully\nretains the primary context, the primary context will be active and\navailable to the user until the user releases it with\n:py:obj:`~.cuDevicePrimaryCtxRelease()` or resets it with\n:py:obj:`~.cuDevicePrimaryCtxReset()`. Unlike :py:obj:`~.cuCtxCreate()`\nthe newly retained context is not pushed onto the stack.\n\nRetaining the primary context for the first time will fail with\n:py:obj:`~.CUDA_ERROR_UNKNOWN` if the compute mode of the device is\n:py:obj:`~.CU_COMPUTEMODE_PROHIBITED`. The function\n:py:obj:`~.cuDeviceGetAttribute()` can be used with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE` to determine the compute\nmode of the device. The `nvidia-smi` tool can be used to set the\ncompute mode for devices. Documentation for `nvidia-smi` can be\nobtained by passing a -h option to it.\n\nPlease note that the primary context always supports pinned\nallocations. Other flags can be specified by\n:py:obj:`~.cuDevicePrimaryCtxSetFlags()`.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device for which primary context is requested\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npctx : :py:obj:`~.CUcontext`\n    Returned context handle of the new context\n\nSee Also\n--------\n:py:obj:`~.cuDevicePrimaryCtxRelease`, :py:obj:`~.cuDevicePrimaryCtxSetFlags`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:""obj:`~.cuCtxSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_43cuDevicePrimaryCtxRetain = {"cuDevicePrimaryCtxRetain", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_43cuDevicePrimaryCtxRetain, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_42cuDevicePrimaryCtxRetain};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_43cuDevicePrimaryCtxRetain(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxRetain (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19168, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDevicePrimaryCtxRetain", 0) < (0)) __PYX_ERR(0, 19168, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxRetain", 1, 1, 1, i); __PYX_ERR(0, 19168, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19168, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxRetain", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 19168, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_42cuDevicePrimaryCtxRetain(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_42cuDevicePrimaryCtxRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxRetain", 0);

  /* "cuda/bindings/driver.pyx":19209
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19210
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19209
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19211
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19212
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19211
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19214
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19214, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19215
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19215, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19216
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRetain(<cydriver.CUcontext*>pctx._pvt_ptr, cydev)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19216, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":19217
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxRetain(<cydriver.CUcontext*>pctx._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19218
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRetain(<cydriver.CUcontext*>pctx._pvt_ptr, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxRetain(((CUcontext *)__pyx_v_pctx->_pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19218, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19217
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxRetain(<cydriver.CUcontext*>pctx._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19219
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRetain(<cydriver.CUcontext*>pctx._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19220
 *         err = cydriver.cuDevicePrimaryCtxRetain(<cydriver.CUcontext*>pctx._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pctx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 19220, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 19220, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19219
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRetain(<cydriver.CUcontext*>pctx._pvt_ptr, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  }

  /* "cuda/bindings/driver.pyx":19221
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 19221, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 19221, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19168
 *     return (_dict_CUresult[err], major, minor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRetain(dev):
 *     """ Retain the primary context on the GPU.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19223
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRelease(dev):
 *     """ Release the primary context on the GPU.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45cuDevicePrimaryCtxRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_44cuDevicePrimaryCtxRelease, "cuDevicePrimaryCtxRelease(dev)\n\nRelease the primary context on the GPU.\n\nReleases the primary context interop on the device. A retained context\nshould always be released once the user is done using it. The context\nis automatically reset once the last reference to it is released. This\nbehavior is different when the primary context was retained by the CUDA\nruntime from CUDA 4.0 and earlier. In this case, the primary context\nremains always active.\n\nReleasing a primary context that has not been previously retained will\nfail with :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`.\n\nPlease note that unlike :py:obj:`~.cuCtxDestroy()` this method does not\npop the context from stack in any circumstances.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device which primary context is released\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuDevicePrimaryCtxRetain`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_45cuDevicePrimaryCtxRelease = {"cuDevicePrimaryCtxRelease", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_45cuDevicePrimaryCtxRelease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_44cuDevicePrimaryCtxRelease};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_45cuDevicePrimaryCtxRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxRelease (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19223, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19223, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDevicePrimaryCtxRelease", 0) < (0)) __PYX_ERR(0, 19223, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxRelease", 1, 1, 1, i); __PYX_ERR(0, 19223, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19223, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxRelease", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 19223, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_44cuDevicePrimaryCtxRelease(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_44cuDevicePrimaryCtxRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxRelease", 0);

  /* "cuda/bindings/driver.pyx":19255
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19256
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19255
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19257
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19258
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19257
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19260
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19260, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19261
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19261, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19262
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19263
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxRelease(__pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19263, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19262
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19264
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 19264, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19223
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRelease(dev):
 *     """ Release the primary context on the GPU.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19266
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxSetFlags(dev, unsigned int flags):
 *     """ Set flags for the primary context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_47cuDevicePrimaryCtxSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_46cuDevicePrimaryCtxSetFlags, "cuDevicePrimaryCtxSetFlags(dev, unsigned int flags)\n\nSet flags for the primary context.\n\nSets the flags for the primary context on the device overwriting\nperviously set ones.\n\nThe three LSBs of the `flags` parameter can be used to control how the\nOS thread, which owns the CUDA context at the time of an API call,\ninteracts with the OS scheduler when waiting for results from the GPU.\nOnly one of the scheduling flags can be set when creating a context.\n\n- :py:obj:`~.CU_CTX_SCHED_SPIN`: Instruct CUDA to actively spin when\n  waiting for results from the GPU. This can decrease latency when\n  waiting for the GPU, but may lower the performance of CPU threads if\n  they are performing work in parallel with the CUDA thread.\n\n- :py:obj:`~.CU_CTX_SCHED_YIELD`: Instruct CUDA to yield its thread\n  when waiting for results from the GPU. This can increase latency when\n  waiting for the GPU, but can increase the performance of CPU threads\n  performing work in parallel with the GPU.\n\n- :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC`: Instruct CUDA to block the\n  CPU thread on a synchronization primitive when waiting for the GPU to\n  finish work.\n\n- :py:obj:`~.CU_CTX_BLOCKING_SYNC`: Instruct CUDA to block the CPU\n  thread on a synchronization primitive when waiting for the GPU to\n  finish work.   Deprecated: This flag was deprecated as of CUDA 4.0\n  and was replaced with :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC`.\n\n- :py:obj:`~.CU_CTX_SCHED_AUTO`: The default value if the `flags`\n  parameter is zero, uses a heuristic based on the number of active\n  CUDA contexts in the process `C` and the number of logical processors\n  in the system `P`. If `C` > `P`, then CUDA will yield to other OS\n  threads when waiting for the GPU (:py:obj:`~.CU_CTX_SCHED_YIELD`),\n  otherwise CUDA will not yield while waiting for results and actively\n  spin on the processor (:py:obj:`~.CU_CTX_SCHED_SPIN`). Additionally,\n  on Tegra devices, :py:obj:`~.CU_CTX_SCHED_AUTO` uses a heuristic\n  b""ased on the power profile of the platform and may choose\n  :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC` for low-powered devices.\n\n- :py:obj:`~.CU_CTX_LMEM_RESIZE_TO_MAX`: Instruct CUDA to not reduce\n  local memory after resizing local memory for a kernel. This can\n  prevent thrashing by local memory allocations when launching many\n  kernels with high local memory usage at the cost of potentially\n  increased memory usage.   Deprecated: This flag is deprecated and the\n  behavior enabled by this flag is now the default and cannot be\n  disabled.\n\n- :py:obj:`~.CU_CTX_COREDUMP_ENABLE`: If GPU coredumps have not been\n  enabled globally with :py:obj:`~.cuCoredumpSetAttributeGlobal` or\n  environment variables, this flag can be set during context creation\n  to instruct CUDA to create a coredump if this context raises an\n  exception during execution. These environment variables are described\n  in the CUDA-GDB user guide under the \"GPU core dump support\" section.\n  The initial settings will be taken from the global settings at the\n  time of context creation. The other settings that control coredump\n  output can be modified by calling :py:obj:`~.cuCoredumpSetAttribute`\n  from the created context after it becomes current.\n\n- :py:obj:`~.CU_CTX_USER_COREDUMP_ENABLE`: If user-triggered GPU\n  coredumps have not been enabled globally with\n  :py:obj:`~.cuCoredumpSetAttributeGlobal` or environment variables,\n  this flag can be set during context creation to instruct CUDA to\n  create a coredump if data is written to a certain pipe that is\n  present in the OS space. These environment variables are described in\n  the CUDA-GDB user guide under the \"GPU core dump support\" section. It\n  is important to note that the pipe name `must` be set with\n  :py:obj:`~.cuCoredumpSetAttributeGlobal` before creating the context\n  if this flag is used. Setting this flag implies that\n  :py:obj:`~.CU_CTX_COREDUMP_ENABLE` is set. The initial settings will\n  be taken from the glob""al settings at the time of context creation.\n  The other settings that control coredump output can be modified by\n  calling :py:obj:`~.cuCoredumpSetAttribute` from the created context\n  after it becomes current.\n\n- :py:obj:`~.CU_CTX_SYNC_MEMOPS`: Ensures that synchronous memory\n  operations initiated on this context will always synchronize. See\n  further documentation in the section titled \"API Synchronization\n  behavior\" to learn more about cases when synchronous memory\n  operations can exhibit asynchronous behavior.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device for which the primary context flags are set\nflags : unsigned int\n    New flags for the device\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuDevicePrimaryCtxRetain`, :py:obj:`~.cuDevicePrimaryCtxGetState`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxSetFlags`, :py:obj:`~.cudaSetDeviceFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_47cuDevicePrimaryCtxSetFlags = {"cuDevicePrimaryCtxSetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_47cuDevicePrimaryCtxSetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_46cuDevicePrimaryCtxSetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_47cuDevicePrimaryCtxSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxSetFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19266, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19266, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDevicePrimaryCtxSetFlags", 0) < (0)) __PYX_ERR(0, 19266, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxSetFlags", 1, 2, 2, i); __PYX_ERR(0, 19266, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19266, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19266, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 19267, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxSetFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 19266, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_46cuDevicePrimaryCtxSetFlags(__pyx_self, __pyx_v_dev, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_46cuDevicePrimaryCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, unsigned int __pyx_v_flags) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxSetFlags", 0);

  /* "cuda/bindings/driver.pyx":19366
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19367
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19366
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19368
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19369
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19368
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19371
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19371, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19372
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19372, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19373
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19374
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxSetFlags(__pyx_v_cydev, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19374, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19373
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19375
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 19375, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19266
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxSetFlags(dev, unsigned int flags):
 *     """ Set flags for the primary context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19377
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxGetState(dev):
 *     """ Get the state of the primary context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_49cuDevicePrimaryCtxGetState(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_48cuDevicePrimaryCtxGetState, "cuDevicePrimaryCtxGetState(dev)\n\nGet the state of the primary context.\n\nReturns in `*flags` the flags for the primary context of `dev`, and in\n`*active` whether it is active. See\n:py:obj:`~.cuDevicePrimaryCtxSetFlags` for flag values.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device to get primary context flags for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nflags : unsigned int\n    Pointer to store flags\nactive : int\n    Pointer to store context state; 0 = inactive, 1 = active\n\nSee Also\n--------\n:py:obj:`~.cuDevicePrimaryCtxSetFlags`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxSetFlags`, :py:obj:`~.cudaGetDeviceFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_49cuDevicePrimaryCtxGetState = {"cuDevicePrimaryCtxGetState", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_49cuDevicePrimaryCtxGetState, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_48cuDevicePrimaryCtxGetState};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_49cuDevicePrimaryCtxGetState(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxGetState (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19377, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19377, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDevicePrimaryCtxGetState", 0) < (0)) __PYX_ERR(0, 19377, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxGetState", 1, 1, 1, i); __PYX_ERR(0, 19377, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19377, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxGetState", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 19377, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxGetState", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_48cuDevicePrimaryCtxGetState(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_48cuDevicePrimaryCtxGetState(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  unsigned int __pyx_v_flags;
  int __pyx_v_active;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxGetState", 0);

  /* "cuda/bindings/driver.pyx":19404
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19405
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19404
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19406
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19407
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19406
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19409
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef unsigned int flags = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19409, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19410
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     cdef int active = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19410, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19411
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     cdef int active = 0
 *     with nogil:
*/
  __pyx_v_flags = 0;

  /* "cuda/bindings/driver.pyx":19412
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef unsigned int flags = 0
 *     cdef int active = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxGetState(cydev, &flags, &active)
*/
  __pyx_v_active = 0;

  /* "cuda/bindings/driver.pyx":19413
 *     cdef unsigned int flags = 0
 *     cdef int active = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxGetState(cydev, &flags, &active)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19414
 *     cdef int active = 0
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxGetState(cydev, &flags, &active)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxGetState(__pyx_v_cydev, (&__pyx_v_flags), (&__pyx_v_active)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19414, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19413
 *     cdef unsigned int flags = 0
 *     cdef int active = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxGetState(cydev, &flags, &active)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19415
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxGetState(cydev, &flags, &active)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], flags, active)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19416
 *         err = cydriver.cuDevicePrimaryCtxGetState(cydev, &flags, &active)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], flags, active)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 19416, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 19416, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 19416, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19415
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxGetState(cydev, &flags, &active)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], flags, active)
*/
  }

  /* "cuda/bindings/driver.pyx":19417
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], flags, active)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_active); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 19417, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 19417, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 19417, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19377
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxGetState(dev):
 *     """ Get the state of the primary context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxGetState", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19419
 *     return (_dict_CUresult[err], flags, active)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxReset(dev):
 *     """ Destroy all allocations and reset all state on the primary context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_51cuDevicePrimaryCtxReset(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_50cuDevicePrimaryCtxReset, "cuDevicePrimaryCtxReset(dev)\n\nDestroy all allocations and reset all state on the primary context.\n\nExplicitly destroys and cleans up all resources associated with the\ncurrent device in the current process.\n\nNote that it is responsibility of the calling function to ensure that\nno other module in the process is using the device any more. For that\nreason it is recommended to use :py:obj:`~.cuDevicePrimaryCtxRelease()`\nin most cases. However it is safe for other modules to call\n:py:obj:`~.cuDevicePrimaryCtxRelease()` even after resetting the\ndevice. Resetting the primary context does not release it, an\napplication that has retained the primary context should explicitly\nrelease its usage.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device for which primary context is destroyed\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE`\n\nSee Also\n--------\n:py:obj:`~.cuDevicePrimaryCtxRetain`, :py:obj:`~.cuDevicePrimaryCtxRelease`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaDeviceReset`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_51cuDevicePrimaryCtxReset = {"cuDevicePrimaryCtxReset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_51cuDevicePrimaryCtxReset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_50cuDevicePrimaryCtxReset};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_51cuDevicePrimaryCtxReset(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxReset (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19419, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDevicePrimaryCtxReset", 0) < (0)) __PYX_ERR(0, 19419, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxReset", 1, 1, 1, i); __PYX_ERR(0, 19419, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19419, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxReset", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 19419, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxReset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_50cuDevicePrimaryCtxReset(__pyx_self, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_50cuDevicePrimaryCtxReset(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxReset", 0);

  /* "cuda/bindings/driver.pyx":19450
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19451
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19450
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19452
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19453
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19452
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19455
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19455, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19456
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19456, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19457
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19458
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxReset(__pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19458, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19457
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19459
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 19459, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19419
 *     return (_dict_CUresult[err], flags, active)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxReset(dev):
 *     """ Destroy all allocations and reset all state on the primary context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevicePrimaryCtxReset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19461
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(unsigned int flags, dev):
 *     """ Create a CUDA context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_53cuCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_52cuCtxCreate, "cuCtxCreate(unsigned int flags, dev)\n\nCreate a CUDA context.\n\nCreates a new CUDA context and associates it with the calling thread.\nThe `flags` parameter is described below. The context is created with a\nusage count of 1 and the caller of :py:obj:`~.cuCtxCreate()` must call\n:py:obj:`~.cuCtxDestroy()` when done using the context. If a context is\nalready current to the thread, it is supplanted by the newly created\ncontext and may be restored by a subsequent call to\n:py:obj:`~.cuCtxPopCurrent()`.\n\nThe three LSBs of the `flags` parameter can be used to control how the\nOS thread, which owns the CUDA context at the time of an API call,\ninteracts with the OS scheduler when waiting for results from the GPU.\nOnly one of the scheduling flags can be set when creating a context.\n\n- :py:obj:`~.CU_CTX_SCHED_SPIN`: Instruct CUDA to actively spin when\n  waiting for results from the GPU. This can decrease latency when\n  waiting for the GPU, but may lower the performance of CPU threads if\n  they are performing work in parallel with the CUDA thread.\n\n- :py:obj:`~.CU_CTX_SCHED_YIELD`: Instruct CUDA to yield its thread\n  when waiting for results from the GPU. This can increase latency when\n  waiting for the GPU, but can increase the performance of CPU threads\n  performing work in parallel with the GPU.\n\n- :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC`: Instruct CUDA to block the\n  CPU thread on a synchronization primitive when waiting for the GPU to\n  finish work.\n\n- :py:obj:`~.CU_CTX_BLOCKING_SYNC`: Instruct CUDA to block the CPU\n  thread on a synchronization primitive when waiting for the GPU to\n  finish work.   Deprecated: This flag was deprecated as of CUDA 4.0\n  and was replaced with :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC`.\n\n- :py:obj:`~.CU_CTX_SCHED_AUTO`: The default value if the `flags`\n  parameter is zero, uses a heuristic based on the number of active\n  CUDA contexts in the process `C` and the number of logical processors\n  in the system `P`. If `""C` > `P`, then CUDA will yield to other OS\n  threads when waiting for the GPU (:py:obj:`~.CU_CTX_SCHED_YIELD`),\n  otherwise CUDA will not yield while waiting for results and actively\n  spin on the processor (:py:obj:`~.CU_CTX_SCHED_SPIN`). Additionally,\n  on Tegra devices, :py:obj:`~.CU_CTX_SCHED_AUTO` uses a heuristic\n  based on the power profile of the platform and may choose\n  :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC` for low-powered devices.\n\n- :py:obj:`~.CU_CTX_MAP_HOST`: Instruct CUDA to support mapped pinned\n  allocations. This flag must be set in order to allocate pinned host\n  memory that is accessible to the GPU.\n\n- :py:obj:`~.CU_CTX_LMEM_RESIZE_TO_MAX`: Instruct CUDA to not reduce\n  local memory after resizing local memory for a kernel. This can\n  prevent thrashing by local memory allocations when launching many\n  kernels with high local memory usage at the cost of potentially\n  increased memory usage.   Deprecated: This flag is deprecated and the\n  behavior enabled by this flag is now the default and cannot be\n  disabled. Instead, the per-thread stack size can be controlled with\n  :py:obj:`~.cuCtxSetLimit()`.\n\n- :py:obj:`~.CU_CTX_COREDUMP_ENABLE`: If GPU coredumps have not been\n  enabled globally with :py:obj:`~.cuCoredumpSetAttributeGlobal` or\n  environment variables, this flag can be set during context creation\n  to instruct CUDA to create a coredump if this context raises an\n  exception during execution. These environment variables are described\n  in the CUDA-GDB user guide under the \"GPU core dump support\" section.\n  The initial attributes will be taken from the global attributes at\n  the time of context creation. The other attributes that control\n  coredump output can be modified by calling\n  :py:obj:`~.cuCoredumpSetAttribute` from the created context after it\n  becomes current.\n\n- :py:obj:`~.CU_CTX_USER_COREDUMP_ENABLE`: If user-triggered GPU\n  coredumps have not been enabled globally with\n  :py:obj:`~.cuCoredumpSe""tAttributeGlobal` or environment variables,\n  this flag can be set during context creation to instruct CUDA to\n  create a coredump if data is written to a certain pipe that is\n  present in the OS space. These environment variables are described in\n  the CUDA-GDB user guide under the \"GPU core dump support\" section. It\n  is important to note that the pipe name `must` be set with\n  :py:obj:`~.cuCoredumpSetAttributeGlobal` before creating the context\n  if this flag is used. Setting this flag implies that\n  :py:obj:`~.CU_CTX_COREDUMP_ENABLE` is set. The initial attributes\n  will be taken from the global attributes at the time of context\n  creation. The other attributes that control coredump output can be\n  modified by calling :py:obj:`~.cuCoredumpSetAttribute` from the\n  created context after it becomes current. Setting this flag on any\n  context creation is equivalent to setting the\n  :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER` attribute to `true`\n  globally.\n\n- :py:obj:`~.CU_CTX_SYNC_MEMOPS`: Ensures that synchronous memory\n  operations initiated on this context will always synchronize. See\n  further documentation in the section titled \"API Synchronization\n  behavior\" to learn more about cases when synchronous memory\n  operations can exhibit asynchronous behavior.\n\nContext creation will fail with :py:obj:`~.CUDA_ERROR_UNKNOWN` if the\ncompute mode of the device is :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`.\nThe function :py:obj:`~.cuDeviceGetAttribute()` can be used with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE` to determine the compute\nmode of the device. The `nvidia-smi` tool can be used to set the\ncompute mode for * devices. Documentation for `nvidia-smi` can be\nobtained by passing a -h option to it.\n\nParameters\n----------\nflags : unsigned int\n    Context creation flags\ndev : :py:obj:`~.CUdevice`\n    Device to create context on\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py"":obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npctx : :py:obj:`~.CUcontext`\n    Returned context handle of the new context\n\nSee Also\n--------\n:py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCoredumpSetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCtxSynchronize`\n\nNotes\n-----\nIn most cases it is recommended to use :py:obj:`~.cuDevicePrimaryCtxRetain`.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_53cuCtxCreate = {"cuCtxCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_53cuCtxCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_52cuCtxCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_53cuCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19461, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19461, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19461, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxCreate", 0) < (0)) __PYX_ERR(0, 19461, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxCreate", 1, 2, 2, i); __PYX_ERR(0, 19461, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19461, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19461, __pyx_L3_error)
    }
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 19462, __pyx_L3_error)
    __pyx_v_dev = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxCreate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 19461, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_52cuCtxCreate(__pyx_self, __pyx_v_flags, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_52cuCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxCreate", 0);

  /* "cuda/bindings/driver.pyx":19589
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19590
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19589
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19591
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19592
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19591
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19594
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19594, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19595
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19595, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19596
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, flags, cydev)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19596, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":19597
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19598
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, flags, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate(((CUcontext *)__pyx_v_pctx->_pvt_ptr), __pyx_v_flags, __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19598, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19597
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19599
 *     with nogil:
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19600
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pctx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 19600, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 19600, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19599
 *     with nogil:
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  }

  /* "cuda/bindings/driver.pyx":19601
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 19601, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 19601, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19461
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(unsigned int flags, dev):
 *     """ Create a CUDA context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19603
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[tuple[CUexecAffinityParam] | list[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_55cuCtxCreate_v3(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_54cuCtxCreate_v3, "cuCtxCreate_v3(paramsArray: Optional[tuple[CUexecAffinityParam] | list[CUexecAffinityParam]], int numParams, unsigned int flags, dev)\n\nCreate a CUDA context with execution affinity.\n\nCreates a new CUDA context with execution affinity and associates it\nwith the calling thread. The `paramsArray` and `flags` parameter are\ndescribed below. The context is created with a usage count of 1 and the\ncaller of :py:obj:`~.cuCtxCreate()` must call\n:py:obj:`~.cuCtxDestroy()` when done using the context. If a context is\nalready current to the thread, it is supplanted by the newly created\ncontext and may be restored by a subsequent call to\n:py:obj:`~.cuCtxPopCurrent()`.\n\nThe type and the amount of execution resource the context can use is\nlimited by `paramsArray` and `numParams`. The `paramsArray` is an array\nof `CUexecAffinityParam` and the `numParams` describes the size of the\narray. If two `CUexecAffinityParam` in the array have the same type,\nthe latter execution affinity parameter overrides the former execution\naffinity parameter. The supported execution affinity types are:\n\n- :py:obj:`~.CU_EXEC_AFFINITY_TYPE_SM_COUNT` limits the portion of SMs\n  that the context can use. The portion of SMs is specified as the\n  number of SMs via `CUexecAffinitySmCount`. This limit will be\n  internally rounded up to the next hardware-supported amount. Hence,\n  it is imperative to query the actual execution affinity of the\n  context via `cuCtxGetExecAffinity` after context creation. Currently,\n  this attribute is only supported under Volta+ MPS.\n\nThe three LSBs of the `flags` parameter can be used to control how the\nOS thread, which owns the CUDA context at the time of an API call,\ninteracts with the OS scheduler when waiting for results from the GPU.\nOnly one of the scheduling flags can be set when creating a context.\n\n- :py:obj:`~.CU_CTX_SCHED_SPIN`: Instruct CUDA to actively spin when\n  waiting for results from the GPU. This can decrease latency when\n  wait""ing for the GPU, but may lower the performance of CPU threads if\n  they are performing work in parallel with the CUDA thread.\n\n- :py:obj:`~.CU_CTX_SCHED_YIELD`: Instruct CUDA to yield its thread\n  when waiting for results from the GPU. This can increase latency when\n  waiting for the GPU, but can increase the performance of CPU threads\n  performing work in parallel with the GPU.\n\n- :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC`: Instruct CUDA to block the\n  CPU thread on a synchronization primitive when waiting for the GPU to\n  finish work.\n\n- :py:obj:`~.CU_CTX_BLOCKING_SYNC`: Instruct CUDA to block the CPU\n  thread on a synchronization primitive when waiting for the GPU to\n  finish work.   Deprecated: This flag was deprecated as of CUDA 4.0\n  and was replaced with :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC`.\n\n- :py:obj:`~.CU_CTX_SCHED_AUTO`: The default value if the `flags`\n  parameter is zero, uses a heuristic based on the number of active\n  CUDA contexts in the process `C` and the number of logical processors\n  in the system `P`. If `C` > `P`, then CUDA will yield to other OS\n  threads when waiting for the GPU (:py:obj:`~.CU_CTX_SCHED_YIELD`),\n  otherwise CUDA will not yield while waiting for results and actively\n  spin on the processor (:py:obj:`~.CU_CTX_SCHED_SPIN`). Additionally,\n  on Tegra devices, :py:obj:`~.CU_CTX_SCHED_AUTO` uses a heuristic\n  based on the power profile of the platform and may choose\n  :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC` for low-powered devices.\n\n- :py:obj:`~.CU_CTX_MAP_HOST`: Instruct CUDA to support mapped pinned\n  allocations. This flag must be set in order to allocate pinned host\n  memory that is accessible to the GPU.\n\n- :py:obj:`~.CU_CTX_LMEM_RESIZE_TO_MAX`: Instruct CUDA to not reduce\n  local memory after resizing local memory for a kernel. This can\n  prevent thrashing by local memory allocations when launching many\n  kernels with high local memory usage at the cost of potentially\n  increased memory usage. ""  Deprecated: This flag is deprecated and the\n  behavior enabled by this flag is now the default and cannot be\n  disabled. Instead, the per-thread stack size can be controlled with\n  :py:obj:`~.cuCtxSetLimit()`.\n\n- :py:obj:`~.CU_CTX_COREDUMP_ENABLE`: If GPU coredumps have not been\n  enabled globally with :py:obj:`~.cuCoredumpSetAttributeGlobal` or\n  environment variables, this flag can be set during context creation\n  to instruct CUDA to create a coredump if this context raises an\n  exception during execution. These environment variables are described\n  in the CUDA-GDB user guide under the \"GPU core dump support\" section.\n  The initial attributes will be taken from the global attributes at\n  the time of context creation. The other attributes that control\n  coredump output can be modified by calling\n  :py:obj:`~.cuCoredumpSetAttribute` from the created context after it\n  becomes current.\n\n- :py:obj:`~.CU_CTX_USER_COREDUMP_ENABLE`: If user-triggered GPU\n  coredumps have not been enabled globally with\n  :py:obj:`~.cuCoredumpSetAttributeGlobal` or environment variables,\n  this flag can be set during context creation to instruct CUDA to\n  create a coredump if data is written to a certain pipe that is\n  present in the OS space. These environment variables are described in\n  the CUDA-GDB user guide under the \"GPU core dump support\" section. It\n  is important to note that the pipe name `must` be set with\n  :py:obj:`~.cuCoredumpSetAttributeGlobal` before creating the context\n  if this flag is used. Setting this flag implies that\n  :py:obj:`~.CU_CTX_COREDUMP_ENABLE` is set. The initial attributes\n  will be taken from the global attributes at the time of context\n  creation. The other attributes that control coredump output can be\n  modified by calling :py:obj:`~.cuCoredumpSetAttribute` from the\n  created context after it becomes current. Setting this flag on any\n  context creation is equivalent to setting the\n  :py:obj:`~.CU_COREDUMP_ENABLE""_USER_TRIGGER` attribute to `true`\n  globally.\n\nContext creation will fail with :py:obj:`~.CUDA_ERROR_UNKNOWN` if the\ncompute mode of the device is :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`.\nThe function :py:obj:`~.cuDeviceGetAttribute()` can be used with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE` to determine the compute\nmode of the device. The `nvidia-smi` tool can be used to set the\ncompute mode for * devices. Documentation for `nvidia-smi` can be\nobtained by passing a -h option to it.\n\nParameters\n----------\nparamsArray : list[:py:obj:`~.CUexecAffinityParam`]\n    Execution affinity parameters\nnumParams : int\n    Number of execution affinity parameters\nflags : unsigned int\n    Context creation flags\ndev : :py:obj:`~.CUdevice`\n    Device to create context on\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npctx : :py:obj:`~.CUcontext`\n    Returned context handle of the new context\n\nSee Also\n--------\n:py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cuCoredumpSetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.CUexecAffinityParam`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_55cuCtxCreate_v3 = {"cuCtxCreate_v3", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_55cuCtxCreate_v3, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_54cuCtxCreate_v3};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_55cuCtxCreate_v3(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_paramsArray = 0;
  int __pyx_v_numParams;
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxCreate_v3 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_paramsArray_2,&__pyx_mstate_global->__pyx_n_u_numParams,&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19603, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 19603, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 19603, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19603, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19603, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxCreate_v3", 0) < (0)) __PYX_ERR(0, 19603, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxCreate_v3", 1, 4, 4, i); __PYX_ERR(0, 19603, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19603, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19603, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 19603, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 19603, __pyx_L3_error)
    }
    __pyx_v_paramsArray = values[0];
    __pyx_v_numParams = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_numParams == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 19604, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 19604, __pyx_L3_error)
    __pyx_v_dev = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxCreate_v3", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 19603, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxCreate_v3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_54cuCtxCreate_v3(__pyx_self, __pyx_v_paramsArray, __pyx_v_numParams, __pyx_v_flags, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuCtxCreate_v3_2generator114(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":19749
 *     cydev = <cydriver.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14cuCtxCreate_v3_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 19749, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_14cuCtxCreate_v3_2generator114, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[114]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuCtxCreate_v3_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 19749, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxCreate_v3.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuCtxCreate_v3_2generator114(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 19749, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 19749, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19749, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 19749, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 19749, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19749, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 19749, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19603
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[tuple[CUexecAffinityParam] | list[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_54cuCtxCreate_v3(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_paramsArray, int __pyx_v_numParams, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pctx = 0;
  CUexecAffinityParam *__pyx_v_cyparamsArray;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuCtxCreate_v3_2generator114 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUexecAffinityParam_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxCreate_v3", 0);
  __Pyx_INCREF(__pyx_v_paramsArray);

  /* "cuda/bindings/driver.pyx":19741
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19742
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19741
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19743
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19744
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19743
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19746
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19746, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19747
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19747, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19748
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]")
*/
  __pyx_t_1 = (__pyx_v_paramsArray == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramsArray);
    __pyx_t_4 = __pyx_v_paramsArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramsArray, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":19749
 *     cydev = <cydriver.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_14cuCtxCreate_v3_genexpr(NULL, __pyx_v_paramsArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 19749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":19750
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]")             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUexecAffinityParam* cyparamsArray = NULL
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_paramsArray_is_not_inst};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19750, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 19750, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":19749
 *     cydev = <cydriver.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
*/
  }

  /* "cuda/bindings/driver.pyx":19751
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUexecAffinityParam* cyparamsArray = NULL
 *     if len(paramsArray) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19751, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":19752
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUexecAffinityParam,] or list[cydriver.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUexecAffinityParam* cyparamsArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(cydriver.CUexecAffinityParam))
*/
  __pyx_v_cyparamsArray = NULL;

  /* "cuda/bindings/driver.pyx":19753
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUexecAffinityParam* cyparamsArray = NULL
 *     if len(paramsArray) > 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = <cydriver.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(cydriver.CUexecAffinityParam))
 *         if cyparamsArray is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19753, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":19754
 *     cdef cydriver.CUexecAffinityParam* cyparamsArray = NULL
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(cydriver.CUexecAffinityParam))             # <<<<<<<<<<<<<<
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19754, __pyx_L1_error)
    __pyx_v_cyparamsArray = ((CUexecAffinityParam *)calloc(__pyx_t_8, (sizeof(CUexecAffinityParam))));

    /* "cuda/bindings/driver.pyx":19755
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(cydriver.CUexecAffinityParam))
 *         if cyparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
 *         for idx in range(len(paramsArray)):
*/
    __pyx_t_7 = (__pyx_v_cyparamsArray == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":19756
 *         cyparamsArray = <cydriver.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(cydriver.CUexecAffinityParam))
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
*/
      __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19756, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 19756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 19756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 19756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 19756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUexecAffinityParam))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 19756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 19756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 19756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19756, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(0, 19756, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":19755
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(cydriver.CUexecAffinityParam))
 *         if cyparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
 *         for idx in range(len(paramsArray)):
*/
    }

    /* "cuda/bindings/driver.pyx":19757
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
 *         for idx in range(len(paramsArray)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
 *     elif len(paramsArray) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19757, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":19758
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUexecAffinityParam)))
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))             # <<<<<<<<<<<<<<
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUexecAffinityParam>paramsArray[0])._pvt_ptr
*/
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_paramsArray, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19758, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      (void)(memcpy((&(__pyx_v_cyparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam *)__pyx_t_2)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUexecAffinityParam))));
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }

    /* "cuda/bindings/driver.pyx":19753
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUexecAffinityParam* cyparamsArray = NULL
 *     if len(paramsArray) > 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = <cydriver.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(cydriver.CUexecAffinityParam))
 *         if cyparamsArray is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":19759
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
 *     elif len(paramsArray) == 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = (<CUexecAffinityParam>paramsArray[0])._pvt_ptr
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19759, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":19760
 *             string.memcpy(&cyparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUexecAffinityParam>paramsArray[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxCreate_v3(<cydriver.CUcontext*>pctx._pvt_ptr, cyparamsArray, numParams, flags, cydev)
*/
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_paramsArray, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam *)__pyx_t_2)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_cyparamsArray = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":19759
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUexecAffinityParam))
 *     elif len(paramsArray) == 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = (<CUexecAffinityParam>paramsArray[0])._pvt_ptr
 *     with nogil:
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":19761
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUexecAffinityParam>paramsArray[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxCreate_v3(<cydriver.CUcontext*>pctx._pvt_ptr, cyparamsArray, numParams, flags, cydev)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19762
 *         cyparamsArray = (<CUexecAffinityParam>paramsArray[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuCtxCreate_v3(<cydriver.CUcontext*>pctx._pvt_ptr, cyparamsArray, numParams, flags, cydev)             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate_v3(((CUcontext *)__pyx_v_pctx->_pvt_ptr), __pyx_v_cyparamsArray, __pyx_v_numParams, __pyx_v_flags, __pyx_v_cydev); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19762, __pyx_L10_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":19761
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUexecAffinityParam>paramsArray[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxCreate_v3(<cydriver.CUcontext*>pctx._pvt_ptr, cyparamsArray, numParams, flags, cydev)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L11;
        }
        __pyx_L10_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L11:;
      }
  }

  /* "cuda/bindings/driver.pyx":19763
 *     with nogil:
 *         err = cydriver.cuCtxCreate_v3(<cydriver.CUcontext*>pctx._pvt_ptr, cyparamsArray, numParams, flags, cydev)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyparamsArray)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19763, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cyparamsArray != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L13_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":19764
 *         err = cydriver.cuCtxCreate_v3(<cydriver.CUcontext*>pctx._pvt_ptr, cyparamsArray, numParams, flags, cydev)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cyparamsArray);

    /* "cuda/bindings/driver.pyx":19763
 *     with nogil:
 *         err = cydriver.cuCtxCreate_v3(<cydriver.CUcontext*>pctx._pvt_ptr, cyparamsArray, numParams, flags, cydev)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyparamsArray)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":19765
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":19766
 *         free(cyparamsArray)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pctx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 19766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_9);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 19766, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 19766, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19765
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  }

  /* "cuda/bindings/driver.pyx":19767
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 19767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 19767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 19767, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 19767, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19603
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[tuple[CUexecAffinityParam] | list[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxCreate_v3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_14cuCtxCreate_v3_2generator114);
  __Pyx_XDECREF(__pyx_v_paramsArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19769
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v4(ctxCreateParams : Optional[CUctxCreateParams], unsigned int flags, dev):
 *     """ Create a CUDA context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_57cuCtxCreate_v4(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_56cuCtxCreate_v4, "cuCtxCreate_v4(CUctxCreateParams ctxCreateParams: Optional[CUctxCreateParams], unsigned int flags, dev)\n\nCreate a CUDA context.\n\nCreates a new CUDA context and associates it with the calling thread.\nThe `flags` parameter is described below. The context is created with a\nusage count of 1 and the caller of :py:obj:`~.cuCtxCreate()` must call\n:py:obj:`~.cuCtxDestroy()` when done using the context. If a context is\nalready current to the thread, it is supplanted by the newly created\ncontext and may be restored by a subsequent call to\n:py:obj:`~.cuCtxPopCurrent()`.\n\nCUDA context can be created with execution affinity. The type and the\namount of execution resource the context can use is limited by\n`paramsArray` and `numExecAffinityParams` in `execAffinity`. The\n`paramsArray` is an array of `CUexecAffinityParam` and the\n`numExecAffinityParams` describes the size of the paramsArray. If two\n`CUexecAffinityParam` in the array have the same type, the latter\nexecution affinity parameter overrides the former execution affinity\nparameter. The supported execution affinity types are:\n\n- :py:obj:`~.CU_EXEC_AFFINITY_TYPE_SM_COUNT` limits the portion of SMs\n  that the context can use. The portion of SMs is specified as the\n  number of SMs via `CUexecAffinitySmCount`. This limit will be\n  internally rounded up to the next hardware-supported amount. Hence,\n  it is imperative to query the actual execution affinity of the\n  context via `cuCtxGetExecAffinity` after context creation. Currently,\n  this attribute is only supported under Volta+ MPS.\n\nCUDA context can be created in CIG(CUDA in Graphics) mode by setting\n`cigParams`. Data from graphics client is shared with CUDA via the\n`sharedData` in `cigParams`. Support for D3D12 graphics client can be\ndetermined using :py:obj:`~.cuDeviceGetAttribute()` with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED`. `sharedData` is a\nID3D12CommandQueue handle. Support for Vulkan graphics client can be\ndetermined usi""ng :py:obj:`~.cuDeviceGetAttribute()` with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED`. `sharedData` is a\nNvidia specific data blob populated by calling\nvkGetExternalComputeQueueDataNV(). Either `execAffinityParams` or\n`cigParams` can be set to a non-null value. Setting both to a non-null\nvalue will result in an undefined behavior.\n\nThe three LSBs of the `flags` parameter can be used to control how the\nOS thread, which owns the CUDA context at the time of an API call,\ninteracts with the OS scheduler when waiting for results from the GPU.\nOnly one of the scheduling flags can be set when creating a context.\n\n- :py:obj:`~.CU_CTX_SCHED_SPIN`: Instruct CUDA to actively spin when\n  waiting for results from the GPU. This can decrease latency when\n  waiting for the GPU, but may lower the performance of CPU threads if\n  they are performing work in parallel with the CUDA thread.\n\n- :py:obj:`~.CU_CTX_SCHED_YIELD`: Instruct CUDA to yield its thread\n  when waiting for results from the GPU. This can increase latency when\n  waiting for the GPU, but can increase the performance of CPU threads\n  performing work in parallel with the GPU.\n\n- :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC`: Instruct CUDA to block the\n  CPU thread on a synchronization primitive when waiting for the GPU to\n  finish work.\n\n- :py:obj:`~.CU_CTX_BLOCKING_SYNC`: Instruct CUDA to block the CPU\n  thread on a synchronization primitive when waiting for the GPU to\n  finish work.   Deprecated: This flag was deprecated as of CUDA 4.0\n  and was replaced with :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC`.\n\n- :py:obj:`~.CU_CTX_SCHED_AUTO`: The default value if the `flags`\n  parameter is zero, uses a heuristic based on the number of active\n  CUDA contexts in the process `C` and the number of logical processors\n  in the system `P`. If `C` > `P`, then CUDA will yield to other OS\n  threads when waiting for the GPU (:py:obj:`~.CU_CTX_SCHED_YIELD`),\n  otherwise CUDA will not yield while waiting f""or results and actively\n  spin on the processor (:py:obj:`~.CU_CTX_SCHED_SPIN`). Additionally,\n  on Tegra devices, :py:obj:`~.CU_CTX_SCHED_AUTO` uses a heuristic\n  based on the power profile of the platform and may choose\n  :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC` for low-powered devices.\n\n- :py:obj:`~.CU_CTX_MAP_HOST`: Instruct CUDA to support mapped pinned\n  allocations. This flag must be set in order to allocate pinned host\n  memory that is accessible to the GPU.\n\n- :py:obj:`~.CU_CTX_LMEM_RESIZE_TO_MAX`: Instruct CUDA to not reduce\n  local memory after resizing local memory for a kernel. This can\n  prevent thrashing by local memory allocations when launching many\n  kernels with high local memory usage at the cost of potentially\n  increased memory usage.   Deprecated: This flag is deprecated and the\n  behavior enabled by this flag is now the default and cannot be\n  disabled. Instead, the per-thread stack size can be controlled with\n  :py:obj:`~.cuCtxSetLimit()`.\n\n- :py:obj:`~.CU_CTX_COREDUMP_ENABLE`: If GPU coredumps have not been\n  enabled globally with :py:obj:`~.cuCoredumpSetAttributeGlobal` or\n  environment variables, this flag can be set during context creation\n  to instruct CUDA to create a coredump if this context raises an\n  exception during execution. These environment variables are described\n  in the CUDA-GDB user guide under the \"GPU core dump support\" section.\n  The initial attributes will be taken from the global attributes at\n  the time of context creation. The other attributes that control\n  coredump output can be modified by calling\n  :py:obj:`~.cuCoredumpSetAttribute` from the created context after it\n  becomes current. This flag is not supported when CUDA context is\n  created in CIG(CUDA in Graphics) mode.\n\n- :py:obj:`~.CU_CTX_USER_COREDUMP_ENABLE`: If user-triggered GPU\n  coredumps have not been enabled globally with\n  :py:obj:`~.cuCoredumpSetAttributeGlobal` or environment variables,\n  this flag can be set dur""ing context creation to instruct CUDA to\n  create a coredump if data is written to a certain pipe that is\n  present in the OS space. These environment variables are described in\n  the CUDA-GDB user guide under the \"GPU core dump support\" section. It\n  is important to note that the pipe name `must` be set with\n  :py:obj:`~.cuCoredumpSetAttributeGlobal` before creating the context\n  if this flag is used. Setting this flag implies that\n  :py:obj:`~.CU_CTX_COREDUMP_ENABLE` is set. The initial attributes\n  will be taken from the global attributes at the time of context\n  creation. The other attributes that control coredump output can be\n  modified by calling :py:obj:`~.cuCoredumpSetAttribute` from the\n  created context after it becomes current. Setting this flag on any\n  context creation is equivalent to setting the\n  :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER` attribute to `true`\n  globally. This flag is not supported when CUDA context is created in\n  CIG(CUDA in Graphics) mode.\n\n- :py:obj:`~.CU_CTX_SYNC_MEMOPS`: Ensures that synchronous memory\n  operations initiated on this context will always synchronize. See\n  further documentation in the section titled \"API Synchronization\n  behavior\" to learn more about cases when synchronous memory\n  operations can exhibit asynchronous behavior.\n\nContext creation will fail with :py:obj:`~.CUDA_ERROR_UNKNOWN` if the\ncompute mode of the device is :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`.\nThe function :py:obj:`~.cuDeviceGetAttribute()` can be used with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE` to determine the compute\nmode of the device. The `nvidia-smi` tool can be used to set the\ncompute mode for * devices. Documentation for `nvidia-smi` can be\nobtained by passing a -h option to it.\n\nContext creation will fail with :: CUDA_ERROR_INVALID_VALUE if invalid\nparameter was passed by client to create the CUDA context.\n\nContext creation in CIG mode will fail with\n:py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` i""f CIG is not supported by the\ndevice or the driver.\n\nParameters\n----------\nctxCreateParams : :py:obj:`~.CUctxCreateParams`\n    Context creation parameters\nflags : unsigned int\n    Context creation flags\ndev : :py:obj:`~.CUdevice`\n    Device to create context on\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npctx : :py:obj:`~.CUcontext`\n    Returned context handle of the new context\n\nSee Also\n--------\n:py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCoredumpSetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCtxSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_57cuCtxCreate_v4 = {"cuCtxCreate_v4", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_57cuCtxCreate_v4, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_56cuCtxCreate_v4};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_57cuCtxCreate_v4(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams *__pyx_v_ctxCreateParams = 0;
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxCreate_v4 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ctxCreateParams,&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19769, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 19769, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19769, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19769, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxCreate_v4", 0) < (0)) __PYX_ERR(0, 19769, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxCreate_v4", 1, 3, 3, i); __PYX_ERR(0, 19769, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19769, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19769, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 19769, __pyx_L3_error)
    }
    __pyx_v_ctxCreateParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams *)values[0]);
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 19770, __pyx_L3_error)
    __pyx_v_dev = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxCreate_v4", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 19769, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxCreate_v4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ctxCreateParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams, 1, "ctxCreateParams", 0))) __PYX_ERR(0, 19770, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_56cuCtxCreate_v4(__pyx_self, __pyx_v_ctxCreateParams, __pyx_v_flags, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_56cuCtxCreate_v4(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams *__pyx_v_ctxCreateParams, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pctx = 0;
  CUctxCreateParams *__pyx_v_cyctxCreateParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  struct CUctxCreateParams_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxCreate_v4", 0);

  /* "cuda/bindings/driver.pyx":19934
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19935
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19934
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19936
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19937
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19936
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19939
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19939, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19940
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19940, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19941
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19941, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":19942
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxCreate_v4(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_ctxCreateParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_ctxCreateParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyctxCreateParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":19943
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxCreate_v4(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19944
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuCtxCreate_v4(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate_v4(((CUcontext *)__pyx_v_pctx->_pvt_ptr), __pyx_v_cyctxCreateParams_ptr, __pyx_v_flags, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19944, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":19943
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxCreate_v4(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19945
 *     with nogil:
 *         err = cydriver.cuCtxCreate_v4(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19946
 *         err = cydriver.cuCtxCreate_v4(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pctx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 19946, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 19946, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19945
 *     with nogil:
 *         err = cydriver.cuCtxCreate_v4(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  }

  /* "cuda/bindings/driver.pyx":19947
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 19947, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 19947, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19769
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v4(ctxCreateParams : Optional[CUctxCreateParams], unsigned int flags, dev):
 *     """ Create a CUDA context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxCreate_v4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19949
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDestroy(ctx):
 *     """ Destroy a CUDA context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_59cuCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_58cuCtxDestroy, "cuCtxDestroy(ctx)\n\nDestroy a CUDA context.\n\nDestroys the CUDA context specified by `ctx`. The context `ctx` will be\ndestroyed regardless of how many threads it is current to. It is the\nresponsibility of the calling function to ensure that no API call\nissues using `ctx` while :py:obj:`~.cuCtxDestroy()` is executing.\n\nDestroys and cleans up all resources associated with the context. It is\nthe caller's responsibility to ensure that the context or its resources\nare not accessed or passed in subsequent API calls and doing so will\nresult in undefined behavior. These resources include CUDA types\n:py:obj:`~.CUmodule`, :py:obj:`~.CUfunction`, :py:obj:`~.CUstream`,\n:py:obj:`~.CUevent`, :py:obj:`~.CUarray`, :py:obj:`~.CUmipmappedArray`,\n:py:obj:`~.CUtexObject`, :py:obj:`~.CUsurfObject`,\n:py:obj:`~.CUtexref`, :py:obj:`~.CUsurfref`,\n:py:obj:`~.CUgraphicsResource`, :py:obj:`~.CUlinkState`,\n:py:obj:`~.CUexternalMemory` and :py:obj:`~.CUexternalSemaphore`. These\nresources also include memory allocations by :py:obj:`~.cuMemAlloc()`,\n:py:obj:`~.cuMemAllocHost()`, :py:obj:`~.cuMemAllocManaged()` and\n:py:obj:`~.cuMemAllocPitch()`.\n\nIf `ctx` is current to the calling thread then `ctx` will also be\npopped from the current thread's context stack (as though\n:py:obj:`~.cuCtxPopCurrent()` were called). If `ctx` is current to\nother threads, then `ctx` will remain current to those threads, and\nattempting to access `ctx` from those threads will result in the error\n:py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`.\n\nParameters\n----------\nctx : :py:obj:`~.CUcontext`\n    Context to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:""obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`\n\nNotes\n-----\n:py:obj:`~.cuCtxDestroy()` will not destroy memory allocations by :py:obj:`~.cuMemCreate()`, :py:obj:`~.cuMemAllocAsync()` and :py:obj:`~.cuMemAllocFromPoolAsync()`. These memory allocations are not associated with any CUDA context and need to be destroyed explicitly.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_59cuCtxDestroy = {"cuCtxDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_59cuCtxDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_58cuCtxDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_59cuCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 19949, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19949, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxDestroy", 0) < (0)) __PYX_ERR(0, 19949, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxDestroy", 1, 1, 1, i); __PYX_ERR(0, 19949, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19949, __pyx_L3_error)
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 19949, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_58cuCtxDestroy(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_58cuCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxDestroy", 0);

  /* "cuda/bindings/driver.pyx":19998
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":19999
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":19998
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20000
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20001
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20000
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20003
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20003, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20004
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxDestroy(cyctx)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20004, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20005
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDestroy(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20006
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxDestroy(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxDestroy(__pyx_v_cyctx); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20006, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20005
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDestroy(cyctx)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20007
 *     with nogil:
 *         err = cydriver.cuCtxDestroy(cyctx)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20007, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19949
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDestroy(ctx):
 *     """ Destroy a CUDA context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20009
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPushCurrent(ctx):
 *     """ Pushes a context on the current CPU thread.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_61cuCtxPushCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_60cuCtxPushCurrent, "cuCtxPushCurrent(ctx)\n\nPushes a context on the current CPU thread.\n\nPushes the given context `ctx` onto the CPU thread's stack of current\ncontexts. The specified context becomes the CPU thread's current\ncontext, so all CUDA functions that operate on the current context are\naffected.\n\nThe previous current context may be made current again by calling\n:py:obj:`~.cuCtxDestroy()` or :py:obj:`~.cuCtxPopCurrent()`.\n\nParameters\n----------\nctx : :py:obj:`~.CUcontext`\n    Context to push\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_61cuCtxPushCurrent = {"cuCtxPushCurrent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_61cuCtxPushCurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_60cuCtxPushCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_61cuCtxPushCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxPushCurrent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20009, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20009, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxPushCurrent", 0) < (0)) __PYX_ERR(0, 20009, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxPushCurrent", 1, 1, 1, i); __PYX_ERR(0, 20009, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20009, __pyx_L3_error)
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxPushCurrent", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20009, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxPushCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_60cuCtxPushCurrent(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_60cuCtxPushCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxPushCurrent", 0);

  /* "cuda/bindings/driver.pyx":20036
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20037
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20036
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20038
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20039
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20038
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20041
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20041, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20042
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxPushCurrent(cyctx)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20042, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20043
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxPushCurrent(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20044
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxPushCurrent(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxPushCurrent(__pyx_v_cyctx); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20044, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20043
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxPushCurrent(cyctx)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20045
 *     with nogil:
 *         err = cydriver.cuCtxPushCurrent(cyctx)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20045, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20009
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPushCurrent(ctx):
 *     """ Pushes a context on the current CPU thread.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxPushCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20047
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPopCurrent():
 *     """ Pops the current CUDA context from the current CPU thread.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_63cuCtxPopCurrent(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_62cuCtxPopCurrent, "cuCtxPopCurrent()\n\nPops the current CUDA context from the current CPU thread.\n\nPops the current CUDA context from the CPU thread and passes back the\nold context handle in `*pctx`. That context may then be made current to\na different CPU thread by calling :py:obj:`~.cuCtxPushCurrent()`.\n\nIf a context was current to the CPU thread before\n:py:obj:`~.cuCtxCreate()` or :py:obj:`~.cuCtxPushCurrent()` was called,\nthis function makes that context current to the CPU thread again.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\npctx : :py:obj:`~.CUcontext`\n    Returned popped context handle\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_63cuCtxPopCurrent = {"cuCtxPopCurrent", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_63cuCtxPopCurrent, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_62cuCtxPopCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_63cuCtxPopCurrent(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxPopCurrent (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_62cuCtxPopCurrent(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_62cuCtxPopCurrent(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxPopCurrent", 0);

  /* "cuda/bindings/driver.pyx":20070
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`
 *     """
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxPopCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20070, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":20071
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxPopCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20072
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
 *         err = cydriver.cuCtxPopCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxPopCurrent(((CUcontext *)__pyx_v_pctx->_pvt_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20072, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":20071
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxPopCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20073
 *     with nogil:
 *         err = cydriver.cuCtxPopCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":20074
 *         err = cydriver.cuCtxPopCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pctx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 20074, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 20074, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20073
 *     with nogil:
 *         err = cydriver.cuCtxPopCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  }

  /* "cuda/bindings/driver.pyx":20075
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20075, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 20075, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20047
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPopCurrent():
 *     """ Pops the current CUDA context from the current CPU thread.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxPopCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20077
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCurrent(ctx):
 *     """ Binds the specified CUDA context to the calling CPU thread.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_65cuCtxSetCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_64cuCtxSetCurrent, "cuCtxSetCurrent(ctx)\n\nBinds the specified CUDA context to the calling CPU thread.\n\nBinds the specified CUDA context to the calling CPU thread. If `ctx` is\nNULL then the CUDA context previously bound to the calling CPU thread\nis unbound and :py:obj:`~.CUDA_SUCCESS` is returned.\n\nIf there exists a CUDA context stack on the calling CPU thread, this\nwill replace the top of that stack with `ctx`. If `ctx` is NULL then\nthis will be equivalent to popping the top of the calling CPU thread's\nCUDA context stack (or a no-op if the calling CPU thread's CUDA context\nstack is empty).\n\nParameters\n----------\nctx : :py:obj:`~.CUcontext`\n    Context to bind to the calling CPU thread\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cudaSetDevice`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_65cuCtxSetCurrent = {"cuCtxSetCurrent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_65cuCtxSetCurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_64cuCtxSetCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_65cuCtxSetCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxSetCurrent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20077, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20077, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxSetCurrent", 0) < (0)) __PYX_ERR(0, 20077, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxSetCurrent", 1, 1, 1, i); __PYX_ERR(0, 20077, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20077, __pyx_L3_error)
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetCurrent", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20077, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_64cuCtxSetCurrent(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_64cuCtxSetCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxSetCurrent", 0);

  /* "cuda/bindings/driver.pyx":20106
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20107
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20106
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20108
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20109
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20108
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20111
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20111, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20112
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxSetCurrent(cyctx)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20112, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20113
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetCurrent(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20114
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxSetCurrent(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSetCurrent(__pyx_v_cyctx); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20114, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20113
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetCurrent(cyctx)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20115
 *     with nogil:
 *         err = cydriver.cuCtxSetCurrent(cyctx)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20115, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20077
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCurrent(ctx):
 *     """ Binds the specified CUDA context to the calling CPU thread.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20117
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCurrent():
 *     """ Returns the CUDA context bound to the calling CPU thread.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_67cuCtxGetCurrent(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_66cuCtxGetCurrent, "cuCtxGetCurrent()\n\nReturns the CUDA context bound to the calling CPU thread.\n\nReturns in `*pctx` the CUDA context bound to the calling CPU thread. If\nno context is bound to the calling CPU thread then `*pctx` is set to\nNULL and :py:obj:`~.CUDA_SUCCESS` is returned.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`,\npctx : :py:obj:`~.CUcontext`\n    Returned context handle\n\nSee Also\n--------\n:py:obj:`~.cuCtxSetCurrent`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cudaGetDevice`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_67cuCtxGetCurrent = {"cuCtxGetCurrent", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_67cuCtxGetCurrent, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_66cuCtxGetCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_67cuCtxGetCurrent(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetCurrent (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_66cuCtxGetCurrent(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_66cuCtxGetCurrent(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetCurrent", 0);

  /* "cuda/bindings/driver.pyx":20136
 *     :py:obj:`~.cuCtxSetCurrent`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cudaGetDevice`
 *     """
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20136, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":20137
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20138
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
 *         err = cydriver.cuCtxGetCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetCurrent(((CUcontext *)__pyx_v_pctx->_pvt_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20138, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":20137
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20139
 *     with nogil:
 *         err = cydriver.cuCtxGetCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":20140
 *         err = cydriver.cuCtxGetCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pctx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 20140, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 20140, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20139
 *     with nogil:
 *         err = cydriver.cuCtxGetCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  }

  /* "cuda/bindings/driver.pyx":20141
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20141, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 20141, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20117
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCurrent():
 *     """ Returns the CUDA context bound to the calling CPU thread.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20143
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice():
 *     """ Returns the device handle for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_69cuCtxGetDevice(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_68cuCtxGetDevice, "cuCtxGetDevice()\n\nReturns the device handle for the current context.\n\nReturns in `*device` the handle of the current context's device.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\ndevice : :py:obj:`~.CUdevice`\n    Returned device handle for the current context\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaGetDevice`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_69cuCtxGetDevice = {"cuCtxGetDevice", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_69cuCtxGetDevice, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_68cuCtxGetDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_69cuCtxGetDevice(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetDevice (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_68cuCtxGetDevice(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_68cuCtxGetDevice(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_device = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetDevice", 0);

  /* "cuda/bindings/driver.pyx":20160
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaGetDevice`
 *     """
 *     cdef CUdevice device = CUdevice()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetDevice(<cydriver.CUdevice*>device._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20160, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_device = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":20161
 *     """
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetDevice(<cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20162
 *     cdef CUdevice device = CUdevice()
 *     with nogil:
 *         err = cydriver.cuCtxGetDevice(<cydriver.CUdevice*>device._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetDevice(((CUdevice *)__pyx_v_device->_pvt_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20162, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":20161
 *     """
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetDevice(<cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20163
 *     with nogil:
 *         err = cydriver.cuCtxGetDevice(<cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":20164
 *         err = cydriver.cuCtxGetDevice(<cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], device)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 20164, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 20164, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20163
 *     with nogil:
 *         err = cydriver.cuCtxGetDevice(<cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)
*/
  }

  /* "cuda/bindings/driver.pyx":20165
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20165, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_device)) != (0)) __PYX_ERR(0, 20165, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20143
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice():
 *     """ Returns the device handle for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_device);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20167
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetFlags():
 *     """ Returns the flags for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_71cuCtxGetFlags(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_70cuCtxGetFlags, "cuCtxGetFlags()\n\nReturns the flags for the current context.\n\nReturns in `*flags` the flags of the current context. See\n:py:obj:`~.cuCtxCreate` for flag values.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nflags : unsigned int\n    Pointer to store flags of current context\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuCtxSetFlags`, :py:obj:`~.cudaGetDeviceFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_71cuCtxGetFlags = {"cuCtxGetFlags", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_71cuCtxGetFlags, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_70cuCtxGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_71cuCtxGetFlags(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetFlags (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_70cuCtxGetFlags(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_70cuCtxGetFlags(CYTHON_UNUSED PyObject *__pyx_self) {
  unsigned int __pyx_v_flags;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetFlags", 0);

  /* "cuda/bindings/driver.pyx":20185
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuCtxSetFlags`, :py:obj:`~.cudaGetDeviceFlags`
 *     """
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetFlags(&flags)
*/
  __pyx_v_flags = 0;

  /* "cuda/bindings/driver.pyx":20186
 *     """
 *     cdef unsigned int flags = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetFlags(&flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20187
 *     cdef unsigned int flags = 0
 *     with nogil:
 *         err = cydriver.cuCtxGetFlags(&flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetFlags((&__pyx_v_flags)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20187, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20186
 *     """
 *     cdef unsigned int flags = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetFlags(&flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20188
 *     with nogil:
 *         err = cydriver.cuCtxGetFlags(&flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":20189
 *         err = cydriver.cuCtxGetFlags(&flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], flags)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 20189, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 20189, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20188
 *     with nogil:
 *         err = cydriver.cuCtxGetFlags(&flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)
*/
  }

  /* "cuda/bindings/driver.pyx":20190
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyLong_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20190, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 20190, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20167
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetFlags():
 *     """ Returns the flags for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20192
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetFlags(unsigned int flags):
 *     """ Sets the flags for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_73cuCtxSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_72cuCtxSetFlags, "cuCtxSetFlags(unsigned int flags)\n\nSets the flags for the current context.\n\nSets the flags for the current context overwriting previously set ones.\nSee :py:obj:`~.cuDevicePrimaryCtxSetFlags` for flag values.\n\nParameters\n----------\nflags : unsigned int\n    Flags to set on the current context\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cudaGetDeviceFlags`, :py:obj:`~.cuDevicePrimaryCtxSetFlags`,");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_73cuCtxSetFlags = {"cuCtxSetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_73cuCtxSetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_72cuCtxSetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_73cuCtxSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxSetFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20192, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20192, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxSetFlags", 0) < (0)) __PYX_ERR(0, 20192, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxSetFlags", 1, 1, 1, i); __PYX_ERR(0, 20192, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20192, __pyx_L3_error)
    }
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 20193, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20192, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_72cuCtxSetFlags(__pyx_self, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_72cuCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxSetFlags", 0);

  /* "cuda/bindings/driver.pyx":20213
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cudaGetDeviceFlags`, :py:obj:`~.cuDevicePrimaryCtxSetFlags`,
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetFlags(flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20214
 *     """
 *     with nogil:
 *         err = cydriver.cuCtxSetFlags(flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSetFlags(__pyx_v_flags); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20214, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20213
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cudaGetDeviceFlags`, :py:obj:`~.cuDevicePrimaryCtxSetFlags`,
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetFlags(flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20215
 *     with nogil:
 *         err = cydriver.cuCtxSetFlags(flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 20215, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20192
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetFlags(unsigned int flags):
 *     """ Sets the flags for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20217
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetId(ctx):
 *     """ Returns the unique Id associated with the context supplied.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_75cuCtxGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_74cuCtxGetId, "cuCtxGetId(ctx)\n\nReturns the unique Id associated with the context supplied.\n\nReturns in `ctxId` the unique Id which is associated with a given\ncontext. The Id is unique for the life of the program for this instance\nof CUDA. If context is supplied as NULL and there is one current, the\nId of the current context is returned.\n\nParameters\n----------\nctx : :py:obj:`~.CUcontext`\n    Context for which to obtain the Id\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nctxId : unsigned long long\n    Pointer to store the Id of the context\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPushCurrent`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_75cuCtxGetId = {"cuCtxGetId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_75cuCtxGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_74cuCtxGetId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_75cuCtxGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20217, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20217, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxGetId", 0) < (0)) __PYX_ERR(0, 20217, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxGetId", 1, 1, 1, i); __PYX_ERR(0, 20217, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20217, __pyx_L3_error)
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20217, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_74cuCtxGetId(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_74cuCtxGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  unsigned PY_LONG_LONG __pyx_v_ctxId;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetId", 0);

  /* "cuda/bindings/driver.pyx":20243
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20244
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20243
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20245
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20246
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20245
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20248
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef unsigned long long ctxId = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20248, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20249
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef unsigned long long ctxId = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20249, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20250
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef unsigned long long ctxId = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetId(cyctx, &ctxId)
*/
  __pyx_v_ctxId = 0;

  /* "cuda/bindings/driver.pyx":20251
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef unsigned long long ctxId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetId(cyctx, &ctxId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20252
 *     cdef unsigned long long ctxId = 0
 *     with nogil:
 *         err = cydriver.cuCtxGetId(cyctx, &ctxId)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetId(__pyx_v_cyctx, (&__pyx_v_ctxId)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20252, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20251
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef unsigned long long ctxId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetId(cyctx, &ctxId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20253
 *     with nogil:
 *         err = cydriver.cuCtxGetId(cyctx, &ctxId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ctxId)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20254
 *         err = cydriver.cuCtxGetId(cyctx, &ctxId)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], ctxId)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20254, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 20254, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20253
 *     with nogil:
 *         err = cydriver.cuCtxGetId(cyctx, &ctxId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ctxId)
*/
  }

  /* "cuda/bindings/driver.pyx":20255
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ctxId)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_ctxId); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 20255, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 20255, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20217
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetId(ctx):
 *     """ Returns the unique Id associated with the context supplied.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20257
 *     return (_dict_CUresult[err], ctxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSynchronize():
 *     """ Block for the current context's tasks to complete.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_77cuCtxSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_76cuCtxSynchronize, "cuCtxSynchronize()\n\nBlock for the current context's tasks to complete.\n\nBlocks until the current context has completed all preceding requested\ntasks. If the current context is the primary context, green contexts\nthat have been created will also be synchronized.\n:py:obj:`~.cuCtxSynchronize()` returns an error if one of the preceding\ntasks failed. If the context was created with the\n:py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC` flag, the CPU thread will block\nuntil the GPU context has finished its work.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cudaDeviceSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_77cuCtxSynchronize = {"cuCtxSynchronize", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_77cuCtxSynchronize, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_76cuCtxSynchronize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_77cuCtxSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxSynchronize (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_76cuCtxSynchronize(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_76cuCtxSynchronize(CYTHON_UNUSED PyObject *__pyx_self) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxSynchronize", 0);

  /* "cuda/bindings/driver.pyx":20278
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cudaDeviceSynchronize`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSynchronize()
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20279
 *     """
 *     with nogil:
 *         err = cydriver.cuCtxSynchronize()             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSynchronize(); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20279, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20278
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cudaDeviceSynchronize`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSynchronize()
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20280
 *     with nogil:
 *         err = cydriver.cuCtxSynchronize()
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 20280, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20257
 *     return (_dict_CUresult[err], ctxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSynchronize():
 *     """ Block for the current context's tasks to complete.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20282
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetLimit(limit not None : CUlimit, size_t value):
 *     """ Set resource limits.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_79cuCtxSetLimit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_78cuCtxSetLimit, "cuCtxSetLimit(limit: CUlimit, size_t value)\n\nSet resource limits.\n\nSetting `limit` to `value` is a request by the application to update\nthe current limit maintained by the context. The driver is free to\nmodify the requested value to meet h/w requirements (this could be\nclamping to minimum or maximum values, rounding up to nearest element\nsize, etc). The application can use :py:obj:`~.cuCtxGetLimit()` to find\nout exactly what the limit has been set to.\n\nSetting each :py:obj:`~.CUlimit` has its own specific restrictions, so\neach is discussed here.\n\n- :py:obj:`~.CU_LIMIT_STACK_SIZE` controls the stack size in bytes of\n  each GPU thread. The driver automatically increases the per-thread\n  stack size for each kernel launch as needed. This size isn't reset\n  back to the original value after each launch. Setting this value will\n  take effect immediately, and if necessary, the device will block\n  until all preceding requested tasks are complete.\n\n- :py:obj:`~.CU_LIMIT_PRINTF_FIFO_SIZE` controls the size in bytes of\n  the FIFO used by the :py:obj:`~.printf()` device system call. Setting\n  :py:obj:`~.CU_LIMIT_PRINTF_FIFO_SIZE` must be performed before\n  launching any kernel that uses the :py:obj:`~.printf()` device system\n  call, otherwise :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be\n  returned.\n\n- :py:obj:`~.CU_LIMIT_MALLOC_HEAP_SIZE` controls the size in bytes of\n  the heap used by the :py:obj:`~.malloc()` and :py:obj:`~.free()`\n  device system calls. Setting :py:obj:`~.CU_LIMIT_MALLOC_HEAP_SIZE`\n  must be performed before launching any kernel that uses the\n  :py:obj:`~.malloc()` or :py:obj:`~.free()` device system calls,\n  otherwise :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned.\n\n- :py:obj:`~.CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH` controls the maximum\n  nesting depth of a grid at which a thread can safely call\n  :py:obj:`~.cudaDeviceSynchronize()`. Setting this limit must be\n  performed before any launch of a kernel that uses the dev""ice runtime\n  and calls :py:obj:`~.cudaDeviceSynchronize()` above the default sync\n  depth, two levels of grids. Calls to\n  :py:obj:`~.cudaDeviceSynchronize()` will fail with error code\n  :py:obj:`~.cudaErrorSyncDepthExceeded` if the limitation is violated.\n  This limit can be set smaller than the default or up the maximum\n  launch depth of 24. When setting this limit, keep in mind that\n  additional levels of sync depth require the driver to reserve large\n  amounts of device memory which can no longer be used for user\n  allocations. If these reservations of device memory fail,\n  :py:obj:`~.cuCtxSetLimit()` will return\n  :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, and the limit can be reset to a\n  lower value. This limit is only applicable to devices of compute\n  capability < 9.0. Attempting to set this limit on devices of other\n  compute capability versions will result in the error\n  :py:obj:`~.CUDA_ERROR_UNSUPPORTED_LIMIT` being returned.\n\n- :py:obj:`~.CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT` controls the\n  maximum number of outstanding device runtime launches that can be\n  made from the current context. A grid is outstanding from the point\n  of launch up until the grid is known to have been completed. Device\n  runtime launches which violate this limitation fail and return\n  :py:obj:`~.cudaErrorLaunchPendingCountExceeded` when\n  :py:obj:`~.cudaGetLastError()` is called after launch. If more\n  pending launches than the default (2048 launches) are needed for a\n  module using the device runtime, this limit can be increased. Keep in\n  mind that being able to sustain additional pending launches will\n  require the driver to reserve larger amounts of device memory upfront\n  which can no longer be used for allocations. If these reservations\n  fail, :py:obj:`~.cuCtxSetLimit()` will return\n  :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, and the limit can be reset to a\n  lower value. This limit is only applicable to devices of compute\n  capability 3.5 and ""higher. Attempting to set this limit on devices of\n  compute capability less than 3.5 will result in the error\n  :py:obj:`~.CUDA_ERROR_UNSUPPORTED_LIMIT` being returned.\n\n- :py:obj:`~.CU_LIMIT_MAX_L2_FETCH_GRANULARITY` controls the L2 cache\n  fetch granularity. Values can range from 0B to 128B. This is purely a\n  performance hint and it can be ignored or clamped depending on the\n  platform.\n\n- :py:obj:`~.CU_LIMIT_PERSISTING_L2_CACHE_SIZE` controls size in bytes\n  available for persisting L2 cache. This is purely a performance hint\n  and it can be ignored or clamped depending on the platform.\n\nParameters\n----------\nlimit : :py:obj:`~.CUlimit`\n    Limit to set\nvalue : size_t\n    Size of limit\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_LIMIT`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaDeviceSetLimit`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_79cuCtxSetLimit = {"cuCtxSetLimit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_79cuCtxSetLimit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_78cuCtxSetLimit};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_79cuCtxSetLimit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_limit = 0;
  size_t __pyx_v_value;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxSetLimit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_limit,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20282, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 20282, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20282, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxSetLimit", 0) < (0)) __PYX_ERR(0, 20282, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxSetLimit", 1, 2, 2, i); __PYX_ERR(0, 20282, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20282, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 20282, __pyx_L3_error)
    }
    __pyx_v_limit = values[0];
    __pyx_v_value = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_value == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20283, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetLimit", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 20282, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_limit) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "limit"); __PYX_ERR(0, 20283, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_78cuCtxSetLimit(__pyx_self, __pyx_v_limit, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_78cuCtxSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value) {
  CUlimit __pyx_v_cylimit;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUlimit __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxSetLimit", 0);

  /* "cuda/bindings/driver.pyx":20381
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaDeviceSetLimit`
 *     """
 *     cdef cydriver.CUlimit cylimit = limit.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxSetLimit(cylimit, value)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_limit, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlimit_enum)__Pyx_PyLong_As_enum__CUlimit_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cylimit = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":20382
 *     """
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetLimit(cylimit, value)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20383
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:
 *         err = cydriver.cuCtxSetLimit(cylimit, value)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSetLimit(__pyx_v_cylimit, __pyx_v_value); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20383, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":20382
 *     """
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetLimit(cylimit, value)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20384
 *     with nogil:
 *         err = cydriver.cuCtxSetLimit(cylimit, value)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 20384, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20282
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetLimit(limit not None : CUlimit, size_t value):
 *     """ Set resource limits.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20386
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetLimit(limit not None : CUlimit):
 *     """ Returns resource limits.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_81cuCtxGetLimit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_80cuCtxGetLimit, "cuCtxGetLimit(limit: CUlimit)\n\nReturns resource limits.\n\nReturns in `*pvalue` the current size of `limit`. The supported\n:py:obj:`~.CUlimit` values are:\n\n- :py:obj:`~.CU_LIMIT_STACK_SIZE`: stack size in bytes of each GPU\n  thread.\n\n- :py:obj:`~.CU_LIMIT_PRINTF_FIFO_SIZE`: size in bytes of the FIFO used\n  by the :py:obj:`~.printf()` device system call.\n\n- :py:obj:`~.CU_LIMIT_MALLOC_HEAP_SIZE`: size in bytes of the heap used\n  by the :py:obj:`~.malloc()` and :py:obj:`~.free()` device system\n  calls.\n\n- :py:obj:`~.CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH`: maximum grid depth at\n  which a thread can issue the device runtime call\n  :py:obj:`~.cudaDeviceSynchronize()` to wait on child grid launches to\n  complete.\n\n- :py:obj:`~.CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT`: maximum number\n  of outstanding device runtime launches that can be made from this\n  context.\n\n- :py:obj:`~.CU_LIMIT_MAX_L2_FETCH_GRANULARITY`: L2 cache fetch\n  granularity.\n\n- :py:obj:`~.CU_LIMIT_PERSISTING_L2_CACHE_SIZE`: Persisting L2 cache\n  size in bytes\n\nParameters\n----------\nlimit : :py:obj:`~.CUlimit`\n    Limit to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_LIMIT`\npvalue : int\n    Returned size of limit\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaDeviceGetLimit`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_81cuCtxGetLimit = {"cuCtxGetLimit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_81cuCtxGetLimit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_80cuCtxGetLimit};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_81cuCtxGetLimit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_limit = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetLimit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_limit,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20386, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20386, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxGetLimit", 0) < (0)) __PYX_ERR(0, 20386, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxGetLimit", 1, 1, 1, i); __PYX_ERR(0, 20386, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20386, __pyx_L3_error)
    }
    __pyx_v_limit = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetLimit", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20386, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_limit) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "limit"); __PYX_ERR(0, 20387, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_80cuCtxGetLimit(__pyx_self, __pyx_v_limit);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_80cuCtxGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit) {
  size_t __pyx_v_pvalue;
  CUlimit __pyx_v_cylimit;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUlimit __pyx_t_2;
  CUresult __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetLimit", 0);

  /* "cuda/bindings/driver.pyx":20434
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaDeviceGetLimit`
 *     """
 *     cdef size_t pvalue = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:
*/
  __pyx_v_pvalue = 0;

  /* "cuda/bindings/driver.pyx":20435
 *     """
 *     cdef size_t pvalue = 0
 *     cdef cydriver.CUlimit cylimit = limit.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetLimit(&pvalue, cylimit)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_limit, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlimit_enum)__Pyx_PyLong_As_enum__CUlimit_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cylimit = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":20436
 *     cdef size_t pvalue = 0
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetLimit(&pvalue, cylimit)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20437
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:
 *         err = cydriver.cuCtxGetLimit(&pvalue, cylimit)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetLimit((&__pyx_v_pvalue), __pyx_v_cylimit); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20437, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":20436
 *     cdef size_t pvalue = 0
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetLimit(&pvalue, cylimit)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20438
 *     with nogil:
 *         err = cydriver.cuCtxGetLimit(&pvalue, cylimit)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pvalue)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":20439
 *         err = cydriver.cuCtxGetLimit(&pvalue, cylimit)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pvalue)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 20439, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_None) != (0)) __PYX_ERR(0, 20439, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20438
 *     with nogil:
 *         err = cydriver.cuCtxGetLimit(&pvalue, cylimit)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pvalue)
*/
  }

  /* "cuda/bindings/driver.pyx":20440
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pvalue)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v_pvalue); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20440, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 20440, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20386
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetLimit(limit not None : CUlimit):
 *     """ Returns resource limits.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20442
 *     return (_dict_CUresult[err], pvalue)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCacheConfig():
 *     """ Returns the preferred cache configuration for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_83cuCtxGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_82cuCtxGetCacheConfig, "cuCtxGetCacheConfig()\n\nReturns the preferred cache configuration for the current context.\n\nOn devices where the L1 cache and shared memory use the same hardware\nresources, this function returns through `pconfig` the preferred cache\nconfiguration for the current context. This is only a preference. The\ndriver will use the requested configuration if possible, but it is free\nto choose a different configuration if required to execute functions.\n\nThis will return a `pconfig` of :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE`\non devices where the size of the L1 cache and shared memory are fixed.\n\nThe supported cache configurations are:\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE`: no preference for shared\n  memory or L1 (default)\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_SHARED`: prefer larger shared memory\n  and smaller L1 cache\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_L1`: prefer larger L1 cache and\n  smaller shared memory\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_EQUAL`: prefer equal sized L1 cache\n  and shared memory\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npconfig : :py:obj:`~.CUfunc_cache`\n    Returned cache configuration\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cudaDeviceGetCacheConfig`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_83cuCtxGetCacheConfig = {"cuCtxGetCacheConfig", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_83cuCtxGetCacheConfig, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_82cuCtxGetCacheConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_83cuCtxGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetCacheConfig (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_82cuCtxGetCacheConfig(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_82cuCtxGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  CUfunc_cache __pyx_v_pconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetCacheConfig", 0);

  /* "cuda/bindings/driver.pyx":20481
 *     """
 *     cdef cydriver.CUfunc_cache pconfig
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetCacheConfig(&pconfig)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20482
 *     cdef cydriver.CUfunc_cache pconfig
 *     with nogil:
 *         err = cydriver.cuCtxGetCacheConfig(&pconfig)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetCacheConfig((&__pyx_v_pconfig)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20482, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20481
 *     """
 *     cdef cydriver.CUfunc_cache pconfig
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetCacheConfig(&pconfig)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20483
 *     with nogil:
 *         err = cydriver.cuCtxGetCacheConfig(&pconfig)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfunc_cache(pconfig))
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":20484
 *         err = cydriver.cuCtxGetCacheConfig(&pconfig)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUfunc_cache(pconfig))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 20484, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 20484, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20483
 *     with nogil:
 *         err = cydriver.cuCtxGetCacheConfig(&pconfig)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfunc_cache(pconfig))
*/
  }

  /* "cuda/bindings/driver.pyx":20485
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfunc_cache(pconfig))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUfunc_cache); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_enum__CUfunc_cache_enum(__pyx_v_pconfig); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20485, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 20485, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20442
 *     return (_dict_CUresult[err], pvalue)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCacheConfig():
 *     """ Returns the preferred cache configuration for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20487
 *     return (_dict_CUresult[err], CUfunc_cache(pconfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCacheConfig(config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_85cuCtxSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_84cuCtxSetCacheConfig, "cuCtxSetCacheConfig(config: CUfunc_cache)\n\nSets the preferred cache configuration for the current context.\n\nOn devices where the L1 cache and shared memory use the same hardware\nresources, this sets through `config` the preferred cache configuration\nfor the current context. This is only a preference. The driver will use\nthe requested configuration if possible, but it is free to choose a\ndifferent configuration if required to execute the function. Any\nfunction preference set via :py:obj:`~.cuFuncSetCacheConfig()` or\n:py:obj:`~.cuKernelSetCacheConfig()` will be preferred over this\ncontext-wide setting. Setting the context-wide cache configuration to\n:py:obj:`~.CU_FUNC_CACHE_PREFER_NONE` will cause subsequent kernel\nlaunches to prefer to not change the cache configuration unless\nrequired to launch the kernel.\n\nThis setting does nothing on devices where the size of the L1 cache and\nshared memory are fixed.\n\nLaunching a kernel with a different preference than the most recent\npreference setting may insert a device-side synchronization point.\n\nThe supported cache configurations are:\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE`: no preference for shared\n  memory or L1 (default)\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_SHARED`: prefer larger shared memory\n  and smaller L1 cache\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_L1`: prefer larger L1 cache and\n  smaller shared memory\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_EQUAL`: prefer equal sized L1 cache\n  and shared memory\n\nParameters\n----------\nconfig : :py:obj:`~.CUfunc_cache`\n    Requested cache configuration\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`"", :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cudaDeviceSetCacheConfig`, :py:obj:`~.cuKernelSetCacheConfig`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_85cuCtxSetCacheConfig = {"cuCtxSetCacheConfig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_85cuCtxSetCacheConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_84cuCtxSetCacheConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_85cuCtxSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_config = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxSetCacheConfig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_config,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20487, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20487, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxSetCacheConfig", 0) < (0)) __PYX_ERR(0, 20487, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxSetCacheConfig", 1, 1, 1, i); __PYX_ERR(0, 20487, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20487, __pyx_L3_error)
    }
    __pyx_v_config = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetCacheConfig", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20487, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_config) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "config"); __PYX_ERR(0, 20488, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_84cuCtxSetCacheConfig(__pyx_self, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_84cuCtxSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config) {
  CUfunc_cache __pyx_v_cyconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUfunc_cache __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxSetCacheConfig", 0);

  /* "cuda/bindings/driver.pyx":20537
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cudaDeviceSetCacheConfig`, :py:obj:`~.cuKernelSetCacheConfig`
 *     """
 *     cdef cydriver.CUfunc_cache cyconfig = config.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxSetCacheConfig(cyconfig)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUfunc_cache_enum)__Pyx_PyLong_As_enum__CUfunc_cache_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyconfig = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":20538
 *     """
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetCacheConfig(cyconfig)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20539
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:
 *         err = cydriver.cuCtxSetCacheConfig(cyconfig)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSetCacheConfig(__pyx_v_cyconfig); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20539, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":20538
 *     """
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetCacheConfig(cyconfig)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20540
 *     with nogil:
 *         err = cydriver.cuCtxSetCacheConfig(cyconfig)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 20540, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20487
 *     return (_dict_CUresult[err], CUfunc_cache(pconfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCacheConfig(config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20542
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetApiVersion(ctx):
 *     """ Gets the context's API version.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_87cuCtxGetApiVersion(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_86cuCtxGetApiVersion, "cuCtxGetApiVersion(ctx)\n\nGets the context's API version.\n\nReturns a version number in `version` corresponding to the capabilities\nof the context (e.g. 3010 or 3020), which library developers can use to\ndirect callers to a specific API version. If `ctx` is NULL, returns the\nAPI version used to create the currently bound context.\n\nNote that new API versions are only introduced when context\ncapabilities are changed that break binary compatibility, so the API\nversion and driver version may be different. For example, it is valid\nfor the API version to be 3020 while the driver version is 4020.\n\nParameters\n----------\nctx : :py:obj:`~.CUcontext`\n    Context to check\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\nversion : unsigned int\n    Pointer to version\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_87cuCtxGetApiVersion = {"cuCtxGetApiVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_87cuCtxGetApiVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_86cuCtxGetApiVersion};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_87cuCtxGetApiVersion(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetApiVersion (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20542, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20542, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxGetApiVersion", 0) < (0)) __PYX_ERR(0, 20542, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxGetApiVersion", 1, 1, 1, i); __PYX_ERR(0, 20542, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20542, __pyx_L3_error)
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetApiVersion", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20542, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetApiVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_86cuCtxGetApiVersion(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_86cuCtxGetApiVersion(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  unsigned int __pyx_v_version;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetApiVersion", 0);

  /* "cuda/bindings/driver.pyx":20573
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20574
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20573
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20575
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20576
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20575
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20578
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef unsigned int version = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20578, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20579
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef unsigned int version = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20579, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20580
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef unsigned int version = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetApiVersion(cyctx, &version)
*/
  __pyx_v_version = 0;

  /* "cuda/bindings/driver.pyx":20581
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef unsigned int version = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetApiVersion(cyctx, &version)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20582
 *     cdef unsigned int version = 0
 *     with nogil:
 *         err = cydriver.cuCtxGetApiVersion(cyctx, &version)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetApiVersion(__pyx_v_cyctx, (&__pyx_v_version)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20582, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20581
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef unsigned int version = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetApiVersion(cyctx, &version)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20583
 *     with nogil:
 *         err = cydriver.cuCtxGetApiVersion(cyctx, &version)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], version)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20584
 *         err = cydriver.cuCtxGetApiVersion(cyctx, &version)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], version)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20584, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 20584, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20583
 *     with nogil:
 *         err = cydriver.cuCtxGetApiVersion(cyctx, &version)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], version)
*/
  }

  /* "cuda/bindings/driver.pyx":20585
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], version)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_version); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 20585, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 20585, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20542
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetApiVersion(ctx):
 *     """ Gets the context's API version.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetApiVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20587
 *     return (_dict_CUresult[err], version)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetStreamPriorityRange():
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_89cuCtxGetStreamPriorityRange(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_88cuCtxGetStreamPriorityRange, "cuCtxGetStreamPriorityRange()\n\nReturns numerical values that correspond to the least and greatest stream priorities.\n\nReturns in `*leastPriority` and `*greatestPriority` the numerical\nvalues that correspond to the least and greatest stream priorities\nrespectively. Stream priorities follow a convention where lower numbers\nimply greater priorities. The range of meaningful stream priorities is\ngiven by [`*greatestPriority`, `*leastPriority`]. If the user attempts\nto create a stream with a priority value that is outside the meaningful\nrange as specified by this API, the priority is automatically clamped\ndown or up to either `*leastPriority` or `*greatestPriority`\nrespectively. See :py:obj:`~.cuStreamCreateWithPriority` for details on\ncreating a priority stream. A NULL may be passed in for\n`*leastPriority` or `*greatestPriority` if the value is not desired.\n\nThis function will return '0' in both `*leastPriority` and\n`*greatestPriority` if the current context's device does not support\nstream priorities (see :py:obj:`~.cuDeviceGetAttribute`).\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nleastPriority : int\n    Pointer to an int in which the numerical value for least stream\n    priority is returned\ngreatestPriority : int\n    Pointer to an int in which the numerical value for greatest stream\n    priority is returned\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaDeviceGetStreamPriorityRange`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_89cuCtxGetStreamPriorityRange = {"cuCtxGetStreamPriorityRange", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_89cuCtxGetStreamPriorityRange, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_88cuCtxGetStreamPriorityRange};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_89cuCtxGetStreamPriorityRange(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetStreamPriorityRange (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_88cuCtxGetStreamPriorityRange(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_88cuCtxGetStreamPriorityRange(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_leastPriority;
  int __pyx_v_greatestPriority;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetStreamPriorityRange", 0);

  /* "cuda/bindings/driver.pyx":20622
 *     :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaDeviceGetStreamPriorityRange`
 *     """
 *     cdef int leastPriority = 0             # <<<<<<<<<<<<<<
 *     cdef int greatestPriority = 0
 *     with nogil:
*/
  __pyx_v_leastPriority = 0;

  /* "cuda/bindings/driver.pyx":20623
 *     """
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
*/
  __pyx_v_greatestPriority = 0;

  /* "cuda/bindings/driver.pyx":20624
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20625
 *     cdef int greatestPriority = 0
 *     with nogil:
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetStreamPriorityRange((&__pyx_v_leastPriority), (&__pyx_v_greatestPriority)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20625, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20624
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20626
 *     with nogil:
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], leastPriority, greatestPriority)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":20627
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], leastPriority, greatestPriority)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 20627, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 20627, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None) != (0)) __PYX_ERR(0, 20627, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20626
 *     with nogil:
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], leastPriority, greatestPriority)
*/
  }

  /* "cuda/bindings/driver.pyx":20628
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], leastPriority, greatestPriority)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_leastPriority); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_greatestPriority); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20628, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 20628, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4) != (0)) __PYX_ERR(0, 20628, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20587
 *     return (_dict_CUresult[err], version)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetStreamPriorityRange():
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetStreamPriorityRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20630
 *     return (_dict_CUresult[err], leastPriority, greatestPriority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxResetPersistingL2Cache():
 *     """ Resets all persisting lines in cache to normal status.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_91cuCtxResetPersistingL2Cache(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_90cuCtxResetPersistingL2Cache, "cuCtxResetPersistingL2Cache()\n\nResets all persisting lines in cache to normal status.\n\n:py:obj:`~.cuCtxResetPersistingL2Cache` Resets all persisting lines in\ncache to normal status. Takes effect on function return.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.CUaccessPolicyWindow`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_91cuCtxResetPersistingL2Cache = {"cuCtxResetPersistingL2Cache", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_91cuCtxResetPersistingL2Cache, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_90cuCtxResetPersistingL2Cache};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_91cuCtxResetPersistingL2Cache(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxResetPersistingL2Cache (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_90cuCtxResetPersistingL2Cache(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_90cuCtxResetPersistingL2Cache(CYTHON_UNUSED PyObject *__pyx_self) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxResetPersistingL2Cache", 0);

  /* "cuda/bindings/driver.pyx":20646
 *     :py:obj:`~.CUaccessPolicyWindow`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxResetPersistingL2Cache()
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20647
 *     """
 *     with nogil:
 *         err = cydriver.cuCtxResetPersistingL2Cache()             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxResetPersistingL2Cache(); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20647, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20646
 *     :py:obj:`~.CUaccessPolicyWindow`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxResetPersistingL2Cache()
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20648
 *     with nogil:
 *         err = cydriver.cuCtxResetPersistingL2Cache()
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 20648, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20630
 *     return (_dict_CUresult[err], leastPriority, greatestPriority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxResetPersistingL2Cache():
 *     """ Resets all persisting lines in cache to normal status.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxResetPersistingL2Cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20650
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetExecAffinity(typename not None : CUexecAffinityType):
 *     """ Returns the execution affinity setting for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_93cuCtxGetExecAffinity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_92cuCtxGetExecAffinity, "cuCtxGetExecAffinity(typename: CUexecAffinityType)\n\nReturns the execution affinity setting for the current context.\n\nReturns in `*pExecAffinity` the current value of `typename`. The\nsupported :py:obj:`~.CUexecAffinityType` values are:\n\n- :py:obj:`~.CU_EXEC_AFFINITY_TYPE_SM_COUNT`: number of SMs the context\n  is limited to use.\n\nParameters\n----------\ntypename : :py:obj:`~.CUexecAffinityType`\n    Execution affinity type to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY`\npExecAffinity : :py:obj:`~.CUexecAffinityParam`\n    Returned execution affinity\n\nSee Also\n--------\n:py:obj:`~.CUexecAffinityParam`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_93cuCtxGetExecAffinity = {"cuCtxGetExecAffinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_93cuCtxGetExecAffinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_92cuCtxGetExecAffinity};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_93cuCtxGetExecAffinity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_typename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetExecAffinity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_typename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20650, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20650, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxGetExecAffinity", 0) < (0)) __PYX_ERR(0, 20650, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxGetExecAffinity", 1, 1, 1, i); __PYX_ERR(0, 20650, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20650, __pyx_L3_error)
    }
    __pyx_v_typename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetExecAffinity", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20650, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetExecAffinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 20651, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_92cuCtxGetExecAffinity(__pyx_self, __pyx_v_typename);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_92cuCtxGetExecAffinity(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_typename) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam *__pyx_v_pExecAffinity = 0;
  CUexecAffinityType __pyx_v_cytypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUexecAffinityType __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetExecAffinity", 0);

  /* "cuda/bindings/driver.pyx":20676
 *     :py:obj:`~.CUexecAffinityParam`
 *     """
 *     cdef CUexecAffinityParam pExecAffinity = CUexecAffinityParam()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20676, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pExecAffinity = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":20677
 *     """
 *     cdef CUexecAffinityParam pExecAffinity = CUexecAffinityParam()
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetExecAffinity(<cydriver.CUexecAffinityParam*>pExecAffinity._pvt_ptr, cytypename)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = ((enum CUexecAffinityType_enum)__Pyx_PyLong_As_enum__CUexecAffinityType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytypename = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":20678
 *     cdef CUexecAffinityParam pExecAffinity = CUexecAffinityParam()
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetExecAffinity(<cydriver.CUexecAffinityParam*>pExecAffinity._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20679
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuCtxGetExecAffinity(<cydriver.CUexecAffinityParam*>pExecAffinity._pvt_ptr, cytypename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetExecAffinity(((CUexecAffinityParam *)__pyx_v_pExecAffinity->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytypename); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20679, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":20678
 *     cdef CUexecAffinityParam pExecAffinity = CUexecAffinityParam()
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetExecAffinity(<cydriver.CUexecAffinityParam*>pExecAffinity._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20680
 *     with nogil:
 *         err = cydriver.cuCtxGetExecAffinity(<cydriver.CUexecAffinityParam*>pExecAffinity._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pExecAffinity)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":20681
 *         err = cydriver.cuCtxGetExecAffinity(<cydriver.CUexecAffinityParam*>pExecAffinity._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pExecAffinity)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 20681, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 20681, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20680
 *     with nogil:
 *         err = cydriver.cuCtxGetExecAffinity(<cydriver.CUexecAffinityParam*>pExecAffinity._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pExecAffinity)
*/
  }

  /* "cuda/bindings/driver.pyx":20682
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pExecAffinity)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20682, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pExecAffinity);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pExecAffinity);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pExecAffinity)) != (0)) __PYX_ERR(0, 20682, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20650
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetExecAffinity(typename not None : CUexecAffinityType):
 *     """ Returns the execution affinity setting for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetExecAffinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pExecAffinity);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20684
 *     return (_dict_CUresult[err], pExecAffinity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_95cuCtxRecordEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_94cuCtxRecordEvent, "cuCtxRecordEvent(hCtx, hEvent)\n\nRecords an event.\n\nCaptures in `hEvent` all the activities of the context `hCtx` at the\ntime of this call. `hEvent` and `hCtx` must be from the same CUDA\ncontext, otherwise :py:obj:`~.CUDA_ERROR_INVALID_HANDLE` will be\nreturned. Calls such as :py:obj:`~.cuEventQuery()` or\n:py:obj:`~.cuCtxWaitEvent()` will then examine or wait for completion\nof the work that was captured. Uses of `hCtx` after this call do not\nmodify `hEvent`. If the context passed to `hCtx` is the primary\ncontext, `hEvent` will capture all the activities of the primary\ncontext and its green contexts. If the context passed to `hCtx` is a\ncontext converted from green context via\n:py:obj:`~.cuCtxFromGreenCtx()`, `hEvent` will capture only the\nactivities of the green context.\n\nParameters\n----------\nhCtx : :py:obj:`~.CUcontext`\n    Context to record event for\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to record\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuCtxWaitEvent`, :py:obj:`~.cuGreenCtxRecordEvent`, :py:obj:`~.cuGreenCtxWaitEvent`, :py:obj:`~.cuEventRecord`\n\nNotes\n-----\nThe API will return :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED` if the specified context `hCtx` has a stream in the capture mode. In such a case, the call will invalidate all the conflicting captures.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_95cuCtxRecordEvent = {"cuCtxRecordEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_95cuCtxRecordEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_94cuCtxRecordEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_95cuCtxRecordEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hCtx = 0;
  PyObject *__pyx_v_hEvent = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxRecordEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hCtx,&__pyx_mstate_global->__pyx_n_u_hEvent,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20684, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 20684, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20684, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxRecordEvent", 0) < (0)) __PYX_ERR(0, 20684, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxRecordEvent", 1, 2, 2, i); __PYX_ERR(0, 20684, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20684, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 20684, __pyx_L3_error)
    }
    __pyx_v_hCtx = values[0];
    __pyx_v_hEvent = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxRecordEvent", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 20684, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxRecordEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_94cuCtxRecordEvent(__pyx_self, __pyx_v_hCtx, __pyx_v_hEvent);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_94cuCtxRecordEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUcontext __pyx_v_cyhCtx;
  PyObject *__pyx_v_phCtx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxRecordEvent", 0);

  /* "cuda/bindings/driver.pyx":20722
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20723
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20722
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20724
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20725
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20724
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20727
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUcontext cyhCtx
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20727, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20728
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20728, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20730
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20731
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:
 *         phCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20730
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":20732
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20733
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUcontext(hCtx))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":20732
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":20735
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUcontext(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hCtx};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20735, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":20736
 *     else:
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20736, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20737
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20738
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxRecordEvent(__pyx_v_cyhCtx, __pyx_v_cyhEvent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20738, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20737
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":20739
 *     with nogil:
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 20739, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20684
 *     return (_dict_CUresult[err], pExecAffinity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxRecordEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20741
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxWaitEvent(hCtx, hEvent):
 *     """ Make a context wait on an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_97cuCtxWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_96cuCtxWaitEvent, "cuCtxWaitEvent(hCtx, hEvent)\n\nMake a context wait on an event.\n\nMakes all future work submitted to context `hCtx` wait for all work\ncaptured in `hEvent`. The synchronization will be performed on the\ndevice and will not block the calling CPU thread. See\n:py:obj:`~.cuCtxRecordEvent()` for details on what is captured by an\nevent. If the context passed to `hCtx` is the primary context, the\nprimary context and its green contexts will wait for `hEvent`. If the\ncontext passed to `hCtx` is a context converted from green context via\n:py:obj:`~.cuCtxFromGreenCtx()`, the green context will wait for\n`hEvent`.\n\nParameters\n----------\nhCtx : :py:obj:`~.CUcontext`\n    Context to wait\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to wait on\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuCtxRecordEvent`, :py:obj:`~.cuGreenCtxRecordEvent`, :py:obj:`~.cuGreenCtxWaitEvent`, :py:obj:`~.cuStreamWaitEvent`\n\nNotes\n-----\n`hEvent` may be from a different context or device than `hCtx`.\n\nThe API will return :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED` and invalidate the capture if the specified event `hEvent` is part of an ongoing capture sequence or if the specified context `hCtx` has a stream in the capture mode.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_97cuCtxWaitEvent = {"cuCtxWaitEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_97cuCtxWaitEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_96cuCtxWaitEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_97cuCtxWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hCtx = 0;
  PyObject *__pyx_v_hEvent = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxWaitEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hCtx,&__pyx_mstate_global->__pyx_n_u_hEvent,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20741, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 20741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxWaitEvent", 0) < (0)) __PYX_ERR(0, 20741, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxWaitEvent", 1, 2, 2, i); __PYX_ERR(0, 20741, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20741, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 20741, __pyx_L3_error)
    }
    __pyx_v_hCtx = values[0];
    __pyx_v_hEvent = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxWaitEvent", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 20741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_96cuCtxWaitEvent(__pyx_self, __pyx_v_hCtx, __pyx_v_hEvent);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_96cuCtxWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUcontext __pyx_v_cyhCtx;
  PyObject *__pyx_v_phCtx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxWaitEvent", 0);

  /* "cuda/bindings/driver.pyx":20778
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20779
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20778
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20780
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20781
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20780
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20783
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUcontext cyhCtx
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20783, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20784
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20784, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20786
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20787
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:
 *         phCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20786
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":20788
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20789
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUcontext(hCtx))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":20788
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":20791
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUcontext(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hCtx};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20791, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":20792
 *     else:
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20792, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20793
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20794
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxWaitEvent(__pyx_v_cyhCtx, __pyx_v_cyhEvent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20794, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20793
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":20795
 *     with nogil:
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 20795, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20741
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxWaitEvent(hCtx, hEvent):
 *     """ Make a context wait on an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20797
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxAttach(unsigned int flags):
 *     """ Increment a context's usage-count.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_99cuCtxAttach(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_98cuCtxAttach, "cuCtxAttach(unsigned int flags)\n\nIncrement a context's usage-count.\n\n[Deprecated]\n\nNote that this function is deprecated and should not be used.\n\nIncrements the usage count of the context and passes back a context\nhandle in `*pctx` that must be passed to :py:obj:`~.cuCtxDetach()` when\nthe application is done with the context. :py:obj:`~.cuCtxAttach()`\nfails if there is no context current to the thread.\n\nCurrently, the `flags` parameter must be 0.\n\nParameters\n----------\nflags : unsigned int\n    Context attach flags (must be 0)\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npctx : :py:obj:`~.CUcontext`\n    Returned context handle of the current context\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxDetach`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_99cuCtxAttach = {"cuCtxAttach", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_99cuCtxAttach, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_98cuCtxAttach};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_99cuCtxAttach(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxAttach (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20797, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20797, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxAttach", 0) < (0)) __PYX_ERR(0, 20797, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxAttach", 1, 1, 1, i); __PYX_ERR(0, 20797, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20797, __pyx_L3_error)
    }
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 20798, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxAttach", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20797, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxAttach", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_98cuCtxAttach(__pyx_self, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_98cuCtxAttach(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxAttach", 0);

  /* "cuda/bindings/driver.pyx":20828
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxDetach`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`
 *     """
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxAttach(<cydriver.CUcontext*>pctx._pvt_ptr, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20828, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":20829
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxAttach(<cydriver.CUcontext*>pctx._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20830
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
 *         err = cydriver.cuCtxAttach(<cydriver.CUcontext*>pctx._pvt_ptr, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxAttach(((CUcontext *)__pyx_v_pctx->_pvt_ptr), __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20830, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":20829
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxAttach(<cydriver.CUcontext*>pctx._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20831
 *     with nogil:
 *         err = cydriver.cuCtxAttach(<cydriver.CUcontext*>pctx._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":20832
 *         err = cydriver.cuCtxAttach(<cydriver.CUcontext*>pctx._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pctx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 20832, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 20832, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20831
 *     with nogil:
 *         err = cydriver.cuCtxAttach(<cydriver.CUcontext*>pctx._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  }

  /* "cuda/bindings/driver.pyx":20833
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20833, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 20833, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20797
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxAttach(unsigned int flags):
 *     """ Increment a context's usage-count.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxAttach", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20835
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDetach(ctx):
 *     """ Decrement a context's usage-count.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_101cuCtxDetach(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_100cuCtxDetach, "cuCtxDetach(ctx)\n\nDecrement a context's usage-count.\n\n[Deprecated]\n\nNote that this function is deprecated and should not be used.\n\nDecrements the usage count of the context `ctx`, and destroys the\ncontext if the usage count goes to 0. The context must be a handle that\nwas passed back by :py:obj:`~.cuCtxCreate()` or\n:py:obj:`~.cuCtxAttach()`, and must be current to the calling thread.\n\nParameters\n----------\nctx : :py:obj:`~.CUcontext`\n    Context to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_101cuCtxDetach = {"cuCtxDetach", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_101cuCtxDetach, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_100cuCtxDetach};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_101cuCtxDetach(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxDetach (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20835, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxDetach", 0) < (0)) __PYX_ERR(0, 20835, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxDetach", 1, 1, 1, i); __PYX_ERR(0, 20835, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20835, __pyx_L3_error)
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxDetach", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20835, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxDetach", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_100cuCtxDetach(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_100cuCtxDetach(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxDetach", 0);

  /* "cuda/bindings/driver.pyx":20863
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20864
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":20863
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20865
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":20866
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20865
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20868
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20868, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20869
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxDetach(cyctx)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20869, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":20870
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDetach(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20871
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxDetach(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxDetach(__pyx_v_cyctx); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20871, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20870
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDetach(cyctx)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20872
 *     with nogil:
 *         err = cydriver.cuCtxDetach(cyctx)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20872, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20835
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDetach(ctx):
 *     """ Decrement a context's usage-count.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxDetach", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20874
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetSharedMemConfig():
 *     """ Returns the current shared memory configuration for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_103cuCtxGetSharedMemConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_102cuCtxGetSharedMemConfig, "cuCtxGetSharedMemConfig()\n\nReturns the current shared memory configuration for the current context.\n\n[Deprecated]\n\nThis function will return in `pConfig` the current size of shared\nmemory banks in the current context. On devices with configurable\nshared memory banks, :py:obj:`~.cuCtxSetSharedMemConfig` can be used to\nchange this setting, so that all subsequent kernel launches will by\ndefault use the new bank size. When :py:obj:`~.cuCtxGetSharedMemConfig`\nis called on devices without configurable shared memory, it will return\nthe fixed bank size of the hardware.\n\nThe returned bank configurations can be either:\n\n- :py:obj:`~.CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE`: shared memory\n  bank width is four bytes.\n\n- :py:obj:`~.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE`: shared memory\n  bank width will eight bytes.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npConfig : :py:obj:`~.CUsharedconfig`\n    returned shared memory configuration\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cudaDeviceGetSharedMemConfig`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_103cuCtxGetSharedMemConfig = {"cuCtxGetSharedMemConfig", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_103cuCtxGetSharedMemConfig, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_102cuCtxGetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_103cuCtxGetSharedMemConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetSharedMemConfig (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_102cuCtxGetSharedMemConfig(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_102cuCtxGetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  CUsharedconfig __pyx_v_pConfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetSharedMemConfig", 0);

  /* "cuda/bindings/driver.pyx":20908
 *     """
 *     cdef cydriver.CUsharedconfig pConfig
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetSharedMemConfig(&pConfig)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20909
 *     cdef cydriver.CUsharedconfig pConfig
 *     with nogil:
 *         err = cydriver.cuCtxGetSharedMemConfig(&pConfig)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetSharedMemConfig((&__pyx_v_pConfig)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20909, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20908
 *     """
 *     cdef cydriver.CUsharedconfig pConfig
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetSharedMemConfig(&pConfig)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20910
 *     with nogil:
 *         err = cydriver.cuCtxGetSharedMemConfig(&pConfig)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUsharedconfig(pConfig))
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":20911
 *         err = cydriver.cuCtxGetSharedMemConfig(&pConfig)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUsharedconfig(pConfig))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 20911, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 20911, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20910
 *     with nogil:
 *         err = cydriver.cuCtxGetSharedMemConfig(&pConfig)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUsharedconfig(pConfig))
*/
  }

  /* "cuda/bindings/driver.pyx":20912
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUsharedconfig(pConfig))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUsharedconfig); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_enum__CUsharedconfig_enum(__pyx_v_pConfig); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 20912, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 20912, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20874
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetSharedMemConfig():
 *     """ Returns the current shared memory configuration for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20914
 *     return (_dict_CUresult[err], CUsharedconfig(pConfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetSharedMemConfig(config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_105cuCtxSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_104cuCtxSetSharedMemConfig, "cuCtxSetSharedMemConfig(config: CUsharedconfig)\n\nSets the shared memory configuration for the current context.\n\n[Deprecated]\n\nOn devices with configurable shared memory banks, this function will\nset the context's shared memory bank size which is used for subsequent\nkernel launches.\n\nChanged the shared memory configuration between launches may insert a\ndevice side synchronization point between those launches.\n\nChanging the shared memory bank size will not increase shared memory\nusage or affect occupancy of kernels, but may have major effects on\nperformance. Larger bank sizes will allow for greater potential\nbandwidth to shared memory, but will change what kinds of accesses to\nshared memory will result in bank conflicts.\n\nThis function will do nothing on devices with fixed shared memory bank\nsize.\n\nThe supported bank configurations are:\n\n- :py:obj:`~.CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE`: set bank width to\n  the default initial setting (currently, four bytes).\n\n- :py:obj:`~.CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE`: set shared\n  memory bank width to be natively four bytes.\n\n- :py:obj:`~.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE`: set shared\n  memory bank width to be natively eight bytes.\n\nParameters\n----------\nconfig : :py:obj:`~.CUsharedconfig`\n    requested shared memory configuration\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cudaDeviceSetSharedMe""mConfig`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_105cuCtxSetSharedMemConfig = {"cuCtxSetSharedMemConfig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_105cuCtxSetSharedMemConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_104cuCtxSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_105cuCtxSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_config = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxSetSharedMemConfig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_config,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20914, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20914, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxSetSharedMemConfig", 0) < (0)) __PYX_ERR(0, 20914, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxSetSharedMemConfig", 1, 1, 1, i); __PYX_ERR(0, 20914, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20914, __pyx_L3_error)
    }
    __pyx_v_config = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetSharedMemConfig", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20914, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_config) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "config"); __PYX_ERR(0, 20915, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_104cuCtxSetSharedMemConfig(__pyx_self, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_104cuCtxSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config) {
  CUsharedconfig __pyx_v_cyconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUsharedconfig __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxSetSharedMemConfig", 0);

  /* "cuda/bindings/driver.pyx":20961
 *     :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cudaDeviceSetSharedMemConfig`
 *     """
 *     cdef cydriver.CUsharedconfig cyconfig = config.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxSetSharedMemConfig(cyconfig)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUsharedconfig_enum)__Pyx_PyLong_As_enum__CUsharedconfig_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyconfig = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":20962
 *     """
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetSharedMemConfig(cyconfig)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20963
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:
 *         err = cydriver.cuCtxSetSharedMemConfig(cyconfig)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSetSharedMemConfig(__pyx_v_cyconfig); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20963, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":20962
 *     """
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetSharedMemConfig(cyconfig)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20964
 *     with nogil:
 *         err = cydriver.cuCtxSetSharedMemConfig(cyconfig)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 20964, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20914
 *     return (_dict_CUresult[err], CUsharedconfig(pConfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetSharedMemConfig(config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20966
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoad(char* fname):
 *     """ Loads a compute module.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_107cuModuleLoad(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_106cuModuleLoad, "cuModuleLoad(char *fname)\n\nLoads a compute module.\n\nTakes a filename `fname` and loads the corresponding module `module`\ninto the current context. The CUDA driver API does not attempt to\nlazily allocate the resources needed by a module; if the memory for\nfunctions and data (constant and global) needed by the module cannot be\nallocated, :py:obj:`~.cuModuleLoad()` fails. The file should be a\n`cubin` file as output by nvcc, or a `PTX` file either as output by\nnvcc or handwritten, or a `fatbin` file as output by nvcc from\ntoolchain 4.0 or later.\n\nParameters\n----------\nfname : bytes\n    Filename of module to load\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_PTX`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_PTX_VERSION`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_FILE_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_NO_BINARY_FOR_GPU`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_JIT_COMPILER_NOT_FOUND`\nmodule : :py:obj:`~.CUmodule`\n    Returned module\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_107cuModuleLoad = {"cuModuleLoad", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_107cuModuleLoad, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_106cuModuleLoad};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_107cuModuleLoad(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  char *__pyx_v_fname;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleLoad (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_fname,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 20966, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleLoad", 0) < (0)) __PYX_ERR(0, 20966, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleLoad", 1, 1, 1, i); __PYX_ERR(0, 20966, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20966, __pyx_L3_error)
    }
    __pyx_v_fname = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) __PYX_ERR(0, 20967, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoad", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20966, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_106cuModuleLoad(__pyx_self, __pyx_v_fname);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_106cuModuleLoad(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_fname) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_module = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleLoad", 0);

  /* "cuda/bindings/driver.pyx":20995
 *     :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`
 *     """
 *     cdef CUmodule module = CUmodule()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleLoad(<cydriver.CUmodule*>module._pvt_ptr, fname)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20995, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_module = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":20996
 *     """
 *     cdef CUmodule module = CUmodule()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoad(<cydriver.CUmodule*>module._pvt_ptr, fname)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20997
 *     cdef CUmodule module = CUmodule()
 *     with nogil:
 *         err = cydriver.cuModuleLoad(<cydriver.CUmodule*>module._pvt_ptr, fname)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleLoad(((CUmodule *)__pyx_v_module->_pvt_ptr), __pyx_v_fname); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20997, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":20996
 *     """
 *     cdef CUmodule module = CUmodule()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoad(<cydriver.CUmodule*>module._pvt_ptr, fname)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20998
 *     with nogil:
 *         err = cydriver.cuModuleLoad(<cydriver.CUmodule*>module._pvt_ptr, fname)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":20999
 *         err = cydriver.cuModuleLoad(<cydriver.CUmodule*>module._pvt_ptr, fname)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], module)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 20999, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 20999, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20998
 *     with nogil:
 *         err = cydriver.cuModuleLoad(<cydriver.CUmodule*>module._pvt_ptr, fname)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)
*/
  }

  /* "cuda/bindings/driver.pyx":21000
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 21000, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_module)) != (0)) __PYX_ERR(0, 21000, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20966
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoad(char* fname):
 *     """ Loads a compute module.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_module);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21002
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadData(image):
 *     """ Load a module's data.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_109cuModuleLoadData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_108cuModuleLoadData, "cuModuleLoadData(image)\n\nLoad a module's data.\n\nTakes a pointer `image` and loads the corresponding module `module`\ninto the current context. The `image` may be a `cubin` or `fatbin` as\noutput by nvcc, or a NULL-terminated `PTX`, either as output by nvcc or\nhand-written.\n\nParameters\n----------\nimage : Any\n    Module data to load\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_PTX`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_PTX_VERSION`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NO_BINARY_FOR_GPU`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_JIT_COMPILER_NOT_FOUND`\nmodule : :py:obj:`~.CUmodule`\n    Returned module\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_109cuModuleLoadData = {"cuModuleLoadData", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_109cuModuleLoadData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_108cuModuleLoadData};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_109cuModuleLoadData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_image = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleLoadData (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_image,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21002, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21002, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleLoadData", 0) < (0)) __PYX_ERR(0, 21002, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleLoadData", 1, 1, 1, i); __PYX_ERR(0, 21002, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21002, __pyx_L3_error)
    }
    __pyx_v_image = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoadData", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21002, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoadData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_108cuModuleLoadData(__pyx_self, __pyx_v_image);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_108cuModuleLoadData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_module = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyimage = NULL;
  void *__pyx_v_cyimage_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleLoadData", 0);

  /* "cuda/bindings/driver.pyx":21027
 *     :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`
 *     """
 *     cdef CUmodule module = CUmodule()             # <<<<<<<<<<<<<<
 *     cyimage = _HelperInputVoidPtr(image)
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21027, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_module = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21028
 *     """
 *     cdef CUmodule module = CUmodule()
 *     cyimage = _HelperInputVoidPtr(image)             # <<<<<<<<<<<<<<
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
 *     with nogil:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_image};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21028, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyimage = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21029
 *     cdef CUmodule module = CUmodule()
 *     cyimage = _HelperInputVoidPtr(image)
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleLoadData(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyimage), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyimage_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21030
 *     cyimage = _HelperInputVoidPtr(image)
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoadData(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21031
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
 *     with nogil:
 *         err = cydriver.cuModuleLoadData(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadData(((CUmodule *)__pyx_v_module->_pvt_ptr), __pyx_v_cyimage_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21031, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21030
 *     cyimage = _HelperInputVoidPtr(image)
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoadData(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21032
 *     with nogil:
 *         err = cydriver.cuModuleLoadData(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":21033
 *         err = cydriver.cuModuleLoadData(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], module)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21033, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 21033, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21032
 *     with nogil:
 *         err = cydriver.cuModuleLoadData(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)
*/
  }

  /* "cuda/bindings/driver.pyx":21034
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 21034, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_module)) != (0)) __PYX_ERR(0, 21034, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21002
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadData(image):
 *     """ Load a module's data.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoadData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_module);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyimage);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21036
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Load a module's data with options.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_111cuModuleLoadDataEx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_110cuModuleLoadDataEx, "cuModuleLoadDataEx(image, unsigned int numOptions, options: Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues: Optional[tuple[Any] | list[Any]])\n\nLoad a module's data with options.\n\nTakes a pointer `image` and loads the corresponding module `module`\ninto the current context. The `image` may be a `cubin` or `fatbin` as\noutput by nvcc, or a NULL-terminated `PTX`, either as output by nvcc or\nhand-written.\n\nParameters\n----------\nimage : Any\n    Module data to load\nnumOptions : unsigned int\n    Number of options\noptions : list[:py:obj:`~.CUjit_option`]\n    Options for JIT\noptionValues : list[Any]\n    Option values for JIT\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_PTX`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_PTX_VERSION`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NO_BINARY_FOR_GPU`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_JIT_COMPILER_NOT_FOUND`\nmodule : :py:obj:`~.CUmodule`\n    Returned module\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_111cuModuleLoadDataEx = {"cuModuleLoadDataEx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_111cuModuleLoadDataEx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_110cuModuleLoadDataEx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_111cuModuleLoadDataEx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_image = 0;
  unsigned int __pyx_v_numOptions;
  PyObject *__pyx_v_options = 0;
  PyObject *__pyx_v_optionValues = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleLoadDataEx (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_image,&__pyx_mstate_global->__pyx_n_u_numOptions,&__pyx_mstate_global->__pyx_n_u_options,&__pyx_mstate_global->__pyx_n_u_optionValues,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21036, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21036, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21036, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21036, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21036, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleLoadDataEx", 0) < (0)) __PYX_ERR(0, 21036, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleLoadDataEx", 1, 4, 4, i); __PYX_ERR(0, 21036, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21036, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21036, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21036, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21036, __pyx_L3_error)
    }
    __pyx_v_image = values[0];
    __pyx_v_numOptions = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21037, __pyx_L3_error)
    __pyx_v_options = values[2];
    __pyx_v_optionValues = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoadDataEx", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 21036, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoadDataEx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_110cuModuleLoadDataEx(__pyx_self, __pyx_v_image, __pyx_v_numOptions, __pyx_v_options, __pyx_v_optionValues);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuModuleLoadDataEx_2generator115(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21069
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuModuleLoadDataEx_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21069, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuModuleLoadDataEx_2generator115, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[115]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuModuleLoadDataEx_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21069, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoadDataEx.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuModuleLoadDataEx_2generator115(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 21069, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21069, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21069, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21069, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21069, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21069, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21069, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21069, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUjit_option); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21069, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 21069, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21036
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Load a module's data with options.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_110cuModuleLoadDataEx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_module = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyimage = NULL;
  void *__pyx_v_cyimage_ptr;
  std::vector<CUjit_option>  __pyx_v_cyoptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperoptionValues = 0;
  void **__pyx_v_cyoptionValues_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuModuleLoadDataEx_2generator115 = 0;
  PyObject *__pyx_10genexpr235__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr236__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr236__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  std::vector<CUjit_option>  __pyx_t_13;
  PyObject *(*__pyx_t_14)(PyObject *);
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleLoadDataEx", 0);
  __Pyx_INCREF(__pyx_v_options);
  __Pyx_INCREF(__pyx_v_optionValues);

  /* "cuda/bindings/driver.pyx":21067
 *     :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`
 *     """
 *     optionValues = [] if optionValues is None else optionValues             # <<<<<<<<<<<<<<
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
*/
  __pyx_t_2 = (__pyx_v_optionValues == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_optionValues);
    __pyx_t_1 = __pyx_v_optionValues;
  }
  __Pyx_DECREF_SET(__pyx_v_optionValues, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21068
 *     """
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
*/
  __pyx_t_2 = (__pyx_v_options == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_options);
    __pyx_t_1 = __pyx_v_options;
  }
  __Pyx_DECREF_SET(__pyx_v_options, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21069
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_18cuModuleLoadDataEx_genexpr(NULL, __pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 21069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":21070
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef CUmodule module = CUmodule()
 *     cyimage = _HelperInputVoidPtr(image)
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_options_is_not_instance};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21070, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21069
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
*/
  }

  /* "cuda/bindings/driver.pyx":21071
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUmodule module = CUmodule()             # <<<<<<<<<<<<<<
 *     cyimage = _HelperInputVoidPtr(image)
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
*/
  __pyx_t_5 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21071, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_module = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21072
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
 *     cyimage = _HelperInputVoidPtr(image)             # <<<<<<<<<<<<<<
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_image};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21072, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyimage = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21073
 *     cdef CUmodule module = CUmodule()
 *     cyimage = _HelperInputVoidPtr(image)
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr             # <<<<<<<<<<<<<<
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyimage), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyimage_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21074
 *     cyimage = _HelperInputVoidPtr(image)
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))             # <<<<<<<<<<<<<<
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21074, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_8);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_1 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21074, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21074, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21074, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21075
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21075, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_8);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21075, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21075, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21075, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21076
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21076, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (likely(PyList_CheckExact(__pyx_v_options)) || PyTuple_CheckExact(__pyx_v_options)) {
      __pyx_t_9 = __pyx_v_options; __Pyx_INCREF(__pyx_t_9);
      __pyx_t_8 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_options); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21076, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21076, __pyx_L8_error)
    }
    for (;;) {
      if (likely(!__pyx_t_12)) {
        if (likely(PyList_CheckExact(__pyx_t_9))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_9);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21076, __pyx_L8_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_9, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_9);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21076, __pyx_L8_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_8));
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_9, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21076, __pyx_L8_error)
      } else {
        __pyx_t_5 = __pyx_t_12(__pyx_t_9);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21076, __pyx_L8_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_10genexpr235__pyx_v_pyoptions, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr235__pyx_v_pyoptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21076, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 21076, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF(__pyx_10genexpr235__pyx_v_pyoptions); __pyx_10genexpr235__pyx_v_pyoptions = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr235__pyx_v_pyoptions); __pyx_10genexpr235__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_t_13 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":21077
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21077, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_1 = __pyx_builtin_zip; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_options, __pyx_v_optionValues};
      __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21077, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) {
      __pyx_t_1 = __pyx_t_9; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_8 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21077, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21077, __pyx_L15_error)
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    for (;;) {
      if (likely(!__pyx_t_12)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21077, __pyx_L15_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_9 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21077, __pyx_L15_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_9 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8));
          #else
          __pyx_t_9 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21077, __pyx_L15_error)
      } else {
        __pyx_t_9 = __pyx_t_12(__pyx_t_1);
        if (unlikely(!__pyx_t_9)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21077, __pyx_L15_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_9);
      if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) {
        PyObject* sequence = __pyx_t_9;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 21077, __pyx_L15_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_5);
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_10);
        } else {
          __pyx_t_5 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21077, __pyx_L15_error)
          __Pyx_XGOTREF(__pyx_t_5);
          __pyx_t_10 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21077, __pyx_L15_error)
          __Pyx_XGOTREF(__pyx_t_10);
        }
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21077, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21077, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_10);
        #endif
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_11 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21077, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_14 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11);
        index = 0; __pyx_t_5 = __pyx_t_14(__pyx_t_11); if (unlikely(!__pyx_t_5)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        index = 1; __pyx_t_10 = __pyx_t_14(__pyx_t_11); if (unlikely(!__pyx_t_10)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_11), 2) < (0)) __PYX_ERR(0, 21077, __pyx_L15_error)
        __pyx_t_14 = NULL;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L19_unpacking_done;
        __pyx_L18_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_14 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21077, __pyx_L15_error)
        __pyx_L19_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr236__pyx_v_pyoptions, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr236__pyx_v_pyoptionValues, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_10 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
      __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_10, __pyx_10genexpr236__pyx_v_pyoptions, __pyx_10genexpr236__pyx_v_pyoptionValues};
        __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21077, __pyx_L15_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_9);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 21077, __pyx_L15_error)
      __Pyx_DECREF((PyObject *)__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_10genexpr236__pyx_v_pyoptionValues); __pyx_10genexpr236__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr236__pyx_v_pyoptions); __pyx_10genexpr236__pyx_v_pyoptions = 0;
    goto __pyx_L21_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_10genexpr236__pyx_v_pyoptionValues); __pyx_10genexpr236__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr236__pyx_v_pyoptions); __pyx_10genexpr236__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L21_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21078
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_pylist};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21078, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_voidStarHelperoptionValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21079
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleLoadDataEx(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr, numOptions, cyoptions.data(), cyoptionValues_ptr)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperoptionValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoptionValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21080
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoadDataEx(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21081
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:
 *         err = cydriver.cuModuleLoadDataEx(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr, numOptions, cyoptions.data(), cyoptionValues_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadDataEx(((CUmodule *)__pyx_v_module->_pvt_ptr), __pyx_v_cyimage_ptr, __pyx_v_numOptions, __pyx_v_cyoptions.data(), __pyx_v_cyoptionValues_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21081, __pyx_L23_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":21080
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoadDataEx(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L24;
        }
        __pyx_L23_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L24:;
      }
  }

  /* "cuda/bindings/driver.pyx":21082
 *     with nogil:
 *         err = cydriver.cuModuleLoadDataEx(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":21083
 *         err = cydriver.cuModuleLoadDataEx(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], module)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 21083, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 21083, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21082
 *     with nogil:
 *         err = cydriver.cuModuleLoadDataEx(<cydriver.CUmodule*>module._pvt_ptr, cyimage_ptr, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)
*/
  }

  /* "cuda/bindings/driver.pyx":21084
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21084, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_module)) != (0)) __PYX_ERR(0, 21084, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21036
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Load a module's data with options.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoadDataEx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_module);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyimage);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperoptionValues);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuModuleLoadDataEx_2generator115);
  __Pyx_XDECREF(__pyx_10genexpr235__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr236__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr236__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_options);
  __Pyx_XDECREF(__pyx_v_optionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21086
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadFatBinary(fatCubin):
 *     """ Load a module's data.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_113cuModuleLoadFatBinary(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_112cuModuleLoadFatBinary, "cuModuleLoadFatBinary(fatCubin)\n\nLoad a module's data.\n\nTakes a pointer `fatCubin` and loads the corresponding module `module`\ninto the current context. The pointer represents a `fat binary` object,\nwhich is a collection of different `cubin` and/or `PTX` files, all\nrepresenting the same device code, but compiled and optimized for\ndifferent architectures.\n\nPrior to CUDA 4.0, there was no documented API for constructing and\nusing fat binary objects by programmers. Starting with CUDA 4.0, fat\nbinary objects can be constructed by providing the `-fatbin option` to\nnvcc. More information can be found in the nvcc document.\n\nParameters\n----------\nfatCubin : Any\n    Fat binary to load\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_PTX`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_PTX_VERSION`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NO_BINARY_FOR_GPU`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_JIT_COMPILER_NOT_FOUND`\nmodule : :py:obj:`~.CUmodule`\n    Returned module\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_113cuModuleLoadFatBinary = {"cuModuleLoadFatBinary", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_113cuModuleLoadFatBinary, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_112cuModuleLoadFatBinary};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_113cuModuleLoadFatBinary(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_fatCubin = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleLoadFatBinary (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_fatCubin,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21086, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21086, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleLoadFatBinary", 0) < (0)) __PYX_ERR(0, 21086, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleLoadFatBinary", 1, 1, 1, i); __PYX_ERR(0, 21086, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21086, __pyx_L3_error)
    }
    __pyx_v_fatCubin = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoadFatBinary", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21086, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoadFatBinary", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_112cuModuleLoadFatBinary(__pyx_self, __pyx_v_fatCubin);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_112cuModuleLoadFatBinary(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fatCubin) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_module = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyfatCubin = NULL;
  void *__pyx_v_cyfatCubin_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleLoadFatBinary", 0);

  /* "cuda/bindings/driver.pyx":21117
 *     :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleUnload`
 *     """
 *     cdef CUmodule module = CUmodule()             # <<<<<<<<<<<<<<
 *     cyfatCubin = _HelperInputVoidPtr(fatCubin)
 *     cdef void* cyfatCubin_ptr = <void*><void_ptr>cyfatCubin.cptr
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21117, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_module = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21118
 *     """
 *     cdef CUmodule module = CUmodule()
 *     cyfatCubin = _HelperInputVoidPtr(fatCubin)             # <<<<<<<<<<<<<<
 *     cdef void* cyfatCubin_ptr = <void*><void_ptr>cyfatCubin.cptr
 *     with nogil:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_fatCubin};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21118, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyfatCubin = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21119
 *     cdef CUmodule module = CUmodule()
 *     cyfatCubin = _HelperInputVoidPtr(fatCubin)
 *     cdef void* cyfatCubin_ptr = <void*><void_ptr>cyfatCubin.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleLoadFatBinary(<cydriver.CUmodule*>module._pvt_ptr, cyfatCubin_ptr)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyfatCubin), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyfatCubin_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21120
 *     cyfatCubin = _HelperInputVoidPtr(fatCubin)
 *     cdef void* cyfatCubin_ptr = <void*><void_ptr>cyfatCubin.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoadFatBinary(<cydriver.CUmodule*>module._pvt_ptr, cyfatCubin_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21121
 *     cdef void* cyfatCubin_ptr = <void*><void_ptr>cyfatCubin.cptr
 *     with nogil:
 *         err = cydriver.cuModuleLoadFatBinary(<cydriver.CUmodule*>module._pvt_ptr, cyfatCubin_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadFatBinary(((CUmodule *)__pyx_v_module->_pvt_ptr), __pyx_v_cyfatCubin_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21121, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21120
 *     cyfatCubin = _HelperInputVoidPtr(fatCubin)
 *     cdef void* cyfatCubin_ptr = <void*><void_ptr>cyfatCubin.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoadFatBinary(<cydriver.CUmodule*>module._pvt_ptr, cyfatCubin_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21122
 *     with nogil:
 *         err = cydriver.cuModuleLoadFatBinary(<cydriver.CUmodule*>module._pvt_ptr, cyfatCubin_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":21123
 *         err = cydriver.cuModuleLoadFatBinary(<cydriver.CUmodule*>module._pvt_ptr, cyfatCubin_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], module)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21123, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 21123, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21122
 *     with nogil:
 *         err = cydriver.cuModuleLoadFatBinary(<cydriver.CUmodule*>module._pvt_ptr, cyfatCubin_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)
*/
  }

  /* "cuda/bindings/driver.pyx":21124
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], module)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 21124, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_module)) != (0)) __PYX_ERR(0, 21124, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21086
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadFatBinary(fatCubin):
 *     """ Load a module's data.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleLoadFatBinary", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_module);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyfatCubin);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21126
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleUnload(hmod):
 *     """ Unloads a module.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_115cuModuleUnload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_114cuModuleUnload, "cuModuleUnload(hmod)\n\nUnloads a module.\n\nUnloads a module `hmod` from the current context. Attempting to unload\na module which was obtained from the Library Management API such as\n:py:obj:`~.cuLibraryGetModule` will return\n:py:obj:`~.CUDA_ERROR_NOT_PERMITTED`.\n\nParameters\n----------\nhmod : :py:obj:`~.CUmodule`\n    Module to unload\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_115cuModuleUnload = {"cuModuleUnload", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_115cuModuleUnload, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_114cuModuleUnload};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_115cuModuleUnload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hmod = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleUnload (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hmod,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21126, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21126, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleUnload", 0) < (0)) __PYX_ERR(0, 21126, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleUnload", 1, 1, 1, i); __PYX_ERR(0, 21126, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21126, __pyx_L3_error)
    }
    __pyx_v_hmod = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleUnload", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21126, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleUnload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_114cuModuleUnload(__pyx_self, __pyx_v_hmod);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_114cuModuleUnload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod) {
  CUmodule __pyx_v_cyhmod;
  PyObject *__pyx_v_phmod = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleUnload", 0);

  /* "cuda/bindings/driver.pyx":21150
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21151
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:
 *         phmod = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phmod = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21150
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21152
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21153
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21152
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21155
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21155, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21156
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleUnload(cyhmod)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21156, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21157
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleUnload(cyhmod)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21158
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     with nogil:
 *         err = cydriver.cuModuleUnload(cyhmod)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleUnload(__pyx_v_cyhmod); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21158, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21157
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleUnload(cyhmod)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21159
 *     with nogil:
 *         err = cydriver.cuModuleUnload(cyhmod)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21159, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21126
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleUnload(hmod):
 *     """ Unloads a module.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleUnload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phmod);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21161
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetLoadingMode():
 *     """ Query lazy loading mode.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_117cuModuleGetLoadingMode(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_116cuModuleGetLoadingMode, "cuModuleGetLoadingMode()\n\nQuery lazy loading mode.\n\nReturns lazy loading mode Module loading mode is controlled by\nCUDA_MODULE_LOADING env variable\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nmode : :py:obj:`~.CUmoduleLoadingMode`\n    Returns the lazy loading mode\n\nSee Also\n--------\n:py:obj:`~.cuModuleLoad`,");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_117cuModuleGetLoadingMode = {"cuModuleGetLoadingMode", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_117cuModuleGetLoadingMode, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_116cuModuleGetLoadingMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_117cuModuleGetLoadingMode(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleGetLoadingMode (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_116cuModuleGetLoadingMode(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_116cuModuleGetLoadingMode(CYTHON_UNUSED PyObject *__pyx_self) {
  CUmoduleLoadingMode __pyx_v_mode;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetLoadingMode", 0);

  /* "cuda/bindings/driver.pyx":21180
 *     """
 *     cdef cydriver.CUmoduleLoadingMode mode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetLoadingMode(&mode)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21181
 *     cdef cydriver.CUmoduleLoadingMode mode
 *     with nogil:
 *         err = cydriver.cuModuleGetLoadingMode(&mode)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetLoadingMode((&__pyx_v_mode)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21181, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":21180
 *     """
 *     cdef cydriver.CUmoduleLoadingMode mode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetLoadingMode(&mode)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21182
 *     with nogil:
 *         err = cydriver.cuModuleGetLoadingMode(&mode)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUmoduleLoadingMode(mode))
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":21183
 *         err = cydriver.cuModuleGetLoadingMode(&mode)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUmoduleLoadingMode(mode))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 21183, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 21183, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21182
 *     with nogil:
 *         err = cydriver.cuModuleGetLoadingMode(&mode)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUmoduleLoadingMode(mode))
*/
  }

  /* "cuda/bindings/driver.pyx":21184
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUmoduleLoadingMode(mode))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUmoduleLoadingMode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_enum__CUmoduleLoadingMode_enum(__pyx_v_mode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21184, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 21184, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21161
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetLoadingMode():
 *     """ Query lazy loading mode.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetLoadingMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21186
 *     return (_dict_CUresult[err], CUmoduleLoadingMode(mode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunction(hmod, char* name):
 *     """ Returns a function handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_119cuModuleGetFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_118cuModuleGetFunction, "cuModuleGetFunction(hmod, char *name)\n\nReturns a function handle.\n\nReturns in `*hfunc` the handle of the function of name `name` located\nin module `hmod`. If no function of that name exists,\n:py:obj:`~.cuModuleGetFunction()` returns\n:py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\nParameters\n----------\nhmod : :py:obj:`~.CUmodule`\n    Module to retrieve function from\nname : bytes\n    Name of function to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\nhfunc : :py:obj:`~.CUfunction`\n    Returned function handle\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_119cuModuleGetFunction = {"cuModuleGetFunction", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_119cuModuleGetFunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_118cuModuleGetFunction};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_119cuModuleGetFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hmod = 0;
  char *__pyx_v_name;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleGetFunction (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hmod,&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21186, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21186, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21186, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleGetFunction", 0) < (0)) __PYX_ERR(0, 21186, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleGetFunction", 1, 2, 2, i); __PYX_ERR(0, 21186, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21186, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21186, __pyx_L3_error)
    }
    __pyx_v_hmod = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 21187, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetFunction", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21186, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_118cuModuleGetFunction(__pyx_self, __pyx_v_hmod, __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_118cuModuleGetFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name) {
  CUmodule __pyx_v_cyhmod;
  PyObject *__pyx_v_phmod = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_hfunc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetFunction", 0);

  /* "cuda/bindings/driver.pyx":21214
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21215
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:
 *         phmod = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phmod = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21214
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21216
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21217
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21216
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21219
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUfunction hfunc = CUfunction()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21219, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21220
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUfunction hfunc = CUfunction()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21220, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21221
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUfunction hfunc = CUfunction()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleGetFunction(<cydriver.CUfunction*>hfunc._pvt_ptr, cyhmod, name)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21221, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_hfunc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":21222
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUfunction hfunc = CUfunction()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetFunction(<cydriver.CUfunction*>hfunc._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21223
 *     cdef CUfunction hfunc = CUfunction()
 *     with nogil:
 *         err = cydriver.cuModuleGetFunction(<cydriver.CUfunction*>hfunc._pvt_ptr, cyhmod, name)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetFunction(((CUfunction *)__pyx_v_hfunc->_pvt_ptr), __pyx_v_cyhmod, __pyx_v_name); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21223, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21222
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUfunction hfunc = CUfunction()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetFunction(<cydriver.CUfunction*>hfunc._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21224
 *     with nogil:
 *         err = cydriver.cuModuleGetFunction(<cydriver.CUfunction*>hfunc._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], hfunc)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21225
 *         err = cydriver.cuModuleGetFunction(<cydriver.CUfunction*>hfunc._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], hfunc)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 21225, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 21225, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21224
 *     with nogil:
 *         err = cydriver.cuModuleGetFunction(<cydriver.CUfunction*>hfunc._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], hfunc)
*/
  }

  /* "cuda/bindings/driver.pyx":21226
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], hfunc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 21226, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_hfunc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_hfunc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_hfunc)) != (0)) __PYX_ERR(0, 21226, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21186
 *     return (_dict_CUresult[err], CUmoduleLoadingMode(mode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunction(hmod, char* name):
 *     """ Returns a function handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phmod);
  __Pyx_XDECREF((PyObject *)__pyx_v_hfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21228
 *     return (_dict_CUresult[err], hfunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunctionCount(mod):
 *     """ Returns the number of functions within a module.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_121cuModuleGetFunctionCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_120cuModuleGetFunctionCount, "cuModuleGetFunctionCount(mod)\n\nReturns the number of functions within a module.\n\nReturns in `count` the number of functions in `mod`.\n\nParameters\n----------\nmod : :py:obj:`~.CUmodule`\n    Module to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ncount : unsigned int\n    Number of functions found within the module");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_121cuModuleGetFunctionCount = {"cuModuleGetFunctionCount", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_121cuModuleGetFunctionCount, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_120cuModuleGetFunctionCount};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_121cuModuleGetFunctionCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mod = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleGetFunctionCount (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mod,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21228, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleGetFunctionCount", 0) < (0)) __PYX_ERR(0, 21228, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleGetFunctionCount", 1, 1, 1, i); __PYX_ERR(0, 21228, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21228, __pyx_L3_error)
    }
    __pyx_v_mod = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetFunctionCount", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21228, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetFunctionCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_120cuModuleGetFunctionCount(__pyx_self, __pyx_v_mod);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_120cuModuleGetFunctionCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mod) {
  CUmodule __pyx_v_cymod;
  PyObject *__pyx_v_pmod = NULL;
  unsigned int __pyx_v_count;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetFunctionCount", 0);

  /* "cuda/bindings/driver.pyx":21247
 *     """
 *     cdef cydriver.CUmodule cymod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):
*/
  __pyx_t_1 = (__pyx_v_mod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21248
 *     cdef cydriver.CUmodule cymod
 *     if mod is None:
 *         pmod = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmod = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21247
 *     """
 *     cdef cydriver.CUmodule cymod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21249
 *     if mod is None:
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mod, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21250
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)             # <<<<<<<<<<<<<<
 *     else:
 *         pmod = int(CUmodule(mod))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mod); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21249
 *     if mod is None:
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21252
 *         pmod = int(mod)
 *     else:
 *         pmod = int(CUmodule(mod))             # <<<<<<<<<<<<<<
 *     cymod = <cydriver.CUmodule><void_ptr>pmod
 *     cdef unsigned int count = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_mod};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21252, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmod = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21253
 *     else:
 *         pmod = int(CUmodule(mod))
 *     cymod = <cydriver.CUmodule><void_ptr>pmod             # <<<<<<<<<<<<<<
 *     cdef unsigned int count = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmod); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21253, __pyx_L1_error)
  __pyx_v_cymod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21254
 *         pmod = int(CUmodule(mod))
 *     cymod = <cydriver.CUmodule><void_ptr>pmod
 *     cdef unsigned int count = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleGetFunctionCount(&count, cymod)
*/
  __pyx_v_count = 0;

  /* "cuda/bindings/driver.pyx":21255
 *     cymod = <cydriver.CUmodule><void_ptr>pmod
 *     cdef unsigned int count = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetFunctionCount(&count, cymod)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21256
 *     cdef unsigned int count = 0
 *     with nogil:
 *         err = cydriver.cuModuleGetFunctionCount(&count, cymod)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetFunctionCount((&__pyx_v_count), __pyx_v_cymod); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21256, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21255
 *     cymod = <cydriver.CUmodule><void_ptr>pmod
 *     cdef unsigned int count = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetFunctionCount(&count, cymod)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21257
 *     with nogil:
 *         err = cydriver.cuModuleGetFunctionCount(&count, cymod)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21258
 *         err = cydriver.cuModuleGetFunctionCount(&count, cymod)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], count)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21258, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 21258, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21257
 *     with nogil:
 *         err = cydriver.cuModuleGetFunctionCount(&count, cymod)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)
*/
  }

  /* "cuda/bindings/driver.pyx":21259
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 21259, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 21259, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21228
 *     return (_dict_CUresult[err], hfunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunctionCount(mod):
 *     """ Returns the number of functions within a module.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetFunctionCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmod);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21261
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleEnumerateFunctions(unsigned int numFunctions, mod):
 *     """ Returns the function handles within a module.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_123cuModuleEnumerateFunctions(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_122cuModuleEnumerateFunctions, "cuModuleEnumerateFunctions(unsigned int numFunctions, mod)\n\nReturns the function handles within a module.\n\nReturns in `functions` a maximum number of `numFunctions` function\nhandles within `mod`. When function loading mode is set to LAZY the\nfunction retrieved may be partially loaded. The loading state of a\nfunction can be queried using :py:obj:`~.cuFunctionIsLoaded`. CUDA APIs\nmay load the function automatically when called with partially loaded\nfunction handle which may incur additional latency. Alternatively,\n:py:obj:`~.cuFunctionLoad` can be used to explicitly load a function.\nThe returned function handles become invalid when the module is\nunloaded.\n\nParameters\n----------\nnumFunctions : unsigned int\n    Maximum number of function handles may be returned to the buffer\nmod : :py:obj:`~.CUmodule`\n    Module to query from\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nfunctions : list[:py:obj:`~.CUfunction`]\n    Buffer where the function handles are returned to\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetFunctionCount`, :py:obj:`~.cuFuncIsLoaded`, :py:obj:`~.cuFuncLoad`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_123cuModuleEnumerateFunctions = {"cuModuleEnumerateFunctions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_123cuModuleEnumerateFunctions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_122cuModuleEnumerateFunctions};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_123cuModuleEnumerateFunctions(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_numFunctions;
  PyObject *__pyx_v_mod = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleEnumerateFunctions (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_numFunctions,&__pyx_mstate_global->__pyx_n_u_mod,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21261, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21261, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21261, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleEnumerateFunctions", 0) < (0)) __PYX_ERR(0, 21261, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleEnumerateFunctions", 1, 2, 2, i); __PYX_ERR(0, 21261, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21261, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21261, __pyx_L3_error)
    }
    __pyx_v_numFunctions = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_numFunctions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21262, __pyx_L3_error)
    __pyx_v_mod = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleEnumerateFunctions", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21261, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleEnumerateFunctions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_122cuModuleEnumerateFunctions(__pyx_self, __pyx_v_numFunctions, __pyx_v_mod);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_122cuModuleEnumerateFunctions(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numFunctions, PyObject *__pyx_v_mod) {
  CUmodule __pyx_v_cymod;
  PyObject *__pyx_v_pmod = NULL;
  CUfunction *__pyx_v_cyfunctions;
  PyObject *__pyx_v_pyfunctions = NULL;
  CUresult __pyx_v_err;
  unsigned int __pyx_10genexpr237__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  unsigned int __pyx_t_11;
  unsigned int __pyx_t_12;
  unsigned int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleEnumerateFunctions", 0);

  /* "cuda/bindings/driver.pyx":21294
 *     """
 *     cdef cydriver.CUmodule cymod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):
*/
  __pyx_t_1 = (__pyx_v_mod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21295
 *     cdef cydriver.CUmodule cymod
 *     if mod is None:
 *         pmod = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmod = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21294
 *     """
 *     cdef cydriver.CUmodule cymod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21296
 *     if mod is None:
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mod, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21297
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)             # <<<<<<<<<<<<<<
 *     else:
 *         pmod = int(CUmodule(mod))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mod); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21296
 *     if mod is None:
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21299
 *         pmod = int(mod)
 *     else:
 *         pmod = int(CUmodule(mod))             # <<<<<<<<<<<<<<
 *     cymod = <cydriver.CUmodule><void_ptr>pmod
 *     cdef cydriver.CUfunction* cyfunctions = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_mod};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21299, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmod = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21300
 *     else:
 *         pmod = int(CUmodule(mod))
 *     cymod = <cydriver.CUmodule><void_ptr>pmod             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction* cyfunctions = NULL
 *     pyfunctions = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmod); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21300, __pyx_L1_error)
  __pyx_v_cymod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21301
 *         pmod = int(CUmodule(mod))
 *     cymod = <cydriver.CUmodule><void_ptr>pmod
 *     cdef cydriver.CUfunction* cyfunctions = NULL             # <<<<<<<<<<<<<<
 *     pyfunctions = []
 *     if numFunctions != 0:
*/
  __pyx_v_cyfunctions = NULL;

  /* "cuda/bindings/driver.pyx":21302
 *     cymod = <cydriver.CUmodule><void_ptr>pmod
 *     cdef cydriver.CUfunction* cyfunctions = NULL
 *     pyfunctions = []             # <<<<<<<<<<<<<<
 *     if numFunctions != 0:
 *         cyfunctions = <cydriver.CUfunction*>calloc(numFunctions, sizeof(cydriver.CUfunction))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyfunctions = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":21303
 *     cdef cydriver.CUfunction* cyfunctions = NULL
 *     pyfunctions = []
 *     if numFunctions != 0:             # <<<<<<<<<<<<<<
 *         cyfunctions = <cydriver.CUfunction*>calloc(numFunctions, sizeof(cydriver.CUfunction))
 *         if cyfunctions is NULL:
*/
  __pyx_t_1 = (__pyx_v_numFunctions != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21304
 *     pyfunctions = []
 *     if numFunctions != 0:
 *         cyfunctions = <cydriver.CUfunction*>calloc(numFunctions, sizeof(cydriver.CUfunction))             # <<<<<<<<<<<<<<
 *         if cyfunctions is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(cydriver.CUfunction)))
*/
    __pyx_v_cyfunctions = ((CUfunction *)calloc(__pyx_v_numFunctions, (sizeof(CUfunction))));

    /* "cuda/bindings/driver.pyx":21305
 *     if numFunctions != 0:
 *         cyfunctions = <cydriver.CUfunction*>calloc(numFunctions, sizeof(cydriver.CUfunction))
 *         if cyfunctions is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(cydriver.CUfunction)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cyfunctions == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":21306
 *         cyfunctions = <cydriver.CUfunction*>calloc(numFunctions, sizeof(cydriver.CUfunction))
 *         if cyfunctions is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(cydriver.CUfunction)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleEnumerateFunctions(cyfunctions, numFunctions, cymod)
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numFunctions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUfunction))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21306, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 21306, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":21305
 *     if numFunctions != 0:
 *         cyfunctions = <cydriver.CUfunction*>calloc(numFunctions, sizeof(cydriver.CUfunction))
 *         if cyfunctions is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(cydriver.CUfunction)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":21303
 *     cdef cydriver.CUfunction* cyfunctions = NULL
 *     pyfunctions = []
 *     if numFunctions != 0:             # <<<<<<<<<<<<<<
 *         cyfunctions = <cydriver.CUfunction*>calloc(numFunctions, sizeof(cydriver.CUfunction))
 *         if cyfunctions is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":21307
 *         if cyfunctions is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(cydriver.CUfunction)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleEnumerateFunctions(cyfunctions, numFunctions, cymod)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21308
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(cydriver.CUfunction)))
 *     with nogil:
 *         err = cydriver.cuModuleEnumerateFunctions(cyfunctions, numFunctions, cymod)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cyfunctions[idx]) for idx in range(numFunctions)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleEnumerateFunctions(__pyx_v_cyfunctions, __pyx_v_numFunctions, __pyx_v_cymod); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21308, __pyx_L7_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":21307
 *         if cyfunctions is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(cydriver.CUfunction)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleEnumerateFunctions(cyfunctions, numFunctions, cymod)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":21309
 *     with nogil:
 *         err = cydriver.cuModuleEnumerateFunctions(cyfunctions, numFunctions, cymod)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cyfunctions[idx]) for idx in range(numFunctions)]
 *     if cyfunctions is not NULL:
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 21309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21310
 *         err = cydriver.cuModuleEnumerateFunctions(cyfunctions, numFunctions, cymod)
 *     if CUresult(err) == CUresult(0):
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cyfunctions[idx]) for idx in range(numFunctions)]             # <<<<<<<<<<<<<<
 *     if cyfunctions is not NULL:
 *         free(cyfunctions)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __pyx_v_numFunctions;
      __pyx_t_12 = __pyx_t_11;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_10genexpr237__pyx_v_idx = __pyx_t_13;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
        __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyfunctions[__pyx_10genexpr237__pyx_v_idx]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21310, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_5 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21310, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_9, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 21310, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21310, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 21310, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfunctions, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":21309
 *     with nogil:
 *         err = cydriver.cuModuleEnumerateFunctions(cyfunctions, numFunctions, cymod)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cyfunctions[idx]) for idx in range(numFunctions)]
 *     if cyfunctions is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":21311
 *     if CUresult(err) == CUresult(0):
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cyfunctions[idx]) for idx in range(numFunctions)]
 *     if cyfunctions is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfunctions)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cyfunctions != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21312
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cyfunctions[idx]) for idx in range(numFunctions)]
 *     if cyfunctions is not NULL:
 *         free(cyfunctions)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cyfunctions);

    /* "cuda/bindings/driver.pyx":21311
 *     if CUresult(err) == CUresult(0):
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cyfunctions[idx]) for idx in range(numFunctions)]
 *     if cyfunctions is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfunctions)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":21313
 *     if cyfunctions is not NULL:
 *         free(cyfunctions)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pyfunctions)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21314
 *         free(cyfunctions)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pyfunctions)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 21314, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, Py_None) != (0)) __PYX_ERR(0, 21314, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21313
 *     if cyfunctions is not NULL:
 *         free(cyfunctions)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pyfunctions)
*/
  }

  /* "cuda/bindings/driver.pyx":21315
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pyfunctions)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21315, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyfunctions);
  __Pyx_GIVEREF(__pyx_v_pyfunctions);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pyfunctions) != (0)) __PYX_ERR(0, 21315, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21261
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleEnumerateFunctions(unsigned int numFunctions, mod):
 *     """ Returns the function handles within a module.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleEnumerateFunctions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmod);
  __Pyx_XDECREF(__pyx_v_pyfunctions);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21317
 *     return (_dict_CUresult[err], pyfunctions)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetGlobal(hmod, char* name):
 *     """ Returns a global pointer from a module.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_125cuModuleGetGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_124cuModuleGetGlobal, "cuModuleGetGlobal(hmod, char *name)\n\nReturns a global pointer from a module.\n\nReturns in `*dptr` and `*bytes` the base pointer and size of the global\nof name `name` located in module `hmod`. If no variable of that name\nexists, :py:obj:`~.cuModuleGetGlobal()` returns\n:py:obj:`~.CUDA_ERROR_NOT_FOUND`. One of the parameters `dptr` or\n`numbytes` (not both) can be NULL in which case it is ignored.\n\nParameters\n----------\nhmod : :py:obj:`~.CUmodule`\n    Module to retrieve global from\nname : bytes\n    Name of global to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\ndptr : :py:obj:`~.CUdeviceptr`\n    Returned global device pointer\nnumbytes : int\n    Returned global size in bytes\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`, :py:obj:`~.cudaGetSymbolAddress`, :py:obj:`~.cudaGetSymbolSize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_125cuModuleGetGlobal = {"cuModuleGetGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_125cuModuleGetGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_124cuModuleGetGlobal};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_125cuModuleGetGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hmod = 0;
  char *__pyx_v_name;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleGetGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hmod,&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21317, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21317, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21317, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleGetGlobal", 0) < (0)) __PYX_ERR(0, 21317, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleGetGlobal", 1, 2, 2, i); __PYX_ERR(0, 21317, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21317, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21317, __pyx_L3_error)
    }
    __pyx_v_hmod = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 21318, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21317, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_124cuModuleGetGlobal(__pyx_self, __pyx_v_hmod, __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_124cuModuleGetGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name) {
  CUmodule __pyx_v_cyhmod;
  PyObject *__pyx_v_phmod = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr = 0;
  size_t __pyx_v_numbytes;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetGlobal", 0);

  /* "cuda/bindings/driver.pyx":21348
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21349
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:
 *         phmod = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phmod = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21348
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21350
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21351
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21350
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21353
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21353, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21354
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21354, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21355
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21355, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":21356
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cyhmod, name)
*/
  __pyx_v_numbytes = 0;

  /* "cuda/bindings/driver.pyx":21357
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21358
 *     cdef size_t numbytes = 0
 *     with nogil:
 *         err = cydriver.cuModuleGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cyhmod, name)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetGlobal(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), (&__pyx_v_numbytes), __pyx_v_cyhmod, __pyx_v_name); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21358, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21357
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21359
 *     with nogil:
 *         err = cydriver.cuModuleGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21360
 *         err = cydriver.cuModuleGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 21360, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 21360, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 21360, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21359
 *     with nogil:
 *         err = cydriver.cuModuleGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)
*/
  }

  /* "cuda/bindings/driver.pyx":21361
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 21361, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 21361, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 21361, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21317
 *     return (_dict_CUresult[err], pyfunctions)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetGlobal(hmod, char* name):
 *     """ Returns a global pointer from a module.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phmod);
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21363
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Creates a pending JIT linker invocation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_127cuLinkCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_126cuLinkCreate, "cuLinkCreate(unsigned int numOptions, options: Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues: Optional[tuple[Any] | list[Any]])\n\nCreates a pending JIT linker invocation.\n\nIf the call is successful, the caller owns the returned CUlinkState,\nwhich should eventually be destroyed with :py:obj:`~.cuLinkDestroy`.\nThe device code machine size (32 or 64 bit) will match the calling\napplication.\n\nBoth linker and compiler options may be specified. Compiler options\nwill be applied to inputs to this linker action which must be compiled\nfrom PTX. The options :py:obj:`~.CU_JIT_WALL_TIME`,\n:py:obj:`~.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES`, and\n:py:obj:`~.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES` will accumulate data\nuntil the CUlinkState is destroyed.\n\nThe data passed in via :py:obj:`~.cuLinkAddData` and\n:py:obj:`~.cuLinkAddFile` will be treated as relocatable (-rdc=true to\nnvcc) when linking the final cubin during :py:obj:`~.cuLinkComplete`\nand will have similar consequences as offline relocatable device code\nlinking.\n\n`optionValues` must remain valid for the life of the CUlinkState if\noutput options are used. No other references to inputs are maintained\nafter this call returns.\n\nParameters\n----------\nnumOptions : unsigned int\n    Size of options arrays\noptions : list[:py:obj:`~.CUjit_option`]\n    Array of linker and compiler options\noptionValues : list[Any]\n    Array of option values, each cast to void *\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_JIT_COMPILER_NOT_FOUND`\nstateOut : :py:obj:`~.CUlinkState`\n    On success, this will contain a CUlinkState to specify and complete\n    this action\n\nSee Also\n--------\n:py:obj:`~.cuLinkAddData`, :py:obj:`~.cuLinkAddFile`, :py:obj:`~.cuLinkComplete`, :py:obj:`~.c""uLinkDestroy`\n\nNotes\n-----\nFor LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_127cuLinkCreate = {"cuLinkCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_127cuLinkCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_126cuLinkCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_127cuLinkCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_numOptions;
  PyObject *__pyx_v_options = 0;
  PyObject *__pyx_v_optionValues = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLinkCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_numOptions,&__pyx_mstate_global->__pyx_n_u_options,&__pyx_mstate_global->__pyx_n_u_optionValues,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21363, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLinkCreate", 0) < (0)) __PYX_ERR(0, 21363, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLinkCreate", 1, 3, 3, i); __PYX_ERR(0, 21363, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21363, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21363, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21363, __pyx_L3_error)
    }
    __pyx_v_numOptions = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_numOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21364, __pyx_L3_error)
    __pyx_v_options = values[1];
    __pyx_v_optionValues = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 21363, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_126cuLinkCreate(__pyx_self, __pyx_v_numOptions, __pyx_v_options, __pyx_v_optionValues);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_12cuLinkCreate_2generator116(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21416
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_12cuLinkCreate_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21416, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_12cuLinkCreate_2generator116, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[116]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuLinkCreate_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21416, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkCreate.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_12cuLinkCreate_2generator116(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 21416, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21416, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21416, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21416, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21416, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21416, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21416, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUjit_option); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 21416, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21363
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Creates a pending JIT linker invocation.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_126cuLinkCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues) {
  std::vector<CUjit_option>  __pyx_v_cyoptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperoptionValues = 0;
  void **__pyx_v_cyoptionValues_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_stateOut = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_v_option = NULL;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_12cuLinkCreate_2generator116 = 0;
  PyObject *__pyx_10genexpr239__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr240__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr240__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *(*__pyx_t_11)(PyObject *);
  std::vector<CUjit_option>  __pyx_t_12;
  PyObject *(*__pyx_t_13)(PyObject *);
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLinkCreate", 0);
  __Pyx_INCREF(__pyx_v_options);
  __Pyx_INCREF(__pyx_v_optionValues);

  /* "cuda/bindings/driver.pyx":21414
 *     For LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted
 *     """
 *     optionValues = [] if optionValues is None else optionValues             # <<<<<<<<<<<<<<
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
*/
  __pyx_t_2 = (__pyx_v_optionValues == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_optionValues);
    __pyx_t_1 = __pyx_v_optionValues;
  }
  __Pyx_DECREF_SET(__pyx_v_optionValues, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21415
 *     """
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
*/
  __pyx_t_2 = (__pyx_v_options == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_options);
    __pyx_t_1 = __pyx_v_options;
  }
  __Pyx_DECREF_SET(__pyx_v_options, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21416
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_12cuLinkCreate_genexpr(NULL, __pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 21416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":21417
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")             # <<<<<<<<<<<<<<
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_options_is_not_instance};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21417, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21417, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21416
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
*/
  }

  /* "cuda/bindings/driver.pyx":21418
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))             # <<<<<<<<<<<<<<
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21418, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_1 = __pyx_builtin_RuntimeError; 
    __pyx_t_7 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21418, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21418, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21418, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21419
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21419, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_8 = __pyx_builtin_RuntimeError; 
    __pyx_t_7 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21419, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21419, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21420
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21420, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (likely(PyList_CheckExact(__pyx_v_options)) || PyTuple_CheckExact(__pyx_v_options)) {
      __pyx_t_8 = __pyx_v_options; __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = 0;
      __pyx_t_11 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_options); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21420, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21420, __pyx_L8_error)
    }
    for (;;) {
      if (likely(!__pyx_t_11)) {
        if (likely(PyList_CheckExact(__pyx_t_8))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21420, __pyx_L8_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_7);
          ++__pyx_t_7;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21420, __pyx_L8_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_7));
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21420, __pyx_L8_error)
      } else {
        __pyx_t_5 = __pyx_t_11(__pyx_t_8);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21420, __pyx_L8_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_10genexpr239__pyx_v_pyoptions, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr239__pyx_v_pyoptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21420, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 21420, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr239__pyx_v_pyoptions); __pyx_10genexpr239__pyx_v_pyoptions = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr239__pyx_v_pyoptions); __pyx_10genexpr239__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_t_12 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_12);

  /* "cuda/bindings/driver.pyx":21421
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21421, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_1 = __pyx_builtin_zip; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_options, __pyx_v_optionValues};
      __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21421, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
      __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = 0;
      __pyx_t_11 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21421, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21421, __pyx_L15_error)
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    for (;;) {
      if (likely(!__pyx_t_11)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21421, __pyx_L15_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_7);
          ++__pyx_t_7;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21421, __pyx_L15_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_8 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7));
          #else
          __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21421, __pyx_L15_error)
      } else {
        __pyx_t_8 = __pyx_t_11(__pyx_t_1);
        if (unlikely(!__pyx_t_8)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21421, __pyx_L15_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_8);
      if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
        PyObject* sequence = __pyx_t_8;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 21421, __pyx_L15_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_5);
          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_9);
        } else {
          __pyx_t_5 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21421, __pyx_L15_error)
          __Pyx_XGOTREF(__pyx_t_5);
          __pyx_t_9 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21421, __pyx_L15_error)
          __Pyx_XGOTREF(__pyx_t_9);
        }
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21421, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_9 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21421, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_9);
        #endif
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_10 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21421, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10);
        index = 0; __pyx_t_5 = __pyx_t_13(__pyx_t_10); if (unlikely(!__pyx_t_5)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        index = 1; __pyx_t_9 = __pyx_t_13(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_10), 2) < (0)) __PYX_ERR(0, 21421, __pyx_L15_error)
        __pyx_t_13 = NULL;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L19_unpacking_done;
        __pyx_L18_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_13 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21421, __pyx_L15_error)
        __pyx_L19_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr240__pyx_v_pyoptions, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr240__pyx_v_pyoptionValues, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
      __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_10genexpr240__pyx_v_pyoptions, __pyx_10genexpr240__pyx_v_pyoptionValues};
        __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21421, __pyx_L15_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_8);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 21421, __pyx_L15_error)
      __Pyx_DECREF((PyObject *)__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_10genexpr240__pyx_v_pyoptionValues); __pyx_10genexpr240__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr240__pyx_v_pyoptions); __pyx_10genexpr240__pyx_v_pyoptions = 0;
    goto __pyx_L21_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_10genexpr240__pyx_v_pyoptionValues); __pyx_10genexpr240__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr240__pyx_v_pyoptions); __pyx_10genexpr240__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L21_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21422
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     cdef CUlinkState stateOut = CUlinkState()
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_8 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_pylist};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21422, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_voidStarHelperoptionValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21423
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr             # <<<<<<<<<<<<<<
 *     cdef CUlinkState stateOut = CUlinkState()
 *     with nogil:
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperoptionValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_14 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_14 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoptionValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_14));

  /* "cuda/bindings/driver.pyx":21424
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     cdef CUlinkState stateOut = CUlinkState()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLinkCreate(numOptions, cyoptions.data(), cyoptionValues_ptr, stateOut._pvt_ptr)
*/
  __pyx_t_8 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState);
  __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21424, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_stateOut = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21425
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     cdef CUlinkState stateOut = CUlinkState()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkCreate(numOptions, cyoptions.data(), cyoptionValues_ptr, stateOut._pvt_ptr)
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21426
 *     cdef CUlinkState stateOut = CUlinkState()
 *     with nogil:
 *         err = cydriver.cuLinkCreate(numOptions, cyoptions.data(), cyoptionValues_ptr, stateOut._pvt_ptr)             # <<<<<<<<<<<<<<
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 *     for option in pylist:
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuLinkCreate(__pyx_v_numOptions, __pyx_v_cyoptions.data(), __pyx_v_cyoptionValues_ptr, __pyx_v_stateOut->_pvt_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21426, __pyx_L23_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":21425
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     cdef CUlinkState stateOut = CUlinkState()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkCreate(numOptions, cyoptions.data(), cyoptionValues_ptr, stateOut._pvt_ptr)
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L24;
        }
        __pyx_L23_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L24:;
      }
  }

  /* "cuda/bindings/driver.pyx":21427
 *     with nogil:
 *         err = cydriver.cuLinkCreate(numOptions, cyoptions.data(), cyoptionValues_ptr, stateOut._pvt_ptr)
 *     stateOut._keepalive.append(voidStarHelperoptionValues)             # <<<<<<<<<<<<<<
 *     for option in pylist:
 *         stateOut._keepalive.append(option)
*/
  if (unlikely(__pyx_v_stateOut->_keepalive == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
    __PYX_ERR(0, 21427, __pyx_L1_error)
  }
  __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_stateOut->_keepalive, ((PyObject *)__pyx_v_voidStarHelperoptionValues)); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 21427, __pyx_L1_error)

  /* "cuda/bindings/driver.pyx":21428
 *         err = cydriver.cuLinkCreate(numOptions, cyoptions.data(), cyoptionValues_ptr, stateOut._pvt_ptr)
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 *     for option in pylist:             # <<<<<<<<<<<<<<
 *         stateOut._keepalive.append(option)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_3 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21428, __pyx_L1_error)
      #endif
      if (__pyx_t_7 >= __pyx_temp) break;
    }
    __pyx_t_1 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_7);
    ++__pyx_t_7;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_option, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":21429
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 *     for option in pylist:
 *         stateOut._keepalive.append(option)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    if (unlikely(__pyx_v_stateOut->_keepalive == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
      __PYX_ERR(0, 21429, __pyx_L1_error)
    }
    __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_stateOut->_keepalive, __pyx_v_option); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 21429, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21428
 *         err = cydriver.cuLinkCreate(numOptions, cyoptions.data(), cyoptionValues_ptr, stateOut._pvt_ptr)
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 *     for option in pylist:             # <<<<<<<<<<<<<<
 *         stateOut._keepalive.append(option)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21430
 *     for option in pylist:
 *         stateOut._keepalive.append(option)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], stateOut)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":21431
 *         stateOut._keepalive.append(option)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], stateOut)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_8);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 21431, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, Py_None) != (0)) __PYX_ERR(0, 21431, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21430
 *     for option in pylist:
 *         stateOut._keepalive.append(option)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], stateOut)
*/
  }

  /* "cuda/bindings/driver.pyx":21432
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], stateOut)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21432, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_stateOut);
  __Pyx_GIVEREF((PyObject *)__pyx_v_stateOut);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_stateOut)) != (0)) __PYX_ERR(0, 21432, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21363
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Creates a pending JIT linker invocation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperoptionValues);
  __Pyx_XDECREF((PyObject *)__pyx_v_stateOut);
  __Pyx_XDECREF(__pyx_v_option);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_12cuLinkCreate_2generator116);
  __Pyx_XDECREF(__pyx_10genexpr239__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr240__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr240__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_options);
  __Pyx_XDECREF(__pyx_v_optionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21434
 *     return (_dict_CUresult[err], stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Add an input to a pending linker invocation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_129cuLinkAddData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_128cuLinkAddData, "cuLinkAddData(state, typename: CUjitInputType, data, size_t size, char *name, unsigned int numOptions, options: Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues: Optional[tuple[Any] | list[Any]])\n\nAdd an input to a pending linker invocation.\n\nOwnership of `data` is retained by the caller. No reference is retained\nto any inputs after this call returns.\n\nThis method accepts only compiler options, which are used if the data\nmust be compiled from PTX, and does not accept any of\n:py:obj:`~.CU_JIT_WALL_TIME`, :py:obj:`~.CU_JIT_INFO_LOG_BUFFER`,\n:py:obj:`~.CU_JIT_ERROR_LOG_BUFFER`,\n:py:obj:`~.CU_JIT_TARGET_FROM_CUCONTEXT`, or :py:obj:`~.CU_JIT_TARGET`.\n\nParameters\n----------\nstate : :py:obj:`~.CUlinkState`\n    A pending linker action.\ntypename : :py:obj:`~.CUjitInputType`\n    The type of the input data.\ndata : Any\n    The input data. PTX must be NULL-terminated.\nsize : size_t\n    The length of the input data.\nname : bytes\n    An optional name for this input in log messages.\nnumOptions : unsigned int\n    Size of options.\noptions : list[:py:obj:`~.CUjit_option`]\n    Options to be applied only for this input (overrides options from\n    :py:obj:`~.cuLinkCreate`).\noptionValues : list[Any]\n    Array of option values, each cast to void *.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_IMAGE`, :py:obj:`~.CUDA_ERROR_INVALID_PTX`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_PTX_VERSION`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NO_BINARY_FOR_GPU`\n\nSee Also\n--------\n:py:obj:`~.cuLinkCreate`, :py:obj:`~.cuLinkAddFile`, :py:obj:`~.cuLinkComplete`, :py:obj:`~.cuLinkDestroy`\n\nNotes\n-----\nFor LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_129cuLinkAddData = {"cuLinkAddData", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_129cuLinkAddData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_128cuLinkAddData};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_129cuLinkAddData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v_typename = 0;
  PyObject *__pyx_v_data = 0;
  size_t __pyx_v_size;
  char *__pyx_v_name;
  unsigned int __pyx_v_numOptions;
  PyObject *__pyx_v_options = 0;
  PyObject *__pyx_v_optionValues = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[8] = {0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLinkAddData (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_state,&__pyx_mstate_global->__pyx_n_u_typename,&__pyx_mstate_global->__pyx_n_u_data_2,&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_numOptions,&__pyx_mstate_global->__pyx_n_u_options,&__pyx_mstate_global->__pyx_n_u_optionValues,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21434, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 21434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 21434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLinkAddData", 0) < (0)) __PYX_ERR(0, 21434, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 8; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, i); __PYX_ERR(0, 21434, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 8)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21434, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21434, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21434, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21434, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21434, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21434, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 21434, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 21434, __pyx_L3_error)
    }
    __pyx_v_state = values[0];
    __pyx_v_typename = values[1];
    __pyx_v_data = values[2];
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 21435, __pyx_L3_error)
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[4]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 21435, __pyx_L3_error)
    __pyx_v_numOptions = __Pyx_PyLong_As_unsigned_int(values[5]); if (unlikely((__pyx_v_numOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21435, __pyx_L3_error)
    __pyx_v_options = values[6];
    __pyx_v_optionValues = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, __pyx_nargs); __PYX_ERR(0, 21434, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkAddData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 21435, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_128cuLinkAddData(__pyx_self, __pyx_v_state, __pyx_v_typename, __pyx_v_data, __pyx_v_size, __pyx_v_name, __pyx_v_numOptions, __pyx_v_options, __pyx_v_optionValues);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_13cuLinkAddData_2generator117(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21482
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13cuLinkAddData_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21482, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_13cuLinkAddData_2generator117, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[117]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuLinkAddData_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21482, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkAddData.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_13cuLinkAddData_2generator117(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 21482, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21482, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21482, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21482, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21482, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21482, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21482, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUjit_option); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 21482, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21434
 *     return (_dict_CUresult[err], stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Add an input to a pending linker invocation.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_128cuLinkAddData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state, PyObject *__pyx_v_typename, PyObject *__pyx_v_data, size_t __pyx_v_size, char *__pyx_v_name, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues) {
  CUlinkState __pyx_v_cystate;
  PyObject *__pyx_v_pstate = NULL;
  CUjitInputType __pyx_v_cytypename;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cydata = NULL;
  void *__pyx_v_cydata_ptr;
  std::vector<CUjit_option>  __pyx_v_cyoptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperoptionValues = 0;
  void **__pyx_v_cyoptionValues_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_13cuLinkAddData_2generator117 = 0;
  PyObject *__pyx_10genexpr242__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr243__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr243__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUjitInputType __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *(*__pyx_t_13)(PyObject *);
  std::vector<CUjit_option>  __pyx_t_14;
  PyObject *(*__pyx_t_15)(PyObject *);
  CUresult __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLinkAddData", 0);
  __Pyx_INCREF(__pyx_v_options);
  __Pyx_INCREF(__pyx_v_optionValues);

  /* "cuda/bindings/driver.pyx":21480
 *     For LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted
 *     """
 *     optionValues = [] if optionValues is None else optionValues             # <<<<<<<<<<<<<<
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
*/
  __pyx_t_2 = (__pyx_v_optionValues == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_optionValues);
    __pyx_t_1 = __pyx_v_optionValues;
  }
  __Pyx_DECREF_SET(__pyx_v_optionValues, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21481
 *     """
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
*/
  __pyx_t_2 = (__pyx_v_options == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_options);
    __pyx_t_1 = __pyx_v_options;
  }
  __Pyx_DECREF_SET(__pyx_v_options, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21482
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_13cuLinkAddData_genexpr(NULL, __pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 21482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":21483
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_options_is_not_instance};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21483, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21482
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
*/
  }

  /* "cuda/bindings/driver.pyx":21485
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
  __pyx_t_4 = (__pyx_v_state == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":21486
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:
 *         pstate = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstate = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21485
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":21487
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_state, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":21488
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)             # <<<<<<<<<<<<<<
 *     else:
 *         pstate = int(CUlinkState(state))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstate = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":21487
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":21490
 *         pstate = int(state)
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef cydriver.CUjitInputType cytypename = typename.value
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_state};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21490, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstate = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":21491
 *     else:
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUjitInputType cytypename = typename.value
 *     cydata = _HelperInputVoidPtr(data)
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21491, __pyx_L1_error)
  __pyx_v_cystate = ((CUlinkState)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21492
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef cydriver.CUjitInputType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     cydata = _HelperInputVoidPtr(data)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_8 = ((enum CUjitInputType_enum)__Pyx_PyLong_As_enum__CUjitInputType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytypename = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":21493
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef cydriver.CUjitInputType cytypename = typename.value
 *     cydata = _HelperInputVoidPtr(data)             # <<<<<<<<<<<<<<
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_data};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21493, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cydata = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21494
 *     cdef cydriver.CUjitInputType cytypename = typename.value
 *     cydata = _HelperInputVoidPtr(data)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr             # <<<<<<<<<<<<<<
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydata), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cydata_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21495
 *     cydata = _HelperInputVoidPtr(data)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))             # <<<<<<<<<<<<<<
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21495, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_9);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_3 = __pyx_builtin_RuntimeError; 
    __pyx_t_9 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21495, __pyx_L1_error)
    __pyx_t_10 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_10};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21495, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 21495, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21496
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21496, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_9);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_10 = __pyx_builtin_RuntimeError; 
    __pyx_t_9 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21496, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21496, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 21496, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21497
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21497, __pyx_L9_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_options)) || PyTuple_CheckExact(__pyx_v_options)) {
      __pyx_t_10 = __pyx_v_options; __Pyx_INCREF(__pyx_t_10);
      __pyx_t_9 = 0;
      __pyx_t_13 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_options); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21497, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21497, __pyx_L9_error)
    }
    for (;;) {
      if (likely(!__pyx_t_13)) {
        if (likely(PyList_CheckExact(__pyx_t_10))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21497, __pyx_L9_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_10, __pyx_t_9);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21497, __pyx_L9_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_9));
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_10, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21497, __pyx_L9_error)
      } else {
        __pyx_t_5 = __pyx_t_13(__pyx_t_10);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21497, __pyx_L9_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_10genexpr242__pyx_v_pyoptions, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr242__pyx_v_pyoptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21497, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 21497, __pyx_L9_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_10genexpr242__pyx_v_pyoptions); __pyx_10genexpr242__pyx_v_pyoptions = 0;
    goto __pyx_L13_exit_scope;
    __pyx_L9_error:;
    __Pyx_XDECREF(__pyx_10genexpr242__pyx_v_pyoptions); __pyx_10genexpr242__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L13_exit_scope:;
  } /* exit inner scope */
  __pyx_t_14 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/bindings/driver.pyx":21498
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21498, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_3 = __pyx_builtin_zip; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_options, __pyx_v_optionValues};
      __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21498, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_10);
    }
    if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) {
      __pyx_t_3 = __pyx_t_10; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_9 = 0;
      __pyx_t_13 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21498, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21498, __pyx_L16_error)
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    for (;;) {
      if (likely(!__pyx_t_13)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21498, __pyx_L16_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_10 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_9);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21498, __pyx_L16_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_9));
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21498, __pyx_L16_error)
      } else {
        __pyx_t_10 = __pyx_t_13(__pyx_t_3);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21498, __pyx_L16_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_10);
      if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) {
        PyObject* sequence = __pyx_t_10;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 21498, __pyx_L16_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_5);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_5 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21498, __pyx_L16_error)
          __Pyx_XGOTREF(__pyx_t_5);
          __pyx_t_11 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21498, __pyx_L16_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21498, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21498, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_12 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21498, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_5 = __pyx_t_15(__pyx_t_12); if (unlikely(!__pyx_t_5)) goto __pyx_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        index = 1; __pyx_t_11 = __pyx_t_15(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_12), 2) < (0)) __PYX_ERR(0, 21498, __pyx_L16_error)
        __pyx_t_15 = NULL;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L20_unpacking_done;
        __pyx_L19_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __pyx_t_15 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21498, __pyx_L16_error)
        __pyx_L20_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr243__pyx_v_pyoptions, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr243__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
      __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr243__pyx_v_pyoptions, __pyx_10genexpr243__pyx_v_pyoptionValues};
        __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21498, __pyx_L16_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_10);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 21498, __pyx_L16_error)
      __Pyx_DECREF((PyObject *)__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr243__pyx_v_pyoptionValues); __pyx_10genexpr243__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr243__pyx_v_pyoptions); __pyx_10genexpr243__pyx_v_pyoptions = 0;
    goto __pyx_L22_exit_scope;
    __pyx_L16_error:;
    __Pyx_XDECREF(__pyx_10genexpr243__pyx_v_pyoptionValues); __pyx_10genexpr243__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr243__pyx_v_pyoptions); __pyx_10genexpr243__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L22_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21499
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_10 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pylist};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21499, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_voidStarHelperoptionValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21500
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLinkAddData(cystate, cytypename, cydata_ptr, size, name, numOptions, cyoptions.data(), cyoptionValues_ptr)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperoptionValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoptionValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21501
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkAddData(cystate, cytypename, cydata_ptr, size, name, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21502
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:
 *         err = cydriver.cuLinkAddData(cystate, cytypename, cydata_ptr, size, name, numOptions, cyoptions.data(), cyoptionValues_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_16 = __pyx_f_4cuda_8bindings_8cydriver_cuLinkAddData(__pyx_v_cystate, __pyx_v_cytypename, __pyx_v_cydata_ptr, __pyx_v_size, __pyx_v_name, __pyx_v_numOptions, __pyx_v_cyoptions.data(), __pyx_v_cyoptionValues_ptr); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21502, __pyx_L24_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":21501
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkAddData(cystate, cytypename, cydata_ptr, size, name, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L25;
        }
        __pyx_L24_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L25:;
      }
  }

  /* "cuda/bindings/driver.pyx":21503
 *     with nogil:
 *         err = cydriver.cuLinkAddData(cystate, cytypename, cydata_ptr, size, name, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21503, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_10;
  __pyx_t_10 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21434
 *     return (_dict_CUresult[err], stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Add an input to a pending linker invocation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkAddData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstate);
  __Pyx_XDECREF((PyObject *)__pyx_v_cydata);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperoptionValues);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_13cuLinkAddData_2generator117);
  __Pyx_XDECREF(__pyx_10genexpr242__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr243__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr243__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_options);
  __Pyx_XDECREF(__pyx_v_optionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21505
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Add a file input to a pending linker invocation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_131cuLinkAddFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_130cuLinkAddFile, "cuLinkAddFile(state, typename: CUjitInputType, char *path, unsigned int numOptions, options: Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues: Optional[tuple[Any] | list[Any]])\n\nAdd a file input to a pending linker invocation.\n\nNo reference is retained to any inputs after this call returns.\n\nThis method accepts only compiler options, which are used if the input\nmust be compiled from PTX, and does not accept any of\n:py:obj:`~.CU_JIT_WALL_TIME`, :py:obj:`~.CU_JIT_INFO_LOG_BUFFER`,\n:py:obj:`~.CU_JIT_ERROR_LOG_BUFFER`,\n:py:obj:`~.CU_JIT_TARGET_FROM_CUCONTEXT`, or :py:obj:`~.CU_JIT_TARGET`.\n\nThis method is equivalent to invoking :py:obj:`~.cuLinkAddData` on the\ncontents of the file.\n\nParameters\n----------\nstate : :py:obj:`~.CUlinkState`\n    A pending linker action\ntypename : :py:obj:`~.CUjitInputType`\n    The type of the input data\npath : bytes\n    Path to the input file\nnumOptions : unsigned int\n    Size of options\noptions : list[:py:obj:`~.CUjit_option`]\n    Options to be applied only for this input (overrides options from\n    :py:obj:`~.cuLinkCreate`)\noptionValues : list[Any]\n    Array of option values, each cast to void *\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_FILE_NOT_FOUND` :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_IMAGE`, :py:obj:`~.CUDA_ERROR_INVALID_PTX`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_PTX_VERSION`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NO_BINARY_FOR_GPU`\n\nSee Also\n--------\n:py:obj:`~.cuLinkCreate`, :py:obj:`~.cuLinkAddData`, :py:obj:`~.cuLinkComplete`, :py:obj:`~.cuLinkDestroy`\n\nNotes\n-----\nFor LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_131cuLinkAddFile = {"cuLinkAddFile", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_131cuLinkAddFile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_130cuLinkAddFile};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_131cuLinkAddFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v_typename = 0;
  char *__pyx_v_path;
  unsigned int __pyx_v_numOptions;
  PyObject *__pyx_v_options = 0;
  PyObject *__pyx_v_optionValues = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLinkAddFile (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_state,&__pyx_mstate_global->__pyx_n_u_typename,&__pyx_mstate_global->__pyx_n_u_path,&__pyx_mstate_global->__pyx_n_u_numOptions,&__pyx_mstate_global->__pyx_n_u_options,&__pyx_mstate_global->__pyx_n_u_optionValues,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21505, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21505, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21505, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21505, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21505, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21505, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21505, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLinkAddFile", 0) < (0)) __PYX_ERR(0, 21505, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLinkAddFile", 1, 6, 6, i); __PYX_ERR(0, 21505, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21505, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21505, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21505, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21505, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21505, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21505, __pyx_L3_error)
    }
    __pyx_v_state = values[0];
    __pyx_v_typename = values[1];
    __pyx_v_path = __Pyx_PyObject_AsWritableString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) __PYX_ERR(0, 21506, __pyx_L3_error)
    __pyx_v_numOptions = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_numOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21506, __pyx_L3_error)
    __pyx_v_options = values[4];
    __pyx_v_optionValues = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkAddFile", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 21505, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkAddFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 21506, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_130cuLinkAddFile(__pyx_self, __pyx_v_state, __pyx_v_typename, __pyx_v_path, __pyx_v_numOptions, __pyx_v_options, __pyx_v_optionValues);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_13cuLinkAddFile_2generator118(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21551
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_13cuLinkAddFile_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21551, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_13cuLinkAddFile_2generator118, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[118]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuLinkAddFile_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21551, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkAddFile.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_13cuLinkAddFile_2generator118(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 21551, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21551, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21551, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21551, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21551, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21551, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21551, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUjit_option); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 21551, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21505
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Add a file input to a pending linker invocation.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_130cuLinkAddFile(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state, PyObject *__pyx_v_typename, char *__pyx_v_path, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues) {
  CUlinkState __pyx_v_cystate;
  PyObject *__pyx_v_pstate = NULL;
  CUjitInputType __pyx_v_cytypename;
  std::vector<CUjit_option>  __pyx_v_cyoptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperoptionValues = 0;
  void **__pyx_v_cyoptionValues_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_13cuLinkAddFile_2generator118 = 0;
  PyObject *__pyx_10genexpr245__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr246__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr246__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUjitInputType __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *(*__pyx_t_13)(PyObject *);
  std::vector<CUjit_option>  __pyx_t_14;
  PyObject *(*__pyx_t_15)(PyObject *);
  CUresult __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLinkAddFile", 0);
  __Pyx_INCREF(__pyx_v_options);
  __Pyx_INCREF(__pyx_v_optionValues);

  /* "cuda/bindings/driver.pyx":21549
 *     For LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted
 *     """
 *     optionValues = [] if optionValues is None else optionValues             # <<<<<<<<<<<<<<
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
*/
  __pyx_t_2 = (__pyx_v_optionValues == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_optionValues);
    __pyx_t_1 = __pyx_v_optionValues;
  }
  __Pyx_DECREF_SET(__pyx_v_optionValues, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21550
 *     """
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
*/
  __pyx_t_2 = (__pyx_v_options == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_options);
    __pyx_t_1 = __pyx_v_options;
  }
  __Pyx_DECREF_SET(__pyx_v_options, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21551
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_13cuLinkAddFile_genexpr(NULL, __pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 21551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":21552
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_options_is_not_instance};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21552, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21552, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21551
 *     optionValues = [] if optionValues is None else optionValues
 *     options = [] if options is None else options
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
*/
  }

  /* "cuda/bindings/driver.pyx":21554
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
  __pyx_t_4 = (__pyx_v_state == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":21555
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:
 *         pstate = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstate = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21554
 *         raise TypeError("Argument 'options' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":21556
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_state, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":21557
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)             # <<<<<<<<<<<<<<
 *     else:
 *         pstate = int(CUlinkState(state))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstate = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":21556
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":21559
 *         pstate = int(state)
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef cydriver.CUjitInputType cytypename = typename.value
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_state};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21559, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstate = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":21560
 *     else:
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUjitInputType cytypename = typename.value
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21560, __pyx_L1_error)
  __pyx_v_cystate = ((CUlinkState)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21561
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef cydriver.CUjitInputType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_8 = ((enum CUjitInputType_enum)__Pyx_PyLong_As_enum__CUjitInputType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytypename = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":21562
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef cydriver.CUjitInputType cytypename = typename.value
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))             # <<<<<<<<<<<<<<
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21562, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_9);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_5 = __pyx_builtin_RuntimeError; 
    __pyx_t_9 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21562, __pyx_L1_error)
    __pyx_t_10 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21562, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 21562, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21563
 *     cdef cydriver.CUjitInputType cytypename = typename.value
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21563, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_9);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_10 = __pyx_builtin_RuntimeError; 
    __pyx_t_9 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21563, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21563, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 21563, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21564
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21564, __pyx_L9_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_options)) || PyTuple_CheckExact(__pyx_v_options)) {
      __pyx_t_10 = __pyx_v_options; __Pyx_INCREF(__pyx_t_10);
      __pyx_t_9 = 0;
      __pyx_t_13 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_options); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21564, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21564, __pyx_L9_error)
    }
    for (;;) {
      if (likely(!__pyx_t_13)) {
        if (likely(PyList_CheckExact(__pyx_t_10))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21564, __pyx_L9_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRef(__pyx_t_10, __pyx_t_9);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21564, __pyx_L9_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_9));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_10, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21564, __pyx_L9_error)
      } else {
        __pyx_t_3 = __pyx_t_13(__pyx_t_10);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21564, __pyx_L9_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr245__pyx_v_pyoptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr245__pyx_v_pyoptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21564, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 21564, __pyx_L9_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_10genexpr245__pyx_v_pyoptions); __pyx_10genexpr245__pyx_v_pyoptions = 0;
    goto __pyx_L13_exit_scope;
    __pyx_L9_error:;
    __Pyx_XDECREF(__pyx_10genexpr245__pyx_v_pyoptions); __pyx_10genexpr245__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L13_exit_scope:;
  } /* exit inner scope */
  __pyx_t_14 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21564, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/bindings/driver.pyx":21565
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21565, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_5 = __pyx_builtin_zip; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_options, __pyx_v_optionValues};
      __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21565, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_10);
    }
    if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) {
      __pyx_t_5 = __pyx_t_10; __Pyx_INCREF(__pyx_t_5);
      __pyx_t_9 = 0;
      __pyx_t_13 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21565, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21565, __pyx_L16_error)
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    for (;;) {
      if (likely(!__pyx_t_13)) {
        if (likely(PyList_CheckExact(__pyx_t_5))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21565, __pyx_L16_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_10 = __Pyx_PyList_GetItemRef(__pyx_t_5, __pyx_t_9);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21565, __pyx_L16_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_9));
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21565, __pyx_L16_error)
      } else {
        __pyx_t_10 = __pyx_t_13(__pyx_t_5);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21565, __pyx_L16_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_10);
      if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) {
        PyObject* sequence = __pyx_t_10;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 21565, __pyx_L16_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_3);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_3 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21565, __pyx_L16_error)
          __Pyx_XGOTREF(__pyx_t_3);
          __pyx_t_11 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21565, __pyx_L16_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21565, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21565, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_12 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21565, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_3 = __pyx_t_15(__pyx_t_12); if (unlikely(!__pyx_t_3)) goto __pyx_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_3);
        index = 1; __pyx_t_11 = __pyx_t_15(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_12), 2) < (0)) __PYX_ERR(0, 21565, __pyx_L16_error)
        __pyx_t_15 = NULL;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L20_unpacking_done;
        __pyx_L19_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __pyx_t_15 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21565, __pyx_L16_error)
        __pyx_L20_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr246__pyx_v_pyoptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr246__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
      __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr246__pyx_v_pyoptions, __pyx_10genexpr246__pyx_v_pyoptionValues};
        __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21565, __pyx_L16_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_10);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 21565, __pyx_L16_error)
      __Pyx_DECREF((PyObject *)__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr246__pyx_v_pyoptionValues); __pyx_10genexpr246__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr246__pyx_v_pyoptions); __pyx_10genexpr246__pyx_v_pyoptions = 0;
    goto __pyx_L22_exit_scope;
    __pyx_L16_error:;
    __Pyx_XDECREF(__pyx_10genexpr246__pyx_v_pyoptionValues); __pyx_10genexpr246__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr246__pyx_v_pyoptions); __pyx_10genexpr246__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L22_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21566
 *     cdef vector[cydriver.CUjit_option] cyoptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:
*/
  __pyx_t_5 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_10 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_pylist};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21566, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_voidStarHelperoptionValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21567
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLinkAddFile(cystate, cytypename, path, numOptions, cyoptions.data(), cyoptionValues_ptr)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperoptionValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoptionValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21568
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkAddFile(cystate, cytypename, path, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21569
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:
 *         err = cydriver.cuLinkAddFile(cystate, cytypename, path, numOptions, cyoptions.data(), cyoptionValues_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_16 = __pyx_f_4cuda_8bindings_8cydriver_cuLinkAddFile(__pyx_v_cystate, __pyx_v_cytypename, __pyx_v_path, __pyx_v_numOptions, __pyx_v_cyoptions.data(), __pyx_v_cyoptionValues_ptr); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21569, __pyx_L24_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":21568
 *     cdef _InputVoidPtrPtrHelper voidStarHelperoptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyoptionValues_ptr = <void**><void_ptr>voidStarHelperoptionValues.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkAddFile(cystate, cytypename, path, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L25;
        }
        __pyx_L24_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L25:;
      }
  }

  /* "cuda/bindings/driver.pyx":21570
 *     with nogil:
 *         err = cydriver.cuLinkAddFile(cystate, cytypename, path, numOptions, cyoptions.data(), cyoptionValues_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 21570, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_10;
  __pyx_t_10 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21505
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Add a file input to a pending linker invocation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkAddFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstate);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperoptionValues);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_13cuLinkAddFile_2generator118);
  __Pyx_XDECREF(__pyx_10genexpr245__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr246__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr246__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_options);
  __Pyx_XDECREF(__pyx_v_optionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21572
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkComplete(state):
 *     """ Complete a pending linker invocation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_133cuLinkComplete(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_132cuLinkComplete, "cuLinkComplete(state)\n\nComplete a pending linker invocation.\n\nCompletes the pending linker action and returns the cubin image for the\nlinked device code, which can be used with\n:py:obj:`~.cuModuleLoadData`. The cubin is owned by `state`, so it\nshould be loaded before `state` is destroyed via\n:py:obj:`~.cuLinkDestroy`. This call does not destroy `state`.\n\nParameters\n----------\nstate : :py:obj:`~.CUlinkState`\n    A pending linker invocation\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\ncubinOut : Any\n    On success, this will point to the output image\nsizeOut : int\n    Optional parameter to receive the size of the generated image\n\nSee Also\n--------\n:py:obj:`~.cuLinkCreate`, :py:obj:`~.cuLinkAddData`, :py:obj:`~.cuLinkAddFile`, :py:obj:`~.cuLinkDestroy`, :py:obj:`~.cuModuleLoadData`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_133cuLinkComplete = {"cuLinkComplete", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_133cuLinkComplete, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_132cuLinkComplete};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_133cuLinkComplete(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLinkComplete (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21572, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLinkComplete", 0) < (0)) __PYX_ERR(0, 21572, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLinkComplete", 1, 1, 1, i); __PYX_ERR(0, 21572, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21572, __pyx_L3_error)
    }
    __pyx_v_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkComplete", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21572, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkComplete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_132cuLinkComplete(__pyx_self, __pyx_v_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_132cuLinkComplete(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state) {
  CUlinkState __pyx_v_cystate;
  PyObject *__pyx_v_pstate = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_cubinOut;
  size_t __pyx_v_sizeOut;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLinkComplete", 0);

  /* "cuda/bindings/driver.pyx":21601
 *     """
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
  __pyx_t_1 = (__pyx_v_state == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21602
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:
 *         pstate = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstate = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21601
 *     """
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21603
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_state, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21604
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)             # <<<<<<<<<<<<<<
 *     else:
 *         pstate = int(CUlinkState(state))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstate = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21603
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21606
 *         pstate = int(state)
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef void_ptr cubinOut = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_state};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21606, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstate = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21607
 *     else:
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     cdef void_ptr cubinOut = 0
 *     cdef size_t sizeOut = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21607, __pyx_L1_error)
  __pyx_v_cystate = ((CUlinkState)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21608
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef void_ptr cubinOut = 0             # <<<<<<<<<<<<<<
 *     cdef size_t sizeOut = 0
 *     with nogil:
*/
  __pyx_v_cubinOut = 0;

  /* "cuda/bindings/driver.pyx":21609
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef void_ptr cubinOut = 0
 *     cdef size_t sizeOut = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLinkComplete(cystate, <void**>&cubinOut, &sizeOut)
*/
  __pyx_v_sizeOut = 0;

  /* "cuda/bindings/driver.pyx":21610
 *     cdef void_ptr cubinOut = 0
 *     cdef size_t sizeOut = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkComplete(cystate, <void**>&cubinOut, &sizeOut)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21611
 *     cdef size_t sizeOut = 0
 *     with nogil:
 *         err = cydriver.cuLinkComplete(cystate, <void**>&cubinOut, &sizeOut)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLinkComplete(__pyx_v_cystate, ((void **)(&__pyx_v_cubinOut)), (&__pyx_v_sizeOut)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21611, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21610
 *     cdef void_ptr cubinOut = 0
 *     cdef size_t sizeOut = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkComplete(cystate, <void**>&cubinOut, &sizeOut)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21612
 *     with nogil:
 *         err = cydriver.cuLinkComplete(cystate, <void**>&cubinOut, &sizeOut)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], cubinOut, sizeOut)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21613
 *         err = cydriver.cuLinkComplete(cystate, <void**>&cubinOut, &sizeOut)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cubinOut, sizeOut)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21613, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 21613, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 21613, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21612
 *     with nogil:
 *         err = cydriver.cuLinkComplete(cystate, <void**>&cubinOut, &sizeOut)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], cubinOut, sizeOut)
*/
  }

  /* "cuda/bindings/driver.pyx":21614
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], cubinOut, sizeOut)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_cubinOut); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_sizeOut); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 21614, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 21614, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 21614, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21572
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkComplete(state):
 *     """ Complete a pending linker invocation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkComplete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstate);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21616
 *     return (_dict_CUresult[err], cubinOut, sizeOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkDestroy(state):
 *     """ Destroys state for a JIT linker invocation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_135cuLinkDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_134cuLinkDestroy, "cuLinkDestroy(state)\n\nDestroys state for a JIT linker invocation.\n\nParameters\n----------\nstate : :py:obj:`~.CUlinkState`\n    State object for the linker invocation\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuLinkCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_135cuLinkDestroy = {"cuLinkDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_135cuLinkDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_134cuLinkDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_135cuLinkDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLinkDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21616, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLinkDestroy", 0) < (0)) __PYX_ERR(0, 21616, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLinkDestroy", 1, 1, 1, i); __PYX_ERR(0, 21616, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21616, __pyx_L3_error)
    }
    __pyx_v_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21616, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_134cuLinkDestroy(__pyx_self, __pyx_v_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_134cuLinkDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state) {
  CUlinkState __pyx_v_cystate;
  PyObject *__pyx_v_pstate = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLinkDestroy", 0);

  /* "cuda/bindings/driver.pyx":21635
 *     """
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
  __pyx_t_1 = (__pyx_v_state == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21636
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:
 *         pstate = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstate = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21635
 *     """
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21637
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_state, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21638
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)             # <<<<<<<<<<<<<<
 *     else:
 *         pstate = int(CUlinkState(state))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstate = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21637
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21640
 *         pstate = int(state)
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_state};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21640, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstate = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21641
 *     else:
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLinkDestroy(cystate)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21641, __pyx_L1_error)
  __pyx_v_cystate = ((CUlinkState)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21642
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkDestroy(cystate)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21643
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     with nogil:
 *         err = cydriver.cuLinkDestroy(cystate)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLinkDestroy(__pyx_v_cystate); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21643, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21642
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkDestroy(cystate)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21644
 *     with nogil:
 *         err = cydriver.cuLinkDestroy(cystate)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21644, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21616
 *     return (_dict_CUresult[err], cubinOut, sizeOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkDestroy(state):
 *     """ Destroys state for a JIT linker invocation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLinkDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstate);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetTexRef(hmod, char* name):
 *     """ Returns a handle to a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_137cuModuleGetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_136cuModuleGetTexRef, "cuModuleGetTexRef(hmod, char *name)\n\nReturns a handle to a texture reference.\n\n[Deprecated]\n\nReturns in `*pTexRef` the handle of the texture reference of name\n`name` in the module `hmod`. If no texture reference of that name\nexists, :py:obj:`~.cuModuleGetTexRef()` returns\n:py:obj:`~.CUDA_ERROR_NOT_FOUND`. This texture reference handle should\nnot be destroyed, since it will be destroyed when the module is\nunloaded.\n\nParameters\n----------\nhmod : :py:obj:`~.CUmodule`\n    Module to retrieve texture reference from\nname : bytes\n    Name of texture reference to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\npTexRef : :py:obj:`~.CUtexref`\n    Returned texture reference\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetSurfRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_137cuModuleGetTexRef = {"cuModuleGetTexRef", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_137cuModuleGetTexRef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_136cuModuleGetTexRef};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_137cuModuleGetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hmod = 0;
  char *__pyx_v_name;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleGetTexRef (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hmod,&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21646, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21646, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21646, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleGetTexRef", 0) < (0)) __PYX_ERR(0, 21646, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleGetTexRef", 1, 2, 2, i); __PYX_ERR(0, 21646, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21646, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21646, __pyx_L3_error)
    }
    __pyx_v_hmod = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 21647, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetTexRef", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21646, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetTexRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_136cuModuleGetTexRef(__pyx_self, __pyx_v_hmod, __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_136cuModuleGetTexRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name) {
  CUmodule __pyx_v_cyhmod;
  PyObject *__pyx_v_phmod = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_pTexRef = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetTexRef", 0);

  /* "cuda/bindings/driver.pyx":21678
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21679
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:
 *         phmod = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phmod = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21678
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21680
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21681
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21680
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21683
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUtexref pTexRef = CUtexref()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21683, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21684
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21684, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21685
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUtexref pTexRef = CUtexref()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleGetTexRef(<cydriver.CUtexref*>pTexRef._pvt_ptr, cyhmod, name)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21685, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pTexRef = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":21686
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetTexRef(<cydriver.CUtexref*>pTexRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21687
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:
 *         err = cydriver.cuModuleGetTexRef(<cydriver.CUtexref*>pTexRef._pvt_ptr, cyhmod, name)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetTexRef(((CUtexref *)__pyx_v_pTexRef->_pvt_ptr), __pyx_v_cyhmod, __pyx_v_name); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21687, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21686
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetTexRef(<cydriver.CUtexref*>pTexRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21688
 *     with nogil:
 *         err = cydriver.cuModuleGetTexRef(<cydriver.CUtexref*>pTexRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexRef)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21689
 *         err = cydriver.cuModuleGetTexRef(<cydriver.CUtexref*>pTexRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pTexRef)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 21689, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 21689, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21688
 *     with nogil:
 *         err = cydriver.cuModuleGetTexRef(<cydriver.CUtexref*>pTexRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexRef)
*/
  }

  /* "cuda/bindings/driver.pyx":21690
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexRef)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 21690, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pTexRef)) != (0)) __PYX_ERR(0, 21690, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetTexRef(hmod, char* name):
 *     """ Returns a handle to a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetTexRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phmod);
  __Pyx_XDECREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21692
 *     return (_dict_CUresult[err], pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetSurfRef(hmod, char* name):
 *     """ Returns a handle to a surface reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_139cuModuleGetSurfRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_138cuModuleGetSurfRef, "cuModuleGetSurfRef(hmod, char *name)\n\nReturns a handle to a surface reference.\n\n[Deprecated]\n\nReturns in `*pSurfRef` the handle of the surface reference of name\n`name` in the module `hmod`. If no surface reference of that name\nexists, :py:obj:`~.cuModuleGetSurfRef()` returns\n:py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\nParameters\n----------\nhmod : :py:obj:`~.CUmodule`\n    Module to retrieve surface reference from\nname : bytes\n    Name of surface reference to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\npSurfRef : :py:obj:`~.CUsurfref`\n    Returned surface reference\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_139cuModuleGetSurfRef = {"cuModuleGetSurfRef", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_139cuModuleGetSurfRef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_138cuModuleGetSurfRef};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_139cuModuleGetSurfRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hmod = 0;
  char *__pyx_v_name;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuModuleGetSurfRef (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hmod,&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21692, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21692, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21692, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuModuleGetSurfRef", 0) < (0)) __PYX_ERR(0, 21692, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuModuleGetSurfRef", 1, 2, 2, i); __PYX_ERR(0, 21692, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21692, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21692, __pyx_L3_error)
    }
    __pyx_v_hmod = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 21693, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetSurfRef", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21692, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetSurfRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_138cuModuleGetSurfRef(__pyx_self, __pyx_v_hmod, __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_138cuModuleGetSurfRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name) {
  CUmodule __pyx_v_cyhmod;
  PyObject *__pyx_v_phmod = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_pSurfRef = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetSurfRef", 0);

  /* "cuda/bindings/driver.pyx":21722
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21723
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:
 *         phmod = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phmod = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21722
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21724
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21725
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21724
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21727
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUsurfref pSurfRef = CUsurfref()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21727, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21728
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUsurfref pSurfRef = CUsurfref()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21728, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21729
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUsurfref pSurfRef = CUsurfref()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleGetSurfRef(<cydriver.CUsurfref*>pSurfRef._pvt_ptr, cyhmod, name)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21729, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pSurfRef = ((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":21730
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUsurfref pSurfRef = CUsurfref()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetSurfRef(<cydriver.CUsurfref*>pSurfRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21731
 *     cdef CUsurfref pSurfRef = CUsurfref()
 *     with nogil:
 *         err = cydriver.cuModuleGetSurfRef(<cydriver.CUsurfref*>pSurfRef._pvt_ptr, cyhmod, name)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetSurfRef(((CUsurfref *)__pyx_v_pSurfRef->_pvt_ptr), __pyx_v_cyhmod, __pyx_v_name); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21731, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21730
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUsurfref pSurfRef = CUsurfref()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetSurfRef(<cydriver.CUsurfref*>pSurfRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21732
 *     with nogil:
 *         err = cydriver.cuModuleGetSurfRef(<cydriver.CUsurfref*>pSurfRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pSurfRef)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21733
 *         err = cydriver.cuModuleGetSurfRef(<cydriver.CUsurfref*>pSurfRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pSurfRef)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 21733, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 21733, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21732
 *     with nogil:
 *         err = cydriver.cuModuleGetSurfRef(<cydriver.CUsurfref*>pSurfRef._pvt_ptr, cyhmod, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pSurfRef)
*/
  }

  /* "cuda/bindings/driver.pyx":21734
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pSurfRef)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 21734, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pSurfRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pSurfRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pSurfRef)) != (0)) __PYX_ERR(0, 21734, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21692
 *     return (_dict_CUresult[err], pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetSurfRef(hmod, char* name):
 *     """ Returns a handle to a surface reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuModuleGetSurfRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phmod);
  __Pyx_XDECREF((PyObject *)__pyx_v_pSurfRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21736
 *     return (_dict_CUresult[err], pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues : Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions : Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues : Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified code and options.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_141cuLibraryLoadData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_140cuLibraryLoadData, "cuLibraryLoadData(code, jitOptions: Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues: Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions: Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues: Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions)\n\nLoad a library with specified code and options.\n\nTakes a pointer `code` and loads the corresponding library `library`\nbased on the application defined library loading mode:\n\n- If module loading is set to EAGER, via the environment variables\n  described in \"Module loading\", `library` is loaded eagerly into all\n  contexts at the time of the call and future contexts at the time of\n  creation until the library is unloaded with\n  :py:obj:`~.cuLibraryUnload()`.\n\n- If the environment variables are set to LAZY, `library` is not\n  immediately loaded onto all existent contexts and will only be loaded\n  when a function is needed for that context, such as a kernel launch.\n\nThese environment variables are described in the CUDA programming guide\nunder the \"CUDA environment variables\" section.\n\nThe `code` may be a `cubin` or `fatbin` as output by nvcc, or a NULL-\nterminated `PTX`, either as output by nvcc or hand-written. A fatbin\nshould also contain relocatable code when doing separate compilation.\n\nOptions are passed as an array via `jitOptions` and any corresponding\nparameters are passed in `jitOptionsValues`. The number of total JIT\noptions is supplied via `numJitOptions`. Any outputs will be returned\nvia `jitOptionsValues`.\n\nLibrary load options are passed as an array via `libraryOptions` and\nany corresponding parameters are passed in `libraryOptionValues`. The\nnumber of total library load options is supplied via\n`numLibraryOptions`.\n\nParameters\n----------\ncode : Any\n    Code to load\njitOptions : list[:py:obj:`~.CUjit_option`]\n    Options for JIT\njitOptionsValues : list[Any]\n    Option values for JIT\nnumJit""Options : unsigned int\n    Number of options\nlibraryOptions : list[:py:obj:`~.CUlibraryOption`]\n    Options for loading\nlibraryOptionValues : list[Any]\n    Option values for loading\nnumLibraryOptions : unsigned int\n    Number of options for loading\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_PTX`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_PTX_VERSION`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NO_BINARY_FOR_GPU`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_JIT_COMPILER_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nlibrary : :py:obj:`~.CUlibrary`\n    Returned library\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`\n\nNotes\n-----\nIf the library contains managed variables and no device in the system supports managed variables this call is expected to return :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_141cuLibraryLoadData = {"cuLibraryLoadData", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_141cuLibraryLoadData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_140cuLibraryLoadData};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_141cuLibraryLoadData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_code = 0;
  PyObject *__pyx_v_jitOptions = 0;
  PyObject *__pyx_v_jitOptionsValues = 0;
  unsigned int __pyx_v_numJitOptions;
  PyObject *__pyx_v_libraryOptions = 0;
  PyObject *__pyx_v_libraryOptionValues = 0;
  unsigned int __pyx_v_numLibraryOptions;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[7] = {0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryLoadData (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_code,&__pyx_mstate_global->__pyx_n_u_jitOptions,&__pyx_mstate_global->__pyx_n_u_jitOptionsValues,&__pyx_mstate_global->__pyx_n_u_numJitOptions,&__pyx_mstate_global->__pyx_n_u_libraryOptions,&__pyx_mstate_global->__pyx_n_u_libraryOptionValues,&__pyx_mstate_global->__pyx_n_u_numLibraryOptions,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21736, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 21736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryLoadData", 0) < (0)) __PYX_ERR(0, 21736, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 7; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, i); __PYX_ERR(0, 21736, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 7)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21736, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21736, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21736, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21736, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21736, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21736, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 21736, __pyx_L3_error)
    }
    __pyx_v_code = values[0];
    __pyx_v_jitOptions = values[1];
    __pyx_v_jitOptionsValues = values[2];
    __pyx_v_numJitOptions = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_numJitOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21737, __pyx_L3_error)
    __pyx_v_libraryOptions = values[4];
    __pyx_v_libraryOptionValues = values[5];
    __pyx_v_numLibraryOptions = __Pyx_PyLong_As_unsigned_int(values[6]); if (unlikely((__pyx_v_numLibraryOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21737, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, __pyx_nargs); __PYX_ERR(0, 21736, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryLoadData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_140cuLibraryLoadData(__pyx_self, __pyx_v_code, __pyx_v_jitOptions, __pyx_v_jitOptionsValues, __pyx_v_numJitOptions, __pyx_v_libraryOptions, __pyx_v_libraryOptionValues, __pyx_v_numLibraryOptions);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_2generator119(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21804
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17cuLibraryLoadData_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21804, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_2generator119, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[119]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuLibraryLoadData_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21804, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryLoadData.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_2generator119(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 21804, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21804, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21804, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21804, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21804, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21804, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21804, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUlibraryOption); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 21804, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_5generator120(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21808
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17cuLibraryLoadData_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21808, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_5generator120, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[120]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuLibraryLoadData_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21808, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryLoadData.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_5generator120(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 21808, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21808, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21808, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21808, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21808, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21808, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21808, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUjit_option); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 21808, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21736
 *     return (_dict_CUresult[err], pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues : Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions : Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues : Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified code and options.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_140cuLibraryLoadData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code, PyObject *__pyx_v_jitOptions, PyObject *__pyx_v_jitOptionsValues, unsigned int __pyx_v_numJitOptions, PyObject *__pyx_v_libraryOptions, PyObject *__pyx_v_libraryOptionValues, unsigned int __pyx_v_numLibraryOptions) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_library = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cycode = NULL;
  void *__pyx_v_cycode_ptr;
  std::vector<CUjit_option>  __pyx_v_cyjitOptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperjitOptionsValues = 0;
  void **__pyx_v_cyjitOptionsValues_ptr;
  std::vector<CUlibraryOption>  __pyx_v_cylibraryOptions;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperlibraryOptionValues = 0;
  void **__pyx_v_cylibraryOptionValues_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_2generator119 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_5generator120 = 0;
  PyObject *__pyx_10genexpr249__pyx_v_pyjitOptions = NULL;
  PyObject *__pyx_10genexpr250__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr250__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_10genexpr251__pyx_v_pylibraryOptions = NULL;
  PyObject *__pyx_10genexpr252__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr252__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  std::vector<CUjit_option>  __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *(*__pyx_t_14)(PyObject *);
  std::vector<CUlibraryOption>  __pyx_t_15;
  CUresult __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryLoadData", 0);
  __Pyx_INCREF(__pyx_v_jitOptions);
  __Pyx_INCREF(__pyx_v_jitOptionsValues);
  __Pyx_INCREF(__pyx_v_libraryOptions);
  __Pyx_INCREF(__pyx_v_libraryOptionValues);

  /* "cuda/bindings/driver.pyx":21802
 *     If the library contains managed variables and no device in the system supports managed variables this call is expected to return :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`
 *     """
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues             # <<<<<<<<<<<<<<
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
*/
  __pyx_t_2 = (__pyx_v_libraryOptionValues == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_libraryOptionValues);
    __pyx_t_1 = __pyx_v_libraryOptionValues;
  }
  __Pyx_DECREF_SET(__pyx_v_libraryOptionValues, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21803
 *     """
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
*/
  __pyx_t_2 = (__pyx_v_libraryOptions == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_libraryOptions);
    __pyx_t_1 = __pyx_v_libraryOptions;
  }
  __Pyx_DECREF_SET(__pyx_v_libraryOptions, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21804
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_17cuLibraryLoadData_genexpr(NULL, __pyx_v_libraryOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 21804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":21805
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")             # <<<<<<<<<<<<<<
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_libraryOptions_is_not_i};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21805, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21805, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21804
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
*/
  }

  /* "cuda/bindings/driver.pyx":21806
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues             # <<<<<<<<<<<<<<
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
*/
  __pyx_t_4 = (__pyx_v_jitOptionsValues == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_jitOptionsValues);
    __pyx_t_3 = __pyx_v_jitOptionsValues;
  }
  __Pyx_DECREF_SET(__pyx_v_jitOptionsValues, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21807
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
*/
  __pyx_t_4 = (__pyx_v_jitOptions == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21807, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_jitOptions);
    __pyx_t_3 = __pyx_v_jitOptions;
  }
  __Pyx_DECREF_SET(__pyx_v_jitOptions, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21808
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_17cuLibraryLoadData_3genexpr(NULL, __pyx_v_jitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 21808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":21809
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef CUlibrary library = CUlibrary()
 *     cycode = _HelperInputVoidPtr(code)
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_jitOptions_is_not_insta};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21809, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21809, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21808
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
*/
  }

  /* "cuda/bindings/driver.pyx":21810
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()             # <<<<<<<<<<<<<<
 *     cycode = _HelperInputVoidPtr(code)
 *     cdef void* cycode_ptr = <void*><void_ptr>cycode.cptr
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21810, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_library = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21811
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 *     cycode = _HelperInputVoidPtr(code)             # <<<<<<<<<<<<<<
 *     cdef void* cycode_ptr = <void*><void_ptr>cycode.cptr
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_code};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21811, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_cycode = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21812
 *     cdef CUlibrary library = CUlibrary()
 *     cycode = _HelperInputVoidPtr(code)
 *     cdef void* cycode_ptr = <void*><void_ptr>cycode.cptr             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cycode), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cycode_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21813
 *     cycode = _HelperInputVoidPtr(code)
 *     cdef void* cycode_ptr = <void*><void_ptr>cycode.cptr
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21813, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (likely(PyList_CheckExact(__pyx_v_jitOptions)) || PyTuple_CheckExact(__pyx_v_jitOptions)) {
      __pyx_t_1 = __pyx_v_jitOptions; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_jitOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21813, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21813, __pyx_L7_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21813, __pyx_L7_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21813, __pyx_L7_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21813, __pyx_L7_error)
      } else {
        __pyx_t_3 = __pyx_t_9(__pyx_t_1);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21813, __pyx_L7_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr249__pyx_v_pyjitOptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr249__pyx_v_pyjitOptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21813, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 21813, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_10genexpr249__pyx_v_pyjitOptions); __pyx_10genexpr249__pyx_v_pyjitOptions = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr249__pyx_v_pyjitOptions); __pyx_10genexpr249__pyx_v_pyjitOptions = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_t_10 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyjitOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_10);

  /* "cuda/bindings/driver.pyx":21814
 *     cdef void* cycode_ptr = <void*><void_ptr>cycode.cptr
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21814, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_11 = __pyx_builtin_zip; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_jitOptions, __pyx_v_jitOptionsValues};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21814, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_11 = __pyx_t_1; __Pyx_INCREF(__pyx_t_11);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21814, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21814, __pyx_L14_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_11))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_11);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21814, __pyx_L14_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRef(__pyx_t_11, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_11);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21814, __pyx_L14_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_8));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_11, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21814, __pyx_L14_error)
      } else {
        __pyx_t_1 = __pyx_t_9(__pyx_t_11);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21814, __pyx_L14_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
        PyObject* sequence = __pyx_t_1;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 21814, __pyx_L14_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_3);
          __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_12);
        } else {
          __pyx_t_3 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21814, __pyx_L14_error)
          __Pyx_XGOTREF(__pyx_t_3);
          __pyx_t_12 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21814, __pyx_L14_error)
          __Pyx_XGOTREF(__pyx_t_12);
        }
        #else
        __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21814, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_12 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21814, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_12);
        #endif
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_13 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21814, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_14 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_13);
        index = 0; __pyx_t_3 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_3)) goto __pyx_L17_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_3);
        index = 1; __pyx_t_12 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_12)) goto __pyx_L17_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_12);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 2) < (0)) __PYX_ERR(0, 21814, __pyx_L14_error)
        __pyx_t_14 = NULL;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        goto __pyx_L18_unpacking_done;
        __pyx_L17_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __pyx_t_14 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21814, __pyx_L14_error)
        __pyx_L18_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr250__pyx_v_pyoptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr250__pyx_v_pyoptionValues, __pyx_t_12);
      __pyx_t_12 = 0;
      __pyx_t_12 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
      __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_10genexpr250__pyx_v_pyoptions, __pyx_10genexpr250__pyx_v_pyoptionValues};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21814, __pyx_L14_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 21814, __pyx_L14_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_XDECREF(__pyx_10genexpr250__pyx_v_pyoptionValues); __pyx_10genexpr250__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr250__pyx_v_pyoptions); __pyx_10genexpr250__pyx_v_pyoptions = 0;
    goto __pyx_L20_exit_scope;
    __pyx_L14_error:;
    __Pyx_XDECREF(__pyx_10genexpr250__pyx_v_pyoptionValues); __pyx_10genexpr250__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr250__pyx_v_pyoptions); __pyx_10genexpr250__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L20_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21815
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
*/
  __pyx_t_11 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_pylist};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21815, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_voidStarHelperjitOptionsValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21816
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr             # <<<<<<<<<<<<<<
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperjitOptionsValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21816, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyjitOptionsValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21817
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))             # <<<<<<<<<<<<<<
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_jitOptions); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21817, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_8);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_11 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_jitOptions); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21817, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_3};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21817, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21818
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21818, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_8);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_11 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_3 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21818, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_13, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_1};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21818, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21818, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21819
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21819, __pyx_L25_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (likely(PyList_CheckExact(__pyx_v_libraryOptions)) || PyTuple_CheckExact(__pyx_v_libraryOptions)) {
      __pyx_t_3 = __pyx_v_libraryOptions; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_libraryOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21819, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21819, __pyx_L25_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21819, __pyx_L25_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21819, __pyx_L25_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21819, __pyx_L25_error)
      } else {
        __pyx_t_1 = __pyx_t_9(__pyx_t_3);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21819, __pyx_L25_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_10genexpr251__pyx_v_pylibraryOptions, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr251__pyx_v_pylibraryOptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21819, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 21819, __pyx_L25_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr251__pyx_v_pylibraryOptions); __pyx_10genexpr251__pyx_v_pylibraryOptions = 0;
    goto __pyx_L29_exit_scope;
    __pyx_L25_error:;
    __Pyx_XDECREF(__pyx_10genexpr251__pyx_v_pylibraryOptions); __pyx_10genexpr251__pyx_v_pylibraryOptions = 0;
    goto __pyx_L1_error;
    __pyx_L29_exit_scope:;
  } /* exit inner scope */
  __pyx_t_15 = __pyx_convert_vector_from_py_CUlibraryOption(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cylibraryOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_15);

  /* "cuda/bindings/driver.pyx":21820
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21820, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_11 = __pyx_builtin_zip; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_v_libraryOptions, __pyx_v_libraryOptionValues};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21820, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_11 = __pyx_t_3; __Pyx_INCREF(__pyx_t_11);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21820, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21820, __pyx_L32_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_11))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_11);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21820, __pyx_L32_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRef(__pyx_t_11, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_11);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21820, __pyx_L32_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_8));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_11, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21820, __pyx_L32_error)
      } else {
        __pyx_t_3 = __pyx_t_9(__pyx_t_11);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21820, __pyx_L32_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
        PyObject* sequence = __pyx_t_3;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 21820, __pyx_L32_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_12);
        } else {
          __pyx_t_1 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21820, __pyx_L32_error)
          __Pyx_XGOTREF(__pyx_t_1);
          __pyx_t_12 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21820, __pyx_L32_error)
          __Pyx_XGOTREF(__pyx_t_12);
        }
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21820, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_12 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21820, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_12);
        #endif
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_13 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21820, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_14 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_13);
        index = 0; __pyx_t_1 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_1)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_1);
        index = 1; __pyx_t_12 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_12)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_12);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 2) < (0)) __PYX_ERR(0, 21820, __pyx_L32_error)
        __pyx_t_14 = NULL;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        goto __pyx_L36_unpacking_done;
        __pyx_L35_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __pyx_t_14 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21820, __pyx_L32_error)
        __pyx_L36_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr252__pyx_v_pyoptions, __pyx_t_1);
      __pyx_t_1 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr252__pyx_v_pyoptionValues, __pyx_t_12);
      __pyx_t_12 = 0;
      __pyx_t_12 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption);
      __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_10genexpr252__pyx_v_pyoptions, __pyx_10genexpr252__pyx_v_pyoptionValues};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21820, __pyx_L32_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 21820, __pyx_L32_error)
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_XDECREF(__pyx_10genexpr252__pyx_v_pyoptionValues); __pyx_10genexpr252__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr252__pyx_v_pyoptions); __pyx_10genexpr252__pyx_v_pyoptions = 0;
    goto __pyx_L38_exit_scope;
    __pyx_L32_error:;
    __Pyx_XDECREF(__pyx_10genexpr252__pyx_v_pyoptionValues); __pyx_10genexpr252__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr252__pyx_v_pyoptions); __pyx_10genexpr252__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L38_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pylist, ((PyObject*)__pyx_t_5));
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21821
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
*/
  __pyx_t_11 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_pylist};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21821, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_voidStarHelperlibraryOptionValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21822
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr             # <<<<<<<<<<<<<<
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cylibraryOptionValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":21823
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))             # <<<<<<<<<<<<<<
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_libraryOptions); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21823, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_8);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_11 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_libraryOptions); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21823, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_1};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21823, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21823, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21824
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryLoadData(<cydriver.CUlibrary*>library._pvt_ptr, cycode_ptr, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21824, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_8);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_11 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_1 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21824, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_13, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21824, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21824, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21825
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryLoadData(<cydriver.CUlibrary*>library._pvt_ptr, cycode_ptr, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21826
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     with nogil:
 *         err = cydriver.cuLibraryLoadData(<cydriver.CUlibrary*>library._pvt_ptr, cycode_ptr, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_16 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryLoadData(((CUlibrary *)__pyx_v_library->_pvt_ptr), __pyx_v_cycode_ptr, __pyx_v_cyjitOptions.data(), __pyx_v_cyjitOptionsValues_ptr, __pyx_v_numJitOptions, __pyx_v_cylibraryOptions.data(), __pyx_v_cylibraryOptionValues_ptr, __pyx_v_numLibraryOptions); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21826, __pyx_L42_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":21825
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryLoadData(<cydriver.CUlibrary*>library._pvt_ptr, cycode_ptr, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L43;
        }
        __pyx_L42_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L43:;
      }
  }

  /* "cuda/bindings/driver.pyx":21827
 *     with nogil:
 *         err = cydriver.cuLibraryLoadData(<cydriver.CUlibrary*>library._pvt_ptr, cycode_ptr, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], library)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":21828
 *         err = cydriver.cuLibraryLoadData(<cydriver.CUlibrary*>library._pvt_ptr, cycode_ptr, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], library)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21828, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, Py_None) != (0)) __PYX_ERR(0, 21828, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21827
 *     with nogil:
 *         err = cydriver.cuLibraryLoadData(<cydriver.CUlibrary*>library._pvt_ptr, cycode_ptr, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], library)
*/
  }

  /* "cuda/bindings/driver.pyx":21829
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], library)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 21829, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_library);
  __Pyx_GIVEREF((PyObject *)__pyx_v_library);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_library)) != (0)) __PYX_ERR(0, 21829, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21736
 *     return (_dict_CUresult[err], pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues : Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions : Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues : Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified code and options.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryLoadData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_library);
  __Pyx_XDECREF((PyObject *)__pyx_v_cycode);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperjitOptionsValues);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_2generator119);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_5generator120);
  __Pyx_XDECREF(__pyx_10genexpr249__pyx_v_pyjitOptions);
  __Pyx_XDECREF(__pyx_10genexpr250__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr250__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_10genexpr251__pyx_v_pylibraryOptions);
  __Pyx_XDECREF(__pyx_10genexpr252__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr252__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_jitOptions);
  __Pyx_XDECREF(__pyx_v_jitOptionsValues);
  __Pyx_XDECREF(__pyx_v_libraryOptions);
  __Pyx_XDECREF(__pyx_v_libraryOptionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21831
 *     return (_dict_CUresult[err], library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues : Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions : Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues : Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified file and options.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_143cuLibraryLoadFromFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_142cuLibraryLoadFromFile, "cuLibraryLoadFromFile(char *fileName, jitOptions: Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues: Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions: Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues: Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions)\n\nLoad a library with specified file and options.\n\nTakes a pointer `code` and loads the corresponding library `library`\nbased on the application defined library loading mode:\n\n- If module loading is set to EAGER, via the environment variables\n  described in \"Module loading\", `library` is loaded eagerly into all\n  contexts at the time of the call and future contexts at the time of\n  creation until the library is unloaded with\n  :py:obj:`~.cuLibraryUnload()`.\n\n- If the environment variables are set to LAZY, `library` is not\n  immediately loaded onto all existent contexts and will only be loaded\n  when a function is needed for that context, such as a kernel launch.\n\nThese environment variables are described in the CUDA programming guide\nunder the \"CUDA environment variables\" section.\n\nThe file should be a `cubin` file as output by nvcc, or a `PTX` file\neither as output by nvcc or handwritten, or a `fatbin` file as output\nby nvcc. A fatbin should also contain relocatable code when doing\nseparate compilation.\n\nOptions are passed as an array via `jitOptions` and any corresponding\nparameters are passed in `jitOptionsValues`. The number of total\noptions is supplied via `numJitOptions`. Any outputs will be returned\nvia `jitOptionsValues`.\n\nLibrary load options are passed as an array via `libraryOptions` and\nany corresponding parameters are passed in `libraryOptionValues`. The\nnumber of total library load options is supplied via\n`numLibraryOptions`.\n\nParameters\n----------\nfileName : bytes\n    File to load from\njitOptions : list[:py:obj:`~.CUjit_option`]\n    Options for JIT\njitOptionsValues : list""[Any]\n    Option values for JIT\nnumJitOptions : unsigned int\n    Number of options\nlibraryOptions : list[:py:obj:`~.CUlibraryOption`]\n    Options for loading\nlibraryOptionValues : list[Any]\n    Option values for loading\nnumLibraryOptions : unsigned int\n    Number of options for loading\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_PTX`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_PTX_VERSION`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NO_BINARY_FOR_GPU`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_JIT_COMPILER_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nlibrary : :py:obj:`~.CUlibrary`\n    Returned library\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`\n\nNotes\n-----\nIf the library contains managed variables and no device in the system supports managed variables this call is expected to return :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_143cuLibraryLoadFromFile = {"cuLibraryLoadFromFile", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_143cuLibraryLoadFromFile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_142cuLibraryLoadFromFile};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_143cuLibraryLoadFromFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  char *__pyx_v_fileName;
  PyObject *__pyx_v_jitOptions = 0;
  PyObject *__pyx_v_jitOptionsValues = 0;
  unsigned int __pyx_v_numJitOptions;
  PyObject *__pyx_v_libraryOptions = 0;
  PyObject *__pyx_v_libraryOptionValues = 0;
  unsigned int __pyx_v_numLibraryOptions;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[7] = {0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryLoadFromFile (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_fileName,&__pyx_mstate_global->__pyx_n_u_jitOptions,&__pyx_mstate_global->__pyx_n_u_jitOptionsValues,&__pyx_mstate_global->__pyx_n_u_numJitOptions,&__pyx_mstate_global->__pyx_n_u_libraryOptions,&__pyx_mstate_global->__pyx_n_u_libraryOptionValues,&__pyx_mstate_global->__pyx_n_u_numLibraryOptions,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21831, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 21831, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21831, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21831, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21831, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21831, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21831, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21831, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryLoadFromFile", 0) < (0)) __PYX_ERR(0, 21831, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 7; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, i); __PYX_ERR(0, 21831, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 7)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21831, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21831, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21831, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21831, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21831, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21831, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 21831, __pyx_L3_error)
    }
    __pyx_v_fileName = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_fileName) && PyErr_Occurred())) __PYX_ERR(0, 21832, __pyx_L3_error)
    __pyx_v_jitOptions = values[1];
    __pyx_v_jitOptionsValues = values[2];
    __pyx_v_numJitOptions = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_numJitOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21832, __pyx_L3_error)
    __pyx_v_libraryOptions = values[4];
    __pyx_v_libraryOptionValues = values[5];
    __pyx_v_numLibraryOptions = __Pyx_PyLong_As_unsigned_int(values[6]); if (unlikely((__pyx_v_numLibraryOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21832, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, __pyx_nargs); __PYX_ERR(0, 21831, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryLoadFromFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_142cuLibraryLoadFromFile(__pyx_self, __pyx_v_fileName, __pyx_v_jitOptions, __pyx_v_jitOptionsValues, __pyx_v_numJitOptions, __pyx_v_libraryOptions, __pyx_v_libraryOptionValues, __pyx_v_numLibraryOptions);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_2generator121(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21900
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21900, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_2generator121, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[121]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuLibraryLoadFromFile_locals_gen, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21900, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryLoadFromFile.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_2generator121(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 21900, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21900, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21900, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21900, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21900, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21900, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21900, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUlibraryOption); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 21900, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_5generator122(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21904
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21904, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_5generator122, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[122]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuLibraryLoadFromFile_locals_gen, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21904, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryLoadFromFile.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_5generator122(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 21904, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21904, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21904, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21904, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21904, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21904, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21904, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUjit_option); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 21904, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21831
 *     return (_dict_CUresult[err], library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues : Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions : Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues : Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified file and options.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_142cuLibraryLoadFromFile(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_fileName, PyObject *__pyx_v_jitOptions, PyObject *__pyx_v_jitOptionsValues, unsigned int __pyx_v_numJitOptions, PyObject *__pyx_v_libraryOptions, PyObject *__pyx_v_libraryOptionValues, unsigned int __pyx_v_numLibraryOptions) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_library = 0;
  std::vector<CUjit_option>  __pyx_v_cyjitOptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperjitOptionsValues = 0;
  void **__pyx_v_cyjitOptionsValues_ptr;
  std::vector<CUlibraryOption>  __pyx_v_cylibraryOptions;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperlibraryOptionValues = 0;
  void **__pyx_v_cylibraryOptionValues_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_2generator121 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_5generator122 = 0;
  PyObject *__pyx_10genexpr255__pyx_v_pyjitOptions = NULL;
  PyObject *__pyx_10genexpr256__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr256__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_10genexpr257__pyx_v_pylibraryOptions = NULL;
  PyObject *__pyx_10genexpr258__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr258__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  std::vector<CUjit_option>  __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *(*__pyx_t_13)(PyObject *);
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_14;
  std::vector<CUlibraryOption>  __pyx_t_15;
  CUresult __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryLoadFromFile", 0);
  __Pyx_INCREF(__pyx_v_jitOptions);
  __Pyx_INCREF(__pyx_v_jitOptionsValues);
  __Pyx_INCREF(__pyx_v_libraryOptions);
  __Pyx_INCREF(__pyx_v_libraryOptionValues);

  /* "cuda/bindings/driver.pyx":21898
 *     If the library contains managed variables and no device in the system supports managed variables this call is expected to return :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`
 *     """
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues             # <<<<<<<<<<<<<<
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
*/
  __pyx_t_2 = (__pyx_v_libraryOptionValues == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_libraryOptionValues);
    __pyx_t_1 = __pyx_v_libraryOptionValues;
  }
  __Pyx_DECREF_SET(__pyx_v_libraryOptionValues, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21899
 *     """
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
*/
  __pyx_t_2 = (__pyx_v_libraryOptions == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_libraryOptions);
    __pyx_t_1 = __pyx_v_libraryOptions;
  }
  __Pyx_DECREF_SET(__pyx_v_libraryOptions, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":21900
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_genexpr(NULL, __pyx_v_libraryOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 21900, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":21901
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")             # <<<<<<<<<<<<<<
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_libraryOptions_is_not_i};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21901, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21900
 *     libraryOptionValues = [] if libraryOptionValues is None else libraryOptionValues
 *     libraryOptions = [] if libraryOptions is None else libraryOptions
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
*/
  }

  /* "cuda/bindings/driver.pyx":21902
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues             # <<<<<<<<<<<<<<
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
*/
  __pyx_t_4 = (__pyx_v_jitOptionsValues == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_jitOptionsValues);
    __pyx_t_3 = __pyx_v_jitOptionsValues;
  }
  __Pyx_DECREF_SET(__pyx_v_jitOptionsValues, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21903
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected tuple[cydriver.CUlibraryOption] or list[cydriver.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
*/
  __pyx_t_4 = (__pyx_v_jitOptions == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_jitOptions);
    __pyx_t_3 = __pyx_v_jitOptions;
  }
  __Pyx_DECREF_SET(__pyx_v_jitOptions, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21904
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_3genexpr(NULL, __pyx_v_jitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":21905
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef CUlibrary library = CUlibrary()
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_jitOptions_is_not_insta};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21905, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21905, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21904
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
*/
  }

  /* "cuda/bindings/driver.pyx":21906
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21906, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_library = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21907
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected tuple[cydriver.CUjit_option] or list[cydriver.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21907, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (likely(PyList_CheckExact(__pyx_v_jitOptions)) || PyTuple_CheckExact(__pyx_v_jitOptions)) {
      __pyx_t_3 = __pyx_v_jitOptions; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_jitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21907, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21907, __pyx_L7_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21907, __pyx_L7_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_7);
          ++__pyx_t_7;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21907, __pyx_L7_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21907, __pyx_L7_error)
      } else {
        __pyx_t_1 = __pyx_t_8(__pyx_t_3);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21907, __pyx_L7_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_10genexpr255__pyx_v_pyjitOptions, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr255__pyx_v_pyjitOptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21907, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 21907, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr255__pyx_v_pyjitOptions); __pyx_10genexpr255__pyx_v_pyjitOptions = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr255__pyx_v_pyjitOptions); __pyx_10genexpr255__pyx_v_pyjitOptions = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_t_9 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyjitOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_9);

  /* "cuda/bindings/driver.pyx":21908
 *     cdef CUlibrary library = CUlibrary()
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21908, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_10 = __pyx_builtin_zip; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_v_jitOptions, __pyx_v_jitOptionsValues};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21908, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_10 = __pyx_t_3; __Pyx_INCREF(__pyx_t_10);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21908, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21908, __pyx_L14_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_10))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21908, __pyx_L14_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRef(__pyx_t_10, __pyx_t_7);
          ++__pyx_t_7;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21908, __pyx_L14_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_7));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_10, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21908, __pyx_L14_error)
      } else {
        __pyx_t_3 = __pyx_t_8(__pyx_t_10);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21908, __pyx_L14_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
        PyObject* sequence = __pyx_t_3;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 21908, __pyx_L14_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_1 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21908, __pyx_L14_error)
          __Pyx_XGOTREF(__pyx_t_1);
          __pyx_t_11 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21908, __pyx_L14_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21908, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21908, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21908, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_1 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_1)) goto __pyx_L17_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_1);
        index = 1; __pyx_t_11 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L17_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < (0)) __PYX_ERR(0, 21908, __pyx_L14_error)
        __pyx_t_13 = NULL;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L18_unpacking_done;
        __pyx_L17_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __pyx_t_13 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21908, __pyx_L14_error)
        __pyx_L18_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr256__pyx_v_pyoptions, __pyx_t_1);
      __pyx_t_1 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr256__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
      __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr256__pyx_v_pyoptions, __pyx_10genexpr256__pyx_v_pyoptionValues};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21908, __pyx_L14_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 21908, __pyx_L14_error)
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_10genexpr256__pyx_v_pyoptionValues); __pyx_10genexpr256__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr256__pyx_v_pyoptions); __pyx_10genexpr256__pyx_v_pyoptions = 0;
    goto __pyx_L20_exit_scope;
    __pyx_L14_error:;
    __Pyx_XDECREF(__pyx_10genexpr256__pyx_v_pyoptionValues); __pyx_10genexpr256__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr256__pyx_v_pyoptions); __pyx_10genexpr256__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L20_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21909
 *     cdef vector[cydriver.CUjit_option] cyjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
*/
  __pyx_t_10 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_v_pylist};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21909, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_voidStarHelperjitOptionsValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21910
 *     pylist = [_HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(jitOptions, jitOptionsValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr             # <<<<<<<<<<<<<<
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperjitOptionsValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_14 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_14 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21910, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyjitOptionsValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_14));

  /* "cuda/bindings/driver.pyx":21911
 *     cdef _InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))             # <<<<<<<<<<<<<<
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_jitOptions); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21911, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_7);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_10 = __pyx_builtin_RuntimeError; 
    __pyx_t_7 = PyObject_Length(__pyx_v_jitOptions); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21911, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_1};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21911, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21911, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21912
 *     cdef void** cyjitOptionsValues_ptr = <void**><void_ptr>voidStarHelperjitOptionsValues.cptr
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21912, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_7);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_10 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_1 = __pyx_builtin_RuntimeError; 
    __pyx_t_7 = PyObject_Length(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21912, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_3};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21912, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21912, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21913
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21913, __pyx_L25_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (likely(PyList_CheckExact(__pyx_v_libraryOptions)) || PyTuple_CheckExact(__pyx_v_libraryOptions)) {
      __pyx_t_1 = __pyx_v_libraryOptions; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_libraryOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21913, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21913, __pyx_L25_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21913, __pyx_L25_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_7);
          ++__pyx_t_7;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21913, __pyx_L25_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21913, __pyx_L25_error)
      } else {
        __pyx_t_3 = __pyx_t_8(__pyx_t_1);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21913, __pyx_L25_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr257__pyx_v_pylibraryOptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr257__pyx_v_pylibraryOptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21913, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 21913, __pyx_L25_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_10genexpr257__pyx_v_pylibraryOptions); __pyx_10genexpr257__pyx_v_pylibraryOptions = 0;
    goto __pyx_L29_exit_scope;
    __pyx_L25_error:;
    __Pyx_XDECREF(__pyx_10genexpr257__pyx_v_pylibraryOptions); __pyx_10genexpr257__pyx_v_pylibraryOptions = 0;
    goto __pyx_L1_error;
    __pyx_L29_exit_scope:;
  } /* exit inner scope */
  __pyx_t_15 = __pyx_convert_vector_from_py_CUlibraryOption(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cylibraryOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_15);

  /* "cuda/bindings/driver.pyx":21914
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21914, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_10 = __pyx_builtin_zip; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_libraryOptions, __pyx_v_libraryOptionValues};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21914, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_10 = __pyx_t_1; __Pyx_INCREF(__pyx_t_10);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21914, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21914, __pyx_L32_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_10))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21914, __pyx_L32_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRef(__pyx_t_10, __pyx_t_7);
          ++__pyx_t_7;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 21914, __pyx_L32_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_7));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_10, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21914, __pyx_L32_error)
      } else {
        __pyx_t_1 = __pyx_t_8(__pyx_t_10);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21914, __pyx_L32_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
        PyObject* sequence = __pyx_t_1;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 21914, __pyx_L32_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_3);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_3 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21914, __pyx_L32_error)
          __Pyx_XGOTREF(__pyx_t_3);
          __pyx_t_11 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21914, __pyx_L32_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21914, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21914, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_12 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21914, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_3 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_3)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_3);
        index = 1; __pyx_t_11 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < (0)) __PYX_ERR(0, 21914, __pyx_L32_error)
        __pyx_t_13 = NULL;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L36_unpacking_done;
        __pyx_L35_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __pyx_t_13 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21914, __pyx_L32_error)
        __pyx_L36_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr258__pyx_v_pyoptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr258__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption);
      __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption); 
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr258__pyx_v_pyoptions, __pyx_10genexpr258__pyx_v_pyoptionValues};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21914, __pyx_L32_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 21914, __pyx_L32_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptionValues); __pyx_10genexpr258__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptions); __pyx_10genexpr258__pyx_v_pyoptions = 0;
    goto __pyx_L38_exit_scope;
    __pyx_L32_error:;
    __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptionValues); __pyx_10genexpr258__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptions); __pyx_10genexpr258__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L38_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pylist, ((PyObject*)__pyx_t_5));
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21915
 *     cdef vector[cydriver.CUlibraryOption] cylibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
*/
  __pyx_t_10 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_v_pylist};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21915, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_voidStarHelperlibraryOptionValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":21916
 *     pylist = [_HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(libraryOptions, libraryOptionValues)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr             # <<<<<<<<<<<<<<
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_14 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_14 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21916, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cylibraryOptionValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_14));

  /* "cuda/bindings/driver.pyx":21917
 *     cdef _InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))             # <<<<<<<<<<<<<<
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     with nogil:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_libraryOptions); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21917, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_7);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_10 = __pyx_builtin_RuntimeError; 
    __pyx_t_7 = PyObject_Length(__pyx_v_libraryOptions); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21917, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_3};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21917, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21917, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21918
 *     cdef void** cylibraryOptionValues_ptr = <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryLoadFromFile(<cydriver.CUlibrary*>library._pvt_ptr, fileName, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21918, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_7);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_10 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_3 = __pyx_builtin_RuntimeError; 
    __pyx_t_7 = PyObject_Length(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21918, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_1};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21918, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 21918, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21919
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryLoadFromFile(<cydriver.CUlibrary*>library._pvt_ptr, fileName, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21920
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     with nogil:
 *         err = cydriver.cuLibraryLoadFromFile(<cydriver.CUlibrary*>library._pvt_ptr, fileName, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_16 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryLoadFromFile(((CUlibrary *)__pyx_v_library->_pvt_ptr), __pyx_v_fileName, __pyx_v_cyjitOptions.data(), __pyx_v_cyjitOptionsValues_ptr, __pyx_v_numJitOptions, __pyx_v_cylibraryOptions.data(), __pyx_v_cylibraryOptionValues_ptr, __pyx_v_numLibraryOptions); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21920, __pyx_L42_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":21919
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryLoadFromFile(<cydriver.CUlibrary*>library._pvt_ptr, fileName, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L43;
        }
        __pyx_L42_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L43:;
      }
  }

  /* "cuda/bindings/driver.pyx":21921
 *     with nogil:
 *         err = cydriver.cuLibraryLoadFromFile(<cydriver.CUlibrary*>library._pvt_ptr, fileName, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], library)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":21922
 *         err = cydriver.cuLibraryLoadFromFile(<cydriver.CUlibrary*>library._pvt_ptr, fileName, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], library)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 21922, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 21922, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21921
 *     with nogil:
 *         err = cydriver.cuLibraryLoadFromFile(<cydriver.CUlibrary*>library._pvt_ptr, fileName, cyjitOptions.data(), cyjitOptionsValues_ptr, numJitOptions, cylibraryOptions.data(), cylibraryOptionValues_ptr, numLibraryOptions)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], library)
*/
  }

  /* "cuda/bindings/driver.pyx":21923
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], library)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 21923, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_library);
  __Pyx_GIVEREF((PyObject *)__pyx_v_library);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_library)) != (0)) __PYX_ERR(0, 21923, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21831
 *     return (_dict_CUresult[err], library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues : Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions : Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues : Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified file and options.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryLoadFromFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_library);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperjitOptionsValues);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_2generator121);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_5generator122);
  __Pyx_XDECREF(__pyx_10genexpr255__pyx_v_pyjitOptions);
  __Pyx_XDECREF(__pyx_10genexpr256__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr256__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_10genexpr257__pyx_v_pylibraryOptions);
  __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_jitOptions);
  __Pyx_XDECREF(__pyx_v_jitOptionsValues);
  __Pyx_XDECREF(__pyx_v_libraryOptions);
  __Pyx_XDECREF(__pyx_v_libraryOptionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21925
 *     return (_dict_CUresult[err], library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryUnload(library):
 *     """ Unloads a library.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_145cuLibraryUnload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_144cuLibraryUnload, "cuLibraryUnload(library)\n\nUnloads a library.\n\nUnloads the library specified with `library`\n\nParameters\n----------\nlibrary : :py:obj:`~.CUlibrary`\n    Library to unload\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuModuleUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_145cuLibraryUnload = {"cuLibraryUnload", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_145cuLibraryUnload, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_144cuLibraryUnload};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_145cuLibraryUnload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_library = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryUnload (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_library,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21925, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21925, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryUnload", 0) < (0)) __PYX_ERR(0, 21925, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryUnload", 1, 1, 1, i); __PYX_ERR(0, 21925, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21925, __pyx_L3_error)
    }
    __pyx_v_library = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryUnload", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21925, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryUnload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_144cuLibraryUnload(__pyx_self, __pyx_v_library);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_144cuLibraryUnload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library) {
  CUlibrary __pyx_v_cylibrary;
  PyObject *__pyx_v_plibrary = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryUnload", 0);

  /* "cuda/bindings/driver.pyx":21946
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21947
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:
 *         plibrary = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_plibrary = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21946
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21948
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21949
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21948
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21951
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21951, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21952
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryUnload(cylibrary)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21952, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21953
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryUnload(cylibrary)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21954
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     with nogil:
 *         err = cydriver.cuLibraryUnload(cylibrary)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryUnload(__pyx_v_cylibrary); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21954, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21953
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryUnload(cylibrary)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21955
 *     with nogil:
 *         err = cydriver.cuLibraryUnload(cylibrary)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 21955, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21925
 *     return (_dict_CUresult[err], library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryUnload(library):
 *     """ Unloads a library.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryUnload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plibrary);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21957
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernel(library, char* name):
 *     """ Returns a kernel handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_147cuLibraryGetKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_146cuLibraryGetKernel, "cuLibraryGetKernel(library, char *name)\n\nReturns a kernel handle.\n\nReturns in `pKernel` the handle of the kernel with name `name` located\nin library `library`. If kernel handle is not found, the call returns\n:py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\nParameters\n----------\nlibrary : :py:obj:`~.CUlibrary`\n    Library to retrieve kernel from\nname : bytes\n    Name of kernel to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\npKernel : :py:obj:`~.CUkernel`\n    Returned kernel handle\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuKernelGetFunction`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetFunction`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_147cuLibraryGetKernel = {"cuLibraryGetKernel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_147cuLibraryGetKernel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_146cuLibraryGetKernel};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_147cuLibraryGetKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_library = 0;
  char *__pyx_v_name;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryGetKernel (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_library,&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21957, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21957, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21957, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryGetKernel", 0) < (0)) __PYX_ERR(0, 21957, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryGetKernel", 1, 2, 2, i); __PYX_ERR(0, 21957, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21957, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21957, __pyx_L3_error)
    }
    __pyx_v_library = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 21958, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetKernel", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21957, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_146cuLibraryGetKernel(__pyx_self, __pyx_v_library, __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_146cuLibraryGetKernel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name) {
  CUlibrary __pyx_v_cylibrary;
  PyObject *__pyx_v_plibrary = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_pKernel = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetKernel", 0);

  /* "cuda/bindings/driver.pyx":21984
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21985
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:
 *         plibrary = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_plibrary = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":21984
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21986
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21987
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21986
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21989
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUkernel pKernel = CUkernel()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21989, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21990
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUkernel pKernel = CUkernel()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21990, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21991
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUkernel pKernel = CUkernel()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernel(<cydriver.CUkernel*>pKernel._pvt_ptr, cylibrary, name)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21991, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pKernel = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":21992
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUkernel pKernel = CUkernel()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetKernel(<cydriver.CUkernel*>pKernel._pvt_ptr, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21993
 *     cdef CUkernel pKernel = CUkernel()
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernel(<cydriver.CUkernel*>pKernel._pvt_ptr, cylibrary, name)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetKernel(((CUkernel *)__pyx_v_pKernel->_pvt_ptr), __pyx_v_cylibrary, __pyx_v_name); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21993, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":21992
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUkernel pKernel = CUkernel()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetKernel(<cydriver.CUkernel*>pKernel._pvt_ptr, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21994
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernel(<cydriver.CUkernel*>pKernel._pvt_ptr, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pKernel)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21995
 *         err = cydriver.cuLibraryGetKernel(<cydriver.CUkernel*>pKernel._pvt_ptr, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pKernel)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 21995, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 21995, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21994
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernel(<cydriver.CUkernel*>pKernel._pvt_ptr, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pKernel)
*/
  }

  /* "cuda/bindings/driver.pyx":21996
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pKernel)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 21996, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pKernel);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pKernel);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pKernel)) != (0)) __PYX_ERR(0, 21996, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21957
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernel(library, char* name):
 *     """ Returns a kernel handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plibrary);
  __Pyx_XDECREF((PyObject *)__pyx_v_pKernel);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":21998
 *     return (_dict_CUresult[err], pKernel)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernelCount(lib):
 *     """ Returns the number of kernels within a library.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_149cuLibraryGetKernelCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_148cuLibraryGetKernelCount, "cuLibraryGetKernelCount(lib)\n\nReturns the number of kernels within a library.\n\nReturns in `count` the number of kernels in `lib`.\n\nParameters\n----------\nlib : :py:obj:`~.CUlibrary`\n    Library to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ncount : unsigned int\n    Number of kernels found within the library");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_149cuLibraryGetKernelCount = {"cuLibraryGetKernelCount", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_149cuLibraryGetKernelCount, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_148cuLibraryGetKernelCount};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_149cuLibraryGetKernelCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_lib = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryGetKernelCount (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_lib,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 21998, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21998, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryGetKernelCount", 0) < (0)) __PYX_ERR(0, 21998, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryGetKernelCount", 1, 1, 1, i); __PYX_ERR(0, 21998, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21998, __pyx_L3_error)
    }
    __pyx_v_lib = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetKernelCount", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21998, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetKernelCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_148cuLibraryGetKernelCount(__pyx_self, __pyx_v_lib);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_148cuLibraryGetKernelCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_lib) {
  CUlibrary __pyx_v_cylib;
  PyObject *__pyx_v_plib = NULL;
  unsigned int __pyx_v_count;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetKernelCount", 0);

  /* "cuda/bindings/driver.pyx":22017
 *     """
 *     cdef cydriver.CUlibrary cylib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):
*/
  __pyx_t_1 = (__pyx_v_lib == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22018
 *     cdef cydriver.CUlibrary cylib
 *     if lib is None:
 *         plib = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_plib = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22017
 *     """
 *     cdef cydriver.CUlibrary cylib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22019
 *     if lib is None:
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_lib, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22020
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)             # <<<<<<<<<<<<<<
 *     else:
 *         plib = int(CUlibrary(lib))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_lib); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plib = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22019
 *     if lib is None:
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22022
 *         plib = int(lib)
 *     else:
 *         plib = int(CUlibrary(lib))             # <<<<<<<<<<<<<<
 *     cylib = <cydriver.CUlibrary><void_ptr>plib
 *     cdef unsigned int count = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_lib};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22022, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plib = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22023
 *     else:
 *         plib = int(CUlibrary(lib))
 *     cylib = <cydriver.CUlibrary><void_ptr>plib             # <<<<<<<<<<<<<<
 *     cdef unsigned int count = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plib); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22023, __pyx_L1_error)
  __pyx_v_cylib = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22024
 *         plib = int(CUlibrary(lib))
 *     cylib = <cydriver.CUlibrary><void_ptr>plib
 *     cdef unsigned int count = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernelCount(&count, cylib)
*/
  __pyx_v_count = 0;

  /* "cuda/bindings/driver.pyx":22025
 *     cylib = <cydriver.CUlibrary><void_ptr>plib
 *     cdef unsigned int count = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetKernelCount(&count, cylib)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22026
 *     cdef unsigned int count = 0
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernelCount(&count, cylib)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetKernelCount((&__pyx_v_count), __pyx_v_cylib); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22026, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22025
 *     cylib = <cydriver.CUlibrary><void_ptr>plib
 *     cdef unsigned int count = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetKernelCount(&count, cylib)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22027
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernelCount(&count, cylib)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22028
 *         err = cydriver.cuLibraryGetKernelCount(&count, cylib)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], count)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 22028, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 22028, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22027
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernelCount(&count, cylib)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)
*/
  }

  /* "cuda/bindings/driver.pyx":22029
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], count)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22029, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 22029, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21998
 *     return (_dict_CUresult[err], pKernel)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernelCount(lib):
 *     """ Returns the number of kernels within a library.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetKernelCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plib);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22031
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryEnumerateKernels(unsigned int numKernels, lib):
 *     """ Retrieve the kernel handles within a library.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_151cuLibraryEnumerateKernels(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_150cuLibraryEnumerateKernels, "cuLibraryEnumerateKernels(unsigned int numKernels, lib)\n\nRetrieve the kernel handles within a library.\n\nReturns in `kernels` a maximum number of `numKernels` kernel handles\nwithin `lib`. The returned kernel handle becomes invalid when the\nlibrary is unloaded.\n\nParameters\n----------\nnumKernels : unsigned int\n    Maximum number of kernel handles may be returned to the buffer\nlib : :py:obj:`~.CUlibrary`\n    Library to query from\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nkernels : list[:py:obj:`~.CUkernel`]\n    Buffer where the kernel handles are returned to\n\nSee Also\n--------\n:py:obj:`~.cuLibraryGetKernelCount`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_151cuLibraryEnumerateKernels = {"cuLibraryEnumerateKernels", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_151cuLibraryEnumerateKernels, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_150cuLibraryEnumerateKernels};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_151cuLibraryEnumerateKernels(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_numKernels;
  PyObject *__pyx_v_lib = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryEnumerateKernels (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_numKernels,&__pyx_mstate_global->__pyx_n_u_lib,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22031, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22031, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22031, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryEnumerateKernels", 0) < (0)) __PYX_ERR(0, 22031, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryEnumerateKernels", 1, 2, 2, i); __PYX_ERR(0, 22031, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22031, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22031, __pyx_L3_error)
    }
    __pyx_v_numKernels = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_numKernels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 22032, __pyx_L3_error)
    __pyx_v_lib = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryEnumerateKernels", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22031, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryEnumerateKernels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_150cuLibraryEnumerateKernels(__pyx_self, __pyx_v_numKernels, __pyx_v_lib);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_150cuLibraryEnumerateKernels(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numKernels, PyObject *__pyx_v_lib) {
  CUlibrary __pyx_v_cylib;
  PyObject *__pyx_v_plib = NULL;
  CUkernel *__pyx_v_cykernels;
  PyObject *__pyx_v_pykernels = NULL;
  CUresult __pyx_v_err;
  unsigned int __pyx_10genexpr259__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  unsigned int __pyx_t_11;
  unsigned int __pyx_t_12;
  unsigned int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryEnumerateKernels", 0);

  /* "cuda/bindings/driver.pyx":22058
 *     """
 *     cdef cydriver.CUlibrary cylib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):
*/
  __pyx_t_1 = (__pyx_v_lib == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22059
 *     cdef cydriver.CUlibrary cylib
 *     if lib is None:
 *         plib = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_plib = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22058
 *     """
 *     cdef cydriver.CUlibrary cylib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22060
 *     if lib is None:
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_lib, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22061
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)             # <<<<<<<<<<<<<<
 *     else:
 *         plib = int(CUlibrary(lib))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_lib); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plib = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22060
 *     if lib is None:
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22063
 *         plib = int(lib)
 *     else:
 *         plib = int(CUlibrary(lib))             # <<<<<<<<<<<<<<
 *     cylib = <cydriver.CUlibrary><void_ptr>plib
 *     cdef cydriver.CUkernel* cykernels = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_lib};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22063, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plib = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22064
 *     else:
 *         plib = int(CUlibrary(lib))
 *     cylib = <cydriver.CUlibrary><void_ptr>plib             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernel* cykernels = NULL
 *     pykernels = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plib); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22064, __pyx_L1_error)
  __pyx_v_cylib = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22065
 *         plib = int(CUlibrary(lib))
 *     cylib = <cydriver.CUlibrary><void_ptr>plib
 *     cdef cydriver.CUkernel* cykernels = NULL             # <<<<<<<<<<<<<<
 *     pykernels = []
 *     if numKernels != 0:
*/
  __pyx_v_cykernels = NULL;

  /* "cuda/bindings/driver.pyx":22066
 *     cylib = <cydriver.CUlibrary><void_ptr>plib
 *     cdef cydriver.CUkernel* cykernels = NULL
 *     pykernels = []             # <<<<<<<<<<<<<<
 *     if numKernels != 0:
 *         cykernels = <cydriver.CUkernel*>calloc(numKernels, sizeof(cydriver.CUkernel))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pykernels = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":22067
 *     cdef cydriver.CUkernel* cykernels = NULL
 *     pykernels = []
 *     if numKernels != 0:             # <<<<<<<<<<<<<<
 *         cykernels = <cydriver.CUkernel*>calloc(numKernels, sizeof(cydriver.CUkernel))
 *         if cykernels is NULL:
*/
  __pyx_t_1 = (__pyx_v_numKernels != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22068
 *     pykernels = []
 *     if numKernels != 0:
 *         cykernels = <cydriver.CUkernel*>calloc(numKernels, sizeof(cydriver.CUkernel))             # <<<<<<<<<<<<<<
 *         if cykernels is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(cydriver.CUkernel)))
*/
    __pyx_v_cykernels = ((CUkernel *)calloc(__pyx_v_numKernels, (sizeof(CUkernel))));

    /* "cuda/bindings/driver.pyx":22069
 *     if numKernels != 0:
 *         cykernels = <cydriver.CUkernel*>calloc(numKernels, sizeof(cydriver.CUkernel))
 *         if cykernels is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(cydriver.CUkernel)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cykernels == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":22070
 *         cykernels = <cydriver.CUkernel*>calloc(numKernels, sizeof(cydriver.CUkernel))
 *         if cykernels is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(cydriver.CUkernel)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryEnumerateKernels(cykernels, numKernels, cylib)
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numKernels); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUkernel))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22070, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 22070, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":22069
 *     if numKernels != 0:
 *         cykernels = <cydriver.CUkernel*>calloc(numKernels, sizeof(cydriver.CUkernel))
 *         if cykernels is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(cydriver.CUkernel)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":22067
 *     cdef cydriver.CUkernel* cykernels = NULL
 *     pykernels = []
 *     if numKernels != 0:             # <<<<<<<<<<<<<<
 *         cykernels = <cydriver.CUkernel*>calloc(numKernels, sizeof(cydriver.CUkernel))
 *         if cykernels is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":22071
 *         if cykernels is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(cydriver.CUkernel)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryEnumerateKernels(cykernels, numKernels, cylib)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22072
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(cydriver.CUkernel)))
 *     with nogil:
 *         err = cydriver.cuLibraryEnumerateKernels(cykernels, numKernels, cylib)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pykernels = [CUkernel(init_value=<void_ptr>cykernels[idx]) for idx in range(numKernels)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryEnumerateKernels(__pyx_v_cykernels, __pyx_v_numKernels, __pyx_v_cylib); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22072, __pyx_L7_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":22071
 *         if cykernels is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(cydriver.CUkernel)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryEnumerateKernels(cykernels, numKernels, cylib)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":22073
 *     with nogil:
 *         err = cydriver.cuLibraryEnumerateKernels(cykernels, numKernels, cylib)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pykernels = [CUkernel(init_value=<void_ptr>cykernels[idx]) for idx in range(numKernels)]
 *     if cykernels is not NULL:
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22073, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22073, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 22073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22074
 *         err = cydriver.cuLibraryEnumerateKernels(cykernels, numKernels, cylib)
 *     if CUresult(err) == CUresult(0):
 *         pykernels = [CUkernel(init_value=<void_ptr>cykernels[idx]) for idx in range(numKernels)]             # <<<<<<<<<<<<<<
 *     if cykernels is not NULL:
 *         free(cykernels)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22074, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __pyx_v_numKernels;
      __pyx_t_12 = __pyx_t_11;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_10genexpr259__pyx_v_idx = __pyx_t_13;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
        __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cykernels[__pyx_10genexpr259__pyx_v_idx]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22074, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_5 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22074, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_9, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 22074, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22074, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 22074, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pykernels, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":22073
 *     with nogil:
 *         err = cydriver.cuLibraryEnumerateKernels(cykernels, numKernels, cylib)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pykernels = [CUkernel(init_value=<void_ptr>cykernels[idx]) for idx in range(numKernels)]
 *     if cykernels is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":22075
 *     if CUresult(err) == CUresult(0):
 *         pykernels = [CUkernel(init_value=<void_ptr>cykernels[idx]) for idx in range(numKernels)]
 *     if cykernels is not NULL:             # <<<<<<<<<<<<<<
 *         free(cykernels)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cykernels != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22076
 *         pykernels = [CUkernel(init_value=<void_ptr>cykernels[idx]) for idx in range(numKernels)]
 *     if cykernels is not NULL:
 *         free(cykernels)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cykernels);

    /* "cuda/bindings/driver.pyx":22075
 *     if CUresult(err) == CUresult(0):
 *         pykernels = [CUkernel(init_value=<void_ptr>cykernels[idx]) for idx in range(numKernels)]
 *     if cykernels is not NULL:             # <<<<<<<<<<<<<<
 *         free(cykernels)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":22077
 *     if cykernels is not NULL:
 *         free(cykernels)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pykernels)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22078
 *         free(cykernels)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pykernels)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22078, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, Py_None) != (0)) __PYX_ERR(0, 22078, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22077
 *     if cykernels is not NULL:
 *         free(cykernels)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pykernels)
*/
  }

  /* "cuda/bindings/driver.pyx":22079
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pykernels)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 22079, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pykernels);
  __Pyx_GIVEREF(__pyx_v_pykernels);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pykernels) != (0)) __PYX_ERR(0, 22079, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22031
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryEnumerateKernels(unsigned int numKernels, lib):
 *     """ Retrieve the kernel handles within a library.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryEnumerateKernels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plib);
  __Pyx_XDECREF(__pyx_v_pykernels);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22081
 *     return (_dict_CUresult[err], pykernels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetModule(library):
 *     """ Returns a module handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_153cuLibraryGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_152cuLibraryGetModule, "cuLibraryGetModule(library)\n\nReturns a module handle.\n\nReturns in `pMod` the module handle associated with the current context\nlocated in library `library`. If module handle is not found, the call\nreturns :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\nParameters\n----------\nlibrary : :py:obj:`~.CUlibrary`\n    Library to retrieve module from\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\npMod : :py:obj:`~.CUmodule`\n    Returned module handle\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuModuleGetFunction`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_153cuLibraryGetModule = {"cuLibraryGetModule", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_153cuLibraryGetModule, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_152cuLibraryGetModule};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_153cuLibraryGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_library = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryGetModule (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_library,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22081, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22081, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryGetModule", 0) < (0)) __PYX_ERR(0, 22081, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryGetModule", 1, 1, 1, i); __PYX_ERR(0, 22081, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22081, __pyx_L3_error)
    }
    __pyx_v_library = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetModule", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22081, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetModule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_152cuLibraryGetModule(__pyx_self, __pyx_v_library);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_152cuLibraryGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library) {
  CUlibrary __pyx_v_cylibrary;
  PyObject *__pyx_v_plibrary = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_pMod = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetModule", 0);

  /* "cuda/bindings/driver.pyx":22106
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22107
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:
 *         plibrary = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_plibrary = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22106
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22108
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22109
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22108
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22111
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUmodule pMod = CUmodule()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22111, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22112
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUmodule pMod = CUmodule()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22112, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22113
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUmodule pMod = CUmodule()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryGetModule(<cydriver.CUmodule*>pMod._pvt_ptr, cylibrary)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22113, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pMod = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":22114
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUmodule pMod = CUmodule()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetModule(<cydriver.CUmodule*>pMod._pvt_ptr, cylibrary)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22115
 *     cdef CUmodule pMod = CUmodule()
 *     with nogil:
 *         err = cydriver.cuLibraryGetModule(<cydriver.CUmodule*>pMod._pvt_ptr, cylibrary)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetModule(((CUmodule *)__pyx_v_pMod->_pvt_ptr), __pyx_v_cylibrary); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22115, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22114
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUmodule pMod = CUmodule()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetModule(<cydriver.CUmodule*>pMod._pvt_ptr, cylibrary)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22116
 *     with nogil:
 *         err = cydriver.cuLibraryGetModule(<cydriver.CUmodule*>pMod._pvt_ptr, cylibrary)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMod)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22117
 *         err = cydriver.cuLibraryGetModule(<cydriver.CUmodule*>pMod._pvt_ptr, cylibrary)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pMod)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22117, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 22117, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22116
 *     with nogil:
 *         err = cydriver.cuLibraryGetModule(<cydriver.CUmodule*>pMod._pvt_ptr, cylibrary)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMod)
*/
  }

  /* "cuda/bindings/driver.pyx":22118
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMod)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22118, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pMod);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pMod);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pMod)) != (0)) __PYX_ERR(0, 22118, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22081
 *     return (_dict_CUresult[err], pykernels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetModule(library):
 *     """ Returns a module handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetModule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plibrary);
  __Pyx_XDECREF((PyObject *)__pyx_v_pMod);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22120
 *     return (_dict_CUresult[err], pMod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetFunction(kernel):
 *     """ Returns a function handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_155cuKernelGetFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_154cuKernelGetFunction, "cuKernelGetFunction(kernel)\n\nReturns a function handle.\n\nReturns in `pFunc` the handle of the function for the requested kernel\n`kernel` and the current context. If function handle is not found, the\ncall returns :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\nParameters\n----------\nkernel : :py:obj:`~.CUkernel`\n    Kernel to retrieve function for the requested context\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\npFunc : :py:obj:`~.CUfunction`\n    Returned function handle\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuLibraryGetKernel`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetFunction`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_155cuKernelGetFunction = {"cuKernelGetFunction", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_155cuKernelGetFunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_154cuKernelGetFunction};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_155cuKernelGetFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kernel = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuKernelGetFunction (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_kernel_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22120, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22120, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuKernelGetFunction", 0) < (0)) __PYX_ERR(0, 22120, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuKernelGetFunction", 1, 1, 1, i); __PYX_ERR(0, 22120, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22120, __pyx_L3_error)
    }
    __pyx_v_kernel = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetFunction", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22120, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_154cuKernelGetFunction(__pyx_self, __pyx_v_kernel);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_154cuKernelGetFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel) {
  CUkernel __pyx_v_cykernel;
  PyObject *__pyx_v_pkernel = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_pFunc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetFunction", 0);

  /* "cuda/bindings/driver.pyx":22145
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22146
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
 *         pkernel = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pkernel = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22145
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22147
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22148
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22147
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22150
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUfunction pFunc = CUfunction()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kernel};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22150, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22151
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef CUfunction pFunc = CUfunction()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22151, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22152
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUfunction pFunc = CUfunction()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuKernelGetFunction(<cydriver.CUfunction*>pFunc._pvt_ptr, cykernel)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22152, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pFunc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":22153
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUfunction pFunc = CUfunction()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetFunction(<cydriver.CUfunction*>pFunc._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22154
 *     cdef CUfunction pFunc = CUfunction()
 *     with nogil:
 *         err = cydriver.cuKernelGetFunction(<cydriver.CUfunction*>pFunc._pvt_ptr, cykernel)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetFunction(((CUfunction *)__pyx_v_pFunc->_pvt_ptr), __pyx_v_cykernel); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22154, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22153
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUfunction pFunc = CUfunction()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetFunction(<cydriver.CUfunction*>pFunc._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22155
 *     with nogil:
 *         err = cydriver.cuKernelGetFunction(<cydriver.CUfunction*>pFunc._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFunc)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22156
 *         err = cydriver.cuKernelGetFunction(<cydriver.CUfunction*>pFunc._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pFunc)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22156, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 22156, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22155
 *     with nogil:
 *         err = cydriver.cuKernelGetFunction(<cydriver.CUfunction*>pFunc._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFunc)
*/
  }

  /* "cuda/bindings/driver.pyx":22157
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFunc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22157, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pFunc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pFunc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pFunc)) != (0)) __PYX_ERR(0, 22157, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22120
 *     return (_dict_CUresult[err], pMod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetFunction(kernel):
 *     """ Returns a function handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pkernel);
  __Pyx_XDECREF((PyObject *)__pyx_v_pFunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22159
 *     return (_dict_CUresult[err], pFunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetLibrary(kernel):
 *     """ Returns a library handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_157cuKernelGetLibrary(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_156cuKernelGetLibrary, "cuKernelGetLibrary(kernel)\n\nReturns a library handle.\n\nReturns in `pLib` the handle of the library for the requested kernel\n`kernel`\n\nParameters\n----------\nkernel : :py:obj:`~.CUkernel`\n    Kernel to retrieve library handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\npLib : :py:obj:`~.CUlibrary`\n    Returned library handle\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuLibraryGetKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_157cuKernelGetLibrary = {"cuKernelGetLibrary", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_157cuKernelGetLibrary, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_156cuKernelGetLibrary};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_157cuKernelGetLibrary(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kernel = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuKernelGetLibrary (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_kernel_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22159, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuKernelGetLibrary", 0) < (0)) __PYX_ERR(0, 22159, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuKernelGetLibrary", 1, 1, 1, i); __PYX_ERR(0, 22159, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22159, __pyx_L3_error)
    }
    __pyx_v_kernel = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetLibrary", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22159, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetLibrary", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_156cuKernelGetLibrary(__pyx_self, __pyx_v_kernel);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_156cuKernelGetLibrary(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel) {
  CUkernel __pyx_v_cykernel;
  PyObject *__pyx_v_pkernel = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_pLib = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetLibrary", 0);

  /* "cuda/bindings/driver.pyx":22183
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22184
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
 *         pkernel = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pkernel = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22183
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22185
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22186
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22185
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22188
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUlibrary pLib = CUlibrary()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kernel};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22188, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22189
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef CUlibrary pLib = CUlibrary()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22189, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22190
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUlibrary pLib = CUlibrary()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuKernelGetLibrary(<cydriver.CUlibrary*>pLib._pvt_ptr, cykernel)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22190, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pLib = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":22191
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUlibrary pLib = CUlibrary()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetLibrary(<cydriver.CUlibrary*>pLib._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22192
 *     cdef CUlibrary pLib = CUlibrary()
 *     with nogil:
 *         err = cydriver.cuKernelGetLibrary(<cydriver.CUlibrary*>pLib._pvt_ptr, cykernel)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetLibrary(((CUlibrary *)__pyx_v_pLib->_pvt_ptr), __pyx_v_cykernel); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22192, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22191
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUlibrary pLib = CUlibrary()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetLibrary(<cydriver.CUlibrary*>pLib._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22193
 *     with nogil:
 *         err = cydriver.cuKernelGetLibrary(<cydriver.CUlibrary*>pLib._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pLib)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22194
 *         err = cydriver.cuKernelGetLibrary(<cydriver.CUlibrary*>pLib._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pLib)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22194, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 22194, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22193
 *     with nogil:
 *         err = cydriver.cuKernelGetLibrary(<cydriver.CUlibrary*>pLib._pvt_ptr, cykernel)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pLib)
*/
  }

  /* "cuda/bindings/driver.pyx":22195
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pLib)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22195, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pLib);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pLib);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pLib)) != (0)) __PYX_ERR(0, 22195, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22159
 *     return (_dict_CUresult[err], pFunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetLibrary(kernel):
 *     """ Returns a library handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetLibrary", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pkernel);
  __Pyx_XDECREF((PyObject *)__pyx_v_pLib);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22197
 *     return (_dict_CUresult[err], pLib)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetGlobal(library, char* name):
 *     """ Returns a global device pointer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_159cuLibraryGetGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_158cuLibraryGetGlobal, "cuLibraryGetGlobal(library, char *name)\n\nReturns a global device pointer.\n\nReturns in `*dptr` and `*bytes` the base pointer and size of the global\nwith name `name` for the requested library `library` and the current\ncontext. If no global for the requested name `name` exists, the call\nreturns :py:obj:`~.CUDA_ERROR_NOT_FOUND`. One of the parameters `dptr`\nor `numbytes` (not both) can be NULL in which case it is ignored.\n\nParameters\n----------\nlibrary : :py:obj:`~.CUlibrary`\n    Library to retrieve global from\nname : bytes\n    Name of global to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\ndptr : :py:obj:`~.CUdeviceptr`\n    Returned global device pointer for the requested context\nnumbytes : int\n    Returned global size in bytes\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetGlobal`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_159cuLibraryGetGlobal = {"cuLibraryGetGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_159cuLibraryGetGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_158cuLibraryGetGlobal};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_159cuLibraryGetGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_library = 0;
  char *__pyx_v_name;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryGetGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_library,&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22197, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22197, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22197, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryGetGlobal", 0) < (0)) __PYX_ERR(0, 22197, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryGetGlobal", 1, 2, 2, i); __PYX_ERR(0, 22197, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22197, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22197, __pyx_L3_error)
    }
    __pyx_v_library = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 22198, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22197, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_158cuLibraryGetGlobal(__pyx_self, __pyx_v_library, __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_158cuLibraryGetGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name) {
  CUlibrary __pyx_v_cylibrary;
  PyObject *__pyx_v_plibrary = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr = 0;
  size_t __pyx_v_numbytes;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetGlobal", 0);

  /* "cuda/bindings/driver.pyx":22228
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22229
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:
 *         plibrary = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_plibrary = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22228
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22230
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22231
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22230
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22233
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22233, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22234
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22234, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22235
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22235, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":22236
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
*/
  __pyx_v_numbytes = 0;

  /* "cuda/bindings/driver.pyx":22237
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22238
 *     cdef size_t numbytes = 0
 *     with nogil:
 *         err = cydriver.cuLibraryGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetGlobal(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), (&__pyx_v_numbytes), __pyx_v_cylibrary, __pyx_v_name); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22238, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22237
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22239
 *     with nogil:
 *         err = cydriver.cuLibraryGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22240
 *         err = cydriver.cuLibraryGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22240, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 22240, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 22240, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22239
 *     with nogil:
 *         err = cydriver.cuLibraryGetGlobal(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)
*/
  }

  /* "cuda/bindings/driver.pyx":22241
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22241, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 22241, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 22241, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22197
 *     return (_dict_CUresult[err], pLib)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetGlobal(library, char* name):
 *     """ Returns a global device pointer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plibrary);
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22243
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetManaged(library, char* name):
 *     """ Returns a pointer to managed memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_161cuLibraryGetManaged(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_160cuLibraryGetManaged, "cuLibraryGetManaged(library, char *name)\n\nReturns a pointer to managed memory.\n\nReturns in `*dptr` and `*bytes` the base pointer and size of the\nmanaged memory with name `name` for the requested library `library`. If\nno managed memory with the requested name `name` exists, the call\nreturns :py:obj:`~.CUDA_ERROR_NOT_FOUND`. One of the parameters `dptr`\nor `numbytes` (not both) can be NULL in which case it is ignored. Note\nthat managed memory for library `library` is shared across devices and\nis registered when the library is loaded into atleast one context.\n\nParameters\n----------\nlibrary : :py:obj:`~.CUlibrary`\n    Library to retrieve managed memory from\nname : bytes\n    Name of managed memory to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\ndptr : :py:obj:`~.CUdeviceptr`\n    Returned pointer to the managed memory\nnumbytes : int\n    Returned memory size in bytes\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_161cuLibraryGetManaged = {"cuLibraryGetManaged", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_161cuLibraryGetManaged, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_160cuLibraryGetManaged};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_161cuLibraryGetManaged(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_library = 0;
  char *__pyx_v_name;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryGetManaged (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_library,&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22243, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryGetManaged", 0) < (0)) __PYX_ERR(0, 22243, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryGetManaged", 1, 2, 2, i); __PYX_ERR(0, 22243, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22243, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22243, __pyx_L3_error)
    }
    __pyx_v_library = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 22244, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetManaged", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22243, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_160cuLibraryGetManaged(__pyx_self, __pyx_v_library, __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_160cuLibraryGetManaged(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name) {
  CUlibrary __pyx_v_cylibrary;
  PyObject *__pyx_v_plibrary = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr = 0;
  size_t __pyx_v_numbytes;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetManaged", 0);

  /* "cuda/bindings/driver.pyx":22276
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22277
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:
 *         plibrary = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_plibrary = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22276
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22278
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22279
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22278
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22281
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22281, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22282
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22282, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22283
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22283, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":22284
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryGetManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
*/
  __pyx_v_numbytes = 0;

  /* "cuda/bindings/driver.pyx":22285
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22286
 *     cdef size_t numbytes = 0
 *     with nogil:
 *         err = cydriver.cuLibraryGetManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetManaged(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), (&__pyx_v_numbytes), __pyx_v_cylibrary, __pyx_v_name); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22286, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22285
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22287
 *     with nogil:
 *         err = cydriver.cuLibraryGetManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22288
 *         err = cydriver.cuLibraryGetManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22288, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 22288, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 22288, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22287
 *     with nogil:
 *         err = cydriver.cuLibraryGetManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &numbytes, cylibrary, name)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)
*/
  }

  /* "cuda/bindings/driver.pyx":22289
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, numbytes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22289, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 22289, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 22289, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22243
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetManaged(library, char* name):
 *     """ Returns a pointer to managed memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plibrary);
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22291
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetUnifiedFunction(library, char* symbol):
 *     """ Returns a pointer to a unified function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_163cuLibraryGetUnifiedFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_162cuLibraryGetUnifiedFunction, "cuLibraryGetUnifiedFunction(library, char *symbol)\n\nReturns a pointer to a unified function.\n\nReturns in `*fptr` the function pointer to a unified function denoted\nby `symbol`. If no unified function with name `symbol` exists, the call\nreturns :py:obj:`~.CUDA_ERROR_NOT_FOUND`. If there is no device with\nattribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS`\npresent in the system, the call may return\n:py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\nParameters\n----------\nlibrary : :py:obj:`~.CUlibrary`\n    Library to retrieve function pointer memory from\nsymbol : bytes\n    Name of function pointer to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\nfptr : Any\n    Returned pointer to a unified function\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_163cuLibraryGetUnifiedFunction = {"cuLibraryGetUnifiedFunction", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_163cuLibraryGetUnifiedFunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_162cuLibraryGetUnifiedFunction};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_163cuLibraryGetUnifiedFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_library = 0;
  char *__pyx_v_symbol;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLibraryGetUnifiedFunction (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_library,&__pyx_mstate_global->__pyx_n_u_symbol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22291, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22291, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22291, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLibraryGetUnifiedFunction", 0) < (0)) __PYX_ERR(0, 22291, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLibraryGetUnifiedFunction", 1, 2, 2, i); __PYX_ERR(0, 22291, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22291, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22291, __pyx_L3_error)
    }
    __pyx_v_library = values[0];
    __pyx_v_symbol = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_symbol) && PyErr_Occurred())) __PYX_ERR(0, 22292, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetUnifiedFunction", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22291, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetUnifiedFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_162cuLibraryGetUnifiedFunction(__pyx_self, __pyx_v_library, __pyx_v_symbol);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_162cuLibraryGetUnifiedFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_symbol) {
  CUlibrary __pyx_v_cylibrary;
  PyObject *__pyx_v_plibrary = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_fptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetUnifiedFunction", 0);

  /* "cuda/bindings/driver.pyx":22321
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22322
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:
 *         plibrary = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_plibrary = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22321
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22323
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22324
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22323
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22326
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef void_ptr fptr = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22326, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22327
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef void_ptr fptr = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22327, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22328
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef void_ptr fptr = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryGetUnifiedFunction(<void**>&fptr, cylibrary, symbol)
*/
  __pyx_v_fptr = 0;

  /* "cuda/bindings/driver.pyx":22329
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef void_ptr fptr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetUnifiedFunction(<void**>&fptr, cylibrary, symbol)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22330
 *     cdef void_ptr fptr = 0
 *     with nogil:
 *         err = cydriver.cuLibraryGetUnifiedFunction(<void**>&fptr, cylibrary, symbol)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetUnifiedFunction(((void **)(&__pyx_v_fptr)), __pyx_v_cylibrary, __pyx_v_symbol); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22330, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22329
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef void_ptr fptr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryGetUnifiedFunction(<void**>&fptr, cylibrary, symbol)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22331
 *     with nogil:
 *         err = cydriver.cuLibraryGetUnifiedFunction(<void**>&fptr, cylibrary, symbol)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], fptr)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22332
 *         err = cydriver.cuLibraryGetUnifiedFunction(<void**>&fptr, cylibrary, symbol)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], fptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 22332, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 22332, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22331
 *     with nogil:
 *         err = cydriver.cuLibraryGetUnifiedFunction(<void**>&fptr, cylibrary, symbol)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], fptr)
*/
  }

  /* "cuda/bindings/driver.pyx":22333
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], fptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_fptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22333, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 22333, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22291
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetUnifiedFunction(library, char* symbol):
 *     """ Returns a pointer to a unified function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLibraryGetUnifiedFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plibrary);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22335
 *     return (_dict_CUresult[err], fptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetAttribute(attrib not None : CUfunction_attribute, kernel, dev):
 *     """ Returns information about a kernel.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_165cuKernelGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_164cuKernelGetAttribute, "cuKernelGetAttribute(attrib: CUfunction_attribute, kernel, dev)\n\nReturns information about a kernel.\n\nReturns in `*pi` the integer value of the attribute `attrib` for the\nkernel `kernel` for the requested device `dev`. The supported\nattributes are:\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK`: The maximum\n  number of threads per block, beyond which a launch of the kernel\n  would fail. This number depends on both the kernel and the requested\n  device.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES`: The size in bytes of\n  statically-allocated shared memory per block required by this kernel.\n  This does not include dynamically-allocated shared memory requested\n  by the user at runtime.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES`: The size in bytes of\n  user-allocated constant memory required by this kernel.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES`: The size in bytes of\n  local memory used by each thread of this kernel.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_NUM_REGS`: The number of registers used\n  by each thread of this kernel.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_PTX_VERSION`: The PTX virtual\n  architecture version for which the kernel was compiled. This value is\n  the major PTX version * 10\n\n  - the minor PTX version, so a PTX version 1.3 function would return\n    the value 13. Note that this may return the undefined value of 0\n    for cubins compiled prior to CUDA 3.0.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_BINARY_VERSION`: The binary architecture\n  version for which the kernel was compiled. This value is the major\n  binary version * 10 + the minor binary version, so a binary version\n  1.3 function would return the value 13. Note that this will return a\n  value of 10 for legacy cubins that do not have a properly-encoded\n  binary architecture version.\n\n- :py:obj:`~.CU_FUNC_CACHE_MODE_CA`: The attribute to indicate whether\n  the kernel has been compiled with user specified option \"-Xptxas\n  --dlcm=ca\" set.\n""\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`: The\n  maximum size in bytes of dynamically-allocated shared memory.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT`:\n  Preferred shared memory-L1 cache split ratio in percent of total\n  shared memory.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET`: If this\n  attribute is set, the kernel must launch with a valid cluster size\n  specified.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH`: The required\n  cluster width in blocks.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT`: The required\n  cluster height in blocks.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH`: The required\n  cluster depth in blocks.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED`:\n  Indicates whether the function can be launched with non-portable\n  cluster size. 1 is allowed, 0 is disallowed. A non-portable cluster\n  size may only function on the specific SKUs the program is tested on.\n  The launch might fail if the program is run on a different hardware\n  platform. CUDA API provides cudaOccupancyMaxActiveClusters to assist\n  with checking whether the desired size can be launched on the current\n  device. A portable cluster size is guaranteed to be functional on all\n  compute capabilities higher than the target compute capability. The\n  portable cluster size for sm_90 is 8 blocks per cluster. This value\n  may increase for future compute capabilities. The specific hardware\n  unit may support higher cluster sizes that\342\200\231s not guaranteed to be\n  portable.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE`:\n  The block scheduling policy of a function. The value type is\n  CUclusterSchedulingPolicy.\n\nParameters\n----------\nattrib : :py:obj:`~.CUfunction_attribute`\n    Attribute requested\nkernel : :py:obj:`~.CUkernel`\n    Kernel to query attribute of\ndev : :py:obj:`~.CUdevice`\n    Device to query attr""ibute of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\npi : int\n    Returned attribute value\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuKernelSetAttribute`, :py:obj:`~.cuLibraryGetKernel`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuKernelGetFunction`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuFuncGetAttribute`\n\nNotes\n-----\nIf another thread is trying to set the same attribute on the same device using :py:obj:`~.cuKernelSetAttribute()` simultaneously, the attribute query will give the old or new value depending on the interleavings chosen by the OS scheduler and memory consistency.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_165cuKernelGetAttribute = {"cuKernelGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_165cuKernelGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_164cuKernelGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_165cuKernelGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  PyObject *__pyx_v_kernel = 0;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuKernelGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,&__pyx_mstate_global->__pyx_n_u_kernel_2,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22335, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22335, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22335, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22335, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuKernelGetAttribute", 0) < (0)) __PYX_ERR(0, 22335, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuKernelGetAttribute", 1, 3, 3, i); __PYX_ERR(0, 22335, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22335, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22335, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22335, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
    __pyx_v_kernel = values[1];
    __pyx_v_dev = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 22335, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 22336, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_164cuKernelGetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_kernel, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_164cuKernelGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_kernel, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUkernel __pyx_v_cykernel;
  PyObject *__pyx_v_pkernel = NULL;
  int __pyx_v_pi;
  CUfunction_attribute __pyx_v_cyattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUfunction_attribute __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":22444
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22445
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22444
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22446
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22447
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22446
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22449
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22449, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22450
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 22450, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":22452
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22453
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
 *         pkernel = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pkernel = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22452
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22454
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22455
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":22454
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22457
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef int pi = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernel};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22457, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":22458
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22458, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":22459
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef int pi = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
*/
  __pyx_v_pi = 0;

  /* "cuda/bindings/driver.pyx":22460
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuKernelGetAttribute(&pi, cyattrib, cykernel, cydev)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = ((enum CUfunction_attribute_enum)__Pyx_PyLong_As_enum__CUfunction_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattrib = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":22461
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetAttribute(&pi, cyattrib, cykernel, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22462
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
 *         err = cydriver.cuKernelGetAttribute(&pi, cyattrib, cykernel, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetAttribute((&__pyx_v_pi), __pyx_v_cyattrib, __pyx_v_cykernel, __pyx_v_cydev); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22462, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":22461
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetAttribute(&pi, cyattrib, cykernel, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":22463
 *     with nogil:
 *         err = cydriver.cuKernelGetAttribute(&pi, cyattrib, cykernel, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22464
 *         err = cydriver.cuKernelGetAttribute(&pi, cyattrib, cykernel, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pi)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22464, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 22464, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22463
 *     with nogil:
 *         err = cydriver.cuKernelGetAttribute(&pi, cyattrib, cykernel, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)
*/
  }

  /* "cuda/bindings/driver.pyx":22465
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 22465, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 22465, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22335
 *     return (_dict_CUresult[err], fptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetAttribute(attrib not None : CUfunction_attribute, kernel, dev):
 *     """ Returns information about a kernel.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pkernel);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22467
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetAttribute(attrib not None : CUfunction_attribute, int val, kernel, dev):
 *     """ Sets information about a kernel.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_167cuKernelSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_166cuKernelSetAttribute, "cuKernelSetAttribute(attrib: CUfunction_attribute, int val, kernel, dev)\n\nSets information about a kernel.\n\nThis call sets the value of a specified attribute `attrib` on the\nkernel `kernel` for the requested device `dev` to an integer value\nspecified by `val`. This function returns CUDA_SUCCESS if the new value\nof the attribute could be successfully set. If the set fails, this call\nwill return an error. Not all attributes can have values set.\nAttempting to set a value on a read-only attribute will result in an\nerror (CUDA_ERROR_INVALID_VALUE)\n\nNote that attributes set using :py:obj:`~.cuFuncSetAttribute()` will\noverride the attribute set by this API irrespective of whether the call\nto :py:obj:`~.cuFuncSetAttribute()` is made before or after this API\ncall. However, :py:obj:`~.cuKernelGetAttribute()` will always return\nthe attribute value set by this API.\n\nSupported attributes are:\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`: This is\n  the maximum size in bytes of dynamically-allocated shared memory. The\n  value should contain the requested maximum size of dynamically-\n  allocated shared memory. The sum of this value and the function\n  attribute :py:obj:`~.CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES` cannot\n  exceed the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN`.\n  The maximal size of requestable dynamic shared memory may differ by\n  GPU architecture.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT`: On\n  devices where the L1 cache and shared memory use the same hardware\n  resources, this sets the shared memory carveout preference, in\n  percent of the total shared memory. See\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR`\n  This is only a hint, and the driver can choose a different ratio if\n  required to execute the function.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH`: The required\n  cluster width in blocks. The width, heigh""t, and depth values must\n  either all be 0 or all be positive. The validity of the cluster\n  dimensions is checked at launch time. If the value is set during\n  compile time, it cannot be set at runtime. Setting it at runtime will\n  return CUDA_ERROR_NOT_PERMITTED.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT`: The required\n  cluster height in blocks. The width, height, and depth values must\n  either all be 0 or all be positive. The validity of the cluster\n  dimensions is checked at launch time. If the value is set during\n  compile time, it cannot be set at runtime. Setting it at runtime will\n  return CUDA_ERROR_NOT_PERMITTED.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH`: The required\n  cluster depth in blocks. The width, height, and depth values must\n  either all be 0 or all be positive. The validity of the cluster\n  dimensions is checked at launch time. If the value is set during\n  compile time, it cannot be set at runtime. Setting it at runtime will\n  return CUDA_ERROR_NOT_PERMITTED.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED`:\n  Indicates whether the function can be launched with non-portable\n  cluster size. 1 is allowed, 0 is disallowed.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE`:\n  The block scheduling policy of a function. The value type is\n  CUclusterSchedulingPolicy.\n\nParameters\n----------\nattrib : :py:obj:`~.CUfunction_attribute`\n    Attribute requested\nval : int\n    Value to set\nkernel : :py:obj:`~.CUkernel`\n    Kernel to set attribute of\ndev : :py:obj:`~.CUdevice`\n    Device to set attribute of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuL""ibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuKernelGetAttribute`, :py:obj:`~.cuLibraryGetKernel`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuKernelGetFunction`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuFuncSetAttribute`\n\nNotes\n-----\nThe API has stricter locking requirements in comparison to its legacy counterpart :py:obj:`~.cuFuncSetAttribute()` due to device-wide semantics. If multiple threads are trying to set the same attribute on the same device simultaneously, the attribute setting will depend on the interleavings chosen by the OS scheduler and memory consistency.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_167cuKernelSetAttribute = {"cuKernelSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_167cuKernelSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_166cuKernelSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_167cuKernelSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  int __pyx_v_val;
  PyObject *__pyx_v_kernel = 0;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuKernelSetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,&__pyx_mstate_global->__pyx_n_u_val_2,&__pyx_mstate_global->__pyx_n_u_kernel_2,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22467, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 22467, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22467, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22467, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22467, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuKernelSetAttribute", 0) < (0)) __PYX_ERR(0, 22467, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuKernelSetAttribute", 1, 4, 4, i); __PYX_ERR(0, 22467, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22467, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22467, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22467, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 22467, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
    __pyx_v_val = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 22468, __pyx_L3_error)
    __pyx_v_kernel = values[2];
    __pyx_v_dev = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelSetAttribute", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 22467, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 22468, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_166cuKernelSetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_val, __pyx_v_kernel, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_166cuKernelSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, int __pyx_v_val, PyObject *__pyx_v_kernel, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUkernel __pyx_v_cykernel;
  PyObject *__pyx_v_pkernel = NULL;
  CUfunction_attribute __pyx_v_cyattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUfunction_attribute __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":22559
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22560
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22559
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22561
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22562
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22561
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22564
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22564, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22565
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 22565, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":22567
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22568
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
 *         pkernel = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pkernel = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22567
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22569
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22570
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":22569
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22572
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernel};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22572, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":22573
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22573, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":22574
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuKernelSetAttribute(cyattrib, val, cykernel, cydev)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = ((enum CUfunction_attribute_enum)__Pyx_PyLong_As_enum__CUfunction_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattrib = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":22575
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelSetAttribute(cyattrib, val, cykernel, cydev)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22576
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
 *         err = cydriver.cuKernelSetAttribute(cyattrib, val, cykernel, cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelSetAttribute(__pyx_v_cyattrib, __pyx_v_val, __pyx_v_cykernel, __pyx_v_cydev); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22576, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":22575
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelSetAttribute(cyattrib, val, cykernel, cydev)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":22577
 *     with nogil:
 *         err = cydriver.cuKernelSetAttribute(cyattrib, val, cykernel, cydev)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22577, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22467
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetAttribute(attrib not None : CUfunction_attribute, int val, kernel, dev):
 *     """ Sets information about a kernel.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pkernel);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22579
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetCacheConfig(kernel, config not None : CUfunc_cache, dev):
 *     """ Sets the preferred cache configuration for a device kernel.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_169cuKernelSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_168cuKernelSetCacheConfig, "cuKernelSetCacheConfig(kernel, config: CUfunc_cache, dev)\n\nSets the preferred cache configuration for a device kernel.\n\nOn devices where the L1 cache and shared memory use the same hardware\nresources, this sets through `config` the preferred cache configuration\nfor the device kernel `kernel` on the requested device `dev`. This is\nonly a preference. The driver will use the requested configuration if\npossible, but it is free to choose a different configuration if\nrequired to execute `kernel`. Any context-wide preference set via\n:py:obj:`~.cuCtxSetCacheConfig()` will be overridden by this per-kernel\nsetting.\n\nNote that attributes set using :py:obj:`~.cuFuncSetCacheConfig()` will\noverride the attribute set by this API irrespective of whether the call\nto :py:obj:`~.cuFuncSetCacheConfig()` is made before or after this API\ncall.\n\nThis setting does nothing on devices where the size of the L1 cache and\nshared memory are fixed.\n\nLaunching a kernel with a different preference than the most recent\npreference setting may insert a device-side synchronization point.\n\nThe supported cache configurations are:\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE`: no preference for shared\n  memory or L1 (default)\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_SHARED`: prefer larger shared memory\n  and smaller L1 cache\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_L1`: prefer larger L1 cache and\n  smaller shared memory\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_EQUAL`: prefer equal sized L1 cache\n  and shared memory\n\nParameters\n----------\nkernel : :py:obj:`~.CUkernel`\n    Kernel to configure cache for\nconfig : :py:obj:`~.CUfunc_cache`\n    Requested cache configuration\ndev : :py:obj:`~.CUdevice`\n    Device to set attribute of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`""~.CUDA_ERROR_OUT_OF_MEMORY`\n\nSee Also\n--------\n:py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuLibraryGetKernel`, :py:obj:`~.cuKernelGetFunction`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuLaunchKernel`\n\nNotes\n-----\nThe API has stricter locking requirements in comparison to its legacy counterpart :py:obj:`~.cuFuncSetCacheConfig()` due to device-wide semantics. If multiple threads are trying to set a config on the same device simultaneously, the cache config setting will depend on the interleavings chosen by the OS scheduler and memory consistency.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_169cuKernelSetCacheConfig = {"cuKernelSetCacheConfig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_169cuKernelSetCacheConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_168cuKernelSetCacheConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_169cuKernelSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kernel = 0;
  PyObject *__pyx_v_config = 0;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuKernelSetCacheConfig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_kernel_2,&__pyx_mstate_global->__pyx_n_u_config,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22579, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22579, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22579, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22579, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuKernelSetCacheConfig", 0) < (0)) __PYX_ERR(0, 22579, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuKernelSetCacheConfig", 1, 3, 3, i); __PYX_ERR(0, 22579, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22579, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22579, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22579, __pyx_L3_error)
    }
    __pyx_v_kernel = values[0];
    __pyx_v_config = values[1];
    __pyx_v_dev = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelSetCacheConfig", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 22579, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_config) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "config"); __PYX_ERR(0, 22580, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_168cuKernelSetCacheConfig(__pyx_self, __pyx_v_kernel, __pyx_v_config, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_168cuKernelSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel, PyObject *__pyx_v_config, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUkernel __pyx_v_cykernel;
  PyObject *__pyx_v_pkernel = NULL;
  CUfunc_cache __pyx_v_cyconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUfunc_cache __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelSetCacheConfig", 0);

  /* "cuda/bindings/driver.pyx":22640
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22641
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22640
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22642
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22643
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22642
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22645
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22645, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22646
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 22646, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":22648
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22649
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
 *         pkernel = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pkernel = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22648
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22650
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22651
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":22650
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22653
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernel};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22653, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":22654
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22654, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":22655
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef cydriver.CUfunc_cache cyconfig = config.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuKernelSetCacheConfig(cykernel, cyconfig, cydev)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = ((enum CUfunc_cache_enum)__Pyx_PyLong_As_enum__CUfunc_cache_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyconfig = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":22656
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelSetCacheConfig(cykernel, cyconfig, cydev)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22657
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:
 *         err = cydriver.cuKernelSetCacheConfig(cykernel, cyconfig, cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelSetCacheConfig(__pyx_v_cykernel, __pyx_v_cyconfig, __pyx_v_cydev); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22657, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":22656
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelSetCacheConfig(cykernel, cyconfig, cydev)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":22658
 *     with nogil:
 *         err = cydriver.cuKernelSetCacheConfig(cykernel, cyconfig, cydev)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22658, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22579
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetCacheConfig(kernel, config not None : CUfunc_cache, dev):
 *     """ Sets the preferred cache configuration for a device kernel.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pkernel);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22660
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUkernel` handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_171cuKernelGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_170cuKernelGetName, "cuKernelGetName(hfunc)\n\nReturns the function name for a :py:obj:`~.CUkernel` handle.\n\nReturns in `**name` the function name associated with the kernel handle\n`hfunc` . The function name is returned as a null-terminated string.\nThe returned name is only valid when the kernel handle is valid. If the\nlibrary is unloaded or reloaded, one must call the API again to get the\nupdated name. This API may return a mangled name if the function is not\ndeclared as having C linkage. If either `**name` or `hfunc` is NULL,\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUkernel`\n    The function handle to retrieve the name for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nname : bytes\n    The returned name of the function");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_171cuKernelGetName = {"cuKernelGetName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_171cuKernelGetName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_170cuKernelGetName};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_171cuKernelGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuKernelGetName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22660, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22660, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuKernelGetName", 0) < (0)) __PYX_ERR(0, 22660, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuKernelGetName", 1, 1, 1, i); __PYX_ERR(0, 22660, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22660, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetName", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22660, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_170cuKernelGetName(__pyx_self, __pyx_v_hfunc);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_170cuKernelGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc) {
  CUkernel __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  char const *__pyx_v_name;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetName", 0);

  /* "cuda/bindings/driver.pyx":22685
 *     """
 *     cdef cydriver.CUkernel cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22686
 *     cdef cydriver.CUkernel cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUkernel,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22685
 *     """
 *     cdef cydriver.CUkernel cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22687
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22688
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUkernel,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUkernel(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22687
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22690
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUkernel(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUkernel><void_ptr>phfunc
 *     cdef const char* name = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22690, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22691
 *     else:
 *         phfunc = int(CUkernel(hfunc))
 *     cyhfunc = <cydriver.CUkernel><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef const char* name = NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22691, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22692
 *         phfunc = int(CUkernel(hfunc))
 *     cyhfunc = <cydriver.CUkernel><void_ptr>phfunc
 *     cdef const char* name = NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuKernelGetName(&name, cyhfunc)
*/
  __pyx_v_name = NULL;

  /* "cuda/bindings/driver.pyx":22693
 *     cyhfunc = <cydriver.CUkernel><void_ptr>phfunc
 *     cdef const char* name = NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22694
 *     cdef const char* name = NULL
 *     with nogil:
 *         err = cydriver.cuKernelGetName(&name, cyhfunc)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetName((&__pyx_v_name), __pyx_v_cyhfunc); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22694, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22693
 *     cyhfunc = <cydriver.CUkernel><void_ptr>phfunc
 *     cdef const char* name = NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22695
 *     with nogil:
 *         err = cydriver.cuKernelGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22696
 *         err = cydriver.cuKernelGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 22696, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 22696, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22695
 *     with nogil:
 *         err = cydriver.cuKernelGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
*/
  }

  /* "cuda/bindings/driver.pyx":22697
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (__pyx_v_name != NULL);
  if (__pyx_t_1) {
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(((PyObject*)__pyx_t_2));
    __pyx_t_3 = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(Py_None);
    __pyx_t_3 = Py_None;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22697, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 22697, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22660
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUkernel` handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22699
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetParamInfo(kernel, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_173cuKernelGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_172cuKernelGetParamInfo, "cuKernelGetParamInfo(kernel, size_t paramIndex)\n\nReturns the offset and size of a kernel parameter in the device-side parameter layout.\n\nQueries the kernel parameter at `paramIndex` into `kernel's` list of\nparameters, and returns in `paramOffset` and `paramSize` the offset and\nsize, respectively, where the parameter will reside in the device-side\nparameter layout. This information can be used to update kernel node\nparameters from the device via\n:py:obj:`~.cudaGraphKernelNodeSetParam()` and\n:py:obj:`~.cudaGraphKernelNodeUpdatesApply()`. `paramIndex` must be\nless than the number of parameters that `kernel` takes. `paramSize` can\nbe set to NULL if only the parameter offset is desired.\n\nParameters\n----------\nkernel : :py:obj:`~.CUkernel`\n    The kernel to query\nparamIndex : size_t\n    The parameter index to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nparamOffset : int\n    Returns the offset into the device-side parameter layout at which\n    the parameter resides\nparamSize : int\n    Optionally returns the size of the parameter in the device-side\n    parameter layout\n\nSee Also\n--------\n:py:obj:`~.cuFuncGetParamInfo`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_173cuKernelGetParamInfo = {"cuKernelGetParamInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_173cuKernelGetParamInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_172cuKernelGetParamInfo};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_173cuKernelGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kernel = 0;
  size_t __pyx_v_paramIndex;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuKernelGetParamInfo (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_kernel_2,&__pyx_mstate_global->__pyx_n_u_paramIndex,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22699, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22699, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22699, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuKernelGetParamInfo", 0) < (0)) __PYX_ERR(0, 22699, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuKernelGetParamInfo", 1, 2, 2, i); __PYX_ERR(0, 22699, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22699, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22699, __pyx_L3_error)
    }
    __pyx_v_kernel = values[0];
    __pyx_v_paramIndex = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_paramIndex == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22700, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetParamInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22699, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetParamInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_172cuKernelGetParamInfo(__pyx_self, __pyx_v_kernel, __pyx_v_paramIndex);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_172cuKernelGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel, size_t __pyx_v_paramIndex) {
  CUkernel __pyx_v_cykernel;
  PyObject *__pyx_v_pkernel = NULL;
  size_t __pyx_v_paramOffset;
  size_t __pyx_v_paramSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetParamInfo", 0);

  /* "cuda/bindings/driver.pyx":22736
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22737
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
 *         pkernel = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pkernel = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22736
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22738
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22739
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22738
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22741
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef size_t paramOffset = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kernel};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22741, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22742
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22742, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22743
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef size_t paramOffset = 0             # <<<<<<<<<<<<<<
 *     cdef size_t paramSize = 0
 *     with nogil:
*/
  __pyx_v_paramOffset = 0;

  /* "cuda/bindings/driver.pyx":22744
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuKernelGetParamInfo(cykernel, paramIndex, &paramOffset, &paramSize)
*/
  __pyx_v_paramSize = 0;

  /* "cuda/bindings/driver.pyx":22745
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetParamInfo(cykernel, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22746
 *     cdef size_t paramSize = 0
 *     with nogil:
 *         err = cydriver.cuKernelGetParamInfo(cykernel, paramIndex, &paramOffset, &paramSize)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetParamInfo(__pyx_v_cykernel, __pyx_v_paramIndex, (&__pyx_v_paramOffset), (&__pyx_v_paramSize)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22746, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22745
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuKernelGetParamInfo(cykernel, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22747
 *     with nogil:
 *         err = cydriver.cuKernelGetParamInfo(cykernel, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], paramOffset, paramSize)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22748
 *         err = cydriver.cuKernelGetParamInfo(cykernel, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], paramOffset, paramSize)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 22748, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 22748, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 22748, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22747
 *     with nogil:
 *         err = cydriver.cuKernelGetParamInfo(cykernel, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], paramOffset, paramSize)
*/
  }

  /* "cuda/bindings/driver.pyx":22749
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], paramOffset, paramSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_paramOffset); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_paramSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22749, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 22749, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 22749, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22699
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetParamInfo(kernel, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuKernelGetParamInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pkernel);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22751
 *     return (_dict_CUresult[err], paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetInfo():
 *     """ Gets free and total memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_175cuMemGetInfo(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_174cuMemGetInfo, "cuMemGetInfo()\n\nGets free and total memory.\n\nReturns in `*total` the total amount of memory available to the the\ncurrent context. Returns in `*free` the amount of memory on the device\nthat is free according to the OS. CUDA is not guaranteed to be able to\nallocate all of the memory that the OS reports as free. In a multi-\ntenet situation, free estimate returned is prone to race condition\nwhere a new allocation/free done by a different process or a different\nthread in the same process between the time when free memory was\nestimated and reported, will result in deviation in free value reported\nand actual free memory.\n\nThe integrated GPU on Tegra shares memory with CPU and other component\nof the SoC. The free and total values returned by the API excludes the\nSWAP memory space maintained by the OS on some platforms. The OS may\nmove some of the memory pages into swap area as the GPU or CPU allocate\nor access memory. See Tegra app note on how to calculate total and free\nmemory on Tegra.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nfree : int\n    Returned free memory in bytes\ntotal : int\n    Returned total memory in bytes\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :p""y:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemGetInfo`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_175cuMemGetInfo = {"cuMemGetInfo", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_175cuMemGetInfo, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_174cuMemGetInfo};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_175cuMemGetInfo(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemGetInfo (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_174cuMemGetInfo(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_174cuMemGetInfo(CYTHON_UNUSED PyObject *__pyx_self) {
  size_t __pyx_v_free;
  size_t __pyx_v_total;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemGetInfo", 0);

  /* "cuda/bindings/driver.pyx":22785
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemGetInfo`
 *     """
 *     cdef size_t free = 0             # <<<<<<<<<<<<<<
 *     cdef size_t total = 0
 *     with nogil:
*/
  __pyx_v_free = 0;

  /* "cuda/bindings/driver.pyx":22786
 *     """
 *     cdef size_t free = 0
 *     cdef size_t total = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemGetInfo(&free, &total)
*/
  __pyx_v_total = 0;

  /* "cuda/bindings/driver.pyx":22787
 *     cdef size_t free = 0
 *     cdef size_t total = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetInfo(&free, &total)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22788
 *     cdef size_t total = 0
 *     with nogil:
 *         err = cydriver.cuMemGetInfo(&free, &total)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetInfo((&__pyx_v_free), (&__pyx_v_total)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22788, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":22787
 *     cdef size_t free = 0
 *     cdef size_t total = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetInfo(&free, &total)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":22789
 *     with nogil:
 *         err = cydriver.cuMemGetInfo(&free, &total)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], free, total)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":22790
 *         err = cydriver.cuMemGetInfo(&free, &total)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], free, total)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 22790, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 22790, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None) != (0)) __PYX_ERR(0, 22790, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22789
 *     with nogil:
 *         err = cydriver.cuMemGetInfo(&free, &total)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], free, total)
*/
  }

  /* "cuda/bindings/driver.pyx":22791
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], free, total)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_free); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyLong_FromSize_t(__pyx_v_total); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 22791, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 22791, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4) != (0)) __PYX_ERR(0, 22791, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22751
 *     return (_dict_CUresult[err], paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetInfo():
 *     """ Gets free and total memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22793
 *     return (_dict_CUresult[err], free, total)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAlloc(size_t bytesize):
 *     """ Allocates device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_177cuMemAlloc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_176cuMemAlloc, "cuMemAlloc(size_t bytesize)\n\nAllocates device memory.\n\nAllocates `bytesize` bytes of linear memory on the device and returns\nin `*dptr` a pointer to the allocated memory. The allocated memory is\nsuitably aligned for any kind of variable. The memory is not cleared.\nIf `bytesize` is 0, :py:obj:`~.cuMemAlloc()` returns\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\nParameters\n----------\nbytesize : size_t\n    Requested allocation size in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\ndptr : :py:obj:`~.CUdeviceptr`\n    Returned device pointer\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMalloc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_177cuMemAlloc = {"cuMemAlloc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_177cuMemAlloc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_176cuMemAlloc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_177cuMemAlloc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_bytesize;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAlloc (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_bytesize_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22793, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22793, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAlloc", 0) < (0)) __PYX_ERR(0, 22793, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAlloc", 1, 1, 1, i); __PYX_ERR(0, 22793, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22793, __pyx_L3_error)
    }
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22794, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAlloc", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22793, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_176cuMemAlloc(__pyx_self, __pyx_v_bytesize);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_176cuMemAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAlloc", 0);

  /* "cuda/bindings/driver.pyx":22819
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMalloc`
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAlloc(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22819, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22820
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAlloc(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22821
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:
 *         err = cydriver.cuMemAlloc(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAlloc(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), __pyx_v_bytesize); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22821, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":22820
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAlloc(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":22822
 *     with nogil:
 *         err = cydriver.cuMemAlloc(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":22823
 *         err = cydriver.cuMemAlloc(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22823, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 22823, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22822
 *     with nogil:
 *         err = cydriver.cuMemAlloc(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)
*/
  }

  /* "cuda/bindings/driver.pyx":22824
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 22824, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 22824, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22793
 *     return (_dict_CUresult[err], free, total)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAlloc(size_t bytesize):
 *     """ Allocates device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22826
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocPitch(size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes):
 *     """ Allocates pitched device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_179cuMemAllocPitch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_178cuMemAllocPitch, "cuMemAllocPitch(size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes)\n\nAllocates pitched device memory.\n\nAllocates at least `WidthInBytes` * `Height` bytes of linear memory on\nthe device and returns in `*dptr` a pointer to the allocated memory.\nThe function may pad the allocation to ensure that corresponding\npointers in any given row will continue to meet the alignment\nrequirements for coalescing as the address is updated from row to row.\n`ElementSizeBytes` specifies the size of the largest reads and writes\nthat will be performed on the memory range. `ElementSizeBytes` may be\n4, 8 or 16 (since coalesced memory transactions are not possible on\nother data sizes). If `ElementSizeBytes` is smaller than the actual\nread/write size of a kernel, the kernel will run correctly, but\npossibly at reduced speed. The pitch returned in `*pPitch` by\n:py:obj:`~.cuMemAllocPitch()` is the width in bytes of the allocation.\nThe intended usage of pitch is as a separate parameter of the\nallocation, used to compute addresses within the 2D array. Given the\nrow and column of an array element of type T, the address is computed\nas:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nThe pitch returned by :py:obj:`~.cuMemAllocPitch()` is guaranteed to\nwork with :py:obj:`~.cuMemcpy2D()` under all circumstances. For\nallocations of 2D arrays, it is recommended that programmers consider\nperforming pitch allocations using :py:obj:`~.cuMemAllocPitch()`. Due\nto alignment restrictions in the hardware, this is especially true if\nthe application will be performing 2D memory copies between different\nregions of device memory (whether linear memory or CUDA arrays).\n\nThe byte alignment of the pitch returned by\n:py:obj:`~.cuMemAllocPitch()` is guaranteed to match or exceed the\nalignment requirement for texture binding with\n:py:obj:`~.cuTexRefSetAddress2D()`.\n\nParameters\n----------\nWidthInBytes : size_t\n    Requested allocation width in bytes\nHeight "": size_t\n    Requested allocation height in rows\nElementSizeBytes : unsigned int\n    Size of largest reads/writes for range\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\ndptr : :py:obj:`~.CUdeviceptr`\n    Returned device pointer\npPitch : int\n    Returned pitch of allocation in bytes\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMallocPitch`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_179cuMemAllocPitch = {"cuMemAllocPitch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_179cuMemAllocPitch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_178cuMemAllocPitch};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_179cuMemAllocPitch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_WidthInBytes;
  size_t __pyx_v_Height;
  unsigned int __pyx_v_ElementSizeBytes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAllocPitch (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_WidthInBytes_2,&__pyx_mstate_global->__pyx_n_u_Height_2,&__pyx_mstate_global->__pyx_n_u_ElementSizeBytes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22826, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22826, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22826, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22826, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAllocPitch", 0) < (0)) __PYX_ERR(0, 22826, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAllocPitch", 1, 3, 3, i); __PYX_ERR(0, 22826, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22826, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22826, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22826, __pyx_L3_error)
    }
    __pyx_v_WidthInBytes = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_WidthInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22827, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22827, __pyx_L3_error)
    __pyx_v_ElementSizeBytes = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_ElementSizeBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 22827, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocPitch", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 22826, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocPitch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_178cuMemAllocPitch(__pyx_self, __pyx_v_WidthInBytes, __pyx_v_Height, __pyx_v_ElementSizeBytes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_178cuMemAllocPitch(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_WidthInBytes, size_t __pyx_v_Height, unsigned int __pyx_v_ElementSizeBytes) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr = 0;
  size_t __pyx_v_pPitch;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocPitch", 0);

  /* "cuda/bindings/driver.pyx":22884
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMallocPitch`
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t pPitch = 0
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22884, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22885
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t pPitch = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAllocPitch(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
*/
  __pyx_v_pPitch = 0;

  /* "cuda/bindings/driver.pyx":22886
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t pPitch = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocPitch(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22887
 *     cdef size_t pPitch = 0
 *     with nogil:
 *         err = cydriver.cuMemAllocPitch(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAllocPitch(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), (&__pyx_v_pPitch), __pyx_v_WidthInBytes, __pyx_v_Height, __pyx_v_ElementSizeBytes); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22887, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":22886
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t pPitch = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocPitch(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":22888
 *     with nogil:
 *         err = cydriver.cuMemAllocPitch(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, pPitch)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":22889
 *         err = cydriver.cuMemAllocPitch(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr, pPitch)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22889, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 22889, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 22889, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22888
 *     with nogil:
 *         err = cydriver.cuMemAllocPitch(<cydriver.CUdeviceptr*>dptr._pvt_ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, pPitch)
*/
  }

  /* "cuda/bindings/driver.pyx":22890
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], dptr, pPitch)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_pPitch); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 22890, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 22890, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 22890, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22826
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocPitch(size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes):
 *     """ Allocates pitched device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocPitch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22892
 *     return (_dict_CUresult[err], dptr, pPitch)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFree(dptr):
 *     """ Frees device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_181cuMemFree(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_180cuMemFree, "cuMemFree(dptr)\n\nFrees device memory.\n\nFrees the memory space pointed to by `dptr`, which must have been\nreturned by a previous call to one of the following memory allocation\nAPIs - :py:obj:`~.cuMemAlloc()`, :py:obj:`~.cuMemAllocPitch()`,\n:py:obj:`~.cuMemAllocManaged()`, :py:obj:`~.cuMemAllocAsync()`,\n:py:obj:`~.cuMemAllocFromPoolAsync()`\n\nNote - This API will not perform any implict synchronization when the\npointer was allocated with :py:obj:`~.cuMemAllocAsync` or\n:py:obj:`~.cuMemAllocFromPoolAsync`. Callers must ensure that all\naccesses to these pointer have completed before invoking\n:py:obj:`~.cuMemFree`. For best performance and memory reuse, users\nshould use :py:obj:`~.cuMemFreeAsync` to free memory allocated via the\nstream ordered memory allocator. For all other pointers, this API may\nperform implicit synchronization.\n\nParameters\n----------\ndptr : :py:obj:`~.CUdeviceptr`\n    Pointer to memory to free\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemAllocManaged`, :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemAllocFromPoolAsync`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMem""cpyHtoDAsync`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaFree`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_181cuMemFree = {"cuMemFree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_181cuMemFree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_180cuMemFree};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_181cuMemFree(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemFree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22892, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22892, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemFree", 0) < (0)) __PYX_ERR(0, 22892, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemFree", 1, 1, 1, i); __PYX_ERR(0, 22892, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22892, __pyx_L3_error)
    }
    __pyx_v_dptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemFree", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22892, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_180cuMemFree(__pyx_self, __pyx_v_dptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_180cuMemFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemFree", 0);

  /* "cuda/bindings/driver.pyx":22926
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22927
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22926
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22928
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22929
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22928
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22931
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22931, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22932
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemFree(cydptr)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22932, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22933
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemFree(cydptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22934
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
 *         err = cydriver.cuMemFree(cydptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemFree(__pyx_v_cydptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22934, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22933
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemFree(cydptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22935
 *     with nogil:
 *         err = cydriver.cuMemFree(cydptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 22935, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22892
 *     return (_dict_CUresult[err], dptr, pPitch)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFree(dptr):
 *     """ Frees device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22937
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAddressRange(dptr):
 *     """ Get information on memory allocations.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_183cuMemGetAddressRange(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_182cuMemGetAddressRange, "cuMemGetAddressRange(dptr)\n\nGet information on memory allocations.\n\nReturns the base address in `*pbase` and size in `*psize` of the\nallocation by :py:obj:`~.cuMemAlloc()` or :py:obj:`~.cuMemAllocPitch()`\nthat contains the input pointer `dptr`. Both parameters `pbase` and\n`psize` are optional. If one of them is NULL, it is ignored.\n\nParameters\n----------\ndptr : :py:obj:`~.CUdeviceptr`\n    Device pointer to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npbase : :py:obj:`~.CUdeviceptr`\n    Returned base address\npsize : int\n    Returned size of device memory allocation\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_183cuMemGetAddressRange = {"cuMemGetAddressRange", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_183cuMemGetAddressRange, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_182cuMemGetAddressRange};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_183cuMemGetAddressRange(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemGetAddressRange (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22937, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22937, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemGetAddressRange", 0) < (0)) __PYX_ERR(0, 22937, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemGetAddressRange", 1, 1, 1, i); __PYX_ERR(0, 22937, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22937, __pyx_L3_error)
    }
    __pyx_v_dptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetAddressRange", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22937, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetAddressRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_182cuMemGetAddressRange(__pyx_self, __pyx_v_dptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_182cuMemGetAddressRange(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_pbase = 0;
  size_t __pyx_v_psize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemGetAddressRange", 0);

  /* "cuda/bindings/driver.pyx":22965
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22966
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":22965
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22967
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22968
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22967
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22970
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUdeviceptr pbase = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22970, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22971
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 *     cdef size_t psize = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22971, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22972
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUdeviceptr pbase = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t psize = 0
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22972, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pbase = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":22973
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 *     cdef size_t psize = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemGetAddressRange(<cydriver.CUdeviceptr*>pbase._pvt_ptr, &psize, cydptr)
*/
  __pyx_v_psize = 0;

  /* "cuda/bindings/driver.pyx":22974
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 *     cdef size_t psize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetAddressRange(<cydriver.CUdeviceptr*>pbase._pvt_ptr, &psize, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22975
 *     cdef size_t psize = 0
 *     with nogil:
 *         err = cydriver.cuMemGetAddressRange(<cydriver.CUdeviceptr*>pbase._pvt_ptr, &psize, cydptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetAddressRange(((CUdeviceptr *)__pyx_v_pbase->_pvt_ptr), (&__pyx_v_psize), __pyx_v_cydptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22975, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":22974
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 *     cdef size_t psize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetAddressRange(<cydriver.CUdeviceptr*>pbase._pvt_ptr, &psize, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22976
 *     with nogil:
 *         err = cydriver.cuMemGetAddressRange(<cydriver.CUdeviceptr*>pbase._pvt_ptr, &psize, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pbase, psize)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22977
 *         err = cydriver.cuMemGetAddressRange(<cydriver.CUdeviceptr*>pbase._pvt_ptr, &psize, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pbase, psize)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 22977, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 22977, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 22977, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22976
 *     with nogil:
 *         err = cydriver.cuMemGetAddressRange(<cydriver.CUdeviceptr*>pbase._pvt_ptr, &psize, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pbase, psize)
*/
  }

  /* "cuda/bindings/driver.pyx":22978
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pbase, psize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_psize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 22978, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pbase);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pbase);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pbase)) != (0)) __PYX_ERR(0, 22978, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 22978, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22937
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAddressRange(dptr):
 *     """ Get information on memory allocations.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetAddressRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XDECREF((PyObject *)__pyx_v_pbase);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":22980
 *     return (_dict_CUresult[err], pbase, psize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocHost(size_t bytesize):
 *     """ Allocates page-locked host memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_185cuMemAllocHost(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_184cuMemAllocHost, "cuMemAllocHost(size_t bytesize)\n\nAllocates page-locked host memory.\n\nAllocates `bytesize` bytes of host memory that is page-locked and\naccessible to the device. The driver tracks the virtual memory ranges\nallocated with this function and automatically accelerates calls to\nfunctions such as :py:obj:`~.cuMemcpy()`. Since the memory can be\naccessed directly by the device, it can be read or written with much\nhigher bandwidth than pageable memory obtained with functions such as\n:py:obj:`~.malloc()`.\n\nOn systems where\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`\nis true, :py:obj:`~.cuMemAllocHost` may not page-lock the allocated\nmemory.\n\nPage-locking excessive amounts of memory with\n:py:obj:`~.cuMemAllocHost()` may degrade system performance, since it\nreduces the amount of memory available to the system for paging. As a\nresult, this function is best used sparingly to allocate staging areas\nfor data exchange between host and device.\n\nNote all host memory allocated using :py:obj:`~.cuMemAllocHost()` will\nautomatically be immediately accessible to all contexts on all devices\nwhich support unified addressing (as may be queried using\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING`). The device pointer\nthat may be used to access this host memory from those contexts is\nalways equal to the returned host pointer `*pp`. See :py:obj:`~.Unified\nAddressing` for additional details.\n\nParameters\n----------\nbytesize : size_t\n    Requested allocation size in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\npp : Any\n    Returned pointer to host memory\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetD""escriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMallocHost`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_185cuMemAllocHost = {"cuMemAllocHost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_185cuMemAllocHost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_184cuMemAllocHost};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_185cuMemAllocHost(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_bytesize;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAllocHost (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_bytesize_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 22980, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAllocHost", 0) < (0)) __PYX_ERR(0, 22980, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAllocHost", 1, 1, 1, i); __PYX_ERR(0, 22980, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22980, __pyx_L3_error)
    }
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22981, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocHost", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22980, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_184cuMemAllocHost(__pyx_self, __pyx_v_bytesize);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_184cuMemAllocHost(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_pp;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocHost", 0);

  /* "cuda/bindings/driver.pyx":23027
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMallocHost`
 *     """
 *     cdef void_ptr pp = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)
*/
  __pyx_v_pp = 0;

  /* "cuda/bindings/driver.pyx":23028
 *     """
 *     cdef void_ptr pp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23029
 *     cdef void_ptr pp = 0
 *     with nogil:
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAllocHost(((void **)(&__pyx_v_pp)), __pyx_v_bytesize); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23029, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":23028
 *     """
 *     cdef void_ptr pp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23030
 *     with nogil:
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pp)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":23031
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pp)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 23031, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 23031, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23030
 *     with nogil:
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pp)
*/
  }

  /* "cuda/bindings/driver.pyx":23032
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pp)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_pp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 23032, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 23032, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22980
 *     return (_dict_CUresult[err], pbase, psize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocHost(size_t bytesize):
 *     """ Allocates page-locked host memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23034
 *     return (_dict_CUresult[err], pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeHost(p):
 *     """ Frees page-locked host memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_187cuMemFreeHost(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_186cuMemFreeHost, "cuMemFreeHost(p)\n\nFrees page-locked host memory.\n\nFrees the memory space pointed to by `p`, which must have been returned\nby a previous call to :py:obj:`~.cuMemAllocHost()`.\n\nParameters\n----------\np : Any\n    Pointer to memory to free\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaFreeHost`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_187cuMemFreeHost = {"cuMemFreeHost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_187cuMemFreeHost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_186cuMemFreeHost};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_187cuMemFreeHost(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_p = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemFreeHost (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_p,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23034, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23034, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemFreeHost", 0) < (0)) __PYX_ERR(0, 23034, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemFreeHost", 1, 1, 1, i); __PYX_ERR(0, 23034, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23034, __pyx_L3_error)
    }
    __pyx_v_p = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemFreeHost", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23034, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemFreeHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_186cuMemFreeHost(__pyx_self, __pyx_v_p);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_186cuMemFreeHost(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyp = NULL;
  void *__pyx_v_cyp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemFreeHost", 0);

  /* "cuda/bindings/driver.pyx":23055
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaFreeHost`
 *     """
 *     cyp = _HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23055, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyp = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23056
 *     """
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemFreeHost(cyp_ptr)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyp), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyp_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23057
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemFreeHost(cyp_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23058
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
 *         err = cydriver.cuMemFreeHost(cyp_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemFreeHost(__pyx_v_cyp_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23058, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23057
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemFreeHost(cyp_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23059
 *     with nogil:
 *         err = cydriver.cuMemFreeHost(cyp_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23059, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23034
 *     return (_dict_CUresult[err], pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeHost(p):
 *     """ Frees page-locked host memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemFreeHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23061
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostAlloc(size_t bytesize, unsigned int Flags):
 *     """ Allocates page-locked host memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_189cuMemHostAlloc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_188cuMemHostAlloc, "cuMemHostAlloc(size_t bytesize, unsigned int Flags)\n\nAllocates page-locked host memory.\n\nAllocates `bytesize` bytes of host memory that is page-locked and\naccessible to the device. The driver tracks the virtual memory ranges\nallocated with this function and automatically accelerates calls to\nfunctions such as :py:obj:`~.cuMemcpyHtoD()`. Since the memory can be\naccessed directly by the device, it can be read or written with much\nhigher bandwidth than pageable memory obtained with functions such as\n:py:obj:`~.malloc()`.\n\nOn systems where\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`\nis true, :py:obj:`~.cuMemHostAlloc` may not page-lock the allocated\nmemory.\n\nPage-locking excessive amounts of memory may degrade system\nperformance, since it reduces the amount of memory available to the\nsystem for paging. As a result, this function is best used sparingly to\nallocate staging areas for data exchange between host and device.\n\nThe `Flags` parameter enables different options to be specified that\naffect the allocation, as follows.\n\n- :py:obj:`~.CU_MEMHOSTALLOC_PORTABLE`: The memory returned by this\n  call will be considered as pinned memory by all CUDA contexts, not\n  just the one that performed the allocation.\n\n- :py:obj:`~.CU_MEMHOSTALLOC_DEVICEMAP`: Maps the allocation into the\n  CUDA address space. The device pointer to the memory may be obtained\n  by calling :py:obj:`~.cuMemHostGetDevicePointer()`.\n\n- :py:obj:`~.CU_MEMHOSTALLOC_WRITECOMBINED`: Allocates the memory as\n  write-combined (WC). WC memory can be transferred across the PCI\n  Express bus more quickly on some system configurations, but cannot be\n  read efficiently by most CPUs. WC memory is a good option for buffers\n  that will be written by the CPU and read by the GPU via mapped pinned\n  memory or host->device transfers.\n\nAll of these flags are orthogonal to one another: a developer may\nallocate memory that is portable, mapped and/or write-co""mbined with no\nrestrictions.\n\nThe :py:obj:`~.CU_MEMHOSTALLOC_DEVICEMAP` flag may be specified on CUDA\ncontexts for devices that do not support mapped pinned memory. The\nfailure is deferred to :py:obj:`~.cuMemHostGetDevicePointer()` because\nthe memory may be mapped into other CUDA contexts via the\n:py:obj:`~.CU_MEMHOSTALLOC_PORTABLE` flag.\n\nThe memory allocated by this function must be freed with\n:py:obj:`~.cuMemFreeHost()`.\n\nNote all host memory allocated using :py:obj:`~.cuMemHostAlloc()` will\nautomatically be immediately accessible to all contexts on all devices\nwhich support unified addressing (as may be queried using\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING`). Unless the flag\n:py:obj:`~.CU_MEMHOSTALLOC_WRITECOMBINED` is specified, the device\npointer that may be used to access this host memory from those contexts\nis always equal to the returned host pointer `*pp`. If the flag\n:py:obj:`~.CU_MEMHOSTALLOC_WRITECOMBINED` is specified, then the\nfunction :py:obj:`~.cuMemHostGetDevicePointer()` must be used to query\nthe device pointer, even if the context supports unified addressing.\nSee :py:obj:`~.Unified Addressing` for additional details.\n\nParameters\n----------\nbytesize : size_t\n    Requested allocation size in bytes\nFlags : unsigned int\n    Flags for allocation request\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\npp : Any\n    Returned pointer to host memory\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py"":obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaHostAlloc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_189cuMemHostAlloc = {"cuMemHostAlloc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_189cuMemHostAlloc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_188cuMemHostAlloc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_189cuMemHostAlloc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_bytesize;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemHostAlloc (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_bytesize_2,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23061, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23061, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23061, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemHostAlloc", 0) < (0)) __PYX_ERR(0, 23061, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemHostAlloc", 1, 2, 2, i); __PYX_ERR(0, 23061, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23061, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23061, __pyx_L3_error)
    }
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 23062, __pyx_L3_error)
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 23062, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostAlloc", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23061, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_188cuMemHostAlloc(__pyx_self, __pyx_v_bytesize, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_188cuMemHostAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, unsigned int __pyx_v_Flags) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_pp;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostAlloc", 0);

  /* "cuda/bindings/driver.pyx":23144
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaHostAlloc`
 *     """
 *     cdef void_ptr pp = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
*/
  __pyx_v_pp = 0;

  /* "cuda/bindings/driver.pyx":23145
 *     """
 *     cdef void_ptr pp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23146
 *     cdef void_ptr pp = 0
 *     with nogil:
 *         err = cydriver.cuMemHostAlloc(<void**>&pp, bytesize, Flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostAlloc(((void **)(&__pyx_v_pp)), __pyx_v_bytesize, __pyx_v_Flags); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23146, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":23145
 *     """
 *     cdef void_ptr pp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23147
 *     with nogil:
 *         err = cydriver.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pp)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":23148
 *         err = cydriver.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pp)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 23148, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 23148, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23147
 *     with nogil:
 *         err = cydriver.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pp)
*/
  }

  /* "cuda/bindings/driver.pyx":23149
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pp)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_pp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 23149, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 23149, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23061
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostAlloc(size_t bytesize, unsigned int Flags):
 *     """ Allocates page-locked host memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23151
 *     return (_dict_CUresult[err], pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetDevicePointer(p, unsigned int Flags):
 *     """ Passes back device pointer of mapped pinned memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_191cuMemHostGetDevicePointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_190cuMemHostGetDevicePointer, "cuMemHostGetDevicePointer(p, unsigned int Flags)\n\nPasses back device pointer of mapped pinned memory.\n\nPasses back the device pointer `pdptr` corresponding to the mapped,\npinned host buffer `p` allocated by :py:obj:`~.cuMemHostAlloc`.\n\n:py:obj:`~.cuMemHostGetDevicePointer()` will fail if the\n:py:obj:`~.CU_MEMHOSTALLOC_DEVICEMAP` flag was not specified at the\ntime the memory was allocated, or if the function is called on a GPU\nthat does not support mapped pinned memory.\n\nFor devices that have a non-zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM`,\nthe memory can also be accessed from the device using the host pointer\n`p`. The device pointer returned by\n:py:obj:`~.cuMemHostGetDevicePointer()` may or may not match the\noriginal host pointer `p` and depends on the devices visible to the\napplication. If all devices visible to the application have a non-zero\nvalue for the device attribute, the device pointer returned by\n:py:obj:`~.cuMemHostGetDevicePointer()` will match the original pointer\n`p`. If any device visible to the application has a zero value for the\ndevice attribute, the device pointer returned by\n:py:obj:`~.cuMemHostGetDevicePointer()` will not match the original\nhost pointer `p`, but it will be suitable for use on all devices\nprovided Unified Virtual Addressing is enabled. In such systems, it is\nvalid to access the memory using either pointer on devices that have a\nnon-zero value for the device attribute. Note however that such devices\nshould access the memory using only one of the two pointers and not\nboth.\n\n`Flags` provides for future releases. For now, it must be set to 0.\n\nParameters\n----------\np : Any\n    Host pointer\nFlags : unsigned int\n    Options (must be 0)\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_""INVALID_VALUE`\npdptr : :py:obj:`~.CUdeviceptr`\n    Returned device pointer\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaHostGetDevicePointer`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_191cuMemHostGetDevicePointer = {"cuMemHostGetDevicePointer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_191cuMemHostGetDevicePointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_190cuMemHostGetDevicePointer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_191cuMemHostGetDevicePointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_p = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemHostGetDevicePointer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_p,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23151, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23151, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23151, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemHostGetDevicePointer", 0) < (0)) __PYX_ERR(0, 23151, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemHostGetDevicePointer", 1, 2, 2, i); __PYX_ERR(0, 23151, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23151, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23151, __pyx_L3_error)
    }
    __pyx_v_p = values[0];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 23152, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostGetDevicePointer", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23151, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostGetDevicePointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_190cuMemHostGetDevicePointer(__pyx_self, __pyx_v_p, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_190cuMemHostGetDevicePointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_pdptr = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyp = NULL;
  void *__pyx_v_cyp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostGetDevicePointer", 0);

  /* "cuda/bindings/driver.pyx":23202
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaHostGetDevicePointer`
 *     """
 *     cdef CUdeviceptr pdptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23202, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pdptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23203
 *     """
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     cyp = _HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23203, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyp = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23204
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemHostGetDevicePointer(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyp_ptr, Flags)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyp), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyp_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23205
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostGetDevicePointer(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyp_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23206
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
 *         err = cydriver.cuMemHostGetDevicePointer(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyp_ptr, Flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostGetDevicePointer(((CUdeviceptr *)__pyx_v_pdptr->_pvt_ptr), __pyx_v_cyp_ptr, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23206, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23205
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostGetDevicePointer(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyp_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23207
 *     with nogil:
 *         err = cydriver.cuMemHostGetDevicePointer(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyp_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":23208
 *         err = cydriver.cuMemHostGetDevicePointer(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyp_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pdptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 23208, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 23208, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23207
 *     with nogil:
 *         err = cydriver.cuMemHostGetDevicePointer(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyp_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)
*/
  }

  /* "cuda/bindings/driver.pyx":23209
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23209, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pdptr)) != (0)) __PYX_ERR(0, 23209, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23151
 *     return (_dict_CUresult[err], pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetDevicePointer(p, unsigned int Flags):
 *     """ Passes back device pointer of mapped pinned memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostGetDevicePointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pdptr);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23211
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetFlags(p):
 *     """ Passes back flags that were used for a pinned allocation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_193cuMemHostGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_192cuMemHostGetFlags, "cuMemHostGetFlags(p)\n\nPasses back flags that were used for a pinned allocation.\n\nPasses back the flags `pFlags` that were specified when allocating the\npinned host buffer `p` allocated by :py:obj:`~.cuMemHostAlloc`.\n\n:py:obj:`~.cuMemHostGetFlags()` will fail if the pointer does not\nreside in an allocation performed by :py:obj:`~.cuMemAllocHost()` or\n:py:obj:`~.cuMemHostAlloc()`.\n\nParameters\n----------\np : Any\n    Host pointer\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npFlags : unsigned int\n    Returned flags word\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cudaHostGetFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_193cuMemHostGetFlags = {"cuMemHostGetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_193cuMemHostGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_192cuMemHostGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_193cuMemHostGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_p = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemHostGetFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_p,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23211, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23211, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemHostGetFlags", 0) < (0)) __PYX_ERR(0, 23211, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemHostGetFlags", 1, 1, 1, i); __PYX_ERR(0, 23211, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23211, __pyx_L3_error)
    }
    __pyx_v_p = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostGetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23211, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_192cuMemHostGetFlags(__pyx_self, __pyx_v_p);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_192cuMemHostGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p) {
  unsigned int __pyx_v_pFlags;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyp = NULL;
  void *__pyx_v_cyp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostGetFlags", 0);

  /* "cuda/bindings/driver.pyx":23238
 *     :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cudaHostGetFlags`
 *     """
 *     cdef unsigned int pFlags = 0             # <<<<<<<<<<<<<<
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
*/
  __pyx_v_pFlags = 0;

  /* "cuda/bindings/driver.pyx":23239
 *     """
 *     cdef unsigned int pFlags = 0
 *     cyp = _HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23239, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyp = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23240
 *     cdef unsigned int pFlags = 0
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemHostGetFlags(&pFlags, cyp_ptr)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyp), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyp_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23241
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostGetFlags(&pFlags, cyp_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23242
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
 *         err = cydriver.cuMemHostGetFlags(&pFlags, cyp_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostGetFlags((&__pyx_v_pFlags), __pyx_v_cyp_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23242, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23241
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostGetFlags(&pFlags, cyp_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23243
 *     with nogil:
 *         err = cydriver.cuMemHostGetFlags(&pFlags, cyp_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFlags)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":23244
 *         err = cydriver.cuMemHostGetFlags(&pFlags, cyp_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pFlags)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23244, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 23244, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23243
 *     with nogil:
 *         err = cydriver.cuMemHostGetFlags(&pFlags, cyp_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFlags)
*/
  }

  /* "cuda/bindings/driver.pyx":23245
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFlags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_From_unsigned_int(__pyx_v_pFlags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23245, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 23245, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23211
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetFlags(p):
 *     """ Passes back flags that were used for a pinned allocation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23247
 *     return (_dict_CUresult[err], pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocManaged(size_t bytesize, unsigned int flags):
 *     """ Allocates memory that will be automatically managed by the Unified Memory system.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_195cuMemAllocManaged(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_194cuMemAllocManaged, "cuMemAllocManaged(size_t bytesize, unsigned int flags)\n\nAllocates memory that will be automatically managed by the Unified Memory system.\n\nAllocates `bytesize` bytes of managed memory on the device and returns\nin `*dptr` a pointer to the allocated memory. If the device doesn't\nsupport allocating managed memory, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nis returned. Support for managed memory can be queried using the device\nattribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY`. The allocated\nmemory is suitably aligned for any kind of variable. The memory is not\ncleared. If `bytesize` is 0, :py:obj:`~.cuMemAllocManaged` returns\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE`. The pointer is valid on the CPU\nand on all GPUs in the system that support managed memory. All accesses\nto this pointer must obey the Unified Memory programming model.\n\n`flags` specifies the default stream association for this allocation.\n`flags` must be one of :py:obj:`~.CU_MEM_ATTACH_GLOBAL` or\n:py:obj:`~.CU_MEM_ATTACH_HOST`. If :py:obj:`~.CU_MEM_ATTACH_GLOBAL` is\nspecified, then this memory is accessible from any stream on any\ndevice. If :py:obj:`~.CU_MEM_ATTACH_HOST` is specified, then the\nallocation should not be accessed from devices that have a zero value\nfor the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`; an explicit\ncall to :py:obj:`~.cuStreamAttachMemAsync` will be required to enable\naccess on such devices.\n\nIf the association is later changed via\n:py:obj:`~.cuStreamAttachMemAsync` to a single stream, the default\nassociation as specified during :py:obj:`~.cuMemAllocManaged` is\nrestored when that stream is destroyed. For managed variables, the\ndefault association is always :py:obj:`~.CU_MEM_ATTACH_GLOBAL`. Note\nthat destroying a stream is an asynchronous operation, and as a result,\nthe change to default association won't happen until all work in the\nstream has completed.\n\nMemory allocated with :py:obj:`~.cuMemAllocManaged` should be r""eleased\nwith :py:obj:`~.cuMemFree`.\n\nDevice memory oversubscription is possible for GPUs that have a non-\nzero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Managed\nmemory on such GPUs may be evicted from device memory to host memory at\nany time by the Unified Memory driver in order to make room for other\nallocations.\n\nIn a system where all GPUs have a non-zero value for the device\nattribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`,\nmanaged memory may not be populated when this API returns and instead\nmay be populated on access. In such systems, managed memory can migrate\nto any processor's memory at any time. The Unified Memory driver will\nemploy heuristics to maintain data locality and prevent excessive page\nfaults to the extent possible. The application can also guide the\ndriver about memory usage patterns via :py:obj:`~.cuMemAdvise`. The\napplication can also explicitly migrate memory to a desired processor's\nmemory via :py:obj:`~.cuMemPrefetchAsync`.\n\nIn a multi-GPU system where all of the GPUs have a zero value for the\ndevice attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` and all the\nGPUs have peer-to-peer support with each other, the physical storage\nfor managed memory is created on the GPU which is active at the time\n:py:obj:`~.cuMemAllocManaged` is called. All other GPUs will reference\nthe data at reduced bandwidth via peer mappings over the PCIe bus. The\nUnified Memory driver does not migrate memory among such GPUs.\n\nIn a multi-GPU system where not all GPUs have peer-to-peer support with\neach other and where the value of the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` is zero for\nat least one of those GPUs, the location chosen for physical storage of\nmanaged memory is system-dependent.\n\n- On Linux, the location chosen will be device memory as long as the\n  current set of active contexts are on devices that eit""her have peer-\n  to-peer support with each other or have a non-zero value for the\n  device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. If there\n  is an active context on a GPU that does not have a non-zero value for\n  that device attribute and it does not have peer-to-peer support with\n  the other devices that have active contexts on them, then the\n  location for physical storage will be 'zero-copy' or host memory.\n  Note that this means that managed memory that is located in device\n  memory is migrated to host memory if a new context is created on a\n  GPU that doesn't have a non-zero value for the device attribute and\n  does not support peer-to-peer with at least one of the other devices\n  that has an active context. This in turn implies that context\n  creation may fail if there is insufficient host memory to migrate all\n  managed allocations.\n\n- On Windows, the physical storage is always created in 'zero-copy' or\n  host memory. All GPUs will reference the data at reduced bandwidth\n  over the PCIe bus. In these circumstances, use of the environment\n  variable CUDA_VISIBLE_DEVICES is recommended to restrict CUDA to only\n  use those GPUs that have peer-to-peer support. Alternatively, users\n  can also set CUDA_MANAGED_FORCE_DEVICE_ALLOC to a non-zero value to\n  force the driver to always use device memory for physical storage.\n  When this environment variable is set to a non-zero value, all\n  contexts created in that process on devices that support managed\n  memory have to be peer-to-peer compatible with each other. Context\n  creation will fail if a context is created on a device that supports\n  managed memory and is not peer-to-peer compatible with any of the\n  other managed memory supporting devices on which contexts were\n  previously created, even if those contexts have been destroyed. These\n  environment variables are described in the CUDA programming guide\n  under the \"CUDA environment variables\" section"".\n\n- On ARM, managed memory is not available on discrete gpu with Drive\n  PX-2.\n\nParameters\n----------\nbytesize : size_t\n    Requested allocation size in bytes\nflags : unsigned int\n    Must be one of :py:obj:`~.CU_MEM_ATTACH_GLOBAL` or\n    :py:obj:`~.CU_MEM_ATTACH_HOST`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\ndptr : :py:obj:`~.CUdeviceptr`\n    Returned device pointer\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuStreamAttachMemAsync`, :py:obj:`~.cudaMallocManaged`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_195cuMemAllocManaged = {"cuMemAllocManaged", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_195cuMemAllocManaged, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_194cuMemAllocManaged};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_195cuMemAllocManaged(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_bytesize;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAllocManaged (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_bytesize_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23247, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23247, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23247, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAllocManaged", 0) < (0)) __PYX_ERR(0, 23247, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAllocManaged", 1, 2, 2, i); __PYX_ERR(0, 23247, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23247, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23247, __pyx_L3_error)
    }
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 23248, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 23248, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocManaged", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23247, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_194cuMemAllocManaged(__pyx_self, __pyx_v_bytesize, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_194cuMemAllocManaged(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocManaged", 0);

  /* "cuda/bindings/driver.pyx":23374
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuStreamAttachMemAsync`, :py:obj:`~.cudaMallocManaged`
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAllocManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23374, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23375
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23376
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:
 *         err = cydriver.cuMemAllocManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAllocManaged(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), __pyx_v_bytesize, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23376, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":23375
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23377
 *     with nogil:
 *         err = cydriver.cuMemAllocManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":23378
 *         err = cydriver.cuMemAllocManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23378, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 23378, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23377
 *     with nogil:
 *         err = cydriver.cuMemAllocManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)
*/
  }

  /* "cuda/bindings/driver.pyx":23379
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)             # <<<<<<<<<<<<<<
 * 
 * ctypedef struct cuAsyncCallbackData_st:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23379, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 23379, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23247
 *     return (_dict_CUresult[err], pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocManaged(size_t bytesize, unsigned int flags):
 *     """ Allocates memory that will be automatically managed by the Unified Memory system.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23387
 * ctypedef cuAsyncCallbackData_st cuAsyncCallbackData
 * 
 * @cython.show_performance_hints(False)             # <<<<<<<<<<<<<<
 * cdef void cuAsyncNotificationCallbackWrapper(cydriver.CUasyncNotificationInfo *info, void *data, cydriver.CUasyncCallbackHandle handle) nogil:
 *     cdef cuAsyncCallbackData *cbData = <cuAsyncCallbackData *>data
*/

static void __pyx_f_4cuda_8bindings_6driver_cuAsyncNotificationCallbackWrapper(CUasyncNotificationInfo *__pyx_v_info, void *__pyx_v_data, CUasyncCallbackHandle __pyx_v_handle) {
  __pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData *__pyx_v_cbData;

  /* "cuda/bindings/driver.pyx":23389
 * @cython.show_performance_hints(False)
 * cdef void cuAsyncNotificationCallbackWrapper(cydriver.CUasyncNotificationInfo *info, void *data, cydriver.CUasyncCallbackHandle handle) nogil:
 *     cdef cuAsyncCallbackData *cbData = <cuAsyncCallbackData *>data             # <<<<<<<<<<<<<<
 *     with gil:
 *         cbData.callback(info, cbData.userData, handle)
*/
  __pyx_v_cbData = ((__pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData *)__pyx_v_data);

  /* "cuda/bindings/driver.pyx":23390
 * cdef void cuAsyncNotificationCallbackWrapper(cydriver.CUasyncNotificationInfo *info, void *data, cydriver.CUasyncCallbackHandle handle) nogil:
 *     cdef cuAsyncCallbackData *cbData = <cuAsyncCallbackData *>data
 *     with gil:             # <<<<<<<<<<<<<<
 *         cbData.callback(info, cbData.userData, handle)
 * 
*/
  {
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23391
 *     cdef cuAsyncCallbackData *cbData = <cuAsyncCallbackData *>data
 *     with gil:
 *         cbData.callback(info, cbData.userData, handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
        __pyx_v_cbData->callback(__pyx_v_info, __pyx_v_cbData->userData, __pyx_v_handle);
      }

      /* "cuda/bindings/driver.pyx":23390
 * cdef void cuAsyncNotificationCallbackWrapper(cydriver.CUasyncNotificationInfo *info, void *data, cydriver.CUasyncCallbackHandle handle) nogil:
 *     cdef cuAsyncCallbackData *cbData = <cuAsyncCallbackData *>data
 *     with gil:             # <<<<<<<<<<<<<<
 *         cbData.callback(info, cbData.userData, handle)
 * 
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          goto __pyx_L5;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23387
 * ctypedef cuAsyncCallbackData_st cuAsyncCallbackData
 * 
 * @cython.show_performance_hints(False)             # <<<<<<<<<<<<<<
 * cdef void cuAsyncNotificationCallbackWrapper(cydriver.CUasyncNotificationInfo *info, void *data, cydriver.CUasyncCallbackHandle handle) nogil:
 *     cdef cuAsyncCallbackData *cbData = <cuAsyncCallbackData *>data
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":23393
 *         cbData.callback(info, cbData.userData, handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceRegisterAsyncNotification(device, callbackFunc, userData):
 *     """ Registers a callback function to receive async notifications.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_197cuDeviceRegisterAsyncNotification(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_196cuDeviceRegisterAsyncNotification, "cuDeviceRegisterAsyncNotification(device, callbackFunc, userData)\n\nRegisters a callback function to receive async notifications.\n\nRegisters `callbackFunc` to receive async notifications.\n\nThe `userData` parameter is passed to the callback function at async\nnotification time.   Likewise, `callback` is also passed to the\ncallback function to distinguish between multiple registered callbacks.\n\nThe callback function being registered should be designed to return\nquickly (~10ms).   Any long running tasks should be queued for\nexecution on an application thread.\n\nCallbacks may not call cuDeviceRegisterAsyncNotification or\ncuDeviceUnregisterAsyncNotification. Doing so will result in\n:py:obj:`~.CUDA_ERROR_NOT_PERMITTED`. Async notification callbacks\nexecute in an undefined order and may be serialized.\n\nReturns in `*callback` a handle representing the registered callback\ninstance.\n\nParameters\n----------\ndevice : :py:obj:`~.CUdevice`\n    The device on which to register the callback\ncallbackFunc : :py:obj:`~.CUasyncCallback`\n    The function to register as a callback\nuserData : Any\n    A generic pointer to user data. This is passed into the callback\n    function.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\ncallback : :py:obj:`~.CUasyncCallbackHandle`\n    A handle representing the registered callback instance\n\nSee Also\n--------\n:py:obj:`~.cuDeviceUnregisterAsyncNotification`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_197cuDeviceRegisterAsyncNotification = {"cuDeviceRegisterAsyncNotification", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_197cuDeviceRegisterAsyncNotification, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_196cuDeviceRegisterAsyncNotification};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_197cuDeviceRegisterAsyncNotification(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_device = 0;
  PyObject *__pyx_v_callbackFunc = 0;
  PyObject *__pyx_v_userData = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceRegisterAsyncNotification (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_device,&__pyx_mstate_global->__pyx_n_u_callbackFunc,&__pyx_mstate_global->__pyx_n_u_userData_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23393, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 23393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceRegisterAsyncNotification", 0) < (0)) __PYX_ERR(0, 23393, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceRegisterAsyncNotification", 1, 3, 3, i); __PYX_ERR(0, 23393, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23393, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23393, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 23393, __pyx_L3_error)
    }
    __pyx_v_device = values[0];
    __pyx_v_callbackFunc = values[1];
    __pyx_v_userData = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceRegisterAsyncNotification", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 23393, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceRegisterAsyncNotification", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_196cuDeviceRegisterAsyncNotification(__pyx_self, __pyx_v_device, __pyx_v_callbackFunc, __pyx_v_userData);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_196cuDeviceRegisterAsyncNotification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_callbackFunc, PyObject *__pyx_v_userData) {
  CUasyncCallback __pyx_v_cycallbackFunc;
  PyObject *__pyx_v_pcallbackFunc = NULL;
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyuserData = NULL;
  void *__pyx_v_cyuserData_ptr;
  __pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData *__pyx_v_cbData;
  struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_callback = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUdevice __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceRegisterAsyncNotification", 0);

  /* "cuda/bindings/driver.pyx":23437
 *     """
 *     cdef cydriver.CUasyncCallback cycallbackFunc
 *     if callbackFunc is None:             # <<<<<<<<<<<<<<
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
*/
  __pyx_t_1 = (__pyx_v_callbackFunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23438
 *     cdef cydriver.CUasyncCallback cycallbackFunc
 *     if callbackFunc is None:
 *         pcallbackFunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
 *         pcallbackFunc = int(callbackFunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pcallbackFunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":23437
 *     """
 *     cdef cydriver.CUasyncCallback cycallbackFunc
 *     if callbackFunc is None:             # <<<<<<<<<<<<<<
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23439
 *     if callbackFunc is None:
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):             # <<<<<<<<<<<<<<
 *         pcallbackFunc = int(callbackFunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_callbackFunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23440
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
 *         pcallbackFunc = int(callbackFunc)             # <<<<<<<<<<<<<<
 *     else:
 *         pcallbackFunc = int(CUasyncCallback(callbackFunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_callbackFunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallbackFunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23439
 *     if callbackFunc is None:
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):             # <<<<<<<<<<<<<<
 *         pcallbackFunc = int(callbackFunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23442
 *         pcallbackFunc = int(callbackFunc)
 *     else:
 *         pcallbackFunc = int(CUasyncCallback(callbackFunc))             # <<<<<<<<<<<<<<
 *     cycallbackFunc = <cydriver.CUasyncCallback><void_ptr>pcallbackFunc
 *     cdef cydriver.CUdevice cydevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callbackFunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23442, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallbackFunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23443
 *     else:
 *         pcallbackFunc = int(CUasyncCallback(callbackFunc))
 *     cycallbackFunc = <cydriver.CUasyncCallback><void_ptr>pcallbackFunc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallbackFunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23443, __pyx_L1_error)
  __pyx_v_cycallbackFunc = ((CUasyncCallback)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":23445
 *     cycallbackFunc = <cydriver.CUasyncCallback><void_ptr>pcallbackFunc
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23446
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":23445
 *     cycallbackFunc = <cydriver.CUasyncCallback><void_ptr>pcallbackFunc
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":23447
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23448
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":23447
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":23450
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cyuserData = _HelperInputVoidPtr(userData)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_device};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23450, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":23451
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
*/
  __pyx_t_7 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_7 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 23451, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_7);

  /* "cuda/bindings/driver.pyx":23452
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cyuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_userData};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23452, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":23453
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr             # <<<<<<<<<<<<<<
 * 
 *     cdef cuAsyncCallbackData *cbData = NULL
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyuserData_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":23455
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
 *     cdef cuAsyncCallbackData *cbData = NULL             # <<<<<<<<<<<<<<
 *     cbData = <cuAsyncCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:
*/
  __pyx_v_cbData = NULL;

  /* "cuda/bindings/driver.pyx":23456
 * 
 *     cdef cuAsyncCallbackData *cbData = NULL
 *     cbData = <cuAsyncCallbackData *>malloc(sizeof(cbData[0]))             # <<<<<<<<<<<<<<
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
*/
  __pyx_v_cbData = ((__pyx_t_4cuda_8bindings_6driver_cuAsyncCallbackData *)malloc((sizeof((__pyx_v_cbData[0])))));

  /* "cuda/bindings/driver.pyx":23457
 *     cdef cuAsyncCallbackData *cbData = NULL
 *     cbData = <cuAsyncCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:             # <<<<<<<<<<<<<<
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
 *     cbData.callback = cycallbackFunc
*/
  __pyx_t_1 = (__pyx_v_cbData == NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23458
 *     cbData = <cuAsyncCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)             # <<<<<<<<<<<<<<
 *     cbData.callback = cycallbackFunc
 *     cbData.userData = cyuserData_ptr
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23458, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 23458, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23457
 *     cdef cuAsyncCallbackData *cbData = NULL
 *     cbData = <cuAsyncCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:             # <<<<<<<<<<<<<<
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
 *     cbData.callback = cycallbackFunc
*/
  }

  /* "cuda/bindings/driver.pyx":23459
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
 *     cbData.callback = cycallbackFunc             # <<<<<<<<<<<<<<
 *     cbData.userData = cyuserData_ptr
 * 
*/
  __pyx_v_cbData->callback = __pyx_v_cycallbackFunc;

  /* "cuda/bindings/driver.pyx":23460
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
 *     cbData.callback = cycallbackFunc
 *     cbData.userData = cyuserData_ptr             # <<<<<<<<<<<<<<
 * 
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()
*/
  __pyx_v_cbData->userData = __pyx_v_cyuserData_ptr;

  /* "cuda/bindings/driver.pyx":23462
 *     cbData.userData = cyuserData_ptr
 * 
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceRegisterAsyncNotification(cydevice, <cydriver.CUasyncCallback>cuAsyncNotificationCallbackWrapper, <void *>cbData, <cydriver.CUasyncCallbackHandle*>callback._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle);
  __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23462, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_callback = ((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":23463
 * 
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceRegisterAsyncNotification(cydevice, <cydriver.CUasyncCallback>cuAsyncNotificationCallbackWrapper, <void *>cbData, <cydriver.CUasyncCallbackHandle*>callback._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23464
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()
 *     with nogil:
 *         err = cydriver.cuDeviceRegisterAsyncNotification(cydevice, <cydriver.CUasyncCallback>cuAsyncNotificationCallbackWrapper, <void *>cbData, <cydriver.CUasyncCallbackHandle*>callback._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceRegisterAsyncNotification(__pyx_v_cydevice, ((CUasyncCallback)__pyx_f_4cuda_8bindings_6driver_cuAsyncNotificationCallbackWrapper), ((void *)__pyx_v_cbData), ((CUasyncCallbackHandle *)__pyx_v_callback->_pvt_ptr)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23464, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":23463
 * 
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceRegisterAsyncNotification(cydevice, <cydriver.CUasyncCallback>cuAsyncNotificationCallbackWrapper, <void *>cbData, <cydriver.CUasyncCallbackHandle*>callback._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":23465
 *     with nogil:
 *         err = cydriver.cuDeviceRegisterAsyncNotification(cydevice, <cydriver.CUasyncCallback>cuAsyncNotificationCallbackWrapper, <void *>cbData, <cydriver.CUasyncCallbackHandle*>callback._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(cbData)
 *     else:
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23466
 *         err = cydriver.cuDeviceRegisterAsyncNotification(cydevice, <cydriver.CUasyncCallback>cuAsyncNotificationCallbackWrapper, <void *>cbData, <cydriver.CUasyncCallbackHandle*>callback._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)             # <<<<<<<<<<<<<<
 *     else:
 *         m_global._allocated[int(callback)] = cbData
*/
    free(__pyx_v_cbData);

    /* "cuda/bindings/driver.pyx":23465
 *     with nogil:
 *         err = cydriver.cuDeviceRegisterAsyncNotification(cydevice, <cydriver.CUasyncCallback>cuAsyncNotificationCallbackWrapper, <void *>cbData, <cydriver.CUasyncCallbackHandle*>callback._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(cbData)
 *     else:
*/
    goto __pyx_L9;
  }

  /* "cuda/bindings/driver.pyx":23468
 *         free(cbData)
 *     else:
 *         m_global._allocated[int(callback)] = cbData             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
  /*else*/ {
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_v_callback)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23468, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_4cuda_8bindings_6driver_m_global->_allocated[__pyx_t_6]) = __pyx_v_cbData;
  }
  __pyx_L9:;

  /* "cuda/bindings/driver.pyx":23469
 *     else:
 *         m_global._allocated[int(callback)] = cbData
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], callback)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23470
 *         m_global._allocated[int(callback)] = cbData
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], callback)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23470, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 23470, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23469
 *     else:
 *         m_global._allocated[int(callback)] = cbData
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], callback)
*/
  }

  /* "cuda/bindings/driver.pyx":23471
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], callback)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 23471, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_callback);
  __Pyx_GIVEREF((PyObject *)__pyx_v_callback);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_callback)) != (0)) __PYX_ERR(0, 23471, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23393
 *         cbData.callback(info, cbData.userData, handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceRegisterAsyncNotification(device, callbackFunc, userData):
 *     """ Registers a callback function to receive async notifications.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceRegisterAsyncNotification", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcallbackFunc);
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyuserData);
  __Pyx_XDECREF((PyObject *)__pyx_v_callback);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23473
 *     return (_dict_CUresult[err], callback)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceUnregisterAsyncNotification(device, callback):
 *     """ Unregisters an async notification callback.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_199cuDeviceUnregisterAsyncNotification(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_198cuDeviceUnregisterAsyncNotification, "cuDeviceUnregisterAsyncNotification(device, callback)\n\nUnregisters an async notification callback.\n\nUnregisters `callback` so that the corresponding callback function will\nstop receiving async notifications.\n\nParameters\n----------\ndevice : :py:obj:`~.CUdevice`\n    The device from which to remove `callback`.\ncallback : :py:obj:`~.CUasyncCallbackHandle`\n    The callback instance to unregister from receiving async\n    notifications.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n\nSee Also\n--------\n:py:obj:`~.cuDeviceRegisterAsyncNotification`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_199cuDeviceUnregisterAsyncNotification = {"cuDeviceUnregisterAsyncNotification", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_199cuDeviceUnregisterAsyncNotification, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_198cuDeviceUnregisterAsyncNotification};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_199cuDeviceUnregisterAsyncNotification(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_device = 0;
  PyObject *__pyx_v_callback = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceUnregisterAsyncNotification (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_device,&__pyx_mstate_global->__pyx_n_u_callback,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23473, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23473, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23473, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceUnregisterAsyncNotification", 0) < (0)) __PYX_ERR(0, 23473, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceUnregisterAsyncNotification", 1, 2, 2, i); __PYX_ERR(0, 23473, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23473, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23473, __pyx_L3_error)
    }
    __pyx_v_device = values[0];
    __pyx_v_callback = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceUnregisterAsyncNotification", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23473, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceUnregisterAsyncNotification", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_198cuDeviceUnregisterAsyncNotification(__pyx_self, __pyx_v_device, __pyx_v_callback);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_198cuDeviceUnregisterAsyncNotification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_callback) {
  CUasyncCallbackHandle __pyx_v_cycallback;
  PyObject *__pyx_v_pcallback = NULL;
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUdevice __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceUnregisterAsyncNotification", 0);

  /* "cuda/bindings/driver.pyx":23498
 *     """
 *     cdef cydriver.CUasyncCallbackHandle cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
*/
  __pyx_t_1 = (__pyx_v_callback == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23499
 *     cdef cydriver.CUasyncCallbackHandle cycallback
 *     if callback is None:
 *         pcallback = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
 *         pcallback = int(callback)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pcallback = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":23498
 *     """
 *     cdef cydriver.CUasyncCallbackHandle cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23500
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_callback, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23501
 *         pcallback = 0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
 *         pcallback = int(callback)             # <<<<<<<<<<<<<<
 *     else:
 *         pcallback = int(CUasyncCallbackHandle(callback))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallback = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23500
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23503
 *         pcallback = int(callback)
 *     else:
 *         pcallback = int(CUasyncCallbackHandle(callback))             # <<<<<<<<<<<<<<
 *     cycallback = <cydriver.CUasyncCallbackHandle><void_ptr>pcallback
 *     cdef cydriver.CUdevice cydevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callback};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23503, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallback = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23504
 *     else:
 *         pcallback = int(CUasyncCallbackHandle(callback))
 *     cycallback = <cydriver.CUasyncCallbackHandle><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23504, __pyx_L1_error)
  __pyx_v_cycallback = ((CUasyncCallbackHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":23506
 *     cycallback = <cydriver.CUasyncCallbackHandle><void_ptr>pcallback
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23507
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":23506
 *     cycallback = <cydriver.CUasyncCallbackHandle><void_ptr>pcallback
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":23508
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23509
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":23508
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":23511
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_device};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23511, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":23512
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)
*/
  __pyx_t_7 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_7 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 23512, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_7);

  /* "cuda/bindings/driver.pyx":23513
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)
 *     if err == cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23514
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)             # <<<<<<<<<<<<<<
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceUnregisterAsyncNotification(__pyx_v_cydevice, __pyx_v_cycallback); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23514, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":23513
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)
 *     if err == cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":23515
 *     with nogil:
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)
 *     if err == cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)
*/
  __pyx_t_1 = (__pyx_v_err == CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23516
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])             # <<<<<<<<<<<<<<
 *         m_global._allocated.erase(<void_ptr>pcallback)
 *     return (_dict_CUresult[err],)
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23516, __pyx_L1_error)
    free((__pyx_v_4cuda_8bindings_6driver_m_global->_allocated[__pyx_t_6]));

    /* "cuda/bindings/driver.pyx":23517
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23517, __pyx_L1_error)
    (void)(__pyx_v_4cuda_8bindings_6driver_m_global->_allocated.erase(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6)));

    /* "cuda/bindings/driver.pyx":23515
 *     with nogil:
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)
 *     if err == cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)
*/
  }

  /* "cuda/bindings/driver.pyx":23518
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23518, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23473
 *     return (_dict_CUresult[err], callback)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceUnregisterAsyncNotification(device, callback):
 *     """ Unregisters an async notification callback.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceUnregisterAsyncNotification", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcallback);
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23520
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetByPCIBusId(char* pciBusId):
 *     """ Returns a handle to a compute device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_201cuDeviceGetByPCIBusId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_200cuDeviceGetByPCIBusId, "cuDeviceGetByPCIBusId(char *pciBusId)\n\nReturns a handle to a compute device.\n\nReturns in `*device` a device handle given a PCI bus ID string.\n\nwhere `domain`, `bus`, `device`, and `function` are all hexadecimal\nvalues\n\nParameters\n----------\npciBusId : bytes\n    String in one of the following forms:\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\ndev : :py:obj:`~.CUdevice`\n    Returned device handle\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetPCIBusId`, :py:obj:`~.cudaDeviceGetByPCIBusId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_201cuDeviceGetByPCIBusId = {"cuDeviceGetByPCIBusId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_201cuDeviceGetByPCIBusId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_200cuDeviceGetByPCIBusId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_201cuDeviceGetByPCIBusId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  char *__pyx_v_pciBusId;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetByPCIBusId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pciBusId,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23520, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetByPCIBusId", 0) < (0)) __PYX_ERR(0, 23520, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetByPCIBusId", 1, 1, 1, i); __PYX_ERR(0, 23520, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23520, __pyx_L3_error)
    }
    __pyx_v_pciBusId = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_pciBusId) && PyErr_Occurred())) __PYX_ERR(0, 23521, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetByPCIBusId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23520, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetByPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_200cuDeviceGetByPCIBusId(__pyx_self, __pyx_v_pciBusId);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_200cuDeviceGetByPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_pciBusId) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_dev = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetByPCIBusId", 0);

  /* "cuda/bindings/driver.pyx":23545
 *     :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetPCIBusId`, :py:obj:`~.cudaDeviceGetByPCIBusId`
 *     """
 *     cdef CUdevice dev = CUdevice()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetByPCIBusId(<cydriver.CUdevice*>dev._pvt_ptr, pciBusId)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23545, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_dev = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23546
 *     """
 *     cdef CUdevice dev = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetByPCIBusId(<cydriver.CUdevice*>dev._pvt_ptr, pciBusId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23547
 *     cdef CUdevice dev = CUdevice()
 *     with nogil:
 *         err = cydriver.cuDeviceGetByPCIBusId(<cydriver.CUdevice*>dev._pvt_ptr, pciBusId)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetByPCIBusId(((CUdevice *)__pyx_v_dev->_pvt_ptr), __pyx_v_pciBusId); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23547, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":23546
 *     """
 *     cdef CUdevice dev = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetByPCIBusId(<cydriver.CUdevice*>dev._pvt_ptr, pciBusId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23548
 *     with nogil:
 *         err = cydriver.cuDeviceGetByPCIBusId(<cydriver.CUdevice*>dev._pvt_ptr, pciBusId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dev)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":23549
 *         err = cydriver.cuDeviceGetByPCIBusId(<cydriver.CUdevice*>dev._pvt_ptr, pciBusId)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dev)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23549, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 23549, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23548
 *     with nogil:
 *         err = cydriver.cuDeviceGetByPCIBusId(<cydriver.CUdevice*>dev._pvt_ptr, pciBusId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dev)
*/
  }

  /* "cuda/bindings/driver.pyx":23550
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dev)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23550, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dev);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dev);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_dev)) != (0)) __PYX_ERR(0, 23550, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23520
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetByPCIBusId(char* pciBusId):
 *     """ Returns a handle to a compute device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetByPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23552
 *     return (_dict_CUresult[err], dev)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetPCIBusId(int length, dev):
 *     """ Returns a PCI Bus Id string for the device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_203cuDeviceGetPCIBusId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_202cuDeviceGetPCIBusId, "cuDeviceGetPCIBusId(int length, dev)\n\nReturns a PCI Bus Id string for the device.\n\nReturns an ASCII string identifying the device `dev` in the NULL-\nterminated string pointed to by `pciBusId`. `length` specifies the\nmaximum length of the string that may be returned.\n\nwhere `domain`, `bus`, `device`, and `function` are all hexadecimal\nvalues. pciBusId should be large enough to store 13 characters\nincluding the NULL-terminator.\n\nParameters\n----------\nlength : int\n    Maximum length of string to store in `name`\ndev : :py:obj:`~.CUdevice`\n    Device to get identifier string for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\npciBusId : bytes\n    Returned identifier string for the device in the following format\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetByPCIBusId`, :py:obj:`~.cudaDeviceGetPCIBusId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_203cuDeviceGetPCIBusId = {"cuDeviceGetPCIBusId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_203cuDeviceGetPCIBusId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_202cuDeviceGetPCIBusId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_203cuDeviceGetPCIBusId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_length;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetPCIBusId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_length,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23552, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23552, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23552, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetPCIBusId", 0) < (0)) __PYX_ERR(0, 23552, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetPCIBusId", 1, 2, 2, i); __PYX_ERR(0, 23552, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23552, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23552, __pyx_L3_error)
    }
    __pyx_v_length = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 23553, __pyx_L3_error)
    __pyx_v_dev = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetPCIBusId", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23552, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_202cuDeviceGetPCIBusId(__pyx_self, __pyx_v_length, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_202cuDeviceGetPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  PyObject *__pyx_v_pypciBusId = NULL;
  char *__pyx_v_pciBusId;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  char *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetPCIBusId", 0);

  /* "cuda/bindings/driver.pyx":23583
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23584
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":23583
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23585
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23586
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23585
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23588
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     pypciBusId = b" " * length
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23588, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23589
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 23589, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":23590
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     pypciBusId = b" " * length             # <<<<<<<<<<<<<<
 *     cdef char* pciBusId = pypciBusId
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_kp_b__5, __pyx_v_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pypciBusId = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":23591
 *     cydev = <cydriver.CUdevice>pdev
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)
*/
  __pyx_t_7 = __Pyx_PyBytes_AsWritableString(__pyx_v_pypciBusId); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 23591, __pyx_L1_error)
  __pyx_v_pciBusId = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":23592
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23593
 *     cdef char* pciBusId = pypciBusId
 *     with nogil:
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetPCIBusId(__pyx_v_pciBusId, __pyx_v_length, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23593, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":23592
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23594
 *     with nogil:
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pypciBusId)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23595
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pypciBusId)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 23595, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 23595, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23594
 *     with nogil:
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pypciBusId)
*/
  }

  /* "cuda/bindings/driver.pyx":23596
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pypciBusId)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 23596, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pypciBusId);
  __Pyx_GIVEREF(__pyx_v_pypciBusId);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_pypciBusId) != (0)) __PYX_ERR(0, 23596, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23552
 *     return (_dict_CUresult[err], dev)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetPCIBusId(int length, dev):
 *     """ Returns a PCI Bus Id string for the device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pypciBusId);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23598
 *     return (_dict_CUresult[err], pypciBusId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetEventHandle(event):
 *     """ Gets an interprocess handle for a previously allocated event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_205cuIpcGetEventHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_204cuIpcGetEventHandle, "cuIpcGetEventHandle(event)\n\nGets an interprocess handle for a previously allocated event.\n\nTakes as input a previously allocated event. This event must have been\ncreated with the :py:obj:`~.CU_EVENT_INTERPROCESS` and\n:py:obj:`~.CU_EVENT_DISABLE_TIMING` flags set. This opaque handle may\nbe copied into other processes and opened with\n:py:obj:`~.cuIpcOpenEventHandle` to allow efficient hardware\nsynchronization between GPU work in different processes.\n\nAfter the event has been opened in the importing process,\n:py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventSynchronize`,\n:py:obj:`~.cuStreamWaitEvent` and :py:obj:`~.cuEventQuery` may be used\nin either process. Performing operations on the imported event after\nthe exported event has been freed with :py:obj:`~.cuEventDestroy` will\nresult in undefined behavior.\n\nIPC functionality is restricted to devices with support for unified\naddressing on Linux and Windows operating systems. IPC functionality on\nWindows is supported for compatibility purposes but not recommended as\nit comes with performance cost. Users can test their device for IPC\nfunctionality by calling :py:obj:`~.cuDeviceGetAttribute` with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\nParameters\n----------\nevent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event allocated with :py:obj:`~.CU_EVENT_INTERPROCESS` and\n    :py:obj:`~.CU_EVENT_DISABLE_TIMING` flags.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_MAP_FAILED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npHandle : :py:obj:`~.CUipcEventHandle`\n    Pointer to a user allocated CUipcEventHandle in which to return the\n    opaque event handle\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuIpcOpenEventHandle`, :py:obj:`~.cuIpcGetMemHandle""`, :py:obj:`~.cuIpcOpenMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`, :py:obj:`~.cudaIpcGetEventHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_205cuIpcGetEventHandle = {"cuIpcGetEventHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_205cuIpcGetEventHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_204cuIpcGetEventHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_205cuIpcGetEventHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuIpcGetEventHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_event_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23598, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23598, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuIpcGetEventHandle", 0) < (0)) __PYX_ERR(0, 23598, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuIpcGetEventHandle", 1, 1, 1, i); __PYX_ERR(0, 23598, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23598, __pyx_L3_error)
    }
    __pyx_v_event = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcGetEventHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23598, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcGetEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_204cuIpcGetEventHandle(__pyx_self, __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_204cuIpcGetEventHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle *__pyx_v_pHandle = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcGetEventHandle", 0);

  /* "cuda/bindings/driver.pyx":23642
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23643
 *     cdef cydriver.CUevent cyevent
 *     if event is None:
 *         pevent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pevent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":23642
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23644
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23645
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23644
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23647
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23647, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23648
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23648, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":23649
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuIpcGetEventHandle(<cydriver.CUipcEventHandle*>pHandle._pvt_ptr, cyevent)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23649, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":23650
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcGetEventHandle(<cydriver.CUipcEventHandle*>pHandle._pvt_ptr, cyevent)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23651
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 *     with nogil:
 *         err = cydriver.cuIpcGetEventHandle(<cydriver.CUipcEventHandle*>pHandle._pvt_ptr, cyevent)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuIpcGetEventHandle(((CUipcEventHandle *)__pyx_v_pHandle->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyevent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23651, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":23650
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcGetEventHandle(<cydriver.CUipcEventHandle*>pHandle._pvt_ptr, cyevent)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23652
 *     with nogil:
 *         err = cydriver.cuIpcGetEventHandle(<cydriver.CUipcEventHandle*>pHandle._pvt_ptr, cyevent)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23653
 *         err = cydriver.cuIpcGetEventHandle(<cydriver.CUipcEventHandle*>pHandle._pvt_ptr, cyevent)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pHandle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23653, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 23653, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23652
 *     with nogil:
 *         err = cydriver.cuIpcGetEventHandle(<cydriver.CUipcEventHandle*>pHandle._pvt_ptr, cyevent)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  }

  /* "cuda/bindings/driver.pyx":23654
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 23654, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 23654, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23598
 *     return (_dict_CUresult[err], pypciBusId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetEventHandle(event):
 *     """ Gets an interprocess handle for a previously allocated event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcGetEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23656
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenEventHandle(handle not None : CUipcEventHandle):
 *     """ Opens an interprocess event handle for use in the current process.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_207cuIpcOpenEventHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_206cuIpcOpenEventHandle, "cuIpcOpenEventHandle(CUipcEventHandle handle: CUipcEventHandle)\n\nOpens an interprocess event handle for use in the current process.\n\nOpens an interprocess event handle exported from another process with\n:py:obj:`~.cuIpcGetEventHandle`. This function returns a\n:py:obj:`~.CUevent` that behaves like a locally created event with the\n:py:obj:`~.CU_EVENT_DISABLE_TIMING` flag specified. This event must be\nfreed with :py:obj:`~.cuEventDestroy`.\n\nPerforming operations on the imported event after the exported event\nhas been freed with :py:obj:`~.cuEventDestroy` will result in undefined\nbehavior.\n\nIPC functionality is restricted to devices with support for unified\naddressing on Linux and Windows operating systems. IPC functionality on\nWindows is supported for compatibility purposes but not recommended as\nit comes with performance cost. Users can test their device for IPC\nfunctionality by calling :py:obj:`~.cuapiDeviceGetAttribute` with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\nParameters\n----------\nhandle : :py:obj:`~.CUipcEventHandle`\n    Interprocess handle to open\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_MAP_FAILED`, :py:obj:`~.CUDA_ERROR_PEER_ACCESS_UNSUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphEvent : :py:obj:`~.CUevent`\n    Returns the imported event\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuIpcGetEventHandle`, :py:obj:`~.cuIpcGetMemHandle`, :py:obj:`~.cuIpcOpenMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`, :py:obj:`~.cudaIpcOpenEventHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_207cuIpcOpenEventHandle = {"cuIpcOpenEventHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_207cuIpcOpenEventHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_206cuIpcOpenEventHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_207cuIpcOpenEventHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle *__pyx_v_handle = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuIpcOpenEventHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_handle_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23656, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23656, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuIpcOpenEventHandle", 0) < (0)) __PYX_ERR(0, 23656, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuIpcOpenEventHandle", 1, 1, 1, i); __PYX_ERR(0, 23656, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23656, __pyx_L3_error)
    }
    __pyx_v_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcOpenEventHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23656, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcOpenEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_handle), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle, 0, "handle", 0))) __PYX_ERR(0, 23657, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_206cuIpcOpenEventHandle(__pyx_self, __pyx_v_handle);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_206cuIpcOpenEventHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle *__pyx_v_handle) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_phEvent = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcOpenEventHandle", 0);

  /* "cuda/bindings/driver.pyx":23693
 *     :py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuIpcGetEventHandle`, :py:obj:`~.cuIpcGetMemHandle`, :py:obj:`~.cuIpcOpenMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`, :py:obj:`~.cudaIpcOpenEventHandle`
 *     """
 *     cdef CUevent phEvent = CUevent()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuIpcOpenEventHandle(<cydriver.CUevent*>phEvent._pvt_ptr, handle._pvt_ptr[0])
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23693, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23694
 *     """
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcOpenEventHandle(<cydriver.CUevent*>phEvent._pvt_ptr, handle._pvt_ptr[0])
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23695
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:
 *         err = cydriver.cuIpcOpenEventHandle(<cydriver.CUevent*>phEvent._pvt_ptr, handle._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuIpcOpenEventHandle(((CUevent *)__pyx_v_phEvent->_pvt_ptr), (__pyx_v_handle->__pyx_base.__pyx_base._pvt_ptr[0])); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23695, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":23694
 *     """
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcOpenEventHandle(<cydriver.CUevent*>phEvent._pvt_ptr, handle._pvt_ptr[0])
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23696
 *     with nogil:
 *         err = cydriver.cuIpcOpenEventHandle(<cydriver.CUevent*>phEvent._pvt_ptr, handle._pvt_ptr[0])
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":23697
 *         err = cydriver.cuIpcOpenEventHandle(<cydriver.CUevent*>phEvent._pvt_ptr, handle._pvt_ptr[0])
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phEvent)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23697, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 23697, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23696
 *     with nogil:
 *         err = cydriver.cuIpcOpenEventHandle(<cydriver.CUevent*>phEvent._pvt_ptr, handle._pvt_ptr[0])
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)
*/
  }

  /* "cuda/bindings/driver.pyx":23698
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23698, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phEvent)) != (0)) __PYX_ERR(0, 23698, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23656
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenEventHandle(handle not None : CUipcEventHandle):
 *     """ Opens an interprocess event handle for use in the current process.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcOpenEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23700
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetMemHandle(dptr):
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_209cuIpcGetMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_208cuIpcGetMemHandle, "cuIpcGetMemHandle(dptr)\n\nGets an interprocess memory handle for an existing device memory allocation.\n\nTakes a pointer to the base of an existing device memory allocation\ncreated with :py:obj:`~.cuMemAlloc` and exports it for use in another\nprocess. This is a lightweight operation and may be called multiple\ntimes on an allocation without adverse effects.\n\nIf a region of memory is freed with :py:obj:`~.cuMemFree` and a\nsubsequent call to :py:obj:`~.cuMemAlloc` returns memory with the same\ndevice address, :py:obj:`~.cuIpcGetMemHandle` will return a unique\nhandle for the new memory.\n\nIPC functionality is restricted to devices with support for unified\naddressing on Linux and Windows operating systems. IPC functionality on\nWindows is supported for compatibility purposes but not recommended as\nit comes with performance cost. Users can test their device for IPC\nfunctionality by calling :py:obj:`~.cuapiDeviceGetAttribute` with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\nParameters\n----------\ndptr : :py:obj:`~.CUdeviceptr`\n    Base pointer to previously allocated device memory\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_MAP_FAILED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npHandle : :py:obj:`~.CUipcMemHandle`\n    Pointer to user allocated :py:obj:`~.CUipcMemHandle` to return the\n    handle in.\n\nSee Also\n--------\n:py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuIpcGetEventHandle`, :py:obj:`~.cuIpcOpenEventHandle`, :py:obj:`~.cuIpcOpenMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`, :py:obj:`~.cudaIpcGetMemHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_209cuIpcGetMemHandle = {"cuIpcGetMemHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_209cuIpcGetMemHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_208cuIpcGetMemHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_209cuIpcGetMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuIpcGetMemHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23700, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23700, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuIpcGetMemHandle", 0) < (0)) __PYX_ERR(0, 23700, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuIpcGetMemHandle", 1, 1, 1, i); __PYX_ERR(0, 23700, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23700, __pyx_L3_error)
    }
    __pyx_v_dptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcGetMemHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23700, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcGetMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_208cuIpcGetMemHandle(__pyx_self, __pyx_v_dptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_208cuIpcGetMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle *__pyx_v_pHandle = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcGetMemHandle", 0);

  /* "cuda/bindings/driver.pyx":23739
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23740
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":23739
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23741
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23742
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23741
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23744
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23744, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23745
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23745, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":23746
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuIpcGetMemHandle(<cydriver.CUipcMemHandle*>pHandle._pvt_ptr, cydptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23746, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":23747
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcGetMemHandle(<cydriver.CUipcMemHandle*>pHandle._pvt_ptr, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23748
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 *     with nogil:
 *         err = cydriver.cuIpcGetMemHandle(<cydriver.CUipcMemHandle*>pHandle._pvt_ptr, cydptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuIpcGetMemHandle(((CUipcMemHandle *)__pyx_v_pHandle->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cydptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23748, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":23747
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcGetMemHandle(<cydriver.CUipcMemHandle*>pHandle._pvt_ptr, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23749
 *     with nogil:
 *         err = cydriver.cuIpcGetMemHandle(<cydriver.CUipcMemHandle*>pHandle._pvt_ptr, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23750
 *         err = cydriver.cuIpcGetMemHandle(<cydriver.CUipcMemHandle*>pHandle._pvt_ptr, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pHandle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23750, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 23750, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23749
 *     with nogil:
 *         err = cydriver.cuIpcGetMemHandle(<cydriver.CUipcMemHandle*>pHandle._pvt_ptr, cydptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  }

  /* "cuda/bindings/driver.pyx":23751
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 23751, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 23751, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23700
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetMemHandle(dptr):
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcGetMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23753
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenMemHandle(handle not None : CUipcMemHandle, unsigned int Flags):
 *     """ Opens an interprocess memory handle exported from another process and returns a device pointer usable in the local process.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_211cuIpcOpenMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_210cuIpcOpenMemHandle, "cuIpcOpenMemHandle(CUipcMemHandle handle: CUipcMemHandle, unsigned int Flags)\n\nOpens an interprocess memory handle exported from another process and returns a device pointer usable in the local process.\n\nMaps memory exported from another process with\n:py:obj:`~.cuIpcGetMemHandle` into the current device address space.\nFor contexts on different devices :py:obj:`~.cuIpcOpenMemHandle` can\nattempt to enable peer access between the devices as if the user called\n:py:obj:`~.cuCtxEnablePeerAccess`. This behavior is controlled by the\n:py:obj:`~.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS` flag.\n:py:obj:`~.cuDeviceCanAccessPeer` can determine if a mapping is\npossible.\n\nContexts that may open :py:obj:`~.CUipcMemHandles` are restricted in\nthe following way. :py:obj:`~.CUipcMemHandles` from each\n:py:obj:`~.CUdevice` in a given process may only be opened by one\n:py:obj:`~.CUcontext` per :py:obj:`~.CUdevice` per other process.\n\nIf the memory handle has already been opened by the current context,\nthe reference count on the handle is incremented by 1 and the existing\ndevice pointer is returned.\n\nMemory returned from :py:obj:`~.cuIpcOpenMemHandle` must be freed with\n:py:obj:`~.cuIpcCloseMemHandle`.\n\nCalling :py:obj:`~.cuMemFree` on an exported memory region before\ncalling :py:obj:`~.cuIpcCloseMemHandle` in the importing context will\nresult in undefined behavior.\n\nIPC functionality is restricted to devices with support for unified\naddressing on Linux and Windows operating systems. IPC functionality on\nWindows is supported for compatibility purposes but not recommended as\nit comes with performance cost. Users can test their device for IPC\nfunctionality by calling :py:obj:`~.cuapiDeviceGetAttribute` with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\nParameters\n----------\nhandle : :py:obj:`~.CUipcMemHandle`\n    :py:obj:`~.CUipcMemHandle` to open\nFlags : unsigned int\n    Flags for this operation. Must be specified as\n    :py:obj:`~.CU_IPC_MEM_LAZY_E""NABLE_PEER_ACCESS`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_MAP_FAILED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_TOO_MANY_PEERS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npdptr : :py:obj:`~.CUdeviceptr`\n    Returned device pointer\n\nSee Also\n--------\n:py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuIpcGetEventHandle`, :py:obj:`~.cuIpcOpenEventHandle`, :py:obj:`~.cuIpcGetMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`, :py:obj:`~.cuCtxEnablePeerAccess`, :py:obj:`~.cuDeviceCanAccessPeer`, :py:obj:`~.cudaIpcOpenMemHandle`\n\nNotes\n-----\nNo guarantees are made about the address returned in `*pdptr`. In particular, multiple processes may not receive the same address for the same `handle`.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_211cuIpcOpenMemHandle = {"cuIpcOpenMemHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_211cuIpcOpenMemHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_210cuIpcOpenMemHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_211cuIpcOpenMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle *__pyx_v_handle = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuIpcOpenMemHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_handle_2,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23753, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuIpcOpenMemHandle", 0) < (0)) __PYX_ERR(0, 23753, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuIpcOpenMemHandle", 1, 2, 2, i); __PYX_ERR(0, 23753, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23753, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23753, __pyx_L3_error)
    }
    __pyx_v_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle *)values[0]);
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 23754, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcOpenMemHandle", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23753, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcOpenMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_handle), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle, 0, "handle", 0))) __PYX_ERR(0, 23754, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_210cuIpcOpenMemHandle(__pyx_self, __pyx_v_handle, __pyx_v_Flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_210cuIpcOpenMemHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle *__pyx_v_handle, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_pdptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcOpenMemHandle", 0);

  /* "cuda/bindings/driver.pyx":23812
 *     No guarantees are made about the address returned in `*pdptr`. In particular, multiple processes may not receive the same address for the same `handle`.
 *     """
 *     cdef CUdeviceptr pdptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuIpcOpenMemHandle(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, handle._pvt_ptr[0], Flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23812, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pdptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23813
 *     """
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcOpenMemHandle(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, handle._pvt_ptr[0], Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23814
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     with nogil:
 *         err = cydriver.cuIpcOpenMemHandle(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, handle._pvt_ptr[0], Flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuIpcOpenMemHandle(((CUdeviceptr *)__pyx_v_pdptr->_pvt_ptr), (__pyx_v_handle->__pyx_base.__pyx_base._pvt_ptr[0]), __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23814, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":23813
 *     """
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcOpenMemHandle(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, handle._pvt_ptr[0], Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23815
 *     with nogil:
 *         err = cydriver.cuIpcOpenMemHandle(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, handle._pvt_ptr[0], Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":23816
 *         err = cydriver.cuIpcOpenMemHandle(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, handle._pvt_ptr[0], Flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pdptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23816, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 23816, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23815
 *     with nogil:
 *         err = cydriver.cuIpcOpenMemHandle(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, handle._pvt_ptr[0], Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)
*/
  }

  /* "cuda/bindings/driver.pyx":23817
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23817, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pdptr)) != (0)) __PYX_ERR(0, 23817, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23753
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenMemHandle(handle not None : CUipcMemHandle, unsigned int Flags):
 *     """ Opens an interprocess memory handle exported from another process and returns a device pointer usable in the local process.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcOpenMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23819
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcCloseMemHandle(dptr):
 *     """ Attempts to close memory mapped with :py:obj:`~.cuIpcOpenMemHandle`.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_213cuIpcCloseMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_212cuIpcCloseMemHandle, "cuIpcCloseMemHandle(dptr)\n\nAttempts to close memory mapped with :py:obj:`~.cuIpcOpenMemHandle`.\n\nDecrements the reference count of the memory returned by\n:py:obj:`~.cuIpcOpenMemHandle` by 1. When the reference count reaches\n0, this API unmaps the memory. The original allocation in the exporting\nprocess as well as imported mappings in other processes will be\nunaffected.\n\nAny resources used to enable peer access will be freed if this is the\nlast mapping using them.\n\nIPC functionality is restricted to devices with support for unified\naddressing on Linux and Windows operating systems. IPC functionality on\nWindows is supported for compatibility purposes but not recommended as\nit comes with performance cost. Users can test their device for IPC\nfunctionality by calling :py:obj:`~.cuapiDeviceGetAttribute` with\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\nParameters\n----------\ndptr : :py:obj:`~.CUdeviceptr`\n    Device pointer returned by :py:obj:`~.cuIpcOpenMemHandle`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_MAP_FAILED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuIpcGetEventHandle`, :py:obj:`~.cuIpcOpenEventHandle`, :py:obj:`~.cuIpcGetMemHandle`, :py:obj:`~.cuIpcOpenMemHandle`, :py:obj:`~.cudaIpcCloseMemHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_213cuIpcCloseMemHandle = {"cuIpcCloseMemHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_213cuIpcCloseMemHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_212cuIpcCloseMemHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_213cuIpcCloseMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuIpcCloseMemHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23819, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23819, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuIpcCloseMemHandle", 0) < (0)) __PYX_ERR(0, 23819, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuIpcCloseMemHandle", 1, 1, 1, i); __PYX_ERR(0, 23819, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23819, __pyx_L3_error)
    }
    __pyx_v_dptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcCloseMemHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23819, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcCloseMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_212cuIpcCloseMemHandle(__pyx_self, __pyx_v_dptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_212cuIpcCloseMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcCloseMemHandle", 0);

  /* "cuda/bindings/driver.pyx":23854
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23855
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":23854
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23856
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":23857
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23856
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23859
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23859, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23860
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23860, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":23861
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23862
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuIpcCloseMemHandle(__pyx_v_cydptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23862, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":23861
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23863
 *     with nogil:
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 23863, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23819
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcCloseMemHandle(dptr):
 *     """ Attempts to close memory mapped with :py:obj:`~.cuIpcOpenMemHandle`.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuIpcCloseMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostRegister(p, size_t bytesize, unsigned int Flags):
 *     """ Registers an existing host memory range for use by CUDA.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_215cuMemHostRegister(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_214cuMemHostRegister, "cuMemHostRegister(p, size_t bytesize, unsigned int Flags)\n\nRegisters an existing host memory range for use by CUDA.\n\nPage-locks the memory range specified by `p` and `bytesize` and maps it\nfor the device(s) as specified by `Flags`. This memory range also is\nadded to the same tracking mechanism as :py:obj:`~.cuMemHostAlloc` to\nautomatically accelerate calls to functions such as\n:py:obj:`~.cuMemcpyHtoD()`. Since the memory can be accessed directly\nby the device, it can be read or written with much higher bandwidth\nthan pageable memory that has not been registered. Page-locking\nexcessive amounts of memory may degrade system performance, since it\nreduces the amount of memory available to the system for paging. As a\nresult, this function is best used sparingly to register staging areas\nfor data exchange between host and device.\n\nOn systems where\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`\nis true, :py:obj:`~.cuMemHostRegister` will not page-lock the memory\nrange specified by `ptr` but only populate unpopulated pages.\n\nThe `Flags` parameter enables different options to be specified that\naffect the allocation, as follows.\n\n- :py:obj:`~.CU_MEMHOSTREGISTER_PORTABLE`: The memory returned by this\n  call will be considered as pinned memory by all CUDA contexts, not\n  just the one that performed the allocation.\n\n- :py:obj:`~.CU_MEMHOSTREGISTER_DEVICEMAP`: Maps the allocation into\n  the CUDA address space. The device pointer to the memory may be\n  obtained by calling :py:obj:`~.cuMemHostGetDevicePointer()`.\n\n- :py:obj:`~.CU_MEMHOSTREGISTER_IOMEMORY`: The pointer is treated as\n  pointing to some I/O memory space, e.g. the PCI Express resource of a\n  3rd party device.\n\n- :py:obj:`~.CU_MEMHOSTREGISTER_READ_ONLY`: The pointer is treated as\n  pointing to memory that is considered read-only by the device. On\n  platforms without\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n  this ""flag is required in order to register memory mapped to the CPU\n  as read-only. Support for the use of this flag can be queried from\n  the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED`.\n  Using this flag with a current context associated with a device that\n  does not have this attribute set will cause\n  :py:obj:`~.cuMemHostRegister` to error with CUDA_ERROR_NOT_SUPPORTED.\n\nAll of these flags are orthogonal to one another: a developer may page-\nlock memory that is portable or mapped with no restrictions.\n\nThe :py:obj:`~.CU_MEMHOSTREGISTER_DEVICEMAP` flag may be specified on\nCUDA contexts for devices that do not support mapped pinned memory. The\nfailure is deferred to :py:obj:`~.cuMemHostGetDevicePointer()` because\nthe memory may be mapped into other CUDA contexts via the\n:py:obj:`~.CU_MEMHOSTREGISTER_PORTABLE` flag.\n\nFor devices that have a non-zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM`,\nthe memory can also be accessed from the device using the host pointer\n`p`. The device pointer returned by\n:py:obj:`~.cuMemHostGetDevicePointer()` may or may not match the\noriginal host pointer `ptr` and depends on the devices visible to the\napplication. If all devices visible to the application have a non-zero\nvalue for the device attribute, the device pointer returned by\n:py:obj:`~.cuMemHostGetDevicePointer()` will match the original pointer\n`ptr`. If any device visible to the application has a zero value for\nthe device attribute, the device pointer returned by\n:py:obj:`~.cuMemHostGetDevicePointer()` will not match the original\nhost pointer `ptr`, but it will be suitable for use on all devices\nprovided Unified Virtual Addressing is enabled. In such systems, it is\nvalid to access the memory using either pointer on devices that have a\nnon-zero value for the device attribute. Note however that such devices\nshould access the memory using only of the tw""o pointers and not both.\n\nThe memory page-locked by this function must be unregistered with\n:py:obj:`~.cuMemHostUnregister()`.\n\nParameters\n----------\np : Any\n    Host pointer to memory to page-lock\nbytesize : size_t\n    Size in bytes of the address range to page-lock\nFlags : unsigned int\n    Flags for allocation request\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuMemHostUnregister`, :py:obj:`~.cuMemHostGetFlags`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cudaHostRegister`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_215cuMemHostRegister = {"cuMemHostRegister", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_215cuMemHostRegister, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_214cuMemHostRegister};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_215cuMemHostRegister(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_p = 0;
  size_t __pyx_v_bytesize;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemHostRegister (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_p,&__pyx_mstate_global->__pyx_n_u_bytesize_2,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23865, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 23865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemHostRegister", 0) < (0)) __PYX_ERR(0, 23865, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemHostRegister", 1, 3, 3, i); __PYX_ERR(0, 23865, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23865, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23865, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 23865, __pyx_L3_error)
    }
    __pyx_v_p = values[0];
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 23866, __pyx_L3_error)
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 23866, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostRegister", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 23865, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostRegister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_214cuMemHostRegister(__pyx_self, __pyx_v_p, __pyx_v_bytesize, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_214cuMemHostRegister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p, size_t __pyx_v_bytesize, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyp = NULL;
  void *__pyx_v_cyp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostRegister", 0);

  /* "cuda/bindings/driver.pyx":23961
 *     :py:obj:`~.cuMemHostUnregister`, :py:obj:`~.cuMemHostGetFlags`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cudaHostRegister`
 *     """
 *     cyp = _HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23961, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyp = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23962
 *     """
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemHostRegister(cyp_ptr, bytesize, Flags)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyp), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23962, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyp_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23963
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostRegister(cyp_ptr, bytesize, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23964
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
 *         err = cydriver.cuMemHostRegister(cyp_ptr, bytesize, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostRegister(__pyx_v_cyp_ptr, __pyx_v_bytesize, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23964, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23963
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostRegister(cyp_ptr, bytesize, Flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23965
 *     with nogil:
 *         err = cydriver.cuMemHostRegister(cyp_ptr, bytesize, Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23965, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostRegister(p, size_t bytesize, unsigned int Flags):
 *     """ Registers an existing host memory range for use by CUDA.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostRegister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23967
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostUnregister(p):
 *     """ Unregisters a memory range that was registered with cuMemHostRegister.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_217cuMemHostUnregister(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_216cuMemHostUnregister, "cuMemHostUnregister(p)\n\nUnregisters a memory range that was registered with cuMemHostRegister.\n\nUnmaps the memory range whose base address is specified by `p`, and\nmakes it pageable again.\n\nThe base address must be the same one specified to\n:py:obj:`~.cuMemHostRegister()`.\n\nParameters\n----------\np : Any\n    Host pointer to memory to unregister\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED`,\n\nSee Also\n--------\n:py:obj:`~.cuMemHostRegister`, :py:obj:`~.cudaHostUnregister`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_217cuMemHostUnregister = {"cuMemHostUnregister", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_217cuMemHostUnregister, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_216cuMemHostUnregister};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_217cuMemHostUnregister(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_p = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemHostUnregister (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_p,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23967, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23967, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemHostUnregister", 0) < (0)) __PYX_ERR(0, 23967, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemHostUnregister", 1, 1, 1, i); __PYX_ERR(0, 23967, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23967, __pyx_L3_error)
    }
    __pyx_v_p = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostUnregister", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23967, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostUnregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_216cuMemHostUnregister(__pyx_self, __pyx_v_p);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_216cuMemHostUnregister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyp = NULL;
  void *__pyx_v_cyp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostUnregister", 0);

  /* "cuda/bindings/driver.pyx":23991
 *     :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cudaHostUnregister`
 *     """
 *     cyp = _HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23991, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyp = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":23992
 *     """
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemHostUnregister(cyp_ptr)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyp), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23992, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyp_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23993
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostUnregister(cyp_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23994
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
 *         err = cydriver.cuMemHostUnregister(cyp_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostUnregister(__pyx_v_cyp_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23994, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23993
 *     cyp = _HelperInputVoidPtr(p)
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostUnregister(cyp_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23995
 *     with nogil:
 *         err = cydriver.cuMemHostUnregister(cyp_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23995, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23967
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostUnregister(p):
 *     """ Unregisters a memory range that was registered with cuMemHostRegister.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemHostUnregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":23997
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy(dst, src, size_t ByteCount):
 *     """ Copies memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_219cuMemcpy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_218cuMemcpy, "cuMemcpy(dst, src, size_t ByteCount)\n\nCopies memory.\n\nCopies data between two pointers. `dst` and `src` are base pointers of\nthe destination and source, respectively. `ByteCount` specifies the\nnumber of bytes to copy. Note that this function infers the type of the\ntransfer (host to host, host to device, device to device, or device to\nhost) from the pointer values. This function is only allowed in\ncontexts which support unified addressing.\n\nParameters\n----------\ndst : :py:obj:`~.CUdeviceptr`\n    Destination unified virtual address space pointer\nsrc : :py:obj:`~.CUdeviceptr`\n    Source unified virtual address space pointer\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyToSymb""ol`, :py:obj:`~.cudaMemcpyFromSymbol`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_219cuMemcpy = {"cuMemcpy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_219cuMemcpy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_218cuMemcpy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_219cuMemcpy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dst_2,&__pyx_mstate_global->__pyx_n_u_src_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 23997, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 23997, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23997, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23997, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy", 0) < (0)) __PYX_ERR(0, 23997, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy", 1, 3, 3, i); __PYX_ERR(0, 23997, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23997, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23997, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 23997, __pyx_L3_error)
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 23998, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 23997, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_218cuMemcpy(__pyx_self, __pyx_v_dst, __pyx_v_src, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_218cuMemcpy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_cysrc;
  PyObject *__pyx_v_psrc = NULL;
  CUdeviceptr __pyx_v_cydst;
  PyObject *__pyx_v_pdst = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy", 0);

  /* "cuda/bindings/driver.pyx":24027
 *     """
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_src == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24028
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:
 *         psrc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24027
 *     """
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24029
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24030
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUdeviceptr(src))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24029
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24032
 *         psrc = int(src)
 *     else:
 *         psrc = int(CUdeviceptr(src))             # <<<<<<<<<<<<<<
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc
 *     cdef cydriver.CUdeviceptr cydst
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_src};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24032, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24033
 *     else:
 *         psrc = int(CUdeviceptr(src))
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24033, __pyx_L1_error)
  __pyx_v_cysrc = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24035
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24036
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:
 *         pdst = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdst = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24035
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24037
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24038
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUdeviceptr(dst))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdst = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":24037
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24040
 *         pdst = int(dst)
 *     else:
 *         pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dst};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24040, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24041
 *     else:
 *         pdst = int(CUdeviceptr(dst))
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy(cydst, cysrc, ByteCount)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24041, __pyx_L1_error)
  __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24042
 *         pdst = int(CUdeviceptr(dst))
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy(cydst, cysrc, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24043
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:
 *         err = cydriver.cuMemcpy(cydst, cysrc, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy(__pyx_v_cydst, __pyx_v_cysrc, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24043, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24042
 *         pdst = int(CUdeviceptr(dst))
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy(cydst, cysrc, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24044
 *     with nogil:
 *         err = cydriver.cuMemcpy(cydst, cysrc, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24044, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23997
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy(dst, src, size_t ByteCount):
 *     """ Copies memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrc);
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24046
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeer(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount):
 *     """ Copies device memory between two contexts.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_221cuMemcpyPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_220cuMemcpyPeer, "cuMemcpyPeer(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount)\n\nCopies device memory between two contexts.\n\nCopies from device memory in one context to device memory in another\ncontext. `dstDevice` is the base device pointer of the destination\nmemory and `dstContext` is the destination context. `srcDevice` is the\nbase device pointer of the source memory and `srcContext` is the source\npointer. `ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\ndstContext : :py:obj:`~.CUcontext`\n    Destination context\nsrcDevice : :py:obj:`~.CUdeviceptr`\n    Source device pointer\nsrcContext : :py:obj:`~.CUcontext`\n    Source context\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpy3DPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpyPeer`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_221cuMemcpyPeer = {"cuMemcpyPeer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_221cuMemcpyPeer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_220cuMemcpyPeer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_221cuMemcpyPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_dstContext = 0;
  PyObject *__pyx_v_srcDevice = 0;
  PyObject *__pyx_v_srcContext = 0;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyPeer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_dstContext_2,&__pyx_mstate_global->__pyx_n_u_srcDevice_2,&__pyx_mstate_global->__pyx_n_u_srcContext_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24046, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 24046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyPeer", 0) < (0)) __PYX_ERR(0, 24046, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyPeer", 1, 5, 5, i); __PYX_ERR(0, 24046, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24046, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24046, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24046, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24046, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 24046, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstContext = values[1];
    __pyx_v_srcDevice = values[2];
    __pyx_v_srcContext = values[3];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24047, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyPeer", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 24046, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_220cuMemcpyPeer(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstContext, __pyx_v_srcDevice, __pyx_v_srcContext, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_220cuMemcpyPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_dstContext, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_srcContext, size_t __pyx_v_ByteCount) {
  CUcontext __pyx_v_cysrcContext;
  PyObject *__pyx_v_psrcContext = NULL;
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUcontext __pyx_v_cydstContext;
  PyObject *__pyx_v_pdstContext = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyPeer", 0);

  /* "cuda/bindings/driver.pyx":24079
 *     """
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_srcContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24080
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:
 *         psrcContext = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcContext = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24079
 *     """
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24081
 *     if srcContext is None:
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcContext, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24082
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24081
 *     if srcContext is None:
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24084
 *         psrcContext = int(srcContext)
 *     else:
 *         psrcContext = int(CUcontext(srcContext))             # <<<<<<<<<<<<<<
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *     cdef cydriver.CUdeviceptr cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24084, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24085
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24085, __pyx_L1_error)
  __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24087
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24088
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
 *         psrcDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24087
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24089
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24090
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":24089
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24092
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUcontext cydstContext
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24092, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24093
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24093, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24095
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:             # <<<<<<<<<<<<<<
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_dstContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24096
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:
 *         pdstContext = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstContext = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24095
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:             # <<<<<<<<<<<<<<
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":24097
 *     if dstContext is None:
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstContext, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24098
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dstContext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24098, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24097
 *     if dstContext is None:
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":24100
 *         pdstContext = int(dstContext)
 *     else:
 *         pdstContext = int(CUcontext(dstContext))             # <<<<<<<<<<<<<<
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstContext};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24100, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":24101
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24101, __pyx_L1_error)
  __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24103
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24104
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24103
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":24105
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24106
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24105
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":24108
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24108, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":24109
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyPeer(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24109, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24110
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyPeer(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24111
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyPeer(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyPeer(__pyx_v_cydstDevice, __pyx_v_cydstContext, __pyx_v_cysrcDevice, __pyx_v_cysrcContext, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24111, __pyx_L8_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24110
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyPeer(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/bindings/driver.pyx":24112
 *     with nogil:
 *         err = cydriver.cuMemcpyPeer(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 24112, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24046
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeer(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount):
 *     """ Copies device memory between two contexts.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcContext);
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF(__pyx_v_pdstContext);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24114
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoD(dstDevice, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_223cuMemcpyHtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_222cuMemcpyHtoD, "cuMemcpyHtoD(dstDevice, srcHost, size_t ByteCount)\n\nCopies memory from Host to Device.\n\nCopies from host memory to device memory. `dstDevice` and `srcHost` are\nthe base addresses of the destination and source, respectively.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nsrcHost : Any\n    Source host pointer\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyToSymbol`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_223cuMemcpyHtoD = {"cuMemcpyHtoD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_223cuMemcpyHtoD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_222cuMemcpyHtoD};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_223cuMemcpyHtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_srcHost = 0;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyHtoD (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_srcHost_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24114, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24114, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24114, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24114, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyHtoD", 0) < (0)) __PYX_ERR(0, 24114, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoD", 1, 3, 3, i); __PYX_ERR(0, 24114, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24114, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24114, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24114, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcHost = values[1];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24115, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoD", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 24114, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyHtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_222cuMemcpyHtoD(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcHost, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_222cuMemcpyHtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cysrcHost = NULL;
  void *__pyx_v_cysrcHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyHtoD", 0);

  /* "cuda/bindings/driver.pyx":24141
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24142
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24141
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24143
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24144
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24143
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24146
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24146, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24147
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24147, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24148
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     cysrcHost = _HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24148, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cysrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":24149
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoD(cydstDevice, cysrcHost_ptr, ByteCount)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cysrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cysrcHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24150
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyHtoD(cydstDevice, cysrcHost_ptr, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24151
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoD(cydstDevice, cysrcHost_ptr, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoD(__pyx_v_cydstDevice, __pyx_v_cysrcHost_ptr, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24151, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24150
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyHtoD(cydstDevice, cysrcHost_ptr, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24152
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoD(cydstDevice, cysrcHost_ptr, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24152, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24114
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoD(dstDevice, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyHtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cysrcHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24154
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoH(dstHost, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Host.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_225cuMemcpyDtoH(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_224cuMemcpyDtoH, "cuMemcpyDtoH(dstHost, srcDevice, size_t ByteCount)\n\nCopies memory from Device to Host.\n\nCopies from device to host memory. `dstHost` and `srcDevice` specify\nthe base pointers of the destination and source, respectively.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstHost : Any\n    Destination host pointer\nsrcDevice : :py:obj:`~.CUdeviceptr`\n    Source device pointer\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyFromSymbol`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_225cuMemcpyDtoH = {"cuMemcpyDtoH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_225cuMemcpyDtoH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_224cuMemcpyDtoH};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_225cuMemcpyDtoH(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstHost = 0;
  PyObject *__pyx_v_srcDevice = 0;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyDtoH (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstHost_2,&__pyx_mstate_global->__pyx_n_u_srcDevice_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24154, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24154, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24154, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24154, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyDtoH", 0) < (0)) __PYX_ERR(0, 24154, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoH", 1, 3, 3, i); __PYX_ERR(0, 24154, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24154, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24154, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24154, __pyx_L3_error)
    }
    __pyx_v_dstHost = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24155, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoH", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 24154, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoH", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_224cuMemcpyDtoH(__pyx_self, __pyx_v_dstHost, __pyx_v_srcDevice, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_224cuMemcpyDtoH(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cydstHost = NULL;
  void *__pyx_v_cydstHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoH", 0);

  /* "cuda/bindings/driver.pyx":24181
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24182
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
 *         psrcDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24181
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24183
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24184
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24183
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24186
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cydstHost = _HelperInputVoidPtr(dstHost)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24186, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24187
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24187, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24188
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cydstHost = _HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24188, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cydstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":24189
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoH(cydstHost_ptr, cysrcDevice, ByteCount)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cydstHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24190
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoH(cydstHost_ptr, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24191
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoH(cydstHost_ptr, cysrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoH(__pyx_v_cydstHost_ptr, __pyx_v_cysrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24191, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24190
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoH(cydstHost_ptr, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24192
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoH(cydstHost_ptr, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24192, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24154
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoH(dstHost, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Host.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoH", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cydstHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24194
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoD(dstDevice, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_227cuMemcpyDtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_226cuMemcpyDtoD, "cuMemcpyDtoD(dstDevice, srcDevice, size_t ByteCount)\n\nCopies memory from Device to Device.\n\nCopies from device memory to device memory. `dstDevice` and `srcDevice`\nare the base pointers of the destination and source, respectively.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nsrcDevice : :py:obj:`~.CUdeviceptr`\n    Source device pointer\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_227cuMemcpyDtoD = {"cuMemcpyDtoD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_227cuMemcpyDtoD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_226cuMemcpyDtoD};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_227cuMemcpyDtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_srcDevice = 0;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyDtoD (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_srcDevice_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24194, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24194, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24194, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24194, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyDtoD", 0) < (0)) __PYX_ERR(0, 24194, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoD", 1, 3, 3, i); __PYX_ERR(0, 24194, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24194, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24194, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24194, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24195, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoD", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 24194, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_226cuMemcpyDtoD(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcDevice, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_226cuMemcpyDtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoD", 0);

  /* "cuda/bindings/driver.pyx":24221
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24222
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
 *         psrcDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24221
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24223
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24224
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24223
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24226
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24226, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24227
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24227, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24229
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24230
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24229
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24231
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24232
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":24231
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24234
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24234, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24235
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoD(cydstDevice, cysrcDevice, ByteCount)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24235, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24236
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoD(cydstDevice, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24237
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoD(cydstDevice, cysrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoD(__pyx_v_cydstDevice, __pyx_v_cysrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24237, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24236
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoD(cydstDevice, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24238
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoD(cydstDevice, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24238, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24194
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoD(dstDevice, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24240
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoA(dstArray, size_t dstOffset, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_229cuMemcpyDtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_228cuMemcpyDtoA, "cuMemcpyDtoA(dstArray, size_t dstOffset, srcDevice, size_t ByteCount)\n\nCopies memory from Device to Array.\n\nCopies from device memory to a 1D CUDA array. `dstArray` and\n`dstOffset` specify the CUDA array handle and starting index of the\ndestination data. `srcDevice` specifies the base pointer of the source.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstArray : :py:obj:`~.CUarray`\n    Destination array\ndstOffset : size_t\n    Offset in bytes of destination array\nsrcDevice : :py:obj:`~.CUdeviceptr`\n    Source device pointer\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpyToArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_229cuMemcpyDtoA = {"cuMemcpyDtoA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_229cuMemcpyDtoA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_228cuMemcpyDtoA};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_229cuMemcpyDtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstArray = 0;
  size_t __pyx_v_dstOffset;
  PyObject *__pyx_v_srcDevice = 0;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyDtoA (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstArray_2,&__pyx_mstate_global->__pyx_n_u_dstOffset,&__pyx_mstate_global->__pyx_n_u_srcDevice_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24240, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyDtoA", 0) < (0)) __PYX_ERR(0, 24240, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoA", 1, 4, 4, i); __PYX_ERR(0, 24240, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24240, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24240, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24240, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24240, __pyx_L3_error)
    }
    __pyx_v_dstArray = values[0];
    __pyx_v_dstOffset = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24241, __pyx_L3_error)
    __pyx_v_srcDevice = values[2];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24241, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoA", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24240, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_228cuMemcpyDtoA(__pyx_self, __pyx_v_dstArray, __pyx_v_dstOffset, __pyx_v_srcDevice, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_228cuMemcpyDtoA(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstArray, size_t __pyx_v_dstOffset, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUarray __pyx_v_cydstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoA", 0);

  /* "cuda/bindings/driver.pyx":24270
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24271
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
 *         psrcDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24270
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24272
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24273
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24272
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24275
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUarray cydstArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24275, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24276
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24276, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24278
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24279
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
 *         pdstArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24278
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24280
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24281
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":24280
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24283
 *         pdstArray = int(dstArray)
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstArray};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24283, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24284
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoA(cydstArray, dstOffset, cysrcDevice, ByteCount)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24284, __pyx_L1_error)
  __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24285
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoA(cydstArray, dstOffset, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24286
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoA(cydstArray, dstOffset, cysrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoA(__pyx_v_cydstArray, __pyx_v_dstOffset, __pyx_v_cysrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24286, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24285
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoA(cydstArray, dstOffset, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24287
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoA(cydstArray, dstOffset, cysrcDevice, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24287, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24240
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoA(dstArray, size_t dstOffset, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24289
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoD(dstDevice, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_231cuMemcpyAtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_230cuMemcpyAtoD, "cuMemcpyAtoD(dstDevice, srcArray, size_t srcOffset, size_t ByteCount)\n\nCopies memory from Array to Device.\n\nCopies from one 1D CUDA array to device memory. `dstDevice` specifies\nthe base pointer of the destination and must be naturally aligned with\nthe CUDA array elements. `srcArray` and `srcOffset` specify the CUDA\narray handle and the offset in bytes into the array where the copy is\nto begin. `ByteCount` specifies the number of bytes to copy and must be\nevenly divisible by the array element size.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nsrcArray : :py:obj:`~.CUarray`\n    Source array\nsrcOffset : size_t\n    Offset in bytes of source array\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, "":py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpyFromArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_231cuMemcpyAtoD = {"cuMemcpyAtoD", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_231cuMemcpyAtoD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_230cuMemcpyAtoD};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_231cuMemcpyAtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_srcArray = 0;
  size_t __pyx_v_srcOffset;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyAtoD (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_srcArray_2,&__pyx_mstate_global->__pyx_n_u_srcOffset,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24289, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24289, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24289, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24289, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24289, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyAtoD", 0) < (0)) __PYX_ERR(0, 24289, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoD", 1, 4, 4, i); __PYX_ERR(0, 24289, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24289, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24289, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24289, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24289, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcArray = values[1];
    __pyx_v_srcOffset = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_srcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24290, __pyx_L3_error)
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24290, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoD", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24289, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_230cuMemcpyAtoD(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcArray, __pyx_v_srcOffset, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_230cuMemcpyAtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcArray, size_t __pyx_v_srcOffset, size_t __pyx_v_ByteCount) {
  CUarray __pyx_v_cysrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAtoD", 0);

  /* "cuda/bindings/driver.pyx":24321
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24322
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:
 *         psrcArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24321
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24323
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24324
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24323
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24326
 *         psrcArray = int(srcArray)
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24326, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24327
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24327, __pyx_L1_error)
  __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24329
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24330
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24329
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24331
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24332
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":24331
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24334
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24334, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24335
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoD(cydstDevice, cysrcArray, srcOffset, ByteCount)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24335, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24336
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAtoD(cydstDevice, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24337
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoD(cydstDevice, cysrcArray, srcOffset, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoD(__pyx_v_cydstDevice, __pyx_v_cysrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24337, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24336
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAtoD(cydstDevice, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24338
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoD(cydstDevice, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24338, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24289
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoD(dstDevice, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24340
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoA(dstArray, size_t dstOffset, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_233cuMemcpyHtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_232cuMemcpyHtoA, "cuMemcpyHtoA(dstArray, size_t dstOffset, srcHost, size_t ByteCount)\n\nCopies memory from Host to Array.\n\nCopies from host memory to a 1D CUDA array. `dstArray` and `dstOffset`\nspecify the CUDA array handle and starting offset in bytes of the\ndestination data. `pSrc` specifies the base address of the source.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstArray : :py:obj:`~.CUarray`\n    Destination array\ndstOffset : size_t\n    Offset in bytes of destination array\nsrcHost : Any\n    Source host pointer\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpyToArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_233cuMemcpyHtoA = {"cuMemcpyHtoA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_233cuMemcpyHtoA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_232cuMemcpyHtoA};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_233cuMemcpyHtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstArray = 0;
  size_t __pyx_v_dstOffset;
  PyObject *__pyx_v_srcHost = 0;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyHtoA (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstArray_2,&__pyx_mstate_global->__pyx_n_u_dstOffset,&__pyx_mstate_global->__pyx_n_u_srcHost_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24340, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24340, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24340, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24340, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24340, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyHtoA", 0) < (0)) __PYX_ERR(0, 24340, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoA", 1, 4, 4, i); __PYX_ERR(0, 24340, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24340, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24340, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24340, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24340, __pyx_L3_error)
    }
    __pyx_v_dstArray = values[0];
    __pyx_v_dstOffset = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24341, __pyx_L3_error)
    __pyx_v_srcHost = values[2];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24341, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoA", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24340, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyHtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_232cuMemcpyHtoA(__pyx_self, __pyx_v_dstArray, __pyx_v_dstOffset, __pyx_v_srcHost, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_232cuMemcpyHtoA(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstArray, size_t __pyx_v_dstOffset, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount) {
  CUarray __pyx_v_cydstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cysrcHost = NULL;
  void *__pyx_v_cysrcHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyHtoA", 0);

  /* "cuda/bindings/driver.pyx":24370
 *     """
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24371
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
 *         pdstArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24370
 *     """
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24372
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24373
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24372
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24375
 *         pdstArray = int(dstArray)
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24375, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24376
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24376, __pyx_L1_error)
  __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24377
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     cysrcHost = _HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24377, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cysrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":24378
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoA(cydstArray, dstOffset, cysrcHost_ptr, ByteCount)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cysrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cysrcHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24379
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyHtoA(cydstArray, dstOffset, cysrcHost_ptr, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24380
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoA(cydstArray, dstOffset, cysrcHost_ptr, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoA(__pyx_v_cydstArray, __pyx_v_dstOffset, __pyx_v_cysrcHost_ptr, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24380, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24379
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyHtoA(cydstArray, dstOffset, cysrcHost_ptr, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24381
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoA(cydstArray, dstOffset, cysrcHost_ptr, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24381, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24340
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoA(dstArray, size_t dstOffset, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyHtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_cysrcHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24383
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoH(dstHost, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Host.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_235cuMemcpyAtoH(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_234cuMemcpyAtoH, "cuMemcpyAtoH(dstHost, srcArray, size_t srcOffset, size_t ByteCount)\n\nCopies memory from Array to Host.\n\nCopies from one 1D CUDA array to host memory. `dstHost` specifies the\nbase pointer of the destination. `srcArray` and `srcOffset` specify the\nCUDA array handle and starting offset in bytes of the source data.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstHost : Any\n    Destination device pointer\nsrcArray : :py:obj:`~.CUarray`\n    Source array\nsrcOffset : size_t\n    Offset in bytes of source array\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpyFromArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_235cuMemcpyAtoH = {"cuMemcpyAtoH", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_235cuMemcpyAtoH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_234cuMemcpyAtoH};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_235cuMemcpyAtoH(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstHost = 0;
  PyObject *__pyx_v_srcArray = 0;
  size_t __pyx_v_srcOffset;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyAtoH (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstHost_2,&__pyx_mstate_global->__pyx_n_u_srcArray_2,&__pyx_mstate_global->__pyx_n_u_srcOffset,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24383, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyAtoH", 0) < (0)) __PYX_ERR(0, 24383, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoH", 1, 4, 4, i); __PYX_ERR(0, 24383, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24383, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24383, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24383, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24383, __pyx_L3_error)
    }
    __pyx_v_dstHost = values[0];
    __pyx_v_srcArray = values[1];
    __pyx_v_srcOffset = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_srcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24384, __pyx_L3_error)
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24384, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoH", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24383, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAtoH", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_234cuMemcpyAtoH(__pyx_self, __pyx_v_dstHost, __pyx_v_srcArray, __pyx_v_srcOffset, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_234cuMemcpyAtoH(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcArray, size_t __pyx_v_srcOffset, size_t __pyx_v_ByteCount) {
  CUarray __pyx_v_cysrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cydstHost = NULL;
  void *__pyx_v_cydstHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAtoH", 0);

  /* "cuda/bindings/driver.pyx":24413
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24414
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:
 *         psrcArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24413
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24415
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24416
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24415
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24418
 *         psrcArray = int(srcArray)
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cydstHost = _HelperInputVoidPtr(dstHost)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24418, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24419
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24419, __pyx_L1_error)
  __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24420
 *         psrcArray = int(CUarray(srcArray))
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cydstHost = _HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24420, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cydstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":24421
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoH(cydstHost_ptr, cysrcArray, srcOffset, ByteCount)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cydstHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24422
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAtoH(cydstHost_ptr, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24423
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoH(cydstHost_ptr, cysrcArray, srcOffset, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoH(__pyx_v_cydstHost_ptr, __pyx_v_cysrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24423, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24422
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAtoH(cydstHost_ptr, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24424
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoH(cydstHost_ptr, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24424, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24383
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoH(dstHost, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Host.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAtoH", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_cydstHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24426
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoA(dstArray, size_t dstOffset, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_237cuMemcpyAtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_236cuMemcpyAtoA, "cuMemcpyAtoA(dstArray, size_t dstOffset, srcArray, size_t srcOffset, size_t ByteCount)\n\nCopies memory from Array to Array.\n\nCopies from one 1D CUDA array to another. `dstArray` and `srcArray`\nspecify the handles of the destination and source CUDA arrays for the\ncopy, respectively. `dstOffset` and `srcOffset` specify the destination\nand source offsets in bytes into the CUDA arrays. `ByteCount` is the\nnumber of bytes to be copied. The size of the elements in the CUDA\narrays need not be the same format, but the elements must be the same\nsize; and count must be evenly divisible by that size.\n\nParameters\n----------\ndstArray : :py:obj:`~.CUarray`\n    Destination array\ndstOffset : size_t\n    Offset in bytes of destination array\nsrcArray : :py:obj:`~.CUarray`\n    Source array\nsrcOffset : size_t\n    Offset in bytes of source array\nByteCount : size_t\n    Size of memory copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py"":obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpyArrayToArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_237cuMemcpyAtoA = {"cuMemcpyAtoA", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_237cuMemcpyAtoA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_236cuMemcpyAtoA};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_237cuMemcpyAtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstArray = 0;
  size_t __pyx_v_dstOffset;
  PyObject *__pyx_v_srcArray = 0;
  size_t __pyx_v_srcOffset;
  size_t __pyx_v_ByteCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyAtoA (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstArray_2,&__pyx_mstate_global->__pyx_n_u_dstOffset,&__pyx_mstate_global->__pyx_n_u_srcArray_2,&__pyx_mstate_global->__pyx_n_u_srcOffset,&__pyx_mstate_global->__pyx_n_u_ByteCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24426, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 24426, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24426, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24426, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24426, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24426, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyAtoA", 0) < (0)) __PYX_ERR(0, 24426, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoA", 1, 5, 5, i); __PYX_ERR(0, 24426, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24426, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24426, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24426, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24426, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 24426, __pyx_L3_error)
    }
    __pyx_v_dstArray = values[0];
    __pyx_v_dstOffset = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24427, __pyx_L3_error)
    __pyx_v_srcArray = values[2];
    __pyx_v_srcOffset = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_srcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24427, __pyx_L3_error)
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24427, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoA", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 24426, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_236cuMemcpyAtoA(__pyx_self, __pyx_v_dstArray, __pyx_v_dstOffset, __pyx_v_srcArray, __pyx_v_srcOffset, __pyx_v_ByteCount);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_236cuMemcpyAtoA(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstArray, size_t __pyx_v_dstOffset, PyObject *__pyx_v_srcArray, size_t __pyx_v_srcOffset, size_t __pyx_v_ByteCount) {
  CUarray __pyx_v_cysrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  CUarray __pyx_v_cydstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAtoA", 0);

  /* "cuda/bindings/driver.pyx":24461
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24462
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:
 *         psrcArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24461
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24463
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24464
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24463
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24466
 *         psrcArray = int(srcArray)
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cdef cydriver.CUarray cydstArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24466, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24467
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24467, __pyx_L1_error)
  __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24469
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24470
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
 *         pdstArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24469
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24471
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24472
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":24471
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24474
 *         pdstArray = int(dstArray)
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstArray};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24474, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24475
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoA(cydstArray, dstOffset, cysrcArray, srcOffset, ByteCount)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24475, __pyx_L1_error)
  __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24476
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAtoA(cydstArray, dstOffset, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24477
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoA(cydstArray, dstOffset, cysrcArray, srcOffset, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoA(__pyx_v_cydstArray, __pyx_v_dstOffset, __pyx_v_cysrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24477, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24476
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAtoA(cydstArray, dstOffset, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24478
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoA(cydstArray, dstOffset, cysrcArray, srcOffset, ByteCount)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 24478, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24426
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoA(dstArray, size_t dstOffset, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24480
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2D(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_239cuMemcpy2D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_238cuMemcpy2D, "cuMemcpy2D(CUDA_MEMCPY2D pCopy: Optional[CUDA_MEMCPY2D])\n\nCopies memory for 2D arrays.\n\nPerform a 2D memory copy according to the parameters specified in\n`pCopy`. The :py:obj:`~.CUDA_MEMCPY2D` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.srcMemoryType` and :py:obj:`~.dstMemoryType` specify the\n  type of memory of the source and destination, respectively;\n  :py:obj:`~.CUmemorytype_enum` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.srcArray` is ignored. This value may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n:py:obj:`~.srcHost` and :py:obj:`~.srcPitch` specify the (host) base\naddress of the source data and the bytes per row to apply.\n:py:obj:`~.srcArray` is ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (device)\nbase address of the source data and the bytes per row to apply.\n:py:obj:`~.srcArray` is ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.srcArray` specifies the handle of the source data.\n:py:obj:`~.srcHost`, :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` are\nignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n:py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\naddress of the destination data and the bytes per row to apply.\n:py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\nvirtual address space) base address of the source da""ta and the bytes\nper row to apply. :py:obj:`~.dstArray` is ignored. This value may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\nbase address of the destination data and the bytes per row to apply.\n:py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.dstArray` specifies the handle of the destination data.\n:py:obj:`~.dstHost`, :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` are\nignored.\n\n- :py:obj:`~.srcXInBytes` and :py:obj:`~.srcY` specify the base address\n  of the source data for the copy.\n\nFor host pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\nthe array element size.\n\n- :py:obj:`~.dstXInBytes` and :py:obj:`~.dstY` specify the base address\n  of the destination data for the copy.\n\nFor host pointers, the base address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\nthe array element size.\n\n- :py:obj:`~.WidthInBytes` and :py:obj:`~.Height` specify the width (in\n  bytes) and height of the 2D copy being performed.\n\n- If specified, :py:obj:`~.srcPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + :py:obj:`~.srcXInBytes`, and\n  :py:obj:`~.dstPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + dstXInBytes.\n\n:py:obj:`~.cuMemcpy2D()` returns an error if any pitch is greater than\nthe maximum allowed (:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`).\n:py:obj:`~.cuMemAllocPitch()""` passes back pitches that always work with\n:py:obj:`~.cuMemcpy2D()`. On intra-device memory copies (device to\ndevice, CUDA array to device, CUDA array to CUDA array),\n:py:obj:`~.cuMemcpy2D()` may fail for pitches not computed by\n:py:obj:`~.cuMemAllocPitch()`. :py:obj:`~.cuMemcpy2DUnaligned()` does\nnot have this restriction, but may run significantly slower in the\ncases where :py:obj:`~.cuMemcpy2D()` would have returned an error code.\n\nParameters\n----------\npCopy : :py:obj:`~.CUDA_MEMCPY2D`\n    Parameters for the memory copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_239cuMemcpy2D = {"cuMemcpy2D", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_239cuMemcpy2D, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_238cuMemcpy2D};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_239cuMemcpy2D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy2D (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pCopy,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24480, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy2D", 0) < (0)) __PYX_ERR(0, 24480, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy2D", 1, 1, 1, i); __PYX_ERR(0, 24480, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24480, __pyx_L3_error)
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy2D", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 24480, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pCopy), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D, 1, "pCopy", 0))) __PYX_ERR(0, 24481, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_238cuMemcpy2D(__pyx_self, __pyx_v_pCopy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_238cuMemcpy2D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy) {
  CUDA_MEMCPY2D *__pyx_v_cypCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUDA_MEMCPY2D_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy2D", 0);

  /* "cuda/bindings/driver.pyx":24599
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`
 *     """
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy2D(cypCopy_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_pCopy) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":24600
 *     """
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy2D(cypCopy_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24601
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemcpy2D(cypCopy_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2D(__pyx_v_cypCopy_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24601, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":24600
 *     """
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy2D(cypCopy_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":24602
 *     with nogil:
 *         err = cydriver.cuMemcpy2D(cypCopy_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 24602, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24480
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2D(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24604
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DUnaligned(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_241cuMemcpy2DUnaligned(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_240cuMemcpy2DUnaligned, "cuMemcpy2DUnaligned(CUDA_MEMCPY2D pCopy: Optional[CUDA_MEMCPY2D])\n\nCopies memory for 2D arrays.\n\nPerform a 2D memory copy according to the parameters specified in\n`pCopy`. The :py:obj:`~.CUDA_MEMCPY2D` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.srcMemoryType` and :py:obj:`~.dstMemoryType` specify the\n  type of memory of the source and destination, respectively;\n  :py:obj:`~.CUmemorytype_enum` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.srcArray` is ignored. This value may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n:py:obj:`~.srcHost` and :py:obj:`~.srcPitch` specify the (host) base\naddress of the source data and the bytes per row to apply.\n:py:obj:`~.srcArray` is ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (device)\nbase address of the source data and the bytes per row to apply.\n:py:obj:`~.srcArray` is ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.srcArray` specifies the handle of the source data.\n:py:obj:`~.srcHost`, :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` are\nignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.dstArray` is ignored. This value may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,""\n:py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\naddress of the destination data and the bytes per row to apply.\n:py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\nbase address of the destination data and the bytes per row to apply.\n:py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.dstArray` specifies the handle of the destination data.\n:py:obj:`~.dstHost`, :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` are\nignored.\n\n- :py:obj:`~.srcXInBytes` and :py:obj:`~.srcY` specify the base address\n  of the source data for the copy.\n\nFor host pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\nthe array element size.\n\n- :py:obj:`~.dstXInBytes` and :py:obj:`~.dstY` specify the base address\n  of the destination data for the copy.\n\nFor host pointers, the base address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\nthe array element size.\n\n- :py:obj:`~.WidthInBytes` and :py:obj:`~.Height` specify the width (in\n  bytes) and height of the 2D copy being performed.\n\n- If specified, :py:obj:`~.srcPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + :py:obj:`~.srcXInBytes`, and\n  :py:obj:`~.dstPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + dstXInBytes.\n\n:py:obj:`~.cuMemcpy2D()` returns an error if any pitch is greater than\nthe maximum allowed (:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`).\n:py:obj:`~.cuMe""mAllocPitch()` passes back pitches that always work with\n:py:obj:`~.cuMemcpy2D()`. On intra-device memory copies (device to\ndevice, CUDA array to device, CUDA array to CUDA array),\n:py:obj:`~.cuMemcpy2D()` may fail for pitches not computed by\n:py:obj:`~.cuMemAllocPitch()`. :py:obj:`~.cuMemcpy2DUnaligned()` does\nnot have this restriction, but may run significantly slower in the\ncases where :py:obj:`~.cuMemcpy2D()` would have returned an error code.\n\nParameters\n----------\npCopy : :py:obj:`~.CUDA_MEMCPY2D`\n    Parameters for the memory copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_241cuMemcpy2DUnaligned = {"cuMemcpy2DUnaligned", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_241cuMemcpy2DUnaligned, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_240cuMemcpy2DUnaligned};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_241cuMemcpy2DUnaligned(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy2DUnaligned (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pCopy,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24604, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24604, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy2DUnaligned", 0) < (0)) __PYX_ERR(0, 24604, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy2DUnaligned", 1, 1, 1, i); __PYX_ERR(0, 24604, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24604, __pyx_L3_error)
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy2DUnaligned", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 24604, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy2DUnaligned", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pCopy), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D, 1, "pCopy", 0))) __PYX_ERR(0, 24605, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_240cuMemcpy2DUnaligned(__pyx_self, __pyx_v_pCopy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_240cuMemcpy2DUnaligned(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy) {
  CUDA_MEMCPY2D *__pyx_v_cypCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUDA_MEMCPY2D_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy2DUnaligned", 0);

  /* "cuda/bindings/driver.pyx":24723
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`
 *     """
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy2DUnaligned(cypCopy_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_pCopy) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":24724
 *     """
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy2DUnaligned(cypCopy_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24725
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemcpy2DUnaligned(cypCopy_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2DUnaligned(__pyx_v_cypCopy_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24725, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":24724
 *     """
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy2DUnaligned(cypCopy_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":24726
 *     with nogil:
 *         err = cydriver.cuMemcpy2DUnaligned(cypCopy_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 24726, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24604
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DUnaligned(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy2DUnaligned", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24728
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3D(pCopy : Optional[CUDA_MEMCPY3D]):
 *     """ Copies memory for 3D arrays.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_243cuMemcpy3D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_242cuMemcpy3D, "cuMemcpy3D(CUDA_MEMCPY3D pCopy: Optional[CUDA_MEMCPY3D])\n\nCopies memory for 3D arrays.\n\nPerform a 3D memory copy according to the parameters specified in\n`pCopy`. The :py:obj:`~.CUDA_MEMCPY3D` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.srcMemoryType` and :py:obj:`~.dstMemoryType` specify the\n  type of memory of the source and destination, respectively;\n  :py:obj:`~.CUmemorytype_enum` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.srcArray` is ignored. This value may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n:py:obj:`~.srcHost`, :py:obj:`~.srcPitch` and :py:obj:`~.srcHeight`\nspecify the (host) base address of the source data, the bytes per row,\nand the height of each 2D slice of the 3D array. :py:obj:`~.srcArray`\nis ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.srcDevice`, :py:obj:`~.srcPitch` and :py:obj:`~.srcHeight`\nspecify the (device) base address of the source data, the bytes per\nrow, and the height of each 2D slice of the 3D array.\n:py:obj:`~.srcArray` is ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.srcArray` specifies the handle of the source data.\n:py:obj:`~.srcHost`, :py:obj:`~.srcDevice`, :py:obj:`~.srcPitch` and\n:py:obj:`~.srcHeight` are ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.dstArray` is ignored. This value may be\nuse""d only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n:py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\naddress of the destination data, the bytes per row, and the height of\neach 2D slice of the 3D array. :py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\nbase address of the destination data, the bytes per row, and the height\nof each 2D slice of the 3D array. :py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.dstArray` specifies the handle of the destination data.\n:py:obj:`~.dstHost`, :py:obj:`~.dstDevice`, :py:obj:`~.dstPitch` and\n:py:obj:`~.dstHeight` are ignored.\n\n- :py:obj:`~.srcXInBytes`, :py:obj:`~.srcY` and :py:obj:`~.srcZ`\n  specify the base address of the source data for the copy.\n\nFor host pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\nthe array element size.\n\n- dstXInBytes, :py:obj:`~.dstY` and :py:obj:`~.dstZ` specify the base\n  address of the destination data for the copy.\n\nFor host pointers, the base address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\nthe array element size.\n\n- :py:obj:`~.WidthInBytes`, :py:obj:`~.Height` and :py:obj:`~.Depth`\n  specify the width (in bytes), height and depth of the 3D copy being\n  performed.\n\n- If specified, :py:obj:`~.srcPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + :py"":obj:`~.srcXInBytes`, and\n  :py:obj:`~.dstPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + dstXInBytes.\n\n- If specified, :py:obj:`~.srcHeight` must be greater than or equal to\n  :py:obj:`~.Height` + :py:obj:`~.srcY`, and :py:obj:`~.dstHeight` must\n  be greater than or equal to :py:obj:`~.Height` + :py:obj:`~.dstY`.\n\n:py:obj:`~.cuMemcpy3D()` returns an error if any pitch is greater than\nthe maximum allowed (:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`).\n\nThe :py:obj:`~.srcLOD` and :py:obj:`~.dstLOD` members of the\n:py:obj:`~.CUDA_MEMCPY3D` structure must be set to 0.\n\nParameters\n----------\npCopy : :py:obj:`~.CUDA_MEMCPY3D`\n    Parameters for the memory copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMem""cpy3D`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_243cuMemcpy3D = {"cuMemcpy3D", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_243cuMemcpy3D, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_242cuMemcpy3D};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_243cuMemcpy3D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_pCopy = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy3D (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pCopy,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24728, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24728, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy3D", 0) < (0)) __PYX_ERR(0, 24728, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy3D", 1, 1, 1, i); __PYX_ERR(0, 24728, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24728, __pyx_L3_error)
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy3D", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 24728, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pCopy), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D, 1, "pCopy", 0))) __PYX_ERR(0, 24729, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_242cuMemcpy3D(__pyx_self, __pyx_v_pCopy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_242cuMemcpy3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_pCopy) {
  CUDA_MEMCPY3D *__pyx_v_cypCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUDA_MEMCPY3D_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy3D", 0);

  /* "cuda/bindings/driver.pyx":24850
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy3D`
 *     """
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy3D(cypCopy_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_pCopy) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":24851
 *     """
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3D(cypCopy_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24852
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemcpy3D(cypCopy_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3D(__pyx_v_cypCopy_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24852, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":24851
 *     """
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3D(cypCopy_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":24853
 *     with nogil:
 *         err = cydriver.cuMemcpy3D(cypCopy_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 24853, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24728
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3D(pCopy : Optional[CUDA_MEMCPY3D]):
 *     """ Copies memory for 3D arrays.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24855
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeer(pCopy : Optional[CUDA_MEMCPY3D_PEER]):
 *     """ Copies memory between contexts.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_245cuMemcpy3DPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_244cuMemcpy3DPeer, "cuMemcpy3DPeer(CUDA_MEMCPY3D_PEER pCopy: Optional[CUDA_MEMCPY3D_PEER])\n\nCopies memory between contexts.\n\nPerform a 3D memory copy according to the parameters specified in\n`pCopy`. See the definition of the :py:obj:`~.CUDA_MEMCPY3D_PEER`\nstructure for documentation of its parameters.\n\nParameters\n----------\npCopy : :py:obj:`~.CUDA_MEMCPY3D_PEER`\n    Parameters for the memory copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpy3DPeer`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_245cuMemcpy3DPeer = {"cuMemcpy3DPeer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_245cuMemcpy3DPeer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_244cuMemcpy3DPeer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_245cuMemcpy3DPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy3DPeer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pCopy,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24855, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24855, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy3DPeer", 0) < (0)) __PYX_ERR(0, 24855, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy3DPeer", 1, 1, 1, i); __PYX_ERR(0, 24855, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24855, __pyx_L3_error)
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy3DPeer", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 24855, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pCopy), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER, 1, "pCopy", 0))) __PYX_ERR(0, 24856, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_244cuMemcpy3DPeer(__pyx_self, __pyx_v_pCopy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_244cuMemcpy3DPeer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy) {
  CUDA_MEMCPY3D_PEER *__pyx_v_cypCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUDA_MEMCPY3D_PEER_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy3DPeer", 0);

  /* "cuda/bindings/driver.pyx":24877
 *     :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpy3DPeer`
 *     """
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy3DPeer(cypCopy_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_pCopy) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":24878
 *     """
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DPeer(cypCopy_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24879
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemcpy3DPeer(cypCopy_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DPeer(__pyx_v_cypCopy_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24879, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":24878
 *     """
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DPeer(cypCopy_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":24880
 *     with nogil:
 *         err = cydriver.cuMemcpy3DPeer(cypCopy_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 24880, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24855
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeer(pCopy : Optional[CUDA_MEMCPY3D_PEER]):
 *     """ Copies memory between contexts.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24882
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAsync(dst, src, size_t ByteCount, hStream):
 *     """ Copies memory asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_247cuMemcpyAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_246cuMemcpyAsync, "cuMemcpyAsync(dst, src, size_t ByteCount, hStream)\n\nCopies memory asynchronously.\n\nCopies data between two pointers. `dst` and `src` are base pointers of\nthe destination and source, respectively. `ByteCount` specifies the\nnumber of bytes to copy. Note that this function infers the type of the\ntransfer (host to host, host to device, device to device, or device to\nhost) from the pointer values. This function is only allowed in\ncontexts which support unified addressing.\n\nParameters\n----------\ndst : :py:obj:`~.CUdeviceptr`\n    Destination unified virtual address space pointer\nsrc : :py:obj:`~.CUdeviceptr`\n    Source unified virtual address space pointer\nByteCount : size_t\n    Size of memory copy in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :p""y:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_247cuMemcpyAsync = {"cuMemcpyAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_247cuMemcpyAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_246cuMemcpyAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_247cuMemcpyAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_ByteCount;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dst_2,&__pyx_mstate_global->__pyx_n_u_src_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24882, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyAsync", 0) < (0)) __PYX_ERR(0, 24882, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyAsync", 1, 4, 4, i); __PYX_ERR(0, 24882, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24882, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24882, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24882, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24882, __pyx_L3_error)
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24883, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24882, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_246cuMemcpyAsync(__pyx_self, __pyx_v_dst, __pyx_v_src, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_246cuMemcpyAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cysrc;
  PyObject *__pyx_v_psrc = NULL;
  CUdeviceptr __pyx_v_cydst;
  PyObject *__pyx_v_pdst = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAsync", 0);

  /* "cuda/bindings/driver.pyx":24914
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24915
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24914
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24916
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24917
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24916
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24919
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24919, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24920
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24920, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24922
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_src == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24923
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:
 *         psrc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24922
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24924
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24925
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUdeviceptr(src))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":24924
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24927
 *         psrc = int(src)
 *     else:
 *         psrc = int(CUdeviceptr(src))             # <<<<<<<<<<<<<<
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc
 *     cdef cydriver.CUdeviceptr cydst
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_src};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24927, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24928
 *     else:
 *         psrc = int(CUdeviceptr(src))
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24928, __pyx_L1_error)
  __pyx_v_cysrc = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24930
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24931
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:
 *         pdst = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdst = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24930
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":24932
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24933
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUdeviceptr(dst))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdst = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24932
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":24935
 *         pdst = int(dst)
 *     else:
 *         pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dst};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24935, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":24936
 *     else:
 *         pdst = int(CUdeviceptr(dst))
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyAsync(cydst, cysrc, ByteCount, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24936, __pyx_L1_error)
  __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24937
 *         pdst = int(CUdeviceptr(dst))
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAsync(cydst, cysrc, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24938
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:
 *         err = cydriver.cuMemcpyAsync(cydst, cysrc, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAsync(__pyx_v_cydst, __pyx_v_cysrc, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24938, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":24937
 *         pdst = int(CUdeviceptr(dst))
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAsync(cydst, cysrc, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":24939
 *     with nogil:
 *         err = cydriver.cuMemcpyAsync(cydst, cysrc, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 24939, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24882
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAsync(dst, src, size_t ByteCount, hStream):
 *     """ Copies memory asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_psrc);
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":24941
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeerAsync(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount, hStream):
 *     """ Copies device memory between two contexts asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_249cuMemcpyPeerAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_248cuMemcpyPeerAsync, "cuMemcpyPeerAsync(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount, hStream)\n\nCopies device memory between two contexts asynchronously.\n\nCopies from device memory in one context to device memory in another\ncontext. `dstDevice` is the base device pointer of the destination\nmemory and `dstContext` is the destination context. `srcDevice` is the\nbase device pointer of the source memory and `srcContext` is the source\npointer. `ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\ndstContext : :py:obj:`~.CUcontext`\n    Destination context\nsrcDevice : :py:obj:`~.CUdeviceptr`\n    Source device pointer\nsrcContext : :py:obj:`~.CUcontext`\n    Source context\nByteCount : size_t\n    Size of memory copy in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpy3DPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpyPeerAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_249cuMemcpyPeerAsync = {"cuMemcpyPeerAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_249cuMemcpyPeerAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_248cuMemcpyPeerAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_249cuMemcpyPeerAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_dstContext = 0;
  PyObject *__pyx_v_srcDevice = 0;
  PyObject *__pyx_v_srcContext = 0;
  size_t __pyx_v_ByteCount;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyPeerAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_dstContext_2,&__pyx_mstate_global->__pyx_n_u_srcDevice_2,&__pyx_mstate_global->__pyx_n_u_srcContext_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 24941, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 24941, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 24941, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24941, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24941, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24941, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24941, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyPeerAsync", 0) < (0)) __PYX_ERR(0, 24941, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyPeerAsync", 1, 6, 6, i); __PYX_ERR(0, 24941, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24941, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24941, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24941, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24941, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 24941, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 24941, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstContext = values[1];
    __pyx_v_srcDevice = values[2];
    __pyx_v_srcContext = values[3];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24942, __pyx_L3_error)
    __pyx_v_hStream = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyPeerAsync", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 24941, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_248cuMemcpyPeerAsync(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstContext, __pyx_v_srcDevice, __pyx_v_srcContext, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_248cuMemcpyPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_dstContext, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_srcContext, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUcontext __pyx_v_cysrcContext;
  PyObject *__pyx_v_psrcContext = NULL;
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUcontext __pyx_v_cydstContext;
  PyObject *__pyx_v_pdstContext = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyPeerAsync", 0);

  /* "cuda/bindings/driver.pyx":24976
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24977
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24976
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24978
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24979
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24978
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24981
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUcontext cysrcContext
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24981, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24982
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24982, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24984
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_srcContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24985
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:
 *         psrcContext = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcContext = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24984
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24986
 *     if srcContext is None:
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcContext, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24987
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":24986
 *     if srcContext is None:
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24989
 *         psrcContext = int(srcContext)
 *     else:
 *         psrcContext = int(CUcontext(srcContext))             # <<<<<<<<<<<<<<
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *     cdef cydriver.CUdeviceptr cysrcDevice
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcContext};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24989, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24990
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24990, __pyx_L1_error)
  __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":24992
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24993
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
 *         psrcDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":24992
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":24994
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":24995
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24994
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":24997
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUcontext cydstContext
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24997, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":24998
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24998, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25000
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:             # <<<<<<<<<<<<<<
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_dstContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25001
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:
 *         pdstContext = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstContext = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25000
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:             # <<<<<<<<<<<<<<
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":25002
 *     if dstContext is None:
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstContext, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25003
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25002
 *     if dstContext is None:
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":25005
 *         pdstContext = int(dstContext)
 *     else:
 *         pdstContext = int(CUcontext(dstContext))             # <<<<<<<<<<<<<<
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25005, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":25006
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25006, __pyx_L1_error)
  __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25008
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25009
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25008
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":25010
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25011
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":25010
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":25013
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25013, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L7:;

  /* "cuda/bindings/driver.pyx":25014
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyPeerAsync(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25014, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25015
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyPeerAsync(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25016
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyPeerAsync(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyPeerAsync(__pyx_v_cydstDevice, __pyx_v_cydstContext, __pyx_v_cysrcDevice, __pyx_v_cysrcContext, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25016, __pyx_L9_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25015
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyPeerAsync(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L10;
        }
        __pyx_L9_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L10:;
      }
  }

  /* "cuda/bindings/driver.pyx":25017
 *     with nogil:
 *         err = cydriver.cuMemcpyPeerAsync(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 25017, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24941
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeerAsync(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount, hStream):
 *     """ Copies device memory between two contexts asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_psrcContext);
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF(__pyx_v_pdstContext);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25019
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoDAsync(dstDevice, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_251cuMemcpyHtoDAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_250cuMemcpyHtoDAsync, "cuMemcpyHtoDAsync(dstDevice, srcHost, size_t ByteCount, hStream)\n\nCopies memory from Host to Device.\n\nCopies from host memory to device memory. `dstDevice` and `srcHost` are\nthe base addresses of the destination and source, respectively.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nsrcHost : Any\n    Source host pointer\nByteCount : size_t\n    Size of memory copy in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemset""D16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_251cuMemcpyHtoDAsync = {"cuMemcpyHtoDAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_251cuMemcpyHtoDAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_250cuMemcpyHtoDAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_251cuMemcpyHtoDAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_srcHost = 0;
  size_t __pyx_v_ByteCount;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyHtoDAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_srcHost_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25019, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25019, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25019, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25019, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25019, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyHtoDAsync", 0) < (0)) __PYX_ERR(0, 25019, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoDAsync", 1, 4, 4, i); __PYX_ERR(0, 25019, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25019, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25019, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25019, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25019, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcHost = values[1];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25020, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoDAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 25019, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyHtoDAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_250cuMemcpyHtoDAsync(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcHost, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_250cuMemcpyHtoDAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cysrcHost = NULL;
  void *__pyx_v_cysrcHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyHtoDAsync", 0);

  /* "cuda/bindings/driver.pyx":25048
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25049
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25048
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25050
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25051
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25050
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25053
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25053, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25054
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25054, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25056
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25057
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25056
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25058
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25059
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":25058
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25061
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25061, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25062
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25062, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25063
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     cysrcHost = _HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcHost};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25063, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cysrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":25064
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoDAsync(cydstDevice, cysrcHost_ptr, ByteCount, cyhStream)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cysrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cysrcHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25065
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyHtoDAsync(cydstDevice, cysrcHost_ptr, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25066
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoDAsync(cydstDevice, cysrcHost_ptr, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoDAsync(__pyx_v_cydstDevice, __pyx_v_cysrcHost_ptr, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25066, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25065
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyHtoDAsync(cydstDevice, cysrcHost_ptr, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":25067
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoDAsync(cydstDevice, cysrcHost_ptr, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 25067, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25019
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoDAsync(dstDevice, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyHtoDAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cysrcHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoHAsync(dstHost, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Host.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_253cuMemcpyDtoHAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_252cuMemcpyDtoHAsync, "cuMemcpyDtoHAsync(dstHost, srcDevice, size_t ByteCount, hStream)\n\nCopies memory from Device to Host.\n\nCopies from device to host memory. `dstHost` and `srcDevice` specify\nthe base pointers of the destination and source, respectively.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstHost : Any\n    Destination host pointer\nsrcDevice : :py:obj:`~.CUdeviceptr`\n    Source device pointer\nByteCount : size_t\n    Size of memory copy in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16A""sync`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_253cuMemcpyDtoHAsync = {"cuMemcpyDtoHAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_253cuMemcpyDtoHAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_252cuMemcpyDtoHAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_253cuMemcpyDtoHAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstHost = 0;
  PyObject *__pyx_v_srcDevice = 0;
  size_t __pyx_v_ByteCount;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyDtoHAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstHost_2,&__pyx_mstate_global->__pyx_n_u_srcDevice_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25069, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyDtoHAsync", 0) < (0)) __PYX_ERR(0, 25069, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoHAsync", 1, 4, 4, i); __PYX_ERR(0, 25069, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25069, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25069, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25069, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25069, __pyx_L3_error)
    }
    __pyx_v_dstHost = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25070, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoHAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 25069, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoHAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_252cuMemcpyDtoHAsync(__pyx_self, __pyx_v_dstHost, __pyx_v_srcDevice, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_252cuMemcpyDtoHAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cydstHost = NULL;
  void *__pyx_v_cydstHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoHAsync", 0);

  /* "cuda/bindings/driver.pyx":25098
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25099
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25098
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25100
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25101
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25100
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25103
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25103, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25104
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25104, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25106
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25107
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
 *         psrcDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25106
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25108
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25109
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":25108
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25111
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cydstHost = _HelperInputVoidPtr(dstHost)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25111, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25112
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25112, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25113
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cydstHost = _HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstHost};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25113, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cydstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":25114
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoHAsync(cydstHost_ptr, cysrcDevice, ByteCount, cyhStream)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cydstHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25115
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoHAsync(cydstHost_ptr, cysrcDevice, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25116
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoHAsync(cydstHost_ptr, cysrcDevice, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoHAsync(__pyx_v_cydstHost_ptr, __pyx_v_cysrcDevice, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25116, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25115
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoHAsync(cydstHost_ptr, cysrcDevice, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":25117
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoHAsync(cydstHost_ptr, cysrcDevice, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 25117, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoHAsync(dstHost, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Host.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoHAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cydstHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25119
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoDAsync(dstDevice, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_255cuMemcpyDtoDAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_254cuMemcpyDtoDAsync, "cuMemcpyDtoDAsync(dstDevice, srcDevice, size_t ByteCount, hStream)\n\nCopies memory from Device to Device.\n\nCopies from device memory to device memory. `dstDevice` and `srcDevice`\nare the base pointers of the destination and source, respectively.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nsrcDevice : :py:obj:`~.CUdeviceptr`\n    Source device pointer\nByteCount : size_t\n    Size of memory copy in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cu""MemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_255cuMemcpyDtoDAsync = {"cuMemcpyDtoDAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_255cuMemcpyDtoDAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_254cuMemcpyDtoDAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_255cuMemcpyDtoDAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_srcDevice = 0;
  size_t __pyx_v_ByteCount;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyDtoDAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_srcDevice_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25119, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyDtoDAsync", 0) < (0)) __PYX_ERR(0, 25119, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoDAsync", 1, 4, 4, i); __PYX_ERR(0, 25119, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25119, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25119, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25119, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25119, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25120, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoDAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 25119, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoDAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_254cuMemcpyDtoDAsync(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcDevice, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_254cuMemcpyDtoDAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoDAsync", 0);

  /* "cuda/bindings/driver.pyx":25148
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25149
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25148
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25150
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25151
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25150
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25153
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25153, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25154
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25154, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25156
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25157
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
 *         psrcDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25156
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25158
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25159
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":25158
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25161
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25161, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25162
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25162, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25164
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25165
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25164
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":25166
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25167
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25166
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":25169
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25169, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":25170
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoDAsync(cydstDevice, cysrcDevice, ByteCount, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25170, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25171
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoDAsync(cydstDevice, cysrcDevice, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25172
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoDAsync(cydstDevice, cysrcDevice, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoDAsync(__pyx_v_cydstDevice, __pyx_v_cysrcDevice, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25172, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25171
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyDtoDAsync(cydstDevice, cysrcDevice, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":25173
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoDAsync(cydstDevice, cysrcDevice, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 25173, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25119
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoDAsync(dstDevice, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyDtoDAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25175
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoAAsync(dstArray, size_t dstOffset, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_257cuMemcpyHtoAAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_256cuMemcpyHtoAAsync, "cuMemcpyHtoAAsync(dstArray, size_t dstOffset, srcHost, size_t ByteCount, hStream)\n\nCopies memory from Host to Array.\n\nCopies from host memory to a 1D CUDA array. `dstArray` and `dstOffset`\nspecify the CUDA array handle and starting offset in bytes of the\ndestination data. `srcHost` specifies the base address of the source.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstArray : :py:obj:`~.CUarray`\n    Destination array\ndstOffset : size_t\n    Offset in bytes of destination array\nsrcHost : Any\n    Source host pointer\nByteCount : size_t\n    Size of memory copy in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD""2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyToArrayAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_257cuMemcpyHtoAAsync = {"cuMemcpyHtoAAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_257cuMemcpyHtoAAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_256cuMemcpyHtoAAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_257cuMemcpyHtoAAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstArray = 0;
  size_t __pyx_v_dstOffset;
  PyObject *__pyx_v_srcHost = 0;
  size_t __pyx_v_ByteCount;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyHtoAAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstArray_2,&__pyx_mstate_global->__pyx_n_u_dstOffset,&__pyx_mstate_global->__pyx_n_u_srcHost_2,&__pyx_mstate_global->__pyx_n_u_ByteCount,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25175, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25175, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25175, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25175, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25175, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25175, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyHtoAAsync", 0) < (0)) __PYX_ERR(0, 25175, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoAAsync", 1, 5, 5, i); __PYX_ERR(0, 25175, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25175, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25175, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25175, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25175, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25175, __pyx_L3_error)
    }
    __pyx_v_dstArray = values[0];
    __pyx_v_dstOffset = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25176, __pyx_L3_error)
    __pyx_v_srcHost = values[2];
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25176, __pyx_L3_error)
    __pyx_v_hStream = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoAAsync", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 25175, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyHtoAAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_256cuMemcpyHtoAAsync(__pyx_self, __pyx_v_dstArray, __pyx_v_dstOffset, __pyx_v_srcHost, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_256cuMemcpyHtoAAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstArray, size_t __pyx_v_dstOffset, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUarray __pyx_v_cydstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cysrcHost = NULL;
  void *__pyx_v_cysrcHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyHtoAAsync", 0);

  /* "cuda/bindings/driver.pyx":25207
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25208
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25207
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25209
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25210
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25209
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25212
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUarray cydstArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25212, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25213
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25213, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25215
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25216
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
 *         pdstArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25215
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25217
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25218
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":25217
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25220
 *         pdstArray = int(dstArray)
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstArray};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25220, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25221
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25221, __pyx_L1_error)
  __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25222
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     cysrcHost = _HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcHost};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25222, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cysrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":25223
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoAAsync(cydstArray, dstOffset, cysrcHost_ptr, ByteCount, cyhStream)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cysrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cysrcHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25224
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyHtoAAsync(cydstArray, dstOffset, cysrcHost_ptr, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25225
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoAAsync(cydstArray, dstOffset, cysrcHost_ptr, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoAAsync(__pyx_v_cydstArray, __pyx_v_dstOffset, __pyx_v_cysrcHost_ptr, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25225, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25224
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyHtoAAsync(cydstArray, dstOffset, cysrcHost_ptr, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":25226
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoAAsync(cydstArray, dstOffset, cysrcHost_ptr, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 25226, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25175
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoAAsync(dstArray, size_t dstOffset, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyHtoAAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_cysrcHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25228
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoHAsync(dstHost, srcArray, size_t srcOffset, size_t ByteCount, hStream):
 *     """ Copies memory from Array to Host.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_259cuMemcpyAtoHAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_258cuMemcpyAtoHAsync, "cuMemcpyAtoHAsync(dstHost, srcArray, size_t srcOffset, size_t ByteCount, hStream)\n\nCopies memory from Array to Host.\n\nCopies from one 1D CUDA array to host memory. `dstHost` specifies the\nbase pointer of the destination. `srcArray` and `srcOffset` specify the\nCUDA array handle and starting offset in bytes of the source data.\n`ByteCount` specifies the number of bytes to copy.\n\nParameters\n----------\ndstHost : Any\n    Destination pointer\nsrcArray : :py:obj:`~.CUarray`\n    Source array\nsrcOffset : size_t\n    Offset in bytes of source array\nByteCount : size_t\n    Size of memory copy in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :""py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyFromArrayAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_259cuMemcpyAtoHAsync = {"cuMemcpyAtoHAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_259cuMemcpyAtoHAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_258cuMemcpyAtoHAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_259cuMemcpyAtoHAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstHost = 0;
  PyObject *__pyx_v_srcArray = 0;
  size_t __pyx_v_srcOffset;
  size_t __pyx_v_ByteCount;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyAtoHAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstHost_2,&__pyx_mstate_global->__pyx_n_u_srcArray_2,&__pyx_mstate_global->__pyx_n_u_srcOffset,&__pyx_mstate_global->__pyx_n_u_ByteCount,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25228, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyAtoHAsync", 0) < (0)) __PYX_ERR(0, 25228, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoHAsync", 1, 5, 5, i); __PYX_ERR(0, 25228, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25228, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25228, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25228, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25228, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25228, __pyx_L3_error)
    }
    __pyx_v_dstHost = values[0];
    __pyx_v_srcArray = values[1];
    __pyx_v_srcOffset = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_srcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25229, __pyx_L3_error)
    __pyx_v_ByteCount = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25229, __pyx_L3_error)
    __pyx_v_hStream = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoHAsync", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 25228, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAtoHAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_258cuMemcpyAtoHAsync(__pyx_self, __pyx_v_dstHost, __pyx_v_srcArray, __pyx_v_srcOffset, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_258cuMemcpyAtoHAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcArray, size_t __pyx_v_srcOffset, size_t __pyx_v_ByteCount, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUarray __pyx_v_cysrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cydstHost = NULL;
  void *__pyx_v_cydstHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAtoHAsync", 0);

  /* "cuda/bindings/driver.pyx":25260
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25261
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25260
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25262
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25263
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25262
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25265
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUarray cysrcArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25265, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25266
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25266, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25268
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25269
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:
 *         psrcArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25268
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25270
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25271
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":25270
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25273
 *         psrcArray = int(srcArray)
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cydstHost = _HelperInputVoidPtr(dstHost)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcArray};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25273, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25274
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25274, __pyx_L1_error)
  __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25275
 *         psrcArray = int(CUarray(srcArray))
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cydstHost = _HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstHost};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25275, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cydstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":25276
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoHAsync(cydstHost_ptr, cysrcArray, srcOffset, ByteCount, cyhStream)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cydstHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25277
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAtoHAsync(cydstHost_ptr, cysrcArray, srcOffset, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25278
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoHAsync(cydstHost_ptr, cysrcArray, srcOffset, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoHAsync(__pyx_v_cydstHost_ptr, __pyx_v_cysrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25278, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25277
 *     cydstHost = _HelperInputVoidPtr(dstHost)
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyAtoHAsync(cydstHost_ptr, cysrcArray, srcOffset, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":25279
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoHAsync(cydstHost_ptr, cysrcArray, srcOffset, ByteCount, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 25279, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25228
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoHAsync(dstHost, srcArray, size_t srcOffset, size_t ByteCount, hStream):
 *     """ Copies memory from Array to Host.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyAtoHAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_cydstHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25281
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DAsync(pCopy : Optional[CUDA_MEMCPY2D], hStream):
 *     """ Copies memory for 2D arrays.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_261cuMemcpy2DAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_260cuMemcpy2DAsync, "cuMemcpy2DAsync(CUDA_MEMCPY2D pCopy: Optional[CUDA_MEMCPY2D], hStream)\n\nCopies memory for 2D arrays.\n\nPerform a 2D memory copy according to the parameters specified in\n`pCopy`. The :py:obj:`~.CUDA_MEMCPY2D` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.srcMemoryType` and :py:obj:`~.dstMemoryType` specify the\n  type of memory of the source and destination, respectively;\n  :py:obj:`~.CUmemorytype_enum` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n:py:obj:`~.srcHost` and :py:obj:`~.srcPitch` specify the (host) base\naddress of the source data and the bytes per row to apply.\n:py:obj:`~.srcArray` is ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.srcArray` is ignored. This value may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (device)\nbase address of the source data and the bytes per row to apply.\n:py:obj:`~.srcArray` is ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.srcArray` specifies the handle of the source data.\n:py:obj:`~.srcHost`, :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` are\nignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.dstArray` is ignored. This value may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`"",\n:py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\naddress of the destination data and the bytes per row to apply.\n:py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\nbase address of the destination data and the bytes per row to apply.\n:py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.dstArray` specifies the handle of the destination data.\n:py:obj:`~.dstHost`, :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` are\nignored.\n\n- :py:obj:`~.srcXInBytes` and :py:obj:`~.srcY` specify the base address\n  of the source data for the copy.\n\nFor host pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\nthe array element size.\n\n- :py:obj:`~.dstXInBytes` and :py:obj:`~.dstY` specify the base address\n  of the destination data for the copy.\n\nFor host pointers, the base address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\nthe array element size.\n\n- :py:obj:`~.WidthInBytes` and :py:obj:`~.Height` specify the width (in\n  bytes) and height of the 2D copy being performed.\n\n- If specified, :py:obj:`~.srcPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + :py:obj:`~.srcXInBytes`, and\n  :py:obj:`~.dstPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + dstXInBytes.\n\n- If specified, :py:obj:`~.srcPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + :py:obj:`~.srcXInBytes`, and\n  :py:obj:`~.dstPitch`"" must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + dstXInBytes.\n\n- If specified, :py:obj:`~.srcHeight` must be greater than or equal to\n  :py:obj:`~.Height` + :py:obj:`~.srcY`, and :py:obj:`~.dstHeight` must\n  be greater than or equal to :py:obj:`~.Height` + :py:obj:`~.dstY`.\n\n:py:obj:`~.cuMemcpy2DAsync()` returns an error if any pitch is greater\nthan the maximum allowed (:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`).\n:py:obj:`~.cuMemAllocPitch()` passes back pitches that always work with\n:py:obj:`~.cuMemcpy2D()`. On intra-device memory copies (device to\ndevice, CUDA array to device, CUDA array to CUDA array),\n:py:obj:`~.cuMemcpy2DAsync()` may fail for pitches not computed by\n:py:obj:`~.cuMemAllocPitch()`.\n\nParameters\n----------\npCopy : :py:obj:`~.CUDA_MEMCPY2D`\n    Parameters for the memory copy\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.c""uMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_261cuMemcpy2DAsync = {"cuMemcpy2DAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_261cuMemcpy2DAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_260cuMemcpy2DAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_261cuMemcpy2DAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy2DAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pCopy,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25281, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy2DAsync", 0) < (0)) __PYX_ERR(0, 25281, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy2DAsync", 1, 2, 2, i); __PYX_ERR(0, 25281, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25281, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25281, __pyx_L3_error)
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *)values[0]);
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy2DAsync", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 25281, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy2DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pCopy), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D, 1, "pCopy", 0))) __PYX_ERR(0, 25282, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_260cuMemcpy2DAsync(__pyx_self, __pyx_v_pCopy, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_260cuMemcpy2DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D *__pyx_v_pCopy, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUDA_MEMCPY2D *__pyx_v_cypCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_MEMCPY2D_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy2DAsync", 0);

  /* "cuda/bindings/driver.pyx":25410
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25411
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25410
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25412
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25413
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25412
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25415
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25415, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25416
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25416, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25417
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy2DAsync(cypCopy_ptr, cyhStream)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_pCopy) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":25418
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy2DAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25419
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemcpy2DAsync(cypCopy_ptr, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2DAsync(__pyx_v_cypCopy_ptr, __pyx_v_cyhStream); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25419, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":25418
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY2D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy2DAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":25420
 *     with nogil:
 *         err = cydriver.cuMemcpy2DAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 25420, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25281
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DAsync(pCopy : Optional[CUDA_MEMCPY2D], hStream):
 *     """ Copies memory for 2D arrays.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy2DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25422
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DAsync(pCopy : Optional[CUDA_MEMCPY3D], hStream):
 *     """ Copies memory for 3D arrays.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_263cuMemcpy3DAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_262cuMemcpy3DAsync, "cuMemcpy3DAsync(CUDA_MEMCPY3D pCopy: Optional[CUDA_MEMCPY3D], hStream)\n\nCopies memory for 3D arrays.\n\nPerform a 3D memory copy according to the parameters specified in\n`pCopy`. The :py:obj:`~.CUDA_MEMCPY3D` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.srcMemoryType` and :py:obj:`~.dstMemoryType` specify the\n  type of memory of the source and destination, respectively;\n  :py:obj:`~.CUmemorytype_enum` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.srcArray` is ignored. This value may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n:py:obj:`~.srcHost`, :py:obj:`~.srcPitch` and :py:obj:`~.srcHeight`\nspecify the (host) base address of the source data, the bytes per row,\nand the height of each 2D slice of the 3D array. :py:obj:`~.srcArray`\nis ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.srcDevice`, :py:obj:`~.srcPitch` and :py:obj:`~.srcHeight`\nspecify the (device) base address of the source data, the bytes per\nrow, and the height of each 2D slice of the 3D array.\n:py:obj:`~.srcArray` is ignored.\n\nIf :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.srcArray` specifies the handle of the source data.\n:py:obj:`~.srcHost`, :py:obj:`~.srcDevice`, :py:obj:`~.srcPitch` and\n:py:obj:`~.srcHeight` are ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\nvirtual address space) base address of the source data and the bytes\nper row to apply. :py:obj:`~.dstArray` is ignored. This val""ue may be\nused only if unified addressing is supported in the calling context.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n:py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\naddress of the destination data, the bytes per row, and the height of\neach 2D slice of the 3D array. :py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n:py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\nbase address of the destination data, the bytes per row, and the height\nof each 2D slice of the 3D array. :py:obj:`~.dstArray` is ignored.\n\nIf :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_ARRAY`,\n:py:obj:`~.dstArray` specifies the handle of the destination data.\n:py:obj:`~.dstHost`, :py:obj:`~.dstDevice`, :py:obj:`~.dstPitch` and\n:py:obj:`~.dstHeight` are ignored.\n\n- :py:obj:`~.srcXInBytes`, :py:obj:`~.srcY` and :py:obj:`~.srcZ`\n  specify the base address of the source data for the copy.\n\nFor host pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\nthe array element size.\n\n- dstXInBytes, :py:obj:`~.dstY` and :py:obj:`~.dstZ` specify the base\n  address of the destination data for the copy.\n\nFor host pointers, the base address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor device pointers, the starting address is\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\nthe array element size.\n\n- :py:obj:`~.WidthInBytes`, :py:obj:`~.Height` and :py:obj:`~.Depth`\n  specify the width (in bytes), height and depth of the 3D copy being\n  performed.\n\n- If specified, :py:obj:`~.srcPitch` must be greater than or equal to\n  :py:obj:`~.Width""InBytes` + :py:obj:`~.srcXInBytes`, and\n  :py:obj:`~.dstPitch` must be greater than or equal to\n  :py:obj:`~.WidthInBytes` + dstXInBytes.\n\n- If specified, :py:obj:`~.srcHeight` must be greater than or equal to\n  :py:obj:`~.Height` + :py:obj:`~.srcY`, and :py:obj:`~.dstHeight` must\n  be greater than or equal to :py:obj:`~.Height` + :py:obj:`~.dstY`.\n\n:py:obj:`~.cuMemcpy3DAsync()` returns an error if any pitch is greater\nthan the maximum allowed (:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`).\n\nThe :py:obj:`~.srcLOD` and :py:obj:`~.dstLOD` members of the\n:py:obj:`~.CUDA_MEMCPY3D` structure must be set to 0.\n\nParameters\n----------\npCopy : :py:obj:`~.CUDA_MEMCPY3D`\n    Parameters for the memory copy\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~"".cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpy3DAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_263cuMemcpy3DAsync = {"cuMemcpy3DAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_263cuMemcpy3DAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_262cuMemcpy3DAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_263cuMemcpy3DAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_pCopy = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy3DAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pCopy,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25422, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25422, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25422, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy3DAsync", 0) < (0)) __PYX_ERR(0, 25422, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy3DAsync", 1, 2, 2, i); __PYX_ERR(0, 25422, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25422, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25422, __pyx_L3_error)
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)values[0]);
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy3DAsync", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 25422, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pCopy), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D, 1, "pCopy", 0))) __PYX_ERR(0, 25423, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_262cuMemcpy3DAsync(__pyx_self, __pyx_v_pCopy, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_262cuMemcpy3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_pCopy, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUDA_MEMCPY3D *__pyx_v_cypCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_MEMCPY3D_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy3DAsync", 0);

  /* "cuda/bindings/driver.pyx":25547
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25548
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25547
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25549
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25550
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25549
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25552
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25552, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25553
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25553, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25554
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy3DAsync(cypCopy_ptr, cyhStream)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_pCopy) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":25555
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25556
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemcpy3DAsync(cypCopy_ptr, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DAsync(__pyx_v_cypCopy_ptr, __pyx_v_cyhStream); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25556, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":25555
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY3D* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":25557
 *     with nogil:
 *         err = cydriver.cuMemcpy3DAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 25557, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25422
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DAsync(pCopy : Optional[CUDA_MEMCPY3D], hStream):
 *     """ Copies memory for 3D arrays.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25559
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeerAsync(pCopy : Optional[CUDA_MEMCPY3D_PEER], hStream):
 *     """ Copies memory between contexts asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_265cuMemcpy3DPeerAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_264cuMemcpy3DPeerAsync, "cuMemcpy3DPeerAsync(CUDA_MEMCPY3D_PEER pCopy: Optional[CUDA_MEMCPY3D_PEER], hStream)\n\nCopies memory between contexts asynchronously.\n\nPerform a 3D memory copy according to the parameters specified in\n`pCopy`. See the definition of the :py:obj:`~.CUDA_MEMCPY3D_PEER`\nstructure for documentation of its parameters.\n\nParameters\n----------\npCopy : :py:obj:`~.CUDA_MEMCPY3D_PEER`\n    Parameters for the memory copy\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_265cuMemcpy3DPeerAsync = {"cuMemcpy3DPeerAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_265cuMemcpy3DPeerAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_264cuMemcpy3DPeerAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_265cuMemcpy3DPeerAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy3DPeerAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pCopy,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25559, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25559, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25559, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy3DPeerAsync", 0) < (0)) __PYX_ERR(0, 25559, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy3DPeerAsync", 1, 2, 2, i); __PYX_ERR(0, 25559, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25559, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25559, __pyx_L3_error)
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER *)values[0]);
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy3DPeerAsync", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 25559, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pCopy), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER, 1, "pCopy", 0))) __PYX_ERR(0, 25560, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_264cuMemcpy3DPeerAsync(__pyx_self, __pyx_v_pCopy, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_264cuMemcpy3DPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUDA_MEMCPY3D_PEER *__pyx_v_cypCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_MEMCPY3D_PEER_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy3DPeerAsync", 0);

  /* "cuda/bindings/driver.pyx":25584
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25585
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25584
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25586
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25587
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25586
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25589
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25589, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25590
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25590, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25591
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy3DPeerAsync(cypCopy_ptr, cyhStream)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_pCopy) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":25592
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DPeerAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25593
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemcpy3DPeerAsync(cypCopy_ptr, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DPeerAsync(__pyx_v_cypCopy_ptr, __pyx_v_cyhStream); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25593, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":25592
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUDA_MEMCPY3D_PEER* cypCopy_ptr = pCopy._pvt_ptr if pCopy is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DPeerAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":25594
 *     with nogil:
 *         err = cydriver.cuMemcpy3DPeerAsync(cypCopy_ptr, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 25594, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25559
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeerAsync(pCopy : Optional[CUDA_MEMCPY3D_PEER], hStream):
 *     """ Copies memory between contexts asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25596
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyBatchAsync(dsts : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], srcs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, attrs : Optional[tuple[CUmemcpyAttributes] | list[CUmemcpyAttributes]], attrsIdxs : tuple[int] | list[int], size_t numAttrs, hStream):
 *     """ Performs a batch of memory copies asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_267cuMemcpyBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_266cuMemcpyBatchAsync, "cuMemcpyBatchAsync(dsts: Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], srcs: Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes: tuple[int] | list[int], size_t count, attrs: Optional[tuple[CUmemcpyAttributes] | list[CUmemcpyAttributes]], attrsIdxs: tuple[int] | list[int], size_t numAttrs, hStream)\n\nPerforms a batch of memory copies asynchronously.\n\nPerforms a batch of memory copies. The batch as a whole executes in\nstream order but copies within a batch are not guaranteed to execute in\nany specific order. This API only supports pointer-to-pointer copies.\nFor copies involving CUDA arrays, please see\n:py:obj:`~.cuMemcpy3DBatchAsync`.\n\nPerforms memory copies from source buffers specified in `srcs` to\ndestination buffers specified in `dsts`. The size of each copy is\nspecified in `sizes`. All three arrays must be of the same length as\nspecified by `count`. Since there are no ordering guarantees for copies\nwithin a batch, specifying any dependent copies within a batch will\nresult in undefined behavior.\n\nEvery copy in the batch has to be associated with a set of attributes\nspecified in the `attrs` array. Each entry in this array can apply to\nmore than one copy. This can be done by specifying in the `attrsIdxs`\narray, the index of the first copy that the corresponding entry in the\n`attrs` array applies to. Both `attrs` and `attrsIdxs` must be of the\nsame length as specified by `numAttrs`. For example, if a batch has 10\ncopies listed in dst/src/sizes, the first 6 of which have one set of\nattributes and the remaining 4 another, then `numAttrs` will be 2,\n`attrsIdxs` will be {0, 6} and `attrs` will contains the two sets of\nattributes. Note that the first entry in `attrsIdxs` must always be 0.\nAlso, each entry must be greater than the previous entry and the last\nentry should be less than `count`. Furthermore, `numAttrs` must be\nlesser than or equal to `count`.\n\nThe :py:obj:`~.CUmemcpyAttributes.srcAccessOrder` indicates the source\naccess"" ordering to be observed for copies associated with the\nattribute. If the source access order is set to\n:py:obj:`~.CU_MEMCPY_SRC_ACCESS_ORDER_STREAM`, then the source will be\naccessed in stream order. If the source access order is set to\n:py:obj:`~.CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL` then it\nindicates that access to the source pointer can be out of stream order\nand all accesses must be complete before the API call returns. This\nflag is suited for ephemeral sources (ex., stack variables) when it's\nknown that no prior operations in the stream can be accessing the\nmemory and also that the lifetime of the memory is limited to the scope\nthat the source variable was declared in. Specifying this flag allows\nthe driver to optimize the copy and removes the need for the user to\nsynchronize the stream after the API call. If the source access order\nis set to :py:obj:`~.CU_MEMCPY_SRC_ACCESS_ORDER_ANY` then it indicates\nthat access to the source pointer can be out of stream order and the\naccesses can happen even after the API call returns. This flag is\nsuited for host pointers allocated outside CUDA (ex., via malloc) when\nit's known that no prior operations in the stream can be accessing the\nmemory. Specifying this flag allows the driver to optimize the copy on\ncertain platforms. Each memcpy operation in the batch must have a valid\n:py:obj:`~.CUmemcpyAttributes` corresponding to it including the\nappropriate srcAccessOrder setting, otherwise the API will return\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\nThe :py:obj:`~.CUmemcpyAttributes.srcLocHint` and\n:py:obj:`~.CUmemcpyAttributes.dstLocHint` allows applications to\nspecify hint locations for operands of a copy when the operand doesn't\nhave a fixed location. That is, these hints are only applicable for\nmanaged memory pointers on devices where\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` is true or\nsystem-allocated pageable memory on devices where\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEAB""LE_MEMORY_ACCESS` is true. For\nother cases, these hints are ignored.\n\nThe :py:obj:`~.CUmemcpyAttributes.flags` field can be used to specify\ncertain flags for copies. Setting the\n:py:obj:`~.CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE` flag indicates\nthat the associated copies should preferably overlap with any compute\nwork. Note that this flag is a hint and can be ignored depending on the\nplatform and other parameters of the copy.\n\nIf any error is encountered while parsing the batch, the index within\nthe batch where the error was encountered will be returned in\n`failIdx`.\n\nParameters\n----------\ndsts : list[:py:obj:`~.CUdeviceptr`]\n    Array of destination pointers.\nsrcs : list[:py:obj:`~.CUdeviceptr`]\n    Array of memcpy source pointers.\nsizes : list[int]\n    Array of sizes for memcpy operations.\ncount : size_t\n    Size of `dsts`, `srcs` and `sizes` arrays\nattrs : list[:py:obj:`~.CUmemcpyAttributes`]\n    Array of memcpy attributes.\nattrsIdxs : list[int]\n    Array of indices to specify which copies each entry in the `attrs`\n    array applies to. The attributes specified in attrs[k] will be\n    applied to copies starting from attrsIdxs[k] through attrsIdxs[k+1]\n    - 1. Also attrs[numAttrs-1] will apply to copies starting from\n    attrsIdxs[numAttrs-1] through count - 1.\nnumAttrs : size_t\n    Size of `attrs` and `attrsIdxs` arrays.\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to enqueue the operations in. Must not be legacy NULL\n    stream.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nfailIdx : int\n    Pointer to a location to return the index of the copy where a\n    failure was encountered. The value will be SIZE_MAX if the error\n    doesn't pertain to any specific copy.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_267cuMemcpyBatchAsync = {"cuMemcpyBatchAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_267cuMemcpyBatchAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_266cuMemcpyBatchAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_267cuMemcpyBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dsts = 0;
  PyObject *__pyx_v_srcs = 0;
  PyObject *__pyx_v_sizes = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_attrs = 0;
  PyObject *__pyx_v_attrsIdxs = 0;
  size_t __pyx_v_numAttrs;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[8] = {0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpyBatchAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dsts,&__pyx_mstate_global->__pyx_n_u_srcs,&__pyx_mstate_global->__pyx_n_u_sizes,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_attrs_2,&__pyx_mstate_global->__pyx_n_u_attrsIdxs,&__pyx_mstate_global->__pyx_n_u_numAttrs_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25596, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 25596, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 25596, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 25596, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25596, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25596, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25596, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25596, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25596, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpyBatchAsync", 0) < (0)) __PYX_ERR(0, 25596, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 8; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpyBatchAsync", 1, 8, 8, i); __PYX_ERR(0, 25596, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 8)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25596, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25596, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25596, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25596, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25596, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 25596, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 25596, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 25596, __pyx_L3_error)
    }
    __pyx_v_dsts = values[0];
    __pyx_v_srcs = values[1];
    __pyx_v_sizes = values[2];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25597, __pyx_L3_error)
    __pyx_v_attrs = values[4];
    __pyx_v_attrsIdxs = values[5];
    __pyx_v_numAttrs = __Pyx_PyLong_As_size_t(values[6]); if (unlikely((__pyx_v_numAttrs == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25597, __pyx_L3_error)
    __pyx_v_hStream = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyBatchAsync", 1, 8, 8, __pyx_nargs); __PYX_ERR(0, 25596, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_266cuMemcpyBatchAsync(__pyx_self, __pyx_v_dsts, __pyx_v_srcs, __pyx_v_sizes, __pyx_v_count, __pyx_v_attrs, __pyx_v_attrsIdxs, __pyx_v_numAttrs, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_2generator123(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":25714
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in attrsIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 25714, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_2generator123, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[123]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 25714, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyBatchAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_2generator123(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 25714, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 25714, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25714, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25714, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25714, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25714, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 25714, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyLong_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_5generator124(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":25717
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 25717, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_5generator124, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[124]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 25717, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyBatchAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_5generator124(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 25717, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 25717, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25717, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25717, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25717, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25717, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 25717, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_8generator125(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":25719
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 25719, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_8generator125, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[125]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 25719, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyBatchAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_8generator125(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 25719, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 25719, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25719, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25719, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25719, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25719, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 25719, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyLong_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_11generator126(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":25722
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in srcs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 25722, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_11generator126, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[126]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 25722, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyBatchAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_11generator126(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 25722, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 25722, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25722, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25722, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25722, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25722, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 25722, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_14generator127(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":25725
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dsts):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydsts = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_12genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 25725, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_14generator127, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[127]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 25725, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyBatchAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_14generator127(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 25725, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 25725, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25725, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25725, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25725, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25725, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 25725, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25596
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyBatchAsync(dsts : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], srcs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, attrs : Optional[tuple[CUmemcpyAttributes] | list[CUmemcpyAttributes]], attrsIdxs : tuple[int] | list[int], size_t numAttrs, hStream):
 *     """ Performs a batch of memory copies asynchronously.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_266cuMemcpyBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dsts, PyObject *__pyx_v_srcs, PyObject *__pyx_v_sizes, size_t __pyx_v_count, PyObject *__pyx_v_attrs, PyObject *__pyx_v_attrsIdxs, size_t __pyx_v_numAttrs, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr *__pyx_v_cydsts;
  Py_ssize_t __pyx_v_idx;
  CUdeviceptr *__pyx_v_cysrcs;
  std::vector<size_t>  __pyx_v_cysizes;
  CUmemcpyAttributes *__pyx_v_cyattrs;
  std::vector<size_t>  __pyx_v_cyattrsIdxs;
  size_t __pyx_v_failIdx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_2generator123 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_5generator124 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_8generator125 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_11generator126 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_14generator127 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  std::vector<size_t>  __pyx_t_14;
  struct CUmemcpyAttributes_st *__pyx_t_15;
  CUresult __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyBatchAsync", 0);
  __Pyx_INCREF(__pyx_v_dsts);
  __Pyx_INCREF(__pyx_v_srcs);
  __Pyx_INCREF(__pyx_v_attrs);

  /* "cuda/bindings/driver.pyx":25707
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25708
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25707
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25709
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25710
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25709
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25712
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in attrsIdxs):
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25712, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25713
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in attrsIdxs):
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25713, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25714
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in attrsIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_genexpr(NULL, __pyx_v_attrsIdxs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 25714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":25715
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in attrsIdxs):
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")             # <<<<<<<<<<<<<<
 *     attrs = [] if attrs is None else attrs
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_attrsIdxs_is_not_instan};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25715, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 25715, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":25714
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in attrsIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs
*/
  }

  /* "cuda/bindings/driver.pyx":25716
 *     if not all(isinstance(_x, (int)) for _x in attrsIdxs):
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
*/
  __pyx_t_7 = (__pyx_v_attrs == Py_None);
  if (__pyx_t_7) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_attrs);
    __pyx_t_2 = __pyx_v_attrs;
  }
  __Pyx_DECREF_SET(__pyx_v_attrs, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":25717
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_3genexpr(NULL, __pyx_v_attrs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 25717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_7);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":25718
 *     attrs = [] if attrs is None else attrs
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in sizes):
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_attrs_is_not_instance_o};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25718, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 25718, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":25717
 *         raise TypeError("Argument 'attrsIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     attrs = [] if attrs is None else attrs
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
  }

  /* "cuda/bindings/driver.pyx":25719
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_6genexpr(NULL, __pyx_v_sizes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 25719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":25720
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")             # <<<<<<<<<<<<<<
 *     srcs = [] if srcs is None else srcs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in srcs):
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_2 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_sizes_is_not_instance_o};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25720, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 25720, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":25719
 *     if not all(isinstance(_x, (CUmemcpyAttributes,)) for _x in attrs):
 *         raise TypeError("Argument 'attrs' is not instance of type (expected tuple[cydriver.CUmemcpyAttributes,] or list[cydriver.CUmemcpyAttributes,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs
*/
  }

  /* "cuda/bindings/driver.pyx":25721
 *     if not all(isinstance(_x, (int)) for _x in sizes):
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in srcs):
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
*/
  __pyx_t_7 = (__pyx_v_srcs == Py_None);
  if (__pyx_t_7) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_srcs);
    __pyx_t_4 = __pyx_v_srcs;
  }
  __Pyx_DECREF_SET(__pyx_v_srcs, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":25722
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in srcs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_9genexpr(NULL, __pyx_v_srcs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 25722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = (!__pyx_t_7);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":25723
 *     srcs = [] if srcs is None else srcs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in srcs):
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")             # <<<<<<<<<<<<<<
 *     dsts = [] if dsts is None else dsts
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dsts):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_srcs_is_not_instance_of};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25723, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 25723, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":25722
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     srcs = [] if srcs is None else srcs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in srcs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts
*/
  }

  /* "cuda/bindings/driver.pyx":25724
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in srcs):
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dsts):
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
*/
  __pyx_t_1 = (__pyx_v_dsts == Py_None);
  if (__pyx_t_1) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dsts);
    __pyx_t_2 = __pyx_v_dsts;
  }
  __Pyx_DECREF_SET(__pyx_v_dsts, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":25725
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dsts):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydsts = NULL
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_12genexpr(NULL, __pyx_v_dsts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 25725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":25726
 *     dsts = [] if dsts is None else dsts
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dsts):
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr* cydsts = NULL
 *     if len(dsts) > 1:
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_dsts_is_not_instance_of};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25726, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 25726, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":25725
 *         raise TypeError("Argument 'srcs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     dsts = [] if dsts is None else dsts
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dsts):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydsts = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":25727
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dsts):
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydsts = NULL             # <<<<<<<<<<<<<<
 *     if len(dsts) > 1:
 *         cydsts = <cydriver.CUdeviceptr*> calloc(len(dsts), sizeof(cydriver.CUdeviceptr))
*/
  __pyx_v_cydsts = NULL;

  /* "cuda/bindings/driver.pyx":25728
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydsts = NULL
 *     if len(dsts) > 1:             # <<<<<<<<<<<<<<
 *         cydsts = <cydriver.CUdeviceptr*> calloc(len(dsts), sizeof(cydriver.CUdeviceptr))
 *         if cydsts is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25728, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25729
 *     cdef cydriver.CUdeviceptr* cydsts = NULL
 *     if len(dsts) > 1:
 *         cydsts = <cydriver.CUdeviceptr*> calloc(len(dsts), sizeof(cydriver.CUdeviceptr))             # <<<<<<<<<<<<<<
 *         if cydsts is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dsts)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25729, __pyx_L1_error)
    __pyx_v_cydsts = ((CUdeviceptr *)calloc(__pyx_t_8, (sizeof(CUdeviceptr))));

    /* "cuda/bindings/driver.pyx":25730
 *     if len(dsts) > 1:
 *         cydsts = <cydriver.CUdeviceptr*> calloc(len(dsts), sizeof(cydriver.CUdeviceptr))
 *         if cydsts is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dsts)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    __pyx_t_7 = (__pyx_v_cydsts == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":25731
 *         cydsts = <cydriver.CUdeviceptr*> calloc(len(dsts), sizeof(cydriver.CUdeviceptr))
 *         if cydsts is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dsts)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dsts)):
*/
      __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25731, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUdeviceptr))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25731, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 25731, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":25730
 *     if len(dsts) > 1:
 *         cydsts = <cydriver.CUdeviceptr*> calloc(len(dsts), sizeof(cydriver.CUdeviceptr))
 *         if cydsts is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dsts)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":25733
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dsts)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
 *             for idx in range(len(dsts)):             # <<<<<<<<<<<<<<
 *                 cydsts[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dsts[idx])._pvt_ptr[0]
 *     elif len(dsts) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25733, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":25734
 *         else:
 *             for idx in range(len(dsts)):
 *                 cydsts[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dsts[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dsts) == 1:
 *         cydsts = <cydriver.CUdeviceptr*>(<CUdeviceptr>dsts[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dsts, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25734, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cydsts[__pyx_v_idx]) = ((CUdeviceptr)(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":25728
 *         raise TypeError("Argument 'dsts' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydsts = NULL
 *     if len(dsts) > 1:             # <<<<<<<<<<<<<<
 *         cydsts = <cydriver.CUdeviceptr*> calloc(len(dsts), sizeof(cydriver.CUdeviceptr))
 *         if cydsts is NULL:
*/
    goto __pyx_L9;
  }

  /* "cuda/bindings/driver.pyx":25735
 *             for idx in range(len(dsts)):
 *                 cydsts[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dsts[idx])._pvt_ptr[0]
 *     elif len(dsts) == 1:             # <<<<<<<<<<<<<<
 *         cydsts = <cydriver.CUdeviceptr*>(<CUdeviceptr>dsts[0])._pvt_ptr
 *     cdef cydriver.CUdeviceptr* cysrcs = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25735, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25736
 *                 cydsts[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dsts[idx])._pvt_ptr[0]
 *     elif len(dsts) == 1:
 *         cydsts = <cydriver.CUdeviceptr*>(<CUdeviceptr>dsts[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr* cysrcs = NULL
 *     if len(srcs) > 1:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dsts, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cydsts = ((CUdeviceptr *)((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25735
 *             for idx in range(len(dsts)):
 *                 cydsts[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dsts[idx])._pvt_ptr[0]
 *     elif len(dsts) == 1:             # <<<<<<<<<<<<<<
 *         cydsts = <cydriver.CUdeviceptr*>(<CUdeviceptr>dsts[0])._pvt_ptr
 *     cdef cydriver.CUdeviceptr* cysrcs = NULL
*/
  }
  __pyx_L9:;

  /* "cuda/bindings/driver.pyx":25737
 *     elif len(dsts) == 1:
 *         cydsts = <cydriver.CUdeviceptr*>(<CUdeviceptr>dsts[0])._pvt_ptr
 *     cdef cydriver.CUdeviceptr* cysrcs = NULL             # <<<<<<<<<<<<<<
 *     if len(srcs) > 1:
 *         cysrcs = <cydriver.CUdeviceptr*> calloc(len(srcs), sizeof(cydriver.CUdeviceptr))
*/
  __pyx_v_cysrcs = NULL;

  /* "cuda/bindings/driver.pyx":25738
 *         cydsts = <cydriver.CUdeviceptr*>(<CUdeviceptr>dsts[0])._pvt_ptr
 *     cdef cydriver.CUdeviceptr* cysrcs = NULL
 *     if len(srcs) > 1:             # <<<<<<<<<<<<<<
 *         cysrcs = <cydriver.CUdeviceptr*> calloc(len(srcs), sizeof(cydriver.CUdeviceptr))
 *         if cysrcs is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25738, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25739
 *     cdef cydriver.CUdeviceptr* cysrcs = NULL
 *     if len(srcs) > 1:
 *         cysrcs = <cydriver.CUdeviceptr*> calloc(len(srcs), sizeof(cydriver.CUdeviceptr))             # <<<<<<<<<<<<<<
 *         if cysrcs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(srcs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25739, __pyx_L1_error)
    __pyx_v_cysrcs = ((CUdeviceptr *)calloc(__pyx_t_8, (sizeof(CUdeviceptr))));

    /* "cuda/bindings/driver.pyx":25740
 *     if len(srcs) > 1:
 *         cysrcs = <cydriver.CUdeviceptr*> calloc(len(srcs), sizeof(cydriver.CUdeviceptr))
 *         if cysrcs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(srcs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    __pyx_t_7 = (__pyx_v_cysrcs == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":25741
 *         cysrcs = <cydriver.CUdeviceptr*> calloc(len(srcs), sizeof(cydriver.CUdeviceptr))
 *         if cysrcs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(srcs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(srcs)):
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25741, __pyx_L1_error)
      __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyLong_FromSize_t((sizeof(CUdeviceptr))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25741, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 25741, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":25740
 *     if len(srcs) > 1:
 *         cysrcs = <cydriver.CUdeviceptr*> calloc(len(srcs), sizeof(cydriver.CUdeviceptr))
 *         if cysrcs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(srcs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":25743
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(srcs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
 *             for idx in range(len(srcs)):             # <<<<<<<<<<<<<<
 *                 cysrcs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>srcs[idx])._pvt_ptr[0]
 *     elif len(srcs) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25743, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":25744
 *         else:
 *             for idx in range(len(srcs)):
 *                 cysrcs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>srcs[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(srcs) == 1:
 *         cysrcs = <cydriver.CUdeviceptr*>(<CUdeviceptr>srcs[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_srcs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25744, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cysrcs[__pyx_v_idx]) = ((CUdeviceptr)(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":25738
 *         cydsts = <cydriver.CUdeviceptr*>(<CUdeviceptr>dsts[0])._pvt_ptr
 *     cdef cydriver.CUdeviceptr* cysrcs = NULL
 *     if len(srcs) > 1:             # <<<<<<<<<<<<<<
 *         cysrcs = <cydriver.CUdeviceptr*> calloc(len(srcs), sizeof(cydriver.CUdeviceptr))
 *         if cysrcs is NULL:
*/
    goto __pyx_L13;
  }

  /* "cuda/bindings/driver.pyx":25745
 *             for idx in range(len(srcs)):
 *                 cysrcs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>srcs[idx])._pvt_ptr[0]
 *     elif len(srcs) == 1:             # <<<<<<<<<<<<<<
 *         cysrcs = <cydriver.CUdeviceptr*>(<CUdeviceptr>srcs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25745, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25746
 *                 cysrcs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>srcs[idx])._pvt_ptr[0]
 *     elif len(srcs) == 1:
 *         cysrcs = <cydriver.CUdeviceptr*>(<CUdeviceptr>srcs[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dsts): raise RuntimeError("List is too small: " + str(len(dsts)) + " < " + str(count))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_srcs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cysrcs = ((CUdeviceptr *)((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25745
 *             for idx in range(len(srcs)):
 *                 cysrcs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>srcs[idx])._pvt_ptr[0]
 *     elif len(srcs) == 1:             # <<<<<<<<<<<<<<
 *         cysrcs = <cydriver.CUdeviceptr*>(<CUdeviceptr>srcs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
*/
  }
  __pyx_L13:;

  /* "cuda/bindings/driver.pyx":25747
 *     elif len(srcs) == 1:
 *         cysrcs = <cydriver.CUdeviceptr*>(<CUdeviceptr>srcs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(dsts): raise RuntimeError("List is too small: " + str(len(dsts)) + " < " + str(count))
 *     if count > <size_t>len(srcs): raise RuntimeError("List is too small: " + str(len(srcs)) + " < " + str(count))
*/
  __pyx_t_14 = __pyx_convert_vector_from_py_size_t(__pyx_v_sizes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 25747, __pyx_L1_error)
  __pyx_v_cysizes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/bindings/driver.pyx":25748
 *         cysrcs = <cydriver.CUdeviceptr*>(<CUdeviceptr>srcs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dsts): raise RuntimeError("List is too small: " + str(len(dsts)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(srcs): raise RuntimeError("List is too small: " + str(len(srcs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25748, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_count > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_9 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_4 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25748, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25748, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 25748, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":25749
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dsts): raise RuntimeError("List is too small: " + str(len(dsts)) + " < " + str(count))
 *     if count > <size_t>len(srcs): raise RuntimeError("List is too small: " + str(len(srcs)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemcpyAttributes* cyattrs = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25749, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_count > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_2 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25749, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25749, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 25749, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":25750
 *     if count > <size_t>len(dsts): raise RuntimeError("List is too small: " + str(len(dsts)) + " < " + str(count))
 *     if count > <size_t>len(srcs): raise RuntimeError("List is too small: " + str(len(srcs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemcpyAttributes* cyattrs = NULL
 *     if len(attrs) > 1:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25750, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_count > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25750, __pyx_L1_error)
    __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25750, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 25750, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":25751
 *     if count > <size_t>len(srcs): raise RuntimeError("List is too small: " + str(len(srcs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemcpyAttributes* cyattrs = NULL             # <<<<<<<<<<<<<<
 *     if len(attrs) > 1:
 *         cyattrs = <cydriver.CUmemcpyAttributes*> calloc(len(attrs), sizeof(cydriver.CUmemcpyAttributes))
*/
  __pyx_v_cyattrs = NULL;

  /* "cuda/bindings/driver.pyx":25752
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemcpyAttributes* cyattrs = NULL
 *     if len(attrs) > 1:             # <<<<<<<<<<<<<<
 *         cyattrs = <cydriver.CUmemcpyAttributes*> calloc(len(attrs), sizeof(cydriver.CUmemcpyAttributes))
 *         if cyattrs is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25752, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25753
 *     cdef cydriver.CUmemcpyAttributes* cyattrs = NULL
 *     if len(attrs) > 1:
 *         cyattrs = <cydriver.CUmemcpyAttributes*> calloc(len(attrs), sizeof(cydriver.CUmemcpyAttributes))             # <<<<<<<<<<<<<<
 *         if cyattrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(attrs)) + 'x' + str(sizeof(cydriver.CUmemcpyAttributes)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25753, __pyx_L1_error)
    __pyx_v_cyattrs = ((CUmemcpyAttributes *)calloc(__pyx_t_8, (sizeof(CUmemcpyAttributes))));

    /* "cuda/bindings/driver.pyx":25754
 *     if len(attrs) > 1:
 *         cyattrs = <cydriver.CUmemcpyAttributes*> calloc(len(attrs), sizeof(cydriver.CUmemcpyAttributes))
 *         if cyattrs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(attrs)) + 'x' + str(sizeof(cydriver.CUmemcpyAttributes)))
 *         for idx in range(len(attrs)):
*/
    __pyx_t_7 = (__pyx_v_cyattrs == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":25755
 *         cyattrs = <cydriver.CUmemcpyAttributes*> calloc(len(attrs), sizeof(cydriver.CUmemcpyAttributes))
 *         if cyattrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(attrs)) + 'x' + str(sizeof(cydriver.CUmemcpyAttributes)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(attrs)):
 *             string.memcpy(&cyattrs[idx], (<CUmemcpyAttributes>attrs[idx])._pvt_ptr, sizeof(cydriver.CUmemcpyAttributes))
*/
      __pyx_t_9 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_4 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25755, __pyx_L1_error)
      __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUmemcpyAttributes))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25755, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 25755, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":25754
 *     if len(attrs) > 1:
 *         cyattrs = <cydriver.CUmemcpyAttributes*> calloc(len(attrs), sizeof(cydriver.CUmemcpyAttributes))
 *         if cyattrs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(attrs)) + 'x' + str(sizeof(cydriver.CUmemcpyAttributes)))
 *         for idx in range(len(attrs)):
*/
    }

    /* "cuda/bindings/driver.pyx":25756
 *         if cyattrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(attrs)) + 'x' + str(sizeof(cydriver.CUmemcpyAttributes)))
 *         for idx in range(len(attrs)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyattrs[idx], (<CUmemcpyAttributes>attrs[idx])._pvt_ptr, sizeof(cydriver.CUmemcpyAttributes))
 *     elif len(attrs) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25756, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":25757
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(attrs)) + 'x' + str(sizeof(cydriver.CUmemcpyAttributes)))
 *         for idx in range(len(attrs)):
 *             string.memcpy(&cyattrs[idx], (<CUmemcpyAttributes>attrs[idx])._pvt_ptr, sizeof(cydriver.CUmemcpyAttributes))             # <<<<<<<<<<<<<<
 *     elif len(attrs) == 1:
 *         cyattrs = (<CUmemcpyAttributes>attrs[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_attrs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25757, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cyattrs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUmemcpyAttributes))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":25752
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemcpyAttributes* cyattrs = NULL
 *     if len(attrs) > 1:             # <<<<<<<<<<<<<<
 *         cyattrs = <cydriver.CUmemcpyAttributes*> calloc(len(attrs), sizeof(cydriver.CUmemcpyAttributes))
 *         if cyattrs is NULL:
*/
    goto __pyx_L20;
  }

  /* "cuda/bindings/driver.pyx":25758
 *         for idx in range(len(attrs)):
 *             string.memcpy(&cyattrs[idx], (<CUmemcpyAttributes>attrs[idx])._pvt_ptr, sizeof(cydriver.CUmemcpyAttributes))
 *     elif len(attrs) == 1:             # <<<<<<<<<<<<<<
 *         cyattrs = (<CUmemcpyAttributes>attrs[0])._pvt_ptr
 *     cdef vector[size_t] cyattrsIdxs = attrsIdxs
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25758, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25759
 *             string.memcpy(&cyattrs[idx], (<CUmemcpyAttributes>attrs[idx])._pvt_ptr, sizeof(cydriver.CUmemcpyAttributes))
 *     elif len(attrs) == 1:
 *         cyattrs = (<CUmemcpyAttributes>attrs[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cyattrsIdxs = attrsIdxs
 *     if numAttrs > <size_t>len(attrs): raise RuntimeError("List is too small: " + str(len(attrs)) + " < " + str(numAttrs))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_attrs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_15 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cyattrs = __pyx_t_15;

    /* "cuda/bindings/driver.pyx":25758
 *         for idx in range(len(attrs)):
 *             string.memcpy(&cyattrs[idx], (<CUmemcpyAttributes>attrs[idx])._pvt_ptr, sizeof(cydriver.CUmemcpyAttributes))
 *     elif len(attrs) == 1:             # <<<<<<<<<<<<<<
 *         cyattrs = (<CUmemcpyAttributes>attrs[0])._pvt_ptr
 *     cdef vector[size_t] cyattrsIdxs = attrsIdxs
*/
  }
  __pyx_L20:;

  /* "cuda/bindings/driver.pyx":25760
 *     elif len(attrs) == 1:
 *         cyattrs = (<CUmemcpyAttributes>attrs[0])._pvt_ptr
 *     cdef vector[size_t] cyattrsIdxs = attrsIdxs             # <<<<<<<<<<<<<<
 *     if numAttrs > <size_t>len(attrs): raise RuntimeError("List is too small: " + str(len(attrs)) + " < " + str(numAttrs))
 *     if numAttrs > <size_t>len(attrsIdxs): raise RuntimeError("List is too small: " + str(len(attrsIdxs)) + " < " + str(numAttrs))
*/
  __pyx_t_14 = __pyx_convert_vector_from_py_size_t(__pyx_v_attrsIdxs); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 25760, __pyx_L1_error)
  __pyx_v_cyattrsIdxs = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/bindings/driver.pyx":25761
 *         cyattrs = (<CUmemcpyAttributes>attrs[0])._pvt_ptr
 *     cdef vector[size_t] cyattrsIdxs = attrsIdxs
 *     if numAttrs > <size_t>len(attrs): raise RuntimeError("List is too small: " + str(len(attrs)) + " < " + str(numAttrs))             # <<<<<<<<<<<<<<
 *     if numAttrs > <size_t>len(attrsIdxs): raise RuntimeError("List is too small: " + str(len(attrsIdxs)) + " < " + str(numAttrs))
 *     cdef size_t failIdx = 0
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25761, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numAttrs > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_2 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25761, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_FromSize_t(__pyx_v_numAttrs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25761, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 25761, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":25762
 *     cdef vector[size_t] cyattrsIdxs = attrsIdxs
 *     if numAttrs > <size_t>len(attrs): raise RuntimeError("List is too small: " + str(len(attrs)) + " < " + str(numAttrs))
 *     if numAttrs > <size_t>len(attrsIdxs): raise RuntimeError("List is too small: " + str(len(attrsIdxs)) + " < " + str(numAttrs))             # <<<<<<<<<<<<<<
 *     cdef size_t failIdx = 0
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_attrsIdxs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25762, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numAttrs > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_attrsIdxs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25762, __pyx_L1_error)
    __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyLong_FromSize_t(__pyx_v_numAttrs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25762, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 25762, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":25763
 *     if numAttrs > <size_t>len(attrs): raise RuntimeError("List is too small: " + str(len(attrs)) + " < " + str(numAttrs))
 *     if numAttrs > <size_t>len(attrsIdxs): raise RuntimeError("List is too small: " + str(len(attrsIdxs)) + " < " + str(numAttrs))
 *     cdef size_t failIdx = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, &failIdx, cyhStream)
*/
  __pyx_v_failIdx = 0;

  /* "cuda/bindings/driver.pyx":25764
 *     if numAttrs > <size_t>len(attrsIdxs): raise RuntimeError("List is too small: " + str(len(attrsIdxs)) + " < " + str(numAttrs))
 *     cdef size_t failIdx = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, &failIdx, cyhStream)
 *     if len(dsts) > 1 and cydsts is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25765
 *     cdef size_t failIdx = 0
 *     with nogil:
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, &failIdx, cyhStream)             # <<<<<<<<<<<<<<
 *     if len(dsts) > 1 and cydsts is not NULL:
 *         free(cydsts)
*/
        __pyx_t_16 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyBatchAsync(__pyx_v_cydsts, __pyx_v_cysrcs, __pyx_v_cysizes.data(), __pyx_v_count, __pyx_v_cyattrs, __pyx_v_cyattrsIdxs.data(), __pyx_v_numAttrs, (&__pyx_v_failIdx), __pyx_v_cyhStream); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25765, __pyx_L27_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":25764
 *     if numAttrs > <size_t>len(attrsIdxs): raise RuntimeError("List is too small: " + str(len(attrsIdxs)) + " < " + str(numAttrs))
 *     cdef size_t failIdx = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, &failIdx, cyhStream)
 *     if len(dsts) > 1 and cydsts is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L28;
        }
        __pyx_L27_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L28:;
      }
  }

  /* "cuda/bindings/driver.pyx":25766
 *     with nogil:
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, &failIdx, cyhStream)
 *     if len(dsts) > 1 and cydsts is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydsts)
 *     if len(srcs) > 1 and cysrcs is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25766, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L30_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydsts != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L30_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25767
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, &failIdx, cyhStream)
 *     if len(dsts) > 1 and cydsts is not NULL:
 *         free(cydsts)             # <<<<<<<<<<<<<<
 *     if len(srcs) > 1 and cysrcs is not NULL:
 *         free(cysrcs)
*/
    free(__pyx_v_cydsts);

    /* "cuda/bindings/driver.pyx":25766
 *     with nogil:
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, &failIdx, cyhStream)
 *     if len(dsts) > 1 and cydsts is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydsts)
 *     if len(srcs) > 1 and cysrcs is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":25768
 *     if len(dsts) > 1 and cydsts is not NULL:
 *         free(cydsts)
 *     if len(srcs) > 1 and cysrcs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cysrcs)
 *     if len(attrs) > 1 and cyattrs is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25768, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L33_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cysrcs != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L33_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25769
 *         free(cydsts)
 *     if len(srcs) > 1 and cysrcs is not NULL:
 *         free(cysrcs)             # <<<<<<<<<<<<<<
 *     if len(attrs) > 1 and cyattrs is not NULL:
 *         free(cyattrs)
*/
    free(__pyx_v_cysrcs);

    /* "cuda/bindings/driver.pyx":25768
 *     if len(dsts) > 1 and cydsts is not NULL:
 *         free(cydsts)
 *     if len(srcs) > 1 and cysrcs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cysrcs)
 *     if len(attrs) > 1 and cyattrs is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":25770
 *     if len(srcs) > 1 and cysrcs is not NULL:
 *         free(cysrcs)
 *     if len(attrs) > 1 and cyattrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyattrs)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25770, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L36_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cyattrs != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L36_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25771
 *         free(cysrcs)
 *     if len(attrs) > 1 and cyattrs is not NULL:
 *         free(cyattrs)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cyattrs);

    /* "cuda/bindings/driver.pyx":25770
 *     if len(srcs) > 1 and cysrcs is not NULL:
 *         free(cysrcs)
 *     if len(attrs) > 1 and cyattrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyattrs)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":25772
 *     if len(attrs) > 1 and cyattrs is not NULL:
 *         free(cyattrs)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], failIdx)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25773
 *         free(cyattrs)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], failIdx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 25773, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 25773, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":25772
 *     if len(attrs) > 1 and cyattrs is not NULL:
 *         free(cyattrs)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], failIdx)
*/
  }

  /* "cuda/bindings/driver.pyx":25774
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], failIdx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyLong_FromSize_t(__pyx_v_failIdx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 25774, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 25774, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25596
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyBatchAsync(dsts : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], srcs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, attrs : Optional[tuple[CUmemcpyAttributes] | list[CUmemcpyAttributes]], attrsIdxs : tuple[int] | list[int], size_t numAttrs, hStream):
 *     """ Performs a batch of memory copies asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpyBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_2generator123);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_5generator124);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_8generator125);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_11generator126);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_14generator127);
  __Pyx_XDECREF(__pyx_v_dsts);
  __Pyx_XDECREF(__pyx_v_srcs);
  __Pyx_XDECREF(__pyx_v_attrs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25776
 *     return (_dict_CUresult[err], failIdx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DBatchAsync(size_t numOps, opList : Optional[tuple[CUDA_MEMCPY3D_BATCH_OP] | list[CUDA_MEMCPY3D_BATCH_OP]], unsigned long long flags, hStream):
 *     """ Performs a batch of 3D memory copies asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_269cuMemcpy3DBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_268cuMemcpy3DBatchAsync, "cuMemcpy3DBatchAsync(size_t numOps, opList: Optional[tuple[CUDA_MEMCPY3D_BATCH_OP] | list[CUDA_MEMCPY3D_BATCH_OP]], unsigned long long flags, hStream)\n\nPerforms a batch of 3D memory copies asynchronously.\n\nPerforms a batch of memory copies. The batch as a whole executes in\nstream order but copies within a batch are not guaranteed to execute in\nany specific order. Note that this means specifying any dependent\ncopies within a batch will result in undefined behavior.\n\nPerforms memory copies as specified in the `opList` array. The length\nof this array is specified in `numOps`. Each entry in this array\ndescribes a copy operation. This includes among other things, the\nsource and destination operands for the copy as specified in\n:py:obj:`~.CUDA_MEMCPY3D_BATCH_OP.src` and\n:py:obj:`~.CUDA_MEMCPY3D_BATCH_OP.dst` respectively. The source and\ndestination operands of a copy can either be a pointer or a CUDA array.\nThe width, height and depth of a copy is specified in\n:py:obj:`~.CUDA_MEMCPY3D_BATCH_OP.extent`. The width, height and depth\nof a copy are specified in elements and must not be zero. For pointer-\nto-pointer copies, the element size is considered to be 1. For pointer\nto CUDA array or vice versa copies, the element size is determined by\nthe CUDA array. For CUDA array to CUDA array copies, the element size\nof the two CUDA arrays must match.\n\nFor a given operand, if :py:obj:`~.CUmemcpy3DOperand`::type is\nspecified as :py:obj:`~.CU_MEMCPY_OPERAND_TYPE_POINTER`, then\n:py:obj:`~.CUmemcpy3DOperand`::op::ptr will be used. The\n:py:obj:`~.CUmemcpy3DOperand`::op::ptr::ptr field must contain the\npointer where the copy should begin. The\n:py:obj:`~.CUmemcpy3DOperand`::op::ptr::rowLength field specifies the\nlength of each row in elements and must either be zero or be greater\nthan or equal to the width of the copy specified in\n:py:obj:`~.CUDA_MEMCPY3D_BATCH_OP`::extent::width. The\n:py:obj:`~.CUmemcpy3DOperand`::op::ptr::layerHeight field specifies the""\nheight of each layer and must either be zero or be greater than or\nequal to the height of the copy specified in\n:py:obj:`~.CUDA_MEMCPY3D_BATCH_OP`::extent::height. When either of\nthese values is zero, that aspect of the operand is considered to be\ntightly packed according to the copy extent. For managed memory\npointers on devices where\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` is true or\nsystem-allocated pageable memory on devices where\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS` is true, the\n:py:obj:`~.CUmemcpy3DOperand`::op::ptr::locHint field can be used to\nhint the location of the operand.\n\nIf an operand's type is specified as\n:py:obj:`~.CU_MEMCPY_OPERAND_TYPE_ARRAY`, then\n:py:obj:`~.CUmemcpy3DOperand`::op::array will be used. The\n:py:obj:`~.CUmemcpy3DOperand`::op::array::array field specifies the\nCUDA array and :py:obj:`~.CUmemcpy3DOperand`::op::array::offset\nspecifies the 3D offset into that array where the copy begins.\n\nThe :py:obj:`~.CUmemcpyAttributes.srcAccessOrder` indicates the source\naccess ordering to be observed for copies associated with the\nattribute. If the source access order is set to\n:py:obj:`~.CU_MEMCPY_SRC_ACCESS_ORDER_STREAM`, then the source will be\naccessed in stream order. If the source access order is set to\n:py:obj:`~.CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL` then it\nindicates that access to the source pointer can be out of stream order\nand all accesses must be complete before the API call returns. This\nflag is suited for ephemeral sources (ex., stack variables) when it's\nknown that no prior operations in the stream can be accessing the\nmemory and also that the lifetime of the memory is limited to the scope\nthat the source variable was declared in. Specifying this flag allows\nthe driver to optimize the copy and removes the need for the user to\nsynchronize the stream after the API call. If the source access order\nis set to :py:obj:`~.CU_MEMCPY_SRC_ACCESS_ORDER_ANY` then it in""dicates\nthat access to the source pointer can be out of stream order and the\naccesses can happen even after the API call returns. This flag is\nsuited for host pointers allocated outside CUDA (ex., via malloc) when\nit's known that no prior operations in the stream can be accessing the\nmemory. Specifying this flag allows the driver to optimize the copy on\ncertain platforms. Each memcopy operation in `opList` must have a valid\nsrcAccessOrder setting, otherwise this API will return\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\nThe :py:obj:`~.CUmemcpyAttributes.flags` field can be used to specify\ncertain flags for copies. Setting the\n:py:obj:`~.CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE` flag indicates\nthat the associated copies should preferably overlap with any compute\nwork. Note that this flag is a hint and can be ignored depending on the\nplatform and other parameters of the copy.\n\nIf any error is encountered while parsing the batch, the index within\nthe batch where the error was encountered will be returned in\n`failIdx`.\n\nParameters\n----------\nnumOps : size_t\n    Total number of memcpy operations.\nopList : list[:py:obj:`~.CUDA_MEMCPY3D_BATCH_OP`]\n    Array of size `numOps` containing the actual memcpy operations.\nflags : unsigned long long\n    Flags for future use, must be zero now.\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to enqueue the operations in. Must not be default NULL\n    stream.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nfailIdx : int\n    Pointer to a location to return the index of the copy where a\n    failure was encountered. The value will be SIZE_MAX if the error\n    doesn't pertain to any specific copy.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_269cuMemcpy3DBatchAsync = {"cuMemcpy3DBatchAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_269cuMemcpy3DBatchAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_268cuMemcpy3DBatchAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_269cuMemcpy3DBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_numOps;
  PyObject *__pyx_v_opList = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemcpy3DBatchAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_numOps,&__pyx_mstate_global->__pyx_n_u_opList,&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25776, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemcpy3DBatchAsync", 0) < (0)) __PYX_ERR(0, 25776, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemcpy3DBatchAsync", 1, 4, 4, i); __PYX_ERR(0, 25776, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25776, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25776, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25776, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25776, __pyx_L3_error)
    }
    __pyx_v_numOps = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_numOps == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25777, __pyx_L3_error)
    __pyx_v_opList = values[1];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25777, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy3DBatchAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 25776, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_268cuMemcpy3DBatchAsync(__pyx_self, __pyx_v_numOps, __pyx_v_opList, __pyx_v_flags, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_2generator128(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":25894
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     opList = [] if opList is None else opList
 *     if not all(isinstance(_x, (CUDA_MEMCPY3D_BATCH_OP,)) for _x in opList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]")
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 25894, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_2generator128, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[128]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DBatchAsync_locals_gene, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 25894, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DBatchAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_2generator128(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 25894, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 25894, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25894, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25894, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 25894, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25894, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 25894, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25776
 *     return (_dict_CUresult[err], failIdx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DBatchAsync(size_t numOps, opList : Optional[tuple[CUDA_MEMCPY3D_BATCH_OP] | list[CUDA_MEMCPY3D_BATCH_OP]], unsigned long long flags, hStream):
 *     """ Performs a batch of 3D memory copies asynchronously.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_268cuMemcpy3DBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_numOps, PyObject *__pyx_v_opList, unsigned PY_LONG_LONG __pyx_v_flags, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUDA_MEMCPY3D_BATCH_OP *__pyx_v_cyopList;
  Py_ssize_t __pyx_v_idx;
  size_t __pyx_v_failIdx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_2generator128 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_MEMCPY3D_BATCH_OP_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy3DBatchAsync", 0);
  __Pyx_INCREF(__pyx_v_opList);

  /* "cuda/bindings/driver.pyx":25886
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25887
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25886
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25888
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25889
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25888
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25891
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     opList = [] if opList is None else opList
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25891, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25892
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     opList = [] if opList is None else opList
 *     if not all(isinstance(_x, (CUDA_MEMCPY3D_BATCH_OP,)) for _x in opList):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25892, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25893
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     opList = [] if opList is None else opList             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUDA_MEMCPY3D_BATCH_OP,)) for _x in opList):
 *         raise TypeError("Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]")
*/
  __pyx_t_1 = (__pyx_v_opList == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_opList);
    __pyx_t_4 = __pyx_v_opList;
  }
  __Pyx_DECREF_SET(__pyx_v_opList, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":25894
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     opList = [] if opList is None else opList
 *     if not all(isinstance(_x, (CUDA_MEMCPY3D_BATCH_OP,)) for _x in opList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]")
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_genexpr(NULL, __pyx_v_opList); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 25894, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":25895
 *     opList = [] if opList is None else opList
 *     if not all(isinstance(_x, (CUDA_MEMCPY3D_BATCH_OP,)) for _x in opList):
 *         raise TypeError("Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]")             # <<<<<<<<<<<<<<
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))
 *     cdef cydriver.CUDA_MEMCPY3D_BATCH_OP* cyopList = NULL
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_opList_is_not_instance};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25895, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 25895, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":25894
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     opList = [] if opList is None else opList
 *     if not all(isinstance(_x, (CUDA_MEMCPY3D_BATCH_OP,)) for _x in opList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]")
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))
*/
  }

  /* "cuda/bindings/driver.pyx":25896
 *     if not all(isinstance(_x, (CUDA_MEMCPY3D_BATCH_OP,)) for _x in opList):
 *         raise TypeError("Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]")
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMCPY3D_BATCH_OP* cyopList = NULL
 *     if len(opList) > 1:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25896, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numOps > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_4 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25896, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_FromSize_t(__pyx_v_numOps); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25896, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 25896, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":25897
 *         raise TypeError("Argument 'opList' is not instance of type (expected tuple[cydriver.CUDA_MEMCPY3D_BATCH_OP,] or list[cydriver.CUDA_MEMCPY3D_BATCH_OP,]")
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))
 *     cdef cydriver.CUDA_MEMCPY3D_BATCH_OP* cyopList = NULL             # <<<<<<<<<<<<<<
 *     if len(opList) > 1:
 *         cyopList = <cydriver.CUDA_MEMCPY3D_BATCH_OP*> calloc(len(opList), sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
*/
  __pyx_v_cyopList = NULL;

  /* "cuda/bindings/driver.pyx":25898
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))
 *     cdef cydriver.CUDA_MEMCPY3D_BATCH_OP* cyopList = NULL
 *     if len(opList) > 1:             # <<<<<<<<<<<<<<
 *         cyopList = <cydriver.CUDA_MEMCPY3D_BATCH_OP*> calloc(len(opList), sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *         if cyopList is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25898, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25899
 *     cdef cydriver.CUDA_MEMCPY3D_BATCH_OP* cyopList = NULL
 *     if len(opList) > 1:
 *         cyopList = <cydriver.CUDA_MEMCPY3D_BATCH_OP*> calloc(len(opList), sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))             # <<<<<<<<<<<<<<
 *         if cyopList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(opList)) + 'x' + str(sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25899, __pyx_L1_error)
    __pyx_v_cyopList = ((CUDA_MEMCPY3D_BATCH_OP *)calloc(__pyx_t_8, (sizeof(CUDA_MEMCPY3D_BATCH_OP))));

    /* "cuda/bindings/driver.pyx":25900
 *     if len(opList) > 1:
 *         cyopList = <cydriver.CUDA_MEMCPY3D_BATCH_OP*> calloc(len(opList), sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *         if cyopList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(opList)) + 'x' + str(sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)))
 *         for idx in range(len(opList)):
*/
    __pyx_t_7 = (__pyx_v_cyopList == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":25901
 *         cyopList = <cydriver.CUDA_MEMCPY3D_BATCH_OP*> calloc(len(opList), sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *         if cyopList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(opList)) + 'x' + str(sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(opList)):
 *             string.memcpy(&cyopList[idx], (<CUDA_MEMCPY3D_BATCH_OP>opList[idx])._pvt_ptr, sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
*/
      __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25901, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 25901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY3D_BATCH_OP))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25901, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(0, 25901, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":25900
 *     if len(opList) > 1:
 *         cyopList = <cydriver.CUDA_MEMCPY3D_BATCH_OP*> calloc(len(opList), sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *         if cyopList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(opList)) + 'x' + str(sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)))
 *         for idx in range(len(opList)):
*/
    }

    /* "cuda/bindings/driver.pyx":25902
 *         if cyopList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(opList)) + 'x' + str(sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)))
 *         for idx in range(len(opList)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyopList[idx], (<CUDA_MEMCPY3D_BATCH_OP>opList[idx])._pvt_ptr, sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *     elif len(opList) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25902, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":25903
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(opList)) + 'x' + str(sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)))
 *         for idx in range(len(opList)):
 *             string.memcpy(&cyopList[idx], (<CUDA_MEMCPY3D_BATCH_OP>opList[idx])._pvt_ptr, sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))             # <<<<<<<<<<<<<<
 *     elif len(opList) == 1:
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
*/
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_opList, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25903, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      (void)(memcpy((&(__pyx_v_cyopList[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP *)__pyx_t_2)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUDA_MEMCPY3D_BATCH_OP))));
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }

    /* "cuda/bindings/driver.pyx":25898
 *     if numOps > <size_t>len(opList): raise RuntimeError("List is too small: " + str(len(opList)) + " < " + str(numOps))
 *     cdef cydriver.CUDA_MEMCPY3D_BATCH_OP* cyopList = NULL
 *     if len(opList) > 1:             # <<<<<<<<<<<<<<
 *         cyopList = <cydriver.CUDA_MEMCPY3D_BATCH_OP*> calloc(len(opList), sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *         if cyopList is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":25904
 *         for idx in range(len(opList)):
 *             string.memcpy(&cyopList[idx], (<CUDA_MEMCPY3D_BATCH_OP>opList[idx])._pvt_ptr, sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *     elif len(opList) == 1:             # <<<<<<<<<<<<<<
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
 *     cdef size_t failIdx = 0
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25904, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25905
 *             string.memcpy(&cyopList[idx], (<CUDA_MEMCPY3D_BATCH_OP>opList[idx])._pvt_ptr, sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *     elif len(opList) == 1:
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef size_t failIdx = 0
 *     with nogil:
*/
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_opList, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP *)__pyx_t_2)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_cyopList = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":25904
 *         for idx in range(len(opList)):
 *             string.memcpy(&cyopList[idx], (<CUDA_MEMCPY3D_BATCH_OP>opList[idx])._pvt_ptr, sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP))
 *     elif len(opList) == 1:             # <<<<<<<<<<<<<<
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
 *     cdef size_t failIdx = 0
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":25906
 *     elif len(opList) == 1:
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
 *     cdef size_t failIdx = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, &failIdx, flags, cyhStream)
*/
  __pyx_v_failIdx = 0;

  /* "cuda/bindings/driver.pyx":25907
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
 *     cdef size_t failIdx = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, &failIdx, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25908
 *     cdef size_t failIdx = 0
 *     with nogil:
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, &failIdx, flags, cyhStream)             # <<<<<<<<<<<<<<
 *     if len(opList) > 1 and cyopList is not NULL:
 *         free(cyopList)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DBatchAsync(__pyx_v_numOps, __pyx_v_cyopList, (&__pyx_v_failIdx), __pyx_v_flags, __pyx_v_cyhStream); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25908, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":25907
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
 *     cdef size_t failIdx = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, &failIdx, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":25909
 *     with nogil:
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, &failIdx, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyopList)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 25909, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cyopList != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25910
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, &failIdx, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:
 *         free(cyopList)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cyopList);

    /* "cuda/bindings/driver.pyx":25909
 *     with nogil:
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, &failIdx, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyopList)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":25911
 *     if len(opList) > 1 and cyopList is not NULL:
 *         free(cyopList)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], failIdx)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":25912
 *         free(cyopList)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], failIdx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 25912, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 25912, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":25911
 *     if len(opList) > 1 and cyopList is not NULL:
 *         free(cyopList)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], failIdx)
*/
  }

  /* "cuda/bindings/driver.pyx":25913
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], failIdx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_failIdx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 25913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 25913, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 25913, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25776
 *     return (_dict_CUresult[err], failIdx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DBatchAsync(size_t numOps, opList : Optional[tuple[CUDA_MEMCPY3D_BATCH_OP] | list[CUDA_MEMCPY3D_BATCH_OP]], unsigned long long flags, hStream):
 *     """ Performs a batch of 3D memory copies asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemcpy3DBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_2generator128);
  __Pyx_XDECREF(__pyx_v_opList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25915
 *     return (_dict_CUresult[err], failIdx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8(dstDevice, unsigned char uc, size_t N):
 *     """ Initializes device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_271cuMemsetD8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_270cuMemsetD8, "cuMemsetD8(dstDevice, unsigned char uc, size_t N)\n\nInitializes device memory.\n\nSets the memory range of `N` 8-bit values to the specified value `uc`.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nuc : unsigned char\n    Value to set\nN : size_t\n    Number of elements\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_271cuMemsetD8 = {"cuMemsetD8", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_271cuMemsetD8, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_270cuMemsetD8};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_271cuMemsetD8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  unsigned char __pyx_v_uc;
  size_t __pyx_v_N;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD8 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_uc,&__pyx_mstate_global->__pyx_n_u_N,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25915, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25915, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25915, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25915, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD8", 0) < (0)) __PYX_ERR(0, 25915, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD8", 1, 3, 3, i); __PYX_ERR(0, 25915, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25915, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25915, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25915, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_uc = __Pyx_PyLong_As_unsigned_char(values[1]); if (unlikely((__pyx_v_uc == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 25916, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25916, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD8", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 25915, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_270cuMemsetD8(__pyx_self, __pyx_v_dstDevice, __pyx_v_uc, __pyx_v_N);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_270cuMemsetD8(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned char __pyx_v_uc, size_t __pyx_v_N) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD8", 0);

  /* "cuda/bindings/driver.pyx":25940
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25941
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25940
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25942
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25943
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25942
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25945
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25945, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25946
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD8(cydstDevice, uc, N)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25946, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25947
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD8(cydstDevice, uc, N)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25948
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD8(cydstDevice, uc, N)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD8(__pyx_v_cydstDevice, __pyx_v_uc, __pyx_v_N); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25948, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25947
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD8(cydstDevice, uc, N)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":25949
 *     with nogil:
 *         err = cydriver.cuMemsetD8(cydstDevice, uc, N)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 25949, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25915
 *     return (_dict_CUresult[err], failIdx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8(dstDevice, unsigned char uc, size_t N):
 *     """ Initializes device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25951
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16(dstDevice, unsigned short us, size_t N):
 *     """ Initializes device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_273cuMemsetD16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_272cuMemsetD16, "cuMemsetD16(dstDevice, unsigned short us, size_t N)\n\nInitializes device memory.\n\nSets the memory range of `N` 16-bit values to the specified value `us`.\nThe `dstDevice` pointer must be two byte aligned.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nus : unsigned short\n    Value to set\nN : size_t\n    Number of elements\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_273cuMemsetD16 = {"cuMemsetD16", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_273cuMemsetD16, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_272cuMemsetD16};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_273cuMemsetD16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  unsigned short __pyx_v_us;
  size_t __pyx_v_N;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD16 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_us,&__pyx_mstate_global->__pyx_n_u_N,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25951, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25951, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25951, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25951, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD16", 0) < (0)) __PYX_ERR(0, 25951, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD16", 1, 3, 3, i); __PYX_ERR(0, 25951, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25951, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25951, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25951, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_us = __Pyx_PyLong_As_unsigned_short(values[1]); if (unlikely((__pyx_v_us == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(0, 25952, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25952, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD16", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 25951, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_272cuMemsetD16(__pyx_self, __pyx_v_dstDevice, __pyx_v_us, __pyx_v_N);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_272cuMemsetD16(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned short __pyx_v_us, size_t __pyx_v_N) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD16", 0);

  /* "cuda/bindings/driver.pyx":25977
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25978
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":25977
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25979
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":25980
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25979
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25982
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25982, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25983
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD16(cydstDevice, us, N)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25983, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":25984
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD16(cydstDevice, us, N)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25985
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD16(cydstDevice, us, N)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD16(__pyx_v_cydstDevice, __pyx_v_us, __pyx_v_N); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25985, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25984
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD16(cydstDevice, us, N)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":25986
 *     with nogil:
 *         err = cydriver.cuMemsetD16(cydstDevice, us, N)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 25986, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25951
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16(dstDevice, unsigned short us, size_t N):
 *     """ Initializes device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":25988
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32(dstDevice, unsigned int ui, size_t N):
 *     """ Initializes device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_275cuMemsetD32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_274cuMemsetD32, "cuMemsetD32(dstDevice, unsigned int ui, size_t N)\n\nInitializes device memory.\n\nSets the memory range of `N` 32-bit values to the specified value `ui`.\nThe `dstDevice` pointer must be four byte aligned.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nui : unsigned int\n    Value to set\nN : size_t\n    Number of elements\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_275cuMemsetD32 = {"cuMemsetD32", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_275cuMemsetD32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_274cuMemsetD32};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_275cuMemsetD32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  unsigned int __pyx_v_ui;
  size_t __pyx_v_N;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_ui,&__pyx_mstate_global->__pyx_n_u_N,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 25988, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25988, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25988, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25988, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD32", 0) < (0)) __PYX_ERR(0, 25988, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD32", 1, 3, 3, i); __PYX_ERR(0, 25988, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25988, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25988, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25988, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_ui = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_ui == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 25989, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 25989, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD32", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 25988, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_274cuMemsetD32(__pyx_self, __pyx_v_dstDevice, __pyx_v_ui, __pyx_v_N);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_274cuMemsetD32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned int __pyx_v_ui, size_t __pyx_v_N) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD32", 0);

  /* "cuda/bindings/driver.pyx":26014
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26015
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26014
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26016
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26017
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26016
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26019
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26019, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26020
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD32(cydstDevice, ui, N)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26020, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26021
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD32(cydstDevice, ui, N)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26022
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD32(cydstDevice, ui, N)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD32(__pyx_v_cydstDevice, __pyx_v_ui, __pyx_v_N); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26022, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26021
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD32(cydstDevice, ui, N)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26023
 *     with nogil:
 *         err = cydriver.cuMemsetD32(cydstDevice, ui, N)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 26023, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25988
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32(dstDevice, unsigned int ui, size_t N):
 *     """ Initializes device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26025
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_277cuMemsetD2D8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_276cuMemsetD2D8, "cuMemsetD2D8(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height)\n\nInitializes device memory.\n\nSets the 2D memory range of `Width` 8-bit values to the specified value\n`uc`. `Height` specifies the number of rows to set, and `dstPitch`\nspecifies the number of bytes between each row. This function performs\nfastest when the pitch is one that has been passed back by\n:py:obj:`~.cuMemAllocPitch()`.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\ndstPitch : size_t\n    Pitch of destination device pointer(Unused if `Height` is 1)\nuc : unsigned char\n    Value to set\nWidth : size_t\n    Width of row\nHeight : size_t\n    Number of rows\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMem""setD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset2D`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_277cuMemsetD2D8 = {"cuMemsetD2D8", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_277cuMemsetD2D8, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_276cuMemsetD2D8};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_277cuMemsetD2D8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  size_t __pyx_v_dstPitch;
  unsigned char __pyx_v_uc;
  size_t __pyx_v_Width;
  size_t __pyx_v_Height;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD2D8 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_dstPitch_2,&__pyx_mstate_global->__pyx_n_u_uc,&__pyx_mstate_global->__pyx_n_u_Width_2,&__pyx_mstate_global->__pyx_n_u_Height_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26025, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD2D8", 0) < (0)) __PYX_ERR(0, 26025, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8", 1, 5, 5, i); __PYX_ERR(0, 26025, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26025, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26025, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26025, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26025, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26025, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26026, __pyx_L3_error)
    __pyx_v_uc = __Pyx_PyLong_As_unsigned_char(values[2]); if (unlikely((__pyx_v_uc == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 26026, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26026, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26026, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 26025, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_276cuMemsetD2D8(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_uc, __pyx_v_Width, __pyx_v_Height);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_276cuMemsetD2D8(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned char __pyx_v_uc, size_t __pyx_v_Width, size_t __pyx_v_Height) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D8", 0);

  /* "cuda/bindings/driver.pyx":26058
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26059
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26058
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26060
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26061
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26060
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26063
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26063, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26064
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8(cydstDevice, dstPitch, uc, Width, Height)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26064, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26065
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D8(cydstDevice, dstPitch, uc, Width, Height)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26066
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8(cydstDevice, dstPitch, uc, Width, Height)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D8(__pyx_v_cydstDevice, __pyx_v_dstPitch, __pyx_v_uc, __pyx_v_Width, __pyx_v_Height); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26066, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26065
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D8(cydstDevice, dstPitch, uc, Width, Height)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26067
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8(cydstDevice, dstPitch, uc, Width, Height)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 26067, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26025
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_279cuMemsetD2D16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_278cuMemsetD2D16, "cuMemsetD2D16(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height)\n\nInitializes device memory.\n\nSets the 2D memory range of `Width` 16-bit values to the specified\nvalue `us`. `Height` specifies the number of rows to set, and\n`dstPitch` specifies the number of bytes between each row. The\n`dstDevice` pointer and `dstPitch` offset must be two byte aligned.\nThis function performs fastest when the pitch is one that has been\npassed back by :py:obj:`~.cuMemAllocPitch()`.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\ndstPitch : size_t\n    Pitch of destination device pointer(Unused if `Height` is 1)\nus : unsigned short\n    Value to set\nWidth : size_t\n    Width of row\nHeight : size_t\n    Number of rows\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`,"" :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset2D`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_279cuMemsetD2D16 = {"cuMemsetD2D16", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_279cuMemsetD2D16, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_278cuMemsetD2D16};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_279cuMemsetD2D16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  size_t __pyx_v_dstPitch;
  unsigned short __pyx_v_us;
  size_t __pyx_v_Width;
  size_t __pyx_v_Height;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD2D16 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_dstPitch_2,&__pyx_mstate_global->__pyx_n_u_us,&__pyx_mstate_global->__pyx_n_u_Width_2,&__pyx_mstate_global->__pyx_n_u_Height_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26069, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD2D16", 0) < (0)) __PYX_ERR(0, 26069, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16", 1, 5, 5, i); __PYX_ERR(0, 26069, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26069, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26069, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26069, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26069, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26069, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26070, __pyx_L3_error)
    __pyx_v_us = __Pyx_PyLong_As_unsigned_short(values[2]); if (unlikely((__pyx_v_us == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(0, 26070, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26070, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26070, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 26069, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_278cuMemsetD2D16(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_us, __pyx_v_Width, __pyx_v_Height);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_278cuMemsetD2D16(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned short __pyx_v_us, size_t __pyx_v_Width, size_t __pyx_v_Height) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D16", 0);

  /* "cuda/bindings/driver.pyx":26103
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26104
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26103
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26105
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26106
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26105
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26108
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26108, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26109
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16(cydstDevice, dstPitch, us, Width, Height)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26109, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26110
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D16(cydstDevice, dstPitch, us, Width, Height)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26111
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16(cydstDevice, dstPitch, us, Width, Height)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D16(__pyx_v_cydstDevice, __pyx_v_dstPitch, __pyx_v_us, __pyx_v_Width, __pyx_v_Height); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26111, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26110
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D16(cydstDevice, dstPitch, us, Width, Height)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26112
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16(cydstDevice, dstPitch, us, Width, Height)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 26112, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26114
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_281cuMemsetD2D32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_280cuMemsetD2D32, "cuMemsetD2D32(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height)\n\nInitializes device memory.\n\nSets the 2D memory range of `Width` 32-bit values to the specified\nvalue `ui`. `Height` specifies the number of rows to set, and\n`dstPitch` specifies the number of bytes between each row. The\n`dstDevice` pointer and `dstPitch` offset must be four byte aligned.\nThis function performs fastest when the pitch is one that has been\npassed back by :py:obj:`~.cuMemAllocPitch()`.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\ndstPitch : size_t\n    Pitch of destination device pointer(Unused if `Height` is 1)\nui : unsigned int\n    Value to set\nWidth : size_t\n    Width of row\nHeight : size_t\n    Number of rows\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :p""y:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset2D`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_281cuMemsetD2D32 = {"cuMemsetD2D32", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_281cuMemsetD2D32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_280cuMemsetD2D32};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_281cuMemsetD2D32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  size_t __pyx_v_dstPitch;
  unsigned int __pyx_v_ui;
  size_t __pyx_v_Width;
  size_t __pyx_v_Height;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD2D32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_dstPitch_2,&__pyx_mstate_global->__pyx_n_u_ui,&__pyx_mstate_global->__pyx_n_u_Width_2,&__pyx_mstate_global->__pyx_n_u_Height_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26114, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26114, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26114, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26114, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26114, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26114, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD2D32", 0) < (0)) __PYX_ERR(0, 26114, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32", 1, 5, 5, i); __PYX_ERR(0, 26114, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26114, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26114, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26114, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26114, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26114, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26115, __pyx_L3_error)
    __pyx_v_ui = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_ui == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 26115, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26115, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26115, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 26114, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_280cuMemsetD2D32(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_ui, __pyx_v_Width, __pyx_v_Height);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_280cuMemsetD2D32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned int __pyx_v_ui, size_t __pyx_v_Width, size_t __pyx_v_Height) {
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D32", 0);

  /* "cuda/bindings/driver.pyx":26148
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26149
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26148
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26150
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26151
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26150
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26153
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26153, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26154
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32(cydstDevice, dstPitch, ui, Width, Height)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26154, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26155
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D32(cydstDevice, dstPitch, ui, Width, Height)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26156
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32(cydstDevice, dstPitch, ui, Width, Height)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D32(__pyx_v_cydstDevice, __pyx_v_dstPitch, __pyx_v_ui, __pyx_v_Width, __pyx_v_Height); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26156, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26155
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D32(cydstDevice, dstPitch, ui, Width, Height)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26157
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32(cydstDevice, dstPitch, ui, Width, Height)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 26157, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26114
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26159
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8Async(dstDevice, unsigned char uc, size_t N, hStream):
 *     """ Sets device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_283cuMemsetD8Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_282cuMemsetD8Async, "cuMemsetD8Async(dstDevice, unsigned char uc, size_t N, hStream)\n\nSets device memory.\n\nSets the memory range of `N` 8-bit values to the specified value `uc`.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nuc : unsigned char\n    Value to set\nN : size_t\n    Number of elements\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemsetAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_283cuMemsetD8Async = {"cuMemsetD8Async", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_283cuMemsetD8Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_282cuMemsetD8Async};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_283cuMemsetD8Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  unsigned char __pyx_v_uc;
  size_t __pyx_v_N;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD8Async (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_uc,&__pyx_mstate_global->__pyx_n_u_N,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26159, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26159, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD8Async", 0) < (0)) __PYX_ERR(0, 26159, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD8Async", 1, 4, 4, i); __PYX_ERR(0, 26159, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26159, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26159, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26159, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26159, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_uc = __Pyx_PyLong_As_unsigned_char(values[1]); if (unlikely((__pyx_v_uc == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 26160, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26160, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD8Async", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 26159, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD8Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_282cuMemsetD8Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_uc, __pyx_v_N, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_282cuMemsetD8Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned char __pyx_v_uc, size_t __pyx_v_N, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD8Async", 0);

  /* "cuda/bindings/driver.pyx":26186
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26187
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26186
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26188
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26189
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26188
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26191
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26191, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26192
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26192, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26194
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26195
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26194
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26196
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26197
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26197, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":26196
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26199
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26199, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":26200
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD8Async(cydstDevice, uc, N, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26200, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26201
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD8Async(cydstDevice, uc, N, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26202
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD8Async(cydstDevice, uc, N, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD8Async(__pyx_v_cydstDevice, __pyx_v_uc, __pyx_v_N, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26202, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26201
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD8Async(cydstDevice, uc, N, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26203
 *     with nogil:
 *         err = cydriver.cuMemsetD8Async(cydstDevice, uc, N, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26203, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26159
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8Async(dstDevice, unsigned char uc, size_t N, hStream):
 *     """ Sets device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD8Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26205
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16Async(dstDevice, unsigned short us, size_t N, hStream):
 *     """ Sets device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_285cuMemsetD16Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_284cuMemsetD16Async, "cuMemsetD16Async(dstDevice, unsigned short us, size_t N, hStream)\n\nSets device memory.\n\nSets the memory range of `N` 16-bit values to the specified value `us`.\nThe `dstDevice` pointer must be two byte aligned.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nus : unsigned short\n    Value to set\nN : size_t\n    Number of elements\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemsetAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_285cuMemsetD16Async = {"cuMemsetD16Async", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_285cuMemsetD16Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_284cuMemsetD16Async};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_285cuMemsetD16Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  unsigned short __pyx_v_us;
  size_t __pyx_v_N;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD16Async (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_us,&__pyx_mstate_global->__pyx_n_u_N,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26205, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26205, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26205, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26205, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26205, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD16Async", 0) < (0)) __PYX_ERR(0, 26205, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD16Async", 1, 4, 4, i); __PYX_ERR(0, 26205, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26205, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26205, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26205, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26205, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_us = __Pyx_PyLong_As_unsigned_short(values[1]); if (unlikely((__pyx_v_us == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(0, 26206, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26206, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD16Async", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 26205, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD16Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_284cuMemsetD16Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_us, __pyx_v_N, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_284cuMemsetD16Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned short __pyx_v_us, size_t __pyx_v_N, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD16Async", 0);

  /* "cuda/bindings/driver.pyx":26233
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26234
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26233
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26235
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26236
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26235
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26238
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26238, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26239
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26239, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26241
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26242
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26241
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26243
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26244
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":26243
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26246
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26246, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":26247
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD16Async(cydstDevice, us, N, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26247, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26248
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD16Async(cydstDevice, us, N, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26249
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD16Async(cydstDevice, us, N, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD16Async(__pyx_v_cydstDevice, __pyx_v_us, __pyx_v_N, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26249, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26248
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD16Async(cydstDevice, us, N, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26250
 *     with nogil:
 *         err = cydriver.cuMemsetD16Async(cydstDevice, us, N, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26250, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26205
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16Async(dstDevice, unsigned short us, size_t N, hStream):
 *     """ Sets device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD16Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26252
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32Async(dstDevice, unsigned int ui, size_t N, hStream):
 *     """ Sets device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_287cuMemsetD32Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_286cuMemsetD32Async, "cuMemsetD32Async(dstDevice, unsigned int ui, size_t N, hStream)\n\nSets device memory.\n\nSets the memory range of `N` 32-bit values to the specified value `ui`.\nThe `dstDevice` pointer must be four byte aligned.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\nui : unsigned int\n    Value to set\nN : size_t\n    Number of elements\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemsetAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_287cuMemsetD32Async = {"cuMemsetD32Async", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_287cuMemsetD32Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_286cuMemsetD32Async};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_287cuMemsetD32Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  unsigned int __pyx_v_ui;
  size_t __pyx_v_N;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD32Async (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_ui,&__pyx_mstate_global->__pyx_n_u_N,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26252, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26252, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26252, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26252, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26252, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD32Async", 0) < (0)) __PYX_ERR(0, 26252, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD32Async", 1, 4, 4, i); __PYX_ERR(0, 26252, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26252, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26252, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26252, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26252, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_ui = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_ui == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 26253, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26253, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD32Async", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 26252, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD32Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_286cuMemsetD32Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_ui, __pyx_v_N, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_286cuMemsetD32Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned int __pyx_v_ui, size_t __pyx_v_N, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD32Async", 0);

  /* "cuda/bindings/driver.pyx":26280
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26281
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26280
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26282
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26283
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26282
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26285
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26285, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26286
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26286, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26288
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26289
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26288
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26290
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26291
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":26290
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26293
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26293, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":26294
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD32Async(cydstDevice, ui, N, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26294, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26295
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD32Async(cydstDevice, ui, N, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26296
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD32Async(cydstDevice, ui, N, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD32Async(__pyx_v_cydstDevice, __pyx_v_ui, __pyx_v_N, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26296, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26295
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD32Async(cydstDevice, ui, N, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26297
 *     with nogil:
 *         err = cydriver.cuMemsetD32Async(cydstDevice, ui, N, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26297, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26252
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32Async(dstDevice, unsigned int ui, size_t N, hStream):
 *     """ Sets device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD32Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26299
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8Async(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_289cuMemsetD2D8Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_288cuMemsetD2D8Async, "cuMemsetD2D8Async(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, hStream)\n\nSets device memory.\n\nSets the 2D memory range of `Width` 8-bit values to the specified value\n`uc`. `Height` specifies the number of rows to set, and `dstPitch`\nspecifies the number of bytes between each row. This function performs\nfastest when the pitch is one that has been passed back by\n:py:obj:`~.cuMemAllocPitch()`.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\ndstPitch : size_t\n    Pitch of destination device pointer(Unused if `Height` is 1)\nuc : unsigned char\n    Value to set\nWidth : size_t\n    Width of row\nHeight : size_t\n    Number of rows\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMems""etD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset2DAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_289cuMemsetD2D8Async = {"cuMemsetD2D8Async", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_289cuMemsetD2D8Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_288cuMemsetD2D8Async};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_289cuMemsetD2D8Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  size_t __pyx_v_dstPitch;
  unsigned char __pyx_v_uc;
  size_t __pyx_v_Width;
  size_t __pyx_v_Height;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD2D8Async (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_dstPitch_2,&__pyx_mstate_global->__pyx_n_u_uc,&__pyx_mstate_global->__pyx_n_u_Width_2,&__pyx_mstate_global->__pyx_n_u_Height_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26299, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26299, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26299, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26299, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26299, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26299, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26299, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD2D8Async", 0) < (0)) __PYX_ERR(0, 26299, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8Async", 1, 6, 6, i); __PYX_ERR(0, 26299, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26299, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26299, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26299, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26299, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26299, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26299, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26300, __pyx_L3_error)
    __pyx_v_uc = __Pyx_PyLong_As_unsigned_char(values[2]); if (unlikely((__pyx_v_uc == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 26300, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26300, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26300, __pyx_L3_error)
    __pyx_v_hStream = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8Async", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 26299, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D8Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_288cuMemsetD2D8Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_uc, __pyx_v_Width, __pyx_v_Height, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_288cuMemsetD2D8Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned char __pyx_v_uc, size_t __pyx_v_Width, size_t __pyx_v_Height, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D8Async", 0);

  /* "cuda/bindings/driver.pyx":26334
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26335
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26334
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26336
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26337
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26336
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26339
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26339, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26340
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26340, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26342
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26343
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26342
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26344
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26345
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":26344
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26347
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26347, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":26348
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8Async(cydstDevice, dstPitch, uc, Width, Height, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26348, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26349
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D8Async(cydstDevice, dstPitch, uc, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26350
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8Async(cydstDevice, dstPitch, uc, Width, Height, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D8Async(__pyx_v_cydstDevice, __pyx_v_dstPitch, __pyx_v_uc, __pyx_v_Width, __pyx_v_Height, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26350, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26349
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D8Async(cydstDevice, dstPitch, uc, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26351
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8Async(cydstDevice, dstPitch, uc, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26351, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26299
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8Async(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D8Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26353
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16Async(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_291cuMemsetD2D16Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_290cuMemsetD2D16Async, "cuMemsetD2D16Async(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, hStream)\n\nSets device memory.\n\nSets the 2D memory range of `Width` 16-bit values to the specified\nvalue `us`. `Height` specifies the number of rows to set, and\n`dstPitch` specifies the number of bytes between each row. The\n`dstDevice` pointer and `dstPitch` offset must be two byte aligned.\nThis function performs fastest when the pitch is one that has been\npassed back by :py:obj:`~.cuMemAllocPitch()`.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\ndstPitch : size_t\n    Pitch of destination device pointer(Unused if `Height` is 1)\nus : unsigned short\n    Value to set\nWidth : size_t\n    Width of row\nHeight : size_t\n    Number of rows\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:o""bj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset2DAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_291cuMemsetD2D16Async = {"cuMemsetD2D16Async", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_291cuMemsetD2D16Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_290cuMemsetD2D16Async};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_291cuMemsetD2D16Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  size_t __pyx_v_dstPitch;
  unsigned short __pyx_v_us;
  size_t __pyx_v_Width;
  size_t __pyx_v_Height;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD2D16Async (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_dstPitch_2,&__pyx_mstate_global->__pyx_n_u_us,&__pyx_mstate_global->__pyx_n_u_Width_2,&__pyx_mstate_global->__pyx_n_u_Height_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26353, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD2D16Async", 0) < (0)) __PYX_ERR(0, 26353, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16Async", 1, 6, 6, i); __PYX_ERR(0, 26353, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26353, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26353, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26353, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26353, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26353, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26353, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26354, __pyx_L3_error)
    __pyx_v_us = __Pyx_PyLong_As_unsigned_short(values[2]); if (unlikely((__pyx_v_us == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(0, 26354, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26354, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26354, __pyx_L3_error)
    __pyx_v_hStream = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16Async", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 26353, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D16Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_290cuMemsetD2D16Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_us, __pyx_v_Width, __pyx_v_Height, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_290cuMemsetD2D16Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned short __pyx_v_us, size_t __pyx_v_Width, size_t __pyx_v_Height, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D16Async", 0);

  /* "cuda/bindings/driver.pyx":26389
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26390
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26389
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26391
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26392
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26391
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26394
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26394, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26395
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26395, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26397
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26398
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26397
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26399
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26400
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":26399
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26402
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26402, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":26403
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16Async(cydstDevice, dstPitch, us, Width, Height, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26403, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26404
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D16Async(cydstDevice, dstPitch, us, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26405
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16Async(cydstDevice, dstPitch, us, Width, Height, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D16Async(__pyx_v_cydstDevice, __pyx_v_dstPitch, __pyx_v_us, __pyx_v_Width, __pyx_v_Height, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26405, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26404
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D16Async(cydstDevice, dstPitch, us, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26406
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16Async(cydstDevice, dstPitch, us, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26406, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26353
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16Async(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D16Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26408
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32Async(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_293cuMemsetD2D32Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_292cuMemsetD2D32Async, "cuMemsetD2D32Async(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, hStream)\n\nSets device memory.\n\nSets the 2D memory range of `Width` 32-bit values to the specified\nvalue `ui`. `Height` specifies the number of rows to set, and\n`dstPitch` specifies the number of bytes between each row. The\n`dstDevice` pointer and `dstPitch` offset must be four byte aligned.\nThis function performs fastest when the pitch is one that has been\npassed back by :py:obj:`~.cuMemAllocPitch()`.\n\nParameters\n----------\ndstDevice : :py:obj:`~.CUdeviceptr`\n    Destination device pointer\ndstPitch : size_t\n    Pitch of destination device pointer(Unused if `Height` is 1)\nui : unsigned int\n    Value to set\nWidth : size_t\n    Width of row\nHeight : size_t\n    Number of rows\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:""`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset2DAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_293cuMemsetD2D32Async = {"cuMemsetD2D32Async", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_293cuMemsetD2D32Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_292cuMemsetD2D32Async};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_293cuMemsetD2D32Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dstDevice = 0;
  size_t __pyx_v_dstPitch;
  unsigned int __pyx_v_ui;
  size_t __pyx_v_Width;
  size_t __pyx_v_Height;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemsetD2D32Async (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_dstPitch_2,&__pyx_mstate_global->__pyx_n_u_ui,&__pyx_mstate_global->__pyx_n_u_Width_2,&__pyx_mstate_global->__pyx_n_u_Height_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26408, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26408, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemsetD2D32Async", 0) < (0)) __PYX_ERR(0, 26408, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32Async", 1, 6, 6, i); __PYX_ERR(0, 26408, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26408, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26408, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26408, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26408, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26408, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26408, __pyx_L3_error)
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26409, __pyx_L3_error)
    __pyx_v_ui = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_ui == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 26409, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26409, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 26409, __pyx_L3_error)
    __pyx_v_hStream = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32Async", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 26408, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D32Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_292cuMemsetD2D32Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_ui, __pyx_v_Width, __pyx_v_Height, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_292cuMemsetD2D32Async(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, size_t __pyx_v_dstPitch, unsigned int __pyx_v_ui, size_t __pyx_v_Width, size_t __pyx_v_Height, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D32Async", 0);

  /* "cuda/bindings/driver.pyx":26444
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26445
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26444
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26446
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26447
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26446
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26449
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26449, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26450
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26450, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26452
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26453
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26452
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26454
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26455
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":26454
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26457
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26457, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":26458
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32Async(cydstDevice, dstPitch, ui, Width, Height, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26458, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26459
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D32Async(cydstDevice, dstPitch, ui, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26460
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32Async(cydstDevice, dstPitch, ui, Width, Height, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D32Async(__pyx_v_cydstDevice, __pyx_v_dstPitch, __pyx_v_ui, __pyx_v_Width, __pyx_v_Height, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26460, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26459
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemsetD2D32Async(cydstDevice, dstPitch, ui, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26461
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32Async(cydstDevice, dstPitch, ui, Width, Height, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26461, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26408
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32Async(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemsetD2D32Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26463
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayCreate(pAllocateArray : Optional[CUDA_ARRAY_DESCRIPTOR]):
 *     """ Creates a 1D or 2D CUDA array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_295cuArrayCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_294cuArrayCreate, "cuArrayCreate(CUDA_ARRAY_DESCRIPTOR pAllocateArray: Optional[CUDA_ARRAY_DESCRIPTOR])\n\nCreates a 1D or 2D CUDA array.\n\nCreates a CUDA array according to the :py:obj:`~.CUDA_ARRAY_DESCRIPTOR`\nstructure `pAllocateArray` and returns a handle to the new CUDA array\nin `*pHandle`. The :py:obj:`~.CUDA_ARRAY_DESCRIPTOR` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- `Width`, and `Height` are the width, and height of the CUDA array (in\n  elements); the CUDA array is one-dimensional if height is 0, two-\n  dimensional otherwise;\n\n- :py:obj:`~.Format` specifies the format of the elements;\n  :py:obj:`~.CUarray_format` is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- `NumChannels` specifies the number of packed components per CUDA\n  array element; it may be 1, 2, or 4;\n\nHere are examples of CUDA array descriptions:\n\nDescription for a CUDA array of 2048 floats:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nDescription for a 64 x 64 CUDA array of floats:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nDescription for a `width` x `height` CUDA array of 64-bit, 4x16-bit\nfloat16's:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nDescription for a `width` x `height` CUDA array of 16-bit elements,\neach of which is two 8-bit unsigned chars:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nParameters\n----------\npAllocateArray : :py:obj:`~.CUDA_ARRAY_DESCRIPTOR`\n    Array descriptor\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npHandle : :py:obj:`~.CUarray`\n    Returned array\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayDestro""y`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMallocArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_295cuArrayCreate = {"cuArrayCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_295cuArrayCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_294cuArrayCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_295cuArrayCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *__pyx_v_pAllocateArray = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuArrayCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pAllocateArray,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26463, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26463, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuArrayCreate", 0) < (0)) __PYX_ERR(0, 26463, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuArrayCreate", 1, 1, 1, i); __PYX_ERR(0, 26463, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26463, __pyx_L3_error)
    }
    __pyx_v_pAllocateArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 26463, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pAllocateArray), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR, 1, "pAllocateArray", 0))) __PYX_ERR(0, 26464, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_294cuArrayCreate(__pyx_self, __pyx_v_pAllocateArray);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_294cuArrayCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *__pyx_v_pAllocateArray) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_pHandle = 0;
  CUDA_ARRAY_DESCRIPTOR *__pyx_v_cypAllocateArray_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUDA_ARRAY_DESCRIPTOR_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayCreate", 0);

  /* "cuda/bindings/driver.pyx":26523
 *     :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMallocArray`
 *     """
 *     cdef CUarray pHandle = CUarray()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26523, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":26524
 *     """
 *     cdef CUarray pHandle = CUarray()
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArrayCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_pAllocateArray) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_pAllocateArray->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cypAllocateArray_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":26525
 *     cdef CUarray pHandle = CUarray()
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26526
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL
 *     with nogil:
 *         err = cydriver.cuArrayCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayCreate(((CUarray *)__pyx_v_pHandle->_pvt_ptr), __pyx_v_cypAllocateArray_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26526, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26525
 *     cdef CUarray pHandle = CUarray()
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":26527
 *     with nogil:
 *         err = cydriver.cuArrayCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26528
 *         err = cydriver.cuArrayCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pHandle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26528, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 26528, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26527
 *     with nogil:
 *         err = cydriver.cuArrayCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  }

  /* "cuda/bindings/driver.pyx":26529
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 26529, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 26529, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26463
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayCreate(pAllocateArray : Optional[CUDA_ARRAY_DESCRIPTOR]):
 *     """ Creates a 1D or 2D CUDA array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26531
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetDescriptor(hArray):
 *     """ Get a 1D or 2D CUDA array descriptor.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_297cuArrayGetDescriptor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_296cuArrayGetDescriptor, "cuArrayGetDescriptor(hArray)\n\nGet a 1D or 2D CUDA array descriptor.\n\nReturns in `*pArrayDescriptor` a descriptor containing information on\nthe format and dimensions of the CUDA array `hArray`. It is useful for\nsubroutines that have been passed a CUDA array, but need to know the\nCUDA array parameters for validation or other purposes.\n\nParameters\n----------\nhArray : :py:obj:`~.CUarray`\n    Array to get descriptor of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\npArrayDescriptor : :py:obj:`~.CUDA_ARRAY_DESCRIPTOR`\n    Returned array descriptor\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaArrayGetInfo`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_297cuArrayGetDescriptor = {"cuArrayGetDescriptor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_297cuArrayGetDescriptor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_296cuArrayGetDescriptor};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_297cuArrayGetDescriptor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hArray = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuArrayGetDescriptor (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hArray_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26531, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26531, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuArrayGetDescriptor", 0) < (0)) __PYX_ERR(0, 26531, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuArrayGetDescriptor", 1, 1, 1, i); __PYX_ERR(0, 26531, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26531, __pyx_L3_error)
    }
    __pyx_v_hArray = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayGetDescriptor", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 26531, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayGetDescriptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_296cuArrayGetDescriptor(__pyx_self, __pyx_v_hArray);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_296cuArrayGetDescriptor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray) {
  CUarray __pyx_v_cyhArray;
  PyObject *__pyx_v_phArray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *__pyx_v_pArrayDescriptor = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayGetDescriptor", 0);

  /* "cuda/bindings/driver.pyx":26557
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26558
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:
 *         phArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26557
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26559
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26560
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26559
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26562
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26562, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26563
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26563, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26564
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArrayGetDescriptor(<cydriver.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26564, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pArrayDescriptor = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":26565
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayGetDescriptor(<cydriver.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26566
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 *     with nogil:
 *         err = cydriver.cuArrayGetDescriptor(<cydriver.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayGetDescriptor(((CUDA_ARRAY_DESCRIPTOR *)__pyx_v_pArrayDescriptor->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyhArray); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26566, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26565
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayGetDescriptor(<cydriver.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26567
 *     with nogil:
 *         err = cydriver.cuArrayGetDescriptor(<cydriver.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArrayDescriptor)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26568
 *         err = cydriver.cuArrayGetDescriptor(<cydriver.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pArrayDescriptor)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26568, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 26568, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26567
 *     with nogil:
 *         err = cydriver.cuArrayGetDescriptor(<cydriver.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArrayDescriptor)
*/
  }

  /* "cuda/bindings/driver.pyx":26569
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArrayDescriptor)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 26569, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArrayDescriptor);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArrayDescriptor);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pArrayDescriptor)) != (0)) __PYX_ERR(0, 26569, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26531
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetDescriptor(hArray):
 *     """ Get a 1D or 2D CUDA array descriptor.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayGetDescriptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_pArrayDescriptor);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26571
 *     return (_dict_CUresult[err], pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetSparseProperties(array):
 *     """ Returns the layout properties of a sparse CUDA array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_299cuArrayGetSparseProperties(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_298cuArrayGetSparseProperties, "cuArrayGetSparseProperties(array)\n\nReturns the layout properties of a sparse CUDA array.\n\nReturns the layout properties of a sparse CUDA array in\n`sparseProperties` If the CUDA array is not allocated with flag\n:py:obj:`~.CUDA_ARRAY3D_SPARSE` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nwill be returned.\n\nIf the returned value in :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.flags`\ncontains :py:obj:`~.CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL`, then\n:py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` represents the\ntotal size of the array. Otherwise, it will be zero. Also, the returned\nvalue in :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailFirstLevel` is\nalways zero. Note that the `array` must have been allocated using\n:py:obj:`~.cuArrayCreate` or :py:obj:`~.cuArray3DCreate`. For CUDA\narrays obtained using :py:obj:`~.cuMipmappedArrayGetLevel`,\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned. Instead,\n:py:obj:`~.cuMipmappedArrayGetSparseProperties` must be used to obtain\nthe sparse properties of the entire CUDA mipmapped array to which\n`array` belongs to.\n\nParameters\n----------\narray : :py:obj:`~.CUarray`\n    CUDA array to get the sparse properties of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nsparseProperties : :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES`\n    Pointer to :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES`\n\nSee Also\n--------\n:py:obj:`~.cuMipmappedArrayGetSparseProperties`, :py:obj:`~.cuMemMapArrayAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_299cuArrayGetSparseProperties = {"cuArrayGetSparseProperties", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_299cuArrayGetSparseProperties, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_298cuArrayGetSparseProperties};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_299cuArrayGetSparseProperties(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_array = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuArrayGetSparseProperties (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_array_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26571, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26571, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuArrayGetSparseProperties", 0) < (0)) __PYX_ERR(0, 26571, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuArrayGetSparseProperties", 1, 1, 1, i); __PYX_ERR(0, 26571, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26571, __pyx_L3_error)
    }
    __pyx_v_array = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayGetSparseProperties", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 26571, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayGetSparseProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_298cuArrayGetSparseProperties(__pyx_self, __pyx_v_array);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_298cuArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array) {
  CUarray __pyx_v_cyarray;
  PyObject *__pyx_v_parray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES *__pyx_v_sparseProperties = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayGetSparseProperties", 0);

  /* "cuda/bindings/driver.pyx":26610
 *     """
 *     cdef cydriver.CUarray cyarray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_array == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26611
 *     cdef cydriver.CUarray cyarray
 *     if array is None:
 *         parray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_parray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26610
 *     """
 *     cdef cydriver.CUarray cyarray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26612
 *     if array is None:
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_array, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26613
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(CUarray(array))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_parray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26612
 *     if array is None:
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26615
 *         parray = int(array)
 *     else:
 *         parray = int(CUarray(array))             # <<<<<<<<<<<<<<
 *     cyarray = <cydriver.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_array};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26615, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_parray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26616
 *     else:
 *         parray = int(CUarray(array))
 *     cyarray = <cydriver.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26616, __pyx_L1_error)
  __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26617
 *         parray = int(CUarray(array))
 *     cyarray = <cydriver.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cyarray)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26617, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":26618
 *     cyarray = <cydriver.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cyarray)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26619
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     with nogil:
 *         err = cydriver.cuArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cyarray)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayGetSparseProperties(((CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_v_sparseProperties->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyarray); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26619, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26618
 *     cyarray = <cydriver.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cyarray)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26620
 *     with nogil:
 *         err = cydriver.cuArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cyarray)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], sparseProperties)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26621
 *         err = cydriver.cuArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cyarray)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], sparseProperties)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26621, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 26621, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26620
 *     with nogil:
 *         err = cydriver.cuArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cyarray)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], sparseProperties)
*/
  }

  /* "cuda/bindings/driver.pyx":26622
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], sparseProperties)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 26622, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_GIVEREF((PyObject *)__pyx_v_sparseProperties);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_sparseProperties)) != (0)) __PYX_ERR(0, 26622, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26571
 *     return (_dict_CUresult[err], pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetSparseProperties(array):
 *     """ Returns the layout properties of a sparse CUDA array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayGetSparseProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parray);
  __Pyx_XDECREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26624
 *     return (_dict_CUresult[err], sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetSparseProperties(mipmap):
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_301cuMipmappedArrayGetSparseProperties(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_300cuMipmappedArrayGetSparseProperties, "cuMipmappedArrayGetSparseProperties(mipmap)\n\nReturns the layout properties of a sparse CUDA mipmapped array.\n\nReturns the sparse array layout properties in `sparseProperties` If the\nCUDA mipmapped array is not allocated with flag\n:py:obj:`~.CUDA_ARRAY3D_SPARSE` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nwill be returned.\n\nFor non-layered CUDA mipmapped arrays,\n:py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` returns the size\nof the mip tail region. The mip tail region includes all mip levels\nwhose width, height or depth is less than that of the tile. For layered\nCUDA mipmapped arrays, if\n:py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.flags` contains\n:py:obj:`~.CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL`, then\n:py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` specifies the size\nof the mip tail of all layers combined. Otherwise,\n:py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` specifies mip tail\nsize per layer. The returned value of\n:py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailFirstLevel` is valid\nonly if :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` is non-\nzero.\n\nParameters\n----------\nmipmap : :py:obj:`~.CUmipmappedArray`\n    CUDA mipmapped array to get the sparse properties of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nsparseProperties : :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES`\n    Pointer to :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES`\n\nSee Also\n--------\n:py:obj:`~.cuArrayGetSparseProperties`, :py:obj:`~.cuMemMapArrayAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_301cuMipmappedArrayGetSparseProperties = {"cuMipmappedArrayGetSparseProperties", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_301cuMipmappedArrayGetSparseProperties, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_300cuMipmappedArrayGetSparseProperties};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_301cuMipmappedArrayGetSparseProperties(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mipmap = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetSparseProperties (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mipmap_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26624, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26624, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMipmappedArrayGetSparseProperties", 0) < (0)) __PYX_ERR(0, 26624, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetSparseProperties", 1, 1, 1, i); __PYX_ERR(0, 26624, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26624, __pyx_L3_error)
    }
    __pyx_v_mipmap = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetSparseProperties", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 26624, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayGetSparseProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_300cuMipmappedArrayGetSparseProperties(__pyx_self, __pyx_v_mipmap);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_300cuMipmappedArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap) {
  CUmipmappedArray __pyx_v_cymipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES *__pyx_v_sparseProperties = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetSparseProperties", 0);

  /* "cuda/bindings/driver.pyx":26665
 *     """
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
*/
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26666
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:
 *         pmipmap = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmipmap = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26665
 *     """
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26667
 *     if mipmap is None:
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26668
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26667
 *     if mipmap is None:
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26670
 *         pmipmap = int(mipmap)
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))             # <<<<<<<<<<<<<<
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_mipmap};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26670, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26671
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26671, __pyx_L1_error)
  __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26672
 *         pmipmap = int(CUmipmappedArray(mipmap))
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cymipmap)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26672, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":26673
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cymipmap)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26674
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cymipmap)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetSparseProperties(((CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_v_sparseProperties->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cymipmap); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26674, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26673
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cymipmap)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26675
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cymipmap)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], sparseProperties)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26676
 *         err = cydriver.cuMipmappedArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cymipmap)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], sparseProperties)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26676, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 26676, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26675
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetSparseProperties(<cydriver.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._pvt_ptr, cymipmap)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], sparseProperties)
*/
  }

  /* "cuda/bindings/driver.pyx":26677
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], sparseProperties)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 26677, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_GIVEREF((PyObject *)__pyx_v_sparseProperties);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_sparseProperties)) != (0)) __PYX_ERR(0, 26677, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26624
 *     return (_dict_CUresult[err], sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetSparseProperties(mipmap):
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayGetSparseProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmipmap);
  __Pyx_XDECREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26679
 *     return (_dict_CUresult[err], sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetMemoryRequirements(array, device):
 *     """ Returns the memory requirements of a CUDA array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_303cuArrayGetMemoryRequirements(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_302cuArrayGetMemoryRequirements, "cuArrayGetMemoryRequirements(array, device)\n\nReturns the memory requirements of a CUDA array.\n\nReturns the memory requirements of a CUDA array in `memoryRequirements`\nIf the CUDA array is not allocated with flag\n:py:obj:`~.CUDA_ARRAY3D_DEFERRED_MAPPING`\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned.\n\nThe returned value in :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS.size`\nrepresents the total size of the CUDA array. The returned value in\n:py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS.alignment` represents the\nalignment necessary for mapping the CUDA array.\n\nParameters\n----------\narray : :py:obj:`~.CUarray`\n    CUDA array to get the memory requirements of\ndevice : :py:obj:`~.CUdevice`\n    Device to get the memory requirements for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nmemoryRequirements : :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS`\n    Pointer to :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS`\n\nSee Also\n--------\n:py:obj:`~.cuMipmappedArrayGetMemoryRequirements`, :py:obj:`~.cuMemMapArrayAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_303cuArrayGetMemoryRequirements = {"cuArrayGetMemoryRequirements", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_303cuArrayGetMemoryRequirements, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_302cuArrayGetMemoryRequirements};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_303cuArrayGetMemoryRequirements(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_array = 0;
  PyObject *__pyx_v_device = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuArrayGetMemoryRequirements (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_array_2,&__pyx_mstate_global->__pyx_n_u_device,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26679, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26679, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26679, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuArrayGetMemoryRequirements", 0) < (0)) __PYX_ERR(0, 26679, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuArrayGetMemoryRequirements", 1, 2, 2, i); __PYX_ERR(0, 26679, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26679, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26679, __pyx_L3_error)
    }
    __pyx_v_array = values[0];
    __pyx_v_device = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayGetMemoryRequirements", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 26679, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_302cuArrayGetMemoryRequirements(__pyx_self, __pyx_v_array, __pyx_v_device);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_302cuArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUarray __pyx_v_cyarray;
  PyObject *__pyx_v_parray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS *__pyx_v_memoryRequirements = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayGetMemoryRequirements", 0);

  /* "cuda/bindings/driver.pyx":26712
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26713
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26712
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26714
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26715
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26714
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26717
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUarray cyarray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26717, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26718
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cyarray
 *     if array is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 26718, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":26720
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUarray cyarray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_array == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26721
 *     cdef cydriver.CUarray cyarray
 *     if array is None:
 *         parray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_parray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26720
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUarray cyarray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26722
 *     if array is None:
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_array, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26723
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(CUarray(array))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_parray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":26722
 *     if array is None:
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26725
 *         parray = int(array)
 *     else:
 *         parray = int(CUarray(array))             # <<<<<<<<<<<<<<
 *     cyarray = <cydriver.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_array};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26725, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_parray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":26726
 *     else:
 *         parray = int(CUarray(array))
 *     cyarray = <cydriver.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     with nogil:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26726, __pyx_L1_error)
  __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":26727
 *         parray = int(CUarray(array))
 *     cyarray = <cydriver.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cyarray, cydevice)
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26727, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_memoryRequirements = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":26728
 *     cyarray = <cydriver.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cyarray, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26729
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     with nogil:
 *         err = cydriver.cuArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cyarray, cydevice)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayGetMemoryRequirements(((CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_v_memoryRequirements->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyarray, __pyx_v_cydevice); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26729, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":26728
 *     cyarray = <cydriver.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cyarray, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26730
 *     with nogil:
 *         err = cydriver.cuArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cyarray, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], memoryRequirements)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26731
 *         err = cydriver.cuArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cyarray, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], memoryRequirements)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 26731, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 26731, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26730
 *     with nogil:
 *         err = cydriver.cuArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cyarray, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], memoryRequirements)
*/
  }

  /* "cuda/bindings/driver.pyx":26732
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], memoryRequirements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 26732, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_memoryRequirements);
  __Pyx_GIVEREF((PyObject *)__pyx_v_memoryRequirements);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_memoryRequirements)) != (0)) __PYX_ERR(0, 26732, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26679
 *     return (_dict_CUresult[err], sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetMemoryRequirements(array, device):
 *     """ Returns the memory requirements of a CUDA array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF(__pyx_v_parray);
  __Pyx_XDECREF((PyObject *)__pyx_v_memoryRequirements);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26734
 *     return (_dict_CUresult[err], memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetMemoryRequirements(mipmap, device):
 *     """ Returns the memory requirements of a CUDA mipmapped array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_305cuMipmappedArrayGetMemoryRequirements(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_304cuMipmappedArrayGetMemoryRequirements, "cuMipmappedArrayGetMemoryRequirements(mipmap, device)\n\nReturns the memory requirements of a CUDA mipmapped array.\n\nReturns the memory requirements of a CUDA mipmapped array in\n`memoryRequirements` If the CUDA mipmapped array is not allocated with\nflag :py:obj:`~.CUDA_ARRAY3D_DEFERRED_MAPPING`\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned.\n\nThe returned value in :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS.size`\nrepresents the total size of the CUDA mipmapped array. The returned\nvalue in :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS.alignment`\nrepresents the alignment necessary for mapping the CUDA mipmapped\narray.\n\nParameters\n----------\nmipmap : :py:obj:`~.CUmipmappedArray`\n    CUDA mipmapped array to get the memory requirements of\ndevice : :py:obj:`~.CUdevice`\n    Device to get the memory requirements for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nmemoryRequirements : :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS`\n    Pointer to :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS`\n\nSee Also\n--------\n:py:obj:`~.cuArrayGetMemoryRequirements`, :py:obj:`~.cuMemMapArrayAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_305cuMipmappedArrayGetMemoryRequirements = {"cuMipmappedArrayGetMemoryRequirements", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_305cuMipmappedArrayGetMemoryRequirements, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_304cuMipmappedArrayGetMemoryRequirements};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_305cuMipmappedArrayGetMemoryRequirements(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mipmap = 0;
  PyObject *__pyx_v_device = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetMemoryRequirements (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mipmap_2,&__pyx_mstate_global->__pyx_n_u_device,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26734, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26734, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26734, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMipmappedArrayGetMemoryRequirements", 0) < (0)) __PYX_ERR(0, 26734, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetMemoryRequirements", 1, 2, 2, i); __PYX_ERR(0, 26734, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26734, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26734, __pyx_L3_error)
    }
    __pyx_v_mipmap = values[0];
    __pyx_v_device = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetMemoryRequirements", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 26734, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_304cuMipmappedArrayGetMemoryRequirements(__pyx_self, __pyx_v_mipmap, __pyx_v_device);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_304cuMipmappedArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUmipmappedArray __pyx_v_cymipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS *__pyx_v_memoryRequirements = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetMemoryRequirements", 0);

  /* "cuda/bindings/driver.pyx":26768
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26769
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26768
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26770
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26771
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26770
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26773
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUmipmappedArray cymipmap
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26773, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26774
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 26774, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":26776
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
*/
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26777
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:
 *         pmipmap = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmipmap = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26776
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26778
 *     if mipmap is None:
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26779
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":26778
 *     if mipmap is None:
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26781
 *         pmipmap = int(mipmap)
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))             # <<<<<<<<<<<<<<
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mipmap};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26781, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":26782
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     with nogil:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26782, __pyx_L1_error)
  __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":26783
 *         pmipmap = int(CUmipmappedArray(mipmap))
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cymipmap, cydevice)
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26783, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_memoryRequirements = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":26784
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cymipmap, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26785
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cymipmap, cydevice)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetMemoryRequirements(((CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_v_memoryRequirements->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cymipmap, __pyx_v_cydevice); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26785, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":26784
 *     cymipmap = <cydriver.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cymipmap, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26786
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cymipmap, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], memoryRequirements)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26787
 *         err = cydriver.cuMipmappedArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cymipmap, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], memoryRequirements)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 26787, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 26787, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26786
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetMemoryRequirements(<cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._pvt_ptr, cymipmap, cydevice)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], memoryRequirements)
*/
  }

  /* "cuda/bindings/driver.pyx":26788
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], memoryRequirements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 26788, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_memoryRequirements);
  __Pyx_GIVEREF((PyObject *)__pyx_v_memoryRequirements);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_memoryRequirements)) != (0)) __PYX_ERR(0, 26788, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26734
 *     return (_dict_CUresult[err], memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetMemoryRequirements(mipmap, device):
 *     """ Returns the memory requirements of a CUDA mipmapped array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF(__pyx_v_pmipmap);
  __Pyx_XDECREF((PyObject *)__pyx_v_memoryRequirements);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26790
 *     return (_dict_CUresult[err], memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetPlane(hArray, unsigned int planeIdx):
 *     """ Gets a CUDA array plane from a CUDA array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_307cuArrayGetPlane(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_306cuArrayGetPlane, "cuArrayGetPlane(hArray, unsigned int planeIdx)\n\nGets a CUDA array plane from a CUDA array.\n\nReturns in `pPlaneArray` a CUDA array that represents a single format\nplane of the CUDA array `hArray`.\n\nIf `planeIdx` is greater than the maximum number of planes in this\narray or if the array does not have a multi-planar format e.g:\n:py:obj:`~.CU_AD_FORMAT_NV12`, then\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\nNote that if the `hArray` has format :py:obj:`~.CU_AD_FORMAT_NV12`,\nthen passing in 0 for `planeIdx` returns a CUDA array of the same size\nas `hArray` but with one channel and\n:py:obj:`~.CU_AD_FORMAT_UNSIGNED_INT8` as its format. If 1 is passed\nfor `planeIdx`, then the returned CUDA array has half the height and\nwidth of `hArray` with two channels and\n:py:obj:`~.CU_AD_FORMAT_UNSIGNED_INT8` as its format.\n\nParameters\n----------\nhArray : :py:obj:`~.CUarray`\n    Multiplanar CUDA array\nplaneIdx : unsigned int\n    Plane index\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\npPlaneArray : :py:obj:`~.CUarray`\n    Returned CUDA array referenced by the `planeIdx`\n\nSee Also\n--------\n:py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaArrayGetPlane`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_307cuArrayGetPlane = {"cuArrayGetPlane", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_307cuArrayGetPlane, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_306cuArrayGetPlane};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_307cuArrayGetPlane(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hArray = 0;
  unsigned int __pyx_v_planeIdx;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuArrayGetPlane (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hArray_2,&__pyx_mstate_global->__pyx_n_u_planeIdx,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26790, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26790, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26790, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuArrayGetPlane", 0) < (0)) __PYX_ERR(0, 26790, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuArrayGetPlane", 1, 2, 2, i); __PYX_ERR(0, 26790, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26790, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26790, __pyx_L3_error)
    }
    __pyx_v_hArray = values[0];
    __pyx_v_planeIdx = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_planeIdx == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 26791, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayGetPlane", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 26790, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayGetPlane", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_306cuArrayGetPlane(__pyx_self, __pyx_v_hArray, __pyx_v_planeIdx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_306cuArrayGetPlane(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray, unsigned int __pyx_v_planeIdx) {
  CUarray __pyx_v_cyhArray;
  PyObject *__pyx_v_phArray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_pPlaneArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayGetPlane", 0);

  /* "cuda/bindings/driver.pyx":26829
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26830
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:
 *         phArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26829
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26831
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26832
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26831
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26834
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUarray pPlaneArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26834, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26835
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUarray pPlaneArray = CUarray()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26835, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26836
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUarray pPlaneArray = CUarray()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArrayGetPlane(<cydriver.CUarray*>pPlaneArray._pvt_ptr, cyhArray, planeIdx)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26836, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pPlaneArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":26837
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUarray pPlaneArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayGetPlane(<cydriver.CUarray*>pPlaneArray._pvt_ptr, cyhArray, planeIdx)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26838
 *     cdef CUarray pPlaneArray = CUarray()
 *     with nogil:
 *         err = cydriver.cuArrayGetPlane(<cydriver.CUarray*>pPlaneArray._pvt_ptr, cyhArray, planeIdx)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayGetPlane(((CUarray *)__pyx_v_pPlaneArray->_pvt_ptr), __pyx_v_cyhArray, __pyx_v_planeIdx); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26838, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26837
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUarray pPlaneArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayGetPlane(<cydriver.CUarray*>pPlaneArray._pvt_ptr, cyhArray, planeIdx)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26839
 *     with nogil:
 *         err = cydriver.cuArrayGetPlane(<cydriver.CUarray*>pPlaneArray._pvt_ptr, cyhArray, planeIdx)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pPlaneArray)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26840
 *         err = cydriver.cuArrayGetPlane(<cydriver.CUarray*>pPlaneArray._pvt_ptr, cyhArray, planeIdx)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pPlaneArray)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 26840, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 26840, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26839
 *     with nogil:
 *         err = cydriver.cuArrayGetPlane(<cydriver.CUarray*>pPlaneArray._pvt_ptr, cyhArray, planeIdx)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pPlaneArray)
*/
  }

  /* "cuda/bindings/driver.pyx":26841
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pPlaneArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 26841, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pPlaneArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pPlaneArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pPlaneArray)) != (0)) __PYX_ERR(0, 26841, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26790
 *     return (_dict_CUresult[err], memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetPlane(hArray, unsigned int planeIdx):
 *     """ Gets a CUDA array plane from a CUDA array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayGetPlane", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_pPlaneArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26843
 *     return (_dict_CUresult[err], pPlaneArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayDestroy(hArray):
 *     """ Destroys a CUDA array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_309cuArrayDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_308cuArrayDestroy, "cuArrayDestroy(hArray)\n\nDestroys a CUDA array.\n\nDestroys the CUDA array `hArray`.\n\nParameters\n----------\nhArray : :py:obj:`~.CUarray`\n    Array to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ARRAY_IS_MAPPED`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaFreeArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_309cuArrayDestroy = {"cuArrayDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_309cuArrayDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_308cuArrayDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_309cuArrayDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hArray = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuArrayDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hArray_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26843, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26843, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuArrayDestroy", 0) < (0)) __PYX_ERR(0, 26843, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuArrayDestroy", 1, 1, 1, i); __PYX_ERR(0, 26843, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26843, __pyx_L3_error)
    }
    __pyx_v_hArray = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 26843, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_308cuArrayDestroy(__pyx_self, __pyx_v_hArray);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_308cuArrayDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray) {
  CUarray __pyx_v_cyhArray;
  PyObject *__pyx_v_phArray = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayDestroy", 0);

  /* "cuda/bindings/driver.pyx":26864
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26865
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:
 *         phArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":26864
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26866
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":26867
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26866
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26869
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26869, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26870
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArrayDestroy(cyhArray)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26870, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":26871
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayDestroy(cyhArray)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26872
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     with nogil:
 *         err = cydriver.cuArrayDestroy(cyhArray)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayDestroy(__pyx_v_cyhArray); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26872, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":26871
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayDestroy(cyhArray)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26873
 *     with nogil:
 *         err = cydriver.cuArrayDestroy(cyhArray)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 26873, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26843
 *     return (_dict_CUresult[err], pPlaneArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayDestroy(hArray):
 *     """ Destroys a CUDA array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuArrayDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26875
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DCreate(pAllocateArray : Optional[CUDA_ARRAY3D_DESCRIPTOR]):
 *     """ Creates a 3D CUDA array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_311cuArray3DCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_310cuArray3DCreate, "cuArray3DCreate(CUDA_ARRAY3D_DESCRIPTOR pAllocateArray: Optional[CUDA_ARRAY3D_DESCRIPTOR])\n\nCreates a 3D CUDA array.\n\nCreates a CUDA array according to the\n:py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR` structure `pAllocateArray` and\nreturns a handle to the new CUDA array in `*pHandle`. The\n:py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- `Width`, `Height`, and `Depth` are the width, height, and depth of\n  the CUDA array (in elements); the following types of CUDA arrays can\n  be allocated:\n\n  - A 1D array is allocated if `Height` and `Depth` extents are both\n    zero.\n\n  - A 2D array is allocated if only `Depth` extent is zero.\n\n  - A 3D array is allocated if all three extents are non-zero.\n\n  - A 1D layered CUDA array is allocated if only `Height` is zero and\n    the :py:obj:`~.CUDA_ARRAY3D_LAYERED` flag is set. Each layer is a\n    1D array. The number of layers is determined by the depth extent.\n\n  - A 2D layered CUDA array is allocated if all three extents are non-\n    zero and the :py:obj:`~.CUDA_ARRAY3D_LAYERED` flag is set. Each\n    layer is a 2D array. The number of layers is determined by the\n    depth extent.\n\n  - A cubemap CUDA array is allocated if all three extents are non-zero\n    and the :py:obj:`~.CUDA_ARRAY3D_CUBEMAP` flag is set. `Width` must\n    be equal to `Height`, and `Depth` must be six. A cubemap is a\n    special type of 2D layered CUDA array, where the six layers\n    represent the six faces of a cube. The order of the six layers in\n    memory is the same as that listed in\n    :py:obj:`~.CUarray_cubemap_face`.\n\n  - A cubemap layered CUDA array is allocated if all three extents are\n    non-zero, and both, :py:obj:`~.CUDA_ARRAY3D_CUBEMAP` and\n    :py:obj:`~.CUDA_ARRAY3D_LAYERED` flags are set. `Width` must be\n    equal to `Height`, and `Depth` must be a multiple of six. A cubemap\n    layered CUDA array is a special type of 2D layered CUDA a""rray that\n    consists of a collection of cubemaps. The first six layers\n    represent the first cubemap, the next six layers form the second\n    cubemap, and so on.\n\n- :py:obj:`~.Format` specifies the format of the elements;\n  :py:obj:`~.CUarray_format` is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- `NumChannels` specifies the number of packed components per CUDA\n  array element; it may be 1, 2, or 4;\n\n- :py:obj:`~.Flags` may be set to\n\n  - :py:obj:`~.CUDA_ARRAY3D_LAYERED` to enable creation of layered CUDA\n    arrays. If this flag is set, `Depth` specifies the number of\n    layers, not the depth of a 3D array.\n\n  - :py:obj:`~.CUDA_ARRAY3D_SURFACE_LDST` to enable surface references\n    to be bound to the CUDA array. If this flag is not set,\n    :py:obj:`~.cuSurfRefSetArray` will fail when attempting to bind the\n    CUDA array to a surface reference.\n\n  - :py:obj:`~.CUDA_ARRAY3D_CUBEMAP` to enable creation of cubemaps. If\n    this flag is set, `Width` must be equal to `Height`, and `Depth`\n    must be six. If the :py:obj:`~.CUDA_ARRAY3D_LAYERED` flag is also\n    set, then `Depth` must be a multiple of six.\n\n  - :py:obj:`~.CUDA_ARRAY3D_TEXTURE_GATHER` to indicate that the CUDA\n    array will be used for texture gather. Texture gather can only be\n    performed on 2D CUDA arrays.\n\n`Width`, `Height` and `Depth` must meet certain size requirements as\nlisted in the following table. All values are specified in elements.\nNote that for brevity's sake, the full name of the device attribute is\nnot specified. For ex., TEXTURE1D_WIDTH refers to the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH`.\n\nNote that 2D CUDA arrays have different size requirements if the\n:py:obj:`~.CUDA_ARRAY3D_TEXTURE_GATHER` flag is set. `Width` and\n`Height` must not be greater than\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH` and\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_""HEIGHT`\nrespectively, in that case.\n\n**View CUDA Toolkit Documentation for a table example**\n\nHere are examples of CUDA array descriptions:\n\nDescription for a CUDA array of 2048 floats:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nDescription for a 64 x 64 CUDA array of floats:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nDescription for a `width` x `height` x `depth` CUDA array of 64-bit,\n4x16-bit float16's:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nParameters\n----------\npAllocateArray : :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR`\n    3D array descriptor\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npHandle : :py:obj:`~.CUarray`\n    Returned array\n\nSee Also\n--------\n:py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`"", :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMalloc3DArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_311cuArray3DCreate = {"cuArray3DCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_311cuArray3DCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_310cuArray3DCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_311cuArray3DCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pAllocateArray = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuArray3DCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pAllocateArray,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 26875, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26875, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuArray3DCreate", 0) < (0)) __PYX_ERR(0, 26875, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuArray3DCreate", 1, 1, 1, i); __PYX_ERR(0, 26875, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26875, __pyx_L3_error)
    }
    __pyx_v_pAllocateArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArray3DCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 26875, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuArray3DCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pAllocateArray), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR, 1, "pAllocateArray", 0))) __PYX_ERR(0, 26876, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_310cuArray3DCreate(__pyx_self, __pyx_v_pAllocateArray);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_310cuArray3DCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pAllocateArray) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_pHandle = 0;
  CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_cypAllocateArray_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArray3DCreate", 0);

  /* "cuda/bindings/driver.pyx":26999
 *     :py:obj:`~.cuArray3DGetDescriptor`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMalloc3DArray`
 *     """
 *     cdef CUarray pHandle = CUarray()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26999, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":27000
 *     """
 *     cdef CUarray pHandle = CUarray()
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArray3DCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_pAllocateArray) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_pAllocateArray->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cypAllocateArray_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":27001
 *     cdef CUarray pHandle = CUarray()
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArray3DCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27002
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL
 *     with nogil:
 *         err = cydriver.cuArray3DCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuArray3DCreate(((CUarray *)__pyx_v_pHandle->_pvt_ptr), __pyx_v_cypAllocateArray_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27002, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27001
 *     cdef CUarray pHandle = CUarray()
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypAllocateArray_ptr = pAllocateArray._pvt_ptr if pAllocateArray is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArray3DCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":27003
 *     with nogil:
 *         err = cydriver.cuArray3DCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":27004
 *         err = cydriver.cuArray3DCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pHandle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27004, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 27004, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27003
 *     with nogil:
 *         err = cydriver.cuArray3DCreate(<cydriver.CUarray*>pHandle._pvt_ptr, cypAllocateArray_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  }

  /* "cuda/bindings/driver.pyx":27005
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 27005, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 27005, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26875
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DCreate(pAllocateArray : Optional[CUDA_ARRAY3D_DESCRIPTOR]):
 *     """ Creates a 3D CUDA array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuArray3DCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27007
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DGetDescriptor(hArray):
 *     """ Get a 3D CUDA array descriptor.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_313cuArray3DGetDescriptor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_312cuArray3DGetDescriptor, "cuArray3DGetDescriptor(hArray)\n\nGet a 3D CUDA array descriptor.\n\nReturns in `*pArrayDescriptor` a descriptor containing information on\nthe format and dimensions of the CUDA array `hArray`. It is useful for\nsubroutines that have been passed a CUDA array, but need to know the\nCUDA array parameters for validation or other purposes.\n\nThis function may be called on 1D and 2D arrays, in which case the\n`Height` and/or `Depth` members of the descriptor struct will be set to\n0.\n\nParameters\n----------\nhArray : :py:obj:`~.CUarray`\n    3D array to get descriptor of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\npArrayDescriptor : :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR`\n    Returned 3D array descriptor\n\nSee Also\n--------\n:py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArrayDestroy`, :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemAllocPitch`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DAsync`, :py:obj:`~.cuMemcpy2DUnaligned`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuMemcpy3DAsync`, :py:obj:`~.cuMemcpyAtoA`, :py:obj:`~.cuMemcpyAtoD`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpyDtoA`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:""obj:`~.cuMemsetD32`, :py:obj:`~.cudaArrayGetInfo`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_313cuArray3DGetDescriptor = {"cuArray3DGetDescriptor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_313cuArray3DGetDescriptor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_312cuArray3DGetDescriptor};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_313cuArray3DGetDescriptor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hArray = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuArray3DGetDescriptor (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hArray_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27007, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27007, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuArray3DGetDescriptor", 0) < (0)) __PYX_ERR(0, 27007, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuArray3DGetDescriptor", 1, 1, 1, i); __PYX_ERR(0, 27007, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27007, __pyx_L3_error)
    }
    __pyx_v_hArray = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArray3DGetDescriptor", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 27007, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuArray3DGetDescriptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_312cuArray3DGetDescriptor(__pyx_self, __pyx_v_hArray);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_312cuArray3DGetDescriptor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray) {
  CUarray __pyx_v_cyhArray;
  PyObject *__pyx_v_phArray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pArrayDescriptor = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArray3DGetDescriptor", 0);

  /* "cuda/bindings/driver.pyx":27037
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27038
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:
 *         phArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27037
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27039
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27040
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27039
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27042
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27042, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27043
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27043, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27044
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArray3DGetDescriptor(<cydriver.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27044, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pArrayDescriptor = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":27045
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArray3DGetDescriptor(<cydriver.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27046
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 *     with nogil:
 *         err = cydriver.cuArray3DGetDescriptor(<cydriver.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuArray3DGetDescriptor(((CUDA_ARRAY3D_DESCRIPTOR *)__pyx_v_pArrayDescriptor->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyhArray); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27046, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27045
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArray3DGetDescriptor(<cydriver.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27047
 *     with nogil:
 *         err = cydriver.cuArray3DGetDescriptor(<cydriver.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArrayDescriptor)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27048
 *         err = cydriver.cuArray3DGetDescriptor(<cydriver.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pArrayDescriptor)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27048, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 27048, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27047
 *     with nogil:
 *         err = cydriver.cuArray3DGetDescriptor(<cydriver.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._pvt_ptr, cyhArray)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArrayDescriptor)
*/
  }

  /* "cuda/bindings/driver.pyx":27049
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArrayDescriptor)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 27049, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArrayDescriptor);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArrayDescriptor);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pArrayDescriptor)) != (0)) __PYX_ERR(0, 27049, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27007
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DGetDescriptor(hArray):
 *     """ Get a 3D CUDA array descriptor.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuArray3DGetDescriptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_pArrayDescriptor);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27051
 *     return (_dict_CUresult[err], pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayCreate(pMipmappedArrayDesc : Optional[CUDA_ARRAY3D_DESCRIPTOR], unsigned int numMipmapLevels):
 *     """ Creates a CUDA mipmapped array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_315cuMipmappedArrayCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_314cuMipmappedArrayCreate, "cuMipmappedArrayCreate(CUDA_ARRAY3D_DESCRIPTOR pMipmappedArrayDesc: Optional[CUDA_ARRAY3D_DESCRIPTOR], unsigned int numMipmapLevels)\n\nCreates a CUDA mipmapped array.\n\nCreates a CUDA mipmapped array according to the\n:py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR` structure `pMipmappedArrayDesc` and\nreturns a handle to the new CUDA mipmapped array in `*pHandle`.\n`numMipmapLevels` specifies the number of mipmap levels to be\nallocated. This value is clamped to the range [1, 1 +\nfloor(log2(max(width, height, depth)))].\n\nThe :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- `Width`, `Height`, and `Depth` are the width, height, and depth of\n  the CUDA array (in elements); the following types of CUDA arrays can\n  be allocated:\n\n  - A 1D mipmapped array is allocated if `Height` and `Depth` extents\n    are both zero.\n\n  - A 2D mipmapped array is allocated if only `Depth` extent is zero.\n\n  - A 3D mipmapped array is allocated if all three extents are non-\n    zero.\n\n  - A 1D layered CUDA mipmapped array is allocated if only `Height` is\n    zero and the :py:obj:`~.CUDA_ARRAY3D_LAYERED` flag is set. Each\n    layer is a 1D array. The number of layers is determined by the\n    depth extent.\n\n  - A 2D layered CUDA mipmapped array is allocated if all three extents\n    are non-zero and the :py:obj:`~.CUDA_ARRAY3D_LAYERED` flag is set.\n    Each layer is a 2D array. The number of layers is determined by the\n    depth extent.\n\n  - A cubemap CUDA mipmapped array is allocated if all three extents\n    are non-zero and the :py:obj:`~.CUDA_ARRAY3D_CUBEMAP` flag is set.\n    `Width` must be equal to `Height`, and `Depth` must be six. A\n    cubemap is a special type of 2D layered CUDA array, where the six\n    layers represent the six faces of a cube. The order of the six\n    layers in memory is the same as that listed in\n    :py:obj:`~.CUarray_cubemap_face`.\n\n  - A cubemap layered CUDA mipm""apped array is allocated if all three\n    extents are non-zero, and both, :py:obj:`~.CUDA_ARRAY3D_CUBEMAP`\n    and :py:obj:`~.CUDA_ARRAY3D_LAYERED` flags are set. `Width` must be\n    equal to `Height`, and `Depth` must be a multiple of six. A cubemap\n    layered CUDA array is a special type of 2D layered CUDA array that\n    consists of a collection of cubemaps. The first six layers\n    represent the first cubemap, the next six layers form the second\n    cubemap, and so on.\n\n- :py:obj:`~.Format` specifies the format of the elements;\n  :py:obj:`~.CUarray_format` is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- `NumChannels` specifies the number of packed components per CUDA\n  array element; it may be 1, 2, or 4;\n\n- :py:obj:`~.Flags` may be set to\n\n  - :py:obj:`~.CUDA_ARRAY3D_LAYERED` to enable creation of layered CUDA\n    mipmapped arrays. If this flag is set, `Depth` specifies the number\n    of layers, not the depth of a 3D array.\n\n  - :py:obj:`~.CUDA_ARRAY3D_SURFACE_LDST` to enable surface references\n    to be bound to individual mipmap levels of the CUDA mipmapped\n    array. If this flag is not set, :py:obj:`~.cuSurfRefSetArray` will\n    fail when attempting to bind a mipmap level of the CUDA mipmapped\n    array to a surface reference.\n\n- :py:obj:`~.CUDA_ARRAY3D_CUBEMAP` to enable creation of mipmapped\ncubemaps. If this flag is set, `Width` must be equal to `Height`, and\n`Depth` must be six. If the :py:obj:`~.CUDA_ARRAY3D_LAYERED` flag is\nalso set, then `Depth` must be a multiple of six.\n\n  - :py:obj:`~.CUDA_ARRAY3D_TEXTURE_GATHER` to indicate that the CUDA\n    mipmapped array will be used for texture gather. Texture gather can\n    only be performed on 2D CUDA mipmapped arrays.\n\n`Width`, `Height` and `Depth` must meet certain size requirements as\nlisted in the following table. All values are specified in elements.\nNote that for brevity's sake, the full name of the device attribute is\nnot specif""ied. For ex., TEXTURE1D_MIPMAPPED_WIDTH refers to the device\nattribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH`.\n\n**View CUDA Toolkit Documentation for a table example**\n\nParameters\n----------\npMipmappedArrayDesc : :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR`\n    mipmapped array descriptor\nnumMipmapLevels : unsigned int\n    Number of mipmap levels\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npHandle : :py:obj:`~.CUmipmappedArray`\n    Returned mipmapped array\n\nSee Also\n--------\n:py:obj:`~.cuMipmappedArrayDestroy`, :py:obj:`~.cuMipmappedArrayGetLevel`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaMallocMipmappedArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_315cuMipmappedArrayCreate = {"cuMipmappedArrayCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_315cuMipmappedArrayCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_314cuMipmappedArrayCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_315cuMipmappedArrayCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pMipmappedArrayDesc = 0;
  unsigned int __pyx_v_numMipmapLevels;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMipmappedArrayCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pMipmappedArrayDesc,&__pyx_mstate_global->__pyx_n_u_numMipmapLevels,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27051, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27051, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27051, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMipmappedArrayCreate", 0) < (0)) __PYX_ERR(0, 27051, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayCreate", 1, 2, 2, i); __PYX_ERR(0, 27051, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27051, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27051, __pyx_L3_error)
    }
    __pyx_v_pMipmappedArrayDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *)values[0]);
    __pyx_v_numMipmapLevels = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numMipmapLevels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 27052, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayCreate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27051, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pMipmappedArrayDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR, 1, "pMipmappedArrayDesc", 0))) __PYX_ERR(0, 27052, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_314cuMipmappedArrayCreate(__pyx_self, __pyx_v_pMipmappedArrayDesc, __pyx_v_numMipmapLevels);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_314cuMipmappedArrayCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pMipmappedArrayDesc, unsigned int __pyx_v_numMipmapLevels) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_pHandle = 0;
  CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_cypMipmappedArrayDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayCreate", 0);

  /* "cuda/bindings/driver.pyx":27163
 *     :py:obj:`~.cuMipmappedArrayDestroy`, :py:obj:`~.cuMipmappedArrayGetLevel`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaMallocMipmappedArray`
 *     """
 *     cdef CUmipmappedArray pHandle = CUmipmappedArray()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypMipmappedArrayDesc_ptr = pMipmappedArrayDesc._pvt_ptr if pMipmappedArrayDesc is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27163, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":27164
 *     """
 *     cdef CUmipmappedArray pHandle = CUmipmappedArray()
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypMipmappedArrayDesc_ptr = pMipmappedArrayDesc._pvt_ptr if pMipmappedArrayDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayCreate(<cydriver.CUmipmappedArray*>pHandle._pvt_ptr, cypMipmappedArrayDesc_ptr, numMipmapLevels)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_pMipmappedArrayDesc) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_pMipmappedArrayDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cypMipmappedArrayDesc_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":27165
 *     cdef CUmipmappedArray pHandle = CUmipmappedArray()
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypMipmappedArrayDesc_ptr = pMipmappedArrayDesc._pvt_ptr if pMipmappedArrayDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayCreate(<cydriver.CUmipmappedArray*>pHandle._pvt_ptr, cypMipmappedArrayDesc_ptr, numMipmapLevels)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27166
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypMipmappedArrayDesc_ptr = pMipmappedArrayDesc._pvt_ptr if pMipmappedArrayDesc is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayCreate(<cydriver.CUmipmappedArray*>pHandle._pvt_ptr, cypMipmappedArrayDesc_ptr, numMipmapLevels)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayCreate(((CUmipmappedArray *)__pyx_v_pHandle->_pvt_ptr), __pyx_v_cypMipmappedArrayDesc_ptr, __pyx_v_numMipmapLevels); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27166, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27165
 *     cdef CUmipmappedArray pHandle = CUmipmappedArray()
 *     cdef cydriver.CUDA_ARRAY3D_DESCRIPTOR* cypMipmappedArrayDesc_ptr = pMipmappedArrayDesc._pvt_ptr if pMipmappedArrayDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayCreate(<cydriver.CUmipmappedArray*>pHandle._pvt_ptr, cypMipmappedArrayDesc_ptr, numMipmapLevels)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":27167
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayCreate(<cydriver.CUmipmappedArray*>pHandle._pvt_ptr, cypMipmappedArrayDesc_ptr, numMipmapLevels)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":27168
 *         err = cydriver.cuMipmappedArrayCreate(<cydriver.CUmipmappedArray*>pHandle._pvt_ptr, cypMipmappedArrayDesc_ptr, numMipmapLevels)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pHandle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27168, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 27168, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27167
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayCreate(<cydriver.CUmipmappedArray*>pHandle._pvt_ptr, cypMipmappedArrayDesc_ptr, numMipmapLevels)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)
*/
  }

  /* "cuda/bindings/driver.pyx":27169
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 27169, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 27169, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27051
 *     return (_dict_CUresult[err], pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayCreate(pMipmappedArrayDesc : Optional[CUDA_ARRAY3D_DESCRIPTOR], unsigned int numMipmapLevels):
 *     """ Creates a CUDA mipmapped array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27171
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetLevel(hMipmappedArray, unsigned int level):
 *     """ Gets a mipmap level of a CUDA mipmapped array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_317cuMipmappedArrayGetLevel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_316cuMipmappedArrayGetLevel, "cuMipmappedArrayGetLevel(hMipmappedArray, unsigned int level)\n\nGets a mipmap level of a CUDA mipmapped array.\n\nReturns in `*pLevelArray` a CUDA array that represents a single mipmap\nlevel of the CUDA mipmapped array `hMipmappedArray`.\n\nIf `level` is greater than the maximum number of levels in this\nmipmapped array, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\nParameters\n----------\nhMipmappedArray : :py:obj:`~.CUmipmappedArray`\n    CUDA mipmapped array\nlevel : unsigned int\n    Mipmap level\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\npLevelArray : :py:obj:`~.CUarray`\n    Returned mipmap level CUDA array\n\nSee Also\n--------\n:py:obj:`~.cuMipmappedArrayCreate`, :py:obj:`~.cuMipmappedArrayDestroy`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaGetMipmappedArrayLevel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_317cuMipmappedArrayGetLevel = {"cuMipmappedArrayGetLevel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_317cuMipmappedArrayGetLevel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_316cuMipmappedArrayGetLevel};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_317cuMipmappedArrayGetLevel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hMipmappedArray = 0;
  unsigned int __pyx_v_level;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetLevel (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hMipmappedArray_2,&__pyx_mstate_global->__pyx_n_u_level_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27171, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27171, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27171, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMipmappedArrayGetLevel", 0) < (0)) __PYX_ERR(0, 27171, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetLevel", 1, 2, 2, i); __PYX_ERR(0, 27171, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27171, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27171, __pyx_L3_error)
    }
    __pyx_v_hMipmappedArray = values[0];
    __pyx_v_level = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 27172, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetLevel", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27171, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayGetLevel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_316cuMipmappedArrayGetLevel(__pyx_self, __pyx_v_hMipmappedArray, __pyx_v_level);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_316cuMipmappedArrayGetLevel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hMipmappedArray, unsigned int __pyx_v_level) {
  CUmipmappedArray __pyx_v_cyhMipmappedArray;
  PyObject *__pyx_v_phMipmappedArray = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_pLevelArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetLevel", 0);

  /* "cuda/bindings/driver.pyx":27200
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
  __pyx_t_1 = (__pyx_v_hMipmappedArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27201
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phMipmappedArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27200
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27202
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hMipmappedArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27203
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27202
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27205
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef CUarray pLevelArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hMipmappedArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27205, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27206
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     cdef CUarray pLevelArray = CUarray()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27206, __pyx_L1_error)
  __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27207
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef CUarray pLevelArray = CUarray()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetLevel(<cydriver.CUarray*>pLevelArray._pvt_ptr, cyhMipmappedArray, level)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27207, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pLevelArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":27208
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef CUarray pLevelArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayGetLevel(<cydriver.CUarray*>pLevelArray._pvt_ptr, cyhMipmappedArray, level)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27209
 *     cdef CUarray pLevelArray = CUarray()
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetLevel(<cydriver.CUarray*>pLevelArray._pvt_ptr, cyhMipmappedArray, level)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetLevel(((CUarray *)__pyx_v_pLevelArray->_pvt_ptr), __pyx_v_cyhMipmappedArray, __pyx_v_level); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27209, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27208
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef CUarray pLevelArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayGetLevel(<cydriver.CUarray*>pLevelArray._pvt_ptr, cyhMipmappedArray, level)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27210
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetLevel(<cydriver.CUarray*>pLevelArray._pvt_ptr, cyhMipmappedArray, level)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pLevelArray)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27211
 *         err = cydriver.cuMipmappedArrayGetLevel(<cydriver.CUarray*>pLevelArray._pvt_ptr, cyhMipmappedArray, level)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pLevelArray)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27211, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 27211, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27210
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayGetLevel(<cydriver.CUarray*>pLevelArray._pvt_ptr, cyhMipmappedArray, level)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pLevelArray)
*/
  }

  /* "cuda/bindings/driver.pyx":27212
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pLevelArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 27212, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pLevelArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pLevelArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pLevelArray)) != (0)) __PYX_ERR(0, 27212, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27171
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetLevel(hMipmappedArray, unsigned int level):
 *     """ Gets a mipmap level of a CUDA mipmapped array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayGetLevel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phMipmappedArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_pLevelArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27214
 *     return (_dict_CUresult[err], pLevelArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayDestroy(hMipmappedArray):
 *     """ Destroys a CUDA mipmapped array.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_319cuMipmappedArrayDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_318cuMipmappedArrayDestroy, "cuMipmappedArrayDestroy(hMipmappedArray)\n\nDestroys a CUDA mipmapped array.\n\nDestroys the CUDA mipmapped array `hMipmappedArray`.\n\nParameters\n----------\nhMipmappedArray : :py:obj:`~.CUmipmappedArray`\n    Mipmapped array to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ARRAY_IS_MAPPED`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\n\nSee Also\n--------\n:py:obj:`~.cuMipmappedArrayCreate`, :py:obj:`~.cuMipmappedArrayGetLevel`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaFreeMipmappedArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_319cuMipmappedArrayDestroy = {"cuMipmappedArrayDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_319cuMipmappedArrayDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_318cuMipmappedArrayDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_319cuMipmappedArrayDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hMipmappedArray = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMipmappedArrayDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hMipmappedArray_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27214, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27214, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMipmappedArrayDestroy", 0) < (0)) __PYX_ERR(0, 27214, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayDestroy", 1, 1, 1, i); __PYX_ERR(0, 27214, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27214, __pyx_L3_error)
    }
    __pyx_v_hMipmappedArray = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 27214, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_318cuMipmappedArrayDestroy(__pyx_self, __pyx_v_hMipmappedArray);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_318cuMipmappedArrayDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hMipmappedArray) {
  CUmipmappedArray __pyx_v_cyhMipmappedArray;
  PyObject *__pyx_v_phMipmappedArray = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayDestroy", 0);

  /* "cuda/bindings/driver.pyx":27235
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
  __pyx_t_1 = (__pyx_v_hMipmappedArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27236
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phMipmappedArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27235
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27237
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hMipmappedArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27238
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27237
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27240
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hMipmappedArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27240, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27241
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27241, __pyx_L1_error)
  __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27242
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27243
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayDestroy(__pyx_v_cyhMipmappedArray); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27243, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27242
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27244
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 27244, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27214
 *     return (_dict_CUresult[err], pLevelArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayDestroy(hMipmappedArray):
 *     """ Destroys a CUDA mipmapped array.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMipmappedArrayDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phMipmappedArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27246
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetHandleForAddressRange(dptr, size_t size, handleType not None : CUmemRangeHandleType, unsigned long long flags):
 *     """ Retrieve handle for an address range.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_321cuMemGetHandleForAddressRange(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_320cuMemGetHandleForAddressRange, "cuMemGetHandleForAddressRange(dptr, size_t size, handleType: CUmemRangeHandleType, unsigned long long flags)\n\nRetrieve handle for an address range.\n\nGet a handle of the specified type to an address range. The address\nrange must have been obtained by a prior call to either\n:py:obj:`~.cuMemAlloc` or :py:obj:`~.cuMemAddressReserve`. If the\naddress range was obtained via :py:obj:`~.cuMemAddressReserve`, it must\nalso be fully mapped via :py:obj:`~.cuMemMap`. The address range must\nhave been obtained by a prior call to either :py:obj:`~.cuMemAllocHost`\nor :py:obj:`~.cuMemHostAlloc` on Tegra.\n\nUsers must ensure the `dptr` and `size` are aligned to the host page\nsize.\n\nWhen requesting\nCUmemRangeHandleType::CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, users are\nexpected to query for dma_buf support for the platform by using\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED` device attribute\nbefore calling this API. The `handle` will be interpreted as a pointer\nto an integer to store the dma_buf file descriptor. Users must ensure\nthe entire address range is backed and mapped when the address range is\nallocated by :py:obj:`~.cuMemAddressReserve`. All the physical\nallocations backing the address range must be resident on the same\ndevice and have identical allocation properties. Users are also\nexpected to retrieve a new handle every time the underlying physical\nallocation(s) corresponding to a previously queried VA range are\nchanged.\n\nFor CUmemRangeHandleType::CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, users\nmay set flags to\n:py:obj:`~.CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE`. Which when set\non a supported platform, will give a DMA_BUF handle mapped via PCIE\nBAR1 or will return an error otherwise.\n\nParameters\n----------\ndptr : :py:obj:`~.CUdeviceptr`\n    Pointer to a valid CUDA device allocation. Must be aligned to host\n    page size.\nsize : size_t\n    Length of the address range. Must be aligned to host page size.\nhandleType : :py:obj:`~.CUmemRang""eHandleType`\n    Type of handle requested (defines type and size of the `handle`\n    output parameter)\nflags : unsigned long long\n    When requesting\n    CUmemRangeHandleType::CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD the value\n    could be :py:obj:`~.CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE`,\n    otherwise 0.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nhandle : Any\n    Pointer to the location where the returned handle will be stored.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_321cuMemGetHandleForAddressRange = {"cuMemGetHandleForAddressRange", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_321cuMemGetHandleForAddressRange, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_320cuMemGetHandleForAddressRange};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_321cuMemGetHandleForAddressRange(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptr = 0;
  size_t __pyx_v_size;
  PyObject *__pyx_v_handleType = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemGetHandleForAddressRange (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptr_2,&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_handleType,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27246, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27246, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27246, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27246, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27246, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemGetHandleForAddressRange", 0) < (0)) __PYX_ERR(0, 27246, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemGetHandleForAddressRange", 1, 4, 4, i); __PYX_ERR(0, 27246, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27246, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27246, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27246, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27246, __pyx_L3_error)
    }
    __pyx_v_dptr = values[0];
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27247, __pyx_L3_error)
    __pyx_v_handleType = values[2];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[3]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27247, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetHandleForAddressRange", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 27246, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetHandleForAddressRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_handleType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "handleType"); __PYX_ERR(0, 27247, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_320cuMemGetHandleForAddressRange(__pyx_self, __pyx_v_dptr, __pyx_v_size, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_320cuMemGetHandleForAddressRange(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr, size_t __pyx_v_size, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  int __pyx_v_handle;
  void *__pyx_v_cyhandle_ptr;
  CUmemRangeHandleType __pyx_v_cyhandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUmemRangeHandleType __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemGetHandleForAddressRange", 0);

  /* "cuda/bindings/driver.pyx":27305
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27306
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27305
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27307
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27308
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27307
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27310
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef int handle = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27310, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27311
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef int handle = 0
 *     cdef void* cyhandle_ptr = <void*>&handle
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27311, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27312
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef int handle = 0             # <<<<<<<<<<<<<<
 *     cdef void* cyhandle_ptr = <void*>&handle
 *     cdef cydriver.CUmemRangeHandleType cyhandleType = handleType.value
*/
  __pyx_v_handle = 0;

  /* "cuda/bindings/driver.pyx":27313
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef int handle = 0
 *     cdef void* cyhandle_ptr = <void*>&handle             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemRangeHandleType cyhandleType = handleType.value
 *     with nogil:
*/
  __pyx_v_cyhandle_ptr = ((void *)(&__pyx_v_handle));

  /* "cuda/bindings/driver.pyx":27314
 *     cdef int handle = 0
 *     cdef void* cyhandle_ptr = <void*>&handle
 *     cdef cydriver.CUmemRangeHandleType cyhandleType = handleType.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemGetHandleForAddressRange(cyhandle_ptr, cydptr, size, cyhandleType, flags)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUmemRangeHandleType_enum)__Pyx_PyLong_As_enum__CUmemRangeHandleType_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 27314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyhandleType = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":27315
 *     cdef void* cyhandle_ptr = <void*>&handle
 *     cdef cydriver.CUmemRangeHandleType cyhandleType = handleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetHandleForAddressRange(cyhandle_ptr, cydptr, size, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27316
 *     cdef cydriver.CUmemRangeHandleType cyhandleType = handleType.value
 *     with nogil:
 *         err = cydriver.cuMemGetHandleForAddressRange(cyhandle_ptr, cydptr, size, cyhandleType, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetHandleForAddressRange(__pyx_v_cyhandle_ptr, __pyx_v_cydptr, __pyx_v_size, __pyx_v_cyhandleType, __pyx_v_flags); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27316, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":27315
 *     cdef void* cyhandle_ptr = <void*>&handle
 *     cdef cydriver.CUmemRangeHandleType cyhandleType = handleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetHandleForAddressRange(cyhandle_ptr, cydptr, size, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27317
 *     with nogil:
 *         err = cydriver.cuMemGetHandleForAddressRange(cyhandle_ptr, cydptr, size, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27318
 *         err = cydriver.cuMemGetHandleForAddressRange(cyhandle_ptr, cydptr, size, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], handle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 27318, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 27318, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27317
 *     with nogil:
 *         err = cydriver.cuMemGetHandleForAddressRange(cyhandle_ptr, cydptr, size, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)
*/
  }

  /* "cuda/bindings/driver.pyx":27319
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 27319, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 27319, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27246
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetHandleForAddressRange(dptr, size_t size, handleType not None : CUmemRangeHandleType, unsigned long long flags):
 *     """ Retrieve handle for an address range.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetHandleForAddressRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27321
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemBatchDecompressAsync(paramsArray : Optional[CUmemDecompressParams], size_t count, unsigned int flags, stream):
 *     """ Submit a batch of `count` independent decompression operations.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_323cuMemBatchDecompressAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_322cuMemBatchDecompressAsync, "cuMemBatchDecompressAsync(CUmemDecompressParams paramsArray: Optional[CUmemDecompressParams], size_t count, unsigned int flags, stream)\n\nSubmit a batch of `count` independent decompression operations.\n\nEach of the `count` decompression operations is described by a single\nentry in the `paramsArray` array. Once the batch has been submitted,\nthe function will return, and decompression will happen asynchronously\nw.r.t. the CPU. To the work completion tracking mechanisms in the CUDA\ndriver, the batch will be considered a single unit of work and\nprocessed according to stream semantics, i.e., it is not possible to\nquery the completion of individual decompression operations within a\nbatch.\n\nThe memory pointed to by each of :py:obj:`~.CUmemDecompressParams.src`,\n:py:obj:`~.CUmemDecompressParams.dst`, and\n:py:obj:`~.CUmemDecompressParams.dstActBytes`, must be capable of usage\nwith the hardware decompress feature. That is, for each of said\npointers, the pointer attribute\n:py:obj:`~.CU_POINTER_ATTRIBUTE_IS_MEM_DECOMPRESS_CAPABLE` should give\na non-zero value. To ensure this, the memory backing the pointers\nshould have been allocated using one of the following CUDA memory\nallocators:\n\n- :py:obj:`~.cuMemAlloc()`\n\n- :py:obj:`~.cuMemCreate()` with the usage flag\n  :py:obj:`~.CU_MEM_CREATE_USAGE_HW_DECOMPRESS`\n\n- :py:obj:`~.cuMemAllocFromPoolAsync()` from a pool that was created\n  with the usage flag\n  :py:obj:`~.CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS` Additionally,\n  :py:obj:`~.CUmemDecompressParams.src`,\n  :py:obj:`~.CUmemDecompressParams.dst`, and\n  :py:obj:`~.CUmemDecompressParams.dstActBytes`, must all be accessible\n  from the device associated with the context where `stream` was\n  created. For information on how to ensure this, see the documentation\n  for the allocator of interest.\n\nParameters\n----------\nparamsArray : :py:obj:`~.CUmemDecompressParams`\n    The array of structures describing the independent decompression\n    operations.""\ncount : size_t\n    The number of entries in `paramsArray` array.\nflags : unsigned int\n    Must be 0.\nstream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream where the work will be enqueued.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\nerrorIndex : int\n    The index into `paramsArray` of the decompression operation for\n    which the error returned by this function pertains to. If `index`\n    is SIZE_MAX and the value returned is not :py:obj:`~.CUDA_SUCCESS`,\n    then the error returned by this function should be considered a\n    general error that does not pertain to a particular decompression\n    operation. May be `NULL`, in which case, no index will be recorded\n    in the event of error.\n\nSee Also\n--------\n:py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuMemAllocFromPoolAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_323cuMemBatchDecompressAsync = {"cuMemBatchDecompressAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_323cuMemBatchDecompressAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_322cuMemBatchDecompressAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_323cuMemBatchDecompressAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams *__pyx_v_paramsArray = 0;
  size_t __pyx_v_count;
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_stream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemBatchDecompressAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_paramsArray_2,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_stream,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27321, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemBatchDecompressAsync", 0) < (0)) __PYX_ERR(0, 27321, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemBatchDecompressAsync", 1, 4, 4, i); __PYX_ERR(0, 27321, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27321, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27321, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27321, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27321, __pyx_L3_error)
    }
    __pyx_v_paramsArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams *)values[0]);
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27322, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 27322, __pyx_L3_error)
    __pyx_v_stream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemBatchDecompressAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 27321, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemBatchDecompressAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_paramsArray), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams, 1, "paramsArray", 0))) __PYX_ERR(0, 27322, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_322cuMemBatchDecompressAsync(__pyx_self, __pyx_v_paramsArray, __pyx_v_count, __pyx_v_flags, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_322cuMemBatchDecompressAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams *__pyx_v_paramsArray, size_t __pyx_v_count, unsigned int __pyx_v_flags, PyObject *__pyx_v_stream) {
  CUstream __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  CUmemDecompressParams *__pyx_v_cyparamsArray_ptr;
  size_t __pyx_v_errorIndex;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUmemDecompressParams_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemBatchDecompressAsync", 0);

  /* "cuda/bindings/driver.pyx":27389
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27390
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27389
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27391
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27392
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27391
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27394
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     cdef cydriver.CUmemDecompressParams* cyparamsArray_ptr = paramsArray._pvt_ptr if paramsArray is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27394, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27395
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemDecompressParams* cyparamsArray_ptr = paramsArray._pvt_ptr if paramsArray is not None else NULL
 *     cdef size_t errorIndex = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27395, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27396
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     cdef cydriver.CUmemDecompressParams* cyparamsArray_ptr = paramsArray._pvt_ptr if paramsArray is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef size_t errorIndex = 0
 *     with nogil:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_paramsArray) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_paramsArray->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyparamsArray_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":27397
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     cdef cydriver.CUmemDecompressParams* cyparamsArray_ptr = paramsArray._pvt_ptr if paramsArray is not None else NULL
 *     cdef size_t errorIndex = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemBatchDecompressAsync(cyparamsArray_ptr, count, flags, &errorIndex, cystream)
*/
  __pyx_v_errorIndex = 0;

  /* "cuda/bindings/driver.pyx":27398
 *     cdef cydriver.CUmemDecompressParams* cyparamsArray_ptr = paramsArray._pvt_ptr if paramsArray is not None else NULL
 *     cdef size_t errorIndex = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemBatchDecompressAsync(cyparamsArray_ptr, count, flags, &errorIndex, cystream)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27399
 *     cdef size_t errorIndex = 0
 *     with nogil:
 *         err = cydriver.cuMemBatchDecompressAsync(cyparamsArray_ptr, count, flags, &errorIndex, cystream)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemBatchDecompressAsync(__pyx_v_cyparamsArray_ptr, __pyx_v_count, __pyx_v_flags, (&__pyx_v_errorIndex), __pyx_v_cystream); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27399, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":27398
 *     cdef cydriver.CUmemDecompressParams* cyparamsArray_ptr = paramsArray._pvt_ptr if paramsArray is not None else NULL
 *     cdef size_t errorIndex = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemBatchDecompressAsync(cyparamsArray_ptr, count, flags, &errorIndex, cystream)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27400
 *     with nogil:
 *         err = cydriver.cuMemBatchDecompressAsync(cyparamsArray_ptr, count, flags, &errorIndex, cystream)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], errorIndex)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27401
 *         err = cydriver.cuMemBatchDecompressAsync(cyparamsArray_ptr, count, flags, &errorIndex, cystream)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], errorIndex)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 27401, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 27401, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27400
 *     with nogil:
 *         err = cydriver.cuMemBatchDecompressAsync(cyparamsArray_ptr, count, flags, &errorIndex, cystream)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], errorIndex)
*/
  }

  /* "cuda/bindings/driver.pyx":27402
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], errorIndex)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_errorIndex); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 27402, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 27402, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27321
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemBatchDecompressAsync(paramsArray : Optional[CUmemDecompressParams], size_t count, unsigned int flags, stream):
 *     """ Submit a batch of `count` independent decompression operations.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemBatchDecompressAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27404
 *     return (_dict_CUresult[err], errorIndex)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressReserve(size_t size, size_t alignment, addr, unsigned long long flags):
 *     """ Allocate an address range reservation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_325cuMemAddressReserve(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_324cuMemAddressReserve, "cuMemAddressReserve(size_t size, size_t alignment, addr, unsigned long long flags)\n\nAllocate an address range reservation.\n\nReserves a virtual address range based on the given parameters, giving\nthe starting address of the range in `ptr`. This API requires a system\nthat supports UVA. The size and address parameters must be a multiple\nof the host page size and the alignment must be a power of two or zero\nfor default alignment. If `addr` is 0, then the driver chooses the\naddress at which to place the start of the reservation whereas when it\nis non-zero then the driver treats it as a hint about where to place\nthe reservation.\n\nParameters\n----------\nsize : size_t\n    Size of the reserved virtual address range requested\nalignment : size_t\n    Alignment of the reserved virtual address range requested\naddr : :py:obj:`~.CUdeviceptr`\n    Hint address for the start of the address range\nflags : unsigned long long\n    Currently unused, must be zero\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nptr : :py:obj:`~.CUdeviceptr`\n    Resulting pointer to start of virtual address range allocated\n\nSee Also\n--------\n:py:obj:`~.cuMemAddressFree`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_325cuMemAddressReserve = {"cuMemAddressReserve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_325cuMemAddressReserve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_324cuMemAddressReserve};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_325cuMemAddressReserve(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_size;
  size_t __pyx_v_alignment;
  PyObject *__pyx_v_addr = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAddressReserve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_alignment_2,&__pyx_mstate_global->__pyx_n_u_addr,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27404, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAddressReserve", 0) < (0)) __PYX_ERR(0, 27404, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAddressReserve", 1, 4, 4, i); __PYX_ERR(0, 27404, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27404, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27404, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27404, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27404, __pyx_L3_error)
    }
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27405, __pyx_L3_error)
    __pyx_v_alignment = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_alignment == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27405, __pyx_L3_error)
    __pyx_v_addr = values[2];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[3]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27405, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAddressReserve", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 27404, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAddressReserve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_324cuMemAddressReserve(__pyx_self, __pyx_v_size, __pyx_v_alignment, __pyx_v_addr, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_324cuMemAddressReserve(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, size_t __pyx_v_alignment, PyObject *__pyx_v_addr, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUdeviceptr __pyx_v_cyaddr;
  PyObject *__pyx_v_paddr = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_ptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAddressReserve", 0);

  /* "cuda/bindings/driver.pyx":27440
 *     """
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27441
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
 *         paddr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_paddr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27440
 *     """
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27442
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27443
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27443, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27442
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27445
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef CUdeviceptr ptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_addr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27445, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27446
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27446, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27447
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef CUdeviceptr ptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAddressReserve(<cydriver.CUdeviceptr*>ptr._pvt_ptr, size, alignment, cyaddr, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27447, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":27448
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAddressReserve(<cydriver.CUdeviceptr*>ptr._pvt_ptr, size, alignment, cyaddr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27449
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 *     with nogil:
 *         err = cydriver.cuMemAddressReserve(<cydriver.CUdeviceptr*>ptr._pvt_ptr, size, alignment, cyaddr, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAddressReserve(((CUdeviceptr *)__pyx_v_ptr->_pvt_ptr), __pyx_v_size, __pyx_v_alignment, __pyx_v_cyaddr, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27449, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27448
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAddressReserve(<cydriver.CUdeviceptr*>ptr._pvt_ptr, size, alignment, cyaddr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27450
 *     with nogil:
 *         err = cydriver.cuMemAddressReserve(<cydriver.CUdeviceptr*>ptr._pvt_ptr, size, alignment, cyaddr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ptr)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27451
 *         err = cydriver.cuMemAddressReserve(<cydriver.CUdeviceptr*>ptr._pvt_ptr, size, alignment, cyaddr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], ptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27451, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 27451, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27450
 *     with nogil:
 *         err = cydriver.cuMemAddressReserve(<cydriver.CUdeviceptr*>ptr._pvt_ptr, size, alignment, cyaddr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ptr)
*/
  }

  /* "cuda/bindings/driver.pyx":27452
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 27452, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_ptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_ptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_ptr)) != (0)) __PYX_ERR(0, 27452, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27404
 *     return (_dict_CUresult[err], errorIndex)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressReserve(size_t size, size_t alignment, addr, unsigned long long flags):
 *     """ Allocate an address range reservation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAddressReserve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_paddr);
  __Pyx_XDECREF((PyObject *)__pyx_v_ptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27454
 *     return (_dict_CUresult[err], ptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressFree(ptr, size_t size):
 *     """ Free an address range reservation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_327cuMemAddressFree(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_326cuMemAddressFree, "cuMemAddressFree(ptr, size_t size)\n\nFree an address range reservation.\n\nFrees a virtual address range reserved by cuMemAddressReserve. The size\nmust match what was given to memAddressReserve and the ptr given must\nmatch what was returned from memAddressReserve.\n\nParameters\n----------\nptr : :py:obj:`~.CUdeviceptr`\n    Starting address of the virtual address range to free\nsize : size_t\n    Size of the virtual address region to free\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuMemAddressReserve`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_327cuMemAddressFree = {"cuMemAddressFree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_327cuMemAddressFree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_326cuMemAddressFree};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_327cuMemAddressFree(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ptr = 0;
  size_t __pyx_v_size;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAddressFree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr,&__pyx_mstate_global->__pyx_n_u_size_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27454, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAddressFree", 0) < (0)) __PYX_ERR(0, 27454, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAddressFree", 1, 2, 2, i); __PYX_ERR(0, 27454, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27454, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27454, __pyx_L3_error)
    }
    __pyx_v_ptr = values[0];
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27455, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAddressFree", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27454, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAddressFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_326cuMemAddressFree(__pyx_self, __pyx_v_ptr, __pyx_v_size);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_326cuMemAddressFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAddressFree", 0);

  /* "cuda/bindings/driver.pyx":27479
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27480
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27479
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27481
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27482
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27481
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27484
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27484, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27485
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAddressFree(cyptr, size)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27485, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27486
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAddressFree(cyptr, size)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27487
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
 *         err = cydriver.cuMemAddressFree(cyptr, size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAddressFree(__pyx_v_cyptr, __pyx_v_size); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27487, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27486
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAddressFree(cyptr, size)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27488
 *     with nogil:
 *         err = cydriver.cuMemAddressFree(cyptr, size)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 27488, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27454
 *     return (_dict_CUresult[err], ptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressFree(ptr, size_t size):
 *     """ Free an address range reservation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAddressFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27490
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemCreate(size_t size, prop : Optional[CUmemAllocationProp], unsigned long long flags):
 *     """ Create a CUDA memory handle representing a memory allocation of a given size described by the given properties.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_329cuMemCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_328cuMemCreate, "cuMemCreate(size_t size, CUmemAllocationProp prop: Optional[CUmemAllocationProp], unsigned long long flags)\n\nCreate a CUDA memory handle representing a memory allocation of a given size described by the given properties.\n\nThis creates a memory allocation on the target device specified through\nthe `prop` structure. The created allocation will not have any device\nor host mappings. The generic memory `handle` for the allocation can be\nmapped to the address space of calling process via\n:py:obj:`~.cuMemMap`. This handle cannot be transmitted directly to\nother processes (see :py:obj:`~.cuMemExportToShareableHandle`). On\nWindows, the caller must also pass an LPSECURITYATTRIBUTE in `prop` to\nbe associated with this handle which limits or allows access to this\nhandle for a recipient process (see\n:py:obj:`~.CUmemAllocationProp.win32HandleMetaData` for more). The\n`size` of this allocation must be a multiple of the the value given via\n:py:obj:`~.cuMemGetAllocationGranularity` with the\n:py:obj:`~.CU_MEM_ALLOC_GRANULARITY_MINIMUM` flag. To create a CPU\nallocation targeting a specific host NUMA node, applications must set\n:py:obj:`~.CUmemAllocationProp`::CUmemLocation::type to\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` and\n:py:obj:`~.CUmemAllocationProp`::CUmemLocation::id must specify the\nNUMA ID of the CPU. On systems where NUMA is not available\n:py:obj:`~.CUmemAllocationProp`::CUmemLocation::id must be set to 0.\nSpecifying :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT` or\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` as the\n:py:obj:`~.CUmemLocation.type` will result in\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\nApplications that intend to use :py:obj:`~.CU_MEM_HANDLE_TYPE_FABRIC`\nbased memory sharing must ensure: (1) `nvidia-caps-imex-channels`\ncharacter device is created by the driver and is listed under\n/proc/devices (2) have at least one IMEX channel file accessible by the\nuser launching the application.\n\nWhen exporter and importer CUDA processes ha""ve been granted access to\nthe same IMEX channel, they can securely share memory.\n\nThe IMEX channel security model works on a per user basis. Which means\nall processes under a user can share memory if the user has access to a\nvalid IMEX channel. When multi-user isolation is desired, a separate\nIMEX channel is required for each user.\n\nThese channel files exist in /dev/nvidia-caps-imex-channels/channel*\nand can be created using standard OS native calls like mknod on Linux.\nFor example: To create channel0 with the major number from\n/proc/devices users can execute the following command: `mknod\n/dev/nvidia-caps-imex-channels/channel0 c <major number> 0`\n\nIf :py:obj:`~.CUmemAllocationProp`::allocFlags::usage contains\n:py:obj:`~.CU_MEM_CREATE_USAGE_TILE_POOL` flag then the memory\nallocation is intended only to be used as backing tile pool for sparse\nCUDA arrays and sparse CUDA mipmapped arrays. (see\n:py:obj:`~.cuMemMapArrayAsync`).\n\nParameters\n----------\nsize : size_t\n    Size of the allocation requested\nprop : :py:obj:`~.CUmemAllocationProp`\n    Properties of the allocation to create.\nflags : unsigned long long\n    flags for future use, must be zero now.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nhandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Value of handle returned. All operations on this allocation are to\n    be performed using this handle.\n\nSee Also\n--------\n:py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemImportFromShareableHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_329cuMemCreate = {"cuMemCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_329cuMemCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_328cuMemCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_329cuMemCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_size;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *__pyx_v_prop = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_prop,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27490, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27490, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27490, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27490, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemCreate", 0) < (0)) __PYX_ERR(0, 27490, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemCreate", 1, 3, 3, i); __PYX_ERR(0, 27490, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27490, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27490, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27490, __pyx_L3_error)
    }
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27491, __pyx_L3_error)
    __pyx_v_prop = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *)values[1]);
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27491, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 27490, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_prop), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp, 1, "prop", 0))) __PYX_ERR(0, 27491, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_328cuMemCreate(__pyx_self, __pyx_v_size, __pyx_v_prop, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_328cuMemCreate(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *__pyx_v_prop, unsigned PY_LONG_LONG __pyx_v_flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_handle = 0;
  CUmemAllocationProp *__pyx_v_cyprop_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUmemAllocationProp_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemCreate", 0);

  /* "cuda/bindings/driver.pyx":27565
 *     :py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemImportFromShareableHandle`
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27565, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":27566
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemCreate(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, size, cyprop_ptr, flags)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_prop) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cyprop_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":27567
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemCreate(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, size, cyprop_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27568
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemCreate(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, size, cyprop_ptr, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemCreate(((CUmemGenericAllocationHandle *)__pyx_v_handle->_pvt_ptr), __pyx_v_size, __pyx_v_cyprop_ptr, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27568, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27567
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemCreate(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, size, cyprop_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":27569
 *     with nogil:
 *         err = cydriver.cuMemCreate(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, size, cyprop_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":27570
 *         err = cydriver.cuMemCreate(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, size, cyprop_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], handle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27570, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 27570, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27569
 *     with nogil:
 *         err = cydriver.cuMemCreate(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, size, cyprop_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)
*/
  }

  /* "cuda/bindings/driver.pyx":27571
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 27571, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_handle)) != (0)) __PYX_ERR(0, 27571, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27490
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemCreate(size_t size, prop : Optional[CUmemAllocationProp], unsigned long long flags):
 *     """ Create a CUDA memory handle representing a memory allocation of a given size described by the given properties.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27573
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRelease(handle):
 *     """ Release a memory handle representing a memory allocation which was previously allocated through cuMemCreate.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_331cuMemRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_330cuMemRelease, "cuMemRelease(handle)\n\nRelease a memory handle representing a memory allocation which was previously allocated through cuMemCreate.\n\nFrees the memory that was allocated on a device through cuMemCreate.\n\nThe memory allocation will be freed when all outstanding mappings to\nthe memory are unmapped and when all outstanding references to the\nhandle (including it's shareable counterparts) are also released. The\ngeneric memory handle can be freed when there are still outstanding\nmappings made with this handle. Each time a recipient process imports a\nshareable handle, it needs to pair it with :py:obj:`~.cuMemRelease` for\nthe handle to be freed. If `handle` is not a valid handle the behavior\nis undefined.\n\nParameters\n----------\nhandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Value of handle which was returned previously by cuMemCreate.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuMemCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_331cuMemRelease = {"cuMemRelease", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_331cuMemRelease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_330cuMemRelease};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_331cuMemRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_handle = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemRelease (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_handle_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27573, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemRelease", 0) < (0)) __PYX_ERR(0, 27573, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemRelease", 1, 1, 1, i); __PYX_ERR(0, 27573, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27573, __pyx_L3_error)
    }
    __pyx_v_handle = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRelease", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 27573, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_330cuMemRelease(__pyx_self, __pyx_v_handle);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_330cuMemRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle) {
  CUmemGenericAllocationHandle __pyx_v_cyhandle;
  PyObject *__pyx_v_phandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemRelease", 0);

  /* "cuda/bindings/driver.pyx":27603
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27604
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:
 *         phandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27603
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27605
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27606
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)             # <<<<<<<<<<<<<<
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27605
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27608
 *         phandle = int(handle)
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27608, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27609
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemRelease(cyhandle)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27609, __pyx_L1_error)
  __pyx_v_cyhandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27610
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRelease(cyhandle)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27611
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     with nogil:
 *         err = cydriver.cuMemRelease(cyhandle)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemRelease(__pyx_v_cyhandle); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27611, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27610
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRelease(cyhandle)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27612
 *     with nogil:
 *         err = cydriver.cuMemRelease(cyhandle)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 27612, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27573
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRelease(handle):
 *     """ Release a memory handle representing a memory allocation which was previously allocated through cuMemCreate.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27614
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMap(ptr, size_t size, size_t offset, handle, unsigned long long flags):
 *     """ Maps an allocation handle to a reserved virtual address range.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_333cuMemMap(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_332cuMemMap, "cuMemMap(ptr, size_t size, size_t offset, handle, unsigned long long flags)\n\nMaps an allocation handle to a reserved virtual address range.\n\nMaps bytes of memory represented by `handle` starting from byte\n`offset` to `size` to address range [`addr`, `addr` + `size`]. This\nrange must be an address reservation previously reserved with\n:py:obj:`~.cuMemAddressReserve`, and `offset` + `size` must be less\nthan the size of the memory allocation. Both `ptr`, `size`, and\n`offset` must be a multiple of the value given via\n:py:obj:`~.cuMemGetAllocationGranularity` with the\n:py:obj:`~.CU_MEM_ALLOC_GRANULARITY_MINIMUM` flag. If `handle`\nrepresents a multicast object, `ptr`, `size` and `offset` must be\naligned to the value returned by :py:obj:`~.cuMulticastGetGranularity`\nwith the flag :py:obj:`~.CU_MULTICAST_MINIMUM_GRANULARITY`. For best\nperformance however, it is recommended that `ptr`, `size` and `offset`\nbe aligned to the value returned by\n:py:obj:`~.cuMulticastGetGranularity` with the flag\n:py:obj:`~.CU_MULTICAST_RECOMMENDED_GRANULARITY`.\n\nWhen `handle` represents a multicast object, this call may return\nCUDA_ERROR_ILLEGAL_STATE if the system configuration is in an illegal\nstate. In such cases, to continue using multicast, verify that the\nsystem configuration is in a valid state and all required driver\ndaemons are running properly.\n\nPlease note calling :py:obj:`~.cuMemMap` does not make the address\naccessible, the caller needs to update accessibility of a contiguous\nmapped VA range by calling :py:obj:`~.cuMemSetAccess`.\n\nOnce a recipient process obtains a shareable memory handle from\n:py:obj:`~.cuMemImportFromShareableHandle`, the process must use\n:py:obj:`~.cuMemMap` to map the memory into its address ranges before\nsetting accessibility with :py:obj:`~.cuMemSetAccess`.\n\n:py:obj:`~.cuMemMap` can only create mappings on VA range reservations\nthat are not currently mapped.\n\nParameters\n----------\nptr : :py:obj:`~.CUdeviceptr`\n    Addres""s where memory will be mapped.\nsize : size_t\n    Size of the memory mapping.\noffset : size_t\n    Offset into the memory represented by\nhandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Handle to a shareable memory\nflags : unsigned long long\n    flags for future use, must be zero now.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE`\n\nSee Also\n--------\n:py:obj:`~.cuMemUnmap`, :py:obj:`~.cuMemSetAccess`, :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemAddressReserve`, :py:obj:`~.cuMemImportFromShareableHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_333cuMemMap = {"cuMemMap", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_333cuMemMap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_332cuMemMap};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_333cuMemMap(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ptr = 0;
  size_t __pyx_v_size;
  size_t __pyx_v_offset;
  PyObject *__pyx_v_handle = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemMap (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr,&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_offset_2,&__pyx_mstate_global->__pyx_n_u_handle_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27614, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 27614, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27614, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27614, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27614, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27614, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemMap", 0) < (0)) __PYX_ERR(0, 27614, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemMap", 1, 5, 5, i); __PYX_ERR(0, 27614, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27614, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27614, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27614, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27614, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 27614, __pyx_L3_error)
    }
    __pyx_v_ptr = values[0];
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27615, __pyx_L3_error)
    __pyx_v_offset = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27615, __pyx_L3_error)
    __pyx_v_handle = values[3];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[4]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27615, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemMap", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 27614, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemMap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_332cuMemMap(__pyx_self, __pyx_v_ptr, __pyx_v_size, __pyx_v_offset, __pyx_v_handle, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_332cuMemMap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size, size_t __pyx_v_offset, PyObject *__pyx_v_handle, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUmemGenericAllocationHandle __pyx_v_cyhandle;
  PyObject *__pyx_v_phandle = NULL;
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemMap", 0);

  /* "cuda/bindings/driver.pyx":27675
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27676
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:
 *         phandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27675
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27677
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27678
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)             # <<<<<<<<<<<<<<
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27677
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27680
 *         phandle = int(handle)
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef cydriver.CUdeviceptr cyptr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27680, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27681
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27681, __pyx_L1_error)
  __pyx_v_cyhandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27683
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27684
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27683
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":27685
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27686
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":27685
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":27688
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_ptr};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27688, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":27689
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemMap(cyptr, size, offset, cyhandle, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27689, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27690
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemMap(cyptr, size, offset, cyhandle, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27691
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
 *         err = cydriver.cuMemMap(cyptr, size, offset, cyhandle, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemMap(__pyx_v_cyptr, __pyx_v_size, __pyx_v_offset, __pyx_v_cyhandle, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27691, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27690
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemMap(cyptr, size, offset, cyhandle, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":27692
 *     with nogil:
 *         err = cydriver.cuMemMap(cyptr, size, offset, cyhandle, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27692, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27614
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMap(ptr, size_t size, size_t offset, handle, unsigned long long flags):
 *     """ Maps an allocation handle to a reserved virtual address range.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemMap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phandle);
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27694
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[tuple[CUarrayMapInfo] | list[CUarrayMapInfo]], unsigned int count, hStream):
 *     """ Maps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_335cuMemMapArrayAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_334cuMemMapArrayAsync, "cuMemMapArrayAsync(mapInfoList: Optional[tuple[CUarrayMapInfo] | list[CUarrayMapInfo]], unsigned int count, hStream)\n\nMaps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.\n\nPerforms map or unmap operations on subregions of sparse CUDA arrays\nand sparse CUDA mipmapped arrays. Each operation is specified by a\n:py:obj:`~.CUarrayMapInfo` entry in the `mapInfoList` array of size\n`count`. The structure :py:obj:`~.CUarrayMapInfo` is defined as follow:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere :py:obj:`~.CUarrayMapInfo.resourceType` specifies the type of\nresource to be operated on. If :py:obj:`~.CUarrayMapInfo.resourceType`\nis set to :py:obj:`~.CUresourcetype`::CU_RESOURCE_TYPE_ARRAY then\n:py:obj:`~.CUarrayMapInfo`::resource::array must be set to a valid\nsparse CUDA array handle. The CUDA array must be either a 2D, 2D\nlayered or 3D CUDA array and must have been allocated using\n:py:obj:`~.cuArrayCreate` or :py:obj:`~.cuArray3DCreate` with the flag\n:py:obj:`~.CUDA_ARRAY3D_SPARSE` or\n:py:obj:`~.CUDA_ARRAY3D_DEFERRED_MAPPING`. For CUDA arrays obtained\nusing :py:obj:`~.cuMipmappedArrayGetLevel`,\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned. If\n:py:obj:`~.CUarrayMapInfo.resourceType` is set to\n:py:obj:`~.CUresourcetype`::CU_RESOURCE_TYPE_MIPMAPPED_ARRAY then\n:py:obj:`~.CUarrayMapInfo`::resource::mipmap must be set to a valid\nsparse CUDA mipmapped array handle. The CUDA mipmapped array must be\neither a 2D, 2D layered or 3D CUDA mipmapped array and must have been\nallocated using :py:obj:`~.cuMipmappedArrayCreate` with the flag\n:py:obj:`~.CUDA_ARRAY3D_SPARSE` or\n:py:obj:`~.CUDA_ARRAY3D_DEFERRED_MAPPING`.\n\n:py:obj:`~.CUarrayMapInfo.subresourceType` specifies the type of\nsubresource within the resource.\n:py:obj:`~.CUarraySparseSubresourceType_enum` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere\n:py:obj:`~.CUarraySparseSubresourceType`::CU_ARRAY_SPARSE_""SUBRESOURCE_TYPE_SPARSE_LEVEL\nindicates a sparse-miplevel which spans at least one tile in every\ndimension. The remaining miplevels which are too small to span at least\none tile in any dimension constitute the mip tail region as indicated\nby\n:py:obj:`~.CUarraySparseSubresourceType`::CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL\nsubresource type.\n\nIf :py:obj:`~.CUarrayMapInfo.subresourceType` is set to\n:py:obj:`~.CUarraySparseSubresourceType`::CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL\nthen :py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel struct must\ncontain valid array subregion offsets and extents. The\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::offsetX,\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::offsetY and\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::offsetZ must\nspecify valid X, Y and Z offsets respectively. The\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::extentWidth,\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::extentHeight and\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::extentDepth must\nspecify valid width, height and depth extents respectively. These\noffsets and extents must be aligned to the corresponding tile\ndimension. For CUDA mipmapped arrays\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::level must\nspecify a valid mip level index. Otherwise, must be zero. For layered\nCUDA arrays and layered CUDA mipmapped arrays\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::layer must\nspecify a valid layer index. Otherwise, must be zero.\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::offsetZ must be\nzero and\n:py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::extentDepth must\nbe set to 1 for 2D and 2D layered CUDA arrays and CUDA mipmapped\narrays. Tile extents can be obtained by calling\n:py:obj:`~.cuArrayGetSparseProperties` and\n:py:obj:`~.cuMipmappedArrayGetSparseProperties`\n\nIf :py:obj:`~.CUarrayMapInfo.subresourceType` is set to\n:py:obj:`~.CUarrayS""parseSubresourceType`::CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL\nthen :py:obj:`~.CUarrayMapInfo`::subresource::miptail struct must\ncontain valid mip tail offset in\n:py:obj:`~.CUarrayMapInfo`::subresource::miptail::offset and size in\n:py:obj:`~.CUarrayMapInfo`::subresource::miptail::size. Both, mip tail\noffset and mip tail size must be aligned to the tile size. For layered\nCUDA mipmapped arrays which don't have the flag\n:py:obj:`~.CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL` set in\n:py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.flags` as returned by\n:py:obj:`~.cuMipmappedArrayGetSparseProperties`,\n:py:obj:`~.CUarrayMapInfo`::subresource::miptail::layer must specify a\nvalid layer index. Otherwise, must be zero.\n\nIf :py:obj:`~.CUarrayMapInfo`::resource::array or\n:py:obj:`~.CUarrayMapInfo`::resource::mipmap was created with\n:py:obj:`~.CUDA_ARRAY3D_DEFERRED_MAPPING` flag set the\n:py:obj:`~.CUarrayMapInfo.subresourceType` and the contents of\n:py:obj:`~.CUarrayMapInfo`::subresource will be ignored.\n\n:py:obj:`~.CUarrayMapInfo.memOperationType` specifies the type of\noperation. :py:obj:`~.CUmemOperationType` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.CUarrayMapInfo.memOperationType` is set to\n:py:obj:`~.CUmemOperationType`::CU_MEM_OPERATION_TYPE_MAP then the\nsubresource will be mapped onto the tile pool memory specified by\n:py:obj:`~.CUarrayMapInfo`::memHandle at offset\n:py:obj:`~.CUarrayMapInfo.offset`. The tile pool allocation has to be\ncreated by specifying the :py:obj:`~.CU_MEM_CREATE_USAGE_TILE_POOL`\nflag when calling :py:obj:`~.cuMemCreate`. Also,\n:py:obj:`~.CUarrayMapInfo.memHandleType` must be set to\n:py:obj:`~.CUmemHandleType`::CU_MEM_HANDLE_TYPE_GENERIC.\n\nIf :py:obj:`~.CUarrayMapInfo.memOperationType` is set to\n:py:obj:`~.CUmemOperationType`::CU_MEM_OPERATION_TYPE_UNMAP then an\nunmapping operation is performed. :py:obj:`~.CUarrayMapInfo`::memHandle\nmust be NULL.\n\n:py:obj:`~.CUarrayMapInfo.de""viceBitMask` specifies the list of devices\nthat must map or unmap physical memory. Currently, this mask must have\nexactly one bit set, and the corresponding device must match the device\nassociated with the stream. If\n:py:obj:`~.CUarrayMapInfo.memOperationType` is set to\n:py:obj:`~.CUmemOperationType`::CU_MEM_OPERATION_TYPE_MAP, the device\nmust also match the device associated with the tile pool memory\nallocation as specified by :py:obj:`~.CUarrayMapInfo`::memHandle.\n\n:py:obj:`~.CUarrayMapInfo.flags` and\n:py:obj:`~.CUarrayMapInfo.reserved`[] are unused and must be set to\nzero.\n\nParameters\n----------\nmapInfoList : list[:py:obj:`~.CUarrayMapInfo`]\n    List of :py:obj:`~.CUarrayMapInfo`\ncount : unsigned int\n    Count of :py:obj:`~.CUarrayMapInfo` in `mapInfoList`\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier for the stream to use for map or unmap operations\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuMipmappedArrayCreate`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuMemCreate`, :py:obj:`~.cuArrayGetSparseProperties`, :py:obj:`~.cuMipmappedArrayGetSparseProperties`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_335cuMemMapArrayAsync = {"cuMemMapArrayAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_335cuMemMapArrayAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_334cuMemMapArrayAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_335cuMemMapArrayAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mapInfoList = 0;
  unsigned int __pyx_v_count;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemMapArrayAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mapInfoList,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27694, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemMapArrayAsync", 0) < (0)) __PYX_ERR(0, 27694, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemMapArrayAsync", 1, 3, 3, i); __PYX_ERR(0, 27694, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27694, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27694, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27694, __pyx_L3_error)
    }
    __pyx_v_mapInfoList = values[0];
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 27695, __pyx_L3_error)
    __pyx_v_hStream = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemMapArrayAsync", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 27694, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemMapArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_334cuMemMapArrayAsync(__pyx_self, __pyx_v_mapInfoList, __pyx_v_count, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemMapArrayAsync_2generator129(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":27847
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemMapArrayAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 27847, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuMemMapArrayAsync_2generator129, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[129]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemMapArrayAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 27847, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemMapArrayAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemMapArrayAsync_2generator129(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 27847, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 27847, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27847, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 27847, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 27847, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27847, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 27847, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27694
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[tuple[CUarrayMapInfo] | list[CUarrayMapInfo]], unsigned int count, hStream):
 *     """ Maps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_334cuMemMapArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mapInfoList, unsigned int __pyx_v_count, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUarrayMapInfo *__pyx_v_cymapInfoList;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemMapArrayAsync_2generator129 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUarrayMapInfo_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemMapArrayAsync", 0);
  __Pyx_INCREF(__pyx_v_mapInfoList);

  /* "cuda/bindings/driver.pyx":27839
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27840
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27839
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27841
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27842
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27841
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27844
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27844, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27845
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27845, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27846
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     mapInfoList = [] if mapInfoList is None else mapInfoList             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")
*/
  __pyx_t_1 = (__pyx_v_mapInfoList == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_mapInfoList);
    __pyx_t_4 = __pyx_v_mapInfoList;
  }
  __Pyx_DECREF_SET(__pyx_v_mapInfoList, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":27847
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_18cuMemMapArrayAsync_genexpr(NULL, __pyx_v_mapInfoList); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 27847, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":27848
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL
 *     if len(mapInfoList) > 1:
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_mapInfoList_is_not_inst};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 27848, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":27847
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":27849
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL             # <<<<<<<<<<<<<<
 *     if len(mapInfoList) > 1:
 *         cymapInfoList = <cydriver.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(cydriver.CUarrayMapInfo))
*/
  __pyx_v_cymapInfoList = NULL;

  /* "cuda/bindings/driver.pyx":27850
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL
 *     if len(mapInfoList) > 1:             # <<<<<<<<<<<<<<
 *         cymapInfoList = <cydriver.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(cydriver.CUarrayMapInfo))
 *         if cymapInfoList is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27850, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":27851
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL
 *     if len(mapInfoList) > 1:
 *         cymapInfoList = <cydriver.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(cydriver.CUarrayMapInfo))             # <<<<<<<<<<<<<<
 *         if cymapInfoList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(cydriver.CUarrayMapInfo)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27851, __pyx_L1_error)
    __pyx_v_cymapInfoList = ((CUarrayMapInfo *)calloc(__pyx_t_8, (sizeof(CUarrayMapInfo))));

    /* "cuda/bindings/driver.pyx":27852
 *     if len(mapInfoList) > 1:
 *         cymapInfoList = <cydriver.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(cydriver.CUarrayMapInfo))
 *         if cymapInfoList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(cydriver.CUarrayMapInfo)))
 *         for idx in range(len(mapInfoList)):
*/
    __pyx_t_7 = (__pyx_v_cymapInfoList == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":27853
 *         cymapInfoList = <cydriver.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(cydriver.CUarrayMapInfo))
 *         if cymapInfoList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(cydriver.CUarrayMapInfo)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(mapInfoList)):
 *             string.memcpy(&cymapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._pvt_ptr, sizeof(cydriver.CUarrayMapInfo))
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_4 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27853, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 27853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 27853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUarrayMapInfo))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 27853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27853, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(0, 27853, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":27852
 *     if len(mapInfoList) > 1:
 *         cymapInfoList = <cydriver.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(cydriver.CUarrayMapInfo))
 *         if cymapInfoList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(cydriver.CUarrayMapInfo)))
 *         for idx in range(len(mapInfoList)):
*/
    }

    /* "cuda/bindings/driver.pyx":27854
 *         if cymapInfoList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(cydriver.CUarrayMapInfo)))
 *         for idx in range(len(mapInfoList)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cymapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._pvt_ptr, sizeof(cydriver.CUarrayMapInfo))
 *     elif len(mapInfoList) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27854, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":27855
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(cydriver.CUarrayMapInfo)))
 *         for idx in range(len(mapInfoList)):
 *             string.memcpy(&cymapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._pvt_ptr, sizeof(cydriver.CUarrayMapInfo))             # <<<<<<<<<<<<<<
 *     elif len(mapInfoList) == 1:
 *         cymapInfoList = (<CUarrayMapInfo>mapInfoList[0])._pvt_ptr
*/
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_mapInfoList, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27855, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      (void)(memcpy((&(__pyx_v_cymapInfoList[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo *)__pyx_t_2)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUarrayMapInfo))));
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }

    /* "cuda/bindings/driver.pyx":27850
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected tuple[cydriver.CUarrayMapInfo,] or list[cydriver.CUarrayMapInfo,]")
 *     cdef cydriver.CUarrayMapInfo* cymapInfoList = NULL
 *     if len(mapInfoList) > 1:             # <<<<<<<<<<<<<<
 *         cymapInfoList = <cydriver.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(cydriver.CUarrayMapInfo))
 *         if cymapInfoList is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":27856
 *         for idx in range(len(mapInfoList)):
 *             string.memcpy(&cymapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._pvt_ptr, sizeof(cydriver.CUarrayMapInfo))
 *     elif len(mapInfoList) == 1:             # <<<<<<<<<<<<<<
 *         cymapInfoList = (<CUarrayMapInfo>mapInfoList[0])._pvt_ptr
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27856, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":27857
 *             string.memcpy(&cymapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._pvt_ptr, sizeof(cydriver.CUarrayMapInfo))
 *     elif len(mapInfoList) == 1:
 *         cymapInfoList = (<CUarrayMapInfo>mapInfoList[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 *     with nogil:
*/
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_mapInfoList, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo *)__pyx_t_2)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_cymapInfoList = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":27856
 *         for idx in range(len(mapInfoList)):
 *             string.memcpy(&cymapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._pvt_ptr, sizeof(cydriver.CUarrayMapInfo))
 *     elif len(mapInfoList) == 1:             # <<<<<<<<<<<<<<
 *         cymapInfoList = (<CUarrayMapInfo>mapInfoList[0])._pvt_ptr
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":27858
 *     elif len(mapInfoList) == 1:
 *         cymapInfoList = (<CUarrayMapInfo>mapInfoList[0])._pvt_ptr
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemMapArrayAsync(cymapInfoList, count, cyhStream)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27858, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_count > __pyx_t_8);
  if (unlikely(__pyx_t_7)) {
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27858, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 27858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 27858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 27858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27858, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 27858, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":27859
 *         cymapInfoList = (<CUarrayMapInfo>mapInfoList[0])._pvt_ptr
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemMapArrayAsync(cymapInfoList, count, cyhStream)
 *     if len(mapInfoList) > 1 and cymapInfoList is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27860
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 *     with nogil:
 *         err = cydriver.cuMemMapArrayAsync(cymapInfoList, count, cyhStream)             # <<<<<<<<<<<<<<
 *     if len(mapInfoList) > 1 and cymapInfoList is not NULL:
 *         free(cymapInfoList)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuMemMapArrayAsync(__pyx_v_cymapInfoList, __pyx_v_count, __pyx_v_cyhStream); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27860, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":27859
 *         cymapInfoList = (<CUarrayMapInfo>mapInfoList[0])._pvt_ptr
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemMapArrayAsync(cymapInfoList, count, cyhStream)
 *     if len(mapInfoList) > 1 and cymapInfoList is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":27861
 *     with nogil:
 *         err = cydriver.cuMemMapArrayAsync(cymapInfoList, count, cyhStream)
 *     if len(mapInfoList) > 1 and cymapInfoList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cymapInfoList)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27861, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cymapInfoList != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":27862
 *         err = cydriver.cuMemMapArrayAsync(cymapInfoList, count, cyhStream)
 *     if len(mapInfoList) > 1 and cymapInfoList is not NULL:
 *         free(cymapInfoList)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cymapInfoList);

    /* "cuda/bindings/driver.pyx":27861
 *     with nogil:
 *         err = cydriver.cuMemMapArrayAsync(cymapInfoList, count, cyhStream)
 *     if len(mapInfoList) > 1 and cymapInfoList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cymapInfoList)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":27863
 *     if len(mapInfoList) > 1 and cymapInfoList is not NULL:
 *         free(cymapInfoList)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 27863, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27694
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[tuple[CUarrayMapInfo] | list[CUarrayMapInfo]], unsigned int count, hStream):
 *     """ Maps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemMapArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemMapArrayAsync_2generator129);
  __Pyx_XDECREF(__pyx_v_mapInfoList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemUnmap(ptr, size_t size):
 *     """ Unmap the backing memory of a given address range.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_337cuMemUnmap(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_336cuMemUnmap, "cuMemUnmap(ptr, size_t size)\n\nUnmap the backing memory of a given address range.\n\nThe range must be the entire contiguous address range that was mapped\nto. In other words, :py:obj:`~.cuMemUnmap` cannot unmap a sub-range of\nan address range mapped by :py:obj:`~.cuMemCreate` /\n:py:obj:`~.cuMemMap`. Any backing memory allocations will be freed if\nthere are no existing mappings and there are no unreleased memory\nhandles.\n\nWhen :py:obj:`~.cuMemUnmap` returns successfully the address range is\nconverted to an address reservation and can be used for a future calls\nto :py:obj:`~.cuMemMap`. Any new mapping to this virtual address will\nneed to have access granted through :py:obj:`~.cuMemSetAccess`, as all\nmappings start with no accessibility setup.\n\nParameters\n----------\nptr : :py:obj:`~.CUdeviceptr`\n    Starting address for the virtual address range to unmap\nsize : size_t\n    Size of the virtual address range to unmap\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemAddressReserve`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_337cuMemUnmap = {"cuMemUnmap", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_337cuMemUnmap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_336cuMemUnmap};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_337cuMemUnmap(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ptr = 0;
  size_t __pyx_v_size;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemUnmap (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr,&__pyx_mstate_global->__pyx_n_u_size_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27865, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemUnmap", 0) < (0)) __PYX_ERR(0, 27865, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemUnmap", 1, 2, 2, i); __PYX_ERR(0, 27865, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27865, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27865, __pyx_L3_error)
    }
    __pyx_v_ptr = values[0];
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27866, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemUnmap", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27865, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemUnmap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_336cuMemUnmap(__pyx_self, __pyx_v_ptr, __pyx_v_size);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_336cuMemUnmap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemUnmap", 0);

  /* "cuda/bindings/driver.pyx":27899
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27900
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27899
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27901
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":27902
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27901
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27904
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27904, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27905
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemUnmap(cyptr, size)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27905, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27906
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemUnmap(cyptr, size)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27907
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
 *         err = cydriver.cuMemUnmap(cyptr, size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemUnmap(__pyx_v_cyptr, __pyx_v_size); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27907, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27906
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemUnmap(cyptr, size)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27908
 *     with nogil:
 *         err = cydriver.cuMemUnmap(cyptr, size)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 27908, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemUnmap(ptr, size_t size):
 *     """ Unmap the backing memory of a given address range.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemUnmap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27910
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count):
 *     """ Set the access flags for each location specified in `desc` for the given virtual address range.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_339cuMemSetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_338cuMemSetAccess, "cuMemSetAccess(ptr, size_t size, desc: Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count)\n\nSet the access flags for each location specified in `desc` for the given virtual address range.\n\nGiven the virtual address range via `ptr` and `size`, and the locations\nin the array given by `desc` and `count`, set the access flags for the\ntarget locations. The range must be a fully mapped address range\ncontaining all allocations created by :py:obj:`~.cuMemMap` /\n:py:obj:`~.cuMemCreate`. Users cannot specify\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` accessibility for\nallocations created on with other location types. Note: When\n:py:obj:`~.CUmemAccessDesc`::CUmemLocation::type is\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`,\n:py:obj:`~.CUmemAccessDesc`::CUmemLocation::id is ignored. When setting\nthe access flags for a virtual address range mapping a multicast\nobject, `ptr` and `size` must be aligned to the value returned by\n:py:obj:`~.cuMulticastGetGranularity` with the flag\n:py:obj:`~.CU_MULTICAST_MINIMUM_GRANULARITY`. For best performance\nhowever, it is recommended that `ptr` and `size` be aligned to the\nvalue returned by :py:obj:`~.cuMulticastGetGranularity` with the flag\n:py:obj:`~.CU_MULTICAST_RECOMMENDED_GRANULARITY`.\n\nParameters\n----------\nptr : :py:obj:`~.CUdeviceptr`\n    Starting address for the virtual address range\nsize : size_t\n    Length of the virtual address range\ndesc : list[:py:obj:`~.CUmemAccessDesc`]\n    Array of :py:obj:`~.CUmemAccessDesc` that describe how to change\n    the\ncount : size_t\n    Number of :py:obj:`~.CUmemAccessDesc` in `desc`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuMemSetAccess`, :py:obj:`~.cuMemCreate`, :py:obj:`~.py`:obj:`~.cuMemMap`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_339cuMemSetAccess = {"cuMemSetAccess", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_339cuMemSetAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_338cuMemSetAccess};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_339cuMemSetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ptr = 0;
  size_t __pyx_v_size;
  PyObject *__pyx_v_desc = 0;
  size_t __pyx_v_count;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemSetAccess (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr,&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_count_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27910, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27910, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27910, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27910, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27910, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemSetAccess", 0) < (0)) __PYX_ERR(0, 27910, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemSetAccess", 1, 4, 4, i); __PYX_ERR(0, 27910, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27910, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27910, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27910, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27910, __pyx_L3_error)
    }
    __pyx_v_ptr = values[0];
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27911, __pyx_L3_error)
    __pyx_v_desc = values[2];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 27911, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemSetAccess", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 27910, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_338cuMemSetAccess(__pyx_self, __pyx_v_ptr, __pyx_v_size, __pyx_v_desc, __pyx_v_count);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuMemSetAccess_2generator130(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":27954
 *     """
 *     desc = [] if desc is None else desc
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in desc):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUdeviceptr cyptr
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14cuMemSetAccess_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 27954, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_14cuMemSetAccess_2generator130, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[130]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemSetAccess_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 27954, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemSetAccess.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuMemSetAccess_2generator130(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 27954, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 27954, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27954, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 27954, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 27954, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27954, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 27954, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27910
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count):
 *     """ Set the access flags for each location specified in `desc` for the given virtual address range.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_338cuMemSetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size, PyObject *__pyx_v_desc, size_t __pyx_v_count) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  CUmemAccessDesc *__pyx_v_cydesc;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuMemSetAccess_2generator130 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUmemAccessDesc_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemSetAccess", 0);
  __Pyx_INCREF(__pyx_v_desc);

  /* "cuda/bindings/driver.pyx":27953
 *     :py:obj:`~.cuMemSetAccess`, :py:obj:`~.cuMemCreate`, :py:obj:`~.py`:obj:`~.cuMemMap`
 *     """
 *     desc = [] if desc is None else desc             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in desc):
 *         raise TypeError("Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
*/
  __pyx_t_2 = (__pyx_v_desc == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_desc);
    __pyx_t_1 = __pyx_v_desc;
  }
  __Pyx_DECREF_SET(__pyx_v_desc, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":27954
 *     """
 *     desc = [] if desc is None else desc
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in desc):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUdeviceptr cyptr
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_14cuMemSetAccess_genexpr(NULL, __pyx_v_desc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 27954, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":27955
 *     desc = [] if desc is None else desc
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in desc):
 *         raise TypeError("Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_desc_is_not_instance_of};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 27955, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":27954
 *     """
 *     desc = [] if desc is None else desc
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in desc):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUdeviceptr cyptr
*/
  }

  /* "cuda/bindings/driver.pyx":27957
 *         raise TypeError("Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_4 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":27958
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":27957
 *         raise TypeError("Argument 'desc' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":27959
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":27960
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":27959
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":27962
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef cydriver.CUmemAccessDesc* cydesc = NULL
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_ptr};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27962, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":27963
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAccessDesc* cydesc = NULL
 *     if len(desc) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27963, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":27964
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef cydriver.CUmemAccessDesc* cydesc = NULL             # <<<<<<<<<<<<<<
 *     if len(desc) > 1:
 *         cydesc = <cydriver.CUmemAccessDesc*> calloc(len(desc), sizeof(cydriver.CUmemAccessDesc))
*/
  __pyx_v_cydesc = NULL;

  /* "cuda/bindings/driver.pyx":27965
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef cydriver.CUmemAccessDesc* cydesc = NULL
 *     if len(desc) > 1:             # <<<<<<<<<<<<<<
 *         cydesc = <cydriver.CUmemAccessDesc*> calloc(len(desc), sizeof(cydriver.CUmemAccessDesc))
 *         if cydesc is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27965, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":27966
 *     cdef cydriver.CUmemAccessDesc* cydesc = NULL
 *     if len(desc) > 1:
 *         cydesc = <cydriver.CUmemAccessDesc*> calloc(len(desc), sizeof(cydriver.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *         if cydesc is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27966, __pyx_L1_error)
    __pyx_v_cydesc = ((CUmemAccessDesc *)calloc(__pyx_t_8, (sizeof(CUmemAccessDesc))));

    /* "cuda/bindings/driver.pyx":27967
 *     if len(desc) > 1:
 *         cydesc = <cydriver.CUmemAccessDesc*> calloc(len(desc), sizeof(cydriver.CUmemAccessDesc))
 *         if cydesc is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *         for idx in range(len(desc)):
*/
    __pyx_t_4 = (__pyx_v_cydesc == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":27968
 *         cydesc = <cydriver.CUmemAccessDesc*> calloc(len(desc), sizeof(cydriver.CUmemAccessDesc))
 *         if cydesc is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(desc)):
 *             string.memcpy(&cydesc[idx], (<CUmemAccessDesc>desc[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27968, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 27968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 27968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 27968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27968, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 27968, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":27967
 *     if len(desc) > 1:
 *         cydesc = <cydriver.CUmemAccessDesc*> calloc(len(desc), sizeof(cydriver.CUmemAccessDesc))
 *         if cydesc is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *         for idx in range(len(desc)):
*/
    }

    /* "cuda/bindings/driver.pyx":27969
 *         if cydesc is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *         for idx in range(len(desc)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cydesc[idx], (<CUmemAccessDesc>desc[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 *     elif len(desc) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27969, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":27970
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *         for idx in range(len(desc)):
 *             string.memcpy(&cydesc[idx], (<CUmemAccessDesc>desc[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *     elif len(desc) == 1:
 *         cydesc = (<CUmemAccessDesc>desc[0])._pvt_ptr
*/
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_desc, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27970, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cydesc[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc *)__pyx_t_1)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUmemAccessDesc))));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "cuda/bindings/driver.pyx":27965
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef cydriver.CUmemAccessDesc* cydesc = NULL
 *     if len(desc) > 1:             # <<<<<<<<<<<<<<
 *         cydesc = <cydriver.CUmemAccessDesc*> calloc(len(desc), sizeof(cydriver.CUmemAccessDesc))
 *         if cydesc is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":27971
 *         for idx in range(len(desc)):
 *             string.memcpy(&cydesc[idx], (<CUmemAccessDesc>desc[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 *     elif len(desc) == 1:             # <<<<<<<<<<<<<<
 *         cydesc = (<CUmemAccessDesc>desc[0])._pvt_ptr
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27971, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":27972
 *             string.memcpy(&cydesc[idx], (<CUmemAccessDesc>desc[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 *     elif len(desc) == 1:
 *         cydesc = (<CUmemAccessDesc>desc[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 *     with nogil:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_desc, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc *)__pyx_t_1)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cydesc = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":27971
 *         for idx in range(len(desc)):
 *             string.memcpy(&cydesc[idx], (<CUmemAccessDesc>desc[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 *     elif len(desc) == 1:             # <<<<<<<<<<<<<<
 *         cydesc = (<CUmemAccessDesc>desc[0])._pvt_ptr
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":27973
 *     elif len(desc) == 1:
 *         cydesc = (<CUmemAccessDesc>desc[0])._pvt_ptr
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemSetAccess(cyptr, size, cydesc, count)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27973, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27973, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 27973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 27973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 27973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27973, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 27973, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":27974
 *         cydesc = (<CUmemAccessDesc>desc[0])._pvt_ptr
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemSetAccess(cyptr, size, cydesc, count)
 *     if len(desc) > 1 and cydesc is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27975
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 *     with nogil:
 *         err = cydriver.cuMemSetAccess(cyptr, size, cydesc, count)             # <<<<<<<<<<<<<<
 *     if len(desc) > 1 and cydesc is not NULL:
 *         free(cydesc)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuMemSetAccess(__pyx_v_cyptr, __pyx_v_size, __pyx_v_cydesc, __pyx_v_count); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27975, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":27974
 *         cydesc = (<CUmemAccessDesc>desc[0])._pvt_ptr
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemSetAccess(cyptr, size, cydesc, count)
 *     if len(desc) > 1 and cydesc is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":27976
 *     with nogil:
 *         err = cydriver.cuMemSetAccess(cyptr, size, cydesc, count)
 *     if len(desc) > 1 and cydesc is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydesc)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 27976, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydesc != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":27977
 *         err = cydriver.cuMemSetAccess(cyptr, size, cydesc, count)
 *     if len(desc) > 1 and cydesc is not NULL:
 *         free(cydesc)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cydesc);

    /* "cuda/bindings/driver.pyx":27976
 *     with nogil:
 *         err = cydriver.cuMemSetAccess(cyptr, size, cydesc, count)
 *     if len(desc) > 1 and cydesc is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydesc)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":27978
 *     if len(desc) > 1 and cydesc is not NULL:
 *         free(cydesc)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 27978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 27978, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27910
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count):
 *     """ Set the access flags for each location specified in `desc` for the given virtual address range.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_14cuMemSetAccess_2generator130);
  __Pyx_XDECREF(__pyx_v_desc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":27980
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAccess(location : Optional[CUmemLocation], ptr):
 *     """ Get the access `flags` set for the given `location` and `ptr`.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_341cuMemGetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_340cuMemGetAccess, "cuMemGetAccess(CUmemLocation location: Optional[CUmemLocation], ptr)\n\nGet the access `flags` set for the given `location` and `ptr`.\n\nParameters\n----------\nlocation : :py:obj:`~.CUmemLocation`\n    Location in which to check the flags for\nptr : :py:obj:`~.CUdeviceptr`\n    Address in which to check the access flags for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nflags : unsigned long long\n    Flags set for this location\n\nSee Also\n--------\n:py:obj:`~.cuMemSetAccess`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_341cuMemGetAccess = {"cuMemGetAccess", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_341cuMemGetAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_340cuMemGetAccess};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_341cuMemGetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location = 0;
  PyObject *__pyx_v_ptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemGetAccess (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_location_2,&__pyx_mstate_global->__pyx_n_u_ptr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 27980, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemGetAccess", 0) < (0)) __PYX_ERR(0, 27980, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemGetAccess", 1, 2, 2, i); __PYX_ERR(0, 27980, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27980, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27980, __pyx_L3_error)
    }
    __pyx_v_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)values[0]);
    __pyx_v_ptr = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetAccess", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27980, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 1, "location", 0))) __PYX_ERR(0, 27981, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_340cuMemGetAccess(__pyx_self, __pyx_v_location, __pyx_v_ptr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_340cuMemGetAccess(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  unsigned PY_LONG_LONG __pyx_v_flags;
  CUmemLocation *__pyx_v_cylocation_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUmemLocation_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemGetAccess", 0);

  /* "cuda/bindings/driver.pyx":28003
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28004
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28003
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28005
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28006
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28005
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28008
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef unsigned long long flags = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28008, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28009
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef unsigned long long flags = 0
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28009, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28010
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef unsigned long long flags = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     with nogil:
*/
  __pyx_v_flags = 0;

  /* "cuda/bindings/driver.pyx":28011
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef unsigned long long flags = 0
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemGetAccess(&flags, cylocation_ptr, cyptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_location) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_location->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cylocation_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":28012
 *     cdef unsigned long long flags = 0
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetAccess(&flags, cylocation_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28013
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemGetAccess(&flags, cylocation_ptr, cyptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetAccess((&__pyx_v_flags), __pyx_v_cylocation_ptr, __pyx_v_cyptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28013, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":28012
 *     cdef unsigned long long flags = 0
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetAccess(&flags, cylocation_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28014
 *     with nogil:
 *         err = cydriver.cuMemGetAccess(&flags, cylocation_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28015
 *         err = cydriver.cuMemGetAccess(&flags, cylocation_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], flags)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28015, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 28015, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28014
 *     with nogil:
 *         err = cydriver.cuMemGetAccess(&flags, cylocation_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)
*/
  }

  /* "cuda/bindings/driver.pyx":28016
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28016, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 28016, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27980
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAccess(location : Optional[CUmemLocation], ptr):
 *     """ Get the access `flags` set for the given `location` and `ptr`.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28018
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemExportToShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports an allocation to a requested shareable handle type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_343cuMemExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_342cuMemExportToShareableHandle, "cuMemExportToShareableHandle(handle, handleType: CUmemAllocationHandleType, unsigned long long flags)\n\nExports an allocation to a requested shareable handle type.\n\nGiven a CUDA memory handle, create a shareable memory allocation handle\nthat can be used to share the memory with other processes. The\nrecipient process can convert the shareable handle back into a CUDA\nmemory handle using :py:obj:`~.cuMemImportFromShareableHandle` and map\nit with :py:obj:`~.cuMemMap`. The implementation of what this handle is\nand how it can be transferred is defined by the requested handle type\nin `handleType`\n\nOnce all shareable handles are closed and the allocation is released,\nthe allocated memory referenced will be released back to the OS and\nuses of the CUDA handle afterward will lead to undefined behavior.\n\nThis API can also be used in conjunction with other APIs (e.g. Vulkan,\nOpenGL) that support importing memory from the shareable type\n\nParameters\n----------\nhandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    CUDA handle for the memory allocation\nhandleType : :py:obj:`~.CUmemAllocationHandleType`\n    Type of shareable handle requested (defines type and size of the\n    `shareableHandle` output parameter)\nflags : unsigned long long\n    Reserved, must be zero\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nshareableHandle : Any\n    Pointer to the location in which to store the requested handle type\n\nSee Also\n--------\n:py:obj:`~.cuMemImportFromShareableHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_343cuMemExportToShareableHandle = {"cuMemExportToShareableHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_343cuMemExportToShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_342cuMemExportToShareableHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_343cuMemExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_handle = 0;
  PyObject *__pyx_v_handleType = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemExportToShareableHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_handle_2,&__pyx_mstate_global->__pyx_n_u_handleType,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28018, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28018, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28018, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28018, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemExportToShareableHandle", 0) < (0)) __PYX_ERR(0, 28018, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemExportToShareableHandle", 1, 3, 3, i); __PYX_ERR(0, 28018, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28018, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28018, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28018, __pyx_L3_error)
    }
    __pyx_v_handle = values[0];
    __pyx_v_handleType = values[1];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28019, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemExportToShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 28018, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemExportToShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_handleType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "handleType"); __PYX_ERR(0, 28019, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_342cuMemExportToShareableHandle(__pyx_self, __pyx_v_handle, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_342cuMemExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUmemGenericAllocationHandle __pyx_v_cyhandle;
  PyObject *__pyx_v_phandle = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_cyshareableHandle = 0;
  void *__pyx_v_cyshareableHandle_ptr;
  CUmemAllocationHandleType __pyx_v_cyhandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUmemAllocationHandleType __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemExportToShareableHandle", 0);

  /* "cuda/bindings/driver.pyx":28059
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28060
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:
 *         phandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28059
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28061
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28062
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)             # <<<<<<<<<<<<<<
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28061
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28064
 *         phandle = int(handle)
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef _HelperCUmemAllocationHandleType cyshareableHandle = _HelperCUmemAllocationHandleType(handleType)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28064, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28065
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     cdef _HelperCUmemAllocationHandleType cyshareableHandle = _HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cyshareableHandle_ptr = <void*><void_ptr>cyshareableHandle.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28065, __pyx_L1_error)
  __pyx_v_cyhandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28066
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef _HelperCUmemAllocationHandleType cyshareableHandle = _HelperCUmemAllocationHandleType(handleType)             # <<<<<<<<<<<<<<
 *     cdef void* cyshareableHandle_ptr = <void*><void_ptr>cyshareableHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handleType};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28066, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyshareableHandle = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":28067
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef _HelperCUmemAllocationHandleType cyshareableHandle = _HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cyshareableHandle_ptr = <void*><void_ptr>cyshareableHandle.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyshareableHandle), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyshareableHandle_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28068
 *     cdef _HelperCUmemAllocationHandleType cyshareableHandle = _HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cyshareableHandle_ptr = <void*><void_ptr>cyshareableHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemExportToShareableHandle(cyshareableHandle_ptr, cyhandle, cyhandleType, flags)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28068, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyhandleType = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":28069
 *     cdef void* cyshareableHandle_ptr = <void*><void_ptr>cyshareableHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemExportToShareableHandle(cyshareableHandle_ptr, cyhandle, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28070
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:
 *         err = cydriver.cuMemExportToShareableHandle(cyshareableHandle_ptr, cyhandle, cyhandleType, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemExportToShareableHandle(__pyx_v_cyshareableHandle_ptr, __pyx_v_cyhandle, __pyx_v_cyhandleType, __pyx_v_flags); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28070, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":28069
 *     cdef void* cyshareableHandle_ptr = <void*><void_ptr>cyshareableHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemExportToShareableHandle(cyshareableHandle_ptr, cyhandle, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28071
 *     with nogil:
 *         err = cydriver.cuMemExportToShareableHandle(cyshareableHandle_ptr, cyhandle, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyshareableHandle.pyObj())
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28072
 *         err = cydriver.cuMemExportToShareableHandle(cyshareableHandle_ptr, cyhandle, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cyshareableHandle.pyObj())
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 28072, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 28072, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28071
 *     with nogil:
 *         err = cydriver.cuMemExportToShareableHandle(cyshareableHandle_ptr, cyhandle, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyshareableHandle.pyObj())
*/
  }

  /* "cuda/bindings/driver.pyx":28073
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyshareableHandle.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = ((PyObject *)__pyx_v_cyshareableHandle);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28073, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28073, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 28073, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28018
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemExportToShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports an allocation to a requested shareable handle type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemExportToShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phandle);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyshareableHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28075
 *     return (_dict_CUresult[err], cyshareableHandle.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemImportFromShareableHandle(osHandle, shHandleType not None : CUmemAllocationHandleType):
 *     """ Imports an allocation from a requested shareable handle type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_345cuMemImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_344cuMemImportFromShareableHandle, "cuMemImportFromShareableHandle(osHandle, shHandleType: CUmemAllocationHandleType)\n\nImports an allocation from a requested shareable handle type.\n\nIf the current process cannot support the memory described by this\nshareable handle, this API will error as\n:py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`.\n\nIf `shHandleType` is :py:obj:`~.CU_MEM_HANDLE_TYPE_FABRIC` and the\nimporter process has not been granted access to the same IMEX channel\nas the exporter process, this API will error as\n:py:obj:`~.CUDA_ERROR_NOT_PERMITTED`.\n\nParameters\n----------\nosHandle : Any\n    Shareable Handle representing the memory allocation that is to be\n    imported.\nshHandleType : :py:obj:`~.CUmemAllocationHandleType`\n    handle type of the exported handle\n    :py:obj:`~.CUmemAllocationHandleType`.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nhandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    CUDA Memory handle for the memory allocation.\n\nSee Also\n--------\n:py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemMap`, :py:obj:`~.cuMemRelease`\n\nNotes\n-----\nImporting shareable handles exported from some graphics APIs(VUlkan, OpenGL, etc) created on devices under an SLI group may not be supported, and thus this API will return CUDA_ERROR_NOT_SUPPORTED. There is no guarantee that the contents of `handle` will be the same CUDA memory handle for the same given OS shareable handle, or the same underlying allocation.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_345cuMemImportFromShareableHandle = {"cuMemImportFromShareableHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_345cuMemImportFromShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_344cuMemImportFromShareableHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_345cuMemImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_osHandle = 0;
  PyObject *__pyx_v_shHandleType = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemImportFromShareableHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_osHandle,&__pyx_mstate_global->__pyx_n_u_shHandleType,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28075, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28075, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28075, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemImportFromShareableHandle", 0) < (0)) __PYX_ERR(0, 28075, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemImportFromShareableHandle", 1, 2, 2, i); __PYX_ERR(0, 28075, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28075, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28075, __pyx_L3_error)
    }
    __pyx_v_osHandle = values[0];
    __pyx_v_shHandleType = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemImportFromShareableHandle", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28075, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemImportFromShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_shHandleType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "shHandleType"); __PYX_ERR(0, 28076, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_344cuMemImportFromShareableHandle(__pyx_self, __pyx_v_osHandle, __pyx_v_shHandleType);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_344cuMemImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_osHandle, PyObject *__pyx_v_shHandleType) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_handle = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyosHandle = NULL;
  void *__pyx_v_cyosHandle_ptr;
  CUmemAllocationHandleType __pyx_v_cyshHandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUmemAllocationHandleType __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemImportFromShareableHandle", 0);

  /* "cuda/bindings/driver.pyx":28112
 *     Importing shareable handles exported from some graphics APIs(VUlkan, OpenGL, etc) created on devices under an SLI group may not be supported, and thus this API will return CUDA_ERROR_NOT_SUPPORTED. There is no guarantee that the contents of `handle` will be the same CUDA memory handle for the same given OS shareable handle, or the same underlying allocation.
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()             # <<<<<<<<<<<<<<
 *     cyosHandle = _HelperInputVoidPtr(osHandle)
 *     cdef void* cyosHandle_ptr = <void*><void_ptr>cyosHandle.cptr
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28112, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":28113
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cyosHandle = _HelperInputVoidPtr(osHandle)             # <<<<<<<<<<<<<<
 *     cdef void* cyosHandle_ptr = <void*><void_ptr>cyosHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyshHandleType = shHandleType.value
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_osHandle};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28113, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyosHandle = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":28114
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cyosHandle = _HelperInputVoidPtr(osHandle)
 *     cdef void* cyosHandle_ptr = <void*><void_ptr>cyosHandle.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationHandleType cyshHandleType = shHandleType.value
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyosHandle), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyosHandle_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28115
 *     cyosHandle = _HelperInputVoidPtr(osHandle)
 *     cdef void* cyosHandle_ptr = <void*><void_ptr>cyosHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyshHandleType = shHandleType.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemImportFromShareableHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyosHandle_ptr, cyshHandleType)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_shHandleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyshHandleType = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":28116
 *     cdef void* cyosHandle_ptr = <void*><void_ptr>cyosHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyshHandleType = shHandleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemImportFromShareableHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyosHandle_ptr, cyshHandleType)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28117
 *     cdef cydriver.CUmemAllocationHandleType cyshHandleType = shHandleType.value
 *     with nogil:
 *         err = cydriver.cuMemImportFromShareableHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyosHandle_ptr, cyshHandleType)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemImportFromShareableHandle(((CUmemGenericAllocationHandle *)__pyx_v_handle->_pvt_ptr), __pyx_v_cyosHandle_ptr, __pyx_v_cyshHandleType); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28117, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28116
 *     cdef void* cyosHandle_ptr = <void*><void_ptr>cyosHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyshHandleType = shHandleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemImportFromShareableHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyosHandle_ptr, cyshHandleType)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":28118
 *     with nogil:
 *         err = cydriver.cuMemImportFromShareableHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyosHandle_ptr, cyshHandleType)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)
*/
  __pyx_t_8 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":28119
 *         err = cydriver.cuMemImportFromShareableHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyosHandle_ptr, cyshHandleType)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], handle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28119, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 28119, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28118
 *     with nogil:
 *         err = cydriver.cuMemImportFromShareableHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyosHandle_ptr, cyshHandleType)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)
*/
  }

  /* "cuda/bindings/driver.pyx":28120
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 28120, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_handle)) != (0)) __PYX_ERR(0, 28120, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28075
 *     return (_dict_CUresult[err], cyshareableHandle.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemImportFromShareableHandle(osHandle, shHandleType not None : CUmemAllocationHandleType):
 *     """ Imports an allocation from a requested shareable handle type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemImportFromShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyosHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28122
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationGranularity(prop : Optional[CUmemAllocationProp], option not None : CUmemAllocationGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_347cuMemGetAllocationGranularity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_346cuMemGetAllocationGranularity, "cuMemGetAllocationGranularity(CUmemAllocationProp prop: Optional[CUmemAllocationProp], option: CUmemAllocationGranularity_flags)\n\nCalculates either the minimal or recommended granularity.\n\nCalculates either the minimal or recommended granularity for a given\nallocation specification and returns it in granularity. This\ngranularity can be used as a multiple for alignment, size, or address\nmapping.\n\nParameters\n----------\nprop : :py:obj:`~.CUmemAllocationProp`\n    Property for which to determine the granularity for\noption : :py:obj:`~.CUmemAllocationGranularity_flags`\n    Determines which granularity to return\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\ngranularity : int\n    Returned granularity.\n\nSee Also\n--------\n:py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemMap`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_347cuMemGetAllocationGranularity = {"cuMemGetAllocationGranularity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_347cuMemGetAllocationGranularity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_346cuMemGetAllocationGranularity};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_347cuMemGetAllocationGranularity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *__pyx_v_prop = 0;
  PyObject *__pyx_v_option = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemGetAllocationGranularity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_prop,&__pyx_mstate_global->__pyx_n_u_option,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28122, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28122, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28122, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemGetAllocationGranularity", 0) < (0)) __PYX_ERR(0, 28122, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemGetAllocationGranularity", 1, 2, 2, i); __PYX_ERR(0, 28122, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28122, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28122, __pyx_L3_error)
    }
    __pyx_v_prop = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *)values[0]);
    __pyx_v_option = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetAllocationGranularity", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28122, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetAllocationGranularity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_prop), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp, 1, "prop", 0))) __PYX_ERR(0, 28123, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_option) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "option"); __PYX_ERR(0, 28123, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_346cuMemGetAllocationGranularity(__pyx_self, __pyx_v_prop, __pyx_v_option);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_346cuMemGetAllocationGranularity(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *__pyx_v_prop, PyObject *__pyx_v_option) {
  size_t __pyx_v_granularity;
  CUmemAllocationProp *__pyx_v_cyprop_ptr;
  CUmemAllocationGranularity_flags __pyx_v_cyoption;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUmemAllocationProp_st *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  CUmemAllocationGranularity_flags __pyx_t_4;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemGetAllocationGranularity", 0);

  /* "cuda/bindings/driver.pyx":28149
 *     :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemMap`
 *     """
 *     cdef size_t granularity = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     cdef cydriver.CUmemAllocationGranularity_flags cyoption = option.value
*/
  __pyx_v_granularity = 0;

  /* "cuda/bindings/driver.pyx":28150
 *     """
 *     cdef size_t granularity = 0
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationGranularity_flags cyoption = option.value
 *     with nogil:
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_prop) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cyprop_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":28151
 *     cdef size_t granularity = 0
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     cdef cydriver.CUmemAllocationGranularity_flags cyoption = option.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemGetAllocationGranularity(&granularity, cyprop_ptr, cyoption)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_option, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = ((enum CUmemAllocationGranularity_flags_enum)__Pyx_PyLong_As_enum__CUmemAllocationGranularity_flags_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoption = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":28152
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     cdef cydriver.CUmemAllocationGranularity_flags cyoption = option.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetAllocationGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28153
 *     cdef cydriver.CUmemAllocationGranularity_flags cyoption = option.value
 *     with nogil:
 *         err = cydriver.cuMemGetAllocationGranularity(&granularity, cyprop_ptr, cyoption)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetAllocationGranularity((&__pyx_v_granularity), __pyx_v_cyprop_ptr, __pyx_v_cyoption); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28153, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":28152
 *     cdef cydriver.CUmemAllocationProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     cdef cydriver.CUmemAllocationGranularity_flags cyoption = option.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetAllocationGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":28154
 *     with nogil:
 *         err = cydriver.cuMemGetAllocationGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], granularity)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":28155
 *         err = cydriver.cuMemGetAllocationGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], granularity)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 28155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 28155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 28155, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, Py_None) != (0)) __PYX_ERR(0, 28155, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28154
 *     with nogil:
 *         err = cydriver.cuMemGetAllocationGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], granularity)
*/
  }

  /* "cuda/bindings/driver.pyx":28156
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], granularity)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 28156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v_granularity); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 28156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28156, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 28156, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28122
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationGranularity(prop : Optional[CUmemAllocationProp], option not None : CUmemAllocationGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetAllocationGranularity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28158
 *     return (_dict_CUresult[err], granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationPropertiesFromHandle(handle):
 *     """ Retrieve the contents of the property structure defining properties for this handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_349cuMemGetAllocationPropertiesFromHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_348cuMemGetAllocationPropertiesFromHandle, "cuMemGetAllocationPropertiesFromHandle(handle)\n\nRetrieve the contents of the property structure defining properties for this handle.\n\nParameters\n----------\nhandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Handle which to perform the query on\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nprop : :py:obj:`~.CUmemAllocationProp`\n    Pointer to a properties structure which will hold the information\n    about this handle\n\nSee Also\n--------\n:py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemImportFromShareableHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_349cuMemGetAllocationPropertiesFromHandle = {"cuMemGetAllocationPropertiesFromHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_349cuMemGetAllocationPropertiesFromHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_348cuMemGetAllocationPropertiesFromHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_349cuMemGetAllocationPropertiesFromHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_handle = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemGetAllocationPropertiesFromHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_handle_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28158, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemGetAllocationPropertiesFromHandle", 0) < (0)) __PYX_ERR(0, 28158, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemGetAllocationPropertiesFromHandle", 1, 1, 1, i); __PYX_ERR(0, 28158, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28158, __pyx_L3_error)
    }
    __pyx_v_handle = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetAllocationPropertiesFromHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 28158, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetAllocationPropertiesFromHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_348cuMemGetAllocationPropertiesFromHandle(__pyx_self, __pyx_v_handle);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_348cuMemGetAllocationPropertiesFromHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle) {
  CUmemGenericAllocationHandle __pyx_v_cyhandle;
  PyObject *__pyx_v_phandle = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *__pyx_v_prop = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemGetAllocationPropertiesFromHandle", 0);

  /* "cuda/bindings/driver.pyx":28180
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28181
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:
 *         phandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28180
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28182
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28183
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)             # <<<<<<<<<<<<<<
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28182
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28185
 *         phandle = int(handle)
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28185, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28186
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28186, __pyx_L1_error)
  __pyx_v_cyhandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28187
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemGetAllocationPropertiesFromHandle(<cydriver.CUmemAllocationProp*>prop._pvt_ptr, cyhandle)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28187, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_prop = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":28188
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetAllocationPropertiesFromHandle(<cydriver.CUmemAllocationProp*>prop._pvt_ptr, cyhandle)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28189
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 *     with nogil:
 *         err = cydriver.cuMemGetAllocationPropertiesFromHandle(<cydriver.CUmemAllocationProp*>prop._pvt_ptr, cyhandle)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetAllocationPropertiesFromHandle(((CUmemAllocationProp *)__pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyhandle); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28189, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28188
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetAllocationPropertiesFromHandle(<cydriver.CUmemAllocationProp*>prop._pvt_ptr, cyhandle)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28190
 *     with nogil:
 *         err = cydriver.cuMemGetAllocationPropertiesFromHandle(<cydriver.CUmemAllocationProp*>prop._pvt_ptr, cyhandle)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], prop)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28191
 *         err = cydriver.cuMemGetAllocationPropertiesFromHandle(<cydriver.CUmemAllocationProp*>prop._pvt_ptr, cyhandle)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], prop)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 28191, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 28191, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28190
 *     with nogil:
 *         err = cydriver.cuMemGetAllocationPropertiesFromHandle(<cydriver.CUmemAllocationProp*>prop._pvt_ptr, cyhandle)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], prop)
*/
  }

  /* "cuda/bindings/driver.pyx":28192
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], prop)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28192, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_prop);
  __Pyx_GIVEREF((PyObject *)__pyx_v_prop);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_prop)) != (0)) __PYX_ERR(0, 28192, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28158
 *     return (_dict_CUresult[err], granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationPropertiesFromHandle(handle):
 *     """ Retrieve the contents of the property structure defining properties for this handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetAllocationPropertiesFromHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phandle);
  __Pyx_XDECREF((PyObject *)__pyx_v_prop);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28194
 *     return (_dict_CUresult[err], prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRetainAllocationHandle(addr):
 *     """ Given an address `addr`, returns the allocation handle of the backing memory allocation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_351cuMemRetainAllocationHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_350cuMemRetainAllocationHandle, "cuMemRetainAllocationHandle(addr)\n\nGiven an address `addr`, returns the allocation handle of the backing memory allocation.\n\nThe handle is guaranteed to be the same handle value used to map the\nmemory. If the address requested is not mapped, the function will fail.\nThe returned handle must be released with corresponding number of calls\nto :py:obj:`~.cuMemRelease`.\n\nParameters\n----------\naddr : Any\n    Memory address to query, that has been mapped previously.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nhandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    CUDA Memory handle for the backing memory allocation.\n\nSee Also\n--------\n:py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemMap`\n\nNotes\n-----\nThe address `addr`, can be any address in a range previously mapped by :py:obj:`~.cuMemMap`, and not necessarily the start address.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_351cuMemRetainAllocationHandle = {"cuMemRetainAllocationHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_351cuMemRetainAllocationHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_350cuMemRetainAllocationHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_351cuMemRetainAllocationHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_addr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemRetainAllocationHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_addr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28194, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28194, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemRetainAllocationHandle", 0) < (0)) __PYX_ERR(0, 28194, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemRetainAllocationHandle", 1, 1, 1, i); __PYX_ERR(0, 28194, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28194, __pyx_L3_error)
    }
    __pyx_v_addr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRetainAllocationHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 28194, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRetainAllocationHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_350cuMemRetainAllocationHandle(__pyx_self, __pyx_v_addr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_350cuMemRetainAllocationHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_addr) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_handle = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyaddr = NULL;
  void *__pyx_v_cyaddr_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemRetainAllocationHandle", 0);

  /* "cuda/bindings/driver.pyx":28223
 *     The address `addr`, can be any address in a range previously mapped by :py:obj:`~.cuMemMap`, and not necessarily the start address.
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()             # <<<<<<<<<<<<<<
 *     cyaddr = _HelperInputVoidPtr(addr)
 *     cdef void* cyaddr_ptr = <void*><void_ptr>cyaddr.cptr
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28223, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":28224
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cyaddr = _HelperInputVoidPtr(addr)             # <<<<<<<<<<<<<<
 *     cdef void* cyaddr_ptr = <void*><void_ptr>cyaddr.cptr
 *     with nogil:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_addr};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28224, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyaddr = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":28225
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cyaddr = _HelperInputVoidPtr(addr)
 *     cdef void* cyaddr_ptr = <void*><void_ptr>cyaddr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemRetainAllocationHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyaddr_ptr)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyaddr), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyaddr_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28226
 *     cyaddr = _HelperInputVoidPtr(addr)
 *     cdef void* cyaddr_ptr = <void*><void_ptr>cyaddr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRetainAllocationHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyaddr_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28227
 *     cdef void* cyaddr_ptr = <void*><void_ptr>cyaddr.cptr
 *     with nogil:
 *         err = cydriver.cuMemRetainAllocationHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyaddr_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemRetainAllocationHandle(((CUmemGenericAllocationHandle *)__pyx_v_handle->_pvt_ptr), __pyx_v_cyaddr_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28227, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":28226
 *     cyaddr = _HelperInputVoidPtr(addr)
 *     cdef void* cyaddr_ptr = <void*><void_ptr>cyaddr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRetainAllocationHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyaddr_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":28228
 *     with nogil:
 *         err = cydriver.cuMemRetainAllocationHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyaddr_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":28229
 *         err = cydriver.cuMemRetainAllocationHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyaddr_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], handle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28229, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 28229, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28228
 *     with nogil:
 *         err = cydriver.cuMemRetainAllocationHandle(<cydriver.CUmemGenericAllocationHandle*>handle._pvt_ptr, cyaddr_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)
*/
  }

  /* "cuda/bindings/driver.pyx":28230
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 28230, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_handle)) != (0)) __PYX_ERR(0, 28230, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28194
 *     return (_dict_CUresult[err], prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRetainAllocationHandle(addr):
 *     """ Given an address `addr`, returns the allocation handle of the backing memory allocation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRetainAllocationHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyaddr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28232
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeAsync(dptr, hStream):
 *     """ Frees memory with stream ordered semantics.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_353cuMemFreeAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_352cuMemFreeAsync, "cuMemFreeAsync(dptr, hStream)\n\nFrees memory with stream ordered semantics.\n\nInserts a free operation into `hStream`. The allocation must not be\naccessed after stream execution reaches the free. After this API\nreturns, accessing the memory from any subsequent work launched on the\nGPU or querying its pointer attributes results in undefined behavior.\n\nParameters\n----------\ndptr : :py:obj:`~.CUdeviceptr`\n    memory to free\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream establishing the stream ordering contract.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` (default stream specified with no current context), :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nNotes\n-----\nDuring stream capture, this function results in the creation of a free node and must therefore be passed the address of a graph allocation.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_353cuMemFreeAsync = {"cuMemFreeAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_353cuMemFreeAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_352cuMemFreeAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_353cuMemFreeAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptr = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemFreeAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptr_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28232, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28232, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28232, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemFreeAsync", 0) < (0)) __PYX_ERR(0, 28232, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemFreeAsync", 1, 2, 2, i); __PYX_ERR(0, 28232, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28232, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28232, __pyx_L3_error)
    }
    __pyx_v_dptr = values[0];
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemFreeAsync", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28232, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemFreeAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_352cuMemFreeAsync(__pyx_self, __pyx_v_dptr, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_352cuMemFreeAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemFreeAsync", 0);

  /* "cuda/bindings/driver.pyx":28258
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28259
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28258
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28260
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28261
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28260
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28263
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydptr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28263, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28264
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28264, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28266
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28267
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28266
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28268
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28269
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":28268
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28271
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dptr};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28271, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":28272
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemFreeAsync(cydptr, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28272, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28273
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemFreeAsync(cydptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28274
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
 *         err = cydriver.cuMemFreeAsync(cydptr, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemFreeAsync(__pyx_v_cydptr, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28274, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28273
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemFreeAsync(cydptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":28275
 *     with nogil:
 *         err = cydriver.cuMemFreeAsync(cydptr, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 28275, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28232
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeAsync(dptr, hStream):
 *     """ Frees memory with stream ordered semantics.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemFreeAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28277
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocAsync(size_t bytesize, hStream):
 *     """ Allocates memory with stream ordered semantics.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_355cuMemAllocAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_354cuMemAllocAsync, "cuMemAllocAsync(size_t bytesize, hStream)\n\nAllocates memory with stream ordered semantics.\n\nInserts an allocation operation into `hStream`. A pointer to the\nallocated memory is returned immediately in *dptr. The allocation must\nnot be accessed until the the allocation operation completes. The\nallocation comes from the memory pool current to the stream's device.\n\nParameters\n----------\nbytesize : size_t\n    Number of bytes to allocate\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream establishing the stream ordering contract and the memory\n    pool to allocate from\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` (default stream specified with no current context), :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\ndptr : :py:obj:`~.CUdeviceptr`\n    Returned device pointer\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocFromPoolAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceSetMemPool`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuMemPoolSetAccess`, :py:obj:`~.cuMemPoolSetAttribute`\n\nNotes\n-----\nThe default memory pool of a device contains device memory from that device.\n\nBasic stream ordering allows future work submitted into the same stream to use the allocation. Stream query, stream synchronize, and CUDA events can be used to guarantee that the allocation operation completes before work submitted in a separate stream runs.\n\nDuring stream capture, this function results in the creation of an allocation node. In this case, the allocation is owned by the graph instead of the memory pool. The memory pool's properties are used to set the node's creation parameters.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_355cuMemAllocAsync = {"cuMemAllocAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_355cuMemAllocAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_354cuMemAllocAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_355cuMemAllocAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_bytesize;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAllocAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_bytesize_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28277, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28277, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28277, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAllocAsync", 0) < (0)) __PYX_ERR(0, 28277, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAllocAsync", 1, 2, 2, i); __PYX_ERR(0, 28277, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28277, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28277, __pyx_L3_error)
    }
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 28278, __pyx_L3_error)
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocAsync", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28277, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_354cuMemAllocAsync(__pyx_self, __pyx_v_bytesize, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_354cuMemAllocAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocAsync", 0);

  /* "cuda/bindings/driver.pyx":28314
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28315
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28314
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28316
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28317
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28316
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28319
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28319, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28320
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28320, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28321
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAllocAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cyhStream)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28321, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":28322
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28323
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:
 *         err = cydriver.cuMemAllocAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cyhStream)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAllocAsync(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), __pyx_v_bytesize, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28323, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28322
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28324
 *     with nogil:
 *         err = cydriver.cuMemAllocAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28325
 *         err = cydriver.cuMemAllocAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 28325, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 28325, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28324
 *     with nogil:
 *         err = cydriver.cuMemAllocAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)
*/
  }

  /* "cuda/bindings/driver.pyx":28326
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28326, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 28326, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28277
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocAsync(size_t bytesize, hStream):
 *     """ Allocates memory with stream ordered semantics.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28328
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolTrimTo(pool, size_t minBytesToKeep):
 *     """ Tries to release memory back to the OS.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_357cuMemPoolTrimTo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_356cuMemPoolTrimTo, "cuMemPoolTrimTo(pool, size_t minBytesToKeep)\n\nTries to release memory back to the OS.\n\nReleases memory back to the OS until the pool contains fewer than\nminBytesToKeep reserved bytes, or there is no more memory that the\nallocator can safely release. The allocator cannot release OS\nallocations that back outstanding asynchronous allocations. The OS\nallocations may happen at different granularity from the user\nallocations.\n\nParameters\n----------\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    The memory pool to trim\nminBytesToKeep : size_t\n    If the pool has less than minBytesToKeep reserved, the TrimTo\n    operation is a no-op. Otherwise the pool will be guaranteed to have\n    at least minBytesToKeep bytes reserved after the operation.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`\n\nNotes\n-----\n: Allocations that have not been freed count as outstanding.\n\n: Allocations that have been asynchronously freed but whose completion has not been observed on the host (eg. by a synchronize) can count as outstanding.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_357cuMemPoolTrimTo = {"cuMemPoolTrimTo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_357cuMemPoolTrimTo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_356cuMemPoolTrimTo};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_357cuMemPoolTrimTo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pool = 0;
  size_t __pyx_v_minBytesToKeep;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolTrimTo (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pool,&__pyx_mstate_global->__pyx_n_u_minBytesToKeep,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28328, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28328, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28328, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolTrimTo", 0) < (0)) __PYX_ERR(0, 28328, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolTrimTo", 1, 2, 2, i); __PYX_ERR(0, 28328, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28328, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28328, __pyx_L3_error)
    }
    __pyx_v_pool = values[0];
    __pyx_v_minBytesToKeep = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_minBytesToKeep == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 28329, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolTrimTo", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28328, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolTrimTo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_356cuMemPoolTrimTo(__pyx_self, __pyx_v_pool, __pyx_v_minBytesToKeep);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_356cuMemPoolTrimTo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, size_t __pyx_v_minBytesToKeep) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolTrimTo", 0);

  /* "cuda/bindings/driver.pyx":28364
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28365
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28364
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28366
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28367
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28366
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28369
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28369, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28370
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28370, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28371
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28372
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolTrimTo(__pyx_v_cypool, __pyx_v_minBytesToKeep); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28372, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28371
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28373
 *     with nogil:
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28373, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28328
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolTrimTo(pool, size_t minBytesToKeep):
 *     """ Tries to release memory back to the OS.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolTrimTo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28375
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAttribute(pool, attr not None : CUmemPool_attribute, value):
 *     """ Sets attributes of a memory pool.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_359cuMemPoolSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_358cuMemPoolSetAttribute, "cuMemPoolSetAttribute(pool, attr: CUmemPool_attribute, value)\n\nSets attributes of a memory pool.\n\nSupported attributes are:\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD`: (value type =\n  cuuint64_t) Amount of reserved memory in bytes to hold onto before\n  trying to release memory back to the OS. When more than the release\n  threshold bytes of memory are held by the memory pool, the allocator\n  will try to release memory back to the OS on the next call to stream,\n  event or context synchronize. (default 0)\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES`: (value\n  type = int) Allow :py:obj:`~.cuMemAllocAsync` to use memory\n  asynchronously freed in another stream as long as a stream ordering\n  dependency of the allocating stream on the free action exists. Cuda\n  events and null stream interactions can create the required stream\n  ordered dependencies. (default enabled)\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC`: (value type =\n  int) Allow reuse of already completed frees when there is no\n  dependency between the free and allocation. (default enabled)\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES`: (value\n  type = int) Allow :py:obj:`~.cuMemAllocAsync` to insert new stream\n  dependencies in order to establish the stream ordering required to\n  reuse a piece of memory released by :py:obj:`~.cuMemFreeAsync`\n  (default enabled).\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH`: (value type =\n  cuuint64_t) Reset the high watermark that tracks the amount of\n  backing memory that was allocated for the memory pool. It is illegal\n  to set this attribute to a non-zero value.\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_USED_MEM_HIGH`: (value type = cuuint64_t)\n  Reset the high watermark that tracks the amount of used memory that\n  was allocated for the memory pool.\n\nParameters\n----------\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    The memory pool to modify\nattr : :py:obj:`~.CUmemPo""ol_attribute`\n    The attribute to modify\nvalue : Any\n    Pointer to the value to assign\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_359cuMemPoolSetAttribute = {"cuMemPoolSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_359cuMemPoolSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_358cuMemPoolSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_359cuMemPoolSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pool = 0;
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolSetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pool,&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28375, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28375, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28375, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28375, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolSetAttribute", 0) < (0)) __PYX_ERR(0, 28375, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAttribute", 1, 3, 3, i); __PYX_ERR(0, 28375, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28375, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28375, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28375, __pyx_L3_error)
    }
    __pyx_v_pool = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 28375, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 28376, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_358cuMemPoolSetAttribute(__pyx_self, __pyx_v_pool, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_358cuMemPoolSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_attr, PyObject *__pyx_v_value) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  CUmemPool_attribute __pyx_v_cyattr;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUmemPool_attribute __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":28433
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28434
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28433
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28435
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28436
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28435
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28438
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28438, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28439
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, value, is_getter=False)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28439, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28440
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUmemPool_attribute_enum)__Pyx_PyLong_As_enum__CUmemPool_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":28441
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attr, __pyx_v_value};
    __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28441, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_False, __pyx_t_8, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 28441, __pyx_L1_error)
    __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28441, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":28442
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAttribute(cypool, cyattr, cyvalue_ptr)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28443
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolSetAttribute(cypool, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28444
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAttribute(cypool, cyattr, cyvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolSetAttribute(__pyx_v_cypool, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28444, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":28443
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolSetAttribute(cypool, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28445
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAttribute(cypool, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 28445, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28375
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAttribute(pool, attr not None : CUmemPool_attribute, value):
 *     """ Sets attributes of a memory pool.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28447
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAttribute(pool, attr not None : CUmemPool_attribute):
 *     """ Gets attributes of a memory pool.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_361cuMemPoolGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_360cuMemPoolGetAttribute, "cuMemPoolGetAttribute(pool, attr: CUmemPool_attribute)\n\nGets attributes of a memory pool.\n\nSupported attributes are:\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD`: (value type =\n  cuuint64_t) Amount of reserved memory in bytes to hold onto before\n  trying to release memory back to the OS. When more than the release\n  threshold bytes of memory are held by the memory pool, the allocator\n  will try to release memory back to the OS on the next call to stream,\n  event or context synchronize. (default 0)\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES`: (value\n  type = int) Allow :py:obj:`~.cuMemAllocAsync` to use memory\n  asynchronously freed in another stream as long as a stream ordering\n  dependency of the allocating stream on the free action exists. Cuda\n  events and null stream interactions can create the required stream\n  ordered dependencies. (default enabled)\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC`: (value type =\n  int) Allow reuse of already completed frees when there is no\n  dependency between the free and allocation. (default enabled)\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES`: (value\n  type = int) Allow :py:obj:`~.cuMemAllocAsync` to insert new stream\n  dependencies in order to establish the stream ordering required to\n  reuse a piece of memory released by :py:obj:`~.cuMemFreeAsync`\n  (default enabled).\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT`: (value type =\n  cuuint64_t) Amount of backing memory currently allocated for the\n  mempool\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH`: (value type =\n  cuuint64_t) High watermark of backing memory allocated for the\n  mempool since the last time it was reset.\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_USED_MEM_CURRENT`: (value type =\n  cuuint64_t) Amount of memory from the pool that is currently in use\n  by the application.\n\n- :py:obj:`~.CU_MEMPOOL_ATTR_USED_MEM_HIGH`: (value type = cuuint64_t)\n  High watermark of the am""ount of memory from the pool that was in use\n  by the application.\n\nParameters\n----------\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    The memory pool to get attributes of\nattr : :py:obj:`~.CUmemPool_attribute`\n    The attribute to get\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nvalue : Any\n    Retrieved value\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_361cuMemPoolGetAttribute = {"cuMemPoolGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_361cuMemPoolGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_360cuMemPoolGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_361cuMemPoolGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pool = 0;
  PyObject *__pyx_v_attr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pool,&__pyx_mstate_global->__pyx_n_u_attr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28447, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28447, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28447, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolGetAttribute", 0) < (0)) __PYX_ERR(0, 28447, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolGetAttribute", 1, 2, 2, i); __PYX_ERR(0, 28447, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28447, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28447, __pyx_L3_error)
    }
    __pyx_v_pool = values[0];
    __pyx_v_attr = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolGetAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28447, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 28448, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_360cuMemPoolGetAttribute(__pyx_self, __pyx_v_pool, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_360cuMemPoolGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_attr) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  CUmemPool_attribute __pyx_v_cyattr;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUmemPool_attribute __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":28512
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28513
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28512
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28514
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28515
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28514
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28517
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28517, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28518
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, 0, is_getter=True)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28518, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28519
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUmemPool_attribute_enum)__Pyx_PyLong_As_enum__CUmemPool_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":28520
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attr, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_8, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 28520, __pyx_L1_error)
    __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28520, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":28521
 *     cdef cydriver.CUmemPool_attribute cyattr = attr.value
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolGetAttribute(cypool, cyattr, cyvalue_ptr)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28522
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolGetAttribute(cypool, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28523
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
 *         err = cydriver.cuMemPoolGetAttribute(cypool, cyattr, cyvalue_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolGetAttribute(__pyx_v_cypool, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28523, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":28522
 *     cdef _HelperCUmemPool_attribute cyvalue = _HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolGetAttribute(cypool, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28524
 *     with nogil:
 *         err = cydriver.cuMemPoolGetAttribute(cypool, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28525
 *         err = cydriver.cuMemPoolGetAttribute(cypool, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_8);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 28525, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 28525, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28524
 *     with nogil:
 *         err = cydriver.cuMemPoolGetAttribute(cypool, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())
*/
  }

  /* "cuda/bindings/driver.pyx":28526
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_3 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_8 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28526, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 28526, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28447
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAttribute(pool, attr not None : CUmemPool_attribute):
 *     """ Gets attributes of a memory pool.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28528
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count):
 *     """ Controls visibility of pools between devices.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_363cuMemPoolSetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_362cuMemPoolSetAccess, "cuMemPoolSetAccess(pool, map: Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count)\n\nControls visibility of pools between devices.\n\nParameters\n----------\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    The pool being modified\nmap : list[:py:obj:`~.CUmemAccessDesc`]\n    Array of access descriptors. Each descriptor instructs the access\n    to enable for a single gpu.\ncount : size_t\n    Number of descriptors in the map array.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_363cuMemPoolSetAccess = {"cuMemPoolSetAccess", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_363cuMemPoolSetAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_362cuMemPoolSetAccess};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_363cuMemPoolSetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pool = 0;
  PyObject *__pyx_v_map = 0;
  size_t __pyx_v_count;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolSetAccess (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pool,&__pyx_mstate_global->__pyx_n_u_map,&__pyx_mstate_global->__pyx_n_u_count_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28528, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28528, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28528, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28528, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolSetAccess", 0) < (0)) __PYX_ERR(0, 28528, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAccess", 1, 3, 3, i); __PYX_ERR(0, 28528, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28528, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28528, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28528, __pyx_L3_error)
    }
    __pyx_v_pool = values[0];
    __pyx_v_map = values[1];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 28529, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAccess", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 28528, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_362cuMemPoolSetAccess(__pyx_self, __pyx_v_pool, __pyx_v_map, __pyx_v_count);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemPoolSetAccess_2generator131(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":28552
 *     """
 *     map = [] if map is None else map
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in map):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUmemoryPool cypool
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuMemPoolSetAccess_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 28552, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuMemPoolSetAccess_2generator131, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[131]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemPoolSetAccess_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 28552, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolSetAccess.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemPoolSetAccess_2generator131(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 28552, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 28552, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28552, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 28552, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 28552, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28552, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 28552, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28528
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count):
 *     """ Controls visibility of pools between devices.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_362cuMemPoolSetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_map, size_t __pyx_v_count) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  CUmemAccessDesc *__pyx_v_cymap;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemPoolSetAccess_2generator131 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUmemAccessDesc_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolSetAccess", 0);
  __Pyx_INCREF(__pyx_v_map);

  /* "cuda/bindings/driver.pyx":28551
 *     :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`
 *     """
 *     map = [] if map is None else map             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in map):
 *         raise TypeError("Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
*/
  __pyx_t_2 = (__pyx_v_map == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_map);
    __pyx_t_1 = __pyx_v_map;
  }
  __Pyx_DECREF_SET(__pyx_v_map, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":28552
 *     """
 *     map = [] if map is None else map
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in map):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUmemoryPool cypool
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_18cuMemPoolSetAccess_genexpr(NULL, __pyx_v_map); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 28552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":28553
 *     map = [] if map is None else map
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in map):
 *         raise TypeError("Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_map_is_not_instance_of};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28553, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 28553, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":28552
 *     """
 *     map = [] if map is None else map
 *     if not all(isinstance(_x, (CUmemAccessDesc,)) for _x in map):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUmemoryPool cypool
*/
  }

  /* "cuda/bindings/driver.pyx":28555
 *         raise TypeError("Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_4 = (__pyx_v_pool == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28556
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28555
 *         raise TypeError("Argument 'map' is not instance of type (expected tuple[cydriver.CUmemAccessDesc,] or list[cydriver.CUmemAccessDesc,]")
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28557
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28558
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":28557
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28560
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemAccessDesc* cymap = NULL
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_pool};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28560, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":28561
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAccessDesc* cymap = NULL
 *     if len(map) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28561, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":28562
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemAccessDesc* cymap = NULL             # <<<<<<<<<<<<<<
 *     if len(map) > 1:
 *         cymap = <cydriver.CUmemAccessDesc*> calloc(len(map), sizeof(cydriver.CUmemAccessDesc))
*/
  __pyx_v_cymap = NULL;

  /* "cuda/bindings/driver.pyx":28563
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemAccessDesc* cymap = NULL
 *     if len(map) > 1:             # <<<<<<<<<<<<<<
 *         cymap = <cydriver.CUmemAccessDesc*> calloc(len(map), sizeof(cydriver.CUmemAccessDesc))
 *         if cymap is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28563, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28564
 *     cdef cydriver.CUmemAccessDesc* cymap = NULL
 *     if len(map) > 1:
 *         cymap = <cydriver.CUmemAccessDesc*> calloc(len(map), sizeof(cydriver.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *         if cymap is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28564, __pyx_L1_error)
    __pyx_v_cymap = ((CUmemAccessDesc *)calloc(__pyx_t_8, (sizeof(CUmemAccessDesc))));

    /* "cuda/bindings/driver.pyx":28565
 *     if len(map) > 1:
 *         cymap = <cydriver.CUmemAccessDesc*> calloc(len(map), sizeof(cydriver.CUmemAccessDesc))
 *         if cymap is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *         for idx in range(len(map)):
*/
    __pyx_t_4 = (__pyx_v_cymap == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":28566
 *         cymap = <cydriver.CUmemAccessDesc*> calloc(len(map), sizeof(cydriver.CUmemAccessDesc))
 *         if cymap is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(map)):
 *             string.memcpy(&cymap[idx], (<CUmemAccessDesc>map[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28566, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 28566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28566, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 28566, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":28565
 *     if len(map) > 1:
 *         cymap = <cydriver.CUmemAccessDesc*> calloc(len(map), sizeof(cydriver.CUmemAccessDesc))
 *         if cymap is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *         for idx in range(len(map)):
*/
    }

    /* "cuda/bindings/driver.pyx":28567
 *         if cymap is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *         for idx in range(len(map)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cymap[idx], (<CUmemAccessDesc>map[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 *     elif len(map) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28567, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":28568
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(cydriver.CUmemAccessDesc)))
 *         for idx in range(len(map)):
 *             string.memcpy(&cymap[idx], (<CUmemAccessDesc>map[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *     elif len(map) == 1:
 *         cymap = (<CUmemAccessDesc>map[0])._pvt_ptr
*/
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_map, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cymap[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc *)__pyx_t_1)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUmemAccessDesc))));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "cuda/bindings/driver.pyx":28563
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemAccessDesc* cymap = NULL
 *     if len(map) > 1:             # <<<<<<<<<<<<<<
 *         cymap = <cydriver.CUmemAccessDesc*> calloc(len(map), sizeof(cydriver.CUmemAccessDesc))
 *         if cymap is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":28569
 *         for idx in range(len(map)):
 *             string.memcpy(&cymap[idx], (<CUmemAccessDesc>map[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 *     elif len(map) == 1:             # <<<<<<<<<<<<<<
 *         cymap = (<CUmemAccessDesc>map[0])._pvt_ptr
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28569, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28570
 *             string.memcpy(&cymap[idx], (<CUmemAccessDesc>map[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 *     elif len(map) == 1:
 *         cymap = (<CUmemAccessDesc>map[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 *     with nogil:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_map, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc *)__pyx_t_1)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cymap = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":28569
 *         for idx in range(len(map)):
 *             string.memcpy(&cymap[idx], (<CUmemAccessDesc>map[idx])._pvt_ptr, sizeof(cydriver.CUmemAccessDesc))
 *     elif len(map) == 1:             # <<<<<<<<<<<<<<
 *         cymap = (<CUmemAccessDesc>map[0])._pvt_ptr
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":28571
 *     elif len(map) == 1:
 *         cymap = (<CUmemAccessDesc>map[0])._pvt_ptr
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAccess(cypool, cymap, count)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28571, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28571, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 28571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 28571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 28571, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":28572
 *         cymap = (<CUmemAccessDesc>map[0])._pvt_ptr
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolSetAccess(cypool, cymap, count)
 *     if len(map) > 1 and cymap is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28573
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAccess(cypool, cymap, count)             # <<<<<<<<<<<<<<
 *     if len(map) > 1 and cymap is not NULL:
 *         free(cymap)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolSetAccess(__pyx_v_cypool, __pyx_v_cymap, __pyx_v_count); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28573, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":28572
 *         cymap = (<CUmemAccessDesc>map[0])._pvt_ptr
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolSetAccess(cypool, cymap, count)
 *     if len(map) > 1 and cymap is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":28574
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAccess(cypool, cymap, count)
 *     if len(map) > 1 and cymap is not NULL:             # <<<<<<<<<<<<<<
 *         free(cymap)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28574, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cymap != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28575
 *         err = cydriver.cuMemPoolSetAccess(cypool, cymap, count)
 *     if len(map) > 1 and cymap is not NULL:
 *         free(cymap)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cymap);

    /* "cuda/bindings/driver.pyx":28574
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAccess(cypool, cymap, count)
 *     if len(map) > 1 and cymap is not NULL:             # <<<<<<<<<<<<<<
 *         free(cymap)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":28576
 *     if len(map) > 1 and cymap is not NULL:
 *         free(cymap)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28576, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28528
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count):
 *     """ Controls visibility of pools between devices.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemPoolSetAccess_2generator131);
  __Pyx_XDECREF(__pyx_v_map);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28578
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAccess(memPool, location : Optional[CUmemLocation]):
 *     """ Returns the accessibility of a pool from a device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_365cuMemPoolGetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_364cuMemPoolGetAccess, "cuMemPoolGetAccess(memPool, CUmemLocation location: Optional[CUmemLocation])\n\nReturns the accessibility of a pool from a device.\n\nReturns the accessibility of the pool's memory from the specified\nlocation.\n\nParameters\n----------\nmemPool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    the pool being queried\nlocation : :py:obj:`~.CUmemLocation`\n    the location accessing the pool\n\nReturns\n-------\nCUresult\n\nflags : :py:obj:`~.CUmemAccess_flags`\n    the accessibility of the pool from the specified location\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_365cuMemPoolGetAccess = {"cuMemPoolGetAccess", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_365cuMemPoolGetAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_364cuMemPoolGetAccess};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_365cuMemPoolGetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_memPool = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolGetAccess (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_memPool,&__pyx_mstate_global->__pyx_n_u_location_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28578, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28578, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28578, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolGetAccess", 0) < (0)) __PYX_ERR(0, 28578, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolGetAccess", 1, 2, 2, i); __PYX_ERR(0, 28578, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28578, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28578, __pyx_L3_error)
    }
    __pyx_v_memPool = values[0];
    __pyx_v_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolGetAccess", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28578, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolGetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 1, "location", 0))) __PYX_ERR(0, 28579, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_364cuMemPoolGetAccess(__pyx_self, __pyx_v_memPool, __pyx_v_location);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_364cuMemPoolGetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location) {
  CUmemoryPool __pyx_v_cymemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  CUmemAccess_flags __pyx_v_flags;
  CUmemLocation *__pyx_v_cylocation_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUmemLocation_st *__pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolGetAccess", 0);

  /* "cuda/bindings/driver.pyx":28604
 *     """
 *     cdef cydriver.CUmemoryPool cymemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         pmemPool = 0
 *     elif isinstance(memPool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28605
 *     cdef cydriver.CUmemoryPool cymemPool
 *     if memPool is None:
 *         pmemPool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (CUmemoryPool,)):
 *         pmemPool = int(memPool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmemPool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28604
 *     """
 *     cdef cydriver.CUmemoryPool cymemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         pmemPool = 0
 *     elif isinstance(memPool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28606
 *     if memPool is None:
 *         pmemPool = 0
 *     elif isinstance(memPool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28607
 *         pmemPool = 0
 *     elif isinstance(memPool, (CUmemoryPool,)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(CUmemoryPool(memPool))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemPool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28606
 *     if memPool is None:
 *         pmemPool = 0
 *     elif isinstance(memPool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28609
 *         pmemPool = int(memPool)
 *     else:
 *         pmemPool = int(CUmemoryPool(memPool))             # <<<<<<<<<<<<<<
 *     cymemPool = <cydriver.CUmemoryPool><void_ptr>pmemPool
 *     cdef cydriver.CUmemAccess_flags flags
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_memPool};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28609, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemPool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28610
 *     else:
 *         pmemPool = int(CUmemoryPool(memPool))
 *     cymemPool = <cydriver.CUmemoryPool><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAccess_flags flags
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28610, __pyx_L1_error)
  __pyx_v_cymemPool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28612
 *     cymemPool = <cydriver.CUmemoryPool><void_ptr>pmemPool
 *     cdef cydriver.CUmemAccess_flags flags
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolGetAccess(&flags, cymemPool, cylocation_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_location) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_location->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cylocation_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":28613
 *     cdef cydriver.CUmemAccess_flags flags
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolGetAccess(&flags, cymemPool, cylocation_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28614
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemPoolGetAccess(&flags, cymemPool, cylocation_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolGetAccess((&__pyx_v_flags), __pyx_v_cymemPool, __pyx_v_cylocation_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28614, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":28613
 *     cdef cydriver.CUmemAccess_flags flags
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolGetAccess(&flags, cymemPool, cylocation_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28615
 *     with nogil:
 *         err = cydriver.cuMemPoolGetAccess(&flags, cymemPool, cylocation_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUmemAccess_flags(flags))
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28616
 *         err = cydriver.cuMemPoolGetAccess(&flags, cymemPool, cylocation_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUmemAccess_flags(flags))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28616, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 28616, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28615
 *     with nogil:
 *         err = cydriver.cuMemPoolGetAccess(&flags, cymemPool, cylocation_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUmemAccess_flags(flags))
*/
  }

  /* "cuda/bindings/driver.pyx":28617
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUmemAccess_flags(flags))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_CUmemAccess_flags); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyLong_From_enum__CUmemAccess_flags_enum(__pyx_v_flags); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_10};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28617, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28617, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 28617, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28578
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAccess(memPool, location : Optional[CUmemLocation]):
 *     """ Returns the accessibility of a pool from a device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolGetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemPool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28619
 *     return (_dict_CUresult[err], CUmemAccess_flags(flags))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolCreate(poolProps : Optional[CUmemPoolProps]):
 *     """ Creates a memory pool.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_367cuMemPoolCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_366cuMemPoolCreate, "cuMemPoolCreate(CUmemPoolProps poolProps: Optional[CUmemPoolProps])\n\nCreates a memory pool.\n\nCreates a CUDA memory pool and returns the handle in `pool`. The\n`poolProps` determines the properties of the pool such as the backing\ndevice and IPC capabilities.\n\nTo create a memory pool targeting a specific host NUMA node,\napplications must set :py:obj:`~.CUmemPoolProps`::CUmemLocation::type\nto :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` and\n:py:obj:`~.CUmemPoolProps`::CUmemLocation::id must specify the NUMA ID\nof the host memory node. Specifying\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT` or\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` as the\n:py:obj:`~.CUmemPoolProps`::CUmemLocation::type will result in\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE`. By default, the pool's memory\nwill be accessible from the device it is allocated on. In the case of\npools created with :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`, their\ndefault accessibility will be from the host CPU. Applications can\ncontrol the maximum size of the pool by specifying a non-zero value for\n:py:obj:`~.CUmemPoolProps.maxSize`. If set to 0, the maximum size of\nthe pool will default to a system dependent value.\n\nApplications that intend to use :py:obj:`~.CU_MEM_HANDLE_TYPE_FABRIC`\nbased memory sharing must ensure: (1) `nvidia-caps-imex-channels`\ncharacter device is created by the driver and is listed under\n/proc/devices (2) have at least one IMEX channel file accessible by the\nuser launching the application.\n\nWhen exporter and importer CUDA processes have been granted access to\nthe same IMEX channel, they can securely share memory.\n\nThe IMEX channel security model works on a per user basis. Which means\nall processes under a user can share memory if the user has access to a\nvalid IMEX channel. When multi-user isolation is desired, a separate\nIMEX channel is required for each user.\n\nThese channel files exist in /dev/nvidia-caps-imex-channels/channel*\nand can be created using standard OS"" native calls like mknod on Linux.\nFor example: To create channel0 with the major number from\n/proc/devices users can execute the following command: `mknod\n/dev/nvidia-caps-imex-channels/channel0 c <major number> 0`\n\nParameters\n----------\npoolProps : :py:obj:`~.CUmemPoolProps`\n    None\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\npool : :py:obj:`~.CUmemoryPool`\n    None\n\nSee Also\n--------\n:py:obj:`~.cuDeviceSetMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuMemAllocFromPoolAsync`, :py:obj:`~.cuMemPoolExportToShareableHandle`\n\nNotes\n-----\nSpecifying CU_MEM_HANDLE_TYPE_NONE creates a memory pool that will not support IPC.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_367cuMemPoolCreate = {"cuMemPoolCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_367cuMemPoolCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_366cuMemPoolCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_367cuMemPoolCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *__pyx_v_poolProps = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_poolProps_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28619, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28619, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolCreate", 0) < (0)) __PYX_ERR(0, 28619, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolCreate", 1, 1, 1, i); __PYX_ERR(0, 28619, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28619, __pyx_L3_error)
    }
    __pyx_v_poolProps = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 28619, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_poolProps), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps, 1, "poolProps", 0))) __PYX_ERR(0, 28620, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_366cuMemPoolCreate(__pyx_self, __pyx_v_poolProps);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_366cuMemPoolCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *__pyx_v_poolProps) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_pool = 0;
  CUmemPoolProps *__pyx_v_cypoolProps_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUmemPoolProps_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolCreate", 0);

  /* "cuda/bindings/driver.pyx":28683
 *     Specifying CU_MEM_HANDLE_TYPE_NONE creates a memory pool that will not support IPC.
 *     """
 *     cdef CUmemoryPool pool = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemPoolProps* cypoolProps_ptr = poolProps._pvt_ptr if poolProps is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28683, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pool = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":28684
 *     """
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     cdef cydriver.CUmemPoolProps* cypoolProps_ptr = poolProps._pvt_ptr if poolProps is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolCreate(<cydriver.CUmemoryPool*>pool._pvt_ptr, cypoolProps_ptr)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_poolProps) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_poolProps->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cypoolProps_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":28685
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     cdef cydriver.CUmemPoolProps* cypoolProps_ptr = poolProps._pvt_ptr if poolProps is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolCreate(<cydriver.CUmemoryPool*>pool._pvt_ptr, cypoolProps_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28686
 *     cdef cydriver.CUmemPoolProps* cypoolProps_ptr = poolProps._pvt_ptr if poolProps is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemPoolCreate(<cydriver.CUmemoryPool*>pool._pvt_ptr, cypoolProps_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolCreate(((CUmemoryPool *)__pyx_v_pool->_pvt_ptr), __pyx_v_cypoolProps_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28686, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28685
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     cdef cydriver.CUmemPoolProps* cypoolProps_ptr = poolProps._pvt_ptr if poolProps is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolCreate(<cydriver.CUmemoryPool*>pool._pvt_ptr, cypoolProps_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":28687
 *     with nogil:
 *         err = cydriver.cuMemPoolCreate(<cydriver.CUmemoryPool*>pool._pvt_ptr, cypoolProps_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":28688
 *         err = cydriver.cuMemPoolCreate(<cydriver.CUmemoryPool*>pool._pvt_ptr, cypoolProps_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pool)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 28688, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 28688, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28687
 *     with nogil:
 *         err = cydriver.cuMemPoolCreate(<cydriver.CUmemoryPool*>pool._pvt_ptr, cypoolProps_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool)
*/
  }

  /* "cuda/bindings/driver.pyx":28689
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 28689, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pool)) != (0)) __PYX_ERR(0, 28689, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28619
 *     return (_dict_CUresult[err], CUmemAccess_flags(flags))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolCreate(poolProps : Optional[CUmemPoolProps]):
 *     """ Creates a memory pool.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28691
 *     return (_dict_CUresult[err], pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolDestroy(pool):
 *     """ Destroys the specified memory pool.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_369cuMemPoolDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_368cuMemPoolDestroy, "cuMemPoolDestroy(pool)\n\nDestroys the specified memory pool.\n\nIf any pointers obtained from this pool haven't been freed or the pool\nhas free operations that haven't completed when\n:py:obj:`~.cuMemPoolDestroy` is invoked, the function will return\nimmediately and the resources associated with the pool will be released\nautomatically once there are no more outstanding allocations.\n\nDestroying the current mempool of a device sets the default mempool of\nthat device as the current mempool for that device.\n\nParameters\n----------\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    None\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceSetMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuMemPoolCreate`\n\nNotes\n-----\nA device's default memory pool cannot be destroyed.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_369cuMemPoolDestroy = {"cuMemPoolDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_369cuMemPoolDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_368cuMemPoolDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_369cuMemPoolDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pool = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pool,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28691, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28691, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolDestroy", 0) < (0)) __PYX_ERR(0, 28691, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolDestroy", 1, 1, 1, i); __PYX_ERR(0, 28691, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28691, __pyx_L3_error)
    }
    __pyx_v_pool = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 28691, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_368cuMemPoolDestroy(__pyx_self, __pyx_v_pool);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_368cuMemPoolDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolDestroy", 0);

  /* "cuda/bindings/driver.pyx":28723
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28724
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28723
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28725
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28726
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28725
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28728
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28728, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28729
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolDestroy(cypool)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28729, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28730
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolDestroy(cypool)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28731
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:
 *         err = cydriver.cuMemPoolDestroy(cypool)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolDestroy(__pyx_v_cypool); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28731, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28730
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolDestroy(cypool)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28732
 *     with nogil:
 *         err = cydriver.cuMemPoolDestroy(cypool)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28732, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28691
 *     return (_dict_CUresult[err], pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolDestroy(pool):
 *     """ Destroys the specified memory pool.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28734
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocFromPoolAsync(size_t bytesize, pool, hStream):
 *     """ Allocates memory from a specified pool with stream ordered semantics.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_371cuMemAllocFromPoolAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_370cuMemAllocFromPoolAsync, "cuMemAllocFromPoolAsync(size_t bytesize, pool, hStream)\n\nAllocates memory from a specified pool with stream ordered semantics.\n\nInserts an allocation operation into `hStream`. A pointer to the\nallocated memory is returned immediately in *dptr. The allocation must\nnot be accessed until the the allocation operation completes. The\nallocation comes from the specified memory pool.\n\nParameters\n----------\nbytesize : size_t\n    Number of bytes to allocate\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    The pool to allocate from\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream establishing the stream ordering semantic\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` (default stream specified with no current context), :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\ndptr : :py:obj:`~.CUdeviceptr`\n    Returned device pointer\n\nSee Also\n--------\n:py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuMemPoolSetAccess`, :py:obj:`~.cuMemPoolSetAttribute`\n\nNotes\n-----\nDuring stream capture, this function results in the creation of an allocation node. In this case, the allocation is owned by the graph instead of the memory pool. The memory pool's properties are used to set the node's creation parameters.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_371cuMemAllocFromPoolAsync = {"cuMemAllocFromPoolAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_371cuMemAllocFromPoolAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_370cuMemAllocFromPoolAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_371cuMemAllocFromPoolAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_bytesize;
  PyObject *__pyx_v_pool = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAllocFromPoolAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_bytesize_2,&__pyx_mstate_global->__pyx_n_u_pool,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28734, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28734, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28734, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28734, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAllocFromPoolAsync", 0) < (0)) __PYX_ERR(0, 28734, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAllocFromPoolAsync", 1, 3, 3, i); __PYX_ERR(0, 28734, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28734, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28734, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28734, __pyx_L3_error)
    }
    __pyx_v_bytesize = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 28735, __pyx_L3_error)
    __pyx_v_pool = values[1];
    __pyx_v_hStream = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocFromPoolAsync", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 28734, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocFromPoolAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_370cuMemAllocFromPoolAsync(__pyx_self, __pyx_v_bytesize, __pyx_v_pool, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_370cuMemAllocFromPoolAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, PyObject *__pyx_v_pool, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocFromPoolAsync", 0);

  /* "cuda/bindings/driver.pyx":28768
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28769
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28768
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28770
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28771
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28770
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28773
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUmemoryPool cypool
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28773, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28774
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28774, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28776
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28777
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28776
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28778
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28779
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_ppool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":28778
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28781
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_pool};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28781, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":28782
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28782, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28783
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAllocFromPoolAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cypool, cyhStream)
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28783, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":28784
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocFromPoolAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cypool, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28785
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:
 *         err = cydriver.cuMemAllocFromPoolAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cypool, cyhStream)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAllocFromPoolAsync(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), __pyx_v_bytesize, __pyx_v_cypool, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28785, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28784
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocFromPoolAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cypool, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":28786
 *     with nogil:
 *         err = cydriver.cuMemAllocFromPoolAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cypool, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28787
 *         err = cydriver.cuMemAllocFromPoolAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cypool, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28787, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 28787, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28786
 *     with nogil:
 *         err = cydriver.cuMemAllocFromPoolAsync(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, cypool, cyhStream)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)
*/
  }

  /* "cuda/bindings/driver.pyx":28788
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28788, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 28788, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28734
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocFromPoolAsync(size_t bytesize, pool, hStream):
 *     """ Allocates memory from a specified pool with stream ordered semantics.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAllocFromPoolAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28790
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportToShareableHandle(pool, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports a memory pool to the requested handle type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_373cuMemPoolExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_372cuMemPoolExportToShareableHandle, "cuMemPoolExportToShareableHandle(pool, handleType: CUmemAllocationHandleType, unsigned long long flags)\n\nExports a memory pool to the requested handle type.\n\nGiven an IPC capable mempool, create an OS handle to share the pool\nwith another process. A recipient process can convert the shareable\nhandle into a mempool with\n:py:obj:`~.cuMemPoolImportFromShareableHandle`. Individual pointers can\nthen be shared with the :py:obj:`~.cuMemPoolExportPointer` and\n:py:obj:`~.cuMemPoolImportPointer` APIs. The implementation of what the\nshareable handle is and how it can be transferred is defined by the\nrequested handle type.\n\nParameters\n----------\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    pool to export\nhandleType : :py:obj:`~.CUmemAllocationHandleType`\n    the type of handle to create\nflags : unsigned long long\n    must be 0\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nhandle_out : Any\n    Returned OS handle\n\nSee Also\n--------\n:py:obj:`~.cuMemPoolImportFromShareableHandle`, :py:obj:`~.cuMemPoolExportPointer`, :py:obj:`~.cuMemPoolImportPointer`, :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuMemPoolSetAccess`, :py:obj:`~.cuMemPoolSetAttribute`\n\nNotes\n-----\n: To create an IPC capable mempool, create a mempool with a CUmemAllocationHandleType other than CU_MEM_HANDLE_TYPE_NONE.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_373cuMemPoolExportToShareableHandle = {"cuMemPoolExportToShareableHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_373cuMemPoolExportToShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_372cuMemPoolExportToShareableHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_373cuMemPoolExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pool = 0;
  PyObject *__pyx_v_handleType = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolExportToShareableHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pool,&__pyx_mstate_global->__pyx_n_u_handleType,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28790, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28790, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28790, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28790, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolExportToShareableHandle", 0) < (0)) __PYX_ERR(0, 28790, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolExportToShareableHandle", 1, 3, 3, i); __PYX_ERR(0, 28790, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28790, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28790, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28790, __pyx_L3_error)
    }
    __pyx_v_pool = values[0];
    __pyx_v_handleType = values[1];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28791, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolExportToShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 28790, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolExportToShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_handleType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "handleType"); __PYX_ERR(0, 28791, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_372cuMemPoolExportToShareableHandle(__pyx_self, __pyx_v_pool, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_372cuMemPoolExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *__pyx_v_cyhandle_out = 0;
  void *__pyx_v_cyhandle_out_ptr;
  CUmemAllocationHandleType __pyx_v_cyhandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUmemAllocationHandleType __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolExportToShareableHandle", 0);

  /* "cuda/bindings/driver.pyx":28828
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28829
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28828
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28830
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28831
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28830
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28833
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef _HelperCUmemAllocationHandleType cyhandle_out = _HelperCUmemAllocationHandleType(handleType)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28833, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28834
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef _HelperCUmemAllocationHandleType cyhandle_out = _HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cyhandle_out_ptr = <void*><void_ptr>cyhandle_out.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28834, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28835
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef _HelperCUmemAllocationHandleType cyhandle_out = _HelperCUmemAllocationHandleType(handleType)             # <<<<<<<<<<<<<<
 *     cdef void* cyhandle_out_ptr = <void*><void_ptr>cyhandle_out.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handleType};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28835, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyhandle_out = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":28836
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef _HelperCUmemAllocationHandleType cyhandle_out = _HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cyhandle_out_ptr = <void*><void_ptr>cyhandle_out.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyhandle_out), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyhandle_out_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28837
 *     cdef _HelperCUmemAllocationHandleType cyhandle_out = _HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cyhandle_out_ptr = <void*><void_ptr>cyhandle_out.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolExportToShareableHandle(cyhandle_out_ptr, cypool, cyhandleType, flags)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyhandleType = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":28838
 *     cdef void* cyhandle_out_ptr = <void*><void_ptr>cyhandle_out.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolExportToShareableHandle(cyhandle_out_ptr, cypool, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28839
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:
 *         err = cydriver.cuMemPoolExportToShareableHandle(cyhandle_out_ptr, cypool, cyhandleType, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolExportToShareableHandle(__pyx_v_cyhandle_out_ptr, __pyx_v_cypool, __pyx_v_cyhandleType, __pyx_v_flags); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28839, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":28838
 *     cdef void* cyhandle_out_ptr = <void*><void_ptr>cyhandle_out.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolExportToShareableHandle(cyhandle_out_ptr, cypool, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28840
 *     with nogil:
 *         err = cydriver.cuMemPoolExportToShareableHandle(cyhandle_out_ptr, cypool, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyhandle_out.pyObj())
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28841
 *         err = cydriver.cuMemPoolExportToShareableHandle(cyhandle_out_ptr, cypool, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cyhandle_out.pyObj())
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 28841, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 28841, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28840
 *     with nogil:
 *         err = cydriver.cuMemPoolExportToShareableHandle(cyhandle_out_ptr, cypool, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyhandle_out.pyObj())
*/
  }

  /* "cuda/bindings/driver.pyx":28842
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyhandle_out.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = ((PyObject *)__pyx_v_cyhandle_out);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28842, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 28842, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28790
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportToShareableHandle(pool, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports a memory pool to the requested handle type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolExportToShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyhandle_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28844
 *     return (_dict_CUresult[err], cyhandle_out.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportFromShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ imports a memory pool from a shared handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_375cuMemPoolImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_374cuMemPoolImportFromShareableHandle, "cuMemPoolImportFromShareableHandle(handle, handleType: CUmemAllocationHandleType, unsigned long long flags)\n\nimports a memory pool from a shared handle.\n\nSpecific allocations can be imported from the imported pool with\ncuMemPoolImportPointer.\n\nIf `handleType` is :py:obj:`~.CU_MEM_HANDLE_TYPE_FABRIC` and the\nimporter process has not been granted access to the same IMEX channel\nas the exporter process, this API will error as\n:py:obj:`~.CUDA_ERROR_NOT_PERMITTED`.\n\nParameters\n----------\nhandle : Any\n    OS handle of the pool to open\nhandleType : :py:obj:`~.CUmemAllocationHandleType`\n    The type of handle being imported\nflags : unsigned long long\n    must be 0\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\npool_out : :py:obj:`~.CUmemoryPool`\n    Returned memory pool\n\nSee Also\n--------\n:py:obj:`~.cuMemPoolExportToShareableHandle`, :py:obj:`~.cuMemPoolExportPointer`, :py:obj:`~.cuMemPoolImportPointer`\n\nNotes\n-----\nImported memory pools do not support creating new allocations. As such imported memory pools may not be used in cuDeviceSetMemPool or :py:obj:`~.cuMemAllocFromPoolAsync` calls.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_375cuMemPoolImportFromShareableHandle = {"cuMemPoolImportFromShareableHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_375cuMemPoolImportFromShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_374cuMemPoolImportFromShareableHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_375cuMemPoolImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_handle = 0;
  PyObject *__pyx_v_handleType = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolImportFromShareableHandle (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_handle_2,&__pyx_mstate_global->__pyx_n_u_handleType,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28844, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolImportFromShareableHandle", 0) < (0)) __PYX_ERR(0, 28844, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolImportFromShareableHandle", 1, 3, 3, i); __PYX_ERR(0, 28844, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28844, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28844, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28844, __pyx_L3_error)
    }
    __pyx_v_handle = values[0];
    __pyx_v_handleType = values[1];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28845, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolImportFromShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 28844, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolImportFromShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_handleType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "handleType"); __PYX_ERR(0, 28845, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_374cuMemPoolImportFromShareableHandle(__pyx_self, __pyx_v_handle, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_374cuMemPoolImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_pool_out = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyhandle = NULL;
  void *__pyx_v_cyhandle_ptr;
  CUmemAllocationHandleType __pyx_v_cyhandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUmemAllocationHandleType __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolImportFromShareableHandle", 0);

  /* "cuda/bindings/driver.pyx":28880
 *     Imported memory pools do not support creating new allocations. As such imported memory pools may not be used in cuDeviceSetMemPool or :py:obj:`~.cuMemAllocFromPoolAsync` calls.
 *     """
 *     cdef CUmemoryPool pool_out = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     cyhandle = _HelperInputVoidPtr(handle)
 *     cdef void* cyhandle_ptr = <void*><void_ptr>cyhandle.cptr
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28880, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pool_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":28881
 *     """
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     cyhandle = _HelperInputVoidPtr(handle)             # <<<<<<<<<<<<<<
 *     cdef void* cyhandle_ptr = <void*><void_ptr>cyhandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28881, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyhandle = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":28882
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     cyhandle = _HelperInputVoidPtr(handle)
 *     cdef void* cyhandle_ptr = <void*><void_ptr>cyhandle.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyhandle), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyhandle_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28883
 *     cyhandle = _HelperInputVoidPtr(handle)
 *     cdef void* cyhandle_ptr = <void*><void_ptr>cyhandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolImportFromShareableHandle(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cyhandle_ptr, cyhandleType, flags)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyhandleType = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":28884
 *     cdef void* cyhandle_ptr = <void*><void_ptr>cyhandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolImportFromShareableHandle(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cyhandle_ptr, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28885
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:
 *         err = cydriver.cuMemPoolImportFromShareableHandle(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cyhandle_ptr, cyhandleType, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolImportFromShareableHandle(((CUmemoryPool *)__pyx_v_pool_out->_pvt_ptr), __pyx_v_cyhandle_ptr, __pyx_v_cyhandleType, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28885, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28884
 *     cdef void* cyhandle_ptr = <void*><void_ptr>cyhandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyhandleType = handleType.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolImportFromShareableHandle(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cyhandle_ptr, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":28886
 *     with nogil:
 *         err = cydriver.cuMemPoolImportFromShareableHandle(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cyhandle_ptr, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool_out)
*/
  __pyx_t_8 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":28887
 *         err = cydriver.cuMemPoolImportFromShareableHandle(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cyhandle_ptr, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pool_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 28887, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 28887, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28886
 *     with nogil:
 *         err = cydriver.cuMemPoolImportFromShareableHandle(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cyhandle_ptr, cyhandleType, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool_out)
*/
  }

  /* "cuda/bindings/driver.pyx":28888
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 28888, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pool_out)) != (0)) __PYX_ERR(0, 28888, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28844
 *     return (_dict_CUresult[err], cyhandle_out.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportFromShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ imports a memory pool from a shared handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolImportFromShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pool_out);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyhandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28890
 *     return (_dict_CUresult[err], pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportPointer(ptr):
 *     """ Export data to share a memory pool allocation between processes.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_377cuMemPoolExportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_376cuMemPoolExportPointer, "cuMemPoolExportPointer(ptr)\n\nExport data to share a memory pool allocation between processes.\n\nConstructs `shareData_out` for sharing a specific allocation from an\nalready shared memory pool. The recipient process can import the\nallocation with the :py:obj:`~.cuMemPoolImportPointer` api. The data is\nnot a handle and may be shared through any IPC mechanism.\n\nParameters\n----------\nptr : :py:obj:`~.CUdeviceptr`\n    pointer to memory being exported\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nshareData_out : :py:obj:`~.CUmemPoolPtrExportData`\n    Returned export data\n\nSee Also\n--------\n:py:obj:`~.cuMemPoolExportToShareableHandle`, :py:obj:`~.cuMemPoolImportFromShareableHandle`, :py:obj:`~.cuMemPoolImportPointer`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_377cuMemPoolExportPointer = {"cuMemPoolExportPointer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_377cuMemPoolExportPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_376cuMemPoolExportPointer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_377cuMemPoolExportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolExportPointer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28890, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28890, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolExportPointer", 0) < (0)) __PYX_ERR(0, 28890, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolExportPointer", 1, 1, 1, i); __PYX_ERR(0, 28890, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28890, __pyx_L3_error)
    }
    __pyx_v_ptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolExportPointer", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 28890, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolExportPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_376cuMemPoolExportPointer(__pyx_self, __pyx_v_ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_376cuMemPoolExportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData *__pyx_v_shareData_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolExportPointer", 0);

  /* "cuda/bindings/driver.pyx":28916
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28917
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28916
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28918
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28919
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28918
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28921
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28921, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28922
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28922, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28923
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolExportPointer(<cydriver.CUmemPoolPtrExportData*>shareData_out._pvt_ptr, cyptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28923, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_shareData_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":28924
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolExportPointer(<cydriver.CUmemPoolPtrExportData*>shareData_out._pvt_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28925
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 *     with nogil:
 *         err = cydriver.cuMemPoolExportPointer(<cydriver.CUmemPoolPtrExportData*>shareData_out._pvt_ptr, cyptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolExportPointer(((CUmemPoolPtrExportData *)__pyx_v_shareData_out->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28925, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28924
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolExportPointer(<cydriver.CUmemPoolPtrExportData*>shareData_out._pvt_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28926
 *     with nogil:
 *         err = cydriver.cuMemPoolExportPointer(<cydriver.CUmemPoolPtrExportData*>shareData_out._pvt_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], shareData_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28927
 *         err = cydriver.cuMemPoolExportPointer(<cydriver.CUmemPoolPtrExportData*>shareData_out._pvt_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], shareData_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 28927, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 28927, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28926
 *     with nogil:
 *         err = cydriver.cuMemPoolExportPointer(<cydriver.CUmemPoolPtrExportData*>shareData_out._pvt_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], shareData_out)
*/
  }

  /* "cuda/bindings/driver.pyx":28928
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], shareData_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28928, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_shareData_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_shareData_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_shareData_out)) != (0)) __PYX_ERR(0, 28928, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28890
 *     return (_dict_CUresult[err], pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportPointer(ptr):
 *     """ Export data to share a memory pool allocation between processes.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolExportPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XDECREF((PyObject *)__pyx_v_shareData_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28930
 *     return (_dict_CUresult[err], shareData_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportPointer(pool, shareData : Optional[CUmemPoolPtrExportData]):
 *     """ Import a memory pool allocation from another process.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_379cuMemPoolImportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_378cuMemPoolImportPointer, "cuMemPoolImportPointer(pool, CUmemPoolPtrExportData shareData: Optional[CUmemPoolPtrExportData])\n\nImport a memory pool allocation from another process.\n\nReturns in `ptr_out` a pointer to the imported memory. The imported\nmemory must not be accessed before the allocation operation completes\nin the exporting process. The imported memory must be freed from all\nimporting processes before being freed in the exporting process. The\npointer may be freed with cuMemFree or cuMemFreeAsync. If\ncuMemFreeAsync is used, the free must be completed on the importing\nprocess before the free operation on the exporting process.\n\nParameters\n----------\npool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n    pool from which to import\nshareData : :py:obj:`~.CUmemPoolPtrExportData`\n    data specifying the memory to import\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nptr_out : :py:obj:`~.CUdeviceptr`\n    pointer to imported memory\n\nSee Also\n--------\n:py:obj:`~.cuMemPoolExportToShareableHandle`, :py:obj:`~.cuMemPoolImportFromShareableHandle`, :py:obj:`~.cuMemPoolExportPointer`\n\nNotes\n-----\nThe cuMemFreeAsync api may be used in the exporting process before the cuMemFreeAsync operation completes in its stream as long as the cuMemFreeAsync in the exporting process specifies a stream with a stream dependency on the importing process's cuMemFreeAsync.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_379cuMemPoolImportPointer = {"cuMemPoolImportPointer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_379cuMemPoolImportPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_378cuMemPoolImportPointer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_379cuMemPoolImportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pool = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData *__pyx_v_shareData = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPoolImportPointer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pool,&__pyx_mstate_global->__pyx_n_u_shareData,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28930, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28930, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28930, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPoolImportPointer", 0) < (0)) __PYX_ERR(0, 28930, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPoolImportPointer", 1, 2, 2, i); __PYX_ERR(0, 28930, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28930, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28930, __pyx_L3_error)
    }
    __pyx_v_pool = values[0];
    __pyx_v_shareData = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolImportPointer", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28930, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolImportPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shareData), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData, 1, "shareData", 0))) __PYX_ERR(0, 28931, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_378cuMemPoolImportPointer(__pyx_self, __pyx_v_pool, __pyx_v_shareData);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_378cuMemPoolImportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData *__pyx_v_shareData) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_ptr_out = 0;
  CUmemPoolPtrExportData *__pyx_v_cyshareData_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUmemPoolPtrExportData_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolImportPointer", 0);

  /* "cuda/bindings/driver.pyx":28965
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28966
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
 *         ppool = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppool = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":28965
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28967
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28968
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28967
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28970
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28970, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28971
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
 *     cdef cydriver.CUmemPoolPtrExportData* cyshareData_ptr = shareData._pvt_ptr if shareData is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28971, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28972
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemPoolPtrExportData* cyshareData_ptr = shareData._pvt_ptr if shareData is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28972, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_ptr_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":28973
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
 *     cdef cydriver.CUmemPoolPtrExportData* cyshareData_ptr = shareData._pvt_ptr if shareData is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolImportPointer(<cydriver.CUdeviceptr*>ptr_out._pvt_ptr, cypool, cyshareData_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_shareData) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_shareData->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyshareData_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":28974
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
 *     cdef cydriver.CUmemPoolPtrExportData* cyshareData_ptr = shareData._pvt_ptr if shareData is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolImportPointer(<cydriver.CUdeviceptr*>ptr_out._pvt_ptr, cypool, cyshareData_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28975
 *     cdef cydriver.CUmemPoolPtrExportData* cyshareData_ptr = shareData._pvt_ptr if shareData is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMemPoolImportPointer(<cydriver.CUdeviceptr*>ptr_out._pvt_ptr, cypool, cyshareData_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolImportPointer(((CUdeviceptr *)__pyx_v_ptr_out->_pvt_ptr), __pyx_v_cypool, __pyx_v_cyshareData_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28975, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":28974
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
 *     cdef cydriver.CUmemPoolPtrExportData* cyshareData_ptr = shareData._pvt_ptr if shareData is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolImportPointer(<cydriver.CUdeviceptr*>ptr_out._pvt_ptr, cypool, cyshareData_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28976
 *     with nogil:
 *         err = cydriver.cuMemPoolImportPointer(<cydriver.CUdeviceptr*>ptr_out._pvt_ptr, cypool, cyshareData_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ptr_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":28977
 *         err = cydriver.cuMemPoolImportPointer(<cydriver.CUdeviceptr*>ptr_out._pvt_ptr, cypool, cyshareData_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], ptr_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 28977, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 28977, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28976
 *     with nogil:
 *         err = cydriver.cuMemPoolImportPointer(<cydriver.CUdeviceptr*>ptr_out._pvt_ptr, cypool, cyshareData_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ptr_out)
*/
  }

  /* "cuda/bindings/driver.pyx":28978
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ptr_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 28978, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_ptr_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_ptr_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_ptr_out)) != (0)) __PYX_ERR(0, 28978, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28930
 *     return (_dict_CUresult[err], shareData_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportPointer(pool, shareData : Optional[CUmemPoolPtrExportData]):
 *     """ Import a memory pool allocation from another process.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPoolImportPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF((PyObject *)__pyx_v_ptr_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28980
 *     return (_dict_CUresult[err], ptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastCreate(prop : Optional[CUmulticastObjectProp]):
 *     """ Create a generic allocation handle representing a multicast object described by the given properties.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_381cuMulticastCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_380cuMulticastCreate, "cuMulticastCreate(CUmulticastObjectProp prop: Optional[CUmulticastObjectProp])\n\nCreate a generic allocation handle representing a multicast object described by the given properties.\n\nThis creates a multicast object as described by `prop`. The number of\nparticipating devices is specified by\n:py:obj:`~.CUmulticastObjectProp.numDevices`. Devices can be added to\nthe multicast object via :py:obj:`~.cuMulticastAddDevice`. All\nparticipating devices must be added to the multicast object before\nmemory can be bound to it. Memory is bound to the multicast object via\neither :py:obj:`~.cuMulticastBindMem` or\n:py:obj:`~.cuMulticastBindAddr`, and can be unbound via\n:py:obj:`~.cuMulticastUnbind`. The total amount of memory that can be\nbound per device is specified by\n:py:obj:`~.py`:obj:`~.CUmulticastObjectProp.size`. This size must be a\nmultiple of the value returned by :py:obj:`~.cuMulticastGetGranularity`\nwith the flag :py:obj:`~.CU_MULTICAST_GRANULARITY_MINIMUM`. For best\nperformance however, the size should be aligned to the value returned\nby :py:obj:`~.cuMulticastGetGranularity` with the flag\n:py:obj:`~.CU_MULTICAST_GRANULARITY_RECOMMENDED`.\n\nAfter all participating devices have been added, multicast objects can\nalso be mapped to a device's virtual address space using the virtual\nmemory management APIs (see :py:obj:`~.cuMemMap` and\n:py:obj:`~.cuMemSetAccess`). Multicast objects can also be shared with\nother processes by requesting a shareable handle via\n:py:obj:`~.cuMemExportToShareableHandle`. Note that the desired types\nof shareable handles must be specified in the bitmask\n:py:obj:`~.CUmulticastObjectProp.handleTypes`. Multicast objects can be\nreleased using the virtual memory management API\n:py:obj:`~.cuMemRelease`.\n\nParameters\n----------\nprop : :py:obj:`~.CUmulticastObjectProp`\n    Properties of the multicast object to create.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUD""A_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nmcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Value of handle returned.\n\nSee Also\n--------\n:py:obj:`~.cuMulticastAddDevice`, :py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`, :py:obj:`~.cuMulticastUnbind`\n\n:py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemImportFromShareableHandle`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_381cuMulticastCreate = {"cuMulticastCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_381cuMulticastCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_380cuMulticastCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_381cuMulticastCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *__pyx_v_prop = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMulticastCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_prop,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 28980, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMulticastCreate", 0) < (0)) __PYX_ERR(0, 28980, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMulticastCreate", 1, 1, 1, i); __PYX_ERR(0, 28980, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28980, __pyx_L3_error)
    }
    __pyx_v_prop = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 28980, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_prop), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp, 1, "prop", 0))) __PYX_ERR(0, 28981, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_380cuMulticastCreate(__pyx_self, __pyx_v_prop);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_380cuMulticastCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *__pyx_v_prop) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *__pyx_v_mcHandle = 0;
  CUmulticastObjectProp *__pyx_v_cyprop_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUmulticastObjectProp_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastCreate", 0);

  /* "cuda/bindings/driver.pyx":29030
 *     :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemImportFromShareableHandle`
 *     """
 *     cdef CUmemGenericAllocationHandle mcHandle = CUmemGenericAllocationHandle()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29030, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_mcHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":29031
 *     """
 *     cdef CUmemGenericAllocationHandle mcHandle = CUmemGenericAllocationHandle()
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastCreate(<cydriver.CUmemGenericAllocationHandle*>mcHandle._pvt_ptr, cyprop_ptr)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_prop) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cyprop_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":29032
 *     cdef CUmemGenericAllocationHandle mcHandle = CUmemGenericAllocationHandle()
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastCreate(<cydriver.CUmemGenericAllocationHandle*>mcHandle._pvt_ptr, cyprop_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29033
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     with nogil:
 *         err = cydriver.cuMulticastCreate(<cydriver.CUmemGenericAllocationHandle*>mcHandle._pvt_ptr, cyprop_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastCreate(((CUmemGenericAllocationHandle *)__pyx_v_mcHandle->_pvt_ptr), __pyx_v_cyprop_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29033, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29032
 *     cdef CUmemGenericAllocationHandle mcHandle = CUmemGenericAllocationHandle()
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastCreate(<cydriver.CUmemGenericAllocationHandle*>mcHandle._pvt_ptr, cyprop_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":29034
 *     with nogil:
 *         err = cydriver.cuMulticastCreate(<cydriver.CUmemGenericAllocationHandle*>mcHandle._pvt_ptr, cyprop_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], mcHandle)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":29035
 *         err = cydriver.cuMulticastCreate(<cydriver.CUmemGenericAllocationHandle*>mcHandle._pvt_ptr, cyprop_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], mcHandle)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 29035, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 29035, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29034
 *     with nogil:
 *         err = cydriver.cuMulticastCreate(<cydriver.CUmemGenericAllocationHandle*>mcHandle._pvt_ptr, cyprop_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], mcHandle)
*/
  }

  /* "cuda/bindings/driver.pyx":29036
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], mcHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 29036, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_mcHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_mcHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_mcHandle)) != (0)) __PYX_ERR(0, 29036, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28980
 *     return (_dict_CUresult[err], ptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastCreate(prop : Optional[CUmulticastObjectProp]):
 *     """ Create a generic allocation handle representing a multicast object described by the given properties.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_mcHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29038
 *     return (_dict_CUresult[err], mcHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastAddDevice(mcHandle, dev):
 *     """ Associate a device to a multicast object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_383cuMulticastAddDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_382cuMulticastAddDevice, "cuMulticastAddDevice(mcHandle, dev)\n\nAssociate a device to a multicast object.\n\nAssociates a device to a multicast object. The added device will be a\npart of the multicast team of size specified by\n:py:obj:`~.CUmulticastObjectProp.numDevices` during\n:py:obj:`~.cuMulticastCreate`. The association of the device to the\nmulticast object is permanent during the life time of the multicast\nobject. All devices must be added to the multicast team before any\nmemory can be bound to any device in the team. Any calls to\n:py:obj:`~.cuMulticastBindMem` or :py:obj:`~.cuMulticastBindAddr` will\nblock until all devices have been added. Similarly all devices must be\nadded to the multicast team before a virtual address range can be\nmapped to the multicast object. A call to :py:obj:`~.cuMemMap` will\nblock until all devices have been added.\n\nParameters\n----------\nmcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Handle representing a multicast object.\ndev : :py:obj:`~.CUdevice`\n    Device that will be associated to the multicast object.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_383cuMulticastAddDevice = {"cuMulticastAddDevice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_383cuMulticastAddDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_382cuMulticastAddDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_383cuMulticastAddDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mcHandle = 0;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMulticastAddDevice (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mcHandle,&__pyx_mstate_global->__pyx_n_u_dev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29038, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMulticastAddDevice", 0) < (0)) __PYX_ERR(0, 29038, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMulticastAddDevice", 1, 2, 2, i); __PYX_ERR(0, 29038, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29038, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29038, __pyx_L3_error)
    }
    __pyx_v_mcHandle = values[0];
    __pyx_v_dev = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastAddDevice", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 29038, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastAddDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_382cuMulticastAddDevice(__pyx_self, __pyx_v_mcHandle, __pyx_v_dev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_382cuMulticastAddDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUmemGenericAllocationHandle __pyx_v_cymcHandle;
  PyObject *__pyx_v_pmcHandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastAddDevice", 0);

  /* "cuda/bindings/driver.pyx":29072
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29073
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29072
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29074
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29075
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29074
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29077
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29077, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29078
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 29078, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":29080
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_mcHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29081
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
 *         pmcHandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmcHandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29080
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29082
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mcHandle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29083
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":29082
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29085
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mcHandle};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29085, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29086
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29086, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":29087
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29088
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastAddDevice(__pyx_v_cymcHandle, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29088, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":29087
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29089
 *     with nogil:
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 29089, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29038
 *     return (_dict_CUresult[err], mcHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastAddDevice(mcHandle, dev):
 *     """ Associate a device to a multicast object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastAddDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pmcHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29091
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindMem(mcHandle, size_t mcOffset, memHandle, size_t memOffset, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a handle to a multicast object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_385cuMulticastBindMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_384cuMulticastBindMem, "cuMulticastBindMem(mcHandle, size_t mcOffset, memHandle, size_t memOffset, size_t size, unsigned long long flags)\n\nBind a memory allocation represented by a handle to a multicast object.\n\nBinds a memory allocation specified by `memHandle` and created via\n:py:obj:`~.cuMemCreate` to a multicast object represented by `mcHandle`\nand created via :py:obj:`~.cuMulticastCreate`. The intended `size` of\nthe bind, the offset in the multicast range `mcOffset` as well as the\noffset in the memory `memOffset` must be a multiple of the value\nreturned by :py:obj:`~.cuMulticastGetGranularity` with the flag\n:py:obj:`~.CU_MULTICAST_GRANULARITY_MINIMUM`. For best performance\nhowever, `size`, `mcOffset` and `memOffset` should be aligned to the\ngranularity of the memory allocation(see\n:py:obj:`~.cuMemGetAllocationGranularity`) or to the value returned by\n:py:obj:`~.cuMulticastGetGranularity` with the flag\n:py:obj:`~.CU_MULTICAST_GRANULARITY_RECOMMENDED`.\n\nThe `size` + `memOffset` cannot be larger than the size of the\nallocated memory. Similarly the `size` + `mcOffset` cannot be larger\nthan the size of the multicast object. The memory allocation must have\nbeeen created on one of the devices that was added to the multicast\nteam via :py:obj:`~.cuMulticastAddDevice`. Externally shareable as well\nas imported multicast objects can be bound only to externally shareable\nmemory. Note that this call will return CUDA_ERROR_OUT_OF_MEMORY if\nthere are insufficient resources required to perform the bind. This\ncall may also return CUDA_ERROR_SYSTEM_NOT_READY if the necessary\nsystem software is not initialized or running.\n\nThis call may return CUDA_ERROR_ILLEGAL_STATE if the system\nconfiguration is in an illegal state. In such cases, to continue using\nmulticast, verify that the system configuration is in a valid state and\nall required driver daemons are running properly.\n\nParameters\n----------\nmcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Handle representing ""a multicast object.\nmcOffset : size_t\n    Offset into the multicast object for attachment.\nmemHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Handle representing a memory allocation.\nmemOffset : size_t\n    Offset into the memory for attachment.\nsize : size_t\n    Size of the memory that will be bound to the multicast object.\nflags : unsigned long long\n    Flags for future use, must be zero for now.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_SYSTEM_NOT_READY`, :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE`\n\nSee Also\n--------\n:py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastAddDevice`, :py:obj:`~.cuMemCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_385cuMulticastBindMem = {"cuMulticastBindMem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_385cuMulticastBindMem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_384cuMulticastBindMem};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_385cuMulticastBindMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mcHandle = 0;
  size_t __pyx_v_mcOffset;
  PyObject *__pyx_v_memHandle = 0;
  size_t __pyx_v_memOffset;
  size_t __pyx_v_size;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMulticastBindMem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mcHandle,&__pyx_mstate_global->__pyx_n_u_mcOffset,&__pyx_mstate_global->__pyx_n_u_memHandle_2,&__pyx_mstate_global->__pyx_n_u_memOffset,&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29091, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 29091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMulticastBindMem", 0) < (0)) __PYX_ERR(0, 29091, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, i); __PYX_ERR(0, 29091, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29091, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29091, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29091, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29091, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29091, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 29091, __pyx_L3_error)
    }
    __pyx_v_mcHandle = values[0];
    __pyx_v_mcOffset = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_mcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29092, __pyx_L3_error)
    __pyx_v_memHandle = values[2];
    __pyx_v_memOffset = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_memOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29092, __pyx_L3_error)
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29092, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[5]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29092, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 29091, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastBindMem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_384cuMulticastBindMem(__pyx_self, __pyx_v_mcHandle, __pyx_v_mcOffset, __pyx_v_memHandle, __pyx_v_memOffset, __pyx_v_size, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_384cuMulticastBindMem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, size_t __pyx_v_mcOffset, PyObject *__pyx_v_memHandle, size_t __pyx_v_memOffset, size_t __pyx_v_size, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUmemGenericAllocationHandle __pyx_v_cymemHandle;
  PyObject *__pyx_v_pmemHandle = NULL;
  CUmemGenericAllocationHandle __pyx_v_cymcHandle;
  PyObject *__pyx_v_pmcHandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastBindMem", 0);

  /* "cuda/bindings/driver.pyx":29149
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cymemHandle
 *     if memHandle is None:             # <<<<<<<<<<<<<<
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_memHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29150
 *     cdef cydriver.CUmemGenericAllocationHandle cymemHandle
 *     if memHandle is None:
 *         pmemHandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
 *         pmemHandle = int(memHandle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmemHandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29149
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cymemHandle
 *     if memHandle is None:             # <<<<<<<<<<<<<<
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29151
 *     if memHandle is None:
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmemHandle = int(memHandle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memHandle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29152
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
 *         pmemHandle = int(memHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_memHandle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29151
 *     if memHandle is None:
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmemHandle = int(memHandle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29154
 *         pmemHandle = int(memHandle)
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))             # <<<<<<<<<<<<<<
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_memHandle};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29154, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29155
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29155, __pyx_L1_error)
  __pyx_v_cymemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29157
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_mcHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29158
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
 *         pmcHandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmcHandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29157
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29159
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mcHandle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29160
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":29159
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29162
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mcHandle};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29162, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29163
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastBindMem(cymcHandle, mcOffset, cymemHandle, memOffset, size, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29163, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29164
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastBindMem(cymcHandle, mcOffset, cymemHandle, memOffset, size, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29165
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastBindMem(cymcHandle, mcOffset, cymemHandle, memOffset, size, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastBindMem(__pyx_v_cymcHandle, __pyx_v_mcOffset, __pyx_v_cymemHandle, __pyx_v_memOffset, __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29165, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29164
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastBindMem(cymcHandle, mcOffset, cymemHandle, memOffset, size, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29166
 *     with nogil:
 *         err = cydriver.cuMulticastBindMem(cymcHandle, mcOffset, cymemHandle, memOffset, size, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 29166, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29091
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindMem(mcHandle, size_t mcOffset, memHandle, size_t memOffset, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a handle to a multicast object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastBindMem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemHandle);
  __Pyx_XDECREF(__pyx_v_pmcHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29168
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindAddr(mcHandle, size_t mcOffset, memptr, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a virtual address to a multicast object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_387cuMulticastBindAddr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_386cuMulticastBindAddr, "cuMulticastBindAddr(mcHandle, size_t mcOffset, memptr, size_t size, unsigned long long flags)\n\nBind a memory allocation represented by a virtual address to a multicast object.\n\nBinds a memory allocation specified by its mapped address `memptr` to a\nmulticast object represented by `mcHandle`. The memory must have been\nallocated via :py:obj:`~.cuMemCreate` or :py:obj:`~.cudaMallocAsync`.\nThe intended `size` of the bind, the offset in the multicast range\n`mcOffset` and `memptr` must be a multiple of the value returned by\n:py:obj:`~.cuMulticastGetGranularity` with the flag\n:py:obj:`~.CU_MULTICAST_GRANULARITY_MINIMUM`. For best performance\nhowever, `size`, `mcOffset` and `memptr` should be aligned to the value\nreturned by :py:obj:`~.cuMulticastGetGranularity` with the flag\n:py:obj:`~.CU_MULTICAST_GRANULARITY_RECOMMENDED`.\n\nThe `size` cannot be larger than the size of the allocated memory.\nSimilarly the `size` + `mcOffset` cannot be larger than the total size\nof the multicast object. The memory allocation must have beeen created\non one of the devices that was added to the multicast team via\n:py:obj:`~.cuMulticastAddDevice`. Externally shareable as well as\nimported multicast objects can be bound only to externally shareable\nmemory. Note that this call will return CUDA_ERROR_OUT_OF_MEMORY if\nthere are insufficient resources required to perform the bind. This\ncall may also return CUDA_ERROR_SYSTEM_NOT_READY if the necessary\nsystem software is not initialized or running.\n\nThis call may return CUDA_ERROR_ILLEGAL_STATE if the system\nconfiguration is in an illegal state. In such cases, to continue using\nmulticast, verify that the system configuration is in a valid state and\nall required driver daemons are running properly.\n\nParameters\n----------\nmcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Handle representing a multicast object.\nmcOffset : size_t\n    Offset into multicast va range for attachment.\nmemptr : :py:obj:`~.CUdeviceptr`""\n    Virtual address of the memory allocation.\nsize : size_t\n    Size of memory that will be bound to the multicast object.\nflags : unsigned long long\n    Flags for future use, must be zero now.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_SYSTEM_NOT_READY`, :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE`\n\nSee Also\n--------\n:py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastAddDevice`, :py:obj:`~.cuMemCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_387cuMulticastBindAddr = {"cuMulticastBindAddr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_387cuMulticastBindAddr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_386cuMulticastBindAddr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_387cuMulticastBindAddr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mcHandle = 0;
  size_t __pyx_v_mcOffset;
  PyObject *__pyx_v_memptr = 0;
  size_t __pyx_v_size;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMulticastBindAddr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mcHandle,&__pyx_mstate_global->__pyx_n_u_mcOffset,&__pyx_mstate_global->__pyx_n_u_memptr,&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29168, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMulticastBindAddr", 0) < (0)) __PYX_ERR(0, 29168, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr", 1, 5, 5, i); __PYX_ERR(0, 29168, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29168, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29168, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29168, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29168, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29168, __pyx_L3_error)
    }
    __pyx_v_mcHandle = values[0];
    __pyx_v_mcOffset = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_mcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29169, __pyx_L3_error)
    __pyx_v_memptr = values[2];
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29169, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[4]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29169, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 29168, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastBindAddr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_386cuMulticastBindAddr(__pyx_self, __pyx_v_mcHandle, __pyx_v_mcOffset, __pyx_v_memptr, __pyx_v_size, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_386cuMulticastBindAddr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, size_t __pyx_v_mcOffset, PyObject *__pyx_v_memptr, size_t __pyx_v_size, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUdeviceptr __pyx_v_cymemptr;
  PyObject *__pyx_v_pmemptr = NULL;
  CUmemGenericAllocationHandle __pyx_v_cymcHandle;
  PyObject *__pyx_v_pmcHandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastBindAddr", 0);

  /* "cuda/bindings/driver.pyx":29222
 *     """
 *     cdef cydriver.CUdeviceptr cymemptr
 *     if memptr is None:             # <<<<<<<<<<<<<<
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_memptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29223
 *     cdef cydriver.CUdeviceptr cymemptr
 *     if memptr is None:
 *         pmemptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(memptr, (CUdeviceptr,)):
 *         pmemptr = int(memptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmemptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29222
 *     """
 *     cdef cydriver.CUdeviceptr cymemptr
 *     if memptr is None:             # <<<<<<<<<<<<<<
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29224
 *     if memptr is None:
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pmemptr = int(memptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29225
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):
 *         pmemptr = int(memptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_memptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29224
 *     if memptr is None:
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pmemptr = int(memptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29227
 *         pmemptr = int(memptr)
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))             # <<<<<<<<<<<<<<
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_memptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29227, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29228
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29228, __pyx_L1_error)
  __pyx_v_cymemptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29230
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_mcHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29231
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
 *         pmcHandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmcHandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29230
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29232
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mcHandle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29233
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":29232
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29235
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mcHandle};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29235, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29236
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastBindAddr(cymcHandle, mcOffset, cymemptr, size, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29236, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29237
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastBindAddr(cymcHandle, mcOffset, cymemptr, size, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29238
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastBindAddr(cymcHandle, mcOffset, cymemptr, size, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastBindAddr(__pyx_v_cymcHandle, __pyx_v_mcOffset, __pyx_v_cymemptr, __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29238, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29237
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastBindAddr(cymcHandle, mcOffset, cymemptr, size, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29239
 *     with nogil:
 *         err = cydriver.cuMulticastBindAddr(cymcHandle, mcOffset, cymemptr, size, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 29239, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29168
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindAddr(mcHandle, size_t mcOffset, memptr, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a virtual address to a multicast object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastBindAddr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemptr);
  __Pyx_XDECREF(__pyx_v_pmcHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29241
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastUnbind(mcHandle, dev, size_t mcOffset, size_t size):
 *     """ Unbind any memory allocations bound to a multicast object at a given offset and upto a given size.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_389cuMulticastUnbind(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_388cuMulticastUnbind, "cuMulticastUnbind(mcHandle, dev, size_t mcOffset, size_t size)\n\nUnbind any memory allocations bound to a multicast object at a given offset and upto a given size.\n\nUnbinds any memory allocations hosted on `dev` and bound to a multicast\nobject at `mcOffset` and upto a given `size`. The intended `size` of\nthe unbind and the offset in the multicast range ( `mcOffset` ) must be\na multiple of the value returned by\n:py:obj:`~.cuMulticastGetGranularity` flag\n:py:obj:`~.CU_MULTICAST_GRANULARITY_MINIMUM`. The `size` + `mcOffset`\ncannot be larger than the total size of the multicast object.\n\nParameters\n----------\nmcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n    Handle representing a multicast object.\ndev : :py:obj:`~.CUdevice`\n    Device that hosts the memory allocation.\nmcOffset : size_t\n    Offset into the multicast object.\nsize : size_t\n    Desired size to unbind.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`\n\nNotes\n-----\nWarning: The `mcOffset` and the `size` must match the corresponding values specified during the bind call. Any other values may result in undefined behavior.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_389cuMulticastUnbind = {"cuMulticastUnbind", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_389cuMulticastUnbind, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_388cuMulticastUnbind};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_389cuMulticastUnbind(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mcHandle = 0;
  PyObject *__pyx_v_dev = 0;
  size_t __pyx_v_mcOffset;
  size_t __pyx_v_size;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMulticastUnbind (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mcHandle,&__pyx_mstate_global->__pyx_n_u_dev,&__pyx_mstate_global->__pyx_n_u_mcOffset,&__pyx_mstate_global->__pyx_n_u_size_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29241, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMulticastUnbind", 0) < (0)) __PYX_ERR(0, 29241, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMulticastUnbind", 1, 4, 4, i); __PYX_ERR(0, 29241, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29241, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29241, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29241, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29241, __pyx_L3_error)
    }
    __pyx_v_mcHandle = values[0];
    __pyx_v_dev = values[1];
    __pyx_v_mcOffset = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_mcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29242, __pyx_L3_error)
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29242, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastUnbind", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 29241, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastUnbind", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_388cuMulticastUnbind(__pyx_self, __pyx_v_mcHandle, __pyx_v_dev, __pyx_v_mcOffset, __pyx_v_size);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_388cuMulticastUnbind(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev, size_t __pyx_v_mcOffset, size_t __pyx_v_size) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUmemGenericAllocationHandle __pyx_v_cymcHandle;
  PyObject *__pyx_v_pmcHandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastUnbind", 0);

  /* "cuda/bindings/driver.pyx":29278
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29279
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29278
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29280
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29281
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29280
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29283
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29283, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29284
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 29284, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":29286
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
  __pyx_t_1 = (__pyx_v_mcHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29287
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
 *         pmcHandle = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pmcHandle = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29286
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29288
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mcHandle, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29289
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":29288
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29291
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mcHandle};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29291, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29292
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastUnbind(cymcHandle, cydev, mcOffset, size)
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29292, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":29293
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastUnbind(cymcHandle, cydev, mcOffset, size)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29294
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastUnbind(cymcHandle, cydev, mcOffset, size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastUnbind(__pyx_v_cymcHandle, __pyx_v_cydev, __pyx_v_mcOffset, __pyx_v_size); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29294, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":29293
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastUnbind(cymcHandle, cydev, mcOffset, size)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29295
 *     with nogil:
 *         err = cydriver.cuMulticastUnbind(cymcHandle, cydev, mcOffset, size)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 29295, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29241
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastUnbind(mcHandle, dev, size_t mcOffset, size_t size):
 *     """ Unbind any memory allocations bound to a multicast object at a given offset and upto a given size.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastUnbind", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pmcHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29297
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastGetGranularity(prop : Optional[CUmulticastObjectProp], option not None : CUmulticastGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity for multicast object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_391cuMulticastGetGranularity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_390cuMulticastGetGranularity, "cuMulticastGetGranularity(CUmulticastObjectProp prop: Optional[CUmulticastObjectProp], option: CUmulticastGranularity_flags)\n\nCalculates either the minimal or recommended granularity for multicast object.\n\nCalculates either the minimal or recommended granularity for a given\nset of multicast object properties and returns it in granularity. This\ngranularity can be used as a multiple for size, bind offsets and\naddress mappings of the multicast object.\n\nParameters\n----------\nprop : :py:obj:`~.CUmulticastObjectProp`\n    Properties of the multicast object.\noption : :py:obj:`~.CUmulticastGranularity_flags`\n    Determines which granularity to return.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\ngranularity : int\n    Returned granularity.\n\nSee Also\n--------\n:py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`, :py:obj:`~.cuMulticastUnbind`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_391cuMulticastGetGranularity = {"cuMulticastGetGranularity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_391cuMulticastGetGranularity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_390cuMulticastGetGranularity};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_391cuMulticastGetGranularity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *__pyx_v_prop = 0;
  PyObject *__pyx_v_option = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMulticastGetGranularity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_prop,&__pyx_mstate_global->__pyx_n_u_option,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29297, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMulticastGetGranularity", 0) < (0)) __PYX_ERR(0, 29297, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMulticastGetGranularity", 1, 2, 2, i); __PYX_ERR(0, 29297, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29297, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29297, __pyx_L3_error)
    }
    __pyx_v_prop = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *)values[0]);
    __pyx_v_option = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastGetGranularity", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 29297, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastGetGranularity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_prop), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp, 1, "prop", 0))) __PYX_ERR(0, 29298, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_option) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "option"); __PYX_ERR(0, 29298, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_390cuMulticastGetGranularity(__pyx_self, __pyx_v_prop, __pyx_v_option);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_390cuMulticastGetGranularity(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *__pyx_v_prop, PyObject *__pyx_v_option) {
  size_t __pyx_v_granularity;
  CUmulticastObjectProp *__pyx_v_cyprop_ptr;
  CUmulticastGranularity_flags __pyx_v_cyoption;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUmulticastObjectProp_st *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  CUmulticastGranularity_flags __pyx_t_4;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastGetGranularity", 0);

  /* "cuda/bindings/driver.pyx":29324
 *     :py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`, :py:obj:`~.cuMulticastUnbind`
 *     """
 *     cdef size_t granularity = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     cdef cydriver.CUmulticastGranularity_flags cyoption = option.value
*/
  __pyx_v_granularity = 0;

  /* "cuda/bindings/driver.pyx":29325
 *     """
 *     cdef size_t granularity = 0
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmulticastGranularity_flags cyoption = option.value
 *     with nogil:
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_prop) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cyprop_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":29326
 *     cdef size_t granularity = 0
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     cdef cydriver.CUmulticastGranularity_flags cyoption = option.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastGetGranularity(&granularity, cyprop_ptr, cyoption)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_option, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = ((enum CUmulticastGranularity_flags_enum)__Pyx_PyLong_As_enum__CUmulticastGranularity_flags_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoption = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":29327
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     cdef cydriver.CUmulticastGranularity_flags cyoption = option.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastGetGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29328
 *     cdef cydriver.CUmulticastGranularity_flags cyoption = option.value
 *     with nogil:
 *         err = cydriver.cuMulticastGetGranularity(&granularity, cyprop_ptr, cyoption)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastGetGranularity((&__pyx_v_granularity), __pyx_v_cyprop_ptr, __pyx_v_cyoption); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29328, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":29327
 *     cdef cydriver.CUmulticastObjectProp* cyprop_ptr = prop._pvt_ptr if prop is not None else NULL
 *     cdef cydriver.CUmulticastGranularity_flags cyoption = option.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastGetGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":29329
 *     with nogil:
 *         err = cydriver.cuMulticastGetGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], granularity)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":29330
 *         err = cydriver.cuMulticastGetGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], granularity)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 29330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 29330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 29330, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, Py_None) != (0)) __PYX_ERR(0, 29330, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29329
 *     with nogil:
 *         err = cydriver.cuMulticastGetGranularity(&granularity, cyprop_ptr, cyoption)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], granularity)
*/
  }

  /* "cuda/bindings/driver.pyx":29331
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], granularity)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 29331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v_granularity); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 29331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 29331, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 29331, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29297
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastGetGranularity(prop : Optional[CUmulticastObjectProp], option not None : CUmulticastGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity for multicast object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastGetGranularity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29333
 *     return (_dict_CUresult[err], granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttribute(attribute not None : CUpointer_attribute, ptr):
 *     """ Returns information about a pointer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_393cuPointerGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_392cuPointerGetAttribute, "cuPointerGetAttribute(attribute: CUpointer_attribute, ptr)\n\nReturns information about a pointer.\n\nThe supported attributes are:\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_CONTEXT`:\n\n- Returns in `*data` the :py:obj:`~.CUcontext` in which `ptr` was\n  allocated or registered. The type of `data` must be\n  :py:obj:`~.CUcontext` *.\n\n- If `ptr` was not allocated by, mapped by, or registered with a\n  :py:obj:`~.CUcontext` which uses unified virtual addressing then\n  :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_MEMORY_TYPE`:\n\n- Returns in `*data` the physical memory type of the memory that `ptr`\n  addresses as a :py:obj:`~.CUmemorytype` enumerated value. The type of\n  `data` must be unsigned int.\n\n- If `ptr` addresses device memory then `*data` is set to\n  :py:obj:`~.CU_MEMORYTYPE_DEVICE`. The particular :py:obj:`~.CUdevice`\n  on which the memory resides is the :py:obj:`~.CUdevice` of the\n  :py:obj:`~.CUcontext` returned by the\n  :py:obj:`~.CU_POINTER_ATTRIBUTE_CONTEXT` attribute of `ptr`.\n\n- If `ptr` addresses host memory then `*data` is set to\n  :py:obj:`~.CU_MEMORYTYPE_HOST`.\n\n- If `ptr` was not allocated by, mapped by, or registered with a\n  :py:obj:`~.CUcontext` which uses unified virtual addressing then\n  :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\n- If the current :py:obj:`~.CUcontext` does not support unified virtual\n  addressing then :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` is returned.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_DEVICE_POINTER`:\n\n- Returns in `*data` the device pointer value through which `ptr` may\n  be accessed by kernels running in the current :py:obj:`~.CUcontext`.\n  The type of `data` must be CUdeviceptr *.\n\n- If there exists no device pointer value through which kernels running\n  in the current :py:obj:`~.CUcontext` may access `ptr` then\n  :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\n- If there is no current :py:obj:`~.CUcontext` then\n  :py:obj:`~.CUDA_ERROR_IN""VALID_CONTEXT` is returned.\n\n- Except in the exceptional disjoint addressing cases discussed below,\n  the value returned in `*data` will equal the input value `ptr`.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_HOST_POINTER`:\n\n- Returns in `*data` the host pointer value through which `ptr` may be\n  accessed by by the host program. The type of `data` must be void **.\n  If there exists no host pointer value through which the host program\n  may directly access `ptr` then :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n  is returned.\n\n- Except in the exceptional disjoint addressing cases discussed below,\n  the value returned in `*data` will equal the input value `ptr`.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_P2P_TOKENS`:\n\n- Returns in `*data` two tokens for use with the nv-p2p.h Linux kernel\n  interface. `data` must be a struct of type\n  CUDA_POINTER_ATTRIBUTE_P2P_TOKENS.\n\n- `ptr` must be a pointer to memory obtained from\n  :py:obj:`~.py`:obj:`~.cuMemAlloc()`. Note that p2pToken and\n  vaSpaceToken are only valid for the lifetime of the source\n  allocation. A subsequent allocation at the same address may return\n  completely different tokens. Querying this attribute has a side\n  effect of setting the attribute\n  :py:obj:`~.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS` for the region of memory\n  that `ptr` points to.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS`:\n\n- A boolean attribute which when set, ensures that synchronous memory\n  operations initiated on the region of memory that `ptr` points to\n  will always synchronize. See further documentation in the section\n  titled \"API synchronization behavior\" to learn more about cases when\n  synchronous memory operations can exhibit asynchronous behavior.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_BUFFER_ID`:\n\n- Returns in `*data` a buffer ID which is guaranteed to be unique\n  within the process. `data` must point to an unsigned long long.\n\n- `ptr` must be a pointer to memory obtained from a CUDA memory\n  allocation API. Ev""ery memory allocation from any of the CUDA memory\n  allocation APIs will have a unique ID over a process lifetime.\n  Subsequent allocations do not reuse IDs from previous freed\n  allocations. IDs are only unique within a single process.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_IS_MANAGED`:\n\n- Returns in `*data` a boolean that indicates whether the pointer\n  points to managed memory or not.\n\n- If `ptr` is not a valid CUDA pointer then\n  :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL`:\n\n- Returns in `*data` an integer representing a device ordinal of a\n  device against which the memory was allocated or registered.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE`:\n\n- Returns in `*data` a boolean that indicates if this pointer maps to\n  an allocation that is suitable for :py:obj:`~.cudaIpcGetMemHandle`.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR`:\n\n- Returns in `*data` the starting address for the allocation referenced\n  by the device pointer `ptr`. Note that this is not necessarily the\n  address of the mapped region, but the address of the mappable address\n  range `ptr` references (e.g. from :py:obj:`~.cuMemAddressReserve`).\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_RANGE_SIZE`:\n\n- Returns in `*data` the size for the allocation referenced by the\n  device pointer `ptr`. Note that this is not necessarily the size of\n  the mapped region, but the size of the mappable address range `ptr`\n  references (e.g. from :py:obj:`~.cuMemAddressReserve`). To retrieve\n  the size of the mapped region, see :py:obj:`~.cuMemGetAddressRange`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_MAPPED`:\n\n- Returns in `*data` a boolean that indicates if this pointer is in a\n  valid address range that is mapped to a backing allocation.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES`:\n\n- Returns a bitmask of the allowed handle types for an allocation that\n  may be passed to :py:obj:`~.cuMemExport""ToShareableHandle`.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE`:\n\n- Returns in `*data` the handle to the mempool that the allocation was\n  obtained from.\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE`:\n\n- Returns in `*data` a boolean that indicates whether the pointer\n  points to memory that is capable to be used for hardware accelerated\n  decompression.\n\nNote that for most allocations in the unified virtual address space the\nhost and device pointer for accessing the allocation will be the same.\nThe exceptions to this are\n\n- user memory registered using :py:obj:`~.cuMemHostRegister`\n\n- host memory allocated using :py:obj:`~.cuMemHostAlloc` with the\n  :py:obj:`~.CU_MEMHOSTALLOC_WRITECOMBINED` flag For these types of\n  allocation there will exist separate, disjoint host and device\n  addresses for accessing the allocation. In particular\n\n- The host address will correspond to an invalid unmapped device\n  address (which will result in an exception if accessed from the\n  device)\n\n- The device address will correspond to an invalid unmapped host\n  address (which will result in an exception if accessed from the\n  host). For these types of allocations, querying\n  :py:obj:`~.CU_POINTER_ATTRIBUTE_HOST_POINTER` and\n  :py:obj:`~.CU_POINTER_ATTRIBUTE_DEVICE_POINTER` may be used to\n  retrieve the host and device addresses from either address.\n\nParameters\n----------\nattribute : :py:obj:`~.CUpointer_attribute`\n    Pointer attribute to query\nptr : :py:obj:`~.CUdeviceptr`\n    Pointer\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\ndata : Any\n    Returned pointer attribute value\n\nSee Also\n--------\n:py:obj:`~.cuPointerSetAttribute`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.c""uMemFreeHost`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuMemHostUnregister`, :py:obj:`~.cudaPointerGetAttributes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_393cuPointerGetAttribute = {"cuPointerGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_393cuPointerGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_392cuPointerGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_393cuPointerGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attribute = 0;
  PyObject *__pyx_v_ptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuPointerGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attribute,&__pyx_mstate_global->__pyx_n_u_ptr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29333, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29333, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29333, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuPointerGetAttribute", 0) < (0)) __PYX_ERR(0, 29333, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuPointerGetAttribute", 1, 2, 2, i); __PYX_ERR(0, 29333, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29333, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29333, __pyx_L3_error)
    }
    __pyx_v_attribute = values[0];
    __pyx_v_ptr = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuPointerGetAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 29333, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuPointerGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attribute) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attribute"); __PYX_ERR(0, 29334, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_392cuPointerGetAttribute(__pyx_self, __pyx_v_attribute, __pyx_v_ptr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_392cuPointerGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_cydata = 0;
  void *__pyx_v_cydata_ptr;
  CUpointer_attribute __pyx_v_cyattribute;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  CUpointer_attribute __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuPointerGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":29527
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29528
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29527
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29529
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29530
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29529
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29532
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef _HelperCUpointer_attribute cydata = _HelperCUpointer_attribute(attribute, 0, is_getter=True)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29532, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29533
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef _HelperCUpointer_attribute cydata = _HelperCUpointer_attribute(attribute, 0, is_getter=True)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29533, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29534
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef _HelperCUpointer_attribute cydata = _HelperCUpointer_attribute(attribute, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attribute, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_7, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 29534, __pyx_L1_error)
    __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29534, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cydata = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":29535
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef _HelperCUpointer_attribute cydata = _HelperCUpointer_attribute(attribute, 0, is_getter=True)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydata), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cydata_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29536
 *     cdef _HelperCUpointer_attribute cydata = _HelperCUpointer_attribute(attribute, 0, is_getter=True)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuPointerGetAttribute(cydata_ptr, cyattribute, cyptr)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = ((enum CUpointer_attribute_enum)__Pyx_PyLong_As_enum__CUpointer_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattribute = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":29537
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuPointerGetAttribute(cydata_ptr, cyattribute, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29538
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:
 *         err = cydriver.cuPointerGetAttribute(cydata_ptr, cyattribute, cyptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuPointerGetAttribute(__pyx_v_cydata_ptr, __pyx_v_cyattribute, __pyx_v_cyptr); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29538, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":29537
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuPointerGetAttribute(cydata_ptr, cyattribute, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":29539
 *     with nogil:
 *         err = cydriver.cuPointerGetAttribute(cydata_ptr, cyattribute, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cydata.pyObj())
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29540
 *         err = cydriver.cuPointerGetAttribute(cydata_ptr, cyattribute, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 29540, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 29540, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29539
 *     with nogil:
 *         err = cydriver.cuPointerGetAttribute(cydata_ptr, cyattribute, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cydata.pyObj())
*/
  }

  /* "cuda/bindings/driver.pyx":29541
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cydata.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_3 = ((PyObject *)__pyx_v_cydata);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_7 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 29541, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 29541, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29333
 *     return (_dict_CUresult[err], granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttribute(attribute not None : CUpointer_attribute, ptr):
 *     """ Returns information about a pointer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuPointerGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XDECREF((PyObject *)__pyx_v_cydata);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29543
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream):
 *     """ Prefetches memory to the specified destination device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_395cuMemPrefetchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_394cuMemPrefetchAsync, "cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream)\n\nPrefetches memory to the specified destination device.\n\nNote there is a later version of this API,\n:py:obj:`~.cuMemPrefetchAsync_v2`. It will supplant this version in\n13.0, which is retained for minor version compatibility.\n\nPrefetches memory to the specified destination device. `devPtr` is the\nbase device pointer of the memory to be prefetched and `dstDevice` is\nthe destination device. `count` specifies the number of bytes to copy.\n`hStream` is the stream in which the operation is enqueued. The memory\nrange must refer to managed memory allocated via\n:py:obj:`~.cuMemAllocManaged` or declared via managed variables or it\nmay also refer to system-allocated memory on systems with non-zero\nCU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS.\n\nPassing in CU_DEVICE_CPU for `dstDevice` will prefetch the data to host\nmemory. If `dstDevice` is a GPU, then the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` must be non-\nzero. Additionally, `hStream` must be associated with a device that has\na non-zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`.\n\nThe start address and end address of the memory range will be rounded\ndown and rounded up respectively to be aligned to CPU page size before\nthe prefetch operation is enqueued in the stream.\n\nIf no physical memory has been allocated for this region, then this\nmemory region will be populated and mapped on the destination device.\nIf there's insufficient memory to prefetch the desired region, the\nUnified Memory driver may evict pages from other\n:py:obj:`~.cuMemAllocManaged` allocations to host memory in order to\nmake room. Device memory allocated using :py:obj:`~.cuMemAlloc` or\n:py:obj:`~.cuArrayCreate` will not be evicted.\n\nBy default, any mappings to the previous location of the migrated pages\nare removed and mappings for the new location are only setup on\n`dstDevice`. The ex""act behavior however also depends on the settings\napplied to this memory range via :py:obj:`~.cuMemAdvise` as described\nbelow:\n\nIf :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` was set on any subset of\nthis memory range, then that subset will create a read-only copy of the\npages on `dstDevice`.\n\nIf :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` was called on any\nsubset of this memory range, then the pages will be migrated to\n`dstDevice` even if `dstDevice` is not the preferred location of any\npages in the memory range.\n\nIf :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` was called on any subset\nof this memory range, then mappings to those pages from all the\nappropriate processors are updated to refer to the new location if\nestablishing such a mapping is possible. Otherwise, those mappings are\ncleared.\n\nNote that this API is not required for functionality and only serves to\nimprove performance by allowing the application to migrate data to a\nsuitable location before it is accessed. Memory accesses to this range\nare always coherent and are allowed even when the data is actively\nbeing migrated.\n\nNote that this function is asynchronous with respect to the host and\nall work on other devices.\n\nParameters\n----------\ndevPtr : :py:obj:`~.CUdeviceptr`\n    Pointer to be prefetched\ncount : size_t\n    Size in bytes\ndstDevice : :py:obj:`~.CUdevice`\n    Destination device to prefetch to\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to enqueue prefetch operation\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\nSee Also\n--------\n:py:obj:`~.cuMemcpy`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cuMemPrefetchAsync` :py:obj:`~.cudaMemPrefetchAsync_v2`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_395cuMemPrefetchAsync = {"cuMemPrefetchAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_395cuMemPrefetchAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_394cuMemPrefetchAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_395cuMemPrefetchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_devPtr_2,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_dstDevice_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29543, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPrefetchAsync", 0) < (0)) __PYX_ERR(0, 29543, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync", 1, 4, 4, i); __PYX_ERR(0, 29543, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29543, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29543, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29543, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29543, __pyx_L3_error)
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29544, __pyx_L3_error)
    __pyx_v_dstDevice = values[2];
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 29543, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_394cuMemPrefetchAsync(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_dstDevice, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_394cuMemPrefetchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdevice __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUdeviceptr __pyx_v_cydevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUdevice __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync", 0);

  /* "cuda/bindings/driver.pyx":29630
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29631
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29630
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29632
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29633
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29632
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29635
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdevice cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29635, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29636
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29636, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29638
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29639
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29638
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29640
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29641
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":29640
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29643
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdevice>pdstDevice
 *     cdef cydriver.CUdeviceptr cydevPtr
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29643, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29644
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
 *     cydstDevice = <cydriver.CUdevice>pdstDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
*/
  __pyx_t_7 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdstDevice); if (unlikely((__pyx_t_7 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 29644, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdevice)__pyx_t_7);

  /* "cuda/bindings/driver.pyx":29646
 *     cydstDevice = <cydriver.CUdevice>pdstDevice
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29647
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
 *         pdevPtr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevPtr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29646
 *     cydstDevice = <cydriver.CUdevice>pdstDevice
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":29648
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29649
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":29648
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":29651
 *         pdevPtr = int(devPtr)
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_devPtr};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29651, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":29652
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, cydstDevice, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29652, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29653
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, cydstDevice, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29654
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, cydstDevice, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchAsync(__pyx_v_cydevPtr, __pyx_v_count, __pyx_v_cydstDevice, __pyx_v_cyhStream); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29654, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":29653
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, cydstDevice, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":29655
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, cydstDevice, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 29655, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29543
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream):
 *     """ Prefetches memory to the specified destination device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29657
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync_v2(devPtr, size_t count, location not None : CUmemLocation, unsigned int flags, hStream):
 *     """ Prefetches memory to the specified destination location.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_397cuMemPrefetchAsync_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_396cuMemPrefetchAsync_v2, "cuMemPrefetchAsync_v2(devPtr, size_t count, CUmemLocation location: CUmemLocation, unsigned int flags, hStream)\n\nPrefetches memory to the specified destination location.\n\nPrefetches memory to the specified destination location. `devPtr` is\nthe base device pointer of the memory to be prefetched and `location`\nspecifies the destination location. `count` specifies the number of\nbytes to copy. `hStream` is the stream in which the operation is\nenqueued. The memory range must refer to managed memory allocated via\n:py:obj:`~.cuMemAllocManaged` or declared via managed variables.\n\nSpecifying :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` for\n:py:obj:`~.CUmemLocation.type` will prefetch memory to GPU specified by\ndevice ordinal :py:obj:`~.CUmemLocation.id` which must have non-zero\nvalue for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`.\nAdditionally, `hStream` must be associated with a device that has a\nnon-zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Specifying\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` as :py:obj:`~.CUmemLocation.type`\nwill prefetch data to host memory. Applications can request prefetching\nmemory to a specific host NUMA node by specifying\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` for\n:py:obj:`~.CUmemLocation.type` and a valid host NUMA node id in\n:py:obj:`~.CUmemLocation.id` Users can also request prefetching memory\nto the host NUMA node closest to the current thread's CPU by specifying\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT` for\n:py:obj:`~.CUmemLocation.type`. Note when\n:py:obj:`~.CUmemLocation.type` is etiher\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` OR\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT`,\n:py:obj:`~.CUmemLocation.id` will be ignored.\n\nThe start address and end address of the memory range will be rounded\ndown and rounded up respectively to be aligned to CPU page size before\nthe prefetch operation is enqueued in the stream.\n""\nIf no physical memory has been allocated for this region, then this\nmemory region will be populated and mapped on the destination device.\nIf there's insufficient memory to prefetch the desired region, the\nUnified Memory driver may evict pages from other\n:py:obj:`~.cuMemAllocManaged` allocations to host memory in order to\nmake room. Device memory allocated using :py:obj:`~.cuMemAlloc` or\n:py:obj:`~.cuArrayCreate` will not be evicted.\n\nBy default, any mappings to the previous location of the migrated pages\nare removed and mappings for the new location are only setup on the\ndestination location. The exact behavior however also depends on the\nsettings applied to this memory range via :py:obj:`~.cuMemAdvise` as\ndescribed below:\n\nIf :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` was set on any subset of\nthis memory range, then that subset will create a read-only copy of the\npages on destination location. If however the destination location is a\nhost NUMA node, then any pages of that subset that are already in\nanother host NUMA node will be transferred to the destination.\n\nIf :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` was called on any\nsubset of this memory range, then the pages will be migrated to\n`location` even if `location` is not the preferred location of any\npages in the memory range.\n\nIf :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` was called on any subset\nof this memory range, then mappings to those pages from all the\nappropriate processors are updated to refer to the new location if\nestablishing such a mapping is possible. Otherwise, those mappings are\ncleared.\n\nNote that this API is not required for functionality and only serves to\nimprove performance by allowing the application to migrate data to a\nsuitable location before it is accessed. Memory accesses to this range\nare always coherent and are allowed even when the data is actively\nbeing migrated.\n\nNote that this function is asynchronous with respect to the host and\nall wo""rk on other devices.\n\nParameters\n----------\ndevPtr : :py:obj:`~.CUdeviceptr`\n    Pointer to be prefetched\ncount : size_t\n    Size in bytes\nlocation : :py:obj:`~.CUmemLocation`\n    Location to prefetch to\nflags : unsigned int\n    flags for future use, must be zero now.\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to enqueue prefetch operation\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\nSee Also\n--------\n:py:obj:`~.cuMemcpy`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cudaMemPrefetchAsync_v2`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_397cuMemPrefetchAsync_v2 = {"cuMemPrefetchAsync_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_397cuMemPrefetchAsync_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_396cuMemPrefetchAsync_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_397cuMemPrefetchAsync_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location = 0;
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_devPtr_2,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_location_2,&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29657, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29657, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29657, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29657, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29657, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29657, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPrefetchAsync_v2", 0) < (0)) __PYX_ERR(0, 29657, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync_v2", 1, 5, 5, i); __PYX_ERR(0, 29657, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29657, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29657, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29657, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29657, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29657, __pyx_L3_error)
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29658, __pyx_L3_error)
    __pyx_v_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)values[2]);
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 29658, __pyx_L3_error)
    __pyx_v_hStream = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 29657, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchAsync_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "location", 0))) __PYX_ERR(0, 29658, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_396cuMemPrefetchAsync_v2(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_location, __pyx_v_flags, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_396cuMemPrefetchAsync_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, unsigned int __pyx_v_flags, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cydevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync_v2", 0);

  /* "cuda/bindings/driver.pyx":29757
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29758
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29757
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29759
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29760
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29759
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29762
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydevPtr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29762, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29763
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29763, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29765
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29766
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
 *         pdevPtr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevPtr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29765
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29767
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29768
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":29767
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29770
 *         pdevPtr = int(devPtr)
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_devPtr};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29770, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29771
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync_v2(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29771, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29772
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPrefetchAsync_v2(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29773
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync_v2(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchAsync_v2(__pyx_v_cydevPtr, __pyx_v_count, (__pyx_v_location->__pyx_base.__pyx_base._pvt_ptr[0]), __pyx_v_flags, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29773, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29772
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPrefetchAsync_v2(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29774
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync_v2(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 29774, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29657
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync_v2(devPtr, size_t count, location not None : CUmemLocation, unsigned int flags, hStream):
 *     """ Prefetches memory to the specified destination location.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchAsync_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29776
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(devPtr, size_t count, advice not None : CUmem_advise, device):
 *     """ Advise about the usage of a given memory range.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_399cuMemAdvise(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_398cuMemAdvise, "cuMemAdvise(devPtr, size_t count, advice: CUmem_advise, device)\n\nAdvise about the usage of a given memory range.\n\nNote there is a later version of this API, :py:obj:`~.cuMemAdvise_v2`.\nIt will supplant this version in 13.0, which is retained for minor\nversion compatibility.\n\nAdvise the Unified Memory subsystem about the usage pattern for the\nmemory range starting at `devPtr` with a size of `count` bytes. The\nstart address and end address of the memory range will be rounded down\nand rounded up respectively to be aligned to CPU page size before the\nadvice is applied. The memory range must refer to managed memory\nallocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\nvariables. The memory range could also refer to system-allocated\npageable memory provided it represents a valid, host-accessible region\nof memory and all additional constraints imposed by `advice` as\noutlined below are also satisfied. Specifying an invalid system-\nallocated pageable memory range results in an error being returned.\n\nThe `advice` parameter can take the following values:\n\n- :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`: This implies that the data\n  is mostly going to be read from and only occasionally written to. Any\n  read accesses from any processor to this region will create a read-\n  only copy of at least the accessed pages in that processor's memory.\n  Additionally, if :py:obj:`~.cuMemPrefetchAsync` is called on this\n  region, it will create a read-only copy of the data on the\n  destination processor. If any processor writes to this region, all\n  copies of the corresponding page will be invalidated except for the\n  one where the write occurred. The `device` argument is ignored for\n  this advice. Note that for a page to be read-duplicated, the\n  accessing processor must either be the CPU or a GPU that has a non-\n  zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Also, if a\n  context is created on a"" device that does not have the device\n  attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`\n  set, then read-duplication will not occur until all such contexts are\n  destroyed. If the memory region refers to valid system-allocated\n  pageable memory, then the accessing device must have a non-zero value\n  for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS` for a read-\n  only copy to be created on that device. Note however that if the\n  accessing device also has a non-zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n  then setting this advice will not create a read-only copy when that\n  device accesses this memory region.\n\n- :py:obj:`~.CU_MEM_ADVISE_UNSET_READ_MOSTLY`: Undoes the effect of\n  :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` and also prevents the\n  Unified Memory driver from attempting heuristic read-duplication on\n  the memory range. Any read-duplicated copies of the data will be\n  collapsed into a single copy. The location for the collapsed copy\n  will be the preferred location if the page has a preferred location\n  and one of the read-duplicated copies was resident at that location.\n  Otherwise, the location chosen is arbitrary.\n\n- :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION`: This advice sets\n  the preferred location for the data to be the memory belonging to\n  `device`. Passing in CU_DEVICE_CPU for `device` sets the preferred\n  location as host memory. If `device` is a GPU, then it must have a\n  non-zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Setting\n  the preferred location does not cause data to migrate to that\n  location immediately. Instead, it guides the migration policy when a\n  fault occurs on that memory region. If the data is already in its\n  preferred location and the faulting processor can establish a mapping\n  without requiring the data to be mig""rated, then data migration will\n  be avoided. On the other hand, if the data is not in its preferred\n  location or if a direct mapping cannot be established, then it will\n  be migrated to the processor accessing it. It is important to note\n  that setting the preferred location does not prevent data prefetching\n  done using :py:obj:`~.cuMemPrefetchAsync`. Having a preferred\n  location can override the page thrash detection and resolution logic\n  in the Unified Memory driver. Normally, if a page is detected to be\n  constantly thrashing between for example host and device memory, the\n  page may eventually be pinned to host memory by the Unified Memory\n  driver. But if the preferred location is set as device memory, then\n  the page will continue to thrash indefinitely. If\n  :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` is also set on this memory\n  region or any subset of it, then the policies associated with that\n  advice will override the policies of this advice, unless read\n  accesses from `device` will not result in a read-only copy being\n  created on that device as outlined in description for the advice\n  :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`. If the memory region\n  refers to valid system-allocated pageable memory, then `device` must\n  have a non-zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`.\n\n- :py:obj:`~.CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION`: Undoes the effect\n  of :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` and changes the\n  preferred location to none.\n\n- :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY`: This advice implies that\n  the data will be accessed by `device`. Passing in\n  :py:obj:`~.CU_DEVICE_CPU` for `device` will set the advice for the\n  CPU. If `device` is a GPU, then the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` must be\n  non-zero. This advice does not cause data migration and has no impact\n  on the location of the data per se. Instead, ""it causes the data to\n  always be mapped in the specified processor's page tables, as long as\n  the location of the data permits a mapping to be established. If the\n  data gets migrated for any reason, the mappings are updated\n  accordingly. This advice is recommended in scenarios where data\n  locality is not important, but avoiding faults is. Consider for\n  example a system containing multiple GPUs with peer-to-peer access\n  enabled, where the data located on one GPU is occasionally accessed\n  by peer GPUs. In such scenarios, migrating data over to the other\n  GPUs is not as important because the accesses are infrequent and the\n  overhead of migration may be too high. But preventing faults can\n  still help improve performance, and so having a mapping set up in\n  advance is useful. Note that on CPU access of this data, the data may\n  be migrated to host memory because the CPU typically cannot access\n  device memory directly. Any GPU that had the\n  :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` flag set for this data will\n  now have its mapping updated to point to the page in host memory. If\n  :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` is also set on this memory\n  region or any subset of it, then the policies associated with that\n  advice will override the policies of this advice. Additionally, if\n  the preferred location of this memory region or any subset of it is\n  also `device`, then the policies associated with\n  :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` will override the\n  policies of this advice. If the memory region refers to valid system-\n  allocated pageable memory, then `device` must have a non-zero value\n  for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`. Additionally,\n  if `device` has a non-zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n  then this call has no effect.\n\n- :py:obj:`~.CU_MEM_ADVISE_UNSET_ACCESSED_BY`: Undoes"" the effect of\n  :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY`. Any mappings to the data\n  from `device` may be removed at any time causing accesses to result\n  in non-fatal page faults. If the memory region refers to valid\n  system-allocated pageable memory, then `device` must have a non-zero\n  value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`. Additionally,\n  if `device` has a non-zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n  then this call has no effect.\n\nParameters\n----------\ndevPtr : :py:obj:`~.CUdeviceptr`\n    Pointer to memory to set the advice for\ncount : size_t\n    Size in bytes of the memory range\nadvice : :py:obj:`~.CUmem_advise`\n    Advice to be applied for the specified memory range\ndevice : :py:obj:`~.CUdevice`\n    Device to apply the advice for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\nSee Also\n--------\n:py:obj:`~.cuMemcpy`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cuMemAdvise_v2`, :py:obj:`~.cudaMemAdvise`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_399cuMemAdvise = {"cuMemAdvise", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_399cuMemAdvise, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_398cuMemAdvise};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_399cuMemAdvise(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_advice = 0;
  PyObject *__pyx_v_device = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAdvise (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_devPtr_2,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_advice,&__pyx_mstate_global->__pyx_n_u_device,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29776, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAdvise", 0) < (0)) __PYX_ERR(0, 29776, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAdvise", 1, 4, 4, i); __PYX_ERR(0, 29776, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29776, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29776, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29776, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29776, __pyx_L3_error)
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29777, __pyx_L3_error)
    __pyx_v_advice = values[2];
    __pyx_v_device = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAdvise", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 29776, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAdvise", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_advice) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "advice"); __PYX_ERR(0, 29777, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_398cuMemAdvise(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_advice, __pyx_v_device);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_398cuMemAdvise(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUdeviceptr __pyx_v_cydevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  CUmem_advise __pyx_v_cyadvice;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUmem_advise __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAdvise", 0);

  /* "cuda/bindings/driver.pyx":29938
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29939
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29938
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29940
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29941
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29940
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29943
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUdeviceptr cydevPtr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29943, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29944
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 29944, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":29946
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29947
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
 *         pdevPtr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevPtr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":29946
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29948
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":29949
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":29948
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29951
 *         pdevPtr = int(devPtr)
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_devPtr};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29951, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29952
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29952, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":29953
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, cydevice)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_advice, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = ((enum CUmem_advise_enum)__Pyx_PyLong_As_enum__CUmem_advise_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyadvice = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":29954
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, cydevice)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29955
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, cydevice)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAdvise(__pyx_v_cydevPtr, __pyx_v_count, __pyx_v_cyadvice, __pyx_v_cydevice); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29955, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":29954
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, cydevice)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29956
 *     with nogil:
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, cydevice)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 29956, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29776
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(devPtr, size_t count, advice not None : CUmem_advise, device):
 *     """ Advise about the usage of a given memory range.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAdvise", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29958
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise_v2(devPtr, size_t count, advice not None : CUmem_advise, location not None : CUmemLocation):
 *     """ Advise about the usage of a given memory range.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_401cuMemAdvise_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_400cuMemAdvise_v2, "cuMemAdvise_v2(devPtr, size_t count, advice: CUmem_advise, CUmemLocation location: CUmemLocation)\n\nAdvise about the usage of a given memory range.\n\nAdvise the Unified Memory subsystem about the usage pattern for the\nmemory range starting at `devPtr` with a size of `count` bytes. The\nstart address and end address of the memory range will be rounded down\nand rounded up respectively to be aligned to CPU page size before the\nadvice is applied. The memory range must refer to managed memory\nallocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\nvariables. The memory range could also refer to system-allocated\npageable memory provided it represents a valid, host-accessible region\nof memory and all additional constraints imposed by `advice` as\noutlined below are also satisfied. Specifying an invalid system-\nallocated pageable memory range results in an error being returned.\n\nThe `advice` parameter can take the following values:\n\n- :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`: This implies that the data\n  is mostly going to be read from and only occasionally written to. Any\n  read accesses from any processor to this region will create a read-\n  only copy of at least the accessed pages in that processor's memory.\n  Additionally, if :py:obj:`~.cuMemPrefetchAsync` or\n  :py:obj:`~.cuMemPrefetchAsync_v2` is called on this region, it will\n  create a read-only copy of the data on the destination processor. If\n  the target location for :py:obj:`~.cuMemPrefetchAsync_v2` is a host\n  NUMA node and a read-only copy already exists on another host NUMA\n  node, that copy will be migrated to the targeted host NUMA node. If\n  any processor writes to this region, all copies of the corresponding\n  page will be invalidated except for the one where the write occurred.\n  If the writing processor is the CPU and the preferred location of the\n  page is a host NUMA node, then the page will also be migrated to that\n  host NUMA node. The `location` argument is i""gnored for this advice.\n  Note that for a page to be read-duplicated, the accessing processor\n  must either be the CPU or a GPU that has a non-zero value for the\n  device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Also, if a\n  context is created on a device that does not have the device\n  attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`\n  set, then read-duplication will not occur until all such contexts are\n  destroyed. If the memory region refers to valid system-allocated\n  pageable memory, then the accessing device must have a non-zero value\n  for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS` for a read-\n  only copy to be created on that device. Note however that if the\n  accessing device also has a non-zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n  then setting this advice will not create a read-only copy when that\n  device accesses this memory region.\n\n- :py:obj:`~.CU_MEM_ADVISE_UNSET_READ_MOSTLY`: Undoes the effect of\n  :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` and also prevents the\n  Unified Memory driver from attempting heuristic read-duplication on\n  the memory range. Any read-duplicated copies of the data will be\n  collapsed into a single copy. The location for the collapsed copy\n  will be the preferred location if the page has a preferred location\n  and one of the read-duplicated copies was resident at that location.\n  Otherwise, the location chosen is arbitrary. Note: The `location`\n  argument is ignored for this advice.\n\n- :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION`: This advice sets\n  the preferred location for the data to be the memory belonging to\n  `location`. When :py:obj:`~.CUmemLocation.type` is\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST`, :py:obj:`~.CUmemLocation.id`\n  is ignored and the preferred location is set to be host memory. To\n  set the preferred location to"" a specific host NUMA node, applications\n  must set :py:obj:`~.CUmemLocation.type` to\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` and\n  :py:obj:`~.CUmemLocation.id` must specify the NUMA ID of the host\n  NUMA node. If :py:obj:`~.CUmemLocation.type` is set to\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT`,\n  :py:obj:`~.CUmemLocation.id` will be ignored and the the host NUMA\n  node closest to the calling thread's CPU will be used as the\n  preferred location. If :py:obj:`~.CUmemLocation.type` is a\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`, then\n  :py:obj:`~.CUmemLocation.id` must be a valid device ordinal and the\n  device must have a non-zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Setting\n  the preferred location does not cause data to migrate to that\n  location immediately. Instead, it guides the migration policy when a\n  fault occurs on that memory region. If the data is already in its\n  preferred location and the faulting processor can establish a mapping\n  without requiring the data to be migrated, then data migration will\n  be avoided. On the other hand, if the data is not in its preferred\n  location or if a direct mapping cannot be established, then it will\n  be migrated to the processor accessing it. It is important to note\n  that setting the preferred location does not prevent data prefetching\n  done using :py:obj:`~.cuMemPrefetchAsync`. Having a preferred\n  location can override the page thrash detection and resolution logic\n  in the Unified Memory driver. Normally, if a page is detected to be\n  constantly thrashing between for example host and device memory, the\n  page may eventually be pinned to host memory by the Unified Memory\n  driver. But if the preferred location is set as device memory, then\n  the page will continue to thrash indefinitely. If\n  :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` is also set on this memory\n  region or any subset of it, then the policies asso""ciated with that\n  advice will override the policies of this advice, unless read\n  accesses from `location` will not result in a read-only copy being\n  created on that procesor as outlined in description for the advice\n  :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`. If the memory region\n  refers to valid system-allocated pageable memory, and\n  :py:obj:`~.CUmemLocation.type` is CU_MEM_LOCATION_TYPE_DEVICE then\n  :py:obj:`~.CUmemLocation.id` must be a valid device that has a non-\n  zero alue for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`.\n\n- :py:obj:`~.CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION`: Undoes the effect\n  of :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` and changes the\n  preferred location to none. The `location` argument is ignored for\n  this advice.\n\n- :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY`: This advice implies that\n  the data will be accessed by processor `location`. The\n  :py:obj:`~.CUmemLocation.type` must be either\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` with\n  :py:obj:`~.CUmemLocation.id` representing a valid device ordinal or\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` and\n  :py:obj:`~.CUmemLocation.id` will be ignored. All other location\n  types are invalid. If :py:obj:`~.CUmemLocation.id` is a GPU, then the\n  device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` must be\n  non-zero. This advice does not cause data migration and has no impact\n  on the location of the data per se. Instead, it causes the data to\n  always be mapped in the specified processor's page tables, as long as\n  the location of the data permits a mapping to be established. If the\n  data gets migrated for any reason, the mappings are updated\n  accordingly. This advice is recommended in scenarios where data\n  locality is not important, but avoiding faults is. Consider for\n  example a system containing multiple GPUs with peer-to-peer access\n  enabled, where the data located on one GPU is occasi""onally accessed\n  by peer GPUs. In such scenarios, migrating data over to the other\n  GPUs is not as important because the accesses are infrequent and the\n  overhead of migration may be too high. But preventing faults can\n  still help improve performance, and so having a mapping set up in\n  advance is useful. Note that on CPU access of this data, the data may\n  be migrated to host memory because the CPU typically cannot access\n  device memory directly. Any GPU that had the\n  :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` flag set for this data will\n  now have its mapping updated to point to the page in host memory. If\n  :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` is also set on this memory\n  region or any subset of it, then the policies associated with that\n  advice will override the policies of this advice. Additionally, if\n  the preferred location of this memory region or any subset of it is\n  also `location`, then the policies associated with\n  :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` will override the\n  policies of this advice. If the memory region refers to valid system-\n  allocated pageable memory, and :py:obj:`~.CUmemLocation.type` is\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` then device in\n  :py:obj:`~.CUmemLocation.id` must have a non-zero value for the\n  device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`. Additionally,\n  if :py:obj:`~.CUmemLocation.id` has a non-zero value for the device\n  attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n  then this call has no effect.\n\n- :py:obj:`~.CU_MEM_ADVISE_UNSET_ACCESSED_BY`: Undoes the effect of\n  :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY`. Any mappings to the data\n  from `location` may be removed at any time causing accesses to result\n  in non-fatal page faults. If the memory region refers to valid\n  system-allocated pageable memory, and :py:obj:`~.CUmemLocation.type`\n  is :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` then de""vice in\n  :py:obj:`~.CUmemLocation.id` must have a non-zero value for the\n  device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`. Additionally,\n  if :py:obj:`~.CUmemLocation.id` has a non-zero value for the device\n  attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n  then this call has no effect.\n\nParameters\n----------\ndevPtr : :py:obj:`~.CUdeviceptr`\n    Pointer to memory to set the advice for\ncount : size_t\n    Size in bytes of the memory range\nadvice : :py:obj:`~.CUmem_advise`\n    Advice to be applied for the specified memory range\nlocation : :py:obj:`~.CUmemLocation`\n    location to apply the advice for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\nSee Also\n--------\n:py:obj:`~.cuMemcpy`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cudaMemAdvise`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_401cuMemAdvise_v2 = {"cuMemAdvise_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_401cuMemAdvise_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_400cuMemAdvise_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_401cuMemAdvise_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_advice = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAdvise_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_devPtr_2,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_advice,&__pyx_mstate_global->__pyx_n_u_location_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 29958, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29958, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29958, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29958, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29958, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemAdvise_v2", 0) < (0)) __PYX_ERR(0, 29958, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemAdvise_v2", 1, 4, 4, i); __PYX_ERR(0, 29958, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29958, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29958, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29958, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29958, __pyx_L3_error)
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29959, __pyx_L3_error)
    __pyx_v_advice = values[2];
    __pyx_v_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAdvise_v2", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 29958, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAdvise_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_advice) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "advice"); __PYX_ERR(0, 29959, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "location", 0))) __PYX_ERR(0, 29959, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_400cuMemAdvise_v2(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_advice, __pyx_v_location);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_400cuMemAdvise_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location) {
  CUdeviceptr __pyx_v_cydevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  CUmem_advise __pyx_v_cyadvice;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUmem_advise __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAdvise_v2", 0);

  /* "cuda/bindings/driver.pyx":30149
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30150
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
 *         pdevPtr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevPtr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30149
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30151
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30152
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30151
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30154
 *         pdevPtr = int(devPtr)
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30154, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30155
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30155, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30156
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAdvise_v2(cydevPtr, count, cyadvice, location._pvt_ptr[0])
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_advice, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUmem_advise_enum)__Pyx_PyLong_As_enum__CUmem_advise_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyadvice = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":30157
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAdvise_v2(cydevPtr, count, cyadvice, location._pvt_ptr[0])
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30158
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:
 *         err = cydriver.cuMemAdvise_v2(cydevPtr, count, cyadvice, location._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAdvise_v2(__pyx_v_cydevPtr, __pyx_v_count, __pyx_v_cyadvice, (__pyx_v_location->__pyx_base.__pyx_base._pvt_ptr[0])); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30158, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":30157
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAdvise_v2(cydevPtr, count, cyadvice, location._pvt_ptr[0])
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30159
 *     with nogil:
 *         err = cydriver.cuMemAdvise_v2(cydevPtr, count, cyadvice, location._pvt_ptr[0])
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 30159, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29958
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise_v2(devPtr, size_t count, advice not None : CUmem_advise, location not None : CUmemLocation):
 *     """ Advise about the usage of a given memory range.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAdvise_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30161
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttribute(size_t dataSize, attribute not None : CUmem_range_attribute, devPtr, size_t count):
 *     """ Query an attribute of a given memory range.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_403cuMemRangeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_402cuMemRangeGetAttribute, "cuMemRangeGetAttribute(size_t dataSize, attribute: CUmem_range_attribute, devPtr, size_t count)\n\nQuery an attribute of a given memory range.\n\nQuery an attribute about the memory range starting at `devPtr` with a\nsize of `count` bytes. The memory range must refer to managed memory\nallocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\nvariables.\n\nThe `attribute` parameter can take the following values:\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY`: If this attribute is\n  specified, `data` will be interpreted as a 32-bit integer, and\n  `dataSize` must be 4. The result returned will be 1 if all pages in\n  the given memory range have read-duplication enabled, or 0 otherwise.\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION`: If this\n  attribute is specified, `data` will be interpreted as a 32-bit\n  integer, and `dataSize` must be 4. The result returned will be a GPU\n  device id if all pages in the memory range have that GPU as their\n  preferred location, or it will be CU_DEVICE_CPU if all pages in the\n  memory range have the CPU as their preferred location, or it will be\n  CU_DEVICE_INVALID if either all the pages don't have the same\n  preferred location or some of the pages don't have a preferred\n  location at all. Note that the actual location of the pages in the\n  memory range at the time of the query may be different from the\n  preferred location.\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY`: If this attribute is\n  specified, `data` will be interpreted as an array of 32-bit integers,\n  and `dataSize` must be a non-zero multiple of 4. The result returned\n  will be a list of device ids that had\n  :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` set for that entire memory\n  range. If any device does not have that advice set for the entire\n  memory range, that device will not be included. If `data` is larger\n  than the number of devices that have that advice set for that memory\n  range, CU_DEVICE_INVALID will be ""returned in all the extra space\n  provided. For ex., if `dataSize` is 12 (i.e. `data` has 3 elements)\n  and only device 0 has the advice set, then the result returned will\n  be { 0, CU_DEVICE_INVALID, CU_DEVICE_INVALID }. If `data` is smaller\n  than the number of devices that have that advice set, then only as\n  many devices will be returned as can fit in the array. There is no\n  guarantee on which specific devices will be returned, however.\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION`: If this\n  attribute is specified, `data` will be interpreted as a 32-bit\n  integer, and `dataSize` must be 4. The result returned will be the\n  last location to which all pages in the memory range were prefetched\n  explicitly via :py:obj:`~.cuMemPrefetchAsync`. This will either be a\n  GPU id or CU_DEVICE_CPU depending on whether the last location for\n  prefetch was a GPU or the CPU respectively. If any page in the memory\n  range was never explicitly prefetched or if all pages were not\n  prefetched to the same location, CU_DEVICE_INVALID will be returned.\n  Note that this simply returns the last location that the application\n  requested to prefetch the memory range to. It gives no indication as\n  to whether the prefetch operation to that location has completed or\n  even begun.\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE`: If this\n  attribute is specified, `data` will be interpreted as a\n  :py:obj:`~.CUmemLocationType`, and `dataSize` must be\n  sizeof(CUmemLocationType). The :py:obj:`~.CUmemLocationType` returned\n  will be :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` if all pages in the\n  memory range have the same GPU as their preferred location, or\n  :py:obj:`~.CUmemLocationType` will be\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` if all pages in the memory\n  range have the CPU as their preferred location, or it will be\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` if all the pages in the\n  memory range have the same host NUMA no""de ID as their preferred\n  location or it will be :py:obj:`~.CU_MEM_LOCATION_TYPE_INVALID` if\n  either all the pages don't have the same preferred location or some\n  of the pages don't have a preferred location at all. Note that the\n  actual location type of the pages in the memory range at the time of\n  the query may be different from the preferred location type.\n\n  - :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID`: If this\n    attribute is specified, `data` will be interpreted as a 32-bit\n    integer, and `dataSize` must be 4. If the\n    :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE` query\n    for the same address range returns\n    :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`, it will be a valid device\n    ordinal or if it returns\n    :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`, it will be a valid host\n    NUMA node ID or if it returns any other location type, the id\n    should be ignored.\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE`: If\n  this attribute is specified, `data` will be interpreted as a\n  :py:obj:`~.CUmemLocationType`, and `dataSize` must be\n  sizeof(CUmemLocationType). The result returned will be the last\n  location to which all pages in the memory range were prefetched\n  explicitly via :py:obj:`~.cuMemPrefetchAsync`. The\n  :py:obj:`~.CUmemLocationType` returned will be\n  :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` if the last prefetch location\n  was a GPU or :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` if it was the CPU\n  or :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` if the last prefetch\n  location was a specific host NUMA node. If any page in the memory\n  range was never explicitly prefetched or if all pages were not\n  prefetched to the same location, :py:obj:`~.CUmemLocationType` will\n  be :py:obj:`~.CU_MEM_LOCATION_TYPE_INVALID`. Note that this simply\n  returns the last location type that the application requested to\n  prefetch the memory range to. It gives no indication as to whether\n  t""he prefetch operation to that location has completed or even begun.\n\n  - :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID`: If\n    this attribute is specified, `data` will be interpreted as a 32-bit\n    integer, and `dataSize` must be 4. If the\n    :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE`\n    query for the same address range returns\n    :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`, it will be a valid device\n    ordinal or if it returns\n    :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`, it will be a valid host\n    NUMA node ID or if it returns any other location type, the id\n    should be ignored.\n\nParameters\n----------\ndataSize : size_t\n    Array containing the size of data\nattribute : :py:obj:`~.CUmem_range_attribute`\n    The attribute to query\ndevPtr : :py:obj:`~.CUdeviceptr`\n    Start of the range to query\ncount : size_t\n    Size of the range to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\ndata : Any\n    A pointers to a memory location where the result of each attribute\n    query will be written to.\n\nSee Also\n--------\n:py:obj:`~.cuMemRangeGetAttributes`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cudaMemRangeGetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_403cuMemRangeGetAttribute = {"cuMemRangeGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_403cuMemRangeGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_402cuMemRangeGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_403cuMemRangeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  size_t __pyx_v_dataSize;
  PyObject *__pyx_v_attribute = 0;
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemRangeGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dataSize,&__pyx_mstate_global->__pyx_n_u_attribute,&__pyx_mstate_global->__pyx_n_u_devPtr_2,&__pyx_mstate_global->__pyx_n_u_count_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30161, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30161, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30161, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30161, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30161, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemRangeGetAttribute", 0) < (0)) __PYX_ERR(0, 30161, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttribute", 1, 4, 4, i); __PYX_ERR(0, 30161, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30161, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30161, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30161, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30161, __pyx_L3_error)
    }
    __pyx_v_dataSize = __Pyx_PyLong_As_size_t(values[0]); if (unlikely((__pyx_v_dataSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 30162, __pyx_L3_error)
    __pyx_v_attribute = values[1];
    __pyx_v_devPtr = values[2];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 30162, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttribute", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 30161, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRangeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attribute) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attribute"); __PYX_ERR(0, 30162, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_402cuMemRangeGetAttribute(__pyx_self, __pyx_v_dataSize, __pyx_v_attribute, __pyx_v_devPtr, __pyx_v_count);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_402cuMemRangeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_dataSize, PyObject *__pyx_v_attribute, PyObject *__pyx_v_devPtr, size_t __pyx_v_count) {
  CUdeviceptr __pyx_v_cydevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *__pyx_v_cydata = 0;
  void *__pyx_v_cydata_ptr;
  CUmem_range_attribute __pyx_v_cyattribute;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  CUmem_range_attribute __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemRangeGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":30300
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30301
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
 *         pdevPtr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevPtr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30300
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30302
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30303
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30302
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30305
 *         pdevPtr = int(devPtr)
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef _HelperCUmem_range_attribute cydata = _HelperCUmem_range_attribute(attribute, dataSize)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30305, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30306
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     cdef _HelperCUmem_range_attribute cydata = _HelperCUmem_range_attribute(attribute, dataSize)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30306, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30307
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef _HelperCUmem_range_attribute cydata = _HelperCUmem_range_attribute(attribute, dataSize)             # <<<<<<<<<<<<<<
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     cdef cydriver.CUmem_range_attribute cyattribute = attribute.value
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute); 
  __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v_dataSize); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_attribute, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30307, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cydata = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":30308
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef _HelperCUmem_range_attribute cydata = _HelperCUmem_range_attribute(attribute, dataSize)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmem_range_attribute cyattribute = attribute.value
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydata), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cydata_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30309
 *     cdef _HelperCUmem_range_attribute cydata = _HelperCUmem_range_attribute(attribute, dataSize)
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     cdef cydriver.CUmem_range_attribute cyattribute = attribute.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemRangeGetAttribute(cydata_ptr, dataSize, cyattribute, cydevPtr, count)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = ((enum CUmem_range_attribute_enum)__Pyx_PyLong_As_enum__CUmem_range_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattribute = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":30310
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     cdef cydriver.CUmem_range_attribute cyattribute = attribute.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRangeGetAttribute(cydata_ptr, dataSize, cyattribute, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30311
 *     cdef cydriver.CUmem_range_attribute cyattribute = attribute.value
 *     with nogil:
 *         err = cydriver.cuMemRangeGetAttribute(cydata_ptr, dataSize, cyattribute, cydevPtr, count)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuMemRangeGetAttribute(__pyx_v_cydata_ptr, __pyx_v_dataSize, __pyx_v_cyattribute, __pyx_v_cydevPtr, __pyx_v_count); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30311, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":30310
 *     cdef void* cydata_ptr = <void*><void_ptr>cydata.cptr
 *     cdef cydriver.CUmem_range_attribute cyattribute = attribute.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRangeGetAttribute(cydata_ptr, dataSize, cyattribute, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30312
 *     with nogil:
 *         err = cydriver.cuMemRangeGetAttribute(cydata_ptr, dataSize, cyattribute, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cydata.pyObj())
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30313
 *         err = cydriver.cuMemRangeGetAttribute(cydata_ptr, dataSize, cyattribute, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 30313, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 30313, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30312
 *     with nogil:
 *         err = cydriver.cuMemRangeGetAttribute(cydata_ptr, dataSize, cyattribute, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cydata.pyObj())
*/
  }

  /* "cuda/bindings/driver.pyx":30314
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cydata.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_3 = ((PyObject *)__pyx_v_cydata);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_7 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30314, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 30314, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30161
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttribute(size_t dataSize, attribute not None : CUmem_range_attribute, devPtr, size_t count):
 *     """ Query an attribute of a given memory range.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRangeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XDECREF((PyObject *)__pyx_v_cydata);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30316
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : tuple[int] | list[int], attributes : Optional[tuple[CUmem_range_attribute] | list[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count):
 *     """ Query attributes of a given memory range.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_405cuMemRangeGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_404cuMemRangeGetAttributes, "cuMemRangeGetAttributes(dataSizes: tuple[int] | list[int], attributes: Optional[tuple[CUmem_range_attribute] | list[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count)\n\nQuery attributes of a given memory range.\n\nQuery attributes of the memory range starting at `devPtr` with a size\nof `count` bytes. The memory range must refer to managed memory\nallocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\nvariables. The `attributes` array will be interpreted to have\n`numAttributes` entries. The `dataSizes` array will also be interpreted\nto have `numAttributes` entries. The results of the query will be\nstored in `data`.\n\nThe list of supported attributes are given below. Please refer to\n:py:obj:`~.cuMemRangeGetAttribute` for attribute descriptions and\nrestrictions.\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY`\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION`\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY`\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION`\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE`\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID`\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE`\n\n- :py:obj:`~.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID`\n\nParameters\n----------\ndataSizes : list[int]\n    Array containing the sizes of each result\nattributes : list[:py:obj:`~.CUmem_range_attribute`]\n    An array of attributes to query (numAttributes and the number of\n    attributes in this array should match)\nnumAttributes : size_t\n    Number of attributes to query\ndevPtr : :py:obj:`~.CUdeviceptr`\n    Start of the range to query\ncount : size_t\n    Size of the range to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\ndata : list[Any]\n    A two-dimensional array cont""aining pointers to memory locations\n    where the result of each attribute query will be written to.\n\nSee Also\n--------\n:py:obj:`~.cuMemRangeGetAttribute`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cudaMemRangeGetAttributes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_405cuMemRangeGetAttributes = {"cuMemRangeGetAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_405cuMemRangeGetAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_404cuMemRangeGetAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_405cuMemRangeGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dataSizes = 0;
  PyObject *__pyx_v_attributes = 0;
  size_t __pyx_v_numAttributes;
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemRangeGetAttributes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dataSizes,&__pyx_mstate_global->__pyx_n_u_attributes,&__pyx_mstate_global->__pyx_n_u_numAttributes,&__pyx_mstate_global->__pyx_n_u_devPtr_2,&__pyx_mstate_global->__pyx_n_u_count_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30316, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 30316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemRangeGetAttributes", 0) < (0)) __PYX_ERR(0, 30316, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttributes", 1, 5, 5, i); __PYX_ERR(0, 30316, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30316, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30316, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30316, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30316, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 30316, __pyx_L3_error)
    }
    __pyx_v_dataSizes = values[0];
    __pyx_v_attributes = values[1];
    __pyx_v_numAttributes = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numAttributes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 30317, __pyx_L3_error)
    __pyx_v_devPtr = values[3];
    __pyx_v_count = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 30317, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttributes", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 30316, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRangeGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_404cuMemRangeGetAttributes(__pyx_self, __pyx_v_dataSizes, __pyx_v_attributes, __pyx_v_numAttributes, __pyx_v_devPtr, __pyx_v_count);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_2generator132(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30383
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 30383, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_2generator132, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[132]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemRangeGetAttributes_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30383, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRangeGetAttributes.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_2generator132(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 30383, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30383, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30383, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30383, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30383, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30383, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 30383, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUmem_range_attribute); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 30383, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_5generator133(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30385
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]")
 *     pylist = [_HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 30385, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_5generator133, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[133]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuMemRangeGetAttributes_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30385, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRangeGetAttributes.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_5generator133(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 30385, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30385, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30385, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30385, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30385, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30385, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 30385, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyLong_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30316
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : tuple[int] | list[int], attributes : Optional[tuple[CUmem_range_attribute] | list[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count):
 *     """ Query attributes of a given memory range.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_404cuMemRangeGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dataSizes, PyObject *__pyx_v_attributes, size_t __pyx_v_numAttributes, PyObject *__pyx_v_devPtr, size_t __pyx_v_count) {
  CUdeviceptr __pyx_v_cydevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperdata = 0;
  void **__pyx_v_cyvoidStarHelper_ptr;
  std::vector<size_t>  __pyx_v_cydataSizes;
  std::vector<CUmem_range_attribute>  __pyx_v_cyattributes;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_2generator132 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_5generator133 = 0;
  PyObject *__pyx_10genexpr271__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr271__pyx_v_pydataSizes = NULL;
  PyObject *__pyx_10genexpr272__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr273__pyx_v_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  PyObject *(*__pyx_t_10)(PyObject *);
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *(*__pyx_t_13)(PyObject *);
  std::vector<size_t>  __pyx_t_14;
  std::vector<CUmem_range_attribute>  __pyx_t_15;
  CUresult __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemRangeGetAttributes", 0);
  __Pyx_INCREF(__pyx_v_attributes);

  /* "cuda/bindings/driver.pyx":30375
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30376
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
 *         pdevPtr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevPtr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30375
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30377
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30378
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30377
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30380
 *         pdevPtr = int(devPtr)
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     attributes = [] if attributes is None else attributes
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30380, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30381
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30381, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30382
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     attributes = [] if attributes is None else attributes             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
*/
  __pyx_t_1 = (__pyx_v_attributes == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_attributes);
    __pyx_t_4 = __pyx_v_attributes;
  }
  __Pyx_DECREF_SET(__pyx_v_attributes, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":30383
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_genexpr(NULL, __pyx_v_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 30383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":30384
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]")
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_attributes_is_not_insta};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30384, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 30384, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30383
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
*/
  }

  /* "cuda/bindings/driver.pyx":30385
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]")
 *     pylist = [_HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_3genexpr(NULL, __pyx_v_dataSizes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 30385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_7);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":30386
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]")             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_dataSizes_is_not_instan};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30386, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 30386, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30385
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUmem_range_attribute] or list[cydriver.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]")
 *     pylist = [_HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
*/
  }

  /* "cuda/bindings/driver.pyx":30387
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]")
 *     pylist = [_HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30387, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_zip);
    __pyx_t_8 = __pyx_builtin_zip; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_attributes, __pyx_v_dataSizes};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30387, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
      __pyx_t_8 = __pyx_t_4; __Pyx_INCREF(__pyx_t_8);
      __pyx_t_9 = 0;
      __pyx_t_10 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30387, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30387, __pyx_L8_error)
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    for (;;) {
      if (likely(!__pyx_t_10)) {
        if (likely(PyList_CheckExact(__pyx_t_8))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30387, __pyx_L8_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_8, __pyx_t_9);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30387, __pyx_L8_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30387, __pyx_L8_error)
      } else {
        __pyx_t_4 = __pyx_t_10(__pyx_t_8);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 30387, __pyx_L8_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
        PyObject* sequence = __pyx_t_4;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 30387, __pyx_L8_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_2);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_2 = __Pyx_PyList_GetItemRef(sequence, 0);
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30387, __pyx_L8_error)
          __Pyx_XGOTREF(__pyx_t_2);
          __pyx_t_11 = __Pyx_PyList_GetItemRef(sequence, 1);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 30387, __pyx_L8_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30387, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 30387, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_12 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 30387, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_2 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_2)) goto __pyx_L11_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_2);
        index = 1; __pyx_t_11 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L11_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < (0)) __PYX_ERR(0, 30387, __pyx_L8_error)
        __pyx_t_13 = NULL;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L12_unpacking_done;
        __pyx_L11_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __pyx_t_13 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 30387, __pyx_L8_error)
        __pyx_L12_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr271__pyx_v_pyattributes, __pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr271__pyx_v_pydataSizes, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute);
      __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute); 
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr271__pyx_v_pyattributes, __pyx_10genexpr271__pyx_v_pydataSizes};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30387, __pyx_L8_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_4);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 30387, __pyx_L8_error)
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pyattributes); __pyx_10genexpr271__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pydataSizes); __pyx_10genexpr271__pyx_v_pydataSizes = 0;
    goto __pyx_L14_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pyattributes); __pyx_10genexpr271__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pydataSizes); __pyx_10genexpr271__pyx_v_pydataSizes = 0;
    goto __pyx_L1_error;
    __pyx_L14_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":30388
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected tuple[int] or list[int]")
 *     pylist = [_HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     cdef vector[size_t] cydataSizes = dataSizes
*/
  __pyx_t_8 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_pylist};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30388, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_voidStarHelperdata = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":30389
 *     pylist = [_HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cydataSizes = dataSizes
 *     cdef vector[cydriver.CUmem_range_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperdata), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyvoidStarHelper_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30390
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     cdef vector[size_t] cydataSizes = dataSizes             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUmem_range_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]
 *     if numAttributes > <size_t>len(dataSizes): raise RuntimeError("List is too small: " + str(len(dataSizes)) + " < " + str(numAttributes))
*/
  __pyx_t_14 = __pyx_convert_vector_from_py_size_t(__pyx_v_dataSizes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30390, __pyx_L1_error)
  __pyx_v_cydataSizes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/bindings/driver.pyx":30391
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     cdef vector[size_t] cydataSizes = dataSizes
 *     cdef vector[cydriver.CUmem_range_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]             # <<<<<<<<<<<<<<
 *     if numAttributes > <size_t>len(dataSizes): raise RuntimeError("List is too small: " + str(len(dataSizes)) + " < " + str(numAttributes))
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30391, __pyx_L17_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (likely(PyList_CheckExact(__pyx_v_attributes)) || PyTuple_CheckExact(__pyx_v_attributes)) {
      __pyx_t_4 = __pyx_v_attributes; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_9 = 0;
      __pyx_t_10 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30391, __pyx_L17_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30391, __pyx_L17_error)
    }
    for (;;) {
      if (likely(!__pyx_t_10)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30391, __pyx_L17_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_4, __pyx_t_9);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30391, __pyx_L17_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_8 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_9));
          #else
          __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30391, __pyx_L17_error)
      } else {
        __pyx_t_8 = __pyx_t_10(__pyx_t_4);
        if (unlikely(!__pyx_t_8)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 30391, __pyx_L17_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_XDECREF_SET(__pyx_10genexpr272__pyx_v_pyattributes, __pyx_t_8);
      __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr272__pyx_v_pyattributes, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30391, __pyx_L17_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 30391, __pyx_L17_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyattributes); __pyx_10genexpr272__pyx_v_pyattributes = 0;
    goto __pyx_L21_exit_scope;
    __pyx_L17_error:;
    __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyattributes); __pyx_10genexpr272__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L21_exit_scope:;
  } /* exit inner scope */
  __pyx_t_15 = __pyx_convert_vector_from_py_CUmem_range_attribute(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattributes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_15);

  /* "cuda/bindings/driver.pyx":30392
 *     cdef vector[size_t] cydataSizes = dataSizes
 *     cdef vector[cydriver.CUmem_range_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]
 *     if numAttributes > <size_t>len(dataSizes): raise RuntimeError("List is too small: " + str(len(dataSizes)) + " < " + str(numAttributes))             # <<<<<<<<<<<<<<
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     with nogil:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_dataSizes); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30392, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numAttributes > ((size_t)__pyx_t_9));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_8 = __pyx_builtin_RuntimeError; 
    __pyx_t_9 = PyObject_Length(__pyx_v_dataSizes); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30392, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 30392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 30392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_numAttributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 30392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 30392, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30393
 *     cdef vector[cydriver.CUmem_range_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]
 *     if numAttributes > <size_t>len(dataSizes): raise RuntimeError("List is too small: " + str(len(dataSizes)) + " < " + str(numAttributes))
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemRangeGetAttributes(cyvoidStarHelper_ptr, cydataSizes.data(), cyattributes.data(), numAttributes, cydevPtr, count)
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_attributes); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30393, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numAttributes > ((size_t)__pyx_t_9));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_8 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_2 = __pyx_builtin_RuntimeError; 
    __pyx_t_9 = PyObject_Length(__pyx_v_attributes); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30393, __pyx_L1_error)
    __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyLong_FromSize_t(__pyx_v_numAttributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 30393, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30394
 *     if numAttributes > <size_t>len(dataSizes): raise RuntimeError("List is too small: " + str(len(dataSizes)) + " < " + str(numAttributes))
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRangeGetAttributes(cyvoidStarHelper_ptr, cydataSizes.data(), cyattributes.data(), numAttributes, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30395
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     with nogil:
 *         err = cydriver.cuMemRangeGetAttributes(cyvoidStarHelper_ptr, cydataSizes.data(), cyattributes.data(), numAttributes, cydevPtr, count)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_16 = __pyx_f_4cuda_8bindings_8cydriver_cuMemRangeGetAttributes(__pyx_v_cyvoidStarHelper_ptr, __pyx_v_cydataSizes.data(), __pyx_v_cyattributes.data(), __pyx_v_numAttributes, __pyx_v_cydevPtr, __pyx_v_count); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30395, __pyx_L25_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":30394
 *     if numAttributes > <size_t>len(dataSizes): raise RuntimeError("List is too small: " + str(len(dataSizes)) + " < " + str(numAttributes))
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRangeGetAttributes(cyvoidStarHelper_ptr, cydataSizes.data(), cyattributes.data(), numAttributes, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L26;
        }
        __pyx_L25_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L26:;
      }
  }

  /* "cuda/bindings/driver.pyx":30396
 *     with nogil:
 *         err = cydriver.cuMemRangeGetAttributes(cyvoidStarHelper_ptr, cydataSizes.data(), cyattributes.data(), numAttributes, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30397
 *         err = cydriver.cuMemRangeGetAttributes(cyvoidStarHelper_ptr, cydataSizes.data(), cyattributes.data(), numAttributes, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30397, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 30397, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30396
 *     with nogil:
 *         err = cydriver.cuMemRangeGetAttributes(cyvoidStarHelper_ptr, cydataSizes.data(), cyattributes.data(), numAttributes, cydevPtr, count)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
*/
  }

  /* "cuda/bindings/driver.pyx":30398
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  { /* enter inner scope */
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30398, __pyx_L30_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_9 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30398, __pyx_L30_error)
        #endif
        if (__pyx_t_9 >= __pyx_temp) break;
      }
      __pyx_t_8 = __Pyx_PyList_GetItemRef(__pyx_t_2, __pyx_t_9);
      ++__pyx_t_9;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30398, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_XDECREF_SET(__pyx_10genexpr273__pyx_v_obj, __pyx_t_8);
      __pyx_t_8 = 0;
      __pyx_t_11 = __pyx_10genexpr273__pyx_v_obj;
      __Pyx_INCREF(__pyx_t_11);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
        __pyx_t_8 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30398, __pyx_L30_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 30398, __pyx_L30_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr273__pyx_v_obj); __pyx_10genexpr273__pyx_v_obj = 0;
    goto __pyx_L34_exit_scope;
    __pyx_L30_error:;
    __Pyx_XDECREF(__pyx_10genexpr273__pyx_v_obj); __pyx_10genexpr273__pyx_v_obj = 0;
    goto __pyx_L1_error;
    __pyx_L34_exit_scope:;
  } /* exit inner scope */
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 30398, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 30398, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30316
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : tuple[int] | list[int], attributes : Optional[tuple[CUmem_range_attribute] | list[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count):
 *     """ Query attributes of a given memory range.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemRangeGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperdata);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_2generator132);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_5generator133);
  __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pydataSizes);
  __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr273__pyx_v_obj);
  __Pyx_XDECREF(__pyx_v_attributes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30400
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerSetAttribute(value, attribute not None : CUpointer_attribute, ptr):
 *     """ Set attributes on a previously allocated memory region.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_407cuPointerSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_406cuPointerSetAttribute, "cuPointerSetAttribute(value, attribute: CUpointer_attribute, ptr)\n\nSet attributes on a previously allocated memory region.\n\nThe supported attributes are:\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS`:\n\n- A boolean attribute that can either be set (1) or unset (0). When\n  set, the region of memory that `ptr` points to is guaranteed to\n  always synchronize memory operations that are synchronous. If there\n  are some previously initiated synchronous memory operations that are\n  pending when this attribute is set, the function does not return\n  until those memory operations are complete. See further documentation\n  in the section titled \"API synchronization behavior\" to learn more\n  about cases when synchronous memory operations can exhibit\n  asynchronous behavior. `value` will be considered as a pointer to an\n  unsigned integer to which this attribute is to be set.\n\nParameters\n----------\nvalue : Any\n    Pointer to memory containing the value to be set\nattribute : :py:obj:`~.CUpointer_attribute`\n    Pointer attribute to set\nptr : :py:obj:`~.CUdeviceptr`\n    Pointer to a memory region allocated using CUDA memory allocation\n    APIs\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\nSee Also\n--------\n:py:obj:`~.cuPointerGetAttribute`, :py:obj:`~.cuPointerGetAttributes`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuMemHostUnregister`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_407cuPointerSetAttribute = {"cuPointerSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_407cuPointerSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_406cuPointerSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_407cuPointerSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_attribute = 0;
  PyObject *__pyx_v_ptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuPointerSetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,&__pyx_mstate_global->__pyx_n_u_attribute,&__pyx_mstate_global->__pyx_n_u_ptr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30400, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30400, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30400, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30400, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuPointerSetAttribute", 0) < (0)) __PYX_ERR(0, 30400, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuPointerSetAttribute", 1, 3, 3, i); __PYX_ERR(0, 30400, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30400, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30400, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30400, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
    __pyx_v_attribute = values[1];
    __pyx_v_ptr = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuPointerSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 30400, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuPointerSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attribute) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attribute"); __PYX_ERR(0, 30401, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_406cuPointerSetAttribute(__pyx_self, __pyx_v_value, __pyx_v_attribute, __pyx_v_ptr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_406cuPointerSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  CUpointer_attribute __pyx_v_cyattribute;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  CUpointer_attribute __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuPointerSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":30439
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30440
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30439
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30441
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30442
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30441
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30444
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef _HelperCUpointer_attribute cyvalue = _HelperCUpointer_attribute(attribute, value, is_getter=False)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30444, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30445
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef _HelperCUpointer_attribute cyvalue = _HelperCUpointer_attribute(attribute, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30445, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30446
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef _HelperCUpointer_attribute cyvalue = _HelperCUpointer_attribute(attribute, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attribute, __pyx_v_value};
    __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_False, __pyx_t_7, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 30446, __pyx_L1_error)
    __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30446, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":30447
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef _HelperCUpointer_attribute cyvalue = _HelperCUpointer_attribute(attribute, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30448
 *     cdef _HelperCUpointer_attribute cyvalue = _HelperCUpointer_attribute(attribute, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuPointerSetAttribute(cyvalue_ptr, cyattribute, cyptr)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = ((enum CUpointer_attribute_enum)__Pyx_PyLong_As_enum__CUpointer_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattribute = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":30449
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuPointerSetAttribute(cyvalue_ptr, cyattribute, cyptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30450
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:
 *         err = cydriver.cuPointerSetAttribute(cyvalue_ptr, cyattribute, cyptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuPointerSetAttribute(__pyx_v_cyvalue_ptr, __pyx_v_cyattribute, __pyx_v_cyptr); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30450, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":30449
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuPointerSetAttribute(cyvalue_ptr, cyattribute, cyptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30451
 *     with nogil:
 *         err = cydriver.cuPointerSetAttribute(cyvalue_ptr, cyattribute, cyptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 30451, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30400
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerSetAttribute(value, attribute not None : CUpointer_attribute, ptr):
 *     """ Set attributes on a previously allocated memory region.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuPointerSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30453
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[tuple[CUpointer_attribute] | list[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_409cuPointerGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_408cuPointerGetAttributes, "cuPointerGetAttributes(unsigned int numAttributes, attributes: Optional[tuple[CUpointer_attribute] | list[CUpointer_attribute]], ptr)\n\nReturns information about a pointer.\n\nThe supported attributes are (refer to\n:py:obj:`~.cuPointerGetAttribute` for attribute descriptions and\nrestrictions):\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_CONTEXT`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_MEMORY_TYPE`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_DEVICE_POINTER`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_HOST_POINTER`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_BUFFER_ID`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_IS_MANAGED`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_RANGE_SIZE`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_MAPPED`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE`\n\n- :py:obj:`~.CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE`\n\nUnlike :py:obj:`~.cuPointerGetAttribute`, this function will not return\nan error when the `ptr` encountered is not a valid CUDA pointer.\nInstead, the attributes are assigned default NULL values and\nCUDA_SUCCESS is returned.\n\nIf `ptr` was not allocated by, mapped by, or registered with a\n:py:obj:`~.CUcontext` which uses UVA (Unified Virtual Addressing),\n:py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` is returned.\n\nParameters\n----------\nnumAttributes : unsigned int\n    Number of attributes to query\nattributes : list[:py:obj:`~.CUpointer_attribute`]\n    An array of attributes to query (numAttributes and the number of\n    attributes in this array should match)\nptr : :py:obj:`~.CUdeviceptr`\n    Pointer to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`""~.CUDA_ERROR_INVALID_DEVICE`\ndata : list[Any]\n    A two-dimensional array containing pointers to memory locations\n    where the result of each attribute query will be written to.\n\nSee Also\n--------\n:py:obj:`~.cuPointerGetAttribute`, :py:obj:`~.cuPointerSetAttribute`, :py:obj:`~.cudaPointerGetAttributes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_409cuPointerGetAttributes = {"cuPointerGetAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_409cuPointerGetAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_408cuPointerGetAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_409cuPointerGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_numAttributes;
  PyObject *__pyx_v_attributes = 0;
  PyObject *__pyx_v_ptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuPointerGetAttributes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_numAttributes,&__pyx_mstate_global->__pyx_n_u_attributes,&__pyx_mstate_global->__pyx_n_u_ptr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30453, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30453, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30453, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30453, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuPointerGetAttributes", 0) < (0)) __PYX_ERR(0, 30453, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuPointerGetAttributes", 1, 3, 3, i); __PYX_ERR(0, 30453, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30453, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30453, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30453, __pyx_L3_error)
    }
    __pyx_v_numAttributes = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_numAttributes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 30454, __pyx_L3_error)
    __pyx_v_attributes = values[1];
    __pyx_v_ptr = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuPointerGetAttributes", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 30453, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuPointerGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_408cuPointerGetAttributes(__pyx_self, __pyx_v_numAttributes, __pyx_v_attributes, __pyx_v_ptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuPointerGetAttributes_2generator134(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30531
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuPointerGetAttributes_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 30531, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_22cuPointerGetAttributes_2generator134, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[134]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuPointerGetAttributes_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30531, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuPointerGetAttributes.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuPointerGetAttributes_2generator134(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 30531, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30531, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30531, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30531, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30531, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30531, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 30531, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 30531, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30453
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[tuple[CUpointer_attribute] | list[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_408cuPointerGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numAttributes, PyObject *__pyx_v_attributes, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cyptr;
  PyObject *__pyx_v_pptr = NULL;
  std::vector<CUpointer_attribute>  __pyx_v_cyattributes;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *__pyx_v_voidStarHelperdata = 0;
  void **__pyx_v_cyvoidStarHelper_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuPointerGetAttributes_2generator134 = 0;
  PyObject *__pyx_10genexpr275__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr276__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr277__pyx_v_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  std::vector<CUpointer_attribute>  __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuPointerGetAttributes", 0);
  __Pyx_INCREF(__pyx_v_attributes);

  /* "cuda/bindings/driver.pyx":30523
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30524
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
 *         pptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30523
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30525
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30526
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30525
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30528
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     attributes = [] if attributes is None else attributes
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30528, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30529
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30529, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30530
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     attributes = [] if attributes is None else attributes             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]")
*/
  __pyx_t_1 = (__pyx_v_attributes == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_attributes);
    __pyx_t_4 = __pyx_v_attributes;
  }
  __Pyx_DECREF_SET(__pyx_v_attributes, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":30531
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_22cuPointerGetAttributes_genexpr(NULL, __pyx_v_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 30531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":30532
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]")             # <<<<<<<<<<<<<<
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     cdef vector[cydriver.CUpointer_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_attributes_is_not_insta_2};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30532, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 30532, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30531
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
*/
  }

  /* "cuda/bindings/driver.pyx":30533
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUpointer_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]
 *     pylist = [_HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_attributes); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30533, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numAttributes > __pyx_t_8);
  if (unlikely(__pyx_t_7)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_4 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_attributes); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30533, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numAttributes); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 30533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30533, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 30533, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30534
 *         raise TypeError("Argument 'attributes' is not instance of type (expected tuple[cydriver.CUpointer_attribute] or list[cydriver.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     cdef vector[cydriver.CUpointer_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]             # <<<<<<<<<<<<<<
 *     pylist = [_HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
*/
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30534, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (likely(PyList_CheckExact(__pyx_v_attributes)) || PyTuple_CheckExact(__pyx_v_attributes)) {
      __pyx_t_4 = __pyx_v_attributes; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_8 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30534, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 30534, __pyx_L8_error)
    }
    for (;;) {
      if (likely(!__pyx_t_12)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30534, __pyx_L8_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_9 = __Pyx_PyList_GetItemRef(__pyx_t_4, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30534, __pyx_L8_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_9 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
          #else
          __pyx_t_9 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30534, __pyx_L8_error)
      } else {
        __pyx_t_9 = __pyx_t_12(__pyx_t_4);
        if (unlikely(!__pyx_t_9)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 30534, __pyx_L8_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_10genexpr275__pyx_v_pyattributes, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr275__pyx_v_pyattributes, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30534, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 30534, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_10genexpr275__pyx_v_pyattributes); __pyx_10genexpr275__pyx_v_pyattributes = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr275__pyx_v_pyattributes); __pyx_10genexpr275__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_t_13 = __pyx_convert_vector_from_py_CUpointer_attribute(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyattributes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":30535
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     cdef vector[cydriver.CUpointer_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]
 *     pylist = [_HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]             # <<<<<<<<<<<<<<
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
*/
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30535, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (likely(PyList_CheckExact(__pyx_v_attributes)) || PyTuple_CheckExact(__pyx_v_attributes)) {
      __pyx_t_4 = __pyx_v_attributes; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_8 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30535, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 30535, __pyx_L15_error)
    }
    for (;;) {
      if (likely(!__pyx_t_12)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30535, __pyx_L15_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_9 = __Pyx_PyList_GetItemRef(__pyx_t_4, __pyx_t_8);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30535, __pyx_L15_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_9 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
          #else
          __pyx_t_9 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30535, __pyx_L15_error)
      } else {
        __pyx_t_9 = __pyx_t_12(__pyx_t_4);
        if (unlikely(!__pyx_t_9)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 30535, __pyx_L15_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_10genexpr276__pyx_v_pyattributes, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_3 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute);
      __pyx_t_11 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute); 
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_10genexpr276__pyx_v_pyattributes, __pyx_mstate_global->__pyx_int_0};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30535, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_10, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 30535, __pyx_L15_error)
        __pyx_t_9 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_11, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30535, __pyx_L15_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_9);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 30535, __pyx_L15_error)
      __Pyx_DECREF((PyObject *)__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_10genexpr276__pyx_v_pyattributes); __pyx_10genexpr276__pyx_v_pyattributes = 0;
    goto __pyx_L19_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_10genexpr276__pyx_v_pyattributes); __pyx_10genexpr276__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L19_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":30536
 *     cdef vector[cydriver.CUpointer_attribute] cyattributes = [pyattributes.value for pyattributes in (attributes)]
 *     pylist = [_HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     with nogil:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_pylist};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30536, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_voidStarHelperdata = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":30537
 *     pylist = [_HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuPointerGetAttributes(numAttributes, cyattributes.data(), cyvoidStarHelper_ptr, cyptr)
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperdata), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyvoidStarHelper_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30538
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuPointerGetAttributes(numAttributes, cyattributes.data(), cyvoidStarHelper_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30539
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     with nogil:
 *         err = cydriver.cuPointerGetAttributes(numAttributes, cyattributes.data(), cyvoidStarHelper_ptr, cyptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuPointerGetAttributes(__pyx_v_numAttributes, __pyx_v_cyattributes.data(), __pyx_v_cyvoidStarHelper_ptr, __pyx_v_cyptr); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30539, __pyx_L21_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":30538
 *     cdef _InputVoidPtrPtrHelper voidStarHelperdata = _InputVoidPtrPtrHelper(pylist)
 *     cdef void** cyvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuPointerGetAttributes(numAttributes, cyattributes.data(), cyvoidStarHelper_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L22;
        }
        __pyx_L21_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L22:;
      }
  }

  /* "cuda/bindings/driver.pyx":30540
 *     with nogil:
 *         err = cydriver.cuPointerGetAttributes(numAttributes, cyattributes.data(), cyvoidStarHelper_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":30541
 *         err = cydriver.cuPointerGetAttributes(numAttributes, cyattributes.data(), cyvoidStarHelper_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30541, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 30541, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30540
 *     with nogil:
 *         err = cydriver.cuPointerGetAttributes(numAttributes, cyattributes.data(), cyvoidStarHelper_ptr, cyptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
*/
  }

  /* "cuda/bindings/driver.pyx":30542
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  { /* enter inner scope */
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30542, __pyx_L26_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_9);
    __pyx_t_8 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_9);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 30542, __pyx_L26_error)
        #endif
        if (__pyx_t_8 >= __pyx_temp) break;
      }
      __pyx_t_11 = __Pyx_PyList_GetItemRef(__pyx_t_9, __pyx_t_8);
      ++__pyx_t_8;
      if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 30542, __pyx_L26_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_XDECREF_SET(__pyx_10genexpr277__pyx_v_obj, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_10 = __pyx_10genexpr277__pyx_v_obj;
      __Pyx_INCREF(__pyx_t_10);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
        __pyx_t_11 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 30542, __pyx_L26_error)
        __Pyx_GOTREF(__pyx_t_11);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_11))) __PYX_ERR(0, 30542, __pyx_L26_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF(__pyx_10genexpr277__pyx_v_obj); __pyx_10genexpr277__pyx_v_obj = 0;
    goto __pyx_L30_exit_scope;
    __pyx_L26_error:;
    __Pyx_XDECREF(__pyx_10genexpr277__pyx_v_obj); __pyx_10genexpr277__pyx_v_obj = 0;
    goto __pyx_L1_error;
    __pyx_L30_exit_scope:;
  } /* exit inner scope */
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 30542, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 30542, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30453
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[tuple[CUpointer_attribute] | list[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuPointerGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperdata);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuPointerGetAttributes_2generator134);
  __Pyx_XDECREF(__pyx_10genexpr275__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr276__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr277__pyx_v_obj);
  __Pyx_XDECREF(__pyx_v_attributes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30544
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreate(unsigned int Flags):
 *     """ Create a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_411cuStreamCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_410cuStreamCreate, "cuStreamCreate(unsigned int Flags)\n\nCreate a stream.\n\nCreates a stream and returns a handle in `phStream`. The `Flags`\nargument determines behaviors of the stream.\n\nValid values for `Flags` are:\n\n- :py:obj:`~.CU_STREAM_DEFAULT`: Default stream creation flag.\n\n- :py:obj:`~.CU_STREAM_NON_BLOCKING`: Specifies that work running in\n  the created stream may run concurrently with work in stream 0 (the\n  NULL stream), and that the created stream should perform no implicit\n  synchronization with stream 0.\n\nParameters\n----------\nFlags : unsigned int\n    Parameters for stream creation\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nphStream : :py:obj:`~.CUstream`\n    Returned newly created stream\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamGetDevice` :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_411cuStreamCreate = {"cuStreamCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_411cuStreamCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_410cuStreamCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_411cuStreamCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30544, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30544, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamCreate", 0) < (0)) __PYX_ERR(0, 30544, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamCreate", 1, 1, 1, i); __PYX_ERR(0, 30544, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30544, __pyx_L3_error)
    }
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 30545, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 30544, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_410cuStreamCreate(__pyx_self, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_410cuStreamCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_phStream = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamCreate", 0);

  /* "cuda/bindings/driver.pyx":30576
 *     :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamGetDevice` :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`
 *     """
 *     cdef CUstream phStream = CUstream()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, Flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30576, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":30577
 *     """
 *     cdef CUstream phStream = CUstream()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30578
 *     cdef CUstream phStream = CUstream()
 *     with nogil:
 *         err = cydriver.cuStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, Flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamCreate(((CUstream *)__pyx_v_phStream->_pvt_ptr), __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30578, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":30577
 *     """
 *     cdef CUstream phStream = CUstream()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":30579
 *     with nogil:
 *         err = cydriver.cuStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":30580
 *         err = cydriver.cuStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phStream)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 30580, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 30580, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30579
 *     with nogil:
 *         err = cydriver.cuStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)
*/
  }

  /* "cuda/bindings/driver.pyx":30581
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 30581, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phStream);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phStream);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phStream)) != (0)) __PYX_ERR(0, 30581, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30544
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreate(unsigned int Flags):
 *     """ Create a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30583
 *     return (_dict_CUresult[err], phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreateWithPriority(unsigned int flags, int priority):
 *     """ Create a stream with the given priority.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_413cuStreamCreateWithPriority(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_412cuStreamCreateWithPriority, "cuStreamCreateWithPriority(unsigned int flags, int priority)\n\nCreate a stream with the given priority.\n\nCreates a stream with the specified priority and returns a handle in\n`phStream`. This affects the scheduling priority of work in the stream.\nPriorities provide a hint to preferentially run work with higher\npriority when possible, but do not preempt already-running work or\nprovide any other functional guarantee on execution order.\n\n`priority` follows a convention where lower numbers represent higher\npriorities. '0' represents default priority. The range of meaningful\nnumerical priorities can be queried using\n:py:obj:`~.cuCtxGetStreamPriorityRange`. If the specified priority is\noutside the numerical range returned by\n:py:obj:`~.cuCtxGetStreamPriorityRange`, it will automatically be\nclamped to the lowest or the highest number in the range.\n\nParameters\n----------\nflags : unsigned int\n    Flags for stream creation. See :py:obj:`~.cuStreamCreate` for a\n    list of valid flags\npriority : int\n    Stream priority. Lower numbers represent higher priorities. See\n    :py:obj:`~.cuCtxGetStreamPriorityRange` for more information about\n    meaningful stream priorities that can be passed.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nphStream : :py:obj:`~.CUstream`\n    Returned newly created stream\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamGetDevice`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreateWithPriority`\n\nNotes\n-----\nStream priorities are sup""ported only on GPUs with compute capability 3.5 or higher.\n\nIn the current implementation, only compute kernels launched in priority streams are affected by the stream's priority. Stream priorities have no effect on host-to-device and device-to-host memory operations.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_413cuStreamCreateWithPriority = {"cuStreamCreateWithPriority", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_413cuStreamCreateWithPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_412cuStreamCreateWithPriority};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_413cuStreamCreateWithPriority(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_flags;
  int __pyx_v_priority;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamCreateWithPriority (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_priority_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30583, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30583, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30583, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamCreateWithPriority", 0) < (0)) __PYX_ERR(0, 30583, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamCreateWithPriority", 1, 2, 2, i); __PYX_ERR(0, 30583, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30583, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30583, __pyx_L3_error)
    }
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 30584, __pyx_L3_error)
    __pyx_v_priority = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 30584, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamCreateWithPriority", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 30583, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamCreateWithPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_412cuStreamCreateWithPriority(__pyx_self, __pyx_v_flags, __pyx_v_priority);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_412cuStreamCreateWithPriority(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, int __pyx_v_priority) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_phStream = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamCreateWithPriority", 0);

  /* "cuda/bindings/driver.pyx":30628
 *     In the current implementation, only compute kernels launched in priority streams are affected by the stream's priority. Stream priorities have no effect on host-to-device and device-to-host memory operations.
 *     """
 *     cdef CUstream phStream = CUstream()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamCreateWithPriority(<cydriver.CUstream*>phStream._pvt_ptr, flags, priority)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30628, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":30629
 *     """
 *     cdef CUstream phStream = CUstream()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCreateWithPriority(<cydriver.CUstream*>phStream._pvt_ptr, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30630
 *     cdef CUstream phStream = CUstream()
 *     with nogil:
 *         err = cydriver.cuStreamCreateWithPriority(<cydriver.CUstream*>phStream._pvt_ptr, flags, priority)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamCreateWithPriority(((CUstream *)__pyx_v_phStream->_pvt_ptr), __pyx_v_flags, __pyx_v_priority); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30630, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":30629
 *     """
 *     cdef CUstream phStream = CUstream()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCreateWithPriority(<cydriver.CUstream*>phStream._pvt_ptr, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":30631
 *     with nogil:
 *         err = cydriver.cuStreamCreateWithPriority(<cydriver.CUstream*>phStream._pvt_ptr, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":30632
 *         err = cydriver.cuStreamCreateWithPriority(<cydriver.CUstream*>phStream._pvt_ptr, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phStream)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 30632, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 30632, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30631
 *     with nogil:
 *         err = cydriver.cuStreamCreateWithPriority(<cydriver.CUstream*>phStream._pvt_ptr, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)
*/
  }

  /* "cuda/bindings/driver.pyx":30633
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 30633, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phStream);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phStream);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phStream)) != (0)) __PYX_ERR(0, 30633, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30583
 *     return (_dict_CUresult[err], phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreateWithPriority(unsigned int flags, int priority):
 *     """ Create a stream with the given priority.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamCreateWithPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30635
 *     return (_dict_CUresult[err], phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetPriority(hStream):
 *     """ Query the priority of a given stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_415cuStreamGetPriority(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_414cuStreamGetPriority, "cuStreamGetPriority(hStream)\n\nQuery the priority of a given stream.\n\nQuery the priority of a stream created using\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamCreateWithPriority` or\n:py:obj:`~.cuGreenCtxStreamCreate` and return the priority in\n`priority`. Note that if the stream was created with a priority outside\nthe numerical range returned by\n:py:obj:`~.cuCtxGetStreamPriorityRange`, this function returns the\nclamped priority. See :py:obj:`~.cuStreamCreateWithPriority` for\ndetails about priority clamping.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Handle to the stream to be queried\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\npriority : int\n    Pointer to a signed integer in which the stream's priority is\n    returned\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamGetDevice`, :py:obj:`~.cudaStreamGetPriority`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_415cuStreamGetPriority = {"cuStreamGetPriority", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_415cuStreamGetPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_414cuStreamGetPriority};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_415cuStreamGetPriority(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetPriority (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30635, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30635, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetPriority", 0) < (0)) __PYX_ERR(0, 30635, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetPriority", 1, 1, 1, i); __PYX_ERR(0, 30635, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30635, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetPriority", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 30635, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_414cuStreamGetPriority(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_414cuStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  int __pyx_v_priority;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetPriority", 0);

  /* "cuda/bindings/driver.pyx":30666
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30667
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30666
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30668
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30669
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30668
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30671
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef int priority = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30671, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30672
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef int priority = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30672, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30673
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef int priority = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetPriority(cyhStream, &priority)
*/
  __pyx_v_priority = 0;

  /* "cuda/bindings/driver.pyx":30674
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef int priority = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetPriority(cyhStream, &priority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30675
 *     cdef int priority = 0
 *     with nogil:
 *         err = cydriver.cuStreamGetPriority(cyhStream, &priority)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetPriority(__pyx_v_cyhStream, (&__pyx_v_priority)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30675, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":30674
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef int priority = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetPriority(cyhStream, &priority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30676
 *     with nogil:
 *         err = cydriver.cuStreamGetPriority(cyhStream, &priority)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], priority)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30677
 *         err = cydriver.cuStreamGetPriority(cyhStream, &priority)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], priority)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 30677, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 30677, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30676
 *     with nogil:
 *         err = cydriver.cuStreamGetPriority(cyhStream, &priority)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], priority)
*/
  }

  /* "cuda/bindings/driver.pyx":30678
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], priority)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_priority); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30678, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 30678, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30635
 *     return (_dict_CUresult[err], phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetPriority(hStream):
 *     """ Query the priority of a given stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30680
 *     return (_dict_CUresult[err], priority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetDevice(hStream):
 *     """ Returns the device handle of the stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_417cuStreamGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_416cuStreamGetDevice, "cuStreamGetDevice(hStream)\n\nReturns the device handle of the stream.\n\nReturns in `*device` the device handle of the stream\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Handle to the stream to be queried\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\ndevice : :py:obj:`~.CUdevice`\n    Returns the device to which a stream belongs\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuStreamGetFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_417cuStreamGetDevice = {"cuStreamGetDevice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_417cuStreamGetDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_416cuStreamGetDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_417cuStreamGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetDevice (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30680, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30680, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetDevice", 0) < (0)) __PYX_ERR(0, 30680, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetDevice", 1, 1, 1, i); __PYX_ERR(0, 30680, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30680, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetDevice", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 30680, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_416cuStreamGetDevice(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_416cuStreamGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_device = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetDevice", 0);

  /* "cuda/bindings/driver.pyx":30703
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30704
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30703
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30705
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30706
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30705
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30708
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdevice device = CUdevice()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30708, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30709
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUdevice device = CUdevice()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30709, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30710
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdevice device = CUdevice()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetDevice(cyhStream, <cydriver.CUdevice*>device._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30710, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_device = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":30711
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetDevice(cyhStream, <cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30712
 *     cdef CUdevice device = CUdevice()
 *     with nogil:
 *         err = cydriver.cuStreamGetDevice(cyhStream, <cydriver.CUdevice*>device._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetDevice(__pyx_v_cyhStream, ((CUdevice *)__pyx_v_device->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30712, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":30711
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetDevice(cyhStream, <cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30713
 *     with nogil:
 *         err = cydriver.cuStreamGetDevice(cyhStream, <cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30714
 *         err = cydriver.cuStreamGetDevice(cyhStream, <cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], device)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 30714, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 30714, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30713
 *     with nogil:
 *         err = cydriver.cuStreamGetDevice(cyhStream, <cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)
*/
  }

  /* "cuda/bindings/driver.pyx":30715
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30715, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_device)) != (0)) __PYX_ERR(0, 30715, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30680
 *     return (_dict_CUresult[err], priority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetDevice(hStream):
 *     """ Returns the device handle of the stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_device);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30717
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetFlags(hStream):
 *     """ Query the flags of a given stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_419cuStreamGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_418cuStreamGetFlags, "cuStreamGetFlags(hStream)\n\nQuery the flags of a given stream.\n\nQuery the flags of a stream created using :py:obj:`~.cuStreamCreate`,\n:py:obj:`~.cuStreamCreateWithPriority` or\n:py:obj:`~.cuGreenCtxStreamCreate` and return the flags in `flags`.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Handle to the stream to be queried\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nflags : unsigned int\n    Pointer to an unsigned integer in which the stream's flags are\n    returned The value returned in `flags` is a logical 'OR' of all\n    flags that were used while creating this stream. See\n    :py:obj:`~.cuStreamCreate` for the list of valid flags\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cudaStreamGetFlags`, :py:obj:`~.cuStreamGetDevice`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_419cuStreamGetFlags = {"cuStreamGetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_419cuStreamGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_418cuStreamGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_419cuStreamGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30717, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30717, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetFlags", 0) < (0)) __PYX_ERR(0, 30717, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetFlags", 1, 1, 1, i); __PYX_ERR(0, 30717, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30717, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 30717, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_418cuStreamGetFlags(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_418cuStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  unsigned int __pyx_v_flags;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetFlags", 0);

  /* "cuda/bindings/driver.pyx":30745
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30746
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30745
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30747
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30748
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30747
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30750
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef unsigned int flags = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30750, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30751
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30751, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30752
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetFlags(cyhStream, &flags)
*/
  __pyx_v_flags = 0;

  /* "cuda/bindings/driver.pyx":30753
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef unsigned int flags = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetFlags(cyhStream, &flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30754
 *     cdef unsigned int flags = 0
 *     with nogil:
 *         err = cydriver.cuStreamGetFlags(cyhStream, &flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetFlags(__pyx_v_cyhStream, (&__pyx_v_flags)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30754, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":30753
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef unsigned int flags = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetFlags(cyhStream, &flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30755
 *     with nogil:
 *         err = cydriver.cuStreamGetFlags(cyhStream, &flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30756
 *         err = cydriver.cuStreamGetFlags(cyhStream, &flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], flags)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 30756, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 30756, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30755
 *     with nogil:
 *         err = cydriver.cuStreamGetFlags(cyhStream, &flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)
*/
  }

  /* "cuda/bindings/driver.pyx":30757
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30757, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 30757, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30717
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetFlags(hStream):
 *     """ Query the flags of a given stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30759
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetId(hStream):
 *     """ Returns the unique Id associated with the stream handle supplied.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_421cuStreamGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_420cuStreamGetId, "cuStreamGetId(hStream)\n\nReturns the unique Id associated with the stream handle supplied.\n\nReturns in `streamId` the unique Id which is associated with the given\nstream handle. The Id is unique for the life of the program.\n\nThe stream handle `hStream` can refer to any of the following:\n\n- a stream created via any of the CUDA driver APIs such as\n  :py:obj:`~.cuStreamCreate` and\n  :py:obj:`~.cuStreamCreateWithPriority`, or their runtime API\n  equivalents such as :py:obj:`~.cudaStreamCreate`,\n  :py:obj:`~.cudaStreamCreateWithFlags` and\n  :py:obj:`~.cudaStreamCreateWithPriority`. Passing an invalid handle\n  will result in undefined behavior.\n\n- any of the special streams such as the NULL stream,\n  :py:obj:`~.CU_STREAM_LEGACY` and :py:obj:`~.CU_STREAM_PER_THREAD`.\n  The runtime API equivalents of these are also accepted, which are\n  NULL, :py:obj:`~.cudaStreamLegacy` and\n  :py:obj:`~.cudaStreamPerThread` respectively.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Handle to the stream to be queried\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\nstreamId : unsigned long long\n    Pointer to store the Id of the stream\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cudaStreamGetId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_421cuStreamGetId = {"cuStreamGetId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_421cuStreamGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_420cuStreamGetId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_421cuStreamGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30759, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30759, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetId", 0) < (0)) __PYX_ERR(0, 30759, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetId", 1, 1, 1, i); __PYX_ERR(0, 30759, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30759, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 30759, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_420cuStreamGetId(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_420cuStreamGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  unsigned PY_LONG_LONG __pyx_v_streamId;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetId", 0);

  /* "cuda/bindings/driver.pyx":30799
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30800
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30799
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30801
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30802
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30801
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30804
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef unsigned long long streamId = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30804, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30805
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef unsigned long long streamId = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30805, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30806
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef unsigned long long streamId = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetId(cyhStream, &streamId)
*/
  __pyx_v_streamId = 0;

  /* "cuda/bindings/driver.pyx":30807
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef unsigned long long streamId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetId(cyhStream, &streamId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30808
 *     cdef unsigned long long streamId = 0
 *     with nogil:
 *         err = cydriver.cuStreamGetId(cyhStream, &streamId)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetId(__pyx_v_cyhStream, (&__pyx_v_streamId)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30808, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":30807
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef unsigned long long streamId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetId(cyhStream, &streamId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30809
 *     with nogil:
 *         err = cydriver.cuStreamGetId(cyhStream, &streamId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], streamId)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30810
 *         err = cydriver.cuStreamGetId(cyhStream, &streamId)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], streamId)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 30810, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 30810, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30809
 *     with nogil:
 *         err = cydriver.cuStreamGetId(cyhStream, &streamId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], streamId)
*/
  }

  /* "cuda/bindings/driver.pyx":30811
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], streamId)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_streamId); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30811, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 30811, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30759
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetId(hStream):
 *     """ Returns the unique Id associated with the stream handle supplied.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30813
 *     return (_dict_CUresult[err], streamId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx(hStream):
 *     """ Query the context associated with a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_423cuStreamGetCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_422cuStreamGetCtx, "cuStreamGetCtx(hStream)\n\nQuery the context associated with a stream.\n\nReturns the CUDA context that the stream is associated with.\n\nNote there is a later version of this API,\n:py:obj:`~.cuStreamGetCtx_v2`. It will supplant this version in CUDA\n13.0. It is recommended to use :py:obj:`~.cuStreamGetCtx_v2` till then\nas this version will return :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` for\nstreams created via the API :py:obj:`~.cuGreenCtxStreamCreate`.\n\nThe stream handle `hStream` can refer to any of the following:\n\n- a stream created via any of the CUDA driver APIs such as\n  :py:obj:`~.cuStreamCreate` and\n  :py:obj:`~.cuStreamCreateWithPriority`, or their runtime API\n  equivalents such as :py:obj:`~.cudaStreamCreate`,\n  :py:obj:`~.cudaStreamCreateWithFlags` and\n  :py:obj:`~.cudaStreamCreateWithPriority`. The returned context is the\n  context that was active in the calling thread when the stream was\n  created. Passing an invalid handle will result in undefined behavior.\n\n- any of the special streams such as the NULL stream,\n  :py:obj:`~.CU_STREAM_LEGACY` and :py:obj:`~.CU_STREAM_PER_THREAD`.\n  The runtime API equivalents of these are also accepted, which are\n  NULL, :py:obj:`~.cudaStreamLegacy` and\n  :py:obj:`~.cudaStreamPerThread` respectively. Specifying any of the\n  special handles will return the context current to the calling\n  thread. If no context is current to the calling thread,\n  :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` is returned.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Handle to the stream to be queried\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\npctx : :py:obj:`~.CUcontext`\n    Returned context associated with the stream\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :p""y:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamGetDevice` :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cuStreamGetCtx_v2`, :py:obj:`~.cudaStreamCreateWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_423cuStreamGetCtx = {"cuStreamGetCtx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_423cuStreamGetCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_422cuStreamGetCtx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_423cuStreamGetCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetCtx (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30813, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30813, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetCtx", 0) < (0)) __PYX_ERR(0, 30813, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetCtx", 1, 1, 1, i); __PYX_ERR(0, 30813, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30813, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetCtx", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 30813, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_422cuStreamGetCtx(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_422cuStreamGetCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetCtx", 0);

  /* "cuda/bindings/driver.pyx":30862
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30863
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30862
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30864
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30865
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30864
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30867
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pctx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30867, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30868
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30868, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30869
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetCtx(cyhStream, <cydriver.CUcontext*>pctx._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30869, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":30870
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetCtx(cyhStream, <cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30871
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
 *         err = cydriver.cuStreamGetCtx(cyhStream, <cydriver.CUcontext*>pctx._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCtx(__pyx_v_cyhStream, ((CUcontext *)__pyx_v_pctx->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30871, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":30870
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetCtx(cyhStream, <cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30872
 *     with nogil:
 *         err = cydriver.cuStreamGetCtx(cyhStream, <cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30873
 *         err = cydriver.cuStreamGetCtx(cyhStream, <cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pctx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 30873, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 30873, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30872
 *     with nogil:
 *         err = cydriver.cuStreamGetCtx(cyhStream, <cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)
*/
  }

  /* "cuda/bindings/driver.pyx":30874
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30874, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 30874, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30813
 *     return (_dict_CUresult[err], streamId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx(hStream):
 *     """ Query the context associated with a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30876
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx_v2(hStream):
 *     """ Query the contexts associated with a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_425cuStreamGetCtx_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_424cuStreamGetCtx_v2, "cuStreamGetCtx_v2(hStream)\n\nQuery the contexts associated with a stream.\n\nReturns the contexts that the stream is associated with.\n\nIf the stream is associated with a green context, the API returns the\ngreen context in `pGreenCtx` and the primary context of the associated\ndevice in `pCtx`.\n\nIf the stream is associated with a regular context, the API returns the\nregular context in `pCtx` and NULL in `pGreenCtx`.\n\nThe stream handle `hStream` can refer to any of the following:\n\n- a stream created via any of the CUDA driver APIs such as\n  :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamCreateWithPriority`\n  and :py:obj:`~.cuGreenCtxStreamCreate`, or their runtime API\n  equivalents such as :py:obj:`~.cudaStreamCreate`,\n  :py:obj:`~.cudaStreamCreateWithFlags` and\n  :py:obj:`~.cudaStreamCreateWithPriority`. Passing an invalid handle\n  will result in undefined behavior.\n\n- any of the special streams such as the NULL stream,\n  :py:obj:`~.CU_STREAM_LEGACY` and :py:obj:`~.CU_STREAM_PER_THREAD`.\n  The runtime API equivalents of these are also accepted, which are\n  NULL, :py:obj:`~.cudaStreamLegacy` and\n  :py:obj:`~.cudaStreamPerThread` respectively. If any of the special\n  handles are specified, the API will operate on the context current to\n  the calling thread. If a green context (that was converted via\n  :py:obj:`~.cuCtxFromGreenCtx()` before setting it current) is current\n  to the calling thread, the API will return the green context in\n  `pGreenCtx` and the primary context of the associated device in\n  `pCtx`. If a regular context is current, the API returns the regular\n  context in `pCtx` and NULL in `pGreenCtx`. Note that specifying\n  :py:obj:`~.CU_STREAM_PER_THREAD` or :py:obj:`~.cudaStreamPerThread`\n  will return :py:obj:`~.CUDA_ERROR_INVALID_HANDLE` if a green context\n  is current to the calling thread. If no context is current to the\n  calling thread, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` is returned.\n\nParameters\n----------""\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Handle to the stream to be queried\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\npCtx : :py:obj:`~.CUcontext`\n    Returned regular context associated with the stream\npGreenCtx : :py:obj:`~.CUgreenCtx`\n    Returned green context if the stream is associated with a green\n    context or NULL if not\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate` :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamGetDevice`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`,");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_425cuStreamGetCtx_v2 = {"cuStreamGetCtx_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_425cuStreamGetCtx_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_424cuStreamGetCtx_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_425cuStreamGetCtx_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetCtx_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30876, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30876, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetCtx_v2", 0) < (0)) __PYX_ERR(0, 30876, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetCtx_v2", 1, 1, 1, i); __PYX_ERR(0, 30876, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30876, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetCtx_v2", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 30876, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetCtx_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_424cuStreamGetCtx_v2(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_424cuStreamGetCtx_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pCtx = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_pGreenCtx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetCtx_v2", 0);

  /* "cuda/bindings/driver.pyx":30936
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30937
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30936
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30938
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30939
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30938
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30941
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pCtx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30941, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30942
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUcontext pCtx = CUcontext()
 *     cdef CUgreenCtx pGreenCtx = CUgreenCtx()
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30942, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30943
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pCtx = CUcontext()             # <<<<<<<<<<<<<<
 *     cdef CUgreenCtx pGreenCtx = CUgreenCtx()
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30943, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":30944
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pCtx = CUcontext()
 *     cdef CUgreenCtx pGreenCtx = CUgreenCtx()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetCtx_v2(cyhStream, <cydriver.CUcontext*>pCtx._pvt_ptr, <cydriver.CUgreenCtx*>pGreenCtx._pvt_ptr)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30944, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pGreenCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":30945
 *     cdef CUcontext pCtx = CUcontext()
 *     cdef CUgreenCtx pGreenCtx = CUgreenCtx()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetCtx_v2(cyhStream, <cydriver.CUcontext*>pCtx._pvt_ptr, <cydriver.CUgreenCtx*>pGreenCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30946
 *     cdef CUgreenCtx pGreenCtx = CUgreenCtx()
 *     with nogil:
 *         err = cydriver.cuStreamGetCtx_v2(cyhStream, <cydriver.CUcontext*>pCtx._pvt_ptr, <cydriver.CUgreenCtx*>pGreenCtx._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCtx_v2(__pyx_v_cyhStream, ((CUcontext *)__pyx_v_pCtx->_pvt_ptr), ((CUgreenCtx *)__pyx_v_pGreenCtx->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30946, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":30945
 *     cdef CUcontext pCtx = CUcontext()
 *     cdef CUgreenCtx pGreenCtx = CUgreenCtx()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetCtx_v2(cyhStream, <cydriver.CUcontext*>pCtx._pvt_ptr, <cydriver.CUgreenCtx*>pGreenCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30947
 *     with nogil:
 *         err = cydriver.cuStreamGetCtx_v2(cyhStream, <cydriver.CUcontext*>pCtx._pvt_ptr, <cydriver.CUgreenCtx*>pGreenCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pCtx, pGreenCtx)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30948
 *         err = cydriver.cuStreamGetCtx_v2(cyhStream, <cydriver.CUcontext*>pCtx._pvt_ptr, <cydriver.CUgreenCtx*>pGreenCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pCtx, pGreenCtx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 30948, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 30948, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 30948, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30947
 *     with nogil:
 *         err = cydriver.cuStreamGetCtx_v2(cyhStream, <cydriver.CUcontext*>pCtx._pvt_ptr, <cydriver.CUgreenCtx*>pGreenCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pCtx, pGreenCtx)
*/
  }

  /* "cuda/bindings/driver.pyx":30949
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pCtx, pGreenCtx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 30949, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pCtx)) != (0)) __PYX_ERR(0, 30949, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pGreenCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pGreenCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, ((PyObject *)__pyx_v_pGreenCtx)) != (0)) __PYX_ERR(0, 30949, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30876
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx_v2(hStream):
 *     """ Query the contexts associated with a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetCtx_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_pCtx);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGreenCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30951
 *     return (_dict_CUresult[err], pCtx, pGreenCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitEvent(hStream, hEvent, unsigned int Flags):
 *     """ Make a compute stream wait on an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_427cuStreamWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_426cuStreamWaitEvent, "cuStreamWaitEvent(hStream, hEvent, unsigned int Flags)\n\nMake a compute stream wait on an event.\n\nMakes all future work submitted to `hStream` wait for all work captured\nin `hEvent`. See :py:obj:`~.cuEventRecord()` for details on what is\ncaptured by an event. The synchronization will be performed efficiently\non the device when applicable. `hEvent` may be from a different context\nor device than `hStream`.\n\nflags include:\n\n- :py:obj:`~.CU_EVENT_WAIT_DEFAULT`: Default event creation flag.\n\n- :py:obj:`~.CU_EVENT_WAIT_EXTERNAL`: Event is captured in the graph as\n  an external event node when performing stream capture. This flag is\n  invalid outside of stream capture.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to wait\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to wait on (may not be NULL)\nFlags : unsigned int\n    See :py:obj:`~.CUevent_capture_flags`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`,\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cudaStreamWaitEvent`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_427cuStreamWaitEvent = {"cuStreamWaitEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_427cuStreamWaitEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_426cuStreamWaitEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_427cuStreamWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_hEvent = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamWaitEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_hEvent,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 30951, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30951, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30951, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30951, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamWaitEvent", 0) < (0)) __PYX_ERR(0, 30951, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamWaitEvent", 1, 3, 3, i); __PYX_ERR(0, 30951, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30951, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30951, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30951, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_hEvent = values[1];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 30952, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 30951, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_426cuStreamWaitEvent(__pyx_self, __pyx_v_hStream, __pyx_v_hEvent, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_426cuStreamWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_hEvent, unsigned int __pyx_v_Flags) {
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWaitEvent", 0);

  /* "cuda/bindings/driver.pyx":30988
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30989
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30988
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30990
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30991
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30990
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30993
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30993, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30994
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30994, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":30996
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30997
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":30996
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":30998
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30999
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":30998
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31001
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStream};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31001, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":31002
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWaitEvent(cyhStream, cyhEvent, Flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31002, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31003
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWaitEvent(cyhStream, cyhEvent, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31004
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamWaitEvent(cyhStream, cyhEvent, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitEvent(__pyx_v_cyhStream, __pyx_v_cyhEvent, __pyx_v_Flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31004, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31003
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWaitEvent(cyhStream, cyhEvent, Flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":31005
 *     with nogil:
 *         err = cydriver.cuStreamWaitEvent(cyhStream, cyhEvent, Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * ctypedef struct cuStreamCallbackData_st:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 31005, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30951
 *     return (_dict_CUresult[err], pCtx, pGreenCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitEvent(hStream, hEvent, unsigned int Flags):
 *     """ Make a compute stream wait on an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31013
 * ctypedef cuStreamCallbackData_st cuStreamCallbackData
 * 
 * @cython.show_performance_hints(False)             # <<<<<<<<<<<<<<
 * cdef void cuStreamCallbackWrapper(cydriver.CUstream stream, cydriver.CUresult status, void *data) nogil:
 *     cdef cuStreamCallbackData *cbData = <cuStreamCallbackData *>data
*/

static void __pyx_f_4cuda_8bindings_6driver_cuStreamCallbackWrapper(CUstream __pyx_v_stream, CUresult __pyx_v_status, void *__pyx_v_data) {
  __pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData *__pyx_v_cbData;

  /* "cuda/bindings/driver.pyx":31015
 * @cython.show_performance_hints(False)
 * cdef void cuStreamCallbackWrapper(cydriver.CUstream stream, cydriver.CUresult status, void *data) nogil:
 *     cdef cuStreamCallbackData *cbData = <cuStreamCallbackData *>data             # <<<<<<<<<<<<<<
 *     with gil:
 *         cbData.callback(stream, status, cbData.userData)
*/
  __pyx_v_cbData = ((__pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData *)__pyx_v_data);

  /* "cuda/bindings/driver.pyx":31016
 * cdef void cuStreamCallbackWrapper(cydriver.CUstream stream, cydriver.CUresult status, void *data) nogil:
 *     cdef cuStreamCallbackData *cbData = <cuStreamCallbackData *>data
 *     with gil:             # <<<<<<<<<<<<<<
 *         cbData.callback(stream, status, cbData.userData)
 *     free(cbData)
*/
  {
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31017
 *     cdef cuStreamCallbackData *cbData = <cuStreamCallbackData *>data
 *     with gil:
 *         cbData.callback(stream, status, cbData.userData)             # <<<<<<<<<<<<<<
 *     free(cbData)
 * 
*/
        __pyx_v_cbData->callback(__pyx_v_stream, __pyx_v_status, __pyx_v_cbData->userData);
      }

      /* "cuda/bindings/driver.pyx":31016
 * cdef void cuStreamCallbackWrapper(cydriver.CUstream stream, cydriver.CUresult status, void *data) nogil:
 *     cdef cuStreamCallbackData *cbData = <cuStreamCallbackData *>data
 *     with gil:             # <<<<<<<<<<<<<<
 *         cbData.callback(stream, status, cbData.userData)
 *     free(cbData)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          goto __pyx_L5;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":31018
 *     with gil:
 *         cbData.callback(stream, status, cbData.userData)
 *     free(cbData)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  free(__pyx_v_cbData);

  /* "cuda/bindings/driver.pyx":31013
 * ctypedef cuStreamCallbackData_st cuStreamCallbackData
 * 
 * @cython.show_performance_hints(False)             # <<<<<<<<<<<<<<
 * cdef void cuStreamCallbackWrapper(cydriver.CUstream stream, cydriver.CUresult status, void *data) nogil:
 *     cdef cuStreamCallbackData *cbData = <cuStreamCallbackData *>data
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":31020
 *     free(cbData)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAddCallback(hStream, callback, userData, unsigned int flags):
 *     """ Add a callback to a compute stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_429cuStreamAddCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_428cuStreamAddCallback, "cuStreamAddCallback(hStream, callback, userData, unsigned int flags)\n\nAdd a callback to a compute stream.\n\nAdds a callback to be called on the host after all currently enqueued\nitems in the stream have completed. For each cuStreamAddCallback call,\nthe callback will be executed exactly once. The callback will block\nlater work in the stream until it is finished.\n\nThe callback may be passed :py:obj:`~.CUDA_SUCCESS` or an error code.\nIn the event of a device error, all subsequently executed callbacks\nwill receive an appropriate :py:obj:`~.CUresult`.\n\nCallbacks must not make any CUDA API calls. Attempting to use a CUDA\nAPI will result in :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`. Callbacks must\nnot perform any synchronization that may depend on outstanding device\nwork or other callbacks that are not mandated to run earlier. Callbacks\nwithout a mandated order (in independent streams) execute in undefined\norder and may be serialized.\n\nFor the purposes of Unified Memory, callback execution makes a number\nof guarantees:\n\n- The callback stream is considered idle for the duration of the\n  callback. Thus, for example, a callback may always use memory\n  attached to the callback stream.\n\n- The start of execution of a callback has the same effect as\n  synchronizing an event recorded in the same stream immediately prior\n  to the callback. It thus synchronizes streams which have been\n  \"joined\" prior to the callback.\n\n- Adding device work to any stream does not have the effect of making\n  the stream active until all preceding host functions and stream\n  callbacks have executed. Thus, for example, a callback might use\n  global attached memory even if work has been added to another stream,\n  if the work has been ordered behind the callback with an event.\n\n- Completion of a callback does not cause a stream to become active\n  except as described above. The callback stream will remain idle if no\n  device work follows the callback, and will remain idle"" across\n  consecutive callbacks without device work in between. Thus, for\n  example, stream synchronization can be done by signaling from a\n  callback at the end of the stream.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to add callback to\ncallback : :py:obj:`~.CUstreamCallback`\n    The function to call once preceding stream operations are complete\nuserData : Any\n    User specified data to be passed to the callback function\nflags : unsigned int\n    Reserved for future use, must be 0\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuMemAllocManaged`, :py:obj:`~.cuStreamAttachMemAsync`, :py:obj:`~.cuLaunchHostFunc`, :py:obj:`~.cudaStreamAddCallback`\n\nNotes\n-----\nThis function is slated for eventual deprecation and removal. If you do not require the callback to execute in case of a device error, consider using :py:obj:`~.cuLaunchHostFunc`. Additionally, this function is not supported with :py:obj:`~.cuStreamBeginCapture` and :py:obj:`~.cuStreamEndCapture`, unlike :py:obj:`~.cuLaunchHostFunc`.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_429cuStreamAddCallback = {"cuStreamAddCallback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_429cuStreamAddCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_428cuStreamAddCallback};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_429cuStreamAddCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_v_userData = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamAddCallback (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_callback,&__pyx_mstate_global->__pyx_n_u_userData_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31020, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamAddCallback", 0) < (0)) __PYX_ERR(0, 31020, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamAddCallback", 1, 4, 4, i); __PYX_ERR(0, 31020, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31020, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31020, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31020, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31020, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_callback = values[1];
    __pyx_v_userData = values[2];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 31021, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamAddCallback", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 31020, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamAddCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_428cuStreamAddCallback(__pyx_self, __pyx_v_hStream, __pyx_v_callback, __pyx_v_userData, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_428cuStreamAddCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_callback, PyObject *__pyx_v_userData, unsigned int __pyx_v_flags) {
  CUstreamCallback __pyx_v_cycallback;
  PyObject *__pyx_v_pcallback = NULL;
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyuserData = NULL;
  void *__pyx_v_cyuserData_ptr;
  __pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData *__pyx_v_cbData;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamAddCallback", 0);

  /* "cuda/bindings/driver.pyx":31090
 *     """
 *     cdef cydriver.CUstreamCallback cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUstreamCallback,)):
*/
  __pyx_t_1 = (__pyx_v_callback == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31091
 *     cdef cydriver.CUstreamCallback cycallback
 *     if callback is None:
 *         pcallback = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(callback, (CUstreamCallback,)):
 *         pcallback = int(callback)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pcallback = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31090
 *     """
 *     cdef cydriver.CUstreamCallback cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUstreamCallback,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31092
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUstreamCallback,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_callback, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31093
 *         pcallback = 0
 *     elif isinstance(callback, (CUstreamCallback,)):
 *         pcallback = int(callback)             # <<<<<<<<<<<<<<
 *     else:
 *         pcallback = int(CUstreamCallback(callback))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallback = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31092
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUstreamCallback,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31095
 *         pcallback = int(callback)
 *     else:
 *         pcallback = int(CUstreamCallback(callback))             # <<<<<<<<<<<<<<
 *     cycallback = <cydriver.CUstreamCallback><void_ptr>pcallback
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callback};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31095, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallback = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31096
 *     else:
 *         pcallback = int(CUstreamCallback(callback))
 *     cycallback = <cydriver.CUstreamCallback><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31096, __pyx_L1_error)
  __pyx_v_cycallback = ((CUstreamCallback)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31098
 *     cycallback = <cydriver.CUstreamCallback><void_ptr>pcallback
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31099
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31098
 *     cycallback = <cydriver.CUstreamCallback><void_ptr>pcallback
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31100
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31101
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":31100
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31103
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStream};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31103, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":31104
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31104, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31105
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_userData};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31105, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31106
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr             # <<<<<<<<<<<<<<
 * 
 *     cdef cuStreamCallbackData *cbData = NULL
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyuserData_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31108
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
 *     cdef cuStreamCallbackData *cbData = NULL             # <<<<<<<<<<<<<<
 *     cbData = <cuStreamCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:
*/
  __pyx_v_cbData = NULL;

  /* "cuda/bindings/driver.pyx":31109
 * 
 *     cdef cuStreamCallbackData *cbData = NULL
 *     cbData = <cuStreamCallbackData *>malloc(sizeof(cbData[0]))             # <<<<<<<<<<<<<<
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
*/
  __pyx_v_cbData = ((__pyx_t_4cuda_8bindings_6driver_cuStreamCallbackData *)malloc((sizeof((__pyx_v_cbData[0])))));

  /* "cuda/bindings/driver.pyx":31110
 *     cdef cuStreamCallbackData *cbData = NULL
 *     cbData = <cuStreamCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:             # <<<<<<<<<<<<<<
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
 *     cbData.callback = cycallback
*/
  __pyx_t_1 = (__pyx_v_cbData == NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31111
 *     cbData = <cuStreamCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)             # <<<<<<<<<<<<<<
 *     cbData.callback = cycallback
 *     cbData.userData = cyuserData_ptr
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 31111, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31110
 *     cdef cuStreamCallbackData *cbData = NULL
 *     cbData = <cuStreamCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:             # <<<<<<<<<<<<<<
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
 *     cbData.callback = cycallback
*/
  }

  /* "cuda/bindings/driver.pyx":31112
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
 *     cbData.callback = cycallback             # <<<<<<<<<<<<<<
 *     cbData.userData = cyuserData_ptr
 * 
*/
  __pyx_v_cbData->callback = __pyx_v_cycallback;

  /* "cuda/bindings/driver.pyx":31113
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
 *     cbData.callback = cycallback
 *     cbData.userData = cyuserData_ptr             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
*/
  __pyx_v_cbData->userData = __pyx_v_cyuserData_ptr;

  /* "cuda/bindings/driver.pyx":31115
 *     cbData.userData = cyuserData_ptr
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamAddCallback(cyhStream, <cydriver.CUstreamCallback>cuStreamCallbackWrapper, <void *>cbData, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31116
 * 
 *     with nogil:
 *         err = cydriver.cuStreamAddCallback(cyhStream, <cydriver.CUstreamCallback>cuStreamCallbackWrapper, <void *>cbData, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamAddCallback(__pyx_v_cyhStream, ((CUstreamCallback)__pyx_f_4cuda_8bindings_6driver_cuStreamCallbackWrapper), ((void *)__pyx_v_cbData), __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31116, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31115
 *     cbData.userData = cyuserData_ptr
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamAddCallback(cyhStream, <cydriver.CUstreamCallback>cuStreamCallbackWrapper, <void *>cbData, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":31117
 *     with nogil:
 *         err = cydriver.cuStreamAddCallback(cyhStream, <cydriver.CUstreamCallback>cuStreamCallbackWrapper, <void *>cbData, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(cbData)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31118
 *         err = cydriver.cuStreamAddCallback(cyhStream, <cydriver.CUstreamCallback>cuStreamCallbackWrapper, <void *>cbData, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cbData);

    /* "cuda/bindings/driver.pyx":31117
 *     with nogil:
 *         err = cydriver.cuStreamAddCallback(cyhStream, <cydriver.CUstreamCallback>cuStreamCallbackWrapper, <void *>cbData, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(cbData)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":31119
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 31119, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31020
 *     free(cbData)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAddCallback(hStream, callback, userData, unsigned int flags):
 *     """ Add a callback to a compute stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamAddCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcallback);
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyuserData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31121
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCapture(hStream, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_431cuStreamBeginCapture(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_430cuStreamBeginCapture, "cuStreamBeginCapture(hStream, mode: CUstreamCaptureMode)\n\nBegins graph capture on a stream.\n\nBegin graph capture on `hStream`. When a stream is in capture mode, all\noperations pushed into the stream will not be executed, but will\ninstead be captured into a graph, which will be returned via\n:py:obj:`~.cuStreamEndCapture`. Capture may not be initiated if\n`stream` is CU_STREAM_LEGACY. Capture must be ended on the same stream\nin which it was initiated, and it may only be initiated if the stream\nis not already in capture mode. The capture mode may be queried via\n:py:obj:`~.cuStreamIsCapturing`. A unique id representing the capture\nsequence may be queried via :py:obj:`~.cuStreamGetCaptureInfo`.\n\nIf `mode` is not :py:obj:`~.CU_STREAM_CAPTURE_MODE_RELAXED`,\n:py:obj:`~.cuStreamEndCapture` must be called on this stream from the\nsame thread.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream in which to initiate capture\nmode : :py:obj:`~.CUstreamCaptureMode`\n    Controls the interaction of this capture sequence with other API\n    calls that are potentially unsafe. For more details see\n    :py:obj:`~.cuThreadExchangeStreamCaptureMode`.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamEndCapture`, :py:obj:`~.cuThreadExchangeStreamCaptureMode`\n\nNotes\n-----\nKernels captured using this API must not use texture and surface references. Reading or writing through any texture or surface reference is undefined behavior. This restriction does not apply to texture and surface objects.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_431cuStreamBeginCapture = {"cuStreamBeginCapture", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_431cuStreamBeginCapture, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_430cuStreamBeginCapture};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_431cuStreamBeginCapture(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_mode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamBeginCapture (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_mode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31121, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31121, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31121, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamBeginCapture", 0) < (0)) __PYX_ERR(0, 31121, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamBeginCapture", 1, 2, 2, i); __PYX_ERR(0, 31121, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31121, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31121, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_mode = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamBeginCapture", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 31121, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBeginCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_mode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mode"); __PYX_ERR(0, 31122, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_430cuStreamBeginCapture(__pyx_self, __pyx_v_hStream, __pyx_v_mode);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_430cuStreamBeginCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_mode) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamCaptureMode __pyx_v_cymode;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUstreamCaptureMode __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamBeginCapture", 0);

  /* "cuda/bindings/driver.pyx":31162
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31163
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31162
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31164
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31165
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31164
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31167
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31167, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31168
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31168, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31169
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamBeginCapture(cyhStream, cymode)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUstreamCaptureMode_enum)__Pyx_PyLong_As_enum__CUstreamCaptureMode_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cymode = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":31170
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamBeginCapture(cyhStream, cymode)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31171
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:
 *         err = cydriver.cuStreamBeginCapture(cyhStream, cymode)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamBeginCapture(__pyx_v_cyhStream, __pyx_v_cymode); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31171, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":31170
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamBeginCapture(cyhStream, cymode)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31172
 *     with nogil:
 *         err = cydriver.cuStreamBeginCapture(cyhStream, cymode)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 31172, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31121
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCapture(hStream, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBeginCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31174
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream to an existing graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_433cuStreamBeginCaptureToGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_432cuStreamBeginCaptureToGraph, "cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData: Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, mode: CUstreamCaptureMode)\n\nBegins graph capture on a stream to an existing graph.\n\nBegin graph capture on `hStream`, placing new nodes into an existing\ngraph. When a stream is in capture mode, all operations pushed into the\nstream will not be executed, but will instead be captured into\n`hGraph`. The graph will not be instantiable until the user calls\n:py:obj:`~.cuStreamEndCapture`.\n\nCapture may not be initiated if `stream` is CU_STREAM_LEGACY. Capture\nmust be ended on the same stream in which it was initiated, and it may\nonly be initiated if the stream is not already in capture mode. The\ncapture mode may be queried via :py:obj:`~.cuStreamIsCapturing`. A\nunique id representing the capture sequence may be queried via\n:py:obj:`~.cuStreamGetCaptureInfo`.\n\nIf `mode` is not :py:obj:`~.CU_STREAM_CAPTURE_MODE_RELAXED`,\n:py:obj:`~.cuStreamEndCapture` must be called on this stream from the\nsame thread.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream in which to initiate capture.\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to capture into.\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the first node captured in the stream. Can be NULL\n    if numDependencies is 0.\ndependencyData : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional array of data associated with each dependency.\nnumDependencies : size_t\n    Number of dependencies.\nmode : :py:obj:`~.CUstreamCaptureMode`\n    Controls the interaction of this capture sequence with other API\n    calls that are potentially unsafe. For more details see\n    :py:obj:`~.cuThreadExchangeStreamCaptureMode`.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_""ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamEndCapture`, :py:obj:`~.cuThreadExchangeStreamCaptureMode`, :py:obj:`~.cuGraphAddNode`\n\nNotes\n-----\nKernels captured using this API must not use texture and surface references. Reading or writing through any texture or surface reference is undefined behavior. This restriction does not apply to texture and surface objects.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_433cuStreamBeginCaptureToGraph = {"cuStreamBeginCaptureToGraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_433cuStreamBeginCaptureToGraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_432cuStreamBeginCaptureToGraph};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_433cuStreamBeginCaptureToGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  PyObject *__pyx_v_dependencyData = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_mode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamBeginCaptureToGraph (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_dependencyData,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_mode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31174, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 31174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 31174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamBeginCaptureToGraph", 0) < (0)) __PYX_ERR(0, 31174, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamBeginCaptureToGraph", 1, 6, 6, i); __PYX_ERR(0, 31174, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31174, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31174, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31174, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31174, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 31174, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 31174, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_hGraph = values[1];
    __pyx_v_dependencies = values[2];
    __pyx_v_dependencyData = values[3];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 31175, __pyx_L3_error)
    __pyx_v_mode = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamBeginCaptureToGraph", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 31174, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBeginCaptureToGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_mode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mode"); __PYX_ERR(0, 31175, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_432cuStreamBeginCaptureToGraph(__pyx_self, __pyx_v_hStream, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_dependencyData, __pyx_v_numDependencies, __pyx_v_mode);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_2generator135(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31227
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 31227, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_2generator135, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[135]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuStreamBeginCaptureToGraph_loca, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31227, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBeginCaptureToGraph.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_2generator135(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 31227, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31227, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31227, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31227, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31227, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31227, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 31227, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_5generator136(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31230
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 31230, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_5generator136, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[136]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuStreamBeginCaptureToGraph_loca, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31230, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBeginCaptureToGraph.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_5generator136(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 31230, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31230, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31230, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31230, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31230, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31230, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 31230, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31174
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream to an existing graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_432cuStreamBeginCaptureToGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, PyObject *__pyx_v_mode) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUgraphEdgeData *__pyx_v_cydependencyData;
  CUstreamCaptureMode __pyx_v_cymode;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_2generator135 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_5generator136 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUgraphEdgeData_st *__pyx_t_14;
  CUstreamCaptureMode __pyx_t_15;
  CUresult __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamBeginCaptureToGraph", 0);
  __Pyx_INCREF(__pyx_v_dependencies);
  __Pyx_INCREF(__pyx_v_dependencyData);

  /* "cuda/bindings/driver.pyx":31226
 *     Kernels captured using this API must not use texture and surface references. Reading or writing through any texture or surface reference is undefined behavior. This restriction does not apply to texture and surface objects.
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
*/
  __pyx_t_2 = (__pyx_v_dependencyData == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencyData);
    __pyx_t_1 = __pyx_v_dependencyData;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencyData, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":31227
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_genexpr(NULL, __pyx_v_dependencyData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 31227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":31228
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencyData_is_not_i};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 31228, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31227
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
  }

  /* "cuda/bindings/driver.pyx":31229
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_4 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_3 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31230
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_3genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 31230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":31231
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31231, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 31231, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31230
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":31233
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_2 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31234
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31233
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":31235
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31236
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":31235
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":31238
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31238, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_5);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":31239
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31239, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":31241
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_2 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31242
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31241
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":31243
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31244
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":31243
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":31246
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hStream};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31246, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":31247
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31247, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":31248
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":31249
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31249, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31250
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31250, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":31251
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":31252
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31252, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31252, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 31252, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":31251
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":31254
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31254, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":31255
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31255, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":31249
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":31256
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31256, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31257
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":31256
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
*/
  }
  __pyx_L7:;

  /* "cuda/bindings/driver.pyx":31258
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
*/
  __pyx_v_cydependencyData = NULL;

  /* "cuda/bindings/driver.pyx":31259
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31259, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31260
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31260, __pyx_L1_error)
    __pyx_v_cydependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_8, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":31261
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
*/
    __pyx_t_2 = (__pyx_v_cydependencyData == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":31262
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31262, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31262, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 31262, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":31261
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
*/
    }

    /* "cuda/bindings/driver.pyx":31263
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31263, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":31264
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
*/
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencyData, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31264, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cydependencyData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._pvt_ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "cuda/bindings/driver.pyx":31259
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
*/
    goto __pyx_L11;
  }

  /* "cuda/bindings/driver.pyx":31265
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31265, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31266
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cydependencyData = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":31265
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L11:;

  /* "cuda/bindings/driver.pyx":31267
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31267, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_2)) {
    __pyx_t_9 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_3 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31267, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31267, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 31267, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":31268
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31268, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_5 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31268, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31268, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 31268, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":31269
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamBeginCaptureToGraph(cyhStream, cyhGraph, cydependencies, cydependencyData, numDependencies, cymode)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_15 = ((enum CUstreamCaptureMode_enum)__Pyx_PyLong_As_enum__CUstreamCaptureMode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cymode = __pyx_t_15;

  /* "cuda/bindings/driver.pyx":31270
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamBeginCaptureToGraph(cyhStream, cyhGraph, cydependencies, cydependencyData, numDependencies, cymode)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31271
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:
 *         err = cydriver.cuStreamBeginCaptureToGraph(cyhStream, cyhGraph, cydependencies, cydependencyData, numDependencies, cymode)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_16 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamBeginCaptureToGraph(__pyx_v_cyhStream, __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_cydependencyData, __pyx_v_numDependencies, __pyx_v_cymode); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31271, __pyx_L18_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":31270
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamBeginCaptureToGraph(cyhStream, cyhGraph, cydependencies, cydependencyData, numDependencies, cymode)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L19;
        }
        __pyx_L18_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L19:;
      }
  }

  /* "cuda/bindings/driver.pyx":31272
 *     with nogil:
 *         err = cydriver.cuStreamBeginCaptureToGraph(cyhStream, cyhGraph, cydependencies, cydependencyData, numDependencies, cymode)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31272, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L21_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cydependencies != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L21_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31273
 *         err = cydriver.cuStreamBeginCaptureToGraph(cyhStream, cyhGraph, cydependencies, cydependencyData, numDependencies, cymode)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":31272
 *     with nogil:
 *         err = cydriver.cuStreamBeginCaptureToGraph(cyhStream, cyhGraph, cydependencies, cydependencyData, numDependencies, cymode)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":31274
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencyData)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31274, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L24_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cydependencyData != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L24_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31275
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cydependencyData);

    /* "cuda/bindings/driver.pyx":31274
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencyData)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":31276
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 31276, __pyx_L1_error);
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31174
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream to an existing graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBeginCaptureToGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_2generator135);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_5generator136);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31278
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuThreadExchangeStreamCaptureMode(mode not None : CUstreamCaptureMode):
 *     """ Swaps the stream capture interaction mode for a thread.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_435cuThreadExchangeStreamCaptureMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_434cuThreadExchangeStreamCaptureMode, "cuThreadExchangeStreamCaptureMode(mode: CUstreamCaptureMode)\n\nSwaps the stream capture interaction mode for a thread.\n\nSets the calling thread's stream capture interaction mode to the value\ncontained in `*mode`, and overwrites `*mode` with the previous mode for\nthe thread. To facilitate deterministic behavior across function or\nmodule boundaries, callers are encouraged to use this API in a push-pop\nfashion:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nDuring stream capture (see :py:obj:`~.cuStreamBeginCapture`), some\nactions, such as a call to :py:obj:`~.cudaMalloc`, may be unsafe. In\nthe case of :py:obj:`~.cudaMalloc`, the operation is not enqueued\nasynchronously to a stream, and is not observed by stream capture.\nTherefore, if the sequence of operations captured via\n:py:obj:`~.cuStreamBeginCapture` depended on the allocation being\nreplayed whenever the graph is launched, the captured graph would be\ninvalid.\n\nTherefore, stream capture places restrictions on API calls that can be\nmade within or concurrently to a\n:py:obj:`~.cuStreamBeginCapture`-:py:obj:`~.cuStreamEndCapture`\nsequence. This behavior can be controlled via this API and flags to\n:py:obj:`~.cuStreamBeginCapture`.\n\nA thread's mode is one of the following:\n\n- `CU_STREAM_CAPTURE_MODE_GLOBAL:` This is the default mode. If the\n  local thread has an ongoing capture sequence that was not initiated\n  with `CU_STREAM_CAPTURE_MODE_RELAXED` at `cuStreamBeginCapture`, or\n  if any other thread has a concurrent capture sequence initiated with\n  `CU_STREAM_CAPTURE_MODE_GLOBAL`, this thread is prohibited from\n  potentially unsafe API calls.\n\n- `CU_STREAM_CAPTURE_MODE_THREAD_LOCAL:` If the local thread has an\n  ongoing capture sequence not initiated with\n  `CU_STREAM_CAPTURE_MODE_RELAXED`, it is prohibited from potentially\n  unsafe API calls. Concurrent capture sequences in other threads are\n  ignored.\n\n- `CU_STREAM_CAPTURE_MODE_RELAXED:` The local thread is not p""rohibited\n  from potentially unsafe API calls. Note that the thread is still\n  prohibited from API calls which necessarily conflict with stream\n  capture, for example, attempting :py:obj:`~.cuEventQuery` on an event\n  that was last recorded inside a capture sequence.\n\nParameters\n----------\nmode : :py:obj:`~.CUstreamCaptureMode`\n    Pointer to mode value to swap with the current mode\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nmode : :py:obj:`~.CUstreamCaptureMode`\n    Pointer to mode value to swap with the current mode\n\nSee Also\n--------\n:py:obj:`~.cuStreamBeginCapture`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_435cuThreadExchangeStreamCaptureMode = {"cuThreadExchangeStreamCaptureMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_435cuThreadExchangeStreamCaptureMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_434cuThreadExchangeStreamCaptureMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_435cuThreadExchangeStreamCaptureMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_mode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuThreadExchangeStreamCaptureMode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_mode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31278, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31278, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuThreadExchangeStreamCaptureMode", 0) < (0)) __PYX_ERR(0, 31278, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuThreadExchangeStreamCaptureMode", 1, 1, 1, i); __PYX_ERR(0, 31278, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31278, __pyx_L3_error)
    }
    __pyx_v_mode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuThreadExchangeStreamCaptureMode", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31278, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuThreadExchangeStreamCaptureMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_mode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mode"); __PYX_ERR(0, 31279, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_434cuThreadExchangeStreamCaptureMode(__pyx_self, __pyx_v_mode);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_434cuThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode) {
  CUstreamCaptureMode __pyx_v_cymode;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamCaptureMode __pyx_t_2;
  CUresult __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuThreadExchangeStreamCaptureMode", 0);

  /* "cuda/bindings/driver.pyx":31342
 *     :py:obj:`~.cuStreamBeginCapture`
 *     """
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamCaptureMode_enum)__Pyx_PyLong_As_enum__CUstreamCaptureMode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cymode = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":31343
 *     """
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31344
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuThreadExchangeStreamCaptureMode((&__pyx_v_cymode)); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31344, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":31343
 *     """
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":31345
 *     with nogil:
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUstreamCaptureMode(cymode))
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":31346
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUstreamCaptureMode(cymode))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 31346, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_None) != (0)) __PYX_ERR(0, 31346, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31345
 *     with nogil:
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUstreamCaptureMode(cymode))
*/
  }

  /* "cuda/bindings/driver.pyx":31347
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUstreamCaptureMode(cymode))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyLong_From_enum__CUstreamCaptureMode_enum(__pyx_v_cymode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_9 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 31347, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 31347, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31278
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuThreadExchangeStreamCaptureMode(mode not None : CUstreamCaptureMode):
 *     """ Swaps the stream capture interaction mode for a thread.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuThreadExchangeStreamCaptureMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31349
 *     return (_dict_CUresult[err], CUstreamCaptureMode(cymode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamEndCapture(hStream):
 *     """ Ends capture on a stream, returning the captured graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_437cuStreamEndCapture(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_436cuStreamEndCapture, "cuStreamEndCapture(hStream)\n\nEnds capture on a stream, returning the captured graph.\n\nEnd capture on `hStream`, returning the captured graph via `phGraph`.\nCapture must have been initiated on `hStream` via a call to\n:py:obj:`~.cuStreamBeginCapture`. If capture was invalidated, due to a\nviolation of the rules of stream capture, then a NULL graph will be\nreturned.\n\nIf the `mode` argument to :py:obj:`~.cuStreamBeginCapture` was not\n:py:obj:`~.CU_STREAM_CAPTURE_MODE_RELAXED`, this call must be from the\nsame thread as :py:obj:`~.cuStreamBeginCapture`.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD`\nphGraph : :py:obj:`~.CUgraph`\n    The captured graph\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuGraphDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_437cuStreamEndCapture = {"cuStreamEndCapture", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_437cuStreamEndCapture, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_436cuStreamEndCapture};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_437cuStreamEndCapture(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamEndCapture (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31349, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31349, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamEndCapture", 0) < (0)) __PYX_ERR(0, 31349, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamEndCapture", 1, 1, 1, i); __PYX_ERR(0, 31349, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31349, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamEndCapture", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31349, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamEndCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_436cuStreamEndCapture(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_436cuStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_phGraph = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamEndCapture", 0);

  /* "cuda/bindings/driver.pyx":31380
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31381
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31380
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31382
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31383
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31382
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31385
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgraph phGraph = CUgraph()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31385, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31386
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31386, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31387
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgraph phGraph = CUgraph()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamEndCapture(cyhStream, <cydriver.CUgraph*>phGraph._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31387, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":31388
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamEndCapture(cyhStream, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31389
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
 *         err = cydriver.cuStreamEndCapture(cyhStream, <cydriver.CUgraph*>phGraph._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamEndCapture(__pyx_v_cyhStream, ((CUgraph *)__pyx_v_phGraph->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31389, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31388
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamEndCapture(cyhStream, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31390
 *     with nogil:
 *         err = cydriver.cuStreamEndCapture(cyhStream, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31391
 *         err = cydriver.cuStreamEndCapture(cyhStream, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraph)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 31391, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 31391, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31390
 *     with nogil:
 *         err = cydriver.cuStreamEndCapture(cyhStream, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)
*/
  }

  /* "cuda/bindings/driver.pyx":31392
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 31392, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraph)) != (0)) __PYX_ERR(0, 31392, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31349
 *     return (_dict_CUresult[err], CUstreamCaptureMode(cymode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamEndCapture(hStream):
 *     """ Ends capture on a stream, returning the captured graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamEndCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31394
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamIsCapturing(hStream):
 *     """ Returns a stream's capture status.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_439cuStreamIsCapturing(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_438cuStreamIsCapturing, "cuStreamIsCapturing(hStream)\n\nReturns a stream's capture status.\n\nReturn the capture status of `hStream` via `captureStatus`. After a\nsuccessful call, `*captureStatus` will contain one of the following:\n\n- :py:obj:`~.CU_STREAM_CAPTURE_STATUS_NONE`: The stream is not\n  capturing.\n\n- :py:obj:`~.CU_STREAM_CAPTURE_STATUS_ACTIVE`: The stream is capturing.\n\n- :py:obj:`~.CU_STREAM_CAPTURE_STATUS_INVALIDATED`: The stream was\n  capturing but an error has invalidated the capture sequence. The\n  capture sequence must be terminated with\n  :py:obj:`~.cuStreamEndCapture` on the stream where it was initiated\n  in order to continue using `hStream`.\n\nNote that, if this is called on :py:obj:`~.CU_STREAM_LEGACY` (the \"null\nstream\") while a blocking stream in the same context is capturing, it\nwill return :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT` and\n`*captureStatus` is unspecified after the call. The blocking stream\ncapture is not invalidated.\n\nWhen a blocking stream is capturing, the legacy stream is in an\nunusable state until the blocking stream capture is terminated. The\nlegacy stream is not supported for stream capture, but attempted use\nwould have an implicit dependency on the capturing stream(s).\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`\ncaptureStatus : :py:obj:`~.CUstreamCaptureStatus`\n    Returns the stream's capture status\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamEndCapture`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_439cuStreamIsCapturing = {"cuStreamIsCapturing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_439cuStreamIsCapturing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_438cuStreamIsCapturing};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_439cuStreamIsCapturing(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamIsCapturing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31394, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31394, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamIsCapturing", 0) < (0)) __PYX_ERR(0, 31394, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamIsCapturing", 1, 1, 1, i); __PYX_ERR(0, 31394, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31394, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamIsCapturing", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31394, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamIsCapturing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_438cuStreamIsCapturing(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_438cuStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamCaptureStatus __pyx_v_captureStatus;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamIsCapturing", 0);

  /* "cuda/bindings/driver.pyx":31440
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31441
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31440
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31442
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31443
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31443, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31442
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31445
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureStatus captureStatus
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31445, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31446
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamCaptureStatus captureStatus
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31446, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31448
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureStatus captureStatus
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamIsCapturing(cyhStream, &captureStatus)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31449
 *     cdef cydriver.CUstreamCaptureStatus captureStatus
 *     with nogil:
 *         err = cydriver.cuStreamIsCapturing(cyhStream, &captureStatus)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamIsCapturing(__pyx_v_cyhStream, (&__pyx_v_captureStatus)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31449, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31448
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureStatus captureStatus
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamIsCapturing(cyhStream, &captureStatus)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31450
 *     with nogil:
 *         err = cydriver.cuStreamIsCapturing(cyhStream, &captureStatus)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus))
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31451
 *         err = cydriver.cuStreamIsCapturing(cyhStream, &captureStatus)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 31451, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 31451, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31450
 *     with nogil:
 *         err = cydriver.cuStreamIsCapturing(cyhStream, &captureStatus)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus))
*/
  }

  /* "cuda/bindings/driver.pyx":31452
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(__pyx_v_captureStatus); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 31452, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 31452, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31394
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamIsCapturing(hStream):
 *     """ Returns a stream's capture status.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamIsCapturing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31454
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo(hStream):
 *     """ Query a stream's capture state.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_441cuStreamGetCaptureInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_440cuStreamGetCaptureInfo, "cuStreamGetCaptureInfo(hStream)\n\nQuery a stream's capture state.\n\nQuery stream state related to stream capture.\n\nIf called on :py:obj:`~.CU_STREAM_LEGACY` (the \"null stream\") while a\nstream not created with :py:obj:`~.CU_STREAM_NON_BLOCKING` is\ncapturing, returns :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`.\n\nValid data (other than capture status) is returned only if both of the\nfollowing are true:\n\n- the call returns CUDA_SUCCESS\n\n- the returned capture status is\n  :py:obj:`~.CU_STREAM_CAPTURE_STATUS_ACTIVE`\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`\ncaptureStatus_out : :py:obj:`~.CUstreamCaptureStatus`\n    Location to return the capture status of the stream; required\nid_out : :py:obj:`~.cuuint64_t`\n    Optional location to return an id for the capture sequence, which\n    is unique over the lifetime of the process\ngraph_out : :py:obj:`~.CUgraph`\n    Optional location to return the graph being captured into. All\n    operations other than destroy and node removal are permitted on the\n    graph while the capture sequence is in progress. This API does not\n    transfer ownership of the graph, which is transferred or destroyed\n    at :py:obj:`~.cuStreamEndCapture`. Note that the graph handle may\n    be invalidated before end of capture for certain errors. Nodes that\n    are or become unreachable from the original stream at\n    :py:obj:`~.cuStreamEndCapture` due to direct actions on the graph\n    do not trigger :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNJOINED`.\ndependencies_out : list[:py:obj:`~.CUgraphNode`]\n    Optional location to store a pointer to an array of nodes. The next\n    node to be captured in the stream will depend on this set of nodes,\n    absent operations such as event wait which modify this set. The\n    arra""y pointer is valid until the next API call which operates on\n    the stream or until the capture is terminated. The node handles may\n    be copied out and are valid until they or the graph is destroyed.\n    The driver-owned array may also be passed directly to APIs that\n    operate on the graph (not the stream) without copying.\nnumDependencies_out : int\n    Optional location to store the size of the array returned in\n    dependencies_out.\n\nSee Also\n--------\n:py:obj:`~.cuStreamGetCaptureInfo_v3` :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamUpdateCaptureDependencies`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_441cuStreamGetCaptureInfo = {"cuStreamGetCaptureInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_441cuStreamGetCaptureInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_440cuStreamGetCaptureInfo};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_441cuStreamGetCaptureInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetCaptureInfo (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31454, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetCaptureInfo", 0) < (0)) __PYX_ERR(0, 31454, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetCaptureInfo", 1, 1, 1, i); __PYX_ERR(0, 31454, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31454, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetCaptureInfo", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31454, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetCaptureInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_440cuStreamGetCaptureInfo(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_440cuStreamGetCaptureInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamCaptureStatus __pyx_v_captureStatus_out;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_id_out = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_graph_out = 0;
  CUgraphNode const *__pyx_v_cydependencies_out;
  PyObject *__pyx_v_pydependencies_out = NULL;
  size_t __pyx_v_numDependencies_out;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr280__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  size_t __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetCaptureInfo", 0);

  /* "cuda/bindings/driver.pyx":31514
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31515
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31514
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31516
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31517
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31516
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31519
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureStatus captureStatus_out
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31519, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31520
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31520, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31522
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()             # <<<<<<<<<<<<<<
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31522, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_id_out = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":31523
 *     cdef cydriver.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()
 *     cdef CUgraph graph_out = CUgraph()             # <<<<<<<<<<<<<<
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL
 *     pydependencies_out = []
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31523, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_graph_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":31524
 *     cdef cuuint64_t id_out = cuuint64_t()
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL             # <<<<<<<<<<<<<<
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0
*/
  __pyx_v_cydependencies_out = NULL;

  /* "cuda/bindings/driver.pyx":31525
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL
 *     pydependencies_out = []             # <<<<<<<<<<<<<<
 *     cdef size_t numDependencies_out = 0
 *     with nogil:
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies_out = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":31526
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &numDependencies_out)
*/
  __pyx_v_numDependencies_out = 0;

  /* "cuda/bindings/driver.pyx":31527
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetCaptureInfo(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31528
 *     cdef size_t numDependencies_out = 0
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &numDependencies_out)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCaptureInfo(__pyx_v_cyhStream, (&__pyx_v_captureStatus_out), ((cuuint64_t *)__pyx_v_id_out->_pvt_ptr), ((CUgraph *)__pyx_v_graph_out->_pvt_ptr), (&__pyx_v_cydependencies_out), (&__pyx_v_numDependencies_out)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31528, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31527
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetCaptureInfo(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31529
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 31529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31530
 *         err = cydriver.cuStreamGetCaptureInfo(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None, None)
*/
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31530, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __pyx_v_numDependencies_out;
      __pyx_t_9 = __pyx_t_5;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_10genexpr280__pyx_v_idx = __pyx_t_10;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_8 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_11 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependencies_out[__pyx_10genexpr280__pyx_v_idx]))); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31530, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_13 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 31530, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_11, __pyx_t_13, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 31530, __pyx_L1_error)
          __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_8, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_13);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31530, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 31530, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies_out, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31529
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":31531
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None, None, None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31532
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_8);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 31532, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 31532, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 31532, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, Py_None) != (0)) __PYX_ERR(0, 31532, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 4, Py_None) != (0)) __PYX_ERR(0, 31532, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 5, Py_None) != (0)) __PYX_ERR(0, 31532, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31531
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None, None, None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
*/
  }

  /* "cuda/bindings/driver.pyx":31533
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None, None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 31533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_11 = __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(__pyx_v_captureStatus_out); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_13))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_13);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_13, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_11};
    __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_13 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies_out); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 31533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_11 = PyTuple_New(6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 31533, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 31533, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_id_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_id_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 2, ((PyObject *)__pyx_v_id_out)) != (0)) __PYX_ERR(0, 31533, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_graph_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_graph_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 3, ((PyObject *)__pyx_v_graph_out)) != (0)) __PYX_ERR(0, 31533, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_v_pydependencies_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_v_pydependencies_out) != (0)) __PYX_ERR(0, 31533, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_13);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_13) != (0)) __PYX_ERR(0, 31533, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_8 = 0;
  __pyx_t_13 = 0;
  __pyx_r = __pyx_t_11;
  __pyx_t_11 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31454
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo(hStream):
 *     """ Query a stream's capture state.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetCaptureInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_id_out);
  __Pyx_XDECREF((PyObject *)__pyx_v_graph_out);
  __Pyx_XDECREF(__pyx_v_pydependencies_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31535
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo_v3(hStream):
 *     """ Query a stream's capture state (12.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_443cuStreamGetCaptureInfo_v3(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_442cuStreamGetCaptureInfo_v3, "cuStreamGetCaptureInfo_v3(hStream)\n\nQuery a stream's capture state (12.3+)\n\nQuery stream state related to stream capture.\n\nIf called on :py:obj:`~.CU_STREAM_LEGACY` (the \"null stream\") while a\nstream not created with :py:obj:`~.CU_STREAM_NON_BLOCKING` is\ncapturing, returns :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`.\n\nValid data (other than capture status) is returned only if both of the\nfollowing are true:\n\n- the call returns CUDA_SUCCESS\n\n- the returned capture status is\n  :py:obj:`~.CU_STREAM_CAPTURE_STATUS_ACTIVE`\n\nIf `edgeData_out` is non-NULL then `dependencies_out` must be as well.\nIf `dependencies_out` is non-NULL and `edgeData_out` is NULL, but there\nis non-zero edge data for one or more of the current stream\ndependencies, the call will return :py:obj:`~.CUDA_ERROR_LOSSY_QUERY`.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`, :py:obj:`~.CUDA_ERROR_LOSSY_QUERY`\ncaptureStatus_out : :py:obj:`~.CUstreamCaptureStatus`\n    Location to return the capture status of the stream; required\nid_out : :py:obj:`~.cuuint64_t`\n    Optional location to return an id for the capture sequence, which\n    is unique over the lifetime of the process\ngraph_out : :py:obj:`~.CUgraph`\n    Optional location to return the graph being captured into. All\n    operations other than destroy and node removal are permitted on the\n    graph while the capture sequence is in progress. This API does not\n    transfer ownership of the graph, which is transferred or destroyed\n    at :py:obj:`~.cuStreamEndCapture`. Note that the graph handle may\n    be invalidated before end of capture for certain errors. Nodes that\n    are or become unreachable from the original stream at\n    :py:obj:`~.cuStreamEndCapture` due to direct actions on the graph\n    do not trig""ger :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNJOINED`.\ndependencies_out : list[:py:obj:`~.CUgraphNode`]\n    Optional location to store a pointer to an array of nodes. The next\n    node to be captured in the stream will depend on this set of nodes,\n    absent operations such as event wait which modify this set. The\n    array pointer is valid until the next API call which operates on\n    the stream or until the capture is terminated. The node handles may\n    be copied out and are valid until they or the graph is destroyed.\n    The driver-owned array may also be passed directly to APIs that\n    operate on the graph (not the stream) without copying.\nedgeData_out : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional location to store a pointer to an array of graph edge\n    data. This array parallels `dependencies_out`; the next node to be\n    added has an edge to `dependencies_out`[i] with annotation\n    `edgeData_out`[i] for each `i`. The array pointer is valid until\n    the next API call which operates on the stream or until the capture\n    is terminated.\nnumDependencies_out : int\n    Optional location to store the size of the array returned in\n    dependencies_out.\n\nSee Also\n--------\n:py:obj:`~.cuStreamGetCaptureInfo`, :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamUpdateCaptureDependencies`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_443cuStreamGetCaptureInfo_v3 = {"cuStreamGetCaptureInfo_v3", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_443cuStreamGetCaptureInfo_v3, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_442cuStreamGetCaptureInfo_v3};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_443cuStreamGetCaptureInfo_v3(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetCaptureInfo_v3 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31535, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetCaptureInfo_v3", 0) < (0)) __PYX_ERR(0, 31535, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetCaptureInfo_v3", 1, 1, 1, i); __PYX_ERR(0, 31535, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31535, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetCaptureInfo_v3", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31535, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetCaptureInfo_v3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_442cuStreamGetCaptureInfo_v3(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_442cuStreamGetCaptureInfo_v3(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamCaptureStatus __pyx_v_captureStatus_out;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_id_out = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_graph_out = 0;
  CUgraphNode const *__pyx_v_cydependencies_out;
  PyObject *__pyx_v_pydependencies_out = NULL;
  CUgraphEdgeData const *__pyx_v_cyedgeData_out;
  PyObject *__pyx_v_pyedgeData_out = NULL;
  size_t __pyx_v_numDependencies_out;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr281__pyx_v_idx;
  size_t __pyx_10genexpr282__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  size_t __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetCaptureInfo_v3", 0);

  /* "cuda/bindings/driver.pyx":31607
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31608
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31607
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31609
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31610
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31609
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31612
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureStatus captureStatus_out
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31612, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31613
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31613, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31615
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()             # <<<<<<<<<<<<<<
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31615, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_id_out = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":31616
 *     cdef cydriver.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()
 *     cdef CUgraph graph_out = CUgraph()             # <<<<<<<<<<<<<<
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL
 *     pydependencies_out = []
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31616, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_graph_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":31617
 *     cdef cuuint64_t id_out = cuuint64_t()
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL             # <<<<<<<<<<<<<<
 *     pydependencies_out = []
 *     cdef const cydriver.CUgraphEdgeData* cyedgeData_out = NULL
*/
  __pyx_v_cydependencies_out = NULL;

  /* "cuda/bindings/driver.pyx":31618
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL
 *     pydependencies_out = []             # <<<<<<<<<<<<<<
 *     cdef const cydriver.CUgraphEdgeData* cyedgeData_out = NULL
 *     pyedgeData_out = []
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies_out = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":31619
 *     cdef const cydriver.CUgraphNode* cydependencies_out = NULL
 *     pydependencies_out = []
 *     cdef const cydriver.CUgraphEdgeData* cyedgeData_out = NULL             # <<<<<<<<<<<<<<
 *     pyedgeData_out = []
 *     cdef size_t numDependencies_out = 0
*/
  __pyx_v_cyedgeData_out = NULL;

  /* "cuda/bindings/driver.pyx":31620
 *     pydependencies_out = []
 *     cdef const cydriver.CUgraphEdgeData* cyedgeData_out = NULL
 *     pyedgeData_out = []             # <<<<<<<<<<<<<<
 *     cdef size_t numDependencies_out = 0
 *     with nogil:
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyedgeData_out = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":31621
 *     cdef const cydriver.CUgraphEdgeData* cyedgeData_out = NULL
 *     pyedgeData_out = []
 *     cdef size_t numDependencies_out = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo_v3(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &cyedgeData_out, &numDependencies_out)
*/
  __pyx_v_numDependencies_out = 0;

  /* "cuda/bindings/driver.pyx":31622
 *     pyedgeData_out = []
 *     cdef size_t numDependencies_out = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetCaptureInfo_v3(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &cyedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31623
 *     cdef size_t numDependencies_out = 0
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo_v3(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &cyedgeData_out, &numDependencies_out)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCaptureInfo_v3(__pyx_v_cyhStream, (&__pyx_v_captureStatus_out), ((cuuint64_t *)__pyx_v_id_out->_pvt_ptr), ((CUgraph *)__pyx_v_graph_out->_pvt_ptr), (&__pyx_v_cydependencies_out), (&__pyx_v_cyedgeData_out), (&__pyx_v_numDependencies_out)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31623, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31622
 *     pyedgeData_out = []
 *     cdef size_t numDependencies_out = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetCaptureInfo_v3(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &cyedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31624
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo_v3(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &cyedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 31624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31625
 *         err = cydriver.cuStreamGetCaptureInfo_v3(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &cyedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData_out[idx]) for idx in range(numDependencies_out)]
*/
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31625, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __pyx_v_numDependencies_out;
      __pyx_t_9 = __pyx_t_5;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_10genexpr281__pyx_v_idx = __pyx_t_10;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_8 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_11 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependencies_out[__pyx_10genexpr281__pyx_v_idx]))); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31625, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_13 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 31625, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_11, __pyx_t_13, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 31625, __pyx_L1_error)
          __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_8, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_13);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31625, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 31625, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies_out, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31624
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo_v3(cyhStream, &captureStatus_out, <cydriver.cuuint64_t*>id_out._pvt_ptr, <cydriver.CUgraph*>graph_out._pvt_ptr, &cydependencies_out, &cyedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):
*/
  }

  /* "cuda/bindings/driver.pyx":31626
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_13 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 31626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_13};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_13 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_13);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_13);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 31626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31627
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData_out[idx]) for idx in range(numDependencies_out)]             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None, None, None)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31627, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __pyx_v_numDependencies_out;
      __pyx_t_9 = __pyx_t_5;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_10genexpr282__pyx_v_idx = __pyx_t_10;
        __pyx_t_2 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData);
        __pyx_t_13 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
        __pyx_t_11 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_cyedgeData_out[__pyx_10genexpr282__pyx_v_idx])))); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31627, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
          __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31627, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_11, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 31627, __pyx_L1_error)
          __pyx_t_8 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_13, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31627, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_8);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 31627, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_8); __pyx_t_8 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData_out, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":31626
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cydependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":31628
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None, None, None, None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31629
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None, None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 31629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyTuple_New(7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_13) != (0)) __PYX_ERR(0, 31629, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, Py_None) != (0)) __PYX_ERR(0, 31629, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, Py_None) != (0)) __PYX_ERR(0, 31629, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 3, Py_None) != (0)) __PYX_ERR(0, 31629, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 4, Py_None) != (0)) __PYX_ERR(0, 31629, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 5, Py_None) != (0)) __PYX_ERR(0, 31629, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 6, Py_None) != (0)) __PYX_ERR(0, 31629, __pyx_L1_error);
    __pyx_t_13 = 0;
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31628
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData_out[idx]) for idx in range(numDependencies_out)]
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None, None, None, None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
*/
  }

  /* "cuda/bindings/driver.pyx":31630
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None, None, None)
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_13 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 31630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_11 = __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(__pyx_v_captureStatus_out); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_11};
    __pyx_t_13 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 31630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
  }
  __pyx_t_4 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies_out); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_11 = PyTuple_New(7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 31630, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_13);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_13) != (0)) __PYX_ERR(0, 31630, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_id_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_id_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 2, ((PyObject *)__pyx_v_id_out)) != (0)) __PYX_ERR(0, 31630, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_graph_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_graph_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 3, ((PyObject *)__pyx_v_graph_out)) != (0)) __PYX_ERR(0, 31630, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_v_pydependencies_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_v_pydependencies_out) != (0)) __PYX_ERR(0, 31630, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData_out);
  __Pyx_GIVEREF(__pyx_v_pyedgeData_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_v_pyedgeData_out) != (0)) __PYX_ERR(0, 31630, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 6, __pyx_t_4) != (0)) __PYX_ERR(0, 31630, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_13 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_11;
  __pyx_t_11 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31535
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo_v3(hStream):
 *     """ Query a stream's capture state (12.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetCaptureInfo_v3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_id_out);
  __Pyx_XDECREF((PyObject *)__pyx_v_graph_out);
  __Pyx_XDECREF(__pyx_v_pydependencies_out);
  __Pyx_XDECREF(__pyx_v_pyedgeData_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31632
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_445cuStreamUpdateCaptureDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_444cuStreamUpdateCaptureDependencies, "cuStreamUpdateCaptureDependencies(hStream, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, unsigned int flags)\n\nUpdate the set of dependencies in a capturing stream (11.3+)\n\nModifies the dependency set of a capturing stream. The dependency set\nis the set of nodes that the next captured node in the stream will\ndepend on.\n\nValid flags are :py:obj:`~.CU_STREAM_ADD_CAPTURE_DEPENDENCIES` and\n:py:obj:`~.CU_STREAM_SET_CAPTURE_DEPENDENCIES`. These control whether\nthe set passed to the API is added to the existing set or replaces it.\nA flags value of 0 defaults to\n:py:obj:`~.CU_STREAM_ADD_CAPTURE_DEPENDENCIES`.\n\nNodes that are removed from the dependency set via this API do not\nresult in :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNJOINED` if they are\nunreachable from the stream at :py:obj:`~.cuStreamEndCapture`.\n\nReturns :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` if the stream is not\ncapturing.\n\nThis API is new in CUDA 11.3. Developers requiring compatibility across\nminor versions to CUDA 11.0 should not use this API or provide a\nfallback.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to update\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    The set of dependencies to add\nnumDependencies : size_t\n    The size of the dependencies array\nflags : unsigned int\n    See above\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE`\n\nSee Also\n--------\n:py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamGetCaptureInfo`,");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_445cuStreamUpdateCaptureDependencies = {"cuStreamUpdateCaptureDependencies", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_445cuStreamUpdateCaptureDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_444cuStreamUpdateCaptureDependencies};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_445cuStreamUpdateCaptureDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamUpdateCaptureDependencies (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31632, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31632, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31632, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31632, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31632, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamUpdateCaptureDependencies", 0) < (0)) __PYX_ERR(0, 31632, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies", 1, 4, 4, i); __PYX_ERR(0, 31632, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31632, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31632, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31632, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31632, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 31633, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 31633, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 31632, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamUpdateCaptureDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_444cuStreamUpdateCaptureDependencies(__pyx_self, __pyx_v_hStream, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_2generator137(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31678
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 31678, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_2generator137, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[137]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuStreamUpdateCaptureDependencie, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31678, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamUpdateCaptureDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_2generator137(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 31678, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31678, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31678, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31678, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31678, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31678, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 31678, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31632
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_444cuStreamUpdateCaptureDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_2generator137 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamUpdateCaptureDependencies", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":31677
 *     :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamGetCaptureInfo`,
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":31678
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 31678, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":31679
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31679, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 31679, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31678
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
*/
  }

  /* "cuda/bindings/driver.pyx":31681
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_4 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":31682
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31681
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31683
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":31684
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":31683
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31686
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hStream};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31686, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":31687
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31687, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":31688
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":31689
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31689, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":31690
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31690, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":31691
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":31692
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31692, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31692, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31692, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31692, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31692, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31692, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31692, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31692, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31692, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 31692, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":31691
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":31694
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31694, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":31695
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31695, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":31689
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":31696
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31696, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":31697
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":31696
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":31698
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, numDependencies, flags)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31698, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31698, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31698, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 31698, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":31699
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31700
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, numDependencies, flags)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamUpdateCaptureDependencies(__pyx_v_cyhStream, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_flags); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31700, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":31699
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":31701
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31701, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":31702
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":31701
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":31703
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 31703, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31632
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamUpdateCaptureDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_2generator137);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31705
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_447cuStreamUpdateCaptureDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_446cuStreamUpdateCaptureDependencies_v2, "cuStreamUpdateCaptureDependencies_v2(hStream, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData: Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, unsigned int flags)\n\nUpdate the set of dependencies in a capturing stream (12.3+)\n\nModifies the dependency set of a capturing stream. The dependency set\nis the set of nodes that the next captured node in the stream will\ndepend on along with the edge data for those dependencies.\n\nValid flags are :py:obj:`~.CU_STREAM_ADD_CAPTURE_DEPENDENCIES` and\n:py:obj:`~.CU_STREAM_SET_CAPTURE_DEPENDENCIES`. These control whether\nthe set passed to the API is added to the existing set or replaces it.\nA flags value of 0 defaults to\n:py:obj:`~.CU_STREAM_ADD_CAPTURE_DEPENDENCIES`.\n\nNodes that are removed from the dependency set via this API do not\nresult in :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNJOINED` if they are\nunreachable from the stream at :py:obj:`~.cuStreamEndCapture`.\n\nReturns :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` if the stream is not\ncapturing.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to update\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    The set of dependencies to add\ndependencyData : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional array of data associated with each dependency.\nnumDependencies : size_t\n    The size of the dependencies array\nflags : unsigned int\n    See above\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE`\n\nSee Also\n--------\n:py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamGetCaptureInfo`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_447cuStreamUpdateCaptureDependencies_v2 = {"cuStreamUpdateCaptureDependencies_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_447cuStreamUpdateCaptureDependencies_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_446cuStreamUpdateCaptureDependencies_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_447cuStreamUpdateCaptureDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_dependencies = 0;
  PyObject *__pyx_v_dependencyData = 0;
  size_t __pyx_v_numDependencies;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamUpdateCaptureDependencies_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_dependencyData,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31705, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 31705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamUpdateCaptureDependencies_v2", 0) < (0)) __PYX_ERR(0, 31705, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies_v2", 1, 5, 5, i); __PYX_ERR(0, 31705, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31705, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31705, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31705, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31705, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 31705, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_dependencyData = values[2];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 31706, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[4]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 31706, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 31705, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamUpdateCaptureDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_446cuStreamUpdateCaptureDependencies_v2(__pyx_self, __pyx_v_hStream, __pyx_v_dependencies, __pyx_v_dependencyData, __pyx_v_numDependencies, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_2generator138(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31749
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 31749, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_2generator138, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[138]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuStreamUpdateCaptureDependencie_2, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31749, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamUpdateCaptureDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_2generator138(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 31749, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31749, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31749, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31749, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31749, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31749, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 31749, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_5generator139(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31752
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 31752, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_5generator139, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[139]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuStreamUpdateCaptureDependencie_2, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31752, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamUpdateCaptureDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_5generator139(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 31752, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31752, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31752, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31752, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 31752, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31752, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 31752, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31705
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_446cuStreamUpdateCaptureDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUgraphEdgeData *__pyx_v_cydependencyData;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_2generator138 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_5generator139 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUgraphEdgeData_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamUpdateCaptureDependencies_v2", 0);
  __Pyx_INCREF(__pyx_v_dependencies);
  __Pyx_INCREF(__pyx_v_dependencyData);

  /* "cuda/bindings/driver.pyx":31748
 *     :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamGetCaptureInfo`
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
*/
  __pyx_t_2 = (__pyx_v_dependencyData == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencyData);
    __pyx_t_1 = __pyx_v_dependencyData;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencyData, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":31749
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_genexpr(NULL, __pyx_v_dependencyData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 31749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":31750
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencyData_is_not_i};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31750, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 31750, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31749
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
  }

  /* "cuda/bindings/driver.pyx":31751
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_4 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_3 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31752
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_3genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 31752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":31753
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31753, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 31753, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31752
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
*/
  }

  /* "cuda/bindings/driver.pyx":31755
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_2 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31756
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31755
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":31757
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31758
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_phStream = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":31757
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":31760
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hStream};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31760, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_5);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":31761
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31761, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":31762
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":31763
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31763, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31764
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31764, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":31765
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":31766
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_1 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31766, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31766, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31766, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31766, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31766, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31766, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31766, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31766, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31766, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 31766, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":31765
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":31768
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31768, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":31769
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31769, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":31763
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":31770
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31770, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31771
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":31770
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":31772
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
*/
  __pyx_v_cydependencyData = NULL;

  /* "cuda/bindings/driver.pyx":31773
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31773, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31774
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31774, __pyx_L1_error)
    __pyx_v_cydependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_8, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":31775
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
*/
    __pyx_t_2 = (__pyx_v_cydependencyData == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":31776
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31776, __pyx_L1_error)
      __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31776, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 31776, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":31775
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
*/
    }

    /* "cuda/bindings/driver.pyx":31777
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31777, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":31778
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencyData, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31778, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cydependencyData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_3)->__pyx_base._pvt_ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":31773
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":31779
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31779, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31780
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies_v2(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_3)->__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cydependencyData = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":31779
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     with nogil:
*/
  }
  __pyx_L10:;

  /* "cuda/bindings/driver.pyx":31781
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamUpdateCaptureDependencies_v2(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31782
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies_v2(cyhStream, cydependencies, cydependencyData, numDependencies, flags)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamUpdateCaptureDependencies_v2(__pyx_v_cyhStream, __pyx_v_cydependencies, __pyx_v_cydependencyData, __pyx_v_numDependencies, __pyx_v_flags); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31782, __pyx_L15_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":31781
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamUpdateCaptureDependencies_v2(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L16;
        }
        __pyx_L15_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L16:;
      }
  }

  /* "cuda/bindings/driver.pyx":31783
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies_v2(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31783, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L18_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cydependencies != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L18_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31784
 *         err = cydriver.cuStreamUpdateCaptureDependencies_v2(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":31783
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies_v2(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":31785
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencyData)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31785, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L21_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cydependencyData != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L21_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31786
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cydependencyData);

    /* "cuda/bindings/driver.pyx":31785
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencyData)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":31787
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 31787, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31705
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamUpdateCaptureDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_2generator138);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_36cuStreamUpdateCaptureDependencies_v2_5generator139);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31789
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAttachMemAsync(hStream, dptr, size_t length, unsigned int flags):
 *     """ Attach memory to a stream asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_449cuStreamAttachMemAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_448cuStreamAttachMemAsync, "cuStreamAttachMemAsync(hStream, dptr, size_t length, unsigned int flags)\n\nAttach memory to a stream asynchronously.\n\nEnqueues an operation in `hStream` to specify stream association of\n`length` bytes of memory starting from `dptr`. This function is a\nstream-ordered operation, meaning that it is dependent on, and will\nonly take effect when, previous work in stream has completed. Any\nprevious association is automatically replaced.\n\n`dptr` must point to one of the following types of memories:\n\n- managed memory declared using the managed keyword or allocated with\n  :py:obj:`~.cuMemAllocManaged`.\n\n- a valid host-accessible region of system-allocated pageable memory.\n  This type of memory may only be specified if the device associated\n  with the stream reports a non-zero value for the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`.\n\nFor managed allocations, `length` must be either zero or the entire\nallocation's size. Both indicate that the entire allocation's stream\nassociation is being changed. Currently, it is not possible to change\nstream association for a portion of a managed allocation.\n\nFor pageable host allocations, `length` must be non-zero.\n\nThe stream association is specified using `flags` which must be one of\n:py:obj:`~.CUmemAttach_flags`. If the :py:obj:`~.CU_MEM_ATTACH_GLOBAL`\nflag is specified, the memory can be accessed by any stream on any\ndevice. If the :py:obj:`~.CU_MEM_ATTACH_HOST` flag is specified, the\nprogram makes a guarantee that it won't access the memory on the device\nfrom any stream on a device that has a zero value for the device\nattribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. If\nthe :py:obj:`~.CU_MEM_ATTACH_SINGLE` flag is specified and `hStream` is\nassociated with a device that has a zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`, the program\nmakes a guarantee that it will only access the memory on the device""\nfrom `hStream`. It is illegal to attach singly to the NULL stream,\nbecause the NULL stream is a virtual global stream and not a specific\nstream. An error will be returned in this case.\n\nWhen memory is associated with a single stream, the Unified Memory\nsystem will allow CPU access to this memory region so long as all\noperations in `hStream` have completed, regardless of whether other\nstreams are active. In effect, this constrains exclusive ownership of\nthe managed memory region by an active GPU to per-stream activity\ninstead of whole-GPU activity.\n\nAccessing memory on the device from streams that are not associated\nwith it will produce undefined results. No error checking is performed\nby the Unified Memory system to ensure that kernels launched into other\nstreams do not access this region.\n\nIt is a program's responsibility to order calls to\n:py:obj:`~.cuStreamAttachMemAsync` via events, synchronization or other\nmeans to ensure legal access to memory at all times. Data visibility\nand coherency will be changed appropriately for all kernels which\nfollow a stream-association change.\n\nIf `hStream` is destroyed while data is associated with it, the\nassociation is removed and the association reverts to the default\nvisibility of the allocation as specified at\n:py:obj:`~.cuMemAllocManaged`. For managed variables, the default\nassociation is always :py:obj:`~.CU_MEM_ATTACH_GLOBAL`. Note that\ndestroying a stream is an asynchronous operation, and as a result, the\nchange to default association won't happen until all work in the stream\nhas completed.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream in which to enqueue the attach operation\ndptr : :py:obj:`~.CUdeviceptr`\n    Pointer to memory (must be a pointer to managed memory or to a\n    valid host-accessible region of system-allocated pageable memory)\nlength : size_t\n    Length of memory\nflags : unsigned int\n    Must be one of :py:obj:`~.CUmem""Attach_flags`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuMemAllocManaged`, :py:obj:`~.cudaStreamAttachMemAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_449cuStreamAttachMemAsync = {"cuStreamAttachMemAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_449cuStreamAttachMemAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_448cuStreamAttachMemAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_449cuStreamAttachMemAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_dptr = 0;
  size_t __pyx_v_length;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamAttachMemAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_dptr_2,&__pyx_mstate_global->__pyx_n_u_length,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31789, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamAttachMemAsync", 0) < (0)) __PYX_ERR(0, 31789, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamAttachMemAsync", 1, 4, 4, i); __PYX_ERR(0, 31789, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31789, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31789, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31789, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31789, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_dptr = values[1];
    __pyx_v_length = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_length == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 31790, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 31790, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamAttachMemAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 31789, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamAttachMemAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_448cuStreamAttachMemAsync(__pyx_self, __pyx_v_hStream, __pyx_v_dptr, __pyx_v_length, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_448cuStreamAttachMemAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dptr, size_t __pyx_v_length, unsigned int __pyx_v_flags) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamAttachMemAsync", 0);

  /* "cuda/bindings/driver.pyx":31880
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31881
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31880
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31882
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31883
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31882
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31885
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31885, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31886
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31886, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31888
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31889
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31888
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31890
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31891
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":31890
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31893
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStream};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31893, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":31894
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamAttachMemAsync(cyhStream, cydptr, length, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31894, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31895
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamAttachMemAsync(cyhStream, cydptr, length, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31896
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamAttachMemAsync(cyhStream, cydptr, length, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamAttachMemAsync(__pyx_v_cyhStream, __pyx_v_cydptr, __pyx_v_length, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31896, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31895
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamAttachMemAsync(cyhStream, cydptr, length, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":31897
 *     with nogil:
 *         err = cydriver.cuStreamAttachMemAsync(cyhStream, cydptr, length, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 31897, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31789
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAttachMemAsync(hStream, dptr, size_t length, unsigned int flags):
 *     """ Attach memory to a stream asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamAttachMemAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31899
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamQuery(hStream):
 *     """ Determine status of a compute stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_451cuStreamQuery(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_450cuStreamQuery, "cuStreamQuery(hStream)\n\nDetermine status of a compute stream.\n\nReturns :py:obj:`~.CUDA_SUCCESS` if all operations in the stream\nspecified by `hStream` have completed, or\n:py:obj:`~.CUDA_ERROR_NOT_READY` if not.\n\nFor the purposes of Unified Memory, a return value of\n:py:obj:`~.CUDA_SUCCESS` is equivalent to having called\n:py:obj:`~.cuStreamSynchronize()`.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to query status of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_READY`\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamQuery`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_451cuStreamQuery = {"cuStreamQuery", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_451cuStreamQuery, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_450cuStreamQuery};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_451cuStreamQuery(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamQuery (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31899, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31899, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamQuery", 0) < (0)) __PYX_ERR(0, 31899, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamQuery", 1, 1, 1, i); __PYX_ERR(0, 31899, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31899, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamQuery", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31899, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_450cuStreamQuery(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_450cuStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamQuery", 0);

  /* "cuda/bindings/driver.pyx":31926
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31927
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31926
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31928
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31929
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31928
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31931
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31931, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31932
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamQuery(cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31932, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31933
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamQuery(cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31934
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamQuery(cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamQuery(__pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31934, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31933
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamQuery(cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31935
 *     with nogil:
 *         err = cydriver.cuStreamQuery(cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 31935, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31899
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamQuery(hStream):
 *     """ Determine status of a compute stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31937
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSynchronize(hStream):
 *     """ Wait until a stream's tasks are completed.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_453cuStreamSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_452cuStreamSynchronize, "cuStreamSynchronize(hStream)\n\nWait until a stream's tasks are completed.\n\n    Waits until the device has completed all operations in the stream\n    specified by `hStream`. If the context was created with the\n    :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC` flag, the CPU thread will block\n    until the stream is finished with all of its tasks.\n\n    \note_null_stream\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to wait for\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamSynchronize`\n    ");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_453cuStreamSynchronize = {"cuStreamSynchronize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_453cuStreamSynchronize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_452cuStreamSynchronize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_453cuStreamSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamSynchronize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31937, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31937, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamSynchronize", 0) < (0)) __PYX_ERR(0, 31937, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamSynchronize", 1, 1, 1, i); __PYX_ERR(0, 31937, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31937, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamSynchronize", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31937, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_452cuStreamSynchronize(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_452cuStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamSynchronize", 0);

  /* "cuda/bindings/driver.pyx":31963
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31964
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":31963
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31965
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":31966
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31965
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31968
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31968, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31969
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamSynchronize(cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31969, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31970
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamSynchronize(cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31971
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamSynchronize(cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamSynchronize(__pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31971, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31970
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamSynchronize(cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31972
 *     with nogil:
 *         err = cydriver.cuStreamSynchronize(cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 31972, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31937
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSynchronize(hStream):
 *     """ Wait until a stream's tasks are completed.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31974
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamDestroy(hStream):
 *     """ Destroys a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_455cuStreamDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_454cuStreamDestroy, "cuStreamDestroy(hStream)\n\nDestroys a stream.\n\nDestroys the stream specified by `hStream`.\n\nIn case the device is still doing work in the stream `hStream` when\n:py:obj:`~.cuStreamDestroy()` is called, the function will return\nimmediately and the resources associated with `hStream` will be\nreleased automatically once the device has completed all work in\n`hStream`.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_455cuStreamDestroy = {"cuStreamDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_455cuStreamDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_454cuStreamDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_455cuStreamDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 31974, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31974, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamDestroy", 0) < (0)) __PYX_ERR(0, 31974, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamDestroy", 1, 1, 1, i); __PYX_ERR(0, 31974, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31974, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31974, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_454cuStreamDestroy(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_454cuStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamDestroy", 0);

  /* "cuda/bindings/driver.pyx":32001
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32002
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32001
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32003
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32004
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32003
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32006
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32006, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32007
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamDestroy(cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32007, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32008
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamDestroy(cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32009
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamDestroy(cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamDestroy(__pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32009, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32008
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamDestroy(cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32010
 *     with nogil:
 *         err = cydriver.cuStreamDestroy(cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32010, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31974
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamDestroy(hStream):
 *     """ Destroys a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32012
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCopyAttributes(dst, src):
 *     """ Copies attributes from source stream to destination stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_457cuStreamCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_456cuStreamCopyAttributes, "cuStreamCopyAttributes(dst, src)\n\nCopies attributes from source stream to destination stream.\n\nCopies attributes from source stream `src` to destination stream `dst`.\nBoth streams must have the same context.\n\nParameters\n----------\ndst : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Destination stream\nsrc : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Source stream For list of attributes see :py:obj:`~.CUstreamAttrID`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.CUaccessPolicyWindow`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_457cuStreamCopyAttributes = {"cuStreamCopyAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_457cuStreamCopyAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_456cuStreamCopyAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_457cuStreamCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamCopyAttributes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dst_2,&__pyx_mstate_global->__pyx_n_u_src_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32012, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamCopyAttributes", 0) < (0)) __PYX_ERR(0, 32012, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamCopyAttributes", 1, 2, 2, i); __PYX_ERR(0, 32012, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32012, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32012, __pyx_L3_error)
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamCopyAttributes", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 32012, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_456cuStreamCopyAttributes(__pyx_self, __pyx_v_dst, __pyx_v_src);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_456cuStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
  CUstream __pyx_v_cysrc;
  PyObject *__pyx_v_psrc = NULL;
  CUstream __pyx_v_cydst;
  PyObject *__pyx_v_pdst = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamCopyAttributes", 0);

  /* "cuda/bindings/driver.pyx":32036
 *     """
 *     cdef cydriver.CUstream cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_src == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32037
 *     cdef cydriver.CUstream cysrc
 *     if src is None:
 *         psrc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (CUstream,)):
 *         psrc = int(src)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32036
 *     """
 *     cdef cydriver.CUstream cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32038
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUstream,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32039
 *         psrc = 0
 *     elif isinstance(src, (CUstream,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUstream(src))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32038
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUstream,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32041
 *         psrc = int(src)
 *     else:
 *         psrc = int(CUstream(src))             # <<<<<<<<<<<<<<
 *     cysrc = <cydriver.CUstream><void_ptr>psrc
 *     cdef cydriver.CUstream cydst
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_src};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32041, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32042
 *     else:
 *         psrc = int(CUstream(src))
 *     cysrc = <cydriver.CUstream><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cydst
 *     if dst is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32042, __pyx_L1_error)
  __pyx_v_cysrc = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32044
 *     cysrc = <cydriver.CUstream><void_ptr>psrc
 *     cdef cydriver.CUstream cydst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         pdst = 0
 *     elif isinstance(dst, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32045
 *     cdef cydriver.CUstream cydst
 *     if dst is None:
 *         pdst = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (CUstream,)):
 *         pdst = int(dst)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdst = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32044
 *     cysrc = <cydriver.CUstream><void_ptr>psrc
 *     cdef cydriver.CUstream cydst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         pdst = 0
 *     elif isinstance(dst, (CUstream,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32046
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32047
 *         pdst = 0
 *     elif isinstance(dst, (CUstream,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUstream(dst))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdst = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":32046
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32049
 *         pdst = int(dst)
 *     else:
 *         pdst = int(CUstream(dst))             # <<<<<<<<<<<<<<
 *     cydst = <cydriver.CUstream><void_ptr>pdst
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dst};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32049, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":32050
 *     else:
 *         pdst = int(CUstream(dst))
 *     cydst = <cydriver.CUstream><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32050, __pyx_L1_error)
  __pyx_v_cydst = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32051
 *         pdst = int(CUstream(dst))
 *     cydst = <cydriver.CUstream><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32052
 *     cydst = <cydriver.CUstream><void_ptr>pdst
 *     with nogil:
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamCopyAttributes(__pyx_v_cydst, __pyx_v_cysrc); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32052, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32051
 *         pdst = int(CUstream(dst))
 *     cydst = <cydriver.CUstream><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32053
 *     with nogil:
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32053, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32012
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCopyAttributes(dst, src):
 *     """ Copies attributes from source stream to destination stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrc);
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32055
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetAttribute(hStream, attr not None : CUstreamAttrID):
 *     """ Queries stream attribute.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_459cuStreamGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_458cuStreamGetAttribute, "cuStreamGetAttribute(hStream, attr: CUstreamAttrID)\n\nQueries stream attribute.\n\nQueries attribute `attr` from `hStream` and stores it in corresponding\nmember of `value_out`.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n\nattr : :py:obj:`~.CUstreamAttrID`\n\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\nvalue_out : :py:obj:`~.CUstreamAttrValue`\n\n\nSee Also\n--------\n:py:obj:`~.CUaccessPolicyWindow`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_459cuStreamGetAttribute = {"cuStreamGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_459cuStreamGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_458cuStreamGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_459cuStreamGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_attr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_attr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32055, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetAttribute", 0) < (0)) __PYX_ERR(0, 32055, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetAttribute", 1, 2, 2, i); __PYX_ERR(0, 32055, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32055, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32055, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_attr = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 32055, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 32056, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_458cuStreamGetAttribute(__pyx_self, __pyx_v_hStream, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_458cuStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamAttrID __pyx_v_cyattr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue *__pyx_v_value_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUstreamAttrID __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":32081
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32082
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32081
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32083
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32084
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32083
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32086
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32086, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32087
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32087, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32088
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 32088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":32089
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetAttribute(cyhStream, cyattr, <cydriver.CUstreamAttrValue*>value_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32089, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":32090
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetAttribute(cyhStream, cyattr, <cydriver.CUstreamAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32091
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
 *     with nogil:
 *         err = cydriver.cuStreamGetAttribute(cyhStream, cyattr, <cydriver.CUstreamAttrValue*>value_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetAttribute(__pyx_v_cyhStream, __pyx_v_cyattr, ((CUstreamAttrValue *)__pyx_v_value_out->__pyx_base.__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32091, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":32090
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetAttribute(cyhStream, cyattr, <cydriver.CUstreamAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32092
 *     with nogil:
 *         err = cydriver.cuStreamGetAttribute(cyhStream, cyattr, <cydriver.CUstreamAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32093
 *         err = cydriver.cuStreamGetAttribute(cyhStream, cyattr, <cydriver.CUstreamAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], value_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32093, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 32093, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32092
 *     with nogil:
 *         err = cydriver.cuStreamGetAttribute(cyhStream, cyattr, <cydriver.CUstreamAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value_out)
*/
  }

  /* "cuda/bindings/driver.pyx":32094
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 32094, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_value_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_value_out)) != (0)) __PYX_ERR(0, 32094, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32055
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetAttribute(hStream, attr not None : CUstreamAttrID):
 *     """ Queries stream attribute.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_value_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32096
 *     return (_dict_CUresult[err], value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSetAttribute(hStream, attr not None : CUstreamAttrID, value : Optional[CUstreamAttrValue]):
 *     """ Sets stream attribute.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_461cuStreamSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_460cuStreamSetAttribute, "cuStreamSetAttribute(hStream, attr: CUstreamAttrID, CUstreamAttrValue value: Optional[CUstreamAttrValue])\n\nSets stream attribute.\n\nSets attribute `attr` on `hStream` from corresponding attribute of\n`value`. The updated attribute will be applied to subsequent work\nsubmitted to the stream. It will not affect previously submitted work.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n\nattr : :py:obj:`~.CUstreamAttrID`\n\nvalue : :py:obj:`~.CUstreamAttrValue`\n\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.CUaccessPolicyWindow`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_461cuStreamSetAttribute = {"cuStreamSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_461cuStreamSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_460cuStreamSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_461cuStreamSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_attr = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamSetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32096, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 32096, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32096, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32096, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamSetAttribute", 0) < (0)) __PYX_ERR(0, 32096, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamSetAttribute", 1, 3, 3, i); __PYX_ERR(0, 32096, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32096, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32096, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 32096, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 32096, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 32097, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue, 1, "value", 0))) __PYX_ERR(0, 32097, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_460cuStreamSetAttribute(__pyx_self, __pyx_v_hStream, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_460cuStreamSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue *__pyx_v_value) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamAttrID __pyx_v_cyattr;
  CUstreamAttrValue *__pyx_v_cyvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUstreamAttrID __pyx_t_7;
  union CUlaunchAttributeValue_union *__pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":32123
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32124
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32123
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32125
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32126
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32125
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32128
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32128, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32129
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef cydriver.CUstreamAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32129, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32130
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 32130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":32131
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef cydriver.CUstreamAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamSetAttribute(cyhStream, cyattr, cyvalue_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_value) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_8 = __pyx_v_value->__pyx_base.__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_8 = NULL;
  }
  __pyx_v_cyvalue_ptr = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":32132
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef cydriver.CUstreamAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamSetAttribute(cyhStream, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32133
 *     cdef cydriver.CUstreamAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
 *     with nogil:
 *         err = cydriver.cuStreamSetAttribute(cyhStream, cyattr, cyvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamSetAttribute(__pyx_v_cyhStream, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32133, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":32132
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef cydriver.CUstreamAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamSetAttribute(cyhStream, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32134
 *     with nogil:
 *         err = cydriver.cuStreamSetAttribute(cyhStream, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32134, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32096
 *     return (_dict_CUresult[err], value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSetAttribute(hStream, attr not None : CUstreamAttrID, value : Optional[CUstreamAttrValue]):
 *     """ Sets stream attribute.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32136
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreate(unsigned int Flags):
 *     """ Creates an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_463cuEventCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_462cuEventCreate, "cuEventCreate(unsigned int Flags)\n\nCreates an event.\n\nCreates an event *phEvent for the current context with the flags\nspecified via `Flags`. Valid flags include:\n\n- :py:obj:`~.CU_EVENT_DEFAULT`: Default event creation flag.\n\n- :py:obj:`~.CU_EVENT_BLOCKING_SYNC`: Specifies that the created event\n  should use blocking synchronization. A CPU thread that uses\n  :py:obj:`~.cuEventSynchronize()` to wait on an event created with\n  this flag will block until the event has actually been recorded.\n\n- :py:obj:`~.CU_EVENT_DISABLE_TIMING`: Specifies that the created event\n  does not need to record timing data. Events created with this flag\n  specified and the :py:obj:`~.CU_EVENT_BLOCKING_SYNC` flag not\n  specified will provide the best performance when used with\n  :py:obj:`~.cuStreamWaitEvent()` and :py:obj:`~.cuEventQuery()`.\n\n- :py:obj:`~.CU_EVENT_INTERPROCESS`: Specifies that the created event\n  may be used as an interprocess event by\n  :py:obj:`~.cuIpcGetEventHandle()`. :py:obj:`~.CU_EVENT_INTERPROCESS`\n  must be specified along with :py:obj:`~.CU_EVENT_DISABLE_TIMING`.\n\nParameters\n----------\nFlags : unsigned int\n    Event creation flags\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nphEvent : :py:obj:`~.CUevent`\n    Returns newly created event\n\nSee Also\n--------\n:py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventCreate`, :py:obj:`~.cudaEventCreateWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_463cuEventCreate = {"cuEventCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_463cuEventCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_462cuEventCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_463cuEventCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32136, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32136, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventCreate", 0) < (0)) __PYX_ERR(0, 32136, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventCreate", 1, 1, 1, i); __PYX_ERR(0, 32136, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32136, __pyx_L3_error)
    }
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 32137, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32136, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_462cuEventCreate(__pyx_self, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_462cuEventCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_phEvent = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventCreate", 0);

  /* "cuda/bindings/driver.pyx":32177
 *     :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventCreate`, :py:obj:`~.cudaEventCreateWithFlags`
 *     """
 *     cdef CUevent phEvent = CUevent()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventCreate(<cydriver.CUevent*>phEvent._pvt_ptr, Flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32177, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":32178
 *     """
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventCreate(<cydriver.CUevent*>phEvent._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32179
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:
 *         err = cydriver.cuEventCreate(<cydriver.CUevent*>phEvent._pvt_ptr, Flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuEventCreate(((CUevent *)__pyx_v_phEvent->_pvt_ptr), __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32179, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":32178
 *     """
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventCreate(<cydriver.CUevent*>phEvent._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":32180
 *     with nogil:
 *         err = cydriver.cuEventCreate(<cydriver.CUevent*>phEvent._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":32181
 *         err = cydriver.cuEventCreate(<cydriver.CUevent*>phEvent._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phEvent)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32181, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 32181, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32180
 *     with nogil:
 *         err = cydriver.cuEventCreate(<cydriver.CUevent*>phEvent._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)
*/
  }

  /* "cuda/bindings/driver.pyx":32182
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 32182, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phEvent)) != (0)) __PYX_ERR(0, 32182, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32136
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreate(unsigned int Flags):
 *     """ Creates an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32184
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecord(hEvent, hStream):
 *     """ Records an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_465cuEventRecord(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_464cuEventRecord, "cuEventRecord(hEvent, hStream)\n\nRecords an event.\n\nCaptures in `hEvent` the contents of `hStream` at the time of this\ncall. `hEvent` and `hStream` must be from the same context otherwise\n:py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is returned. Calls such as\n:py:obj:`~.cuEventQuery()` or :py:obj:`~.cuStreamWaitEvent()` will then\nexamine or wait for completion of the work that was captured. Uses of\n`hStream` after this call do not modify `hEvent`. See note on default\nstream behavior for what is captured in the default case.\n\n:py:obj:`~.cuEventRecord()` can be called multiple times on the same\nevent and will overwrite the previously captured state. Other APIs such\nas :py:obj:`~.cuStreamWaitEvent()` use the most recently captured state\nat the time of the API call, and are not affected by later calls to\n:py:obj:`~.cuEventRecord()`. Before the first call to\n:py:obj:`~.cuEventRecord()`, an event represents an empty set of work,\nso for example :py:obj:`~.cuEventQuery()` would return\n:py:obj:`~.CUDA_SUCCESS`.\n\nParameters\n----------\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to record\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to record event for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventRecord`, :py:obj:`~.cuEventRecordWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_465cuEventRecord = {"cuEventRecord", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_465cuEventRecord, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_464cuEventRecord};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_465cuEventRecord(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hEvent = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventRecord (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hEvent,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32184, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32184, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32184, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventRecord", 0) < (0)) __PYX_ERR(0, 32184, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventRecord", 1, 2, 2, i); __PYX_ERR(0, 32184, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32184, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32184, __pyx_L3_error)
    }
    __pyx_v_hEvent = values[0];
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventRecord", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 32184, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventRecord", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_464cuEventRecord(__pyx_self, __pyx_v_hEvent, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_464cuEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventRecord", 0);

  /* "cuda/bindings/driver.pyx":32222
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32223
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32222
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32224
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32225
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32224
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32227
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUevent cyhEvent
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32227, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32228
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32228, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32230
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32231
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32230
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32232
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32233
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":32232
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32235
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hEvent};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32235, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":32236
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventRecord(cyhEvent, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32236, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32237
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventRecord(cyhEvent, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32238
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventRecord(cyhEvent, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEventRecord(__pyx_v_cyhEvent, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32238, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32237
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventRecord(cyhEvent, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32239
 *     with nogil:
 *         err = cydriver.cuEventRecord(cyhEvent, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32239, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32184
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecord(hEvent, hStream):
 *     """ Records an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventRecord", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32241
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecordWithFlags(hEvent, hStream, unsigned int flags):
 *     """ Records an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_467cuEventRecordWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_466cuEventRecordWithFlags, "cuEventRecordWithFlags(hEvent, hStream, unsigned int flags)\n\nRecords an event.\n\nCaptures in `hEvent` the contents of `hStream` at the time of this\ncall. `hEvent` and `hStream` must be from the same context otherwise\n:py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is returned. Calls such as\n:py:obj:`~.cuEventQuery()` or :py:obj:`~.cuStreamWaitEvent()` will then\nexamine or wait for completion of the work that was captured. Uses of\n`hStream` after this call do not modify `hEvent`. See note on default\nstream behavior for what is captured in the default case.\n\n:py:obj:`~.cuEventRecordWithFlags()` can be called multiple times on\nthe same event and will overwrite the previously captured state. Other\nAPIs such as :py:obj:`~.cuStreamWaitEvent()` use the most recently\ncaptured state at the time of the API call, and are not affected by\nlater calls to :py:obj:`~.cuEventRecordWithFlags()`. Before the first\ncall to :py:obj:`~.cuEventRecordWithFlags()`, an event represents an\nempty set of work, so for example :py:obj:`~.cuEventQuery()` would\nreturn :py:obj:`~.CUDA_SUCCESS`.\n\nflags include:\n\n- :py:obj:`~.CU_EVENT_RECORD_DEFAULT`: Default event creation flag.\n\n- :py:obj:`~.CU_EVENT_RECORD_EXTERNAL`: Event is captured in the graph\n  as an external event node when performing stream capture. This flag\n  is invalid outside of stream capture.\n\nParameters\n----------\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to record\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to record event for\nflags : unsigned int\n    See :py:obj:`~.CUevent_capture_flags`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuStr""eamWaitEvent`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cudaEventRecord`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_467cuEventRecordWithFlags = {"cuEventRecordWithFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_467cuEventRecordWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_466cuEventRecordWithFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_467cuEventRecordWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hEvent = 0;
  PyObject *__pyx_v_hStream = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventRecordWithFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hEvent,&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32241, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 32241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventRecordWithFlags", 0) < (0)) __PYX_ERR(0, 32241, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventRecordWithFlags", 1, 3, 3, i); __PYX_ERR(0, 32241, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32241, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32241, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 32241, __pyx_L3_error)
    }
    __pyx_v_hEvent = values[0];
    __pyx_v_hStream = values[1];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 32242, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventRecordWithFlags", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 32241, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventRecordWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_466cuEventRecordWithFlags(__pyx_self, __pyx_v_hEvent, __pyx_v_hStream, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_466cuEventRecordWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream, unsigned int __pyx_v_flags) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventRecordWithFlags", 0);

  /* "cuda/bindings/driver.pyx":32289
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32290
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32289
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32291
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32292
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32291
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32294
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUevent cyhEvent
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32294, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32295
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32295, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32297
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32298
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32297
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32299
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32300
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":32299
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32302
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hEvent};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32302, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":32303
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventRecordWithFlags(cyhEvent, cyhStream, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32303, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32304
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventRecordWithFlags(cyhEvent, cyhStream, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32305
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventRecordWithFlags(cyhEvent, cyhStream, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEventRecordWithFlags(__pyx_v_cyhEvent, __pyx_v_cyhStream, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32305, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32304
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventRecordWithFlags(cyhEvent, cyhStream, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32306
 *     with nogil:
 *         err = cydriver.cuEventRecordWithFlags(cyhEvent, cyhStream, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32306, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32241
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecordWithFlags(hEvent, hStream, unsigned int flags):
 *     """ Records an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventRecordWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32308
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventQuery(hEvent):
 *     """ Queries an event's status.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_469cuEventQuery(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_468cuEventQuery, "cuEventQuery(hEvent)\n\nQueries an event's status.\n\nQueries the status of all work currently captured by `hEvent`. See\n:py:obj:`~.cuEventRecord()` for details on what is captured by an\nevent.\n\nReturns :py:obj:`~.CUDA_SUCCESS` if all captured work has been\ncompleted, or :py:obj:`~.CUDA_ERROR_NOT_READY` if any captured work is\nincomplete.\n\nFor the purposes of Unified Memory, a return value of\n:py:obj:`~.CUDA_SUCCESS` is equivalent to having called\n:py:obj:`~.cuEventSynchronize()`.\n\nParameters\n----------\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_READY`\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventQuery`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_469cuEventQuery = {"cuEventQuery", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_469cuEventQuery, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_468cuEventQuery};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_469cuEventQuery(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hEvent = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventQuery (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hEvent,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32308, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32308, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventQuery", 0) < (0)) __PYX_ERR(0, 32308, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventQuery", 1, 1, 1, i); __PYX_ERR(0, 32308, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32308, __pyx_L3_error)
    }
    __pyx_v_hEvent = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventQuery", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32308, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_468cuEventQuery(__pyx_self, __pyx_v_hEvent);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_468cuEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventQuery", 0);

  /* "cuda/bindings/driver.pyx":32339
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32340
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32339
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32341
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32342
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32341
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32344
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32344, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32345
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventQuery(cyhEvent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32345, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32346
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventQuery(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32347
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventQuery(cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEventQuery(__pyx_v_cyhEvent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32347, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32346
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventQuery(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32348
 *     with nogil:
 *         err = cydriver.cuEventQuery(cyhEvent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32348, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32308
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventQuery(hEvent):
 *     """ Queries an event's status.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32350
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventSynchronize(hEvent):
 *     """ Waits for an event to complete.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_471cuEventSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_470cuEventSynchronize, "cuEventSynchronize(hEvent)\n\nWaits for an event to complete.\n\nWaits until the completion of all work currently captured in `hEvent`.\nSee :py:obj:`~.cuEventRecord()` for details on what is captured by an\nevent.\n\nWaiting for an event that was created with the\n:py:obj:`~.CU_EVENT_BLOCKING_SYNC` flag will cause the calling CPU\nthread to block until the event has been completed by the device. If\nthe :py:obj:`~.CU_EVENT_BLOCKING_SYNC` flag has not been set, then the\nCPU thread will busy-wait until the event has been completed by the\ndevice.\n\nParameters\n----------\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to wait for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_471cuEventSynchronize = {"cuEventSynchronize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_471cuEventSynchronize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_470cuEventSynchronize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_471cuEventSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hEvent = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventSynchronize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hEvent,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32350, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32350, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventSynchronize", 0) < (0)) __PYX_ERR(0, 32350, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventSynchronize", 1, 1, 1, i); __PYX_ERR(0, 32350, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32350, __pyx_L3_error)
    }
    __pyx_v_hEvent = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventSynchronize", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32350, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_470cuEventSynchronize(__pyx_self, __pyx_v_hEvent);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_470cuEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventSynchronize", 0);

  /* "cuda/bindings/driver.pyx":32380
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32381
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32380
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32382
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32383
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32382
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32385
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32385, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32386
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventSynchronize(cyhEvent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32386, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32387
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventSynchronize(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32388
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventSynchronize(cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEventSynchronize(__pyx_v_cyhEvent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32388, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32387
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventSynchronize(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32389
 *     with nogil:
 *         err = cydriver.cuEventSynchronize(cyhEvent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32389, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32350
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventSynchronize(hEvent):
 *     """ Waits for an event to complete.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32391
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventDestroy(hEvent):
 *     """ Destroys an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_473cuEventDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_472cuEventDestroy, "cuEventDestroy(hEvent)\n\nDestroys an event.\n\nDestroys the event specified by `hEvent`.\n\nAn event may be destroyed before it is complete (i.e., while\n:py:obj:`~.cuEventQuery()` would return\n:py:obj:`~.CUDA_ERROR_NOT_READY`). In this case, the call does not\nblock on completion of the event, and any associated resources will\nautomatically be released asynchronously at completion.\n\nParameters\n----------\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_473cuEventDestroy = {"cuEventDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_473cuEventDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_472cuEventDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_473cuEventDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hEvent = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hEvent,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32391, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32391, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventDestroy", 0) < (0)) __PYX_ERR(0, 32391, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventDestroy", 1, 1, 1, i); __PYX_ERR(0, 32391, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32391, __pyx_L3_error)
    }
    __pyx_v_hEvent = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32391, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_472cuEventDestroy(__pyx_self, __pyx_v_hEvent);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_472cuEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventDestroy", 0);

  /* "cuda/bindings/driver.pyx":32418
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32419
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32418
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32420
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32421
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32420
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32423
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32423, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32424
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventDestroy(cyhEvent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32424, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32425
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventDestroy(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32426
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventDestroy(cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEventDestroy(__pyx_v_cyhEvent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32426, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32425
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventDestroy(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32427
 *     with nogil:
 *         err = cydriver.cuEventDestroy(cyhEvent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32427, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32391
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventDestroy(hEvent):
 *     """ Destroys an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32429
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_475cuEventElapsedTime(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_474cuEventElapsedTime, "cuEventElapsedTime(hStart, hEnd)\n\nComputes the elapsed time between two events.\n\nComputes the elapsed time between two events (in milliseconds with a\nresolution of around 0.5 microseconds).\n\nIf either event was last recorded in a non-NULL stream, the resulting\ntime may be greater than expected (even if both used the same stream\nhandle). This happens because the :py:obj:`~.cuEventRecord()` operation\ntakes place asynchronously and there is no guarantee that the measured\nlatency is actually just between the two events. Any number of other\ndifferent stream operations could execute in between the two measured\nevents, thus altering the timing in a significant way.\n\nIf :py:obj:`~.cuEventRecord()` has not been called on either event then\n:py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is returned. If\n:py:obj:`~.cuEventRecord()` has been called on both events but one or\nboth of them has not yet been completed (that is,\n:py:obj:`~.cuEventQuery()` would return\n:py:obj:`~.CUDA_ERROR_NOT_READY` on at least one of the events),\n:py:obj:`~.CUDA_ERROR_NOT_READY` is returned. If either event was\ncreated with the :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag, then this\nfunction will return :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`.\n\nNote there is a later version of this API,\n:py:obj:`~.cuEventElapsedTime_v2`. It will supplant this version in\nCUDA 13.0, which is retained for minor version compatibility.\n\nParameters\n----------\nhStart : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Starting event\nhEnd : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Ending event\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_READY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npMilliseconds : float\n    Time between `hStart` and `hEnd` in ms\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`""~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cudaEventElapsedTime`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_475cuEventElapsedTime = {"cuEventElapsedTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_475cuEventElapsedTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_474cuEventElapsedTime};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_475cuEventElapsedTime(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStart = 0;
  PyObject *__pyx_v_hEnd = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventElapsedTime (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStart,&__pyx_mstate_global->__pyx_n_u_hEnd,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32429, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventElapsedTime", 0) < (0)) __PYX_ERR(0, 32429, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventElapsedTime", 1, 2, 2, i); __PYX_ERR(0, 32429, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32429, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32429, __pyx_L3_error)
    }
    __pyx_v_hStart = values[0];
    __pyx_v_hEnd = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventElapsedTime", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 32429, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventElapsedTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_474cuEventElapsedTime(__pyx_self, __pyx_v_hStart, __pyx_v_hEnd);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_474cuEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStart, PyObject *__pyx_v_hEnd) {
  CUevent __pyx_v_cyhEnd;
  PyObject *__pyx_v_phEnd = NULL;
  CUevent __pyx_v_cyhStart;
  PyObject *__pyx_v_phStart = NULL;
  float __pyx_v_pMilliseconds;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventElapsedTime", 0);

  /* "cuda/bindings/driver.pyx":32477
 *     """
 *     cdef cydriver.CUevent cyhEnd
 *     if hEnd is None:             # <<<<<<<<<<<<<<
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEnd == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32478
 *     cdef cydriver.CUevent cyhEnd
 *     if hEnd is None:
 *         phEnd = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEnd, (CUevent,)):
 *         phEnd = int(hEnd)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEnd = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32477
 *     """
 *     cdef cydriver.CUevent cyhEnd
 *     if hEnd is None:             # <<<<<<<<<<<<<<
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32479
 *     if hEnd is None:
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEnd = int(hEnd)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEnd, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32480
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):
 *         phEnd = int(hEnd)             # <<<<<<<<<<<<<<
 *     else:
 *         phEnd = int(CUevent(hEnd))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEnd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEnd = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32479
 *     if hEnd is None:
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEnd = int(hEnd)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32482
 *         phEnd = int(hEnd)
 *     else:
 *         phEnd = int(CUevent(hEnd))             # <<<<<<<<<<<<<<
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd
 *     cdef cydriver.CUevent cyhStart
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEnd};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32482, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEnd = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32483
 *     else:
 *         phEnd = int(CUevent(hEnd))
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEnd); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32483, __pyx_L1_error)
  __pyx_v_cyhEnd = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32485
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:             # <<<<<<<<<<<<<<
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hStart == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32486
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:
 *         phStart = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStart, (CUevent,)):
 *         phStart = int(hStart)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStart = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32485
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:             # <<<<<<<<<<<<<<
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32487
 *     if hStart is None:
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phStart = int(hStart)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStart, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32488
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):
 *         phStart = int(hStart)             # <<<<<<<<<<<<<<
 *     else:
 *         phStart = int(CUevent(hStart))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStart); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStart = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":32487
 *     if hStart is None:
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phStart = int(hStart)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32490
 *         phStart = int(hStart)
 *     else:
 *         phStart = int(CUevent(hStart))             # <<<<<<<<<<<<<<
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStart};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32490, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStart = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":32491
 *     else:
 *         phStart = int(CUevent(hStart))
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart             # <<<<<<<<<<<<<<
 *     cdef float pMilliseconds = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStart); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32491, __pyx_L1_error)
  __pyx_v_cyhStart = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32492
 *         phStart = int(CUevent(hStart))
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime(&pMilliseconds, cyhStart, cyhEnd)
*/
  __pyx_v_pMilliseconds = 0.0;

  /* "cuda/bindings/driver.pyx":32493
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventElapsedTime(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32494
 *     cdef float pMilliseconds = 0
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime(&pMilliseconds, cyhStart, cyhEnd)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEventElapsedTime((&__pyx_v_pMilliseconds), __pyx_v_cyhStart, __pyx_v_cyhEnd); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32494, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32493
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventElapsedTime(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32495
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMilliseconds)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32496
 *         err = cydriver.cuEventElapsedTime(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pMilliseconds)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32496, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 32496, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32495
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMilliseconds)
*/
  }

  /* "cuda/bindings/driver.pyx":32497
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMilliseconds)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pMilliseconds); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32497, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 32497, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32429
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventElapsedTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEnd);
  __Pyx_XDECREF(__pyx_v_phStart);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32499
 *     return (_dict_CUresult[err], pMilliseconds)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime_v2(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_477cuEventElapsedTime_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_476cuEventElapsedTime_v2, "cuEventElapsedTime_v2(hStart, hEnd)\n\nComputes the elapsed time between two events.\n\nComputes the elapsed time between two events (in milliseconds with a\nresolution of around 0.5 microseconds). Note this API is not guaranteed\nto return the latest errors for pending work. As such this API is\nintended to serve as an elapsed time calculation only and any polling\nfor completion on the events to be compared should be done with\n:py:obj:`~.cuEventQuery` instead.\n\nIf either event was last recorded in a non-NULL stream, the resulting\ntime may be greater than expected (even if both used the same stream\nhandle). This happens because the :py:obj:`~.cuEventRecord()` operation\ntakes place asynchronously and there is no guarantee that the measured\nlatency is actually just between the two events. Any number of other\ndifferent stream operations could execute in between the two measured\nevents, thus altering the timing in a significant way.\n\nIf :py:obj:`~.cuEventRecord()` has not been called on either event then\n:py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is returned. If\n:py:obj:`~.cuEventRecord()` has been called on both events but one or\nboth of them has not yet been completed (that is,\n:py:obj:`~.cuEventQuery()` would return\n:py:obj:`~.CUDA_ERROR_NOT_READY` on at least one of the events),\n:py:obj:`~.CUDA_ERROR_NOT_READY` is returned. If either event was\ncreated with the :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag, then this\nfunction will return :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`.\n\nParameters\n----------\nhStart : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Starting event\nhEnd : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Ending event\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_READY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\npMilliseconds : float\n    Tim""e between `hStart` and `hEnd` in ms\n\nSee Also\n--------\n:py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cudaEventElapsedTime`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_477cuEventElapsedTime_v2 = {"cuEventElapsedTime_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_477cuEventElapsedTime_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_476cuEventElapsedTime_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_477cuEventElapsedTime_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStart = 0;
  PyObject *__pyx_v_hEnd = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventElapsedTime_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStart,&__pyx_mstate_global->__pyx_n_u_hEnd,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32499, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32499, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32499, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventElapsedTime_v2", 0) < (0)) __PYX_ERR(0, 32499, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventElapsedTime_v2", 1, 2, 2, i); __PYX_ERR(0, 32499, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32499, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32499, __pyx_L3_error)
    }
    __pyx_v_hStart = values[0];
    __pyx_v_hEnd = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventElapsedTime_v2", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 32499, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventElapsedTime_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_476cuEventElapsedTime_v2(__pyx_self, __pyx_v_hStart, __pyx_v_hEnd);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_476cuEventElapsedTime_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStart, PyObject *__pyx_v_hEnd) {
  CUevent __pyx_v_cyhEnd;
  PyObject *__pyx_v_phEnd = NULL;
  CUevent __pyx_v_cyhStart;
  PyObject *__pyx_v_phStart = NULL;
  float __pyx_v_pMilliseconds;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventElapsedTime_v2", 0);

  /* "cuda/bindings/driver.pyx":32547
 *     """
 *     cdef cydriver.CUevent cyhEnd
 *     if hEnd is None:             # <<<<<<<<<<<<<<
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEnd == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32548
 *     cdef cydriver.CUevent cyhEnd
 *     if hEnd is None:
 *         phEnd = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEnd, (CUevent,)):
 *         phEnd = int(hEnd)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEnd = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32547
 *     """
 *     cdef cydriver.CUevent cyhEnd
 *     if hEnd is None:             # <<<<<<<<<<<<<<
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32549
 *     if hEnd is None:
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEnd = int(hEnd)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEnd, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32550
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):
 *         phEnd = int(hEnd)             # <<<<<<<<<<<<<<
 *     else:
 *         phEnd = int(CUevent(hEnd))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEnd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEnd = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32549
 *     if hEnd is None:
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEnd = int(hEnd)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32552
 *         phEnd = int(hEnd)
 *     else:
 *         phEnd = int(CUevent(hEnd))             # <<<<<<<<<<<<<<
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd
 *     cdef cydriver.CUevent cyhStart
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEnd};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32552, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEnd = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32553
 *     else:
 *         phEnd = int(CUevent(hEnd))
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEnd); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32553, __pyx_L1_error)
  __pyx_v_cyhEnd = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32555
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:             # <<<<<<<<<<<<<<
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hStart == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32556
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:
 *         phStart = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStart, (CUevent,)):
 *         phStart = int(hStart)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStart = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32555
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:             # <<<<<<<<<<<<<<
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32557
 *     if hStart is None:
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phStart = int(hStart)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStart, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32558
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):
 *         phStart = int(hStart)             # <<<<<<<<<<<<<<
 *     else:
 *         phStart = int(CUevent(hStart))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStart); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStart = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":32557
 *     if hStart is None:
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phStart = int(hStart)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32560
 *         phStart = int(hStart)
 *     else:
 *         phStart = int(CUevent(hStart))             # <<<<<<<<<<<<<<
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStart};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32560, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStart = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":32561
 *     else:
 *         phStart = int(CUevent(hStart))
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart             # <<<<<<<<<<<<<<
 *     cdef float pMilliseconds = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStart); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32561, __pyx_L1_error)
  __pyx_v_cyhStart = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32562
 *         phStart = int(CUevent(hStart))
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime_v2(&pMilliseconds, cyhStart, cyhEnd)
*/
  __pyx_v_pMilliseconds = 0.0;

  /* "cuda/bindings/driver.pyx":32563
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventElapsedTime_v2(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32564
 *     cdef float pMilliseconds = 0
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime_v2(&pMilliseconds, cyhStart, cyhEnd)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEventElapsedTime_v2((&__pyx_v_pMilliseconds), __pyx_v_cyhStart, __pyx_v_cyhEnd); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32564, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32563
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventElapsedTime_v2(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32565
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime_v2(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMilliseconds)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32566
 *         err = cydriver.cuEventElapsedTime_v2(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pMilliseconds)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32566, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 32566, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32565
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime_v2(&pMilliseconds, cyhStart, cyhEnd)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMilliseconds)
*/
  }

  /* "cuda/bindings/driver.pyx":32567
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMilliseconds)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pMilliseconds); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32567, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 32567, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32499
 *     return (_dict_CUresult[err], pMilliseconds)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime_v2(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventElapsedTime_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEnd);
  __Pyx_XDECREF(__pyx_v_phStart);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32569
 *     return (_dict_CUresult[err], pMilliseconds)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalMemory(memHandleDesc : Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC]):
 *     """ Imports an external memory object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_479cuImportExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_478cuImportExternalMemory, "cuImportExternalMemory(CUDA_EXTERNAL_MEMORY_HANDLE_DESC memHandleDesc: Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC])\n\nImports an external memory object.\n\nImports an externally allocated memory object and returns a handle to\nthat in `extMem_out`.\n\nThe properties of the handle being imported must be described in\n`memHandleDesc`. The :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`\nstructure is defined as follows:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` specifies the\ntype of handle being imported. :py:obj:`~.CUexternalMemoryHandleType`\nis defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD`, then\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::fd must be a\nvalid file descriptor referencing a memory object. Ownership of the\nfile descriptor is transferred to the CUDA driver when the handle is\nimported successfully. Performing any operations on the file descriptor\nafter it is imported results in undefined behavior.\n\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32`, then exactly\none of\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle and\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name must\nnot be NULL. If\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle is\nnot NULL, then it must represent a valid shared NT handle that\nreferences a memory object. Ownership of this handle is not transferred\nto CUDA after the import operation, so the application must release the\nhandle using the appropriate system call. If\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must point to a NULL-terminated array of UTF-16\ncharacters that refers to a memory object.\n\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY""_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT`, then\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle\nmust be non-NULL and\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name must\nbe NULL. The handle specified must be a globally shared KMT handle.\nThis handle does not hold a reference to the underlying object, and\nthus will be invalid when all references to the memory object are\ndestroyed.\n\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP`, then exactly one\nof :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle\nand :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name\nmust not be NULL. If\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle is\nnot NULL, then it must represent a valid shared NT handle that is\nreturned by ID3D12Device::CreateSharedHandle when referring to a\nID3D12Heap object. This handle holds a reference to the underlying\nobject. If\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must point to a NULL-terminated array of UTF-16\ncharacters that refers to a ID3D12Heap object.\n\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE`, then exactly\none of\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle and\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name must\nnot be NULL. If\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle is\nnot NULL, then it must represent a valid shared NT handle that is\nreturned by ID3D12Device::CreateSharedHandle when referring to a\nID3D12Resource object. This handle holds a reference to the underlying\nobject. If\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must point to a NULL-terminated array of UTF-16\ncharacters that refers to a ID3D12R""esource object.\n\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE`, then\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle\nmust represent a valid shared NT handle that is returned by\nIDXGIResource1::CreateSharedHandle when referring to a ID3D11Resource\nobject. If\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must point to a NULL-terminated array of UTF-16\ncharacters that refers to a ID3D11Resource object.\n\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT`, then\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle\nmust represent a valid shared KMT handle that is returned by\nIDXGIResource::GetSharedHandle when referring to a ID3D11Resource\nobject and\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name must\nbe NULL.\n\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF`, then\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::nvSciBufObject\nmust be non-NULL and reference a valid NvSciBuf object. If the NvSciBuf\nobject imported into CUDA is also mapped by other drivers, then the\napplication must use :py:obj:`~.cuWaitExternalSemaphoresAsync` or\n:py:obj:`~.cuSignalExternalSemaphoresAsync` as appropriate barriers to\nmaintain coherence between CUDA and the other drivers. See\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC` and\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC` for\nmemory synchronization.\n\nThe size of the memory object must be specified in\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.size`.\n\nSpecifying the flag :py:obj:`~.CUDA_EXTERNAL_MEMORY_DEDICATED` in\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.flags` indicates that the\nresource is a dedicated resource. The definition of what a dedicated\nresource is outside the scope"" of this extension. This flag must be set\nif :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is one of the\nfollowing: :py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE`\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE`\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT`\n\nParameters\n----------\nmemHandleDesc : :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`\n    Memory import handle descriptor\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OPERATING_SYSTEM`\nextMem_out : :py:obj:`~.CUexternalMemory`\n    Returned handle to an external memory object\n\nSee Also\n--------\n:py:obj:`~.cuDestroyExternalMemory`, :py:obj:`~.cuExternalMemoryGetMappedBuffer`, :py:obj:`~.cuExternalMemoryGetMappedMipmappedArray`\n\nNotes\n-----\nIf the Vulkan memory imported into CUDA is mapped on the CPU then the application must use vkInvalidateMappedMemoryRanges/vkFlushMappedMemoryRanges as well as appropriate Vulkan pipeline barriers to maintain coherence between CPU and GPU. For more information on these APIs, please refer to \"Synchronization\nand Cache Control\" chapter from Vulkan specification.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_479cuImportExternalMemory = {"cuImportExternalMemory", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_479cuImportExternalMemory, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_478cuImportExternalMemory};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_479cuImportExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC *__pyx_v_memHandleDesc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuImportExternalMemory (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_memHandleDesc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32569, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32569, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuImportExternalMemory", 0) < (0)) __PYX_ERR(0, 32569, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuImportExternalMemory", 1, 1, 1, i); __PYX_ERR(0, 32569, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32569, __pyx_L3_error)
    }
    __pyx_v_memHandleDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuImportExternalMemory", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuImportExternalMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memHandleDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC, 1, "memHandleDesc", 0))) __PYX_ERR(0, 32570, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_478cuImportExternalMemory(__pyx_self, __pyx_v_memHandleDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_478cuImportExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC *__pyx_v_memHandleDesc) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_extMem_out = 0;
  CUDA_EXTERNAL_MEMORY_HANDLE_DESC *__pyx_v_cymemHandleDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuImportExternalMemory", 0);

  /* "cuda/bindings/driver.pyx":32714
 *     and Cache Control" chapter from Vulkan specification.
 *     """
 *     cdef CUexternalMemory extMem_out = CUexternalMemory()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cymemHandleDesc_ptr = memHandleDesc._pvt_ptr if memHandleDesc is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32714, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_extMem_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":32715
 *     """
 *     cdef CUexternalMemory extMem_out = CUexternalMemory()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cymemHandleDesc_ptr = memHandleDesc._pvt_ptr if memHandleDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuImportExternalMemory(<cydriver.CUexternalMemory*>extMem_out._pvt_ptr, cymemHandleDesc_ptr)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_memHandleDesc) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_memHandleDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cymemHandleDesc_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":32716
 *     cdef CUexternalMemory extMem_out = CUexternalMemory()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cymemHandleDesc_ptr = memHandleDesc._pvt_ptr if memHandleDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuImportExternalMemory(<cydriver.CUexternalMemory*>extMem_out._pvt_ptr, cymemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32717
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cymemHandleDesc_ptr = memHandleDesc._pvt_ptr if memHandleDesc is not None else NULL
 *     with nogil:
 *         err = cydriver.cuImportExternalMemory(<cydriver.CUexternalMemory*>extMem_out._pvt_ptr, cymemHandleDesc_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuImportExternalMemory(((CUexternalMemory *)__pyx_v_extMem_out->_pvt_ptr), __pyx_v_cymemHandleDesc_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32717, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32716
 *     cdef CUexternalMemory extMem_out = CUexternalMemory()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cymemHandleDesc_ptr = memHandleDesc._pvt_ptr if memHandleDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuImportExternalMemory(<cydriver.CUexternalMemory*>extMem_out._pvt_ptr, cymemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":32718
 *     with nogil:
 *         err = cydriver.cuImportExternalMemory(<cydriver.CUexternalMemory*>extMem_out._pvt_ptr, cymemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], extMem_out)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":32719
 *         err = cydriver.cuImportExternalMemory(<cydriver.CUexternalMemory*>extMem_out._pvt_ptr, cymemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], extMem_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32719, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 32719, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32718
 *     with nogil:
 *         err = cydriver.cuImportExternalMemory(<cydriver.CUexternalMemory*>extMem_out._pvt_ptr, cymemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], extMem_out)
*/
  }

  /* "cuda/bindings/driver.pyx":32720
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], extMem_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 32720, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_extMem_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_extMem_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_extMem_out)) != (0)) __PYX_ERR(0, 32720, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32569
 *     return (_dict_CUresult[err], pMilliseconds)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalMemory(memHandleDesc : Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC]):
 *     """ Imports an external memory object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuImportExternalMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_extMem_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32722
 *     return (_dict_CUresult[err], extMem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedBuffer(extMem, bufferDesc : Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC]):
 *     """ Maps a buffer onto an imported memory object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_481cuExternalMemoryGetMappedBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_480cuExternalMemoryGetMappedBuffer, "cuExternalMemoryGetMappedBuffer(extMem, CUDA_EXTERNAL_MEMORY_BUFFER_DESC bufferDesc: Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC])\n\nMaps a buffer onto an imported memory object.\n\nMaps a buffer onto an imported memory object and returns a device\npointer in `devPtr`.\n\nThe properties of the buffer being mapped must be described in\n`bufferDesc`. The :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC`\nstructure is defined as follows:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC.offset` is the offset\nin the memory object where the buffer's base address is.\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC.size` is the size of the\nbuffer. :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC.flags` must be\nzero.\n\nThe offset and size have to be suitably aligned to match the\nrequirements of the external API. Mapping two buffers whose ranges\noverlap may or may not result in the same virtual address being\nreturned for the overlapped portion. In such cases, the application\nmust ensure that all accesses to that region from the GPU are volatile.\nOtherwise writes made via one address are not guaranteed to be visible\nvia the other address, even if they're issued by the same thread. It is\nrecommended that applications map the combined range instead of mapping\nseparate buffers and then apply the appropriate offsets to the returned\npointer to derive the individual buffers.\n\nThe returned pointer `devPtr` must be freed using\n:py:obj:`~.cuMemFree`.\n\nParameters\n----------\nextMem : :py:obj:`~.CUexternalMemory`\n    Handle to external memory object\nbufferDesc : :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC`\n    Buffer descriptor\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\ndevPtr : :py:obj:`~.CUdeviceptr`\n    Returned device pointer to buffer\n\nSee Also\n--------\n:py:obj:`~.cuImport""ExternalMemory`, :py:obj:`~.cuDestroyExternalMemory`, :py:obj:`~.cuExternalMemoryGetMappedMipmappedArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_481cuExternalMemoryGetMappedBuffer = {"cuExternalMemoryGetMappedBuffer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_481cuExternalMemoryGetMappedBuffer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_480cuExternalMemoryGetMappedBuffer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_481cuExternalMemoryGetMappedBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_extMem = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC *__pyx_v_bufferDesc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuExternalMemoryGetMappedBuffer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_extMem,&__pyx_mstate_global->__pyx_n_u_bufferDesc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32722, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32722, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32722, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuExternalMemoryGetMappedBuffer", 0) < (0)) __PYX_ERR(0, 32722, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuExternalMemoryGetMappedBuffer", 1, 2, 2, i); __PYX_ERR(0, 32722, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32722, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32722, __pyx_L3_error)
    }
    __pyx_v_extMem = values[0];
    __pyx_v_bufferDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuExternalMemoryGetMappedBuffer", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 32722, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuExternalMemoryGetMappedBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bufferDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC, 1, "bufferDesc", 0))) __PYX_ERR(0, 32723, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_480cuExternalMemoryGetMappedBuffer(__pyx_self, __pyx_v_extMem, __pyx_v_bufferDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_480cuExternalMemoryGetMappedBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC *__pyx_v_bufferDesc) {
  CUexternalMemory __pyx_v_cyextMem;
  PyObject *__pyx_v_pextMem = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_devPtr = 0;
  CUDA_EXTERNAL_MEMORY_BUFFER_DESC *__pyx_v_cybufferDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuExternalMemoryGetMappedBuffer", 0);

  /* "cuda/bindings/driver.pyx":32774
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32775
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:
 *         pextMem = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pextMem = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32774
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32776
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32777
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32776
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32779
 *         pextMem = int(extMem)
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_extMem};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32779, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32780
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cybufferDesc_ptr = bufferDesc._pvt_ptr if bufferDesc is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32780, __pyx_L1_error)
  __pyx_v_cyextMem = ((CUexternalMemory)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32781
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     cdef CUdeviceptr devPtr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cybufferDesc_ptr = bufferDesc._pvt_ptr if bufferDesc is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32781, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_devPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":32782
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cybufferDesc_ptr = bufferDesc._pvt_ptr if bufferDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuExternalMemoryGetMappedBuffer(<cydriver.CUdeviceptr*>devPtr._pvt_ptr, cyextMem, cybufferDesc_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_bufferDesc) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_bufferDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cybufferDesc_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":32783
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cybufferDesc_ptr = bufferDesc._pvt_ptr if bufferDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuExternalMemoryGetMappedBuffer(<cydriver.CUdeviceptr*>devPtr._pvt_ptr, cyextMem, cybufferDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32784
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cybufferDesc_ptr = bufferDesc._pvt_ptr if bufferDesc is not None else NULL
 *     with nogil:
 *         err = cydriver.cuExternalMemoryGetMappedBuffer(<cydriver.CUdeviceptr*>devPtr._pvt_ptr, cyextMem, cybufferDesc_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuExternalMemoryGetMappedBuffer(((CUdeviceptr *)__pyx_v_devPtr->_pvt_ptr), __pyx_v_cyextMem, __pyx_v_cybufferDesc_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32784, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":32783
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cybufferDesc_ptr = bufferDesc._pvt_ptr if bufferDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuExternalMemoryGetMappedBuffer(<cydriver.CUdeviceptr*>devPtr._pvt_ptr, cyextMem, cybufferDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32785
 *     with nogil:
 *         err = cydriver.cuExternalMemoryGetMappedBuffer(<cydriver.CUdeviceptr*>devPtr._pvt_ptr, cyextMem, cybufferDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], devPtr)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32786
 *         err = cydriver.cuExternalMemoryGetMappedBuffer(<cydriver.CUdeviceptr*>devPtr._pvt_ptr, cyextMem, cybufferDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], devPtr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32786, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 32786, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32785
 *     with nogil:
 *         err = cydriver.cuExternalMemoryGetMappedBuffer(<cydriver.CUdeviceptr*>devPtr._pvt_ptr, cyextMem, cybufferDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], devPtr)
*/
  }

  /* "cuda/bindings/driver.pyx":32787
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], devPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 32787, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_devPtr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_devPtr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_devPtr)) != (0)) __PYX_ERR(0, 32787, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32722
 *     return (_dict_CUresult[err], extMem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedBuffer(extMem, bufferDesc : Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC]):
 *     """ Maps a buffer onto an imported memory object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuExternalMemoryGetMappedBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pextMem);
  __Pyx_XDECREF((PyObject *)__pyx_v_devPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32789
 *     return (_dict_CUresult[err], devPtr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC]):
 *     """ Maps a CUDA mipmapped array onto an external memory object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_483cuExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_482cuExternalMemoryGetMappedMipmappedArray, "cuExternalMemoryGetMappedMipmappedArray(extMem, CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC mipmapDesc: Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC])\n\nMaps a CUDA mipmapped array onto an external memory object.\n\nMaps a CUDA mipmapped array onto an external object and returns a\nhandle to it in `mipmap`.\n\nThe properties of the CUDA mipmapped array being mapped must be\ndescribed in `mipmapDesc`. The structure\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC` is defined as\nfollows:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere :py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC.offset` is\nthe offset in the memory object where the base level of the mipmap\nchain is.\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC.arrayDesc`\ndescribes the format, dimensions and type of the base level of the\nmipmap chain. For further details on these parameters, please refer to\nthe documentation for :py:obj:`~.cuMipmappedArrayCreate`. Note that if\nthe mipmapped array is bound as a color target in the graphics API,\nthen the flag :py:obj:`~.CUDA_ARRAY3D_COLOR_ATTACHMENT` must be\nspecified in\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC`::arrayDesc::Flags.\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC.numLevels`\nspecifies the total number of levels in the mipmap chain.\n\nIf `extMem` was imported from a handle of type\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF`, then\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC.numLevels` must be\nequal to 1.\n\nThe returned CUDA mipmapped array must be freed using\n:py:obj:`~.cuMipmappedArrayDestroy`.\n\nParameters\n----------\nextMem : :py:obj:`~.CUexternalMemory`\n    Handle to external memory object\nmipmapDesc : :py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC`\n    CUDA array descriptor\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HAND""LE`\nmipmap : :py:obj:`~.CUmipmappedArray`\n    Returned CUDA mipmapped array\n\nSee Also\n--------\n:py:obj:`~.cuImportExternalMemory`, :py:obj:`~.cuDestroyExternalMemory`, :py:obj:`~.cuExternalMemoryGetMappedBuffer`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_483cuExternalMemoryGetMappedMipmappedArray = {"cuExternalMemoryGetMappedMipmappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_483cuExternalMemoryGetMappedMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_482cuExternalMemoryGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_483cuExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_extMem = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *__pyx_v_mipmapDesc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuExternalMemoryGetMappedMipmappedArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_extMem,&__pyx_mstate_global->__pyx_n_u_mipmapDesc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32789, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuExternalMemoryGetMappedMipmappedArray", 0) < (0)) __PYX_ERR(0, 32789, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuExternalMemoryGetMappedMipmappedArray", 1, 2, 2, i); __PYX_ERR(0, 32789, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32789, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32789, __pyx_L3_error)
    }
    __pyx_v_extMem = values[0];
    __pyx_v_mipmapDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuExternalMemoryGetMappedMipmappedArray", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 32789, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuExternalMemoryGetMappedMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mipmapDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC, 1, "mipmapDesc", 0))) __PYX_ERR(0, 32790, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_482cuExternalMemoryGetMappedMipmappedArray(__pyx_self, __pyx_v_extMem, __pyx_v_mipmapDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_482cuExternalMemoryGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *__pyx_v_mipmapDesc) {
  CUexternalMemory __pyx_v_cyextMem;
  PyObject *__pyx_v_pextMem = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_mipmap = 0;
  CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *__pyx_v_cymipmapDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuExternalMemoryGetMappedMipmappedArray", 0);

  /* "cuda/bindings/driver.pyx":32844
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32845
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:
 *         pextMem = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pextMem = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32844
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32846
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32847
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32846
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32849
 *         pextMem = int(extMem)
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_extMem};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32849, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32850
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cymipmapDesc_ptr = mipmapDesc._pvt_ptr if mipmapDesc is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32850, __pyx_L1_error)
  __pyx_v_cyextMem = ((CUexternalMemory)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32851
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cymipmapDesc_ptr = mipmapDesc._pvt_ptr if mipmapDesc is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32851, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_mipmap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":32852
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cymipmapDesc_ptr = mipmapDesc._pvt_ptr if mipmapDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuExternalMemoryGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>mipmap._pvt_ptr, cyextMem, cymipmapDesc_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_mipmapDesc) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_mipmapDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cymipmapDesc_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":32853
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cymipmapDesc_ptr = mipmapDesc._pvt_ptr if mipmapDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuExternalMemoryGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>mipmap._pvt_ptr, cyextMem, cymipmapDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32854
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cymipmapDesc_ptr = mipmapDesc._pvt_ptr if mipmapDesc is not None else NULL
 *     with nogil:
 *         err = cydriver.cuExternalMemoryGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>mipmap._pvt_ptr, cyextMem, cymipmapDesc_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuExternalMemoryGetMappedMipmappedArray(((CUmipmappedArray *)__pyx_v_mipmap->_pvt_ptr), __pyx_v_cyextMem, __pyx_v_cymipmapDesc_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32854, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":32853
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
 *     cdef cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cymipmapDesc_ptr = mipmapDesc._pvt_ptr if mipmapDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuExternalMemoryGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>mipmap._pvt_ptr, cyextMem, cymipmapDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32855
 *     with nogil:
 *         err = cydriver.cuExternalMemoryGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>mipmap._pvt_ptr, cyextMem, cymipmapDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], mipmap)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32856
 *         err = cydriver.cuExternalMemoryGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>mipmap._pvt_ptr, cyextMem, cymipmapDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], mipmap)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 32856, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 32856, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32855
 *     with nogil:
 *         err = cydriver.cuExternalMemoryGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>mipmap._pvt_ptr, cyextMem, cymipmapDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], mipmap)
*/
  }

  /* "cuda/bindings/driver.pyx":32857
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], mipmap)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 32857, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_mipmap);
  __Pyx_GIVEREF((PyObject *)__pyx_v_mipmap);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_mipmap)) != (0)) __PYX_ERR(0, 32857, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32789
 *     return (_dict_CUresult[err], devPtr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC]):
 *     """ Maps a CUDA mipmapped array onto an external memory object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuExternalMemoryGetMappedMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pextMem);
  __Pyx_XDECREF((PyObject *)__pyx_v_mipmap);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32859
 *     return (_dict_CUresult[err], mipmap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalMemory(extMem):
 *     """ Destroys an external memory object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_485cuDestroyExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_484cuDestroyExternalMemory, "cuDestroyExternalMemory(extMem)\n\nDestroys an external memory object.\n\nDestroys the specified external memory object. Any existing buffers and\nCUDA mipmapped arrays mapped onto this object must no longer be used\nand must be explicitly freed using :py:obj:`~.cuMemFree` and\n:py:obj:`~.cuMipmappedArrayDestroy` respectively.\n\nParameters\n----------\nextMem : :py:obj:`~.CUexternalMemory`\n    External memory object to be destroyed\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuImportExternalMemory`, :py:obj:`~.cuExternalMemoryGetMappedBuffer`, :py:obj:`~.cuExternalMemoryGetMappedMipmappedArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_485cuDestroyExternalMemory = {"cuDestroyExternalMemory", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_485cuDestroyExternalMemory, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_484cuDestroyExternalMemory};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_485cuDestroyExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_extMem = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDestroyExternalMemory (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_extMem,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32859, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDestroyExternalMemory", 0) < (0)) __PYX_ERR(0, 32859, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDestroyExternalMemory", 1, 1, 1, i); __PYX_ERR(0, 32859, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32859, __pyx_L3_error)
    }
    __pyx_v_extMem = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDestroyExternalMemory", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32859, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDestroyExternalMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_484cuDestroyExternalMemory(__pyx_self, __pyx_v_extMem);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_484cuDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem) {
  CUexternalMemory __pyx_v_cyextMem;
  PyObject *__pyx_v_pextMem = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDestroyExternalMemory", 0);

  /* "cuda/bindings/driver.pyx":32883
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32884
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:
 *         pextMem = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pextMem = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":32883
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32885
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32886
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32885
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32888
 *         pextMem = int(extMem)
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_extMem};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32888, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32888, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32889
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32889, __pyx_L1_error)
  __pyx_v_cyextMem = ((CUexternalMemory)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32890
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32891
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     with nogil:
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDestroyExternalMemory(__pyx_v_cyextMem); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32891, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32890
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32892
 *     with nogil:
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32892, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32859
 *     return (_dict_CUresult[err], mipmap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalMemory(extMem):
 *     """ Destroys an external memory object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDestroyExternalMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pextMem);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32894
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalSemaphore(semHandleDesc : Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC]):
 *     """ Imports an external semaphore.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_487cuImportExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_486cuImportExternalSemaphore, "cuImportExternalSemaphore(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC semHandleDesc: Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC])\n\nImports an external semaphore.\n\nImports an externally allocated synchronization object and returns a\nhandle to that in `extSem_out`.\n\nThe properties of the handle being imported must be described in\n`semHandleDesc`. The :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC` is\ndefined as follows:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` specifies\nthe type of handle being imported.\n:py:obj:`~.CUexternalSemaphoreHandleType` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD`, then\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::fd must be a\nvalid file descriptor referencing a synchronization object. Ownership\nof the file descriptor is transferred to the CUDA driver when the\nhandle is imported successfully. Performing any operations on the file\ndescriptor after it is imported results in undefined behavior.\n\nIf :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32`, then\nexactly one of\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nand\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\nmust not be NULL. If\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nis not NULL, then it must represent a valid shared NT handle that\nreferences a synchronization object. Ownership of this handle is not\ntransferred to CUDA after the import operation, so the application must\nrelease the handle using the appropriate system call. If\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must name a valid synchronization object.\n\nIf :py:obj:`~.CUDA_EXTERN""AL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT`, then\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nmust be non-NULL and\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\nmust be NULL. The handle specified must be a globally shared KMT\nhandle. This handle does not hold a reference to the underlying object,\nand thus will be invalid when all references to the synchronization\nobject are destroyed.\n\nIf :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE`, then exactly\none of\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nand\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\nmust not be NULL. If\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nis not NULL, then it must represent a valid shared NT handle that is\nreturned by ID3D12Device::CreateSharedHandle when referring to a\nID3D12Fence object. This handle holds a reference to the underlying\nobject. If\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must name a valid synchronization object that refers\nto a valid ID3D12Fence object.\n\nIf :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE`, then\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nrepresents a valid shared NT handle that is returned by\nID3D11Fence::CreateSharedHandle. If\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must name a valid synchronization object that refers\nto a valid ID3D11Fence object.\n\nIf :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC`, then\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::nvSciSyncObj\nrepresents a valid NvSciSyncObj.\n\n:py:obj:`~.CU_EXTERN""AL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX`, then\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nrepresents a valid shared NT handle that is returned by\nIDXGIResource1::CreateSharedHandle when referring to a IDXGIKeyedMutex\nobject. If\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must name a valid synchronization object that refers\nto a valid IDXGIKeyedMutex object.\n\nIf :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT`,\nthen\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nrepresents a valid shared KMT handle that is returned by\nIDXGIResource::GetSharedHandle when referring to a IDXGIKeyedMutex\nobject and\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\nmust be NULL.\n\nIf :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD`,\nthen :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::fd must\nbe a valid file descriptor referencing a synchronization object.\nOwnership of the file descriptor is transferred to the CUDA driver when\nthe handle is imported successfully. Performing any operations on the\nfile descriptor after it is imported results in undefined behavior.\n\nIf :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32`,\nthen exactly one of\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nand\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\nmust not be NULL. If\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\nis not NULL, then it must represent a valid shared NT handle that\nreferences a synchronization object. Ownership of this handle is not\ntransferred to CUDA after the import operation, so the application must\nrelease the handle using the appr""opriate system call. If\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\nnot NULL, then it must name a valid synchronization object.\n\nParameters\n----------\nsemHandleDesc : :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`\n    Semaphore import handle descriptor\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OPERATING_SYSTEM`\nextSem_out : :py:obj:`~.CUexternalSemaphore`\n    Returned handle to an external semaphore\n\nSee Also\n--------\n:py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_487cuImportExternalSemaphore = {"cuImportExternalSemaphore", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_487cuImportExternalSemaphore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_486cuImportExternalSemaphore};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_487cuImportExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *__pyx_v_semHandleDesc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuImportExternalSemaphore (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_semHandleDesc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 32894, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuImportExternalSemaphore", 0) < (0)) __PYX_ERR(0, 32894, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuImportExternalSemaphore", 1, 1, 1, i); __PYX_ERR(0, 32894, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32894, __pyx_L3_error)
    }
    __pyx_v_semHandleDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuImportExternalSemaphore", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32894, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuImportExternalSemaphore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_semHandleDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC, 1, "semHandleDesc", 0))) __PYX_ERR(0, 32895, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_486cuImportExternalSemaphore(__pyx_self, __pyx_v_semHandleDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_486cuImportExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *__pyx_v_semHandleDesc) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_extSem_out = 0;
  CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *__pyx_v_cysemHandleDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuImportExternalSemaphore", 0);

  /* "cuda/bindings/driver.pyx":33034
 *     :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`
 *     """
 *     cdef CUexternalSemaphore extSem_out = CUexternalSemaphore()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* cysemHandleDesc_ptr = semHandleDesc._pvt_ptr if semHandleDesc is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33034, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_extSem_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":33035
 *     """
 *     cdef CUexternalSemaphore extSem_out = CUexternalSemaphore()
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* cysemHandleDesc_ptr = semHandleDesc._pvt_ptr if semHandleDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuImportExternalSemaphore(<cydriver.CUexternalSemaphore*>extSem_out._pvt_ptr, cysemHandleDesc_ptr)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_semHandleDesc) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_semHandleDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cysemHandleDesc_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":33036
 *     cdef CUexternalSemaphore extSem_out = CUexternalSemaphore()
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* cysemHandleDesc_ptr = semHandleDesc._pvt_ptr if semHandleDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuImportExternalSemaphore(<cydriver.CUexternalSemaphore*>extSem_out._pvt_ptr, cysemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33037
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* cysemHandleDesc_ptr = semHandleDesc._pvt_ptr if semHandleDesc is not None else NULL
 *     with nogil:
 *         err = cydriver.cuImportExternalSemaphore(<cydriver.CUexternalSemaphore*>extSem_out._pvt_ptr, cysemHandleDesc_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuImportExternalSemaphore(((CUexternalSemaphore *)__pyx_v_extSem_out->_pvt_ptr), __pyx_v_cysemHandleDesc_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33037, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33036
 *     cdef CUexternalSemaphore extSem_out = CUexternalSemaphore()
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* cysemHandleDesc_ptr = semHandleDesc._pvt_ptr if semHandleDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuImportExternalSemaphore(<cydriver.CUexternalSemaphore*>extSem_out._pvt_ptr, cysemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":33038
 *     with nogil:
 *         err = cydriver.cuImportExternalSemaphore(<cydriver.CUexternalSemaphore*>extSem_out._pvt_ptr, cysemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], extSem_out)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":33039
 *         err = cydriver.cuImportExternalSemaphore(<cydriver.CUexternalSemaphore*>extSem_out._pvt_ptr, cysemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], extSem_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 33039, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 33039, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":33038
 *     with nogil:
 *         err = cydriver.cuImportExternalSemaphore(<cydriver.CUexternalSemaphore*>extSem_out._pvt_ptr, cysemHandleDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], extSem_out)
*/
  }

  /* "cuda/bindings/driver.pyx":33040
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], extSem_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 33040, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_extSem_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_extSem_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_extSem_out)) != (0)) __PYX_ERR(0, 33040, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32894
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalSemaphore(semHandleDesc : Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC]):
 *     """ Imports an external semaphore.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuImportExternalSemaphore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_extSem_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33042
 *     return (_dict_CUresult[err], extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray : Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream):
 *     """ Signals a set of external semaphore objects.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_489cuSignalExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_488cuSignalExternalSemaphoresAsync, "cuSignalExternalSemaphoresAsync(extSemArray: Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray: Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream)\n\nSignals a set of external semaphore objects.\n\nEnqueues a signal operation on a set of externally allocated semaphore\nobject in the specified stream. The operations will be executed when\nall prior operations in the stream complete.\n\nThe exact semantics of signaling a semaphore depends on the type of the\nobject.\n\nIf the semaphore object is any one of the following types:\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT` then\nsignaling the semaphore will set it to the signaled state.\n\nIf the semaphore object is any one of the following types:\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32`\nthen the semaphore will be set to the value specified in\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`::params::fence::value.\n\nIf the semaphore object is of the type\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC` this API sets\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`::params::nvSciSync::fence\nto a value that can be used by subsequent waiters of the same NvSciSync\nobject to order operations with those currently submitted in `stream`.\nSuch an update will overwrite previous contents of\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`::params::nvSciSync::fence.\nBy default, signaling such an external semaphore object causes\nappropriate memory synchronization operations to be performed over all\nexternal memory objects that are imported as\n:py:o""bj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF`. This ensures that\nany subsequent accesses made by other importers of the same set of\nNvSciBuf memory object(s) are coherent. These operations can be skipped\nby specifying the flag\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC`, which\ncan be used as a performance optimization when data coherency is not\nrequired. But specifying this flag in scenarios where data coherency is\nrequired results in undefined behavior. Also, for semaphore object of\nthe type :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC`, if\nthe NvSciSyncAttrList used to create the NvSciSyncObj had not set the\nflags in :py:obj:`~.cuDeviceGetNvSciSyncAttributes` to\nCUDA_NVSCISYNC_ATTR_SIGNAL, this API will return\nCUDA_ERROR_NOT_SUPPORTED. NvSciSyncFence associated with semaphore\nobject of the type\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC` can be\ndeterministic. For this the NvSciSyncAttrList used to create the\nsemaphore object must have value of\nNvSciSyncAttrKey_RequireDeterministicFences key set to true.\nDeterministic fences allow users to enqueue a wait over the semaphore\nobject even before corresponding signal is enqueued. For such a\nsemaphore object, CUDA guarantees that each signal operation will\nincrement the fence value by '1'. Users are expected to track count of\nsignals enqueued on the semaphore object and insert waits accordingly.\nWhen such a semaphore object is signaled from multiple streams, due to\nconcurrent stream execution, it is possible that the order in which the\nsemaphore gets signaled is indeterministic. This could lead to waiters\nof the semaphore getting unblocked incorrectly. Users are expected to\nhandle such situations, either by not using the same semaphore object\nwith deterministic fence support enabled in different streams or by\nadding explicit dependency amongst such streams so that the semaphore\nis signaled in order.\n\nIf the semaphore object is any one of the foll""owing types:\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT`\nthen the keyed mutex will be released with the key specified in\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_PARAMS`::params::keyedmutex::key.\n\nParameters\n----------\nextSemArray : list[:py:obj:`~.CUexternalSemaphore`]\n    Set of external semaphores to be signaled\nparamsArray : list[:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`]\n    Array of semaphore parameters\nnumExtSems : unsigned int\n    Number of semaphores to signal\nstream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to enqueue the signal operations in\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuWaitExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_489cuSignalExternalSemaphoresAsync = {"cuSignalExternalSemaphoresAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_489cuSignalExternalSemaphoresAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_488cuSignalExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_489cuSignalExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_extSemArray = 0;
  PyObject *__pyx_v_paramsArray = 0;
  unsigned int __pyx_v_numExtSems;
  PyObject *__pyx_v_stream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuSignalExternalSemaphoresAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_extSemArray_2,&__pyx_mstate_global->__pyx_n_u_paramsArray_2,&__pyx_mstate_global->__pyx_n_u_numExtSems_2,&__pyx_mstate_global->__pyx_n_u_stream,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33042, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuSignalExternalSemaphoresAsync", 0) < (0)) __PYX_ERR(0, 33042, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuSignalExternalSemaphoresAsync", 1, 4, 4, i); __PYX_ERR(0, 33042, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33042, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33042, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33042, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33042, __pyx_L3_error)
    }
    __pyx_v_extSemArray = values[0];
    __pyx_v_paramsArray = values[1];
    __pyx_v_numExtSems = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33043, __pyx_L3_error)
    __pyx_v_stream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSignalExternalSemaphoresAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33042, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuSignalExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_488cuSignalExternalSemaphoresAsync(__pyx_self, __pyx_v_extSemArray, __pyx_v_paramsArray, __pyx_v_numExtSems, __pyx_v_stream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_2generator140(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33144
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 33144, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_2generator140, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[140]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuSignalExternalSemaphoresAsync, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33144, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuSignalExternalSemaphoresAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_2generator140(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 33144, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33144, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33144, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33144, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33144, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33144, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 33144, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_5generator141(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33147
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 33147, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_5generator141, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[141]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuSignalExternalSemaphoresAsync, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33147, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuSignalExternalSemaphoresAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_5generator141(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 33147, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33147, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33147, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33147, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33147, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33147, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 33147, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33042
 *     return (_dict_CUresult[err], extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray : Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream):
 *     """ Signals a set of external semaphore objects.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_488cuSignalExternalSemaphoresAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSemArray, PyObject *__pyx_v_paramsArray, unsigned int __pyx_v_numExtSems, PyObject *__pyx_v_stream) {
  CUstream __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  CUexternalSemaphore *__pyx_v_cyextSemArray;
  Py_ssize_t __pyx_v_idx;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *__pyx_v_cyparamsArray;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_2generator140 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_5generator141 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSignalExternalSemaphoresAsync", 0);
  __Pyx_INCREF(__pyx_v_extSemArray);
  __Pyx_INCREF(__pyx_v_paramsArray);

  /* "cuda/bindings/driver.pyx":33136
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33137
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33136
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33138
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33139
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33138
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33141
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33141, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33142
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33142, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33143
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
*/
  __pyx_t_1 = (__pyx_v_paramsArray == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramsArray);
    __pyx_t_4 = __pyx_v_paramsArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramsArray, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":33144
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_genexpr(NULL, __pyx_v_paramsArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 33144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":33145
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")             # <<<<<<<<<<<<<<
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_paramsArray_is_not_inst_2};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 33145, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33144
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
*/
  }

  /* "cuda/bindings/driver.pyx":33146
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
*/
  __pyx_t_7 = (__pyx_v_extSemArray == Py_None);
  if (__pyx_t_7) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_extSemArray);
    __pyx_t_2 = __pyx_v_extSemArray;
  }
  __Pyx_DECREF_SET(__pyx_v_extSemArray, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":33147
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_3genexpr(NULL, __pyx_v_extSemArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 33147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_7);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":33148
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
 *     if len(extSemArray) > 1:
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_extSemArray_is_not_inst};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 33148, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33147
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":33149
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
*/
  __pyx_v_cyextSemArray = NULL;

  /* "cuda/bindings/driver.pyx":33150
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
 *     if len(extSemArray) > 1:             # <<<<<<<<<<<<<<
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33150, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33151
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
 *     if len(extSemArray) > 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *         if cyextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33151, __pyx_L1_error)
    __pyx_v_cyextSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_8, (sizeof(CUexternalSemaphore))));

    /* "cuda/bindings/driver.pyx":33152
 *     if len(extSemArray) > 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *         else:
*/
    __pyx_t_1 = (__pyx_v_cyextSemArray == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":33153
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(extSemArray)):
*/
      __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33153, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33153, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 33153, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33152
 *     if len(extSemArray) > 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":33155
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *         else:
 *             for idx in range(len(extSemArray)):             # <<<<<<<<<<<<<<
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]
 *     elif len(extSemArray) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33155, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":33156
 *         else:
 *             for idx in range(len(extSemArray)):
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(extSemArray) == 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_extSemArray, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33156, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyextSemArray[__pyx_v_idx]) = ((CUexternalSemaphore)(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":33150
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
 *     if len(extSemArray) > 1:             # <<<<<<<<<<<<<<
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":33157
 *             for idx in range(len(extSemArray)):
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]
 *     elif len(extSemArray) == 1:             # <<<<<<<<<<<<<<
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cyparamsArray = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33157, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33158
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]
 *     elif len(extSemArray) == 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cyparamsArray = NULL
 *     if len(paramsArray) > 1:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_extSemArray, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyextSemArray = ((CUexternalSemaphore *)((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33157
 *             for idx in range(len(extSemArray)):
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]
 *     elif len(extSemArray) == 1:             # <<<<<<<<<<<<<<
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cyparamsArray = NULL
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":33159
 *     elif len(extSemArray) == 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cyparamsArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
*/
  __pyx_v_cyparamsArray = NULL;

  /* "cuda/bindings/driver.pyx":33160
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cyparamsArray = NULL
 *     if len(paramsArray) > 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cyparamsArray is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33160, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33161
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cyparamsArray = NULL
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33161, __pyx_L1_error)
    __pyx_v_cyparamsArray = ((CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)calloc(__pyx_t_8, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));

    /* "cuda/bindings/driver.pyx":33162
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cyparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *         for idx in range(len(paramsArray)):
*/
    __pyx_t_1 = (__pyx_v_cyparamsArray == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":33163
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33163, __pyx_L1_error)
      __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33163, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 33163, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33162
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cyparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *         for idx in range(len(paramsArray)):
*/
    }

    /* "cuda/bindings/driver.pyx":33164
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *         for idx in range(len(paramsArray)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *     elif len(paramsArray) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33164, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":33165
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_paramsArray, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cyparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":33160
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cyparamsArray = NULL
 *     if len(paramsArray) > 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cyparamsArray is NULL:
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":33166
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *     elif len(paramsArray) == 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._pvt_ptr
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33166, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33167
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_paramsArray, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cyparamsArray = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":33166
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *     elif len(paramsArray) == 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._pvt_ptr
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
*/
  }
  __pyx_L10:;

  /* "cuda/bindings/driver.pyx":33168
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._pvt_ptr
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))             # <<<<<<<<<<<<<<
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33168, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_8);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_9 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_4 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33168, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33168, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 33168, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33169
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._pvt_ptr
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuSignalExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33169, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_8);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_2 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33169, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 33169, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33170
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSignalExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33171
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     with nogil:
 *         err = cydriver.cuSignalExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
 *         free(cyextSemArray)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuSignalExternalSemaphoresAsync(__pyx_v_cyextSemArray, __pyx_v_cyparamsArray, __pyx_v_numExtSems, __pyx_v_cystream); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33171, __pyx_L17_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":33170
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSignalExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L18;
        }
        __pyx_L17_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L18:;
      }
  }

  /* "cuda/bindings/driver.pyx":33172
 *     with nogil:
 *         err = cydriver.cuSignalExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33172, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {
  } else {
    __pyx_t_1 = __pyx_t_7;
    goto __pyx_L20_bool_binop_done;
  }
  __pyx_t_7 = (__pyx_v_cyextSemArray != NULL);
  __pyx_t_1 = __pyx_t_7;
  __pyx_L20_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33173
 *         err = cydriver.cuSignalExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
 *         free(cyextSemArray)             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)
*/
    free(__pyx_v_cyextSemArray);

    /* "cuda/bindings/driver.pyx":33172
 *     with nogil:
 *         err = cydriver.cuSignalExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":33174
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyparamsArray)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33174, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {
  } else {
    __pyx_t_1 = __pyx_t_7;
    goto __pyx_L23_bool_binop_done;
  }
  __pyx_t_7 = (__pyx_v_cyparamsArray != NULL);
  __pyx_t_1 = __pyx_t_7;
  __pyx_L23_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33175
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyparamsArray);

    /* "cuda/bindings/driver.pyx":33174
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyparamsArray)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":33176
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 33176, __pyx_L1_error);
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33042
 *     return (_dict_CUresult[err], extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray : Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream):
 *     """ Signals a set of external semaphore objects.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuSignalExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_2generator140);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_5generator141);
  __Pyx_XDECREF(__pyx_v_extSemArray);
  __Pyx_XDECREF(__pyx_v_paramsArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33178
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray : Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream):
 *     """ Waits on a set of external semaphore objects.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_491cuWaitExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_490cuWaitExternalSemaphoresAsync, "cuWaitExternalSemaphoresAsync(extSemArray: Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray: Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream)\n\nWaits on a set of external semaphore objects.\n\nEnqueues a wait operation on a set of externally allocated semaphore\nobject in the specified stream. The operations will be executed when\nall prior operations in the stream complete.\n\nThe exact semantics of waiting on a semaphore depends on the type of\nthe object.\n\nIf the semaphore object is any one of the following types:\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT` then\nwaiting on the semaphore will wait until the semaphore reaches the\nsignaled state. The semaphore will then be reset to the unsignaled\nstate. Therefore for every signal operation, there can only be one wait\noperation.\n\nIf the semaphore object is any one of the following types:\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32`\nthen waiting on the semaphore will wait until the value of the\nsemaphore is greater than or equal to\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS`::params::fence::value.\n\nIf the semaphore object is of the type\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC` then, waiting\non the semaphore will wait until the\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`::params::nvSciSync::fence\nis signaled by the signaler of the NvSciSyncObj that was associated\nwith this semaphore object. By default, waiting on such an external\nsemaphore object causes appropriate memory synchronization operations\nto be performed o""ver all external memory objects that are imported as\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF`. This ensures that\nany subsequent accesses made by other importers of the same set of\nNvSciBuf memory object(s) are coherent. These operations can be skipped\nby specifying the flag\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC`, which\ncan be used as a performance optimization when data coherency is not\nrequired. But specifying this flag in scenarios where data coherency is\nrequired results in undefined behavior. Also, for semaphore object of\nthe type :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC`, if\nthe NvSciSyncAttrList used to create the NvSciSyncObj had not set the\nflags in :py:obj:`~.cuDeviceGetNvSciSyncAttributes` to\nCUDA_NVSCISYNC_ATTR_WAIT, this API will return\nCUDA_ERROR_NOT_SUPPORTED.\n\nIf the semaphore object is any one of the following types:\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX`,\n:py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT`\nthen the keyed mutex will be acquired when it is released with the key\nspecified in\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS`::params::keyedmutex::key\nor until the timeout specified by\n:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS`::params::keyedmutex::timeoutMs\nhas lapsed. The timeout interval can either be a finite value specified\nin milliseconds or an infinite value. In case an infinite value is\nspecified the timeout never elapses. The windows INFINITE macro must be\nused to specify infinite timeout.\n\nParameters\n----------\nextSemArray : list[:py:obj:`~.CUexternalSemaphore`]\n    External semaphores to be waited on\nparamsArray : list[:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS`]\n    Array of semaphore parameters\nnumExtSems : unsigned int\n    Number of semaphores to wait on\nstream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to enqueue the wait operations in\n\nReturns\n-------\nCUresult\n    :py:""obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_TIMEOUT`\n\nSee Also\n--------\n:py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_491cuWaitExternalSemaphoresAsync = {"cuWaitExternalSemaphoresAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_491cuWaitExternalSemaphoresAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_490cuWaitExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_491cuWaitExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_extSemArray = 0;
  PyObject *__pyx_v_paramsArray = 0;
  unsigned int __pyx_v_numExtSems;
  PyObject *__pyx_v_stream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuWaitExternalSemaphoresAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_extSemArray_2,&__pyx_mstate_global->__pyx_n_u_paramsArray_2,&__pyx_mstate_global->__pyx_n_u_numExtSems_2,&__pyx_mstate_global->__pyx_n_u_stream,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33178, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33178, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33178, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33178, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33178, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuWaitExternalSemaphoresAsync", 0) < (0)) __PYX_ERR(0, 33178, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuWaitExternalSemaphoresAsync", 1, 4, 4, i); __PYX_ERR(0, 33178, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33178, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33178, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33178, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33178, __pyx_L3_error)
    }
    __pyx_v_extSemArray = values[0];
    __pyx_v_paramsArray = values[1];
    __pyx_v_numExtSems = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33179, __pyx_L3_error)
    __pyx_v_stream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuWaitExternalSemaphoresAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33178, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuWaitExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_490cuWaitExternalSemaphoresAsync(__pyx_self, __pyx_v_extSemArray, __pyx_v_paramsArray, __pyx_v_numExtSems, __pyx_v_stream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_2generator142(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33271
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 33271, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_2generator142, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[142]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuWaitExternalSemaphoresAsync_lo, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33271, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuWaitExternalSemaphoresAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_2generator142(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 33271, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33271, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33271, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33271, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33271, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33271, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 33271, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_5generator143(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33274
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 33274, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_5generator143, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[143]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuWaitExternalSemaphoresAsync_lo, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33274, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuWaitExternalSemaphoresAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_5generator143(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 33274, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33274, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33274, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33274, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33274, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33274, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 33274, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33178
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray : Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream):
 *     """ Waits on a set of external semaphore objects.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_490cuWaitExternalSemaphoresAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSemArray, PyObject *__pyx_v_paramsArray, unsigned int __pyx_v_numExtSems, PyObject *__pyx_v_stream) {
  CUstream __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  CUexternalSemaphore *__pyx_v_cyextSemArray;
  Py_ssize_t __pyx_v_idx;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *__pyx_v_cyparamsArray;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_2generator142 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_5generator143 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuWaitExternalSemaphoresAsync", 0);
  __Pyx_INCREF(__pyx_v_extSemArray);
  __Pyx_INCREF(__pyx_v_paramsArray);

  /* "cuda/bindings/driver.pyx":33263
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33264
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33263
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33265
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33266
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33265
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33268
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33268, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33269
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33269, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33270
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
*/
  __pyx_t_1 = (__pyx_v_paramsArray == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramsArray);
    __pyx_t_4 = __pyx_v_paramsArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramsArray, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":33271
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_genexpr(NULL, __pyx_v_paramsArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 33271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":33272
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")             # <<<<<<<<<<<<<<
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_paramsArray_is_not_inst_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33272, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 33272, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33271
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
*/
  }

  /* "cuda/bindings/driver.pyx":33273
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
*/
  __pyx_t_7 = (__pyx_v_extSemArray == Py_None);
  if (__pyx_t_7) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_extSemArray);
    __pyx_t_2 = __pyx_v_extSemArray;
  }
  __Pyx_DECREF_SET(__pyx_v_extSemArray, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":33274
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_3genexpr(NULL, __pyx_v_extSemArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 33274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_7);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":33275
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
 *     if len(extSemArray) > 1:
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_4 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_extSemArray_is_not_inst};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 33275, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33274
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected tuple[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,] or list[cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":33276
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
*/
  __pyx_v_cyextSemArray = NULL;

  /* "cuda/bindings/driver.pyx":33277
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
 *     if len(extSemArray) > 1:             # <<<<<<<<<<<<<<
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33277, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33278
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
 *     if len(extSemArray) > 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *         if cyextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33278, __pyx_L1_error)
    __pyx_v_cyextSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_8, (sizeof(CUexternalSemaphore))));

    /* "cuda/bindings/driver.pyx":33279
 *     if len(extSemArray) > 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *         else:
*/
    __pyx_t_1 = (__pyx_v_cyextSemArray == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":33280
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(extSemArray)):
*/
      __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33280, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33280, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 33280, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33279
 *     if len(extSemArray) > 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":33282
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(cydriver.CUexternalSemaphore)))
 *         else:
 *             for idx in range(len(extSemArray)):             # <<<<<<<<<<<<<<
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]
 *     elif len(extSemArray) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33282, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":33283
 *         else:
 *             for idx in range(len(extSemArray)):
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(extSemArray) == 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_extSemArray, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33283, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyextSemArray[__pyx_v_idx]) = ((CUexternalSemaphore)(((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":33277
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected tuple[cydriver.CUexternalSemaphore,] or list[cydriver.CUexternalSemaphore,]")
 *     cdef cydriver.CUexternalSemaphore* cyextSemArray = NULL
 *     if len(extSemArray) > 1:             # <<<<<<<<<<<<<<
 *         cyextSemArray = <cydriver.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(cydriver.CUexternalSemaphore))
 *         if cyextSemArray is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":33284
 *             for idx in range(len(extSemArray)):
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]
 *     elif len(extSemArray) == 1:             # <<<<<<<<<<<<<<
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cyparamsArray = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33284, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33285
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]
 *     elif len(extSemArray) == 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cyparamsArray = NULL
 *     if len(paramsArray) > 1:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_extSemArray, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyextSemArray = ((CUexternalSemaphore *)((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33284
 *             for idx in range(len(extSemArray)):
 *                 cyextSemArray[idx] = <cydriver.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._pvt_ptr[0]
 *     elif len(extSemArray) == 1:             # <<<<<<<<<<<<<<
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cyparamsArray = NULL
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":33286
 *     elif len(extSemArray) == 1:
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cyparamsArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
*/
  __pyx_v_cyparamsArray = NULL;

  /* "cuda/bindings/driver.pyx":33287
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cyparamsArray = NULL
 *     if len(paramsArray) > 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cyparamsArray is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33287, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33288
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cyparamsArray = NULL
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33288, __pyx_L1_error)
    __pyx_v_cyparamsArray = ((CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)calloc(__pyx_t_8, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));

    /* "cuda/bindings/driver.pyx":33289
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cyparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *         for idx in range(len(paramsArray)):
*/
    __pyx_t_1 = (__pyx_v_cyparamsArray == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":33290
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33290, __pyx_L1_error)
      __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33290, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 33290, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33289
 *     if len(paramsArray) > 1:
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cyparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *         for idx in range(len(paramsArray)):
*/
    }

    /* "cuda/bindings/driver.pyx":33291
 *         if cyparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *         for idx in range(len(paramsArray)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *     elif len(paramsArray) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33291, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":33292
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_paramsArray, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cyparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":33287
 *         cyextSemArray = <cydriver.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._pvt_ptr
 *     cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cyparamsArray = NULL
 *     if len(paramsArray) > 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = <cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cyparamsArray is NULL:
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":33293
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *     elif len(paramsArray) == 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._pvt_ptr
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33293, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33294
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_paramsArray, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cyparamsArray = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":33293
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cyparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._pvt_ptr, sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *     elif len(paramsArray) == 1:             # <<<<<<<<<<<<<<
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._pvt_ptr
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
*/
  }
  __pyx_L10:;

  /* "cuda/bindings/driver.pyx":33295
 *     elif len(paramsArray) == 1:
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._pvt_ptr
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))             # <<<<<<<<<<<<<<
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33295, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_8);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_9 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_4 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33295, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 33295, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33296
 *         cyparamsArray = (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._pvt_ptr
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuWaitExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33296, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_8);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_2 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33296, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33296, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 33296, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33297
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuWaitExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33298
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     with nogil:
 *         err = cydriver.cuWaitExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
 *         free(cyextSemArray)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuWaitExternalSemaphoresAsync(__pyx_v_cyextSemArray, __pyx_v_cyparamsArray, __pyx_v_numExtSems, __pyx_v_cystream); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33298, __pyx_L17_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":33297
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuWaitExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L18;
        }
        __pyx_L17_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L18:;
      }
  }

  /* "cuda/bindings/driver.pyx":33299
 *     with nogil:
 *         err = cydriver.cuWaitExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33299, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {
  } else {
    __pyx_t_1 = __pyx_t_7;
    goto __pyx_L20_bool_binop_done;
  }
  __pyx_t_7 = (__pyx_v_cyextSemArray != NULL);
  __pyx_t_1 = __pyx_t_7;
  __pyx_L20_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33300
 *         err = cydriver.cuWaitExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
 *         free(cyextSemArray)             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)
*/
    free(__pyx_v_cyextSemArray);

    /* "cuda/bindings/driver.pyx":33299
 *     with nogil:
 *         err = cydriver.cuWaitExternalSemaphoresAsync(cyextSemArray, cyparamsArray, numExtSems, cystream)
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":33301
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyparamsArray)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33301, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {
  } else {
    __pyx_t_1 = __pyx_t_7;
    goto __pyx_L23_bool_binop_done;
  }
  __pyx_t_7 = (__pyx_v_cyparamsArray != NULL);
  __pyx_t_1 = __pyx_t_7;
  __pyx_L23_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33302
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyparamsArray);

    /* "cuda/bindings/driver.pyx":33301
 *     if len(extSemArray) > 1 and cyextSemArray is not NULL:
 *         free(cyextSemArray)
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyparamsArray)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":33303
 *     if len(paramsArray) > 1 and cyparamsArray is not NULL:
 *         free(cyparamsArray)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 33303, __pyx_L1_error);
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33178
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray : Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream):
 *     """ Waits on a set of external semaphore objects.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuWaitExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_2generator142);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_5generator143);
  __Pyx_XDECREF(__pyx_v_extSemArray);
  __Pyx_XDECREF(__pyx_v_paramsArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33305
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalSemaphore(extSem):
 *     """ Destroys an external semaphore.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_493cuDestroyExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_492cuDestroyExternalSemaphore, "cuDestroyExternalSemaphore(extSem)\n\nDestroys an external semaphore.\n\nDestroys an external semaphore object and releases any references to\nthe underlying resource. Any outstanding signals or waits must have\ncompleted before the semaphore is destroyed.\n\nParameters\n----------\nextSem : :py:obj:`~.CUexternalSemaphore`\n    External semaphore to be destroyed\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_493cuDestroyExternalSemaphore = {"cuDestroyExternalSemaphore", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_493cuDestroyExternalSemaphore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_492cuDestroyExternalSemaphore};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_493cuDestroyExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_extSem = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDestroyExternalSemaphore (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_extSem,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33305, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33305, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDestroyExternalSemaphore", 0) < (0)) __PYX_ERR(0, 33305, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDestroyExternalSemaphore", 1, 1, 1, i); __PYX_ERR(0, 33305, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33305, __pyx_L3_error)
    }
    __pyx_v_extSem = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDestroyExternalSemaphore", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 33305, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDestroyExternalSemaphore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_492cuDestroyExternalSemaphore(__pyx_self, __pyx_v_extSem);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_492cuDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSem) {
  CUexternalSemaphore __pyx_v_cyextSem;
  PyObject *__pyx_v_pextSem = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDestroyExternalSemaphore", 0);

  /* "cuda/bindings/driver.pyx":33328
 *     """
 *     cdef cydriver.CUexternalSemaphore cyextSem
 *     if extSem is None:             # <<<<<<<<<<<<<<
 *         pextSem = 0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
*/
  __pyx_t_1 = (__pyx_v_extSem == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33329
 *     cdef cydriver.CUexternalSemaphore cyextSem
 *     if extSem is None:
 *         pextSem = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
 *         pextSem = int(extSem)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pextSem = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33328
 *     """
 *     cdef cydriver.CUexternalSemaphore cyextSem
 *     if extSem is None:             # <<<<<<<<<<<<<<
 *         pextSem = 0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33330
 *     if extSem is None:
 *         pextSem = 0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):             # <<<<<<<<<<<<<<
 *         pextSem = int(extSem)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_extSem, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33331
 *         pextSem = 0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
 *         pextSem = int(extSem)             # <<<<<<<<<<<<<<
 *     else:
 *         pextSem = int(CUexternalSemaphore(extSem))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_extSem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextSem = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33330
 *     if extSem is None:
 *         pextSem = 0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):             # <<<<<<<<<<<<<<
 *         pextSem = int(extSem)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33333
 *         pextSem = int(extSem)
 *     else:
 *         pextSem = int(CUexternalSemaphore(extSem))             # <<<<<<<<<<<<<<
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_extSem};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33333, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextSem = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33334
 *     else:
 *         pextSem = int(CUexternalSemaphore(extSem))
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pextSem); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33334, __pyx_L1_error)
  __pyx_v_cyextSem = ((CUexternalSemaphore)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33335
 *         pextSem = int(CUexternalSemaphore(extSem))
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33336
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem
 *     with nogil:
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDestroyExternalSemaphore(__pyx_v_cyextSem); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33336, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33335
 *         pextSem = int(CUexternalSemaphore(extSem))
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33337
 *     with nogil:
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 33337, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33305
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalSemaphore(extSem):
 *     """ Destroys an external semaphore.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDestroyExternalSemaphore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pextSem);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33339
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue32(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_495cuStreamWaitValue32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_494cuStreamWaitValue32, "cuStreamWaitValue32(stream, addr, value, unsigned int flags)\n\nWait on a memory location.\n\nEnqueues a synchronization of the stream on the given memory location.\nWork ordered after the operation will block until the given condition\non the memory is satisfied. By default, the condition is to wait for\n(int32_t)(*addr - value) >= 0, a cyclic greater-or-equal. Other\ncondition types can be specified via `flags`.\n\nIf the memory was registered via :py:obj:`~.cuMemHostRegister()`, the\ndevice pointer should be obtained with\n:py:obj:`~.cuMemHostGetDevicePointer()`. This function cannot be used\nwith managed memory (:py:obj:`~.cuMemAllocManaged`).\n\nSupport for CU_STREAM_WAIT_VALUE_NOR can be queried with\n:py:obj:`~.cuDeviceGetAttribute()` and\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V2`.\n\nParameters\n----------\nstream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to synchronize on the memory location.\naddr : :py:obj:`~.CUdeviceptr`\n    The memory location to wait on.\nvalue : Any\n    The value to compare with the memory location.\nflags : unsigned int\n    See :py:obj:`~.CUstreamWaitValue_flags`.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuStreamWaitEvent`\n\nNotes\n-----\nWarning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_495cuStreamWaitValue32 = {"cuStreamWaitValue32", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_495cuStreamWaitValue32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_494cuStreamWaitValue32};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_495cuStreamWaitValue32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_addr = 0;
  PyObject *__pyx_v_value = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamWaitValue32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_stream,&__pyx_mstate_global->__pyx_n_u_addr,&__pyx_mstate_global->__pyx_n_u_value,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33339, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33339, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33339, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33339, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33339, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamWaitValue32", 0) < (0)) __PYX_ERR(0, 33339, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue32", 1, 4, 4, i); __PYX_ERR(0, 33339, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33339, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33339, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33339, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33339, __pyx_L3_error)
    }
    __pyx_v_stream = values[0];
    __pyx_v_addr = values[1];
    __pyx_v_value = values[2];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33340, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue32", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33339, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWaitValue32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_494cuStreamWaitValue32(__pyx_self, __pyx_v_stream, __pyx_v_addr, __pyx_v_value, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_494cuStreamWaitValue32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_addr, PyObject *__pyx_v_value, unsigned int __pyx_v_flags) {
  cuuint32_t __pyx_v_cyvalue;
  PyObject *__pyx_v_pvalue = NULL;
  CUdeviceptr __pyx_v_cyaddr;
  PyObject *__pyx_v_paddr = NULL;
  CUstream __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWaitValue32", 0);

  /* "cuda/bindings/driver.pyx":33383
 *     """
 *     cdef cydriver.cuuint32_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):
*/
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33384
 *     cdef cydriver.cuuint32_t cyvalue
 *     if value is None:
 *         pvalue = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pvalue = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33383
 *     """
 *     cdef cydriver.cuuint32_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33385
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33386
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)             # <<<<<<<<<<<<<<
 *     else:
 *         pvalue = int(cuuint32_t(value))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33385
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33388
 *         pvalue = int(value)
 *     else:
 *         pvalue = int(cuuint32_t(value))             # <<<<<<<<<<<<<<
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33388, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33389
 *     else:
 *         pvalue = int(cuuint32_t(value))
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33389, __pyx_L1_error)
  __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33391
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33392
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
 *         paddr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_paddr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33391
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33393
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33394
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_paddr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":33393
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33396
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33396, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":33397
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33397, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33399
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33400
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33399
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33401
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33402
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33401
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33404
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_stream};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33404, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":33405
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue32(cystream, cyaddr, cyvalue, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33405, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33406
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWaitValue32(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33407
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue32(cystream, cyaddr, cyvalue, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitValue32(__pyx_v_cystream, __pyx_v_cyaddr, __pyx_v_cyvalue, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33407, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33406
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWaitValue32(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":33408
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue32(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 33408, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33339
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue32(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWaitValue32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue);
  __Pyx_XDECREF(__pyx_v_paddr);
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33410
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue64(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_497cuStreamWaitValue64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_496cuStreamWaitValue64, "cuStreamWaitValue64(stream, addr, value, unsigned int flags)\n\nWait on a memory location.\n\nEnqueues a synchronization of the stream on the given memory location.\nWork ordered after the operation will block until the given condition\non the memory is satisfied. By default, the condition is to wait for\n(int64_t)(*addr - value) >= 0, a cyclic greater-or-equal. Other\ncondition types can be specified via `flags`.\n\nIf the memory was registered via :py:obj:`~.cuMemHostRegister()`, the\ndevice pointer should be obtained with\n:py:obj:`~.cuMemHostGetDevicePointer()`.\n\nSupport for this can be queried with :py:obj:`~.cuDeviceGetAttribute()`\nand :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS`.\n\nParameters\n----------\nstream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to synchronize on the memory location.\naddr : :py:obj:`~.CUdeviceptr`\n    The memory location to wait on.\nvalue : Any\n    The value to compare with the memory location.\nflags : unsigned int\n    See :py:obj:`~.CUstreamWaitValue_flags`.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuStreamWaitEvent`\n\nNotes\n-----\nWarning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_497cuStreamWaitValue64 = {"cuStreamWaitValue64", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_497cuStreamWaitValue64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_496cuStreamWaitValue64};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_497cuStreamWaitValue64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_addr = 0;
  PyObject *__pyx_v_value = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamWaitValue64 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_stream,&__pyx_mstate_global->__pyx_n_u_addr,&__pyx_mstate_global->__pyx_n_u_value,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33410, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33410, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33410, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33410, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33410, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamWaitValue64", 0) < (0)) __PYX_ERR(0, 33410, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue64", 1, 4, 4, i); __PYX_ERR(0, 33410, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33410, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33410, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33410, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33410, __pyx_L3_error)
    }
    __pyx_v_stream = values[0];
    __pyx_v_addr = values[1];
    __pyx_v_value = values[2];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33411, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue64", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33410, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWaitValue64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_496cuStreamWaitValue64(__pyx_self, __pyx_v_stream, __pyx_v_addr, __pyx_v_value, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_496cuStreamWaitValue64(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_addr, PyObject *__pyx_v_value, unsigned int __pyx_v_flags) {
  cuuint64_t __pyx_v_cyvalue;
  PyObject *__pyx_v_pvalue = NULL;
  CUdeviceptr __pyx_v_cyaddr;
  PyObject *__pyx_v_paddr = NULL;
  CUstream __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWaitValue64", 0);

  /* "cuda/bindings/driver.pyx":33452
 *     """
 *     cdef cydriver.cuuint64_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):
*/
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33453
 *     cdef cydriver.cuuint64_t cyvalue
 *     if value is None:
 *         pvalue = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pvalue = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33452
 *     """
 *     cdef cydriver.cuuint64_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33454
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33455
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)             # <<<<<<<<<<<<<<
 *     else:
 *         pvalue = int(cuuint64_t(value))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33454
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33457
 *         pvalue = int(value)
 *     else:
 *         pvalue = int(cuuint64_t(value))             # <<<<<<<<<<<<<<
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33457, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33458
 *     else:
 *         pvalue = int(cuuint64_t(value))
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33458, __pyx_L1_error)
  __pyx_v_cyvalue = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33460
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33461
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
 *         paddr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_paddr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33460
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33462
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33463
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_paddr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":33462
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33465
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33465, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":33466
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33466, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33468
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33469
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33468
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33470
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33471
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33470
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33473
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_stream};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33473, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":33474
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue64(cystream, cyaddr, cyvalue, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33474, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33475
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWaitValue64(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33476
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue64(cystream, cyaddr, cyvalue, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitValue64(__pyx_v_cystream, __pyx_v_cyaddr, __pyx_v_cyvalue, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33476, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33475
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWaitValue64(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":33477
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue64(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 33477, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33410
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue64(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWaitValue64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue);
  __Pyx_XDECREF(__pyx_v_paddr);
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33479
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue32(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_499cuStreamWriteValue32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_498cuStreamWriteValue32, "cuStreamWriteValue32(stream, addr, value, unsigned int flags)\n\nWrite a value to memory.\n\nWrite a value to memory.\n\nIf the memory was registered via :py:obj:`~.cuMemHostRegister()`, the\ndevice pointer should be obtained with\n:py:obj:`~.cuMemHostGetDevicePointer()`. This function cannot be used\nwith managed memory (:py:obj:`~.cuMemAllocManaged`).\n\nParameters\n----------\nstream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to do the write in.\naddr : :py:obj:`~.CUdeviceptr`\n    The device address to write to.\nvalue : Any\n    The value to write.\nflags : unsigned int\n    See :py:obj:`~.CUstreamWriteValue_flags`.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuEventRecord`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_499cuStreamWriteValue32 = {"cuStreamWriteValue32", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_499cuStreamWriteValue32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_498cuStreamWriteValue32};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_499cuStreamWriteValue32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_addr = 0;
  PyObject *__pyx_v_value = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamWriteValue32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_stream,&__pyx_mstate_global->__pyx_n_u_addr,&__pyx_mstate_global->__pyx_n_u_value,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33479, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33479, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33479, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33479, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33479, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamWriteValue32", 0) < (0)) __PYX_ERR(0, 33479, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue32", 1, 4, 4, i); __PYX_ERR(0, 33479, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33479, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33479, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33479, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33479, __pyx_L3_error)
    }
    __pyx_v_stream = values[0];
    __pyx_v_addr = values[1];
    __pyx_v_value = values[2];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33480, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue32", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33479, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWriteValue32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_498cuStreamWriteValue32(__pyx_self, __pyx_v_stream, __pyx_v_addr, __pyx_v_value, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_498cuStreamWriteValue32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_addr, PyObject *__pyx_v_value, unsigned int __pyx_v_flags) {
  cuuint32_t __pyx_v_cyvalue;
  PyObject *__pyx_v_pvalue = NULL;
  CUdeviceptr __pyx_v_cyaddr;
  PyObject *__pyx_v_paddr = NULL;
  CUstream __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWriteValue32", 0);

  /* "cuda/bindings/driver.pyx":33511
 *     """
 *     cdef cydriver.cuuint32_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):
*/
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33512
 *     cdef cydriver.cuuint32_t cyvalue
 *     if value is None:
 *         pvalue = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pvalue = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33511
 *     """
 *     cdef cydriver.cuuint32_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33513
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33514
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)             # <<<<<<<<<<<<<<
 *     else:
 *         pvalue = int(cuuint32_t(value))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33513
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33516
 *         pvalue = int(value)
 *     else:
 *         pvalue = int(cuuint32_t(value))             # <<<<<<<<<<<<<<
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33516, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33517
 *     else:
 *         pvalue = int(cuuint32_t(value))
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33517, __pyx_L1_error)
  __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33519
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33520
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
 *         paddr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_paddr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33519
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33521
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33522
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_paddr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":33521
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33524
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33524, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":33525
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33525, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33527
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33528
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33527
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33529
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33530
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33529
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33532
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_stream};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33532, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":33533
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue32(cystream, cyaddr, cyvalue, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33533, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33534
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWriteValue32(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33535
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue32(cystream, cyaddr, cyvalue, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWriteValue32(__pyx_v_cystream, __pyx_v_cyaddr, __pyx_v_cyvalue, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33535, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33534
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWriteValue32(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":33536
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue32(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 33536, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33479
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue32(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWriteValue32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue);
  __Pyx_XDECREF(__pyx_v_paddr);
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33538
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue64(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_501cuStreamWriteValue64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_500cuStreamWriteValue64, "cuStreamWriteValue64(stream, addr, value, unsigned int flags)\n\nWrite a value to memory.\n\nWrite a value to memory.\n\nIf the memory was registered via :py:obj:`~.cuMemHostRegister()`, the\ndevice pointer should be obtained with\n:py:obj:`~.cuMemHostGetDevicePointer()`.\n\nSupport for this can be queried with :py:obj:`~.cuDeviceGetAttribute()`\nand :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS`.\n\nParameters\n----------\nstream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to do the write in.\naddr : :py:obj:`~.CUdeviceptr`\n    The device address to write to.\nvalue : Any\n    The value to write.\nflags : unsigned int\n    See :py:obj:`~.CUstreamWriteValue_flags`.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuEventRecord`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_501cuStreamWriteValue64 = {"cuStreamWriteValue64", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_501cuStreamWriteValue64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_500cuStreamWriteValue64};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_501cuStreamWriteValue64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_addr = 0;
  PyObject *__pyx_v_value = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamWriteValue64 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_stream,&__pyx_mstate_global->__pyx_n_u_addr,&__pyx_mstate_global->__pyx_n_u_value,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33538, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamWriteValue64", 0) < (0)) __PYX_ERR(0, 33538, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue64", 1, 4, 4, i); __PYX_ERR(0, 33538, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33538, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33538, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33538, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33538, __pyx_L3_error)
    }
    __pyx_v_stream = values[0];
    __pyx_v_addr = values[1];
    __pyx_v_value = values[2];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33539, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue64", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33538, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWriteValue64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_500cuStreamWriteValue64(__pyx_self, __pyx_v_stream, __pyx_v_addr, __pyx_v_value, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_500cuStreamWriteValue64(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_addr, PyObject *__pyx_v_value, unsigned int __pyx_v_flags) {
  cuuint64_t __pyx_v_cyvalue;
  PyObject *__pyx_v_pvalue = NULL;
  CUdeviceptr __pyx_v_cyaddr;
  PyObject *__pyx_v_paddr = NULL;
  CUstream __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWriteValue64", 0);

  /* "cuda/bindings/driver.pyx":33572
 *     """
 *     cdef cydriver.cuuint64_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):
*/
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33573
 *     cdef cydriver.cuuint64_t cyvalue
 *     if value is None:
 *         pvalue = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pvalue = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33572
 *     """
 *     cdef cydriver.cuuint64_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33574
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33575
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)             # <<<<<<<<<<<<<<
 *     else:
 *         pvalue = int(cuuint64_t(value))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33574
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33577
 *         pvalue = int(value)
 *     else:
 *         pvalue = int(cuuint64_t(value))             # <<<<<<<<<<<<<<
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33577, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33578
 *     else:
 *         pvalue = int(cuuint64_t(value))
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33578, __pyx_L1_error)
  __pyx_v_cyvalue = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33580
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33581
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
 *         paddr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_paddr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33580
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33582
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33583
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_paddr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":33582
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33585
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33585, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":33586
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33586, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33588
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33589
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33588
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33590
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33591
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33590
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33593
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_stream};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33593, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":33594
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue64(cystream, cyaddr, cyvalue, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33594, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33595
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWriteValue64(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33596
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue64(cystream, cyaddr, cyvalue, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWriteValue64(__pyx_v_cystream, __pyx_v_cyaddr, __pyx_v_cyvalue, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33596, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33595
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamWriteValue64(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":33597
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue64(cystream, cyaddr, cyvalue, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 33597, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33538
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue64(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamWriteValue64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue);
  __Pyx_XDECREF(__pyx_v_paddr);
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33599
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[tuple[CUstreamBatchMemOpParams] | list[CUstreamBatchMemOpParams]], unsigned int flags):
 *     """ Batch operations to synchronize the stream via memory operations.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_503cuStreamBatchMemOp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_502cuStreamBatchMemOp, "cuStreamBatchMemOp(stream, unsigned int count, paramArray: Optional[tuple[CUstreamBatchMemOpParams] | list[CUstreamBatchMemOpParams]], unsigned int flags)\n\nBatch operations to synchronize the stream via memory operations.\n\nThis is a batch version of :py:obj:`~.cuStreamWaitValue32()` and\n:py:obj:`~.cuStreamWriteValue32()`. Batching operations may avoid some\nperformance overhead in both the API call and the device execution\nversus adding them to the stream in separate API calls. The operations\nare enqueued in the order they appear in the array.\n\nSee :py:obj:`~.CUstreamBatchMemOpType` for the full set of supported\noperations, and :py:obj:`~.cuStreamWaitValue32()`,\n:py:obj:`~.cuStreamWaitValue64()`, :py:obj:`~.cuStreamWriteValue32()`,\nand :py:obj:`~.cuStreamWriteValue64()` for details of specific\noperations.\n\nSee related APIs for details on querying support for specific\noperations.\n\nParameters\n----------\nstream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    The stream to enqueue the operations in.\ncount : unsigned int\n    The number of operations in the array. Must be less than 256.\nparamArray : list[:py:obj:`~.CUstreamBatchMemOpParams`]\n    The types and parameters of the individual operations.\nflags : unsigned int\n    Reserved for future expansion; must be 0.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuMemHostRegister`\n\nNotes\n-----\nWarning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an"" improper order. For more information, see the Stream Memory Operations section in the programming guide(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html).");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_503cuStreamBatchMemOp = {"cuStreamBatchMemOp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_503cuStreamBatchMemOp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_502cuStreamBatchMemOp};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_503cuStreamBatchMemOp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_stream = 0;
  unsigned int __pyx_v_count;
  PyObject *__pyx_v_paramArray = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamBatchMemOp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_stream,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_paramArray_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33599, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamBatchMemOp", 0) < (0)) __PYX_ERR(0, 33599, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamBatchMemOp", 1, 4, 4, i); __PYX_ERR(0, 33599, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33599, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33599, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33599, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33599, __pyx_L3_error)
    }
    __pyx_v_stream = values[0];
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33600, __pyx_L3_error)
    __pyx_v_paramArray = values[2];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33600, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamBatchMemOp", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33599, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBatchMemOp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_502cuStreamBatchMemOp(__pyx_self, __pyx_v_stream, __pyx_v_count, __pyx_v_paramArray, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuStreamBatchMemOp_2generator144(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33643
 *     """
 *     paramArray = [] if paramArray is None else paramArray
 *     if not all(isinstance(_x, (CUstreamBatchMemOpParams,)) for _x in paramArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]")
 *     cdef cydriver.CUstream cystream
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuStreamBatchMemOp_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 33643, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuStreamBatchMemOp_2generator144, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[144]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuStreamBatchMemOp_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33643, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBatchMemOp.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuStreamBatchMemOp_2generator144(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 33643, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33643, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33643, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33643, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 33643, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33643, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 33643, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33599
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[tuple[CUstreamBatchMemOpParams] | list[CUstreamBatchMemOpParams]], unsigned int flags):
 *     """ Batch operations to synchronize the stream via memory operations.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_502cuStreamBatchMemOp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, unsigned int __pyx_v_count, PyObject *__pyx_v_paramArray, unsigned int __pyx_v_flags) {
  CUstream __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  CUstreamBatchMemOpParams *__pyx_v_cyparamArray;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuStreamBatchMemOp_2generator144 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  union CUstreamBatchMemOpParams_union *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamBatchMemOp", 0);
  __Pyx_INCREF(__pyx_v_paramArray);

  /* "cuda/bindings/driver.pyx":33642
 *     Warning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order. For more information, see the Stream Memory Operations section in the programming guide(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html).
 *     """
 *     paramArray = [] if paramArray is None else paramArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUstreamBatchMemOpParams,)) for _x in paramArray):
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]")
*/
  __pyx_t_2 = (__pyx_v_paramArray == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramArray);
    __pyx_t_1 = __pyx_v_paramArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramArray, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":33643
 *     """
 *     paramArray = [] if paramArray is None else paramArray
 *     if not all(isinstance(_x, (CUstreamBatchMemOpParams,)) for _x in paramArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]")
 *     cdef cydriver.CUstream cystream
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_18cuStreamBatchMemOp_genexpr(NULL, __pyx_v_paramArray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 33643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":33644
 *     paramArray = [] if paramArray is None else paramArray
 *     if not all(isinstance(_x, (CUstreamBatchMemOpParams,)) for _x in paramArray):
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_paramArray_is_not_insta};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 33644, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33643
 *     """
 *     paramArray = [] if paramArray is None else paramArray
 *     if not all(isinstance(_x, (CUstreamBatchMemOpParams,)) for _x in paramArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]")
 *     cdef cydriver.CUstream cystream
*/
  }

  /* "cuda/bindings/driver.pyx":33646
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]")
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
  __pyx_t_4 = (__pyx_v_stream == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":33647
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33646
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected tuple[cydriver.CUstreamBatchMemOpParams,] or list[cydriver.CUstreamBatchMemOpParams,]")
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33648
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":33649
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33648
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33651
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_stream};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33651, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":33652
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 *     cdef cydriver.CUstreamBatchMemOpParams* cyparamArray = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33652, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":33653
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamBatchMemOpParams* cyparamArray = NULL
 *     if len(paramArray) > 1:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33653, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > __pyx_t_8);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_5 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33653, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33653, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 33653, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33654
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 *     cdef cydriver.CUstreamBatchMemOpParams* cyparamArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramArray) > 1:
 *         cyparamArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(cydriver.CUstreamBatchMemOpParams))
*/
  __pyx_v_cyparamArray = NULL;

  /* "cuda/bindings/driver.pyx":33655
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 *     cdef cydriver.CUstreamBatchMemOpParams* cyparamArray = NULL
 *     if len(paramArray) > 1:             # <<<<<<<<<<<<<<
 *         cyparamArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(cydriver.CUstreamBatchMemOpParams))
 *         if cyparamArray is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33655, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":33656
 *     cdef cydriver.CUstreamBatchMemOpParams* cyparamArray = NULL
 *     if len(paramArray) > 1:
 *         cyparamArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(cydriver.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 *         if cyparamArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33656, __pyx_L1_error)
    __pyx_v_cyparamArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_8, (sizeof(CUstreamBatchMemOpParams))));

    /* "cuda/bindings/driver.pyx":33657
 *     if len(paramArray) > 1:
 *         cyparamArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(cydriver.CUstreamBatchMemOpParams))
 *         if cyparamArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *         for idx in range(len(paramArray)):
*/
    __pyx_t_4 = (__pyx_v_cyparamArray == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":33658
 *         cyparamArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(cydriver.CUstreamBatchMemOpParams))
 *         if cyparamArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramArray)):
 *             string.memcpy(&cyparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33658, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 33658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33658, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 33658, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33657
 *     if len(paramArray) > 1:
 *         cyparamArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(cydriver.CUstreamBatchMemOpParams))
 *         if cyparamArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *         for idx in range(len(paramArray)):
*/
    }

    /* "cuda/bindings/driver.pyx":33659
 *         if cyparamArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *         for idx in range(len(paramArray)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 *     elif len(paramArray) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33659, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":33660
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(cydriver.CUstreamBatchMemOpParams)))
 *         for idx in range(len(paramArray)):
 *             string.memcpy(&cyparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 *     elif len(paramArray) == 1:
 *         cyparamArray = (<CUstreamBatchMemOpParams>paramArray[0])._pvt_ptr
*/
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_paramArray, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cyparamArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams *)__pyx_t_1)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUstreamBatchMemOpParams))));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "cuda/bindings/driver.pyx":33655
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 *     cdef cydriver.CUstreamBatchMemOpParams* cyparamArray = NULL
 *     if len(paramArray) > 1:             # <<<<<<<<<<<<<<
 *         cyparamArray = <cydriver.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(cydriver.CUstreamBatchMemOpParams))
 *         if cyparamArray is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":33661
 *         for idx in range(len(paramArray)):
 *             string.memcpy(&cyparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 *     elif len(paramArray) == 1:             # <<<<<<<<<<<<<<
 *         cyparamArray = (<CUstreamBatchMemOpParams>paramArray[0])._pvt_ptr
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33661, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":33662
 *             string.memcpy(&cyparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 *     elif len(paramArray) == 1:
 *         cyparamArray = (<CUstreamBatchMemOpParams>paramArray[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamBatchMemOp(cystream, count, cyparamArray, flags)
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_paramArray, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams *)__pyx_t_1)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cyparamArray = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":33661
 *         for idx in range(len(paramArray)):
 *             string.memcpy(&cyparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._pvt_ptr, sizeof(cydriver.CUstreamBatchMemOpParams))
 *     elif len(paramArray) == 1:             # <<<<<<<<<<<<<<
 *         cyparamArray = (<CUstreamBatchMemOpParams>paramArray[0])._pvt_ptr
 *     with nogil:
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":33663
 *     elif len(paramArray) == 1:
 *         cyparamArray = (<CUstreamBatchMemOpParams>paramArray[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamBatchMemOp(cystream, count, cyparamArray, flags)
 *     if len(paramArray) > 1 and cyparamArray is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33664
 *         cyparamArray = (<CUstreamBatchMemOpParams>paramArray[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuStreamBatchMemOp(cystream, count, cyparamArray, flags)             # <<<<<<<<<<<<<<
 *     if len(paramArray) > 1 and cyparamArray is not NULL:
 *         free(cyparamArray)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamBatchMemOp(__pyx_v_cystream, __pyx_v_count, __pyx_v_cyparamArray, __pyx_v_flags); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33664, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":33663
 *     elif len(paramArray) == 1:
 *         cyparamArray = (<CUstreamBatchMemOpParams>paramArray[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamBatchMemOp(cystream, count, cyparamArray, flags)
 *     if len(paramArray) > 1 and cyparamArray is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":33665
 *     with nogil:
 *         err = cydriver.cuStreamBatchMemOp(cystream, count, cyparamArray, flags)
 *     if len(paramArray) > 1 and cyparamArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyparamArray)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33665, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyparamArray != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":33666
 *         err = cydriver.cuStreamBatchMemOp(cystream, count, cyparamArray, flags)
 *     if len(paramArray) > 1 and cyparamArray is not NULL:
 *         free(cyparamArray)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyparamArray);

    /* "cuda/bindings/driver.pyx":33665
 *     with nogil:
 *         err = cydriver.cuStreamBatchMemOp(cystream, count, cyparamArray, flags)
 *     if len(paramArray) > 1 and cyparamArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyparamArray)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":33667
 *     if len(paramArray) > 1 and cyparamArray is not NULL:
 *         free(cyparamArray)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 33667, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33599
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[tuple[CUstreamBatchMemOpParams] | list[CUstreamBatchMemOpParams]], unsigned int flags):
 *     """ Batch operations to synchronize the stream via memory operations.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamBatchMemOp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuStreamBatchMemOp_2generator144);
  __Pyx_XDECREF(__pyx_v_paramArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33669
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetAttribute(attrib not None : CUfunction_attribute, hfunc):
 *     """ Returns information about a function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_505cuFuncGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_504cuFuncGetAttribute, "cuFuncGetAttribute(attrib: CUfunction_attribute, hfunc)\n\nReturns information about a function.\n\nReturns in `*pi` the integer value of the attribute `attrib` on the\nkernel given by `hfunc`. The supported attributes are:\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK`: The maximum\n  number of threads per block, beyond which a launch of the function\n  would fail. This number depends on both the function and the device\n  on which the function is currently loaded.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES`: The size in bytes of\n  statically-allocated shared memory per block required by this\n  function. This does not include dynamically-allocated shared memory\n  requested by the user at runtime.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES`: The size in bytes of\n  user-allocated constant memory required by this function.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES`: The size in bytes of\n  local memory used by each thread of this function.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_NUM_REGS`: The number of registers used\n  by each thread of this function.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_PTX_VERSION`: The PTX virtual\n  architecture version for which the function was compiled. This value\n  is the major PTX version * 10\n\n  - the minor PTX version, so a PTX version 1.3 function would return\n    the value 13. Note that this may return the undefined value of 0\n    for cubins compiled prior to CUDA 3.0.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_BINARY_VERSION`: The binary architecture\n  version for which the function was compiled. This value is the major\n  binary version * 10 + the minor binary version, so a binary version\n  1.3 function would return the value 13. Note that this will return a\n  value of 10 for legacy cubins that do not have a properly-encoded\n  binary architecture version.\n\n- :py:obj:`~.CU_FUNC_CACHE_MODE_CA`: The attribute to indicate whether\n  the function has been compiled with user specified option \"-Xptxas\n  --d""lcm=ca\" set .\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`: The\n  maximum size in bytes of dynamically-allocated shared memory.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT`:\n  Preferred shared memory-L1 cache split ratio in percent of total\n  shared memory.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET`: If this\n  attribute is set, the kernel must launch with a valid cluster size\n  specified.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH`: The required\n  cluster width in blocks.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT`: The required\n  cluster height in blocks.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH`: The required\n  cluster depth in blocks.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED`:\n  Indicates whether the function can be launched with non-portable\n  cluster size. 1 is allowed, 0 is disallowed. A non-portable cluster\n  size may only function on the specific SKUs the program is tested on.\n  The launch might fail if the program is run on a different hardware\n  platform. CUDA API provides cudaOccupancyMaxActiveClusters to assist\n  with checking whether the desired size can be launched on the current\n  device. A portable cluster size is guaranteed to be functional on all\n  compute capabilities higher than the target compute capability. The\n  portable cluster size for sm_90 is 8 blocks per cluster. This value\n  may increase for future compute capabilities. The specific hardware\n  unit may support higher cluster sizes that\342\200\231s not guaranteed to be\n  portable.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE`:\n  The block scheduling policy of a function. The value type is\n  CUclusterSchedulingPolicy.\n\nWith a few execeptions, function attributes may also be queried on\nunloaded function handles returned from\n:py:obj:`~.cuModuleEnumerateFunctions`.\n:py:obj:`~.CUDA_ERROR_FUNCTION_NOT_LOADED` ""is returned if the attribute\nrequires a fully loaded function but the function is not loaded. The\nloading state of a function may be queried using\n:py:obj:`~.cuFuncIsloaded`. :py:obj:`~.cuFuncLoad` may be called to\nexplicitly load a function before querying the following attributes\nthat require the function to be loaded:\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK`\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES`\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`\n\nParameters\n----------\nattrib : :py:obj:`~.CUfunction_attribute`\n    Attribute requested\nhfunc : :py:obj:`~.CUfunction`\n    Function to query attribute of\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_FUNCTION_NOT_LOADED`\npi : int\n    Returned attribute value\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cudaFuncGetAttributes`, :py:obj:`~.cudaFuncSetAttribute`, :py:obj:`~.cuFuncIsLoaded`, :py:obj:`~.cuFuncLoad`, :py:obj:`~.cuKernelGetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_505cuFuncGetAttribute = {"cuFuncGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_505cuFuncGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_504cuFuncGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_505cuFuncGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  PyObject *__pyx_v_hfunc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,&__pyx_mstate_global->__pyx_n_u_hfunc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33669, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33669, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33669, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncGetAttribute", 0) < (0)) __PYX_ERR(0, 33669, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncGetAttribute", 1, 2, 2, i); __PYX_ERR(0, 33669, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33669, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33669, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
    __pyx_v_hfunc = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncGetAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 33669, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 33670, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_504cuFuncGetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_hfunc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_504cuFuncGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_hfunc) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  int __pyx_v_pi;
  CUfunction_attribute __pyx_v_cyattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUfunction_attribute __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":33787
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33788
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33787
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33789
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33790
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33789
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33792
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef int pi = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33792, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33792, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33793
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33793, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33794
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef int pi = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
*/
  __pyx_v_pi = 0;

  /* "cuda/bindings/driver.pyx":33795
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncGetAttribute(&pi, cyattrib, cyhfunc)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUfunction_attribute_enum)__Pyx_PyLong_As_enum__CUfunction_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 33795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattrib = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":33796
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncGetAttribute(&pi, cyattrib, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33797
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
 *         err = cydriver.cuFuncGetAttribute(&pi, cyattrib, cyhfunc)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncGetAttribute((&__pyx_v_pi), __pyx_v_cyattrib, __pyx_v_cyhfunc); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33797, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":33796
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncGetAttribute(&pi, cyattrib, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33798
 *     with nogil:
 *         err = cydriver.cuFuncGetAttribute(&pi, cyattrib, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33799
 *         err = cydriver.cuFuncGetAttribute(&pi, cyattrib, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pi)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 33799, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 33799, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":33798
 *     with nogil:
 *         err = cydriver.cuFuncGetAttribute(&pi, cyattrib, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)
*/
  }

  /* "cuda/bindings/driver.pyx":33800
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pi)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 33800, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 33800, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33669
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetAttribute(attrib not None : CUfunction_attribute, hfunc):
 *     """ Returns information about a function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33802
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetAttribute(hfunc, attrib not None : CUfunction_attribute, int value):
 *     """ Sets information about a function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_507cuFuncSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_506cuFuncSetAttribute, "cuFuncSetAttribute(hfunc, attrib: CUfunction_attribute, int value)\n\nSets information about a function.\n\nThis call sets the value of a specified attribute `attrib` on the\nkernel given by `hfunc` to an integer value specified by `val` This\nfunction returns CUDA_SUCCESS if the new value of the attribute could\nbe successfully set. If the set fails, this call will return an error.\nNot all attributes can have values set. Attempting to set a value on a\nread-only attribute will result in an error (CUDA_ERROR_INVALID_VALUE)\n\nSupported attributes for the cuFuncSetAttribute call are:\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`: This\n  maximum size in bytes of dynamically-allocated shared memory. The\n  value should contain the requested maximum size of dynamically-\n  allocated shared memory. The sum of this value and the function\n  attribute :py:obj:`~.CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES` cannot\n  exceed the device attribute\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN`.\n  The maximal size of requestable dynamic shared memory may differ by\n  GPU architecture.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT`: On\n  devices where the L1 cache and shared memory use the same hardware\n  resources, this sets the shared memory carveout preference, in\n  percent of the total shared memory. See\n  :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR`\n  This is only a hint, and the driver can choose a different ratio if\n  required to execute the function.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH`: The required\n  cluster width in blocks. The width, height, and depth values must\n  either all be 0 or all be positive. The validity of the cluster\n  dimensions is checked at launch time. If the value is set during\n  compile time, it cannot be set at runtime. Setting it at runtime will\n  return CUDA_ERROR_NOT_PERMITTED.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT`"": The required\n  cluster height in blocks. The width, height, and depth values must\n  either all be 0 or all be positive. The validity of the cluster\n  dimensions is checked at launch time. If the value is set during\n  compile time, it cannot be set at runtime. Setting it at runtime will\n  return CUDA_ERROR_NOT_PERMITTED.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH`: The required\n  cluster depth in blocks. The width, height, and depth values must\n  either all be 0 or all be positive. The validity of the cluster\n  dimensions is checked at launch time. If the value is set during\n  compile time, it cannot be set at runtime. Setting it at runtime will\n  return CUDA_ERROR_NOT_PERMITTED.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED`:\n  Indicates whether the function can be launched with non-portable\n  cluster size. 1 is allowed, 0 is disallowed.\n\n- :py:obj:`~.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE`:\n  The block scheduling policy of a function. The value type is\n  CUclusterSchedulingPolicy.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Function to query attribute of\nattrib : :py:obj:`~.CUfunction_attribute`\n    Attribute requested\nvalue : int\n    The value to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cudaFuncGetAttributes`, :py:obj:`~.cudaFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_507cuFuncSetAttribute = {"cuFuncSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_507cuFuncSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_506cuFuncSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_507cuFuncSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  PyObject *__pyx_v_attrib = 0;
  int __pyx_v_value;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncSetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_attrib,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33802, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33802, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33802, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33802, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncSetAttribute", 0) < (0)) __PYX_ERR(0, 33802, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncSetAttribute", 1, 3, 3, i); __PYX_ERR(0, 33802, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33802, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33802, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33802, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_attrib = values[1];
    __pyx_v_value = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 33803, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 33802, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 33803, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_506cuFuncSetAttribute(__pyx_self, __pyx_v_hfunc, __pyx_v_attrib, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_506cuFuncSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_attrib, int __pyx_v_value) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUfunction_attribute __pyx_v_cyattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUfunction_attribute __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":33881
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33882
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33881
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33883
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33884
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33883
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33886
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33886, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33887
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33887, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33888
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncSetAttribute(cyhfunc, cyattrib, value)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUfunction_attribute_enum)__Pyx_PyLong_As_enum__CUfunction_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 33888, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattrib = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":33889
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetAttribute(cyhfunc, cyattrib, value)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33890
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
 *         err = cydriver.cuFuncSetAttribute(cyhfunc, cyattrib, value)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetAttribute(__pyx_v_cyhfunc, __pyx_v_cyattrib, __pyx_v_value); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33890, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":33889
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetAttribute(cyhfunc, cyattrib, value)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33891
 *     with nogil:
 *         err = cydriver.cuFuncSetAttribute(cyhfunc, cyattrib, value)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 33891, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33802
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetAttribute(hfunc, attrib not None : CUfunction_attribute, int value):
 *     """ Sets information about a function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33893
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetCacheConfig(hfunc, config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for a device function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_509cuFuncSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_508cuFuncSetCacheConfig, "cuFuncSetCacheConfig(hfunc, config: CUfunc_cache)\n\nSets the preferred cache configuration for a device function.\n\nOn devices where the L1 cache and shared memory use the same hardware\nresources, this sets through `config` the preferred cache configuration\nfor the device function `hfunc`. This is only a preference. The driver\nwill use the requested configuration if possible, but it is free to\nchoose a different configuration if required to execute `hfunc`. Any\ncontext-wide preference set via :py:obj:`~.cuCtxSetCacheConfig()` will\nbe overridden by this per-function setting unless the per-function\nsetting is :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE`. In that case, the\ncurrent context-wide setting will be used.\n\nThis setting does nothing on devices where the size of the L1 cache and\nshared memory are fixed.\n\nLaunching a kernel with a different preference than the most recent\npreference setting may insert a device-side synchronization point.\n\nThe supported cache configurations are:\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE`: no preference for shared\n  memory or L1 (default)\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_SHARED`: prefer larger shared memory\n  and smaller L1 cache\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_L1`: prefer larger L1 cache and\n  smaller shared memory\n\n- :py:obj:`~.CU_FUNC_CACHE_PREFER_EQUAL`: prefer equal sized L1 cache\n  and shared memory\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Kernel to configure cache for\nconfig : :py:obj:`~.CUfunc_cache`\n    Requested cache configuration\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cudaFuncSetCacheConfig`, :py:obj:`~.cuKernelSetCacheConfig`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_509cuFuncSetCacheConfig = {"cuFuncSetCacheConfig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_509cuFuncSetCacheConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_508cuFuncSetCacheConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_509cuFuncSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  PyObject *__pyx_v_config = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncSetCacheConfig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_config,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33893, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33893, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33893, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncSetCacheConfig", 0) < (0)) __PYX_ERR(0, 33893, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncSetCacheConfig", 1, 2, 2, i); __PYX_ERR(0, 33893, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33893, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33893, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_config = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetCacheConfig", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 33893, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_config) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "config"); __PYX_ERR(0, 33894, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_508cuFuncSetCacheConfig(__pyx_self, __pyx_v_hfunc, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_508cuFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUfunc_cache __pyx_v_cyconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUfunc_cache __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncSetCacheConfig", 0);

  /* "cuda/bindings/driver.pyx":33944
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33945
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33944
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33946
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33947
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33946
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33949
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33949, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33950
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33950, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33951
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUfunc_cache cyconfig = config.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncSetCacheConfig(cyhfunc, cyconfig)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUfunc_cache_enum)__Pyx_PyLong_As_enum__CUfunc_cache_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 33951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyconfig = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":33952
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetCacheConfig(cyhfunc, cyconfig)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33953
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:
 *         err = cydriver.cuFuncSetCacheConfig(cyhfunc, cyconfig)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetCacheConfig(__pyx_v_cyhfunc, __pyx_v_cyconfig); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33953, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":33952
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetCacheConfig(cyhfunc, cyconfig)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33954
 *     with nogil:
 *         err = cydriver.cuFuncSetCacheConfig(cyhfunc, cyconfig)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 33954, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33893
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetCacheConfig(hfunc, config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for a device function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33956
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetModule(hfunc):
 *     """ Returns a module handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_511cuFuncGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_510cuFuncGetModule, "cuFuncGetModule(hfunc)\n\nReturns a module handle.\n\nReturns in `*hmod` the handle of the module that function `hfunc` is\nlocated in. The lifetime of the module corresponds to the lifetime of\nthe context it was loaded in or until the module is explicitly\nunloaded.\n\nThe CUDA runtime manages its own modules loaded into the primary\ncontext. If the handle returned by this API refers to a module loaded\nby the CUDA runtime, calling :py:obj:`~.cuModuleUnload()` on that\nmodule will result in undefined behavior.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Function to retrieve module for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\nhmod : :py:obj:`~.CUmodule`\n    Returned module handle");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_511cuFuncGetModule = {"cuFuncGetModule", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_511cuFuncGetModule, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_510cuFuncGetModule};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_511cuFuncGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncGetModule (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33956, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncGetModule", 0) < (0)) __PYX_ERR(0, 33956, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncGetModule", 1, 1, 1, i); __PYX_ERR(0, 33956, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33956, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncGetModule", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 33956, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncGetModule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_510cuFuncGetModule(__pyx_self, __pyx_v_hfunc);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_510cuFuncGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_hmod = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncGetModule", 0);

  /* "cuda/bindings/driver.pyx":33983
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33984
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":33983
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33985
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33986
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33985
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33988
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef CUmodule hmod = CUmodule()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33988, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33989
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef CUmodule hmod = CUmodule()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33989, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":33990
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef CUmodule hmod = CUmodule()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncGetModule(<cydriver.CUmodule*>hmod._pvt_ptr, cyhfunc)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33990, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_hmod = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":33991
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef CUmodule hmod = CUmodule()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncGetModule(<cydriver.CUmodule*>hmod._pvt_ptr, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33992
 *     cdef CUmodule hmod = CUmodule()
 *     with nogil:
 *         err = cydriver.cuFuncGetModule(<cydriver.CUmodule*>hmod._pvt_ptr, cyhfunc)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncGetModule(((CUmodule *)__pyx_v_hmod->_pvt_ptr), __pyx_v_cyhfunc); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33992, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33991
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef CUmodule hmod = CUmodule()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncGetModule(<cydriver.CUmodule*>hmod._pvt_ptr, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33993
 *     with nogil:
 *         err = cydriver.cuFuncGetModule(<cydriver.CUmodule*>hmod._pvt_ptr, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], hmod)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33994
 *         err = cydriver.cuFuncGetModule(<cydriver.CUmodule*>hmod._pvt_ptr, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], hmod)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 33994, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 33994, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":33993
 *     with nogil:
 *         err = cydriver.cuFuncGetModule(<cydriver.CUmodule*>hmod._pvt_ptr, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], hmod)
*/
  }

  /* "cuda/bindings/driver.pyx":33995
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], hmod)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 33995, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_hmod);
  __Pyx_GIVEREF((PyObject *)__pyx_v_hmod);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_hmod)) != (0)) __PYX_ERR(0, 33995, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33956
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetModule(hfunc):
 *     """ Returns a module handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncGetModule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XDECREF((PyObject *)__pyx_v_hmod);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33997
 *     return (_dict_CUresult[err], hmod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUfunction` handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_513cuFuncGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_512cuFuncGetName, "cuFuncGetName(hfunc)\n\nReturns the function name for a :py:obj:`~.CUfunction` handle.\n\nReturns in `**name` the function name associated with the function\nhandle `hfunc` . The function name is returned as a null-terminated\nstring. The returned name is only valid when the function handle is\nvalid. If the module is unloaded or reloaded, one must call the API\nagain to get the updated name. This API may return a mangled name if\nthe function is not declared as having C linkage. If either `**name` or\n`hfunc` is NULL, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    The function handle to retrieve the name for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nname : bytes\n    The returned name of the function");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_513cuFuncGetName = {"cuFuncGetName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_513cuFuncGetName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_512cuFuncGetName};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_513cuFuncGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncGetName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 33997, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33997, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncGetName", 0) < (0)) __PYX_ERR(0, 33997, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncGetName", 1, 1, 1, i); __PYX_ERR(0, 33997, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33997, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncGetName", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 33997, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_512cuFuncGetName(__pyx_self, __pyx_v_hfunc);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_512cuFuncGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  char const *__pyx_v_name;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncGetName", 0);

  /* "cuda/bindings/driver.pyx":34022
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34023
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34022
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34024
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34025
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34024
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34027
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef const char* name = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34027, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34028
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef const char* name = NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34028, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34029
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef const char* name = NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncGetName(&name, cyhfunc)
*/
  __pyx_v_name = NULL;

  /* "cuda/bindings/driver.pyx":34030
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef const char* name = NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34031
 *     cdef const char* name = NULL
 *     with nogil:
 *         err = cydriver.cuFuncGetName(&name, cyhfunc)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncGetName((&__pyx_v_name), __pyx_v_cyhfunc); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34031, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34030
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef const char* name = NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34032
 *     with nogil:
 *         err = cydriver.cuFuncGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34033
 *         err = cydriver.cuFuncGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 34033, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 34033, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34032
 *     with nogil:
 *         err = cydriver.cuFuncGetName(&name, cyhfunc)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
*/
  }

  /* "cuda/bindings/driver.pyx":34034
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (__pyx_v_name != NULL);
  if (__pyx_t_1) {
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(((PyObject*)__pyx_t_2));
    __pyx_t_3 = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(Py_None);
    __pyx_t_3 = Py_None;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 34034, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 34034, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33997
 *     return (_dict_CUresult[err], hmod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUfunction` handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34036
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetParamInfo(func, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_515cuFuncGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_514cuFuncGetParamInfo, "cuFuncGetParamInfo(func, size_t paramIndex)\n\nReturns the offset and size of a kernel parameter in the device-side parameter layout.\n\nQueries the kernel parameter at `paramIndex` into `func's` list of\nparameters, and returns in `paramOffset` and `paramSize` the offset and\nsize, respectively, where the parameter will reside in the device-side\nparameter layout. This information can be used to update kernel node\nparameters from the device via\n:py:obj:`~.cudaGraphKernelNodeSetParam()` and\n:py:obj:`~.cudaGraphKernelNodeUpdatesApply()`. `paramIndex` must be\nless than the number of parameters that `func` takes. `paramSize` can\nbe set to NULL if only the parameter offset is desired.\n\nParameters\n----------\nfunc : :py:obj:`~.CUfunction`\n    The function to query\nparamIndex : size_t\n    The parameter index to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nparamOffset : int\n    Returns the offset into the device-side parameter layout at which\n    the parameter resides\nparamSize : int\n    Optionally returns the size of the parameter in the device-side\n    parameter layout\n\nSee Also\n--------\n:py:obj:`~.cuKernelGetParamInfo`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_515cuFuncGetParamInfo = {"cuFuncGetParamInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_515cuFuncGetParamInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_514cuFuncGetParamInfo};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_515cuFuncGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_func = 0;
  size_t __pyx_v_paramIndex;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncGetParamInfo (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_2,&__pyx_mstate_global->__pyx_n_u_paramIndex,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34036, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34036, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34036, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncGetParamInfo", 0) < (0)) __PYX_ERR(0, 34036, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncGetParamInfo", 1, 2, 2, i); __PYX_ERR(0, 34036, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34036, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34036, __pyx_L3_error)
    }
    __pyx_v_func = values[0];
    __pyx_v_paramIndex = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_paramIndex == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 34037, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncGetParamInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 34036, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncGetParamInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_514cuFuncGetParamInfo(__pyx_self, __pyx_v_func, __pyx_v_paramIndex);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_514cuFuncGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, size_t __pyx_v_paramIndex) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  size_t __pyx_v_paramOffset;
  size_t __pyx_v_paramSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncGetParamInfo", 0);

  /* "cuda/bindings/driver.pyx":34073
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34074
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
 *         pfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34073
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34075
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34076
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34075
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34078
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef size_t paramOffset = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34078, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34079
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34079, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34080
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef size_t paramOffset = 0             # <<<<<<<<<<<<<<
 *     cdef size_t paramSize = 0
 *     with nogil:
*/
  __pyx_v_paramOffset = 0;

  /* "cuda/bindings/driver.pyx":34081
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncGetParamInfo(cyfunc, paramIndex, &paramOffset, &paramSize)
*/
  __pyx_v_paramSize = 0;

  /* "cuda/bindings/driver.pyx":34082
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncGetParamInfo(cyfunc, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34083
 *     cdef size_t paramSize = 0
 *     with nogil:
 *         err = cydriver.cuFuncGetParamInfo(cyfunc, paramIndex, &paramOffset, &paramSize)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncGetParamInfo(__pyx_v_cyfunc, __pyx_v_paramIndex, (&__pyx_v_paramOffset), (&__pyx_v_paramSize)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34083, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34082
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncGetParamInfo(cyfunc, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34084
 *     with nogil:
 *         err = cydriver.cuFuncGetParamInfo(cyfunc, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], paramOffset, paramSize)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34085
 *         err = cydriver.cuFuncGetParamInfo(cyfunc, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], paramOffset, paramSize)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 34085, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 34085, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 34085, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34084
 *     with nogil:
 *         err = cydriver.cuFuncGetParamInfo(cyfunc, paramIndex, &paramOffset, &paramSize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], paramOffset, paramSize)
*/
  }

  /* "cuda/bindings/driver.pyx":34086
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], paramOffset, paramSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_paramOffset); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_paramSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 34086, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 34086, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 34086, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34036
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetParamInfo(func, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncGetParamInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34088
 *     return (_dict_CUresult[err], paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncIsLoaded(function):
 *     """ Returns if the function is loaded.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_517cuFuncIsLoaded(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_516cuFuncIsLoaded, "cuFuncIsLoaded(function)\n\nReturns if the function is loaded.\n\nReturns in `state` the loading state of `function`.\n\nParameters\n----------\nfunction : :py:obj:`~.CUfunction`\n    the function to check\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nstate : :py:obj:`~.CUfunctionLoadingState`\n    returned loading state\n\nSee Also\n--------\n:py:obj:`~.cuFuncLoad`, :py:obj:`~.cuModuleEnumerateFunctions`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_517cuFuncIsLoaded = {"cuFuncIsLoaded", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_517cuFuncIsLoaded, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_516cuFuncIsLoaded};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_517cuFuncIsLoaded(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_function = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncIsLoaded (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_function_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34088, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34088, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncIsLoaded", 0) < (0)) __PYX_ERR(0, 34088, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncIsLoaded", 1, 1, 1, i); __PYX_ERR(0, 34088, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34088, __pyx_L3_error)
    }
    __pyx_v_function = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncIsLoaded", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 34088, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncIsLoaded", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_516cuFuncIsLoaded(__pyx_self, __pyx_v_function);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_516cuFuncIsLoaded(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function) {
  CUfunction __pyx_v_cyfunction;
  PyObject *__pyx_v_pfunction = NULL;
  CUfunctionLoadingState __pyx_v_state;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncIsLoaded", 0);

  /* "cuda/bindings/driver.pyx":34111
 *     """
 *     cdef cydriver.CUfunction cyfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_function == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34112
 *     cdef cydriver.CUfunction cyfunction
 *     if function is None:
 *         pfunction = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunction = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34111
 *     """
 *     cdef cydriver.CUfunction cyfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34113
 *     if function is None:
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_function, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34114
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunction = int(CUfunction(function))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34113
 *     if function is None:
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34116
 *         pfunction = int(function)
 *     else:
 *         pfunction = int(CUfunction(function))             # <<<<<<<<<<<<<<
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     cdef cydriver.CUfunctionLoadingState state
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_function};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34116, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunction = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34117
 *     else:
 *         pfunction = int(CUfunction(function))
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunctionLoadingState state
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34117, __pyx_L1_error)
  __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34119
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     cdef cydriver.CUfunctionLoadingState state
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncIsLoaded(&state, cyfunction)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34120
 *     cdef cydriver.CUfunctionLoadingState state
 *     with nogil:
 *         err = cydriver.cuFuncIsLoaded(&state, cyfunction)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncIsLoaded((&__pyx_v_state), __pyx_v_cyfunction); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34120, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34119
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     cdef cydriver.CUfunctionLoadingState state
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncIsLoaded(&state, cyfunction)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34121
 *     with nogil:
 *         err = cydriver.cuFuncIsLoaded(&state, cyfunction)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfunctionLoadingState(state))
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34122
 *         err = cydriver.cuFuncIsLoaded(&state, cyfunction)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUfunctionLoadingState(state))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 34122, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 34122, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34121
 *     with nogil:
 *         err = cydriver.cuFuncIsLoaded(&state, cyfunction)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfunctionLoadingState(state))
*/
  }

  /* "cuda/bindings/driver.pyx":34123
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfunctionLoadingState(state))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUfunctionLoadingState); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_enum__CUfunctionLoadingState_enum(__pyx_v_state); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 34123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 34123, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 34123, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34088
 *     return (_dict_CUresult[err], paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncIsLoaded(function):
 *     """ Returns if the function is loaded.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncIsLoaded", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunction);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34125
 *     return (_dict_CUresult[err], CUfunctionLoadingState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncLoad(function):
 *     """ Loads a function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_519cuFuncLoad(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_518cuFuncLoad, "cuFuncLoad(function)\n\nLoads a function.\n\nFinalizes function loading for `function`. Calling this API with a\nfully loaded function has no effect.\n\nParameters\n----------\nfunction : :py:obj:`~.CUfunction`\n    the function to load\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuModuleEnumerateFunctions`, :py:obj:`~.cuFuncIsLoaded`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_519cuFuncLoad = {"cuFuncLoad", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_519cuFuncLoad, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_518cuFuncLoad};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_519cuFuncLoad(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_function = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncLoad (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_function_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34125, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34125, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncLoad", 0) < (0)) __PYX_ERR(0, 34125, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncLoad", 1, 1, 1, i); __PYX_ERR(0, 34125, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34125, __pyx_L3_error)
    }
    __pyx_v_function = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncLoad", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 34125, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncLoad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_518cuFuncLoad(__pyx_self, __pyx_v_function);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_518cuFuncLoad(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function) {
  CUfunction __pyx_v_cyfunction;
  PyObject *__pyx_v_pfunction = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncLoad", 0);

  /* "cuda/bindings/driver.pyx":34147
 *     """
 *     cdef cydriver.CUfunction cyfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_function == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34148
 *     cdef cydriver.CUfunction cyfunction
 *     if function is None:
 *         pfunction = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunction = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34147
 *     """
 *     cdef cydriver.CUfunction cyfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34149
 *     if function is None:
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_function, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34150
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunction = int(CUfunction(function))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34149
 *     if function is None:
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34152
 *         pfunction = int(function)
 *     else:
 *         pfunction = int(CUfunction(function))             # <<<<<<<<<<<<<<
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_function};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34152, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunction = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34153
 *     else:
 *         pfunction = int(CUfunction(function))
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncLoad(cyfunction)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34153, __pyx_L1_error)
  __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34154
 *         pfunction = int(CUfunction(function))
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncLoad(cyfunction)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34155
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     with nogil:
 *         err = cydriver.cuFuncLoad(cyfunction)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncLoad(__pyx_v_cyfunction); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34155, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34154
 *         pfunction = int(CUfunction(function))
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncLoad(cyfunction)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34156
 *     with nogil:
 *         err = cydriver.cuFuncLoad(cyfunction)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 34156, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34125
 *     return (_dict_CUresult[err], CUfunctionLoadingState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncLoad(function):
 *     """ Loads a function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncLoad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunction);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34158
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel`.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_521cuLaunchKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_520cuLaunchKernel, "cuLaunchKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams, void_ptr extra)\n\nLaunches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel`.\n\nInvokes the function :py:obj:`~.CUfunction` or the kernel\n:py:obj:`~.CUkernel` `f` on a `gridDimX` x `gridDimY` x `gridDimZ` grid\nof blocks. Each block contains `blockDimX` x `blockDimY` x `blockDimZ`\nthreads.\n\n`sharedMemBytes` sets the amount of dynamic shared memory that will be\navailable to each thread block.\n\nKernel parameters to `f` can be specified in one of two ways:\n\n1) Kernel parameters can be specified via `kernelParams`. If `f` has N\nparameters, then `kernelParams` needs to be an array of N pointers.\nEach of `kernelParams`[0] through `kernelParams`[N-1] must point to a\nregion of memory from which the actual kernel parameter will be copied.\nThe number of kernel parameters and their offsets and sizes do not need\nto be specified as that information is retrieved directly from the\nkernel's image.\n\n2) Kernel parameters can also be packaged by the application into a\nsingle buffer that is passed in via the `extra` parameter. This places\nthe burden on the application of knowing each kernel parameter's size\nand alignment/padding within the buffer. Here is an example of using\nthe `extra` parameter in this manner:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nThe `extra` parameter exists to allow :py:obj:`~.cuLaunchKernel` to\ntake additional less commonly used arguments. `extra` specifies a list\nof names of extra settings and their corresponding values. Each extra\nsetting name is immediately followed by the corresponding value. The\nlist must be terminated with either NULL or\n:py:obj:`~.CU_LAUNCH_PARAM_END`.\n\n- :py:obj:`~.CU_LAUNCH_PARAM_END`, which indicates the end of the\n  `extra` array;\n\n- :py:obj:`~"".CU_LAUNCH_PARAM_BUFFER_POINTER`, which specifies that the\n  next value in `extra` will be a pointer to a buffer containing all\n  the kernel parameters for launching kernel `f`;\n\n- :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_SIZE`, which specifies that the\n  next value in `extra` will be a pointer to a size_t containing the\n  size of the buffer specified with\n  :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_POINTER`;\n\nThe error :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned if\nkernel parameters are specified with both `kernelParams` and `extra`\n(i.e. both `kernelParams` and `extra` are non-NULL).\n\nCalling :py:obj:`~.cuLaunchKernel()` invalidates the persistent\nfunction state set through the following deprecated APIs:\n:py:obj:`~.cuFuncSetBlockShape()`, :py:obj:`~.cuFuncSetSharedSize()`,\n:py:obj:`~.cuParamSetSize()`, :py:obj:`~.cuParamSeti()`,\n:py:obj:`~.cuParamSetf()`, :py:obj:`~.cuParamSetv()`.\n\nNote that to use :py:obj:`~.cuLaunchKernel()`, the kernel `f` must\neither have been compiled with toolchain version 3.2 or later so that\nit will contain kernel parameter information, or have no kernel\nparameters. If either of these conditions is not met, then\n:py:obj:`~.cuLaunchKernel()` will return\n:py:obj:`~.CUDA_ERROR_INVALID_IMAGE`.\n\nNote that the API can also be used to launch context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to launch the\nkernel on will either be taken from the specified stream `hStream` or\nthe current context in case of NULL stream.\n\nParameters\n----------\nf : :py:obj:`~.CUfunction`\n    Function :py:obj:`~.CUfunction` or Kernel :py:obj:`~.CUkernel` to\n    launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDim""Y : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\nkernelParams : Any\n    Array of pointers to kernel parameters\nextra : list[Any]\n    Extra options\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_IMAGE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_LAUNCH_FAILED`, :py:obj:`~.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`, :py:obj:`~.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cudaLaunchKernel`, :py:obj:`~.cuLibraryGetKernel`, :py:obj:`~.cuKernelSetCacheConfig`, :py:obj:`~.cuKernelGetAttribute`, :py:obj:`~.cuKernelSetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_521cuLaunchKernel = {"cuLaunchKernel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_521cuLaunchKernel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_520cuLaunchKernel};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_521cuLaunchKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_f = 0;
  unsigned int __pyx_v_gridDimX;
  unsigned int __pyx_v_gridDimY;
  unsigned int __pyx_v_gridDimZ;
  unsigned int __pyx_v_blockDimX;
  unsigned int __pyx_v_blockDimY;
  unsigned int __pyx_v_blockDimZ;
  unsigned int __pyx_v_sharedMemBytes;
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_kernelParams = 0;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLaunchKernel (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_f,&__pyx_mstate_global->__pyx_n_u_gridDimX_2,&__pyx_mstate_global->__pyx_n_u_gridDimY_2,&__pyx_mstate_global->__pyx_n_u_gridDimZ_2,&__pyx_mstate_global->__pyx_n_u_blockDimX_2,&__pyx_mstate_global->__pyx_n_u_blockDimY_2,&__pyx_mstate_global->__pyx_n_u_blockDimZ_2,&__pyx_mstate_global->__pyx_n_u_sharedMemBytes_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_kernelParams,&__pyx_mstate_global->__pyx_n_u_extra_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34158, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLaunchKernel", 0) < (0)) __PYX_ERR(0, 34158, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 11; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, i); __PYX_ERR(0, 34158, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 11)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 34158, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 34158, __pyx_L3_error)
    }
    __pyx_v_f = values[0];
    __pyx_v_gridDimX = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34159, __pyx_L3_error)
    __pyx_v_gridDimY = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34159, __pyx_L3_error)
    __pyx_v_gridDimZ = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34159, __pyx_L3_error)
    __pyx_v_blockDimX = __Pyx_PyLong_As_unsigned_int(values[4]); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34159, __pyx_L3_error)
    __pyx_v_blockDimY = __Pyx_PyLong_As_unsigned_int(values[5]); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34159, __pyx_L3_error)
    __pyx_v_blockDimZ = __Pyx_PyLong_As_unsigned_int(values[6]); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34159, __pyx_L3_error)
    __pyx_v_sharedMemBytes = __Pyx_PyLong_As_unsigned_int(values[7]); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34159, __pyx_L3_error)
    __pyx_v_hStream = values[8];
    __pyx_v_kernelParams = values[9];
    __pyx_v_extra = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[10]); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34159, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, __pyx_nargs); __PYX_ERR(0, 34158, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_520cuLaunchKernel(__pyx_self, __pyx_v_f, __pyx_v_gridDimX, __pyx_v_gridDimY, __pyx_v_gridDimZ, __pyx_v_blockDimX, __pyx_v_blockDimY, __pyx_v_blockDimZ, __pyx_v_sharedMemBytes, __pyx_v_hStream, __pyx_v_kernelParams, __pyx_v_extra);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_520cuLaunchKernel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, unsigned int __pyx_v_gridDimX, unsigned int __pyx_v_gridDimY, unsigned int __pyx_v_gridDimZ, unsigned int __pyx_v_blockDimX, unsigned int __pyx_v_blockDimY, unsigned int __pyx_v_blockDimZ, unsigned int __pyx_v_sharedMemBytes, PyObject *__pyx_v_hStream, PyObject *__pyx_v_kernelParams, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUfunction __pyx_v_cyf;
  PyObject *__pyx_v_pf = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_cykernelParams = NULL;
  void **__pyx_v_cykernelParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchKernel", 0);

  /* "cuda/bindings/driver.pyx":34267
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34268
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34267
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34269
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34270
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34269
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34272
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34272, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34273
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34273, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34275
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34276
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
 *         pf = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pf = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34275
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34277
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34278
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pf = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":34277
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34280
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cykernelParams = _HelperKernelParams(kernelParams)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_f};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34280, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":34281
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34281, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34282
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cykernelParams = _HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_kernelParams};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34282, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":34283
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunchKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr, <void**>extra)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cykernelParams_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34284
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr, <void**>extra)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34285
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:
 *         err = cydriver.cuLaunchKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr, <void**>extra)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchKernel(__pyx_v_cyf, __pyx_v_gridDimX, __pyx_v_gridDimY, __pyx_v_gridDimZ, __pyx_v_blockDimX, __pyx_v_blockDimY, __pyx_v_blockDimZ, __pyx_v_sharedMemBytes, __pyx_v_cyhStream, __pyx_v_cykernelParams_ptr, ((void **)__pyx_v_extra)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34285, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34284
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr, <void**>extra)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":34286
 *     with nogil:
 *         err = cydriver.cuLaunchKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr, <void**>extra)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 34286, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34158
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel`.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XDECREF((PyObject *)__pyx_v_cykernelParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34288
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernelEx(config : Optional[CUlaunchConfig], f, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` with launch-time configuration.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_523cuLaunchKernelEx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_522cuLaunchKernelEx, "cuLaunchKernelEx(CUlaunchConfig config: Optional[CUlaunchConfig], f, kernelParams, void_ptr extra)\n\nLaunches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` with launch-time configuration.\n\nInvokes the function :py:obj:`~.CUfunction` or the kernel\n:py:obj:`~.CUkernel` `f` with the specified launch-time configuration\n`config`.\n\nThe :py:obj:`~.CUlaunchConfig` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.CUlaunchConfig.gridDimX` is the width of the grid in\n  blocks.\n\n- :py:obj:`~.CUlaunchConfig.gridDimY` is the height of the grid in\n  blocks.\n\n- :py:obj:`~.CUlaunchConfig.gridDimZ` is the depth of the grid in\n  blocks.\n\n- :py:obj:`~.CUlaunchConfig.blockDimX` is the X dimension of each\n  thread block.\n\n- :py:obj:`~.CUlaunchConfig.blockDimX` is the Y dimension of each\n  thread block.\n\n- :py:obj:`~.CUlaunchConfig.blockDimZ` is the Z dimension of each\n  thread block.\n\n- :py:obj:`~.CUlaunchConfig.sharedMemBytes` is the dynamic shared-\n  memory size per thread block in bytes.\n\n- :py:obj:`~.CUlaunchConfig.hStream` is the handle to the stream to\n  perform the launch in. The CUDA context associated with this stream\n  must match that associated with function f.\n\n- :py:obj:`~.CUlaunchConfig.attrs` is an array of\n  :py:obj:`~.CUlaunchConfig.numAttrs` continguous\n  :py:obj:`~.CUlaunchAttribute` elements. The value of this pointer is\n  not considered if :py:obj:`~.CUlaunchConfig.numAttrs` is zero.\n  However, in that case, it is recommended to set the pointer to NULL.\n\n- :py:obj:`~.CUlaunchConfig.numAttrs` is the number of attributes\n  populating the first :py:obj:`~.CUlaunchConfig.numAttrs` positions of\n  the :py:obj:`~.CUlaunchConfig.attrs` array.\n\nLaunch-time configuration is specified by adding entries to\n:py:obj:`~.CUlaunchConfig.attrs`. Each entry is an attribute ID and a\ncorresponding attribute value.\n\nThe :py:obj:`~.CUlaunchAttribute` ""structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.CUlaunchAttribute.id` is a unique enum identifying the\n  attribute.\n\n- :py:obj:`~.CUlaunchAttribute.value` is a union that hold the\n  attribute value.\n\nAn example of using the `config` parameter:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nThe :py:obj:`~.CUlaunchAttributeID` enum is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nand the corresponding :py:obj:`~.CUlaunchAttributeValue` union as :\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nSetting :py:obj:`~.CU_LAUNCH_ATTRIBUTE_COOPERATIVE` to a non-zero value\ncauses the kernel launch to be a cooperative launch, with exactly the\nsame usage and semantics of :py:obj:`~.cuLaunchCooperativeKernel`.\n\nSetting\n:py:obj:`~.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION` to a\nnon-zero values causes the kernel to use programmatic means to resolve\nits stream dependency -- enabling the CUDA runtime to opportunistically\nallow the grid's execution to overlap with the previous kernel in the\nstream, if that kernel requests the overlap.\n\n:py:obj:`~.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT` records an event\nalong with the kernel launch. Event recorded through this launch\nattribute is guaranteed to only trigger after all block in the\nassociated kernel trigger the event. A block can trigger the event\nthrough PTX launchdep.release or CUDA builtin function\ncudaTriggerProgrammaticLaunchCompletion(). A trigger can also be\ninserted at the beginning of each block's execution if\ntriggerAtBlockStart is set to non-0. Note that dependents (including\nthe CPU thread calling :py:obj:`~.cuEventSynchronize()`) are not\nguaranteed to observe the release precisely when it is released. For\nexample, :py:obj:`~.cuEventSynchronize()` may only observe the event\ntrigger long after the associated kernel has completed. This recording\ntype is primar""ily meant for establishing programmatic dependency\nbetween device tasks. The event supplied must not be an interprocess or\ninterop event. The event must disable timing (i.e. created with\n:py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).\n\n:py:obj:`~.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT` records an\nevent along with the kernel launch. Nominally, the event is triggered\nonce all blocks of the kernel have begun execution. Currently this is a\nbest effort. If a kernel B has a launch completion dependency on a\nkernel A, B may wait until A is complete. Alternatively, blocks of B\nmay begin before all blocks of A have begun, for example:\n\n- If B can claim execution resources unavailable to A, for example if\n  they run on different GPUs.\n\n- If B is a higher priority than A.\n\nExercise caution if such an ordering inversion could lead to deadlock.\nThe event supplied must not be an interprocess or interop event. The\nevent must disable timing (i.e. must be created with the\n:py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).\n\nSetting :py:obj:`~.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE` to\n1 on a captured launch causes the resulting kernel node to be device-\nupdatable. This attribute is specific to graphs, and passing it to a\nlaunch in a non-capturing stream results in an error. Passing a value\nother than 0 or 1 is not allowed.\n\nOn success, a handle will be returned via\n:py:obj:`~.CUlaunchAttributeValue`::deviceUpdatableKernelNode::devNode\nwhich can be passed to the various device-side update functions to\nupdate the node's kernel parameters from within another kernel. For\nmore information on the types of device updates that can be made, as\nwell as the relevant limitations thereof, see\n:py:obj:`~.cudaGraphKernelNodeUpdatesApply`.\n\nKernel nodes which are device-updatable have additional restrictions\ncompared to regular kernel nodes. Firstly, device-updatable nodes\ncannot be removed from their graph via :py:obj:`~.cuGraphDestroyNode`.\nAddition""ally, once opted-in to this functionality, a node cannot opt\nout, and any attempt to set the attribute to 0 will result in an error.\nGraphs containing one or more device-updatable node also do not allow\nmultiple instantiation.\n\n:py:obj:`~.CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION` allows the\nkernel launch to specify a preferred substitute cluster dimension.\nBlocks may be grouped according to either the dimensions specified with\nthis attribute (grouped into a \"preferred substitute cluster\"), or the\none specified with :py:obj:`~.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION`\nattribute (grouped into a \"regular cluster\"). The cluster dimensions of\na \"preferred substitute cluster\" shall be an integer multiple greater\nthan zero of the regular cluster dimensions. The device will attempt -\non a best-effort basis - to group thread blocks into preferred clusters\nover grouping them into regular clusters. When it deems necessary\n(primarily when the device temporarily runs out of physical resources\nto launch the larger preferred clusters), the device may switch to\nlaunch the regular clusters instead to attempt to utilize as much of\nthe physical device resources as possible.\n\nEach type of cluster will have its enumeration / coordinate setup as if\nthe grid consists solely of its type of cluster. For example, if the\npreferred substitute cluster dimensions double the regular cluster\ndimensions, there might be simultaneously a regular cluster indexed at\n(1,0,0), and a preferred cluster indexed at (1,0,0). In this example,\nthe preferred substitute cluster (1,0,0) replaces regular clusters\n(2,0,0) and (3,0,0) and groups their blocks.\n\nThis attribute will only take effect when a regular cluster dimension\nhas been specified. The preferred substitute The preferred substitute\ncluster dimension must be an integer multiple greater than zero of the\nregular cluster dimension and must divide the grid. It must also be no\nmore than `maxBlocksPerCluster`, if it ""is set in the kernel's\n`__launch_bounds__`. Otherwise it must be less than the maximum value\nthe driver can support. Otherwise, setting this attribute to a value\nphysically unable to fit on any particular device is permitted.\n\nThe effect of other attributes is consistent with their effect when set\nvia persistent APIs.\n\nSee :py:obj:`~.cuStreamSetAttribute` for\n\n- :py:obj:`~.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW`\n\n- :py:obj:`~.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY`\n\nSee :py:obj:`~.cuFuncSetAttribute` for\n\n- :py:obj:`~.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION`\n\n- :py:obj:`~.CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE`\n\nKernel parameters to `f` can be specified in the same ways that they\ncan be using :py:obj:`~.cuLaunchKernel`.\n\nNote that the API can also be used to launch context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to launch the\nkernel on will either be taken from the specified stream\n:py:obj:`~.CUlaunchConfig.hStream` or the current context in case of\nNULL stream.\n\nParameters\n----------\nconfig : :py:obj:`~.CUlaunchConfig`\n    Config to launch\nf : :py:obj:`~.CUfunction`\n    Function :py:obj:`~.CUfunction` or Kernel :py:obj:`~.CUkernel` to\n    launch\nkernelParams : Any\n    Array of pointers to kernel parameters\nextra : list[Any]\n    Extra options\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_IMAGE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_LAUNCH_FAILED`, :py:obj:`~.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`, :py:obj:`~.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING`, :py:obj:`~.CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE`, :py:ob""j:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cudaLaunchKernel`, :py:obj:`~.cudaLaunchKernelEx`, :py:obj:`~.cuLibraryGetKernel`, :py:obj:`~.cuKernelSetCacheConfig`, :py:obj:`~.cuKernelGetAttribute`, :py:obj:`~.cuKernelSetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_523cuLaunchKernelEx = {"cuLaunchKernelEx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_523cuLaunchKernelEx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_522cuLaunchKernelEx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_523cuLaunchKernelEx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config = 0;
  PyObject *__pyx_v_f = 0;
  PyObject *__pyx_v_kernelParams = 0;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLaunchKernelEx (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_config,&__pyx_mstate_global->__pyx_n_u_f,&__pyx_mstate_global->__pyx_n_u_kernelParams,&__pyx_mstate_global->__pyx_n_u_extra_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34288, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34288, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34288, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34288, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34288, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLaunchKernelEx", 0) < (0)) __PYX_ERR(0, 34288, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLaunchKernelEx", 1, 4, 4, i); __PYX_ERR(0, 34288, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34288, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34288, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34288, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34288, __pyx_L3_error)
    }
    __pyx_v_config = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *)values[0]);
    __pyx_v_f = values[1];
    __pyx_v_kernelParams = values[2];
    __pyx_v_extra = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[3]); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34289, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchKernelEx", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 34288, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchKernelEx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_config), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig, 1, "config", 0))) __PYX_ERR(0, 34289, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_522cuLaunchKernelEx(__pyx_self, __pyx_v_config, __pyx_v_f, __pyx_v_kernelParams, __pyx_v_extra);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_522cuLaunchKernelEx(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config, PyObject *__pyx_v_f, PyObject *__pyx_v_kernelParams, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_extra) {
  CUfunction __pyx_v_cyf;
  PyObject *__pyx_v_pf = NULL;
  CUlaunchConfig *__pyx_v_cyconfig_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_cykernelParams = NULL;
  void **__pyx_v_cykernelParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUlaunchConfig_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchKernelEx", 0);

  /* "cuda/bindings/driver.pyx":34512
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34513
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
 *         pf = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pf = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34512
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34514
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34515
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34514
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34517
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_f};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34517, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34518
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     cykernelParams = _HelperKernelParams(kernelParams)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34518, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34519
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL             # <<<<<<<<<<<<<<
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_config) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_config->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyconfig_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":34520
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     cykernelParams = _HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34520, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":34521
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunchKernelEx(cyconfig_ptr, cyf, cykernelParams_ptr, <void**>extra)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cykernelParams_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34522
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchKernelEx(cyconfig_ptr, cyf, cykernelParams_ptr, <void**>extra)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34523
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:
 *         err = cydriver.cuLaunchKernelEx(cyconfig_ptr, cyf, cykernelParams_ptr, <void**>extra)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchKernelEx(__pyx_v_cyconfig_ptr, __pyx_v_cyf, __pyx_v_cykernelParams_ptr, ((void **)__pyx_v_extra)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34523, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":34522
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchKernelEx(cyconfig_ptr, cyf, cykernelParams_ptr, <void**>extra)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34524
 *     with nogil:
 *         err = cydriver.cuLaunchKernelEx(cyconfig_ptr, cyf, cykernelParams_ptr, <void**>extra)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 34524, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34288
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernelEx(config : Optional[CUlaunchConfig], f, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` with launch-time configuration.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchKernelEx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XDECREF((PyObject *)__pyx_v_cykernelParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34526
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` where thread blocks can cooperate and synchronize as they execute.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_525cuLaunchCooperativeKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_524cuLaunchCooperativeKernel, "cuLaunchCooperativeKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams)\n\nLaunches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` where thread blocks can cooperate and synchronize as they execute.\n\nInvokes the function :py:obj:`~.CUfunction` or the kernel\n:py:obj:`~.CUkernel` `f` on a `gridDimX` x `gridDimY` x `gridDimZ` grid\nof blocks. Each block contains `blockDimX` x `blockDimY` x `blockDimZ`\nthreads.\n\n`sharedMemBytes` sets the amount of dynamic shared memory that will be\navailable to each thread block.\n\nThe device on which this kernel is invoked must have a non-zero value\nfor the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH`.\n\nThe total number of blocks launched cannot exceed the maximum number of\nblocks per multiprocessor as returned by\n:py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessor` (or\n:py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`) times\nthe number of multiprocessors as specified by the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT`.\n\nThe kernel cannot make use of CUDA dynamic parallelism.\n\nKernel parameters must be specified via `kernelParams`. If `f` has N\nparameters, then `kernelParams` needs to be an array of N pointers.\nEach of `kernelParams`[0] through `kernelParams`[N-1] must point to a\nregion of memory from which the actual kernel parameter will be copied.\nThe number of kernel parameters and their offsets and sizes do not need\nto be specified as that information is retrieved directly from the\nkernel's image.\n\nCalling :py:obj:`~.cuLaunchCooperativeKernel()` sets persistent\nfunction state that is the same as function state set through\n:py:obj:`~.cuLaunchKernel` API\n\nWhen the kernel `f` is launched via\n:py:obj:`~.cuLaunchCooperativeKernel()`, the previous block shape,""\nshared size and parameter info associated with `f` is overwritten.\n\nNote that to use :py:obj:`~.cuLaunchCooperativeKernel()`, the kernel\n`f` must either have been compiled with toolchain version 3.2 or later\nso that it will contain kernel parameter information, or have no kernel\nparameters. If either of these conditions is not met, then\n:py:obj:`~.cuLaunchCooperativeKernel()` will return\n:py:obj:`~.CUDA_ERROR_INVALID_IMAGE`.\n\nNote that the API can also be used to launch context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to launch the\nkernel on will either be taken from the specified stream `hStream` or\nthe current context in case of NULL stream.\n\nParameters\n----------\nf : :py:obj:`~.CUfunction`\n    Function :py:obj:`~.CUfunction` or Kernel :py:obj:`~.CUkernel` to\n    launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream identifier\nkernelParams : Any\n    Array of pointers to kernel parameters\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_IMAGE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_LAUNCH_FAILED`, :py:obj:`~.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`, :py:obj:`~.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TE""XTURING`, :py:obj:`~.CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuLaunchCooperativeKernelMultiDevice`, :py:obj:`~.cudaLaunchCooperativeKernel`, :py:obj:`~.cuLibraryGetKernel`, :py:obj:`~.cuKernelSetCacheConfig`, :py:obj:`~.cuKernelGetAttribute`, :py:obj:`~.cuKernelSetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_525cuLaunchCooperativeKernel = {"cuLaunchCooperativeKernel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_525cuLaunchCooperativeKernel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_524cuLaunchCooperativeKernel};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_525cuLaunchCooperativeKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_f = 0;
  unsigned int __pyx_v_gridDimX;
  unsigned int __pyx_v_gridDimY;
  unsigned int __pyx_v_gridDimZ;
  unsigned int __pyx_v_blockDimX;
  unsigned int __pyx_v_blockDimY;
  unsigned int __pyx_v_blockDimZ;
  unsigned int __pyx_v_sharedMemBytes;
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_kernelParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLaunchCooperativeKernel (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_f,&__pyx_mstate_global->__pyx_n_u_gridDimX_2,&__pyx_mstate_global->__pyx_n_u_gridDimY_2,&__pyx_mstate_global->__pyx_n_u_gridDimZ_2,&__pyx_mstate_global->__pyx_n_u_blockDimX_2,&__pyx_mstate_global->__pyx_n_u_blockDimY_2,&__pyx_mstate_global->__pyx_n_u_blockDimZ_2,&__pyx_mstate_global->__pyx_n_u_sharedMemBytes_2,&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_kernelParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34526, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLaunchCooperativeKernel", 0) < (0)) __PYX_ERR(0, 34526, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 10; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, i); __PYX_ERR(0, 34526, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 10)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 34526, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 34526, __pyx_L3_error)
    }
    __pyx_v_f = values[0];
    __pyx_v_gridDimX = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34527, __pyx_L3_error)
    __pyx_v_gridDimY = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34527, __pyx_L3_error)
    __pyx_v_gridDimZ = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34527, __pyx_L3_error)
    __pyx_v_blockDimX = __Pyx_PyLong_As_unsigned_int(values[4]); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34527, __pyx_L3_error)
    __pyx_v_blockDimY = __Pyx_PyLong_As_unsigned_int(values[5]); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34527, __pyx_L3_error)
    __pyx_v_blockDimZ = __Pyx_PyLong_As_unsigned_int(values[6]); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34527, __pyx_L3_error)
    __pyx_v_sharedMemBytes = __Pyx_PyLong_As_unsigned_int(values[7]); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34527, __pyx_L3_error)
    __pyx_v_hStream = values[8];
    __pyx_v_kernelParams = values[9];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, __pyx_nargs); __PYX_ERR(0, 34526, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchCooperativeKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_524cuLaunchCooperativeKernel(__pyx_self, __pyx_v_f, __pyx_v_gridDimX, __pyx_v_gridDimY, __pyx_v_gridDimZ, __pyx_v_blockDimX, __pyx_v_blockDimY, __pyx_v_blockDimZ, __pyx_v_sharedMemBytes, __pyx_v_hStream, __pyx_v_kernelParams);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_524cuLaunchCooperativeKernel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, unsigned int __pyx_v_gridDimX, unsigned int __pyx_v_gridDimY, unsigned int __pyx_v_gridDimZ, unsigned int __pyx_v_blockDimX, unsigned int __pyx_v_blockDimY, unsigned int __pyx_v_blockDimZ, unsigned int __pyx_v_sharedMemBytes, PyObject *__pyx_v_hStream, PyObject *__pyx_v_kernelParams) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUfunction __pyx_v_cyf;
  PyObject *__pyx_v_pf = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *__pyx_v_cykernelParams = NULL;
  void **__pyx_v_cykernelParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchCooperativeKernel", 0);

  /* "cuda/bindings/driver.pyx":34615
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34616
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34615
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34617
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34618
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34617
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34620
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34620, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34621
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34621, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34623
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34624
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
 *         pf = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pf = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34623
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34625
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34626
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pf = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":34625
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34628
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cykernelParams = _HelperKernelParams(kernelParams)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_f};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34628, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":34629
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34629, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34630
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cykernelParams = _HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_kernelParams};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34630, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":34631
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunchCooperativeKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cykernelParams_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34632
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchCooperativeKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34633
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:
 *         err = cydriver.cuLaunchCooperativeKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchCooperativeKernel(__pyx_v_cyf, __pyx_v_gridDimX, __pyx_v_gridDimY, __pyx_v_gridDimZ, __pyx_v_blockDimX, __pyx_v_blockDimY, __pyx_v_blockDimZ, __pyx_v_sharedMemBytes, __pyx_v_cyhStream, __pyx_v_cykernelParams_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34633, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34632
 *     cykernelParams = _HelperKernelParams(kernelParams)
 *     cdef void** cykernelParams_ptr = <void**><void_ptr>cykernelParams.ckernelParams
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchCooperativeKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":34634
 *     with nogil:
 *         err = cydriver.cuLaunchCooperativeKernel(cyf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, cyhStream, cykernelParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 34634, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34526
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` where thread blocks can cooperate and synchronize as they execute.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchCooperativeKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XDECREF((PyObject *)__pyx_v_cykernelParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34636
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[tuple[CUDA_LAUNCH_PARAMS] | list[CUDA_LAUNCH_PARAMS]], unsigned int numDevices, unsigned int flags):
 *     """ Launches CUDA functions on multiple devices where thread blocks can cooperate and synchronize as they execute.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_527cuLaunchCooperativeKernelMultiDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_526cuLaunchCooperativeKernelMultiDevice, "cuLaunchCooperativeKernelMultiDevice(launchParamsList: Optional[tuple[CUDA_LAUNCH_PARAMS] | list[CUDA_LAUNCH_PARAMS]], unsigned int numDevices, unsigned int flags)\n\nLaunches CUDA functions on multiple devices where thread blocks can cooperate and synchronize as they execute.\n\n[Deprecated]\n\nInvokes kernels as specified in the `launchParamsList` array where each\nelement of the array specifies all the parameters required to perform a\nsingle kernel launch. These kernels can cooperate and synchronize as\nthey execute. The size of the array is specified by `numDevices`.\n\nNo two kernels can be launched on the same device. All the devices\ntargeted by this multi-device launch must be identical. All devices\nmust have a non-zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH`.\n\nAll kernels launched must be identical with respect to the compiled\ncode. Note that any device, constant or managed variables present in\nthe module that owns the kernel launched on each device, are\nindependently instantiated on every device. It is the application's\nresponsibility to ensure these variables are initialized and used\nappropriately.\n\nThe size of the grids as specified in blocks, the size of the blocks\nthemselves and the amount of shared memory used by each thread block\nmust also match across all launched kernels.\n\nThe streams used to launch these kernels must have been created via\neither :py:obj:`~.cuStreamCreate` or\n:py:obj:`~.cuStreamCreateWithPriority`. The NULL stream or\n:py:obj:`~.CU_STREAM_LEGACY` or :py:obj:`~.CU_STREAM_PER_THREAD` cannot\nbe used.\n\nThe total number of blocks launched per kernel cannot exceed the\nmaximum number of blocks per multiprocessor as returned by\n:py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessor` (or\n:py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`) times\nthe number of multiprocessors as specified by the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIP""ROCESSOR_COUNT`. Since the total\nnumber of blocks launched per device has to match across all devices,\nthe maximum number of blocks that can be launched per device will be\nlimited by the device with the least number of multiprocessors.\n\nThe kernels cannot make use of CUDA dynamic parallelism.\n\nThe :py:obj:`~.CUDA_LAUNCH_PARAMS` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.function` specifies the kernel to be\n  launched. All functions must be identical with respect to the\n  compiled code. Note that you can also specify context-less kernel\n  :py:obj:`~.CUkernel` by querying the handle using\n  :py:obj:`~.cuLibraryGetKernel()` and then casting to\n  :py:obj:`~.CUfunction`. In this case, the context to launch the\n  kernel on be taken from the specified stream\n  :py:obj:`~.CUDA_LAUNCH_PARAMS.hStream`.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.gridDimX` is the width of the grid in\n  blocks. This must match across all kernels launched.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.gridDimY` is the height of the grid in\n  blocks. This must match across all kernels launched.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.gridDimZ` is the depth of the grid in\n  blocks. This must match across all kernels launched.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.blockDimX` is the X dimension of each\n  thread block. This must match across all kernels launched.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.blockDimX` is the Y dimension of each\n  thread block. This must match across all kernels launched.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.blockDimZ` is the Z dimension of each\n  thread block. This must match across all kernels launched.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.sharedMemBytes` is the dynamic shared-\n  memory size per thread block in bytes. This must match across all\n  kernels launched.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.hStream` is the handle to the stream to\n  perform the launch in. This cannot be the NULL stream or""\n  :py:obj:`~.CU_STREAM_LEGACY` or :py:obj:`~.CU_STREAM_PER_THREAD`. The\n  CUDA context associated with this stream must match that associated\n  with :py:obj:`~.CUDA_LAUNCH_PARAMS.function`.\n\n- :py:obj:`~.CUDA_LAUNCH_PARAMS.kernelParams` is an array of pointers\n  to kernel parameters. If :py:obj:`~.CUDA_LAUNCH_PARAMS.function` has\n  N parameters, then :py:obj:`~.CUDA_LAUNCH_PARAMS.kernelParams` needs\n  to be an array of N pointers. Each of\n  :py:obj:`~.CUDA_LAUNCH_PARAMS.kernelParams`[0] through\n  :py:obj:`~.CUDA_LAUNCH_PARAMS.kernelParams`[N-1] must point to a\n  region of memory from which the actual kernel parameter will be\n  copied. The number of kernel parameters and their offsets and sizes\n  do not need to be specified as that information is retrieved directly\n  from the kernel's image.\n\nBy default, the kernel won't begin execution on any GPU until all prior\nwork in all the specified streams has completed. This behavior can be\noverridden by specifying the flag\n:py:obj:`~.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC`.\nWhen this flag is specified, each kernel will only wait for prior work\nin the stream corresponding to that GPU to complete before it begins\nexecution.\n\nSimilarly, by default, any subsequent work pushed in any of the\nspecified streams will not begin execution until the kernels on all\nGPUs have completed. This behavior can be overridden by specifying the\nflag\n:py:obj:`~.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC`.\nWhen this flag is specified, any subsequent work pushed in any of the\nspecified streams will only wait for the kernel launched on the GPU\ncorresponding to that stream to complete before it begins execution.\n\nCalling :py:obj:`~.cuLaunchCooperativeKernelMultiDevice()` sets\npersistent function state that is the same as function state set\nthrough :py:obj:`~.cuLaunchKernel` API when called individually for\neach element in `launchParamsList`.\n\nWhen kernels are launched via\n:py:obj:`~"".cuLaunchCooperativeKernelMultiDevice()`, the previous block\nshape, shared size and parameter info associated with each\n:py:obj:`~.CUDA_LAUNCH_PARAMS.function` in `launchParamsList` is\noverwritten.\n\nNote that to use :py:obj:`~.cuLaunchCooperativeKernelMultiDevice()`,\nthe kernels must either have been compiled with toolchain version 3.2\nor later so that it will contain kernel parameter information, or have\nno kernel parameters. If either of these conditions is not met, then\n:py:obj:`~.cuLaunchCooperativeKernelMultiDevice()` will return\n:py:obj:`~.CUDA_ERROR_INVALID_IMAGE`.\n\nParameters\n----------\nlaunchParamsList : list[:py:obj:`~.CUDA_LAUNCH_PARAMS`]\n    List of launch parameters, one per device\nnumDevices : unsigned int\n    Size of the `launchParamsList` array\nflags : unsigned int\n    Flags to control launch behavior\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_IMAGE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_LAUNCH_FAILED`, :py:obj:`~.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`, :py:obj:`~.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING`, :py:obj:`~.CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuLaunchCooperativeKernel`, :py:obj:`~.cudaLaunchCooperativeKernelMultiDevice`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_527cuLaunchCooperativeKernelMultiDevice = {"cuLaunchCooperativeKernelMultiDevice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_527cuLaunchCooperativeKernelMultiDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_526cuLaunchCooperativeKernelMultiDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_527cuLaunchCooperativeKernelMultiDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_launchParamsList = 0;
  unsigned int __pyx_v_numDevices;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLaunchCooperativeKernelMultiDevice (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_launchParamsList,&__pyx_mstate_global->__pyx_n_u_numDevices_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34636, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34636, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34636, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34636, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLaunchCooperativeKernelMultiDevice", 0) < (0)) __PYX_ERR(0, 34636, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernelMultiDevice", 1, 3, 3, i); __PYX_ERR(0, 34636, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34636, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34636, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34636, __pyx_L3_error)
    }
    __pyx_v_launchParamsList = values[0];
    __pyx_v_numDevices = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numDevices == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34637, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34637, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernelMultiDevice", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 34636, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchCooperativeKernelMultiDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_526cuLaunchCooperativeKernelMultiDevice(__pyx_self, __pyx_v_launchParamsList, __pyx_v_numDevices, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuLaunchCooperativeKernelMultiDevice_2generator145(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":34789
 *     """
 *     launchParamsList = [] if launchParamsList is None else launchParamsList
 *     if not all(isinstance(_x, (CUDA_LAUNCH_PARAMS,)) for _x in launchParamsList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuLaunchCooperativeKernelMultiDevice_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 34789, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_36cuLaunchCooperativeKernelMultiDevice_2generator145, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[145]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuLaunchCooperativeKernelMultiDe, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 34789, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchCooperativeKernelMultiDevice.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuLaunchCooperativeKernelMultiDevice_2generator145(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 34789, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 34789, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34789, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 34789, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 34789, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34789, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 34789, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34636
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[tuple[CUDA_LAUNCH_PARAMS] | list[CUDA_LAUNCH_PARAMS]], unsigned int numDevices, unsigned int flags):
 *     """ Launches CUDA functions on multiple devices where thread blocks can cooperate and synchronize as they execute.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_526cuLaunchCooperativeKernelMultiDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_launchParamsList, unsigned int __pyx_v_numDevices, unsigned int __pyx_v_flags) {
  CUDA_LAUNCH_PARAMS *__pyx_v_cylaunchParamsList;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuLaunchCooperativeKernelMultiDevice_2generator145 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  struct CUDA_LAUNCH_PARAMS_st *__pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchCooperativeKernelMultiDevice", 0);
  __Pyx_INCREF(__pyx_v_launchParamsList);

  /* "cuda/bindings/driver.pyx":34788
 *     :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuLaunchCooperativeKernel`, :py:obj:`~.cudaLaunchCooperativeKernelMultiDevice`
 *     """
 *     launchParamsList = [] if launchParamsList is None else launchParamsList             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUDA_LAUNCH_PARAMS,)) for _x in launchParamsList):
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")
*/
  __pyx_t_2 = (__pyx_v_launchParamsList == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_launchParamsList);
    __pyx_t_1 = __pyx_v_launchParamsList;
  }
  __Pyx_DECREF_SET(__pyx_v_launchParamsList, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":34789
 *     """
 *     launchParamsList = [] if launchParamsList is None else launchParamsList
 *     if not all(isinstance(_x, (CUDA_LAUNCH_PARAMS,)) for _x in launchParamsList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_36cuLaunchCooperativeKernelMultiDevice_genexpr(NULL, __pyx_v_launchParamsList); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 34789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":34790
 *     launchParamsList = [] if launchParamsList is None else launchParamsList
 *     if not all(isinstance(_x, (CUDA_LAUNCH_PARAMS,)) for _x in launchParamsList):
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL
 *     if len(launchParamsList) > 1:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_launchParamsList_is_not};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34790, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 34790, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":34789
 *     """
 *     launchParamsList = [] if launchParamsList is None else launchParamsList
 *     if not all(isinstance(_x, (CUDA_LAUNCH_PARAMS,)) for _x in launchParamsList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":34791
 *     if not all(isinstance(_x, (CUDA_LAUNCH_PARAMS,)) for _x in launchParamsList):
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL             # <<<<<<<<<<<<<<
 *     if len(launchParamsList) > 1:
 *         cylaunchParamsList = <cydriver.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(cydriver.CUDA_LAUNCH_PARAMS))
*/
  __pyx_v_cylaunchParamsList = NULL;

  /* "cuda/bindings/driver.pyx":34792
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL
 *     if len(launchParamsList) > 1:             # <<<<<<<<<<<<<<
 *         cylaunchParamsList = <cydriver.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *         if cylaunchParamsList is NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34792, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":34793
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL
 *     if len(launchParamsList) > 1:
 *         cylaunchParamsList = <cydriver.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(cydriver.CUDA_LAUNCH_PARAMS))             # <<<<<<<<<<<<<<
 *         if cylaunchParamsList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(cydriver.CUDA_LAUNCH_PARAMS)))
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34793, __pyx_L1_error)
    __pyx_v_cylaunchParamsList = ((CUDA_LAUNCH_PARAMS *)calloc(__pyx_t_7, (sizeof(CUDA_LAUNCH_PARAMS))));

    /* "cuda/bindings/driver.pyx":34794
 *     if len(launchParamsList) > 1:
 *         cylaunchParamsList = <cydriver.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *         if cylaunchParamsList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(cydriver.CUDA_LAUNCH_PARAMS)))
 *         for idx in range(len(launchParamsList)):
*/
    __pyx_t_4 = (__pyx_v_cylaunchParamsList == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":34795
 *         cylaunchParamsList = <cydriver.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *         if cylaunchParamsList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(cydriver.CUDA_LAUNCH_PARAMS)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(launchParamsList)):
 *             string.memcpy(&cylaunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._pvt_ptr, sizeof(cydriver.CUDA_LAUNCH_PARAMS))
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_1 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34795, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 34795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 34795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_LAUNCH_PARAMS))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 34795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34795, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 34795, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":34794
 *     if len(launchParamsList) > 1:
 *         cylaunchParamsList = <cydriver.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *         if cylaunchParamsList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(cydriver.CUDA_LAUNCH_PARAMS)))
 *         for idx in range(len(launchParamsList)):
*/
    }

    /* "cuda/bindings/driver.pyx":34796
 *         if cylaunchParamsList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(cydriver.CUDA_LAUNCH_PARAMS)))
 *         for idx in range(len(launchParamsList)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cylaunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._pvt_ptr, sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *     elif len(launchParamsList) == 1:
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34796, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_7;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":34797
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(cydriver.CUDA_LAUNCH_PARAMS)))
 *         for idx in range(len(launchParamsList)):
 *             string.memcpy(&cylaunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._pvt_ptr, sizeof(cydriver.CUDA_LAUNCH_PARAMS))             # <<<<<<<<<<<<<<
 *     elif len(launchParamsList) == 1:
 *         cylaunchParamsList = (<CUDA_LAUNCH_PARAMS>launchParamsList[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_launchParamsList, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34797, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cylaunchParamsList[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUDA_LAUNCH_PARAMS))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":34792
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected tuple[cydriver.CUDA_LAUNCH_PARAMS,] or list[cydriver.CUDA_LAUNCH_PARAMS,]")
 *     cdef cydriver.CUDA_LAUNCH_PARAMS* cylaunchParamsList = NULL
 *     if len(launchParamsList) > 1:             # <<<<<<<<<<<<<<
 *         cylaunchParamsList = <cydriver.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *         if cylaunchParamsList is NULL:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34798
 *         for idx in range(len(launchParamsList)):
 *             string.memcpy(&cylaunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._pvt_ptr, sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *     elif len(launchParamsList) == 1:             # <<<<<<<<<<<<<<
 *         cylaunchParamsList = (<CUDA_LAUNCH_PARAMS>launchParamsList[0])._pvt_ptr
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34798, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":34799
 *             string.memcpy(&cylaunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._pvt_ptr, sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *     elif len(launchParamsList) == 1:
 *         cylaunchParamsList = (<CUDA_LAUNCH_PARAMS>launchParamsList[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 *     with nogil:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_launchParamsList, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cylaunchParamsList = __pyx_t_13;

    /* "cuda/bindings/driver.pyx":34798
 *         for idx in range(len(launchParamsList)):
 *             string.memcpy(&cylaunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._pvt_ptr, sizeof(cydriver.CUDA_LAUNCH_PARAMS))
 *     elif len(launchParamsList) == 1:             # <<<<<<<<<<<<<<
 *         cylaunchParamsList = (<CUDA_LAUNCH_PARAMS>launchParamsList[0])._pvt_ptr
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
*/
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":34800
 *     elif len(launchParamsList) == 1:
 *         cylaunchParamsList = (<CUDA_LAUNCH_PARAMS>launchParamsList[0])._pvt_ptr
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunchCooperativeKernelMultiDevice(cylaunchParamsList, numDevices, flags)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34800, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDevices > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_8 = __pyx_builtin_RuntimeError; 
    __pyx_t_7 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34800, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 34800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 34800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numDevices); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 34800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34800, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 34800, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":34801
 *         cylaunchParamsList = (<CUDA_LAUNCH_PARAMS>launchParamsList[0])._pvt_ptr
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchCooperativeKernelMultiDevice(cylaunchParamsList, numDevices, flags)
 *     if len(launchParamsList) > 1 and cylaunchParamsList is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34802
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 *     with nogil:
 *         err = cydriver.cuLaunchCooperativeKernelMultiDevice(cylaunchParamsList, numDevices, flags)             # <<<<<<<<<<<<<<
 *     if len(launchParamsList) > 1 and cylaunchParamsList is not NULL:
 *         free(cylaunchParamsList)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchCooperativeKernelMultiDevice(__pyx_v_cylaunchParamsList, __pyx_v_numDevices, __pyx_v_flags); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34802, __pyx_L10_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":34801
 *         cylaunchParamsList = (<CUDA_LAUNCH_PARAMS>launchParamsList[0])._pvt_ptr
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchCooperativeKernelMultiDevice(cylaunchParamsList, numDevices, flags)
 *     if len(launchParamsList) > 1 and cylaunchParamsList is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L11;
        }
        __pyx_L10_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L11:;
      }
  }

  /* "cuda/bindings/driver.pyx":34803
 *     with nogil:
 *         err = cydriver.cuLaunchCooperativeKernelMultiDevice(cylaunchParamsList, numDevices, flags)
 *     if len(launchParamsList) > 1 and cylaunchParamsList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cylaunchParamsList)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34803, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cylaunchParamsList != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L13_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":34804
 *         err = cydriver.cuLaunchCooperativeKernelMultiDevice(cylaunchParamsList, numDevices, flags)
 *     if len(launchParamsList) > 1 and cylaunchParamsList is not NULL:
 *         free(cylaunchParamsList)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cylaunchParamsList);

    /* "cuda/bindings/driver.pyx":34803
 *     with nogil:
 *         err = cydriver.cuLaunchCooperativeKernelMultiDevice(cylaunchParamsList, numDevices, flags)
 *     if len(launchParamsList) > 1 and cylaunchParamsList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cylaunchParamsList)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":34805
 *     if len(launchParamsList) > 1 and cylaunchParamsList is not NULL:
 *         free(cylaunchParamsList)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * ctypedef struct cuHostCallbackData_st:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 34805, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34636
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[tuple[CUDA_LAUNCH_PARAMS] | list[CUDA_LAUNCH_PARAMS]], unsigned int numDevices, unsigned int flags):
 *     """ Launches CUDA functions on multiple devices where thread blocks can cooperate and synchronize as they execute.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchCooperativeKernelMultiDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_36cuLaunchCooperativeKernelMultiDevice_2generator145);
  __Pyx_XDECREF(__pyx_v_launchParamsList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34813
 * ctypedef cuHostCallbackData_st cuHostCallbackData
 * 
 * @cython.show_performance_hints(False)             # <<<<<<<<<<<<<<
 * cdef void cuHostCallbackWrapper(void *data) nogil:
 *     cdef cuHostCallbackData *cbData = <cuHostCallbackData *>data
*/

static void __pyx_f_4cuda_8bindings_6driver_cuHostCallbackWrapper(void *__pyx_v_data) {
  __pyx_t_4cuda_8bindings_6driver_cuHostCallbackData *__pyx_v_cbData;

  /* "cuda/bindings/driver.pyx":34815
 * @cython.show_performance_hints(False)
 * cdef void cuHostCallbackWrapper(void *data) nogil:
 *     cdef cuHostCallbackData *cbData = <cuHostCallbackData *>data             # <<<<<<<<<<<<<<
 *     with gil:
 *         cbData.callback(cbData.userData)
*/
  __pyx_v_cbData = ((__pyx_t_4cuda_8bindings_6driver_cuHostCallbackData *)__pyx_v_data);

  /* "cuda/bindings/driver.pyx":34816
 * cdef void cuHostCallbackWrapper(void *data) nogil:
 *     cdef cuHostCallbackData *cbData = <cuHostCallbackData *>data
 *     with gil:             # <<<<<<<<<<<<<<
 *         cbData.callback(cbData.userData)
 *     free(cbData)
*/
  {
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34817
 *     cdef cuHostCallbackData *cbData = <cuHostCallbackData *>data
 *     with gil:
 *         cbData.callback(cbData.userData)             # <<<<<<<<<<<<<<
 *     free(cbData)
 * 
*/
        __pyx_v_cbData->callback(__pyx_v_cbData->userData);
      }

      /* "cuda/bindings/driver.pyx":34816
 * cdef void cuHostCallbackWrapper(void *data) nogil:
 *     cdef cuHostCallbackData *cbData = <cuHostCallbackData *>data
 *     with gil:             # <<<<<<<<<<<<<<
 *         cbData.callback(cbData.userData)
 *     free(cbData)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          goto __pyx_L5;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":34818
 *     with gil:
 *         cbData.callback(cbData.userData)
 *     free(cbData)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  free(__pyx_v_cbData);

  /* "cuda/bindings/driver.pyx":34813
 * ctypedef cuHostCallbackData_st cuHostCallbackData
 * 
 * @cython.show_performance_hints(False)             # <<<<<<<<<<<<<<
 * cdef void cuHostCallbackWrapper(void *data) nogil:
 *     cdef cuHostCallbackData *cbData = <cuHostCallbackData *>data
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":34820
 *     free(cbData)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchHostFunc(hStream, fn, userData):
 *     """ Enqueues a host function call in a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_529cuLaunchHostFunc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_528cuLaunchHostFunc, "cuLaunchHostFunc(hStream, fn, userData)\n\nEnqueues a host function call in a stream.\n\nEnqueues a host function to run in a stream. The function will be\ncalled after currently enqueued work and will block work added after\nit.\n\nThe host function must not make any CUDA API calls. Attempting to use a\nCUDA API may result in :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, but this\nis not required. The host function must not perform any synchronization\nthat may depend on outstanding CUDA work not mandated to run earlier.\nHost functions without a mandated order (such as in independent\nstreams) execute in undefined order and may be serialized.\n\nFor the purposes of Unified Memory, execution makes a number of\nguarantees:\n\n- The stream is considered idle for the duration of the function's\n  execution. Thus, for example, the function may always use memory\n  attached to the stream it was enqueued in.\n\n- The start of execution of the function has the same effect as\n  synchronizing an event recorded in the same stream immediately prior\n  to the function. It thus synchronizes streams which have been\n  \"joined\" prior to the function.\n\n- Adding device work to any stream does not have the effect of making\n  the stream active until all preceding host functions and stream\n  callbacks have executed. Thus, for example, a function might use\n  global attached memory even if work has been added to another stream,\n  if the work has been ordered behind the function call with an event.\n\n- Completion of the function does not cause a stream to become active\n  except as described above. The stream will remain idle if no device\n  work follows the function, and will remain idle across consecutive\n  host functions or stream callbacks without device work in between.\n  Thus, for example, stream synchronization can be done by signaling\n  from a host function at the end of the stream.\n\nNote that, in contrast to :py:obj:`~.cuStreamAddCallback`, the function\nwill not be calle""d in the event of an error in the CUDA context.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream to enqueue function call in\nfn : :py:obj:`~.CUhostFn`\n    The function to call once preceding stream operations are complete\nuserData : Any\n    User-specified data to be passed to the function\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuMemAllocManaged`, :py:obj:`~.cuStreamAttachMemAsync`, :py:obj:`~.cuStreamAddCallback`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_529cuLaunchHostFunc = {"cuLaunchHostFunc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_529cuLaunchHostFunc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_528cuLaunchHostFunc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_529cuLaunchHostFunc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_fn = 0;
  PyObject *__pyx_v_userData = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLaunchHostFunc (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,&__pyx_mstate_global->__pyx_n_u_fn_2,&__pyx_mstate_global->__pyx_n_u_userData_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34820, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34820, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34820, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34820, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLaunchHostFunc", 0) < (0)) __PYX_ERR(0, 34820, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLaunchHostFunc", 1, 3, 3, i); __PYX_ERR(0, 34820, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34820, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34820, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34820, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_fn = values[1];
    __pyx_v_userData = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchHostFunc", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 34820, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchHostFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_528cuLaunchHostFunc(__pyx_self, __pyx_v_hStream, __pyx_v_fn, __pyx_v_userData);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_528cuLaunchHostFunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_fn, PyObject *__pyx_v_userData) {
  CUhostFn __pyx_v_cyfn;
  PyObject *__pyx_v_pfn = NULL;
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyuserData = NULL;
  void *__pyx_v_cyuserData_ptr;
  __pyx_t_4cuda_8bindings_6driver_cuHostCallbackData *__pyx_v_cbData;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchHostFunc", 0);

  /* "cuda/bindings/driver.pyx":34882
 *     """
 *     cdef cydriver.CUhostFn cyfn
 *     if fn is None:             # <<<<<<<<<<<<<<
 *         pfn = 0
 *     elif isinstance(fn, (CUhostFn,)):
*/
  __pyx_t_1 = (__pyx_v_fn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34883
 *     cdef cydriver.CUhostFn cyfn
 *     if fn is None:
 *         pfn = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(fn, (CUhostFn,)):
 *         pfn = int(fn)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfn = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34882
 *     """
 *     cdef cydriver.CUhostFn cyfn
 *     if fn is None:             # <<<<<<<<<<<<<<
 *         pfn = 0
 *     elif isinstance(fn, (CUhostFn,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34884
 *     if fn is None:
 *         pfn = 0
 *     elif isinstance(fn, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pfn = int(fn)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_fn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34885
 *         pfn = 0
 *     elif isinstance(fn, (CUhostFn,)):
 *         pfn = int(fn)             # <<<<<<<<<<<<<<
 *     else:
 *         pfn = int(CUhostFn(fn))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34884
 *     if fn is None:
 *         pfn = 0
 *     elif isinstance(fn, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pfn = int(fn)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34887
 *         pfn = int(fn)
 *     else:
 *         pfn = int(CUhostFn(fn))             # <<<<<<<<<<<<<<
 *     cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_fn};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34887, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfn = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34888
 *     else:
 *         pfn = int(CUhostFn(fn))
 *     cyfn = <cydriver.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34888, __pyx_L1_error)
  __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34890
 *     cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34891
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34890
 *     cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34892
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34893
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":34892
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34895
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStream};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34895, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34895, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":34896
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34896, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34897
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_userData};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34897, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":34898
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr             # <<<<<<<<<<<<<<
 * 
 *     cdef cuHostCallbackData *cbData = NULL
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyuserData_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34900
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
 *     cdef cuHostCallbackData *cbData = NULL             # <<<<<<<<<<<<<<
 *     cbData = <cuHostCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:
*/
  __pyx_v_cbData = NULL;

  /* "cuda/bindings/driver.pyx":34901
 * 
 *     cdef cuHostCallbackData *cbData = NULL
 *     cbData = <cuHostCallbackData *>malloc(sizeof(cbData[0]))             # <<<<<<<<<<<<<<
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
*/
  __pyx_v_cbData = ((__pyx_t_4cuda_8bindings_6driver_cuHostCallbackData *)malloc((sizeof((__pyx_v_cbData[0])))));

  /* "cuda/bindings/driver.pyx":34902
 *     cdef cuHostCallbackData *cbData = NULL
 *     cbData = <cuHostCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:             # <<<<<<<<<<<<<<
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
 *     cbData.callback = cyfn
*/
  __pyx_t_1 = (__pyx_v_cbData == NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34903
 *     cbData = <cuHostCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)             # <<<<<<<<<<<<<<
 *     cbData.callback = cyfn
 *     cbData.userData = cyuserData_ptr
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 34903, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34902
 *     cdef cuHostCallbackData *cbData = NULL
 *     cbData = <cuHostCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:             # <<<<<<<<<<<<<<
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
 *     cbData.callback = cyfn
*/
  }

  /* "cuda/bindings/driver.pyx":34904
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
 *     cbData.callback = cyfn             # <<<<<<<<<<<<<<
 *     cbData.userData = cyuserData_ptr
 * 
*/
  __pyx_v_cbData->callback = __pyx_v_cyfn;

  /* "cuda/bindings/driver.pyx":34905
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY,)
 *     cbData.callback = cyfn
 *     cbData.userData = cyuserData_ptr             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
*/
  __pyx_v_cbData->userData = __pyx_v_cyuserData_ptr;

  /* "cuda/bindings/driver.pyx":34907
 *     cbData.userData = cyuserData_ptr
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchHostFunc(cyhStream, <cydriver.CUhostFn>cuHostCallbackWrapper, <void *>cbData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34908
 * 
 *     with nogil:
 *         err = cydriver.cuLaunchHostFunc(cyhStream, <cydriver.CUhostFn>cuHostCallbackWrapper, <void *>cbData)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchHostFunc(__pyx_v_cyhStream, ((CUhostFn)__pyx_f_4cuda_8bindings_6driver_cuHostCallbackWrapper), ((void *)__pyx_v_cbData)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34908, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34907
 *     cbData.userData = cyuserData_ptr
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchHostFunc(cyhStream, <cydriver.CUhostFn>cuHostCallbackWrapper, <void *>cbData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":34909
 *     with nogil:
 *         err = cydriver.cuLaunchHostFunc(cyhStream, <cydriver.CUhostFn>cuHostCallbackWrapper, <void *>cbData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(cbData)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34910
 *         err = cydriver.cuLaunchHostFunc(cyhStream, <cydriver.CUhostFn>cuHostCallbackWrapper, <void *>cbData)
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cbData);

    /* "cuda/bindings/driver.pyx":34909
 *     with nogil:
 *         err = cydriver.cuLaunchHostFunc(cyhStream, <cydriver.CUhostFn>cuHostCallbackWrapper, <void *>cbData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(cbData)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":34911
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 34911, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34820
 *     free(cbData)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchHostFunc(hStream, fn, userData):
 *     """ Enqueues a host function call in a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchHostFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfn);
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyuserData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34913
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetBlockShape(hfunc, int x, int y, int z):
 *     """ Sets the block-dimensions for the function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_531cuFuncSetBlockShape(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_530cuFuncSetBlockShape, "cuFuncSetBlockShape(hfunc, int x, int y, int z)\n\nSets the block-dimensions for the function.\n\n[Deprecated]\n\nSpecifies the `x`, `y`, and `z` dimensions of the thread blocks that\nare created when the kernel given by `hfunc` is launched.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Kernel to specify dimensions of\nx : int\n    X dimension\ny : int\n    Y dimension\nz : int\n    Z dimension\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuFuncSetSharedSize`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetSize`, :py:obj:`~.cuParamSeti`, :py:obj:`~.cuParamSetf`, :py:obj:`~.cuParamSetv`, :py:obj:`~.cuLaunch`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_531cuFuncSetBlockShape = {"cuFuncSetBlockShape", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_531cuFuncSetBlockShape, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_530cuFuncSetBlockShape};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_531cuFuncSetBlockShape(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  int __pyx_v_x;
  int __pyx_v_y;
  int __pyx_v_z;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncSetBlockShape (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_x,&__pyx_mstate_global->__pyx_n_u_y_2,&__pyx_mstate_global->__pyx_n_u_z_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34913, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34913, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34913, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34913, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34913, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncSetBlockShape", 0) < (0)) __PYX_ERR(0, 34913, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncSetBlockShape", 1, 4, 4, i); __PYX_ERR(0, 34913, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34913, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34913, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34913, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34913, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_x = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34914, __pyx_L3_error)
    __pyx_v_y = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34914, __pyx_L3_error)
    __pyx_v_z = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34914, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetBlockShape", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 34913, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetBlockShape", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_530cuFuncSetBlockShape(__pyx_self, __pyx_v_hfunc, __pyx_v_x, __pyx_v_y, __pyx_v_z);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_530cuFuncSetBlockShape(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_x, int __pyx_v_y, int __pyx_v_z) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncSetBlockShape", 0);

  /* "cuda/bindings/driver.pyx":34943
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34944
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34943
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34945
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34946
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34945
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34948
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34948, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34949
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncSetBlockShape(cyhfunc, x, y, z)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34949, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34950
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetBlockShape(cyhfunc, x, y, z)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34951
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuFuncSetBlockShape(cyhfunc, x, y, z)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetBlockShape(__pyx_v_cyhfunc, __pyx_v_x, __pyx_v_y, __pyx_v_z); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34951, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34950
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetBlockShape(cyhfunc, x, y, z)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34952
 *     with nogil:
 *         err = cydriver.cuFuncSetBlockShape(cyhfunc, x, y, z)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 34952, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34913
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetBlockShape(hfunc, int x, int y, int z):
 *     """ Sets the block-dimensions for the function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetBlockShape", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34954
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedSize(hfunc, unsigned int numbytes):
 *     """ Sets the dynamic shared-memory size for the function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_533cuFuncSetSharedSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_532cuFuncSetSharedSize, "cuFuncSetSharedSize(hfunc, unsigned int numbytes)\n\nSets the dynamic shared-memory size for the function.\n\n[Deprecated]\n\nSets through `numbytes` the amount of dynamic shared memory that will\nbe available to each thread block when the kernel given by `hfunc` is\nlaunched.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Kernel to specify dynamic shared-memory size for\nnumbytes : unsigned int\n    Dynamic shared-memory size per thread in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuFuncSetBlockShape`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetSize`, :py:obj:`~.cuParamSeti`, :py:obj:`~.cuParamSetf`, :py:obj:`~.cuParamSetv`, :py:obj:`~.cuLaunch`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_533cuFuncSetSharedSize = {"cuFuncSetSharedSize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_533cuFuncSetSharedSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_532cuFuncSetSharedSize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_533cuFuncSetSharedSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  unsigned int __pyx_v_numbytes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncSetSharedSize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_numbytes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34954, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34954, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34954, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncSetSharedSize", 0) < (0)) __PYX_ERR(0, 34954, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncSetSharedSize", 1, 2, 2, i); __PYX_ERR(0, 34954, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34954, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34954, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_numbytes = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numbytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34955, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetSharedSize", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 34954, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetSharedSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_532cuFuncSetSharedSize(__pyx_self, __pyx_v_hfunc, __pyx_v_numbytes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_532cuFuncSetSharedSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncSetSharedSize", 0);

  /* "cuda/bindings/driver.pyx":34981
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34982
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":34981
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34983
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":34984
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34983
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34986
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34986, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34987
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34987, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34988
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34989
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetSharedSize(__pyx_v_cyhfunc, __pyx_v_numbytes); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34989, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34988
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34990
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 34990, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34954
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedSize(hfunc, unsigned int numbytes):
 *     """ Sets the dynamic shared-memory size for the function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetSharedSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34992
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetSize(hfunc, unsigned int numbytes):
 *     """ Sets the parameter size for the function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_535cuParamSetSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_534cuParamSetSize, "cuParamSetSize(hfunc, unsigned int numbytes)\n\nSets the parameter size for the function.\n\n[Deprecated]\n\nSets through `numbytes` the total size in bytes needed by the function\nparameters of the kernel corresponding to `hfunc`.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Kernel to set parameter size for\nnumbytes : unsigned int\n    Size of parameter list in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuFuncSetBlockShape`, :py:obj:`~.cuFuncSetSharedSize`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetf`, :py:obj:`~.cuParamSeti`, :py:obj:`~.cuParamSetv`, :py:obj:`~.cuLaunch`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_535cuParamSetSize = {"cuParamSetSize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_535cuParamSetSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_534cuParamSetSize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_535cuParamSetSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  unsigned int __pyx_v_numbytes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuParamSetSize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_numbytes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 34992, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34992, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34992, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuParamSetSize", 0) < (0)) __PYX_ERR(0, 34992, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuParamSetSize", 1, 2, 2, i); __PYX_ERR(0, 34992, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34992, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34992, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_numbytes = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numbytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 34993, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetSize", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 34992, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSetSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_534cuParamSetSize(__pyx_self, __pyx_v_hfunc, __pyx_v_numbytes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_534cuParamSetSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSetSize", 0);

  /* "cuda/bindings/driver.pyx":35018
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35019
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35018
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35020
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35021
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35020
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35023
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35023, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35024
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35024, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35025
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35026
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSetSize(__pyx_v_cyhfunc, __pyx_v_numbytes); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35026, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35025
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35027
 *     with nogil:
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35027, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34992
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetSize(hfunc, unsigned int numbytes):
 *     """ Sets the parameter size for the function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSetSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35029
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSeti(hfunc, int offset, unsigned int value):
 *     """ Adds an integer parameter to the function's argument list.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_537cuParamSeti(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_536cuParamSeti, "cuParamSeti(hfunc, int offset, unsigned int value)\n\nAdds an integer parameter to the function's argument list.\n\n[Deprecated]\n\nSets an integer parameter that will be specified the next time the\nkernel corresponding to `hfunc` will be invoked. `offset` is a byte\noffset.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Kernel to add parameter to\noffset : int\n    Offset to add parameter to argument list\nvalue : unsigned int\n    Value of parameter\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuFuncSetBlockShape`, :py:obj:`~.cuFuncSetSharedSize`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetSize`, :py:obj:`~.cuParamSetf`, :py:obj:`~.cuParamSetv`, :py:obj:`~.cuLaunch`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_537cuParamSeti = {"cuParamSeti", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_537cuParamSeti, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_536cuParamSeti};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_537cuParamSeti(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  int __pyx_v_offset;
  unsigned int __pyx_v_value;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuParamSeti (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_offset_2,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35029, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35029, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35029, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35029, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuParamSeti", 0) < (0)) __PYX_ERR(0, 35029, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuParamSeti", 1, 3, 3, i); __PYX_ERR(0, 35029, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35029, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35029, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35029, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_offset = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_offset == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35030, __pyx_L3_error)
    __pyx_v_value = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35030, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSeti", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 35029, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSeti", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_536cuParamSeti(__pyx_self, __pyx_v_hfunc, __pyx_v_offset, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_536cuParamSeti(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, unsigned int __pyx_v_value) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSeti", 0);

  /* "cuda/bindings/driver.pyx":35058
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35059
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35058
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35060
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35061
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35060
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35063
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35063, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35064
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSeti(cyhfunc, offset, value)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35064, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35065
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSeti(cyhfunc, offset, value)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35066
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuParamSeti(cyhfunc, offset, value)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSeti(__pyx_v_cyhfunc, __pyx_v_offset, __pyx_v_value); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35066, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35065
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSeti(cyhfunc, offset, value)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35067
 *     with nogil:
 *         err = cydriver.cuParamSeti(cyhfunc, offset, value)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35067, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35029
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSeti(hfunc, int offset, unsigned int value):
 *     """ Adds an integer parameter to the function's argument list.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSeti", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetf(hfunc, int offset, float value):
 *     """ Adds a floating-point parameter to the function's argument list.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_539cuParamSetf(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_538cuParamSetf, "cuParamSetf(hfunc, int offset, float value)\n\nAdds a floating-point parameter to the function's argument list.\n\n[Deprecated]\n\nSets a floating-point parameter that will be specified the next time\nthe kernel corresponding to `hfunc` will be invoked. `offset` is a byte\noffset.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Kernel to add parameter to\noffset : int\n    Offset to add parameter to argument list\nvalue : float\n    Value of parameter\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuFuncSetBlockShape`, :py:obj:`~.cuFuncSetSharedSize`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetSize`, :py:obj:`~.cuParamSeti`, :py:obj:`~.cuParamSetv`, :py:obj:`~.cuLaunch`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_539cuParamSetf = {"cuParamSetf", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_539cuParamSetf, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_538cuParamSetf};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_539cuParamSetf(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  int __pyx_v_offset;
  float __pyx_v_value;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuParamSetf (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_offset_2,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35069, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuParamSetf", 0) < (0)) __PYX_ERR(0, 35069, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuParamSetf", 1, 3, 3, i); __PYX_ERR(0, 35069, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35069, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35069, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35069, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_offset = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_offset == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35070, __pyx_L3_error)
    __pyx_v_value = __Pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 35070, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetf", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 35069, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSetf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_538cuParamSetf(__pyx_self, __pyx_v_hfunc, __pyx_v_offset, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_538cuParamSetf(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, float __pyx_v_value) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSetf", 0);

  /* "cuda/bindings/driver.pyx":35098
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35099
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35098
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35100
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35101
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35100
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35103
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35103, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35104
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSetf(cyhfunc, offset, value)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35104, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35105
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetf(cyhfunc, offset, value)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35106
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuParamSetf(cyhfunc, offset, value)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSetf(__pyx_v_cyhfunc, __pyx_v_offset, __pyx_v_value); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35106, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35105
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetf(cyhfunc, offset, value)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35107
 *     with nogil:
 *         err = cydriver.cuParamSetf(cyhfunc, offset, value)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35107, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetf(hfunc, int offset, float value):
 *     """ Adds a floating-point parameter to the function's argument list.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSetf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35109
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetv(hfunc, int offset, ptr, unsigned int numbytes):
 *     """ Adds arbitrary data to the function's argument list.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_541cuParamSetv(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_540cuParamSetv, "cuParamSetv(hfunc, int offset, ptr, unsigned int numbytes)\n\nAdds arbitrary data to the function's argument list.\n\n[Deprecated]\n\nCopies an arbitrary amount of data (specified in `numbytes`) from `ptr`\ninto the parameter space of the kernel corresponding to `hfunc`.\n`offset` is a byte offset.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Kernel to add data to\noffset : int\n    Offset to add data to argument list\nptr : Any\n    Pointer to arbitrary data\nnumbytes : unsigned int\n    Size of data to copy in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuFuncSetBlockShape`, :py:obj:`~.cuFuncSetSharedSize`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetSize`, :py:obj:`~.cuParamSetf`, :py:obj:`~.cuParamSeti`, :py:obj:`~.cuLaunch`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_541cuParamSetv = {"cuParamSetv", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_541cuParamSetv, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_540cuParamSetv};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_541cuParamSetv(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  int __pyx_v_offset;
  PyObject *__pyx_v_ptr = 0;
  unsigned int __pyx_v_numbytes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuParamSetv (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_offset_2,&__pyx_mstate_global->__pyx_n_u_ptr,&__pyx_mstate_global->__pyx_n_u_numbytes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35109, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35109, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35109, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35109, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35109, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuParamSetv", 0) < (0)) __PYX_ERR(0, 35109, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuParamSetv", 1, 4, 4, i); __PYX_ERR(0, 35109, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35109, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35109, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35109, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35109, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_offset = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_offset == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35110, __pyx_L3_error)
    __pyx_v_ptr = values[2];
    __pyx_v_numbytes = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_numbytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35110, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetv", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 35109, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSetv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_540cuParamSetv(__pyx_self, __pyx_v_hfunc, __pyx_v_offset, __pyx_v_ptr, __pyx_v_numbytes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_540cuParamSetv(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, PyObject *__pyx_v_ptr, unsigned int __pyx_v_numbytes) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyptr = NULL;
  void *__pyx_v_cyptr_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSetv", 0);

  /* "cuda/bindings/driver.pyx":35140
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35141
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35140
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35142
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35143
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35142
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35145
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cyptr = _HelperInputVoidPtr(ptr)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35145, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35146
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cyptr = _HelperInputVoidPtr(ptr)
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35146, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35147
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cyptr = _HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_ptr};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35147, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyptr = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":35148
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cyptr = _HelperInputVoidPtr(ptr)
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSetv(cyhfunc, offset, cyptr_ptr, numbytes)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyptr), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyptr_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35149
 *     cyptr = _HelperInputVoidPtr(ptr)
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetv(cyhfunc, offset, cyptr_ptr, numbytes)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35150
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
 *     with nogil:
 *         err = cydriver.cuParamSetv(cyhfunc, offset, cyptr_ptr, numbytes)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSetv(__pyx_v_cyhfunc, __pyx_v_offset, __pyx_v_cyptr_ptr, __pyx_v_numbytes); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35150, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35149
 *     cyptr = _HelperInputVoidPtr(ptr)
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetv(cyhfunc, offset, cyptr_ptr, numbytes)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35151
 *     with nogil:
 *         err = cydriver.cuParamSetv(cyhfunc, offset, cyptr_ptr, numbytes)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 35151, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35109
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetv(hfunc, int offset, ptr, unsigned int numbytes):
 *     """ Adds arbitrary data to the function's argument list.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSetv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35153
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunch(f):
 *     """ Launches a CUDA function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_543cuLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_542cuLaunch, "cuLaunch(f)\n\nLaunches a CUDA function.\n\n[Deprecated]\n\nInvokes the kernel `f` on a 1 x 1 x 1 grid of blocks. The block\ncontains the number of threads specified by a previous call to\n:py:obj:`~.cuFuncSetBlockShape()`.\n\nThe block shape, dynamic shared memory size, and parameter information\nmust be set using :py:obj:`~.cuFuncSetBlockShape()`,\n:py:obj:`~.cuFuncSetSharedSize()`, :py:obj:`~.cuParamSetSize()`,\n:py:obj:`~.cuParamSeti()`, :py:obj:`~.cuParamSetf()`, and\n:py:obj:`~.cuParamSetv()` prior to calling this function.\n\nLaunching a function via :py:obj:`~.cuLaunchKernel()` invalidates the\nfunction's block shape, dynamic shared memory size, and parameter\ninformation. After launching via cuLaunchKernel, this state must be re-\ninitialized prior to calling this function. Failure to do so results in\nundefined behavior.\n\nParameters\n----------\nf : :py:obj:`~.CUfunction`\n    Kernel to launch\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_LAUNCH_FAILED`, :py:obj:`~.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`, :py:obj:`~.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`\n\nSee Also\n--------\n:py:obj:`~.cuFuncSetBlockShape`, :py:obj:`~.cuFuncSetSharedSize`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetSize`, :py:obj:`~.cuParamSetf`, :py:obj:`~.cuParamSeti`, :py:obj:`~.cuParamSetv`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_543cuLaunch = {"cuLaunch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_543cuLaunch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_542cuLaunch};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_543cuLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_f = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLaunch (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_f,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35153, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35153, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLaunch", 0) < (0)) __PYX_ERR(0, 35153, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLaunch", 1, 1, 1, i); __PYX_ERR(0, 35153, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35153, __pyx_L3_error)
    }
    __pyx_v_f = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunch", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 35153, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_542cuLaunch(__pyx_self, __pyx_v_f);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_542cuLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f) {
  CUfunction __pyx_v_cyf;
  PyObject *__pyx_v_pf = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunch", 0);

  /* "cuda/bindings/driver.pyx":35190
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35191
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
 *         pf = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pf = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35190
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35192
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35193
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35192
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35195
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_f};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35195, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35196
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunch(cyf)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35196, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35197
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunch(cyf)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35198
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
 *         err = cydriver.cuLaunch(cyf)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunch(__pyx_v_cyf); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35198, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35197
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunch(cyf)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35199
 *     with nogil:
 *         err = cydriver.cuLaunch(cyf)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35199, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35153
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunch(f):
 *     """ Launches a CUDA function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35201
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGrid(f, int grid_width, int grid_height):
 *     """ Launches a CUDA function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_545cuLaunchGrid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_544cuLaunchGrid, "cuLaunchGrid(f, int grid_width, int grid_height)\n\nLaunches a CUDA function.\n\n[Deprecated]\n\nInvokes the kernel `f` on a `grid_width` x `grid_height` grid of\nblocks. Each block contains the number of threads specified by a\nprevious call to :py:obj:`~.cuFuncSetBlockShape()`.\n\nThe block shape, dynamic shared memory size, and parameter information\nmust be set using :py:obj:`~.cuFuncSetBlockShape()`,\n:py:obj:`~.cuFuncSetSharedSize()`, :py:obj:`~.cuParamSetSize()`,\n:py:obj:`~.cuParamSeti()`, :py:obj:`~.cuParamSetf()`, and\n:py:obj:`~.cuParamSetv()` prior to calling this function.\n\nLaunching a function via :py:obj:`~.cuLaunchKernel()` invalidates the\nfunction's block shape, dynamic shared memory size, and parameter\ninformation. After launching via cuLaunchKernel, this state must be re-\ninitialized prior to calling this function. Failure to do so results in\nundefined behavior.\n\nParameters\n----------\nf : :py:obj:`~.CUfunction`\n    Kernel to launch\ngrid_width : int\n    Width of grid in blocks\ngrid_height : int\n    Height of grid in blocks\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_LAUNCH_FAILED`, :py:obj:`~.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`, :py:obj:`~.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`\n\nSee Also\n--------\n:py:obj:`~.cuFuncSetBlockShape`, :py:obj:`~.cuFuncSetSharedSize`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetSize`, :py:obj:`~.cuParamSetf`, :py:obj:`~.cuParamSeti`, :py:obj:`~.cuParamSetv`, :py:obj:`~.cuLaunch`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_545cuLaunchGrid = {"cuLaunchGrid", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_545cuLaunchGrid, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_544cuLaunchGrid};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_545cuLaunchGrid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_f = 0;
  int __pyx_v_grid_width;
  int __pyx_v_grid_height;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLaunchGrid (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_f,&__pyx_mstate_global->__pyx_n_u_grid_width,&__pyx_mstate_global->__pyx_n_u_grid_height,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35201, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35201, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35201, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35201, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLaunchGrid", 0) < (0)) __PYX_ERR(0, 35201, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLaunchGrid", 1, 3, 3, i); __PYX_ERR(0, 35201, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35201, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35201, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35201, __pyx_L3_error)
    }
    __pyx_v_f = values[0];
    __pyx_v_grid_width = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_grid_width == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35202, __pyx_L3_error)
    __pyx_v_grid_height = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_grid_height == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35202, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchGrid", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 35201, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchGrid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_544cuLaunchGrid(__pyx_self, __pyx_v_f, __pyx_v_grid_width, __pyx_v_grid_height);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_544cuLaunchGrid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, int __pyx_v_grid_width, int __pyx_v_grid_height) {
  CUfunction __pyx_v_cyf;
  PyObject *__pyx_v_pf = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchGrid", 0);

  /* "cuda/bindings/driver.pyx":35242
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35243
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
 *         pf = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pf = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35242
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35244
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35245
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35244
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35247
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_f};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35247, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35248
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunchGrid(cyf, grid_width, grid_height)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35248, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35249
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchGrid(cyf, grid_width, grid_height)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35250
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
 *         err = cydriver.cuLaunchGrid(cyf, grid_width, grid_height)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchGrid(__pyx_v_cyf, __pyx_v_grid_width, __pyx_v_grid_height); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35250, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35249
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchGrid(cyf, grid_width, grid_height)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35251
 *     with nogil:
 *         err = cydriver.cuLaunchGrid(cyf, grid_width, grid_height)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35251, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35201
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGrid(f, int grid_width, int grid_height):
 *     """ Launches a CUDA function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchGrid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35253
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGridAsync(f, int grid_width, int grid_height, hStream):
 *     """ Launches a CUDA function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_547cuLaunchGridAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_546cuLaunchGridAsync, "cuLaunchGridAsync(f, int grid_width, int grid_height, hStream)\n\nLaunches a CUDA function.\n\n    [Deprecated]\n\n    Invokes the kernel `f` on a `grid_width` x `grid_height` grid of\n    blocks. Each block contains the number of threads specified by a\n    previous call to :py:obj:`~.cuFuncSetBlockShape()`.\n\n    The block shape, dynamic shared memory size, and parameter information\n    must be set using :py:obj:`~.cuFuncSetBlockShape()`,\n    :py:obj:`~.cuFuncSetSharedSize()`, :py:obj:`~.cuParamSetSize()`,\n    :py:obj:`~.cuParamSeti()`, :py:obj:`~.cuParamSetf()`, and\n    :py:obj:`~.cuParamSetv()` prior to calling this function.\n\n    Launching a function via :py:obj:`~.cuLaunchKernel()` invalidates the\n    function's block shape, dynamic shared memory size, and parameter\n    information. After launching via cuLaunchKernel, this state must be re-\n    initialized prior to calling this function. Failure to do so results in\n    undefined behavior.\n\n    \note_null_stream\n\n    Parameters\n    ----------\n    f : :py:obj:`~.CUfunction`\n        Kernel to launch\n    grid_width : int\n        Width of grid in blocks\n    grid_height : int\n        Height of grid in blocks\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_LAUNCH_FAILED`, :py:obj:`~.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`, :py:obj:`~.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING`, :py:obj:`~.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`\n\n    See Also\n    --------\n    :py:obj:`~.cuFuncSetBlockShape`, :py:obj:`~.cuFuncSetSharedSize`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuParamSetSize`, :py:obj:`~.cuParamSetf`, :py:obj:`~.cuParamSeti`,"" :py:obj:`~.cuParamSetv`, :py:obj:`~.cuLaunch`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchKernel`\n\n    Notes\n    -----\n    In certain cases where cubins are created with no ABI (i.e., using `ptxas` `None` `no`), this function may serialize kernel launches. The CUDA driver retains asynchronous behavior by growing the per-thread stack as needed per launch and not shrinking it afterwards.\n    ");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_547cuLaunchGridAsync = {"cuLaunchGridAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_547cuLaunchGridAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_546cuLaunchGridAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_547cuLaunchGridAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_f = 0;
  int __pyx_v_grid_width;
  int __pyx_v_grid_height;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLaunchGridAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_f,&__pyx_mstate_global->__pyx_n_u_grid_width,&__pyx_mstate_global->__pyx_n_u_grid_height,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35253, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35253, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35253, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35253, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35253, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLaunchGridAsync", 0) < (0)) __PYX_ERR(0, 35253, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLaunchGridAsync", 1, 4, 4, i); __PYX_ERR(0, 35253, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35253, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35253, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35253, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35253, __pyx_L3_error)
    }
    __pyx_v_f = values[0];
    __pyx_v_grid_width = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_grid_width == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35254, __pyx_L3_error)
    __pyx_v_grid_height = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_grid_height == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35254, __pyx_L3_error)
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchGridAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 35253, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchGridAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_546cuLaunchGridAsync(__pyx_self, __pyx_v_f, __pyx_v_grid_width, __pyx_v_grid_height, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_546cuLaunchGridAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, int __pyx_v_grid_width, int __pyx_v_grid_height, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUfunction __pyx_v_cyf;
  PyObject *__pyx_v_pf = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchGridAsync", 0);

  /* "cuda/bindings/driver.pyx":35302
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35303
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35302
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35304
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35305
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35304
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35307
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35307, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35308
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35308, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35310
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35311
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
 *         pf = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pf = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35310
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35312
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35313
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pf = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":35312
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35315
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_f};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35315, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":35316
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunchGridAsync(cyf, grid_width, grid_height, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35316, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35317
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchGridAsync(cyf, grid_width, grid_height, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35318
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
 *         err = cydriver.cuLaunchGridAsync(cyf, grid_width, grid_height, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchGridAsync(__pyx_v_cyf, __pyx_v_grid_width, __pyx_v_grid_height, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35318, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35317
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchGridAsync(cyf, grid_width, grid_height, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":35319
 *     with nogil:
 *         err = cydriver.cuLaunchGridAsync(cyf, grid_width, grid_height, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 35319, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35253
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGridAsync(f, int grid_width, int grid_height, hStream):
 *     """ Launches a CUDA function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLaunchGridAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35321
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetTexRef(hfunc, int texunit, hTexRef):
 *     """ Adds a texture-reference to the function's argument list.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_549cuParamSetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_548cuParamSetTexRef, "cuParamSetTexRef(hfunc, int texunit, hTexRef)\n\nAdds a texture-reference to the function's argument list.\n\n[Deprecated]\n\nMakes the CUDA array or linear memory bound to the texture reference\n`hTexRef` available to a device program as a texture. In this version\nof CUDA, the texture-reference must be obtained via\n:py:obj:`~.cuModuleGetTexRef()` and the `texunit` parameter must be set\nto :py:obj:`~.CU_PARAM_TR_DEFAULT`.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    Kernel to add texture-reference to\ntexunit : int\n    Texture unit (must be :py:obj:`~.CU_PARAM_TR_DEFAULT`)\nhTexRef : :py:obj:`~.CUtexref`\n    Texture-reference to add to argument list\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_549cuParamSetTexRef = {"cuParamSetTexRef", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_549cuParamSetTexRef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_548cuParamSetTexRef};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_549cuParamSetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  int __pyx_v_texunit;
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuParamSetTexRef (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_texunit,&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35321, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuParamSetTexRef", 0) < (0)) __PYX_ERR(0, 35321, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuParamSetTexRef", 1, 3, 3, i); __PYX_ERR(0, 35321, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35321, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35321, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35321, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_texunit = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_texunit == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35322, __pyx_L3_error)
    __pyx_v_hTexRef = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetTexRef", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 35321, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSetTexRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_548cuParamSetTexRef(__pyx_self, __pyx_v_hfunc, __pyx_v_texunit, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_548cuParamSetTexRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_texunit, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSetTexRef", 0);

  /* "cuda/bindings/driver.pyx":35348
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35349
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35348
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35350
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35351
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35350
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35353
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfunction cyhfunc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35353, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35354
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35354, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35356
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35357
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35356
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35358
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35359
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":35358
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35361
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hfunc};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35361, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":35362
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSetTexRef(cyhfunc, texunit, cyhTexRef)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35362, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35363
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetTexRef(cyhfunc, texunit, cyhTexRef)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35364
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuParamSetTexRef(cyhfunc, texunit, cyhTexRef)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSetTexRef(__pyx_v_cyhfunc, __pyx_v_texunit, __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35364, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35363
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetTexRef(cyhfunc, texunit, cyhTexRef)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":35365
 *     with nogil:
 *         err = cydriver.cuParamSetTexRef(cyhfunc, texunit, cyhTexRef)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 35365, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35321
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetTexRef(hfunc, int texunit, hTexRef):
 *     """ Adds a texture-reference to the function's argument list.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuParamSetTexRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35367
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedMemConfig(hfunc, config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for a device function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_551cuFuncSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_550cuFuncSetSharedMemConfig, "cuFuncSetSharedMemConfig(hfunc, config: CUsharedconfig)\n\nSets the shared memory configuration for a device function.\n\n[Deprecated]\n\nOn devices with configurable shared memory banks, this function will\nforce all subsequent launches of the specified device function to have\nthe given shared memory bank size configuration. On any given launch of\nthe function, the shared memory configuration of the device will be\ntemporarily changed if needed to suit the function's preferred\nconfiguration. Changes in shared memory configuration between\nsubsequent launches of functions, may introduce a device side\nsynchronization point.\n\nAny per-function setting of shared memory bank size set via\n:py:obj:`~.cuFuncSetSharedMemConfig` will override the context wide\nsetting set with :py:obj:`~.cuCtxSetSharedMemConfig`.\n\nChanging the shared memory bank size will not increase shared memory\nusage or affect occupancy of kernels, but may have major effects on\nperformance. Larger bank sizes will allow for greater potential\nbandwidth to shared memory, but will change what kinds of accesses to\nshared memory will result in bank conflicts.\n\nThis function will do nothing on devices with fixed shared memory bank\nsize.\n\nThe supported bank configurations are:\n\n- :py:obj:`~.CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE`: use the context's\n  shared memory configuration when launching this function.\n\n- :py:obj:`~.CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE`: set shared\n  memory bank width to be natively four bytes when launching this\n  function.\n\n- :py:obj:`~.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE`: set shared\n  memory bank width to be natively eight bytes when launching this\n  function.\n\nParameters\n----------\nhfunc : :py:obj:`~.CUfunction`\n    kernel to be given a shared memory config\nconfig : :py:obj:`~.CUsharedconfig`\n    requested shared memory configuration\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~"".CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuCtxSetSharedMemConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cudaFuncSetSharedMemConfig`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_551cuFuncSetSharedMemConfig = {"cuFuncSetSharedMemConfig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_551cuFuncSetSharedMemConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_550cuFuncSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_551cuFuncSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hfunc = 0;
  PyObject *__pyx_v_config = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuFuncSetSharedMemConfig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hfunc,&__pyx_mstate_global->__pyx_n_u_config,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35367, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35367, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35367, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuFuncSetSharedMemConfig", 0) < (0)) __PYX_ERR(0, 35367, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuFuncSetSharedMemConfig", 1, 2, 2, i); __PYX_ERR(0, 35367, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35367, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35367, __pyx_L3_error)
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_config = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetSharedMemConfig", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 35367, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_config) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "config"); __PYX_ERR(0, 35368, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_550cuFuncSetSharedMemConfig(__pyx_self, __pyx_v_hfunc, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_550cuFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config) {
  CUfunction __pyx_v_cyhfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUsharedconfig __pyx_v_cyconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUsharedconfig __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncSetSharedMemConfig", 0);

  /* "cuda/bindings/driver.pyx":35425
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35426
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
 *         phfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35425
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35427
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35428
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35427
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35430
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35430, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35431
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35431, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35432
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUsharedconfig cyconfig = config.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedMemConfig(cyhfunc, cyconfig)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUsharedconfig_enum)__Pyx_PyLong_As_enum__CUsharedconfig_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 35432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyconfig = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":35433
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetSharedMemConfig(cyhfunc, cyconfig)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35434
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedMemConfig(cyhfunc, cyconfig)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetSharedMemConfig(__pyx_v_cyhfunc, __pyx_v_cyconfig); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35434, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":35433
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetSharedMemConfig(cyhfunc, cyconfig)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35435
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedMemConfig(cyhfunc, cyconfig)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35435, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35367
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedMemConfig(hfunc, config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for a device function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuFuncSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35437
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphCreate(unsigned int flags):
 *     """ Creates a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_553cuGraphCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_552cuGraphCreate, "cuGraphCreate(unsigned int flags)\n\nCreates a graph.\n\nCreates an empty graph, which is returned via `phGraph`.\n\nParameters\n----------\nflags : unsigned int\n    Graph creation flags, must be 0\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nphGraph : :py:obj:`~.CUgraph`\n    Returns newly created graph\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphDestroy`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphClone`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_553cuGraphCreate = {"cuGraphCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_553cuGraphCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_552cuGraphCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_553cuGraphCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35437, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35437, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphCreate", 0) < (0)) __PYX_ERR(0, 35437, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphCreate", 1, 1, 1, i); __PYX_ERR(0, 35437, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35437, __pyx_L3_error)
    }
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35438, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 35437, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_552cuGraphCreate(__pyx_self, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_552cuGraphCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_phGraph = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphCreate", 0);

  /* "cuda/bindings/driver.pyx":35459
 *     :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphDestroy`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphClone`
 *     """
 *     cdef CUgraph phGraph = CUgraph()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphCreate(<cydriver.CUgraph*>phGraph._pvt_ptr, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35459, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":35460
 *     """
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphCreate(<cydriver.CUgraph*>phGraph._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35461
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
 *         err = cydriver.cuGraphCreate(<cydriver.CUgraph*>phGraph._pvt_ptr, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphCreate(((CUgraph *)__pyx_v_phGraph->_pvt_ptr), __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35461, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":35460
 *     """
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphCreate(<cydriver.CUgraph*>phGraph._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":35462
 *     with nogil:
 *         err = cydriver.cuGraphCreate(<cydriver.CUgraph*>phGraph._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":35463
 *         err = cydriver.cuGraphCreate(<cydriver.CUgraph*>phGraph._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraph)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 35463, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 35463, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35462
 *     with nogil:
 *         err = cydriver.cuGraphCreate(<cydriver.CUgraph*>phGraph._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)
*/
  }

  /* "cuda/bindings/driver.pyx":35464
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 35464, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraph)) != (0)) __PYX_ERR(0, 35464, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35437
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphCreate(unsigned int flags):
 *     """ Creates a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35466
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Creates a kernel execution node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_555cuGraphAddKernelNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_554cuGraphAddKernelNode, "cuGraphAddKernelNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUDA_KERNEL_NODE_PARAMS nodeParams: Optional[CUDA_KERNEL_NODE_PARAMS])\n\nCreates a kernel execution node and adds it to a graph.\n\nCreates a new kernel execution node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies` and\narguments specified in `nodeParams`. It is possible for\n`numDependencies` to be 0, in which case the node will be placed at the\nroot of the graph. `dependencies` may not have any duplicate entries. A\nhandle to the new node will be returned in `phGraphNode`.\n\nThe CUDA_KERNEL_NODE_PARAMS structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nWhen the graph is launched, the node will invoke kernel `func` on a\n(`gridDimX` x `gridDimY` x `gridDimZ`) grid of blocks. Each block\ncontains (`blockDimX` x `blockDimY` x `blockDimZ`) threads.\n\n`sharedMemBytes` sets the amount of dynamic shared memory that will be\navailable to each thread block.\n\nKernel parameters to `func` can be specified in one of two ways:\n\n1) Kernel parameters can be specified via `kernelParams`. If the kernel\nhas N parameters, then `kernelParams` needs to be an array of N\npointers. Each pointer, from `kernelParams`[0] to `kernelParams`[N-1],\npoints to the region of memory from which the actual parameter will be\ncopied. The number of kernel parameters and their offsets and sizes do\nnot need to be specified as that information is retrieved directly from\nthe kernel's image.\n\n2) Kernel parameters for non-cooperative kernels can also be packaged\nby the application into a single buffer that is passed in via `extra`.\nThis places the burden on the application of knowing each kernel\nparameter's size and alignment/padding within the buffer. The `extra`\nparameter exists to allow this function to take additional less\ncommonly used arguments. `extra` specifies a list of names of extra""\nsettings and their corresponding values. Each extra setting name is\nimmediately followed by the corresponding value. The list must be\nterminated with either NULL or CU_LAUNCH_PARAM_END.\n\n- :py:obj:`~.CU_LAUNCH_PARAM_END`, which indicates the end of the\n  `extra` array;\n\n- :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_POINTER`, which specifies that the\n  next value in `extra` will be a pointer to a buffer containing all\n  the kernel parameters for launching kernel `func`;\n\n- :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_SIZE`, which specifies that the\n  next value in `extra` will be a pointer to a size_t containing the\n  size of the buffer specified with\n  :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_POINTER`;\n\nThe error :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned if\nkernel parameters are specified with both `kernelParams` and `extra`\n(i.e. both `kernelParams` and `extra` are non-NULL).\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned if `extra` is\nused for a cooperative kernel.\n\nThe `kernelParams` or `extra` array, as well as the argument values it\npoints to, are copied during this call.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nnodeParams : :py:obj:`~.CUDA_KERNEL_NODE_PARAMS`\n    Parameters for the GPU execution node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuLaunchCooperativeKernel`, :py:obj:`~.cuGraphKernelNodeGetParams`, :py:obj:`~.cuGraphKernelNodeSetParams`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:ob""j:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`\n\nNotes\n-----\nKernels launched using graphs must not use texture and surface references. Reading or writing through any texture or surface reference is undefined behavior. This restriction does not apply to texture and surface objects.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_555cuGraphAddKernelNode = {"cuGraphAddKernelNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_555cuGraphAddKernelNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_554cuGraphAddKernelNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_555cuGraphAddKernelNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddKernelNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35466, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35466, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35466, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35466, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35466, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddKernelNode", 0) < (0)) __PYX_ERR(0, 35466, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddKernelNode", 1, 4, 4, i); __PYX_ERR(0, 35466, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35466, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35466, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35466, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35466, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 35467, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddKernelNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 35466, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddKernelNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 35467, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_554cuGraphAddKernelNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddKernelNode_2generator146(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":35556
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuGraphAddKernelNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 35556, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_20cuGraphAddKernelNode_2generator146, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[146]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddKernelNode_locals_gene, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 35556, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddKernelNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddKernelNode_2generator146(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 35556, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 35556, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35556, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 35556, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 35556, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35556, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 35556, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35466
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Creates a kernel execution node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_554cuGraphAddKernelNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_KERNEL_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddKernelNode_2generator146 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddKernelNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":35555
 *     Kernels launched using graphs must not use texture and surface references. Reading or writing through any texture or surface reference is undefined behavior. This restriction does not apply to texture and surface objects.
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":35556
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_20cuGraphAddKernelNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 35556, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":35557
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35557, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 35557, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":35556
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":35559
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":35560
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35559
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35561
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":35562
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":35561
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35564
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35564, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":35565
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35565, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":35566
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35566, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":35567
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":35568
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35568, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":35569
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35569, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":35570
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":35571
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35571, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35571, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 35571, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":35570
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":35573
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35573, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":35574
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35574, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":35568
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":35575
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35575, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":35576
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":35575
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":35577
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35577, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35577, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35577, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 35577, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":35578
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddKernelNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_4 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_4) {
    __pyx_t_14 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":35579
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddKernelNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35580
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddKernelNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddKernelNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35580, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":35579
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddKernelNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":35581
 *     with nogil:
 *         err = cydriver.cuGraphAddKernelNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35581, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":35582
 *         err = cydriver.cuGraphAddKernelNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":35581
 *     with nogil:
 *         err = cydriver.cuGraphAddKernelNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":35583
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":35584
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 35584, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 35584, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35583
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":35585
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 35585, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 35585, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35466
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Creates a kernel execution node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddKernelNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddKernelNode_2generator146);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35587
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetParams(hNode):
 *     """ Returns a kernel node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_557cuGraphKernelNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_556cuGraphKernelNodeGetParams, "cuGraphKernelNodeGetParams(hNode)\n\nReturns a kernel node's parameters.\n\nReturns the parameters of kernel node `hNode` in `nodeParams`. The\n`kernelParams` or `extra` array returned in `nodeParams`, as well as\nthe argument values it points to, are owned by the node. This memory\nremains valid until the node is destroyed or its parameters are\nmodified, and should not be modified directly. Use\n:py:obj:`~.cuGraphKernelNodeSetParams` to update the parameters of this\nnode.\n\nThe params will contain either `kernelParams` or `extra`, according to\nwhich of these was most recently set on the node.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nnodeParams : :py:obj:`~.CUDA_KERNEL_NODE_PARAMS`\n    Pointer to return the parameters\n\nSee Also\n--------\n:py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphKernelNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_557cuGraphKernelNodeGetParams = {"cuGraphKernelNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_557cuGraphKernelNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_556cuGraphKernelNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_557cuGraphKernelNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphKernelNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35587, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35587, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphKernelNodeGetParams", 0) < (0)) __PYX_ERR(0, 35587, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 35587, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35587, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 35587, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_556cuGraphKernelNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_556cuGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphKernelNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":35619
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35620
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35619
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35621
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35622
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35621
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35624
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35624, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35625
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35625, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35626
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeGetParams(cyhNode, <cydriver.CUDA_KERNEL_NODE_PARAMS*>nodeParams._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35626, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":35627
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeGetParams(cyhNode, <cydriver.CUDA_KERNEL_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35628
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeGetParams(cyhNode, <cydriver.CUDA_KERNEL_NODE_PARAMS*>nodeParams._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeGetParams(__pyx_v_cyhNode, ((CUDA_KERNEL_NODE_PARAMS *)__pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35628, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35627
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeGetParams(cyhNode, <cydriver.CUDA_KERNEL_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35629
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeGetParams(cyhNode, <cydriver.CUDA_KERNEL_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35630
 *         err = cydriver.cuGraphKernelNodeGetParams(cyhNode, <cydriver.CUDA_KERNEL_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], nodeParams)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 35630, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 35630, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35629
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeGetParams(cyhNode, <cydriver.CUDA_KERNEL_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)
*/
  }

  /* "cuda/bindings/driver.pyx":35631
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 35631, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams)) != (0)) __PYX_ERR(0, 35631, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35587
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetParams(hNode):
 *     """ Returns a kernel node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35633
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetParams(hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets a kernel node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_559cuGraphKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_558cuGraphKernelNodeSetParams, "cuGraphKernelNodeSetParams(hNode, CUDA_KERNEL_NODE_PARAMS nodeParams: Optional[CUDA_KERNEL_NODE_PARAMS])\n\nSets a kernel node's parameters.\n\nSets the parameters of kernel node `hNode` to `nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the parameters for\nnodeParams : :py:obj:`~.CUDA_KERNEL_NODE_PARAMS`\n    Parameters to copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphKernelNodeGetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_559cuGraphKernelNodeSetParams = {"cuGraphKernelNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_559cuGraphKernelNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_558cuGraphKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_559cuGraphKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphKernelNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35633, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35633, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35633, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphKernelNodeSetParams", 0) < (0)) __PYX_ERR(0, 35633, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetParams", 1, 2, 2, i); __PYX_ERR(0, 35633, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35633, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35633, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 35633, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 35634, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_558cuGraphKernelNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_558cuGraphKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_KERNEL_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphKernelNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":35656
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35657
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35656
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35658
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35659
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35658
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35661
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35661, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35662
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35662, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35663
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeSetParams(cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":35664
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35665
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeSetParams(cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35665, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":35664
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35666
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35666, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35633
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetParams(hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets a kernel node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35668
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Creates a memcpy node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_561cuGraphAddMemcpyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_560cuGraphAddMemcpyNode, "cuGraphAddMemcpyNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUDA_MEMCPY3D copyParams: Optional[CUDA_MEMCPY3D], ctx)\n\nCreates a memcpy node and adds it to a graph.\n\nCreates a new memcpy node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies`. It is\npossible for `numDependencies` to be 0, in which case the node will be\nplaced at the root of the graph. `dependencies` may not have any\nduplicate entries. A handle to the new node will be returned in\n`phGraphNode`.\n\nWhen the graph is launched, the node will perform the memcpy described\nby `copyParams`. See :py:obj:`~.cuMemcpy3D()` for a description of the\nstructure and its restrictions.\n\nMemcpy nodes have some additional restrictions with regards to managed\nmemory, if the system contains at least one device which has a zero\nvalue for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. If one or\nmore of the operands refer to managed memory, then using the memory\ntype :py:obj:`~.CU_MEMORYTYPE_UNIFIED` is disallowed for those\noperand(s). The managed memory will be treated as residing on either\nthe host or the device, depending on which memory type is specified.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\ncopyParams : :py:obj:`~.CUDA_MEMCPY3D`\n    Parameters for the memory copy\nctx : :py:obj:`~.CUcontext`\n    Context on which to run the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuGraphMemc""pyNodeGetParams`, :py:obj:`~.cuGraphMemcpyNodeSetParams`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_561cuGraphAddMemcpyNode = {"cuGraphAddMemcpyNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_561cuGraphAddMemcpyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_560cuGraphAddMemcpyNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_561cuGraphAddMemcpyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_copyParams = 0;
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddMemcpyNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_copyParams_2,&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35668, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 35668, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35668, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35668, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35668, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35668, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddMemcpyNode", 0) < (0)) __PYX_ERR(0, 35668, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddMemcpyNode", 1, 5, 5, i); __PYX_ERR(0, 35668, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35668, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35668, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35668, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35668, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 35668, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 35669, __pyx_L3_error)
    __pyx_v_copyParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)values[3]);
    __pyx_v_ctx = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddMemcpyNode", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 35668, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemcpyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_copyParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D, 1, "copyParams", 0))) __PYX_ERR(0, 35669, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_560cuGraphAddMemcpyNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_copyParams, __pyx_v_ctx);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_2generator147(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":35725
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 35725, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_2generator147, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[147]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemcpyNode_locals_gene, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 35725, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemcpyNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_2generator147(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 35725, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 35725, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35725, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 35725, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 35725, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35725, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 35725, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35668
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Creates a memcpy node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_560cuGraphAddMemcpyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_copyParams, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_MEMCPY3D *__pyx_v_cycopyParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_2generator147 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_MEMCPY3D_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddMemcpyNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":35717
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35718
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35717
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35719
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35720
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35719
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35722
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35722, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35723
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35723, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35724
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_1 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":35725
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 35725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":35726
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35726, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 35726, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":35725
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":35728
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_7 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35729
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35728
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":35730
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_7 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35731
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35730
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":35733
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35733, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":35734
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35734, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35735
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35735, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":35736
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":35737
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35737, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35738
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35738, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":35739
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_7 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":35740
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35740, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35740, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 35740, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":35739
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":35742
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35742, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":35743
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35743, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":35737
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":35744
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35744, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35745
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":35744
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":35746
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35746, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35746, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35746, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 35746, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":35747
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddMemcpyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cycopyParams_ptr, cyctx)
*/
  __pyx_t_7 = (((PyObject *)__pyx_v_copyParams) != Py_None);
  if (__pyx_t_7) {
    __pyx_t_14 = __pyx_v_copyParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cycopyParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":35748
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddMemcpyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cycopyParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35749
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddMemcpyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cycopyParams_ptr, cyctx)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemcpyNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cycopyParams_ptr, __pyx_v_cyctx); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35749, __pyx_L12_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":35748
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddMemcpyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cycopyParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":35750
 *     with nogil:
 *         err = cydriver.cuGraphAddMemcpyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cycopyParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35750, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35751
 *         err = cydriver.cuGraphAddMemcpyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cycopyParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":35750
 *     with nogil:
 *         err = cydriver.cuGraphAddMemcpyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cycopyParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":35752
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35753
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35753, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 35753, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35752
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":35754
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 35754, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 35754, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35668
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Creates a memcpy node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemcpyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_2generator147);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35756
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeGetParams(hNode):
 *     """ Returns a memcpy node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_563cuGraphMemcpyNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_562cuGraphMemcpyNodeGetParams, "cuGraphMemcpyNodeGetParams(hNode)\n\nReturns a memcpy node's parameters.\n\nReturns the parameters of memcpy node `hNode` in `nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nnodeParams : :py:obj:`~.CUDA_MEMCPY3D`\n    Pointer to return the parameters\n\nSee Also\n--------\n:py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphMemcpyNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_563cuGraphMemcpyNodeGetParams = {"cuGraphMemcpyNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_563cuGraphMemcpyNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_562cuGraphMemcpyNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_563cuGraphMemcpyNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphMemcpyNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35756, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35756, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphMemcpyNodeGetParams", 0) < (0)) __PYX_ERR(0, 35756, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphMemcpyNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 35756, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35756, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemcpyNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 35756, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemcpyNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_562cuGraphMemcpyNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_562cuGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_nodeParams = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemcpyNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":35779
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35780
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35779
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35781
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35782
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35781
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35784
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35784, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35785
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35785, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35786
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphMemcpyNodeGetParams(cyhNode, <cydriver.CUDA_MEMCPY3D*>nodeParams._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35786, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":35787
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemcpyNodeGetParams(cyhNode, <cydriver.CUDA_MEMCPY3D*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35788
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 *     with nogil:
 *         err = cydriver.cuGraphMemcpyNodeGetParams(cyhNode, <cydriver.CUDA_MEMCPY3D*>nodeParams._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemcpyNodeGetParams(__pyx_v_cyhNode, ((CUDA_MEMCPY3D *)__pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35788, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35787
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemcpyNodeGetParams(cyhNode, <cydriver.CUDA_MEMCPY3D*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35789
 *     with nogil:
 *         err = cydriver.cuGraphMemcpyNodeGetParams(cyhNode, <cydriver.CUDA_MEMCPY3D*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35790
 *         err = cydriver.cuGraphMemcpyNodeGetParams(cyhNode, <cydriver.CUDA_MEMCPY3D*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], nodeParams)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 35790, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 35790, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35789
 *     with nogil:
 *         err = cydriver.cuGraphMemcpyNodeGetParams(cyhNode, <cydriver.CUDA_MEMCPY3D*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)
*/
  }

  /* "cuda/bindings/driver.pyx":35791
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 35791, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams)) != (0)) __PYX_ERR(0, 35791, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35756
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeGetParams(hNode):
 *     """ Returns a memcpy node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemcpyNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35793
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMCPY3D]):
 *     """ Sets a memcpy node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_565cuGraphMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_564cuGraphMemcpyNodeSetParams, "cuGraphMemcpyNodeSetParams(hNode, CUDA_MEMCPY3D nodeParams: Optional[CUDA_MEMCPY3D])\n\nSets a memcpy node's parameters.\n\nSets the parameters of memcpy node `hNode` to `nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the parameters for\nnodeParams : :py:obj:`~.CUDA_MEMCPY3D`\n    Parameters to copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphMemcpyNodeGetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_565cuGraphMemcpyNodeSetParams = {"cuGraphMemcpyNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_565cuGraphMemcpyNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_564cuGraphMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_565cuGraphMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphMemcpyNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35793, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35793, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35793, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphMemcpyNodeSetParams", 0) < (0)) __PYX_ERR(0, 35793, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphMemcpyNodeSetParams", 1, 2, 2, i); __PYX_ERR(0, 35793, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35793, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35793, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemcpyNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 35793, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D, 1, "nodeParams", 0))) __PYX_ERR(0, 35794, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_564cuGraphMemcpyNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_564cuGraphMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_MEMCPY3D *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_MEMCPY3D_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemcpyNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":35816
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35817
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35816
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35818
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35819
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35818
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35821
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_MEMCPY3D* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35821, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35822
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMCPY3D* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35822, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35823
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_MEMCPY3D* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphMemcpyNodeSetParams(cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":35824
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_MEMCPY3D* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemcpyNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35825
 *     cdef cydriver.CUDA_MEMCPY3D* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphMemcpyNodeSetParams(cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemcpyNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35825, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":35824
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_MEMCPY3D* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemcpyNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35826
 *     with nogil:
 *         err = cydriver.cuGraphMemcpyNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35826, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35793
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMCPY3D]):
 *     """ Sets a memcpy node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35828
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Creates a memset node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_567cuGraphAddMemsetNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_566cuGraphAddMemsetNode, "cuGraphAddMemsetNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUDA_MEMSET_NODE_PARAMS memsetParams: Optional[CUDA_MEMSET_NODE_PARAMS], ctx)\n\nCreates a memset node and adds it to a graph.\n\nCreates a new memset node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies`. It is\npossible for `numDependencies` to be 0, in which case the node will be\nplaced at the root of the graph. `dependencies` may not have any\nduplicate entries. A handle to the new node will be returned in\n`phGraphNode`.\n\nThe element size must be 1, 2, or 4 bytes. When the graph is launched,\nthe node will perform the memset described by `memsetParams`.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nmemsetParams : :py:obj:`~.CUDA_MEMSET_NODE_PARAMS`\n    Parameters for the memory set\nctx : :py:obj:`~.CUcontext`\n    Context on which to run the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuGraphMemsetNodeGetParams`, :py:obj:`~.cuGraphMemsetNodeSetParams`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_567cuGraphAddMemsetNode = {"cuGraphAddMemsetNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_567cuGraphAddMemsetNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_566cuGraphAddMemsetNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_567cuGraphAddMemsetNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams = 0;
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddMemsetNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_memsetParams,&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35828, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 35828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddMemsetNode", 0) < (0)) __PYX_ERR(0, 35828, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddMemsetNode", 1, 5, 5, i); __PYX_ERR(0, 35828, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35828, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35828, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35828, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35828, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 35828, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 35829, __pyx_L3_error)
    __pyx_v_memsetParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *)values[3]);
    __pyx_v_ctx = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddMemsetNode", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 35828, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemsetNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memsetParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS, 1, "memsetParams", 0))) __PYX_ERR(0, 35829, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_566cuGraphAddMemsetNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_memsetParams, __pyx_v_ctx);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_2generator148(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":35875
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 35875, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_2generator148, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[148]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemsetNode_locals_gene, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 35875, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemsetNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_2generator148(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 35875, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 35875, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35875, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 35875, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 35875, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35875, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 35875, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35828
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Creates a memset node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_566cuGraphAddMemsetNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_MEMSET_NODE_PARAMS *__pyx_v_cymemsetParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_2generator148 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_MEMSET_NODE_PARAMS_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddMemsetNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":35867
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35868
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35867
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35869
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35870
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35869
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35872
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35872, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35873
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35873, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35874
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_1 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":35875
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 35875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":35876
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 35876, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":35875
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":35878
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_7 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35879
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35878
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":35880
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_7 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35881
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35880
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":35883
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35883, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":35884
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35884, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35885
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35885, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":35886
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":35887
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35887, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35888
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35888, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":35889
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_7 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":35890
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35890, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35890, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 35890, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":35889
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":35892
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35892, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":35893
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35893, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":35887
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":35894
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35894, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35895
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35895, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":35894
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":35896
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35896, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35896, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 35896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35896, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 35896, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":35897
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddMemsetNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cymemsetParams_ptr, cyctx)
*/
  __pyx_t_7 = (((PyObject *)__pyx_v_memsetParams) != Py_None);
  if (__pyx_t_7) {
    __pyx_t_14 = __pyx_v_memsetParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cymemsetParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":35898
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddMemsetNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cymemsetParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35899
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddMemsetNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cymemsetParams_ptr, cyctx)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemsetNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cymemsetParams_ptr, __pyx_v_cyctx); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35899, __pyx_L12_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":35898
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddMemsetNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cymemsetParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":35900
 *     with nogil:
 *         err = cydriver.cuGraphAddMemsetNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cymemsetParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35900, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35901
 *         err = cydriver.cuGraphAddMemsetNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cymemsetParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":35900
 *     with nogil:
 *         err = cydriver.cuGraphAddMemsetNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cymemsetParams_ptr, cyctx)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":35902
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":35903
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35903, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 35903, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35902
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":35904
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 35904, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 35904, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35828
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Creates a memset node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemsetNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_2generator148);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35906
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeGetParams(hNode):
 *     """ Returns a memset node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_569cuGraphMemsetNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_568cuGraphMemsetNodeGetParams, "cuGraphMemsetNodeGetParams(hNode)\n\nReturns a memset node's parameters.\n\nReturns the parameters of memset node `hNode` in `nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nnodeParams : :py:obj:`~.CUDA_MEMSET_NODE_PARAMS`\n    Pointer to return the parameters\n\nSee Also\n--------\n:py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphMemsetNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_569cuGraphMemsetNodeGetParams = {"cuGraphMemsetNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_569cuGraphMemsetNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_568cuGraphMemsetNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_569cuGraphMemsetNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphMemsetNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35906, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphMemsetNodeGetParams", 0) < (0)) __PYX_ERR(0, 35906, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphMemsetNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 35906, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35906, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemsetNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 35906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemsetNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_568cuGraphMemsetNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_568cuGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_nodeParams = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemsetNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":35929
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35930
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35929
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35931
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35932
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35931
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35934
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35934, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35935
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35935, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35936
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphMemsetNodeGetParams(cyhNode, <cydriver.CUDA_MEMSET_NODE_PARAMS*>nodeParams._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35936, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":35937
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemsetNodeGetParams(cyhNode, <cydriver.CUDA_MEMSET_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35938
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
 *     with nogil:
 *         err = cydriver.cuGraphMemsetNodeGetParams(cyhNode, <cydriver.CUDA_MEMSET_NODE_PARAMS*>nodeParams._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemsetNodeGetParams(__pyx_v_cyhNode, ((CUDA_MEMSET_NODE_PARAMS *)__pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35938, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35937
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemsetNodeGetParams(cyhNode, <cydriver.CUDA_MEMSET_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35939
 *     with nogil:
 *         err = cydriver.cuGraphMemsetNodeGetParams(cyhNode, <cydriver.CUDA_MEMSET_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35940
 *         err = cydriver.cuGraphMemsetNodeGetParams(cyhNode, <cydriver.CUDA_MEMSET_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], nodeParams)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 35940, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 35940, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35939
 *     with nogil:
 *         err = cydriver.cuGraphMemsetNodeGetParams(cyhNode, <cydriver.CUDA_MEMSET_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)
*/
  }

  /* "cuda/bindings/driver.pyx":35941
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 35941, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams)) != (0)) __PYX_ERR(0, 35941, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35906
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeGetParams(hNode):
 *     """ Returns a memset node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemsetNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35943
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMSET_NODE_PARAMS]):
 *     """ Sets a memset node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_571cuGraphMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_570cuGraphMemsetNodeSetParams, "cuGraphMemsetNodeSetParams(hNode, CUDA_MEMSET_NODE_PARAMS nodeParams: Optional[CUDA_MEMSET_NODE_PARAMS])\n\nSets a memset node's parameters.\n\nSets the parameters of memset node `hNode` to `nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the parameters for\nnodeParams : :py:obj:`~.CUDA_MEMSET_NODE_PARAMS`\n    Parameters to copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphMemsetNodeGetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_571cuGraphMemsetNodeSetParams = {"cuGraphMemsetNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_571cuGraphMemsetNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_570cuGraphMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_571cuGraphMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphMemsetNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35943, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphMemsetNodeSetParams", 0) < (0)) __PYX_ERR(0, 35943, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphMemsetNodeSetParams", 1, 2, 2, i); __PYX_ERR(0, 35943, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35943, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35943, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemsetNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 35943, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 35944, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_570cuGraphMemsetNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_570cuGraphMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_MEMSET_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_MEMSET_NODE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemsetNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":35966
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35967
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":35966
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35968
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":35969
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35968
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35971
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35971, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35972
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35972, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":35973
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphMemsetNodeSetParams(cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":35974
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemsetNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35975
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphMemsetNodeSetParams(cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemsetNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35975, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":35974
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemsetNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35976
 *     with nogil:
 *         err = cydriver.cuGraphMemsetNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 35976, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35943
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMSET_NODE_PARAMS]):
 *     """ Sets a memset node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35978
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Creates a host execution node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_573cuGraphAddHostNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_572cuGraphAddHostNode, "cuGraphAddHostNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUDA_HOST_NODE_PARAMS nodeParams: Optional[CUDA_HOST_NODE_PARAMS])\n\nCreates a host execution node and adds it to a graph.\n\nCreates a new CPU execution node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies` and\narguments specified in `nodeParams`. It is possible for\n`numDependencies` to be 0, in which case the node will be placed at the\nroot of the graph. `dependencies` may not have any duplicate entries. A\nhandle to the new node will be returned in `phGraphNode`.\n\nWhen the graph is launched, the node will invoke the specified CPU\nfunction. Host nodes are not supported under MPS with pre-Volta GPUs.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nnodeParams : :py:obj:`~.CUDA_HOST_NODE_PARAMS`\n    Parameters for the host node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuLaunchHostFunc`, :py:obj:`~.cuGraphHostNodeGetParams`, :py:obj:`~.cuGraphHostNodeSetParams`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_573cuGraphAddHostNode = {"cuGraphAddHostNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_573cuGraphAddHostNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_572cuGraphAddHostNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_573cuGraphAddHostNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddHostNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 35978, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35978, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35978, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35978, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35978, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddHostNode", 0) < (0)) __PYX_ERR(0, 35978, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddHostNode", 1, 4, 4, i); __PYX_ERR(0, 35978, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35978, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35978, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35978, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35978, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 35979, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddHostNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 35978, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddHostNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 35979, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_572cuGraphAddHostNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuGraphAddHostNode_2generator149(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36015
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuGraphAddHostNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 36015, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_18cuGraphAddHostNode_2generator149, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[149]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddHostNode_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36015, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddHostNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuGraphAddHostNode_2generator149(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36015, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36015, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36015, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36015, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36015, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36015, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 36015, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35978
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Creates a host execution node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_572cuGraphAddHostNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_HOST_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuGraphAddHostNode_2generator149 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_HOST_NODE_PARAMS_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddHostNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":36014
 *     :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuLaunchHostFunc`, :py:obj:`~.cuGraphHostNodeGetParams`, :py:obj:`~.cuGraphHostNodeSetParams`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36015
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_18cuGraphAddHostNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 36015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":36016
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36016, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 36016, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36015
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":36018
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36019
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36018
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36020
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36021
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36020
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36023
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36023, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":36024
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36024, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":36025
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36025, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36026
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":36027
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36027, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36028
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36028, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36029
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":36030
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36030, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36030, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 36030, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36029
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":36032
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36032, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":36033
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36033, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":36027
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36034
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36034, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36035
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":36034
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36036
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36036, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36036, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 36036, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36037
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddHostNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_4 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_4) {
    __pyx_t_14 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":36038
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddHostNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36039
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddHostNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddHostNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36039, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":36038
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddHostNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":36040
 *     with nogil:
 *         err = cydriver.cuGraphAddHostNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36040, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36041
 *         err = cydriver.cuGraphAddHostNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":36040
 *     with nogil:
 *         err = cydriver.cuGraphAddHostNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":36042
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36043
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 36043, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 36043, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36042
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":36044
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 36044, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36044, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35978
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Creates a host execution node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddHostNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuGraphAddHostNode_2generator149);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36046
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeGetParams(hNode):
 *     """ Returns a host node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_575cuGraphHostNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_574cuGraphHostNodeGetParams, "cuGraphHostNodeGetParams(hNode)\n\nReturns a host node's parameters.\n\nReturns the parameters of host node `hNode` in `nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nnodeParams : :py:obj:`~.CUDA_HOST_NODE_PARAMS`\n    Pointer to return the parameters\n\nSee Also\n--------\n:py:obj:`~.cuLaunchHostFunc`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphHostNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_575cuGraphHostNodeGetParams = {"cuGraphHostNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_575cuGraphHostNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_574cuGraphHostNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_575cuGraphHostNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphHostNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36046, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphHostNodeGetParams", 0) < (0)) __PYX_ERR(0, 36046, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphHostNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 36046, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36046, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphHostNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 36046, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphHostNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_574cuGraphHostNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_574cuGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphHostNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":36069
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36070
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36069
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36071
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36072
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36071
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36074
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36074, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36075
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36075, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36076
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphHostNodeGetParams(cyhNode, <cydriver.CUDA_HOST_NODE_PARAMS*>nodeParams._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36076, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36077
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphHostNodeGetParams(cyhNode, <cydriver.CUDA_HOST_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36078
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
 *     with nogil:
 *         err = cydriver.cuGraphHostNodeGetParams(cyhNode, <cydriver.CUDA_HOST_NODE_PARAMS*>nodeParams._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphHostNodeGetParams(__pyx_v_cyhNode, ((CUDA_HOST_NODE_PARAMS *)__pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36078, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36077
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphHostNodeGetParams(cyhNode, <cydriver.CUDA_HOST_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36079
 *     with nogil:
 *         err = cydriver.cuGraphHostNodeGetParams(cyhNode, <cydriver.CUDA_HOST_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36080
 *         err = cydriver.cuGraphHostNodeGetParams(cyhNode, <cydriver.CUDA_HOST_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], nodeParams)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 36080, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 36080, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36079
 *     with nogil:
 *         err = cydriver.cuGraphHostNodeGetParams(cyhNode, <cydriver.CUDA_HOST_NODE_PARAMS*>nodeParams._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)
*/
  }

  /* "cuda/bindings/driver.pyx":36081
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36081, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams)) != (0)) __PYX_ERR(0, 36081, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36046
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeGetParams(hNode):
 *     """ Returns a host node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphHostNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36083
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeSetParams(hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets a host node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_577cuGraphHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_576cuGraphHostNodeSetParams, "cuGraphHostNodeSetParams(hNode, CUDA_HOST_NODE_PARAMS nodeParams: Optional[CUDA_HOST_NODE_PARAMS])\n\nSets a host node's parameters.\n\nSets the parameters of host node `hNode` to `nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the parameters for\nnodeParams : :py:obj:`~.CUDA_HOST_NODE_PARAMS`\n    Parameters to copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuLaunchHostFunc`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphHostNodeGetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_577cuGraphHostNodeSetParams = {"cuGraphHostNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_577cuGraphHostNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_576cuGraphHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_577cuGraphHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphHostNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36083, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36083, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36083, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphHostNodeSetParams", 0) < (0)) __PYX_ERR(0, 36083, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphHostNodeSetParams", 1, 2, 2, i); __PYX_ERR(0, 36083, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36083, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36083, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphHostNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 36083, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 36084, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_576cuGraphHostNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_576cuGraphHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_HOST_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_HOST_NODE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphHostNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":36106
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36107
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36106
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36108
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36109
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36108
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36111
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36111, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36112
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36112, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36113
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphHostNodeSetParams(cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":36114
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphHostNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36115
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphHostNodeSetParams(cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphHostNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36115, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":36114
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphHostNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36116
 *     with nogil:
 *         err = cydriver.cuGraphHostNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 36116, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36083
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeSetParams(hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets a host node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36118
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, childGraph):
 *     """ Creates a child graph node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_579cuGraphAddChildGraphNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_578cuGraphAddChildGraphNode, "cuGraphAddChildGraphNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, childGraph)\n\nCreates a child graph node and adds it to a graph.\n\nCreates a new node which executes an embedded graph, and adds it to\n`hGraph` with `numDependencies` dependencies specified via\n`dependencies`. It is possible for `numDependencies` to be 0, in which\ncase the node will be placed at the root of the graph. `dependencies`\nmay not have any duplicate entries. A handle to the new node will be\nreturned in `phGraphNode`.\n\nIf `childGraph` contains allocation nodes, free nodes, or conditional\nnodes, this call will return an error.\n\nThe node executes an embedded child graph. The child graph is cloned in\nthis call.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nchildGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    The graph to clone into this node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphChildGraphNodeGetGraph`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphClone`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_579cuGraphAddChildGraphNode = {"cuGraphAddChildGraphNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_579cuGraphAddChildGraphNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_578cuGraphAddChildGraphNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_579cuGraphAddChildGraphNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_childGraph = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddChildGraphNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_childGraph,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36118, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddChildGraphNode", 0) < (0)) __PYX_ERR(0, 36118, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddChildGraphNode", 1, 4, 4, i); __PYX_ERR(0, 36118, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36118, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36118, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36118, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36118, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 36119, __pyx_L3_error)
    __pyx_v_childGraph = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddChildGraphNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 36118, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddChildGraphNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_578cuGraphAddChildGraphNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_childGraph);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_2generator150(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36166
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 36166, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_2generator150, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[150]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddChildGraphNode_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36166, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddChildGraphNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_2generator150(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36166, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36166, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36166, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36166, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36166, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36166, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 36166, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36118
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, childGraph):
 *     """ Creates a child graph node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_578cuGraphAddChildGraphNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_childGraph) {
  CUgraph __pyx_v_cychildGraph;
  PyObject *__pyx_v_pchildGraph = NULL;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_2generator150 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddChildGraphNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":36158
 *     """
 *     cdef cydriver.CUgraph cychildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_childGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36159
 *     cdef cydriver.CUgraph cychildGraph
 *     if childGraph is None:
 *         pchildGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pchildGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36158
 *     """
 *     cdef cydriver.CUgraph cychildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36160
 *     if childGraph is None:
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36161
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_childGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pchildGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36160
 *     if childGraph is None:
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36163
 *         pchildGraph = int(childGraph)
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))             # <<<<<<<<<<<<<<
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     dependencies = [] if dependencies is None else dependencies
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_childGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36163, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pchildGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36164
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36164, __pyx_L1_error)
  __pyx_v_cychildGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36165
 *         pchildGraph = int(CUgraph(childGraph))
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_1 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36166
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 36166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":36167
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 36167, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36166
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":36169
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_7 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36170
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36169
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36171
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_7 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36172
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36171
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36174
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36174, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36175
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36175, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36176
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36176, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36177
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":36178
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36178, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36179
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36179, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36180
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_7 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":36181
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36181, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36181, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 36181, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36180
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":36183
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36183, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":36184
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36184, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":36178
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":36185
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36185, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36186
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":36185
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":36187
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddChildGraphNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cychildGraph)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36187, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36187, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36187, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 36187, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36188
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddChildGraphNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cychildGraph)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36189
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
 *         err = cydriver.cuGraphAddChildGraphNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cychildGraph)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddChildGraphNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cychildGraph); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36189, __pyx_L12_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":36188
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddChildGraphNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cychildGraph)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":36190
 *     with nogil:
 *         err = cydriver.cuGraphAddChildGraphNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cychildGraph)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36190, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36191
 *         err = cydriver.cuGraphAddChildGraphNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cychildGraph)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":36190
 *     with nogil:
 *         err = cydriver.cuGraphAddChildGraphNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cychildGraph)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":36192
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36193
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 36193, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 36193, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36192
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":36194
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36194, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36194, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36118
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, childGraph):
 *     """ Creates a child graph node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddChildGraphNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pchildGraph);
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_2generator150);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36196
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphChildGraphNodeGetGraph(hNode):
 *     """ Gets a handle to the embedded graph of a child graph node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_581cuGraphChildGraphNodeGetGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_580cuGraphChildGraphNodeGetGraph, "cuGraphChildGraphNodeGetGraph(hNode)\n\nGets a handle to the embedded graph of a child graph node.\n\nGets a handle to the embedded graph in a child graph node. This call\ndoes not clone the graph. Changes to the graph will be reflected in the\nnode, and the node retains ownership of the graph.\n\nAllocation and free nodes cannot be added to the returned graph.\nAttempting to do so will return an error.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the embedded graph for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nphGraph : :py:obj:`~.CUgraph`\n    Location to store a handle to the graph\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphNodeFindInClone`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_581cuGraphChildGraphNodeGetGraph = {"cuGraphChildGraphNodeGetGraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_581cuGraphChildGraphNodeGetGraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_580cuGraphChildGraphNodeGetGraph};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_581cuGraphChildGraphNodeGetGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphChildGraphNodeGetGraph (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36196, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36196, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphChildGraphNodeGetGraph", 0) < (0)) __PYX_ERR(0, 36196, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphChildGraphNodeGetGraph", 1, 1, 1, i); __PYX_ERR(0, 36196, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36196, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphChildGraphNodeGetGraph", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 36196, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphChildGraphNodeGetGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_580cuGraphChildGraphNodeGetGraph(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_580cuGraphChildGraphNodeGetGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_phGraph = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphChildGraphNodeGetGraph", 0);

  /* "cuda/bindings/driver.pyx":36224
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36225
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36224
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36226
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36227
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36226
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36229
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36229, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36230
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36230, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36231
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphChildGraphNodeGetGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36231, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36232
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphChildGraphNodeGetGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36233
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
 *         err = cydriver.cuGraphChildGraphNodeGetGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphChildGraphNodeGetGraph(__pyx_v_cyhNode, ((CUgraph *)__pyx_v_phGraph->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36233, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36232
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphChildGraphNodeGetGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36234
 *     with nogil:
 *         err = cydriver.cuGraphChildGraphNodeGetGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36235
 *         err = cydriver.cuGraphChildGraphNodeGetGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraph)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 36235, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 36235, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36234
 *     with nogil:
 *         err = cydriver.cuGraphChildGraphNodeGetGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)
*/
  }

  /* "cuda/bindings/driver.pyx":36236
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36236, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraph)) != (0)) __PYX_ERR(0, 36236, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36196
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphChildGraphNodeGetGraph(hNode):
 *     """ Gets a handle to the embedded graph of a child graph node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphChildGraphNodeGetGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36238
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Creates an empty node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_583cuGraphAddEmptyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_582cuGraphAddEmptyNode, "cuGraphAddEmptyNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies)\n\nCreates an empty node and adds it to a graph.\n\nCreates a new node which performs no operation, and adds it to `hGraph`\nwith `numDependencies` dependencies specified via `dependencies`. It is\npossible for `numDependencies` to be 0, in which case the node will be\nplaced at the root of the graph. `dependencies` may not have any\nduplicate entries. A handle to the new node will be returned in\n`phGraphNode`.\n\nAn empty node performs no operation during execution, but can be used\nfor transitive ordering. For example, a phased execution graph with 2\ngroups of n nodes with a barrier between them can be represented using\nan empty node and 2*n dependency edges, rather than no empty node and\nn^2 dependency edges.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_583cuGraphAddEmptyNode = {"cuGraphAddEmptyNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_583cuGraphAddEmptyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_582cuGraphAddEmptyNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_583cuGraphAddEmptyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddEmptyNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36238, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36238, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36238, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36238, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddEmptyNode", 0) < (0)) __PYX_ERR(0, 36238, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddEmptyNode", 1, 3, 3, i); __PYX_ERR(0, 36238, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36238, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36238, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36238, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 36239, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddEmptyNode", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 36238, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEmptyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_582cuGraphAddEmptyNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_19cuGraphAddEmptyNode_2generator151(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36276
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_19cuGraphAddEmptyNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 36276, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_19cuGraphAddEmptyNode_2generator151, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[151]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddEmptyNode_locals_genex, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36276, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEmptyNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_19cuGraphAddEmptyNode_2generator151(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36276, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36276, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36276, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36276, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36276, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36276, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 36276, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36238
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Creates an empty node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_582cuGraphAddEmptyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_19cuGraphAddEmptyNode_2generator151 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddEmptyNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":36275
 *     :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36276
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_19cuGraphAddEmptyNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 36276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":36277
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36277, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 36277, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36276
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":36279
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36280
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36279
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36281
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36282
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36281
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36284
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36284, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":36285
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36285, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":36286
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36286, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36287
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":36288
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36288, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36289
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36289, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36290
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":36291
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36291, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36291, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36291, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36291, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36291, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36291, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36291, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36291, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36291, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 36291, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36290
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":36293
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36293, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":36294
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36294, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":36288
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36295
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36295, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36296
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":36295
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36297
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddEmptyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36297, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36297, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36297, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 36297, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36298
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddEmptyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36299
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
 *         err = cydriver.cuGraphAddEmptyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEmptyNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36299, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":36298
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddEmptyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":36300
 *     with nogil:
 *         err = cydriver.cuGraphAddEmptyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36300, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36301
 *         err = cydriver.cuGraphAddEmptyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":36300
 *     with nogil:
 *         err = cydriver.cuGraphAddEmptyNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":36302
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36303
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 36303, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 36303, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36302
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":36304
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 36304, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36304, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36238
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Creates an empty node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEmptyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_19cuGraphAddEmptyNode_2generator151);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36306
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event record node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_585cuGraphAddEventRecordNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_584cuGraphAddEventRecordNode, "cuGraphAddEventRecordNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event)\n\nCreates an event record node and adds it to a graph.\n\nCreates a new event record node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies` and event\nspecified in `event`. It is possible for `numDependencies` to be 0, in\nwhich case the node will be placed at the root of the graph.\n`dependencies` may not have any duplicate entries. A handle to the new\nnode will be returned in `phGraphNode`.\n\nEach launch of the graph will record `event` to capture execution of\nthe node's dependencies.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nevent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event for the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_585cuGraphAddEventRecordNode = {"cuGraphAddEventRecordNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_585cuGraphAddEventRecordNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_584cuGraphAddEventRecordNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_585cuGraphAddEventRecordNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddEventRecordNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_event_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36306, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddEventRecordNode", 0) < (0)) __PYX_ERR(0, 36306, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddEventRecordNode", 1, 4, 4, i); __PYX_ERR(0, 36306, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36306, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36306, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36306, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36306, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 36307, __pyx_L3_error)
    __pyx_v_event = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddEventRecordNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 36306, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEventRecordNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_584cuGraphAddEventRecordNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_2generator152(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36351
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 36351, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_2generator152, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[152]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddEventRecordNode_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36351, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEventRecordNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_2generator152(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36351, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36351, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36351, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36351, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36351, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36351, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 36351, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36306
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event record node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_584cuGraphAddEventRecordNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_2generator152 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddEventRecordNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":36343
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36344
 *     cdef cydriver.CUevent cyevent
 *     if event is None:
 *         pevent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pevent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36343
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36345
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36346
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36345
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36348
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36348, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36349
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36349, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36350
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_1 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36351
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 36351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":36352
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36352, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 36352, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36351
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":36354
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_7 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36355
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36354
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36356
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_7 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36357
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36356
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36359
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36359, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36360
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36360, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36361
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36361, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36362
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":36363
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36363, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36364
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36364, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36365
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_7 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":36366
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36366, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36366, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36366, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36366, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36366, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36366, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36366, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36366, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36366, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 36366, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36365
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":36368
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36368, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":36369
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36369, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":36363
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":36370
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36370, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36371
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":36370
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":36372
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddEventRecordNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36372, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36372, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36372, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 36372, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36373
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddEventRecordNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36374
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
 *         err = cydriver.cuGraphAddEventRecordNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEventRecordNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cyevent); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36374, __pyx_L12_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":36373
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddEventRecordNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":36375
 *     with nogil:
 *         err = cydriver.cuGraphAddEventRecordNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36375, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36376
 *         err = cydriver.cuGraphAddEventRecordNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":36375
 *     with nogil:
 *         err = cydriver.cuGraphAddEventRecordNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":36377
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36378
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 36378, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 36378, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36377
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":36379
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36379, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36379, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36306
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event record node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEventRecordNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_2generator152);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36381
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeGetEvent(hNode):
 *     """ Returns the event associated with an event record node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_587cuGraphEventRecordNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_586cuGraphEventRecordNodeGetEvent, "cuGraphEventRecordNodeGetEvent(hNode)\n\nReturns the event associated with an event record node.\n\nReturns the event of event record node `hNode` in `event_out`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the event for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nevent_out : :py:obj:`~.CUevent`\n    Pointer to return the event\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphEventRecordNodeSetEvent`, :py:obj:`~.cuGraphEventWaitNodeGetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_587cuGraphEventRecordNodeGetEvent = {"cuGraphEventRecordNodeGetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_587cuGraphEventRecordNodeGetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_586cuGraphEventRecordNodeGetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_587cuGraphEventRecordNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphEventRecordNodeGetEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36381, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36381, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphEventRecordNodeGetEvent", 0) < (0)) __PYX_ERR(0, 36381, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphEventRecordNodeGetEvent", 1, 1, 1, i); __PYX_ERR(0, 36381, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36381, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphEventRecordNodeGetEvent", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 36381, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphEventRecordNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_586cuGraphEventRecordNodeGetEvent(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_586cuGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_event_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphEventRecordNodeGetEvent", 0);

  /* "cuda/bindings/driver.pyx":36404
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36405
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36404
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36406
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36407
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36406
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36409
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36409, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36410
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUevent event_out = CUevent()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36410, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36411
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36411, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36412
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventRecordNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36413
 *     cdef CUevent event_out = CUevent()
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphEventRecordNodeGetEvent(__pyx_v_cyhNode, ((CUevent *)__pyx_v_event_out->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36413, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36412
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventRecordNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36414
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], event_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36415
 *         err = cydriver.cuGraphEventRecordNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], event_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 36415, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 36415, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36414
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], event_out)
*/
  }

  /* "cuda/bindings/driver.pyx":36416
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], event_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36416, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_event_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_event_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_event_out)) != (0)) __PYX_ERR(0, 36416, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36381
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeGetEvent(hNode):
 *     """ Returns the event associated with an event record node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphEventRecordNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_event_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36418
 *     return (_dict_CUresult[err], event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeSetEvent(hNode, event):
 *     """ Sets an event record node's event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_589cuGraphEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_588cuGraphEventRecordNodeSetEvent, "cuGraphEventRecordNodeSetEvent(hNode, event)\n\nSets an event record node's event.\n\nSets the event of event record node `hNode` to `event`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the event for\nevent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to use\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphEventRecordNodeGetEvent`, :py:obj:`~.cuGraphEventWaitNodeSetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_589cuGraphEventRecordNodeSetEvent = {"cuGraphEventRecordNodeSetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_589cuGraphEventRecordNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_588cuGraphEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_589cuGraphEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphEventRecordNodeSetEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_event_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36418, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36418, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36418, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphEventRecordNodeSetEvent", 0) < (0)) __PYX_ERR(0, 36418, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphEventRecordNodeSetEvent", 1, 2, 2, i); __PYX_ERR(0, 36418, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36418, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36418, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_event = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphEventRecordNodeSetEvent", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 36418, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_588cuGraphEventRecordNodeSetEvent(__pyx_self, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_588cuGraphEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphEventRecordNodeSetEvent", 0);

  /* "cuda/bindings/driver.pyx":36441
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36442
 *     cdef cydriver.CUevent cyevent
 *     if event is None:
 *         pevent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pevent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36441
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36443
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36444
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36443
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36446
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36446, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36447
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36447, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36449
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36450
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36449
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36451
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36452
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":36451
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36454
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36454, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":36455
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(cyhNode, cyevent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36455, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36456
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36457
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(cyhNode, cyevent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphEventRecordNodeSetEvent(__pyx_v_cyhNode, __pyx_v_cyevent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36457, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36456
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":36458
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(cyhNode, cyevent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 36458, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36418
 *     return (_dict_CUresult[err], event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeSetEvent(hNode, event):
 *     """ Sets an event record node's event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36460
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event wait node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_591cuGraphAddEventWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_590cuGraphAddEventWaitNode, "cuGraphAddEventWaitNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event)\n\nCreates an event wait node and adds it to a graph.\n\nCreates a new event wait node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies` and event\nspecified in `event`. It is possible for `numDependencies` to be 0, in\nwhich case the node will be placed at the root of the graph.\n`dependencies` may not have any duplicate entries. A handle to the new\nnode will be returned in `phGraphNode`.\n\nThe graph node will wait for all work captured in `event`. See\n:py:obj:`~.cuEventRecord()` for details on what is captured by an\nevent. `event` may be from a different context or device than the\nlaunch stream.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nevent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event for the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_591cuGraphAddEventWaitNode = {"cuGraphAddEventWaitNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_591cuGraphAddEventWaitNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_590cuGraphAddEventWaitNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_591cuGraphAddEventWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddEventWaitNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_event_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36460, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36460, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36460, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36460, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36460, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddEventWaitNode", 0) < (0)) __PYX_ERR(0, 36460, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddEventWaitNode", 1, 4, 4, i); __PYX_ERR(0, 36460, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36460, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36460, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36460, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36460, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 36461, __pyx_L3_error)
    __pyx_v_event = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddEventWaitNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 36460, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEventWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_590cuGraphAddEventWaitNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_2generator153(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36507
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 36507, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_2generator153, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[153]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddEventWaitNode_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36507, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEventWaitNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_2generator153(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36507, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36507, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36507, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36507, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36507, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36507, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 36507, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36460
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event wait node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_590cuGraphAddEventWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_2generator153 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddEventWaitNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":36499
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36500
 *     cdef cydriver.CUevent cyevent
 *     if event is None:
 *         pevent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pevent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36499
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36501
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36502
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36501
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36504
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36504, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36505
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36505, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36506
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_1 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36507
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 36507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":36508
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36508, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 36508, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36507
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":36510
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_7 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36511
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36510
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36512
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_7 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36513
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36512
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36515
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36515, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36516
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36516, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36517
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36517, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36518
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":36519
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36519, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36520
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36520, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36521
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_7 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":36522
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36522, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36522, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 36522, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36521
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":36524
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36524, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":36525
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36525, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":36519
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":36526
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36526, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36527
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":36526
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":36528
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddEventWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36528, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36528, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 36528, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36529
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddEventWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36530
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
 *         err = cydriver.cuGraphAddEventWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEventWaitNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cyevent); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36530, __pyx_L12_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":36529
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddEventWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":36531
 *     with nogil:
 *         err = cydriver.cuGraphAddEventWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36531, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36532
 *         err = cydriver.cuGraphAddEventWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":36531
 *     with nogil:
 *         err = cydriver.cuGraphAddEventWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cyevent)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":36533
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":36534
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 36534, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 36534, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36533
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":36535
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36535, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36535, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36460
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event wait node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddEventWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_2generator153);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36537
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeGetEvent(hNode):
 *     """ Returns the event associated with an event wait node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_593cuGraphEventWaitNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_592cuGraphEventWaitNodeGetEvent, "cuGraphEventWaitNodeGetEvent(hNode)\n\nReturns the event associated with an event wait node.\n\nReturns the event of event wait node `hNode` in `event_out`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the event for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nevent_out : :py:obj:`~.CUevent`\n    Pointer to return the event\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphEventWaitNodeSetEvent`, :py:obj:`~.cuGraphEventRecordNodeGetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_593cuGraphEventWaitNodeGetEvent = {"cuGraphEventWaitNodeGetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_593cuGraphEventWaitNodeGetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_592cuGraphEventWaitNodeGetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_593cuGraphEventWaitNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphEventWaitNodeGetEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36537, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36537, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphEventWaitNodeGetEvent", 0) < (0)) __PYX_ERR(0, 36537, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphEventWaitNodeGetEvent", 1, 1, 1, i); __PYX_ERR(0, 36537, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36537, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphEventWaitNodeGetEvent", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 36537, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphEventWaitNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_592cuGraphEventWaitNodeGetEvent(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_592cuGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_event_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphEventWaitNodeGetEvent", 0);

  /* "cuda/bindings/driver.pyx":36560
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36561
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36560
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36562
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36563
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36562
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36565
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36565, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36566
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUevent event_out = CUevent()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36566, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36567
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36567, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36568
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventWaitNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36569
 *     cdef CUevent event_out = CUevent()
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphEventWaitNodeGetEvent(__pyx_v_cyhNode, ((CUevent *)__pyx_v_event_out->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36569, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36568
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventWaitNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36570
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], event_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36571
 *         err = cydriver.cuGraphEventWaitNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], event_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 36571, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 36571, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36570
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeGetEvent(cyhNode, <cydriver.CUevent*>event_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], event_out)
*/
  }

  /* "cuda/bindings/driver.pyx":36572
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], event_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36572, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_event_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_event_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_event_out)) != (0)) __PYX_ERR(0, 36572, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36537
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeGetEvent(hNode):
 *     """ Returns the event associated with an event wait node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphEventWaitNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_event_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36574
 *     return (_dict_CUresult[err], event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeSetEvent(hNode, event):
 *     """ Sets an event wait node's event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_595cuGraphEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_594cuGraphEventWaitNodeSetEvent, "cuGraphEventWaitNodeSetEvent(hNode, event)\n\nSets an event wait node's event.\n\nSets the event of event wait node `hNode` to `event`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the event for\nevent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to use\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphEventWaitNodeGetEvent`, :py:obj:`~.cuGraphEventRecordNodeSetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_595cuGraphEventWaitNodeSetEvent = {"cuGraphEventWaitNodeSetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_595cuGraphEventWaitNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_594cuGraphEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_595cuGraphEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphEventWaitNodeSetEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_event_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36574, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphEventWaitNodeSetEvent", 0) < (0)) __PYX_ERR(0, 36574, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphEventWaitNodeSetEvent", 1, 2, 2, i); __PYX_ERR(0, 36574, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36574, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36574, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_event = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphEventWaitNodeSetEvent", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 36574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_594cuGraphEventWaitNodeSetEvent(__pyx_self, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_594cuGraphEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphEventWaitNodeSetEvent", 0);

  /* "cuda/bindings/driver.pyx":36597
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36598
 *     cdef cydriver.CUevent cyevent
 *     if event is None:
 *         pevent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pevent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36597
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36599
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36600
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36599
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36602
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36602, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36603
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36603, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36605
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36606
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36605
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36607
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36608
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":36607
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36610
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36610, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":36611
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(cyhNode, cyevent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36611, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36612
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36613
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(cyhNode, cyevent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphEventWaitNodeSetEvent(__pyx_v_cyhNode, __pyx_v_cyevent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36613, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36612
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":36614
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(cyhNode, cyevent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 36614, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36574
 *     return (_dict_CUresult[err], event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeSetEvent(hNode, event):
 *     """ Sets an event wait node's event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36616
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Creates an external semaphore signal node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_597cuGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_596cuGraphAddExternalSemaphoresSignalNode, "cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])\n\nCreates an external semaphore signal node and adds it to a graph.\n\nCreates a new external semaphore signal node and adds it to `hGraph`\nwith `numDependencies` dependencies specified via `dependencies` and\narguments specified in `nodeParams`. It is possible for\n`numDependencies` to be 0, in which case the node will be placed at the\nroot of the graph. `dependencies` may not have any duplicate entries. A\nhandle to the new node will be returned in `phGraphNode`.\n\nPerforms a signal operation on a set of externally allocated semaphore\nobjects when the node is launched. The operation(s) will occur after\nall of the node's dependencies have completed.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nnodeParams : :py:obj:`~.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS`\n    Parameters for the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphExternalSemaphoresSignalNodeGetParams`, :py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddEventR""ecordNode`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_597cuGraphAddExternalSemaphoresSignalNode = {"cuGraphAddExternalSemaphoresSignalNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_597cuGraphAddExternalSemaphoresSignalNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_596cuGraphAddExternalSemaphoresSignalNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_597cuGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddExternalSemaphoresSignalNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36616, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddExternalSemaphoresSignalNode", 0) < (0)) __PYX_ERR(0, 36616, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresSignalNode", 1, 4, 4, i); __PYX_ERR(0, 36616, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36616, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36616, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36616, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36616, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 36617, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresSignalNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 36616, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddExternalSemaphoresSignalNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 36617, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_596cuGraphAddExternalSemaphoresSignalNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_38cuGraphAddExternalSemaphoresSignalNode_2generator154(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36654
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_38cuGraphAddExternalSemaphoresSignalNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 36654, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_38cuGraphAddExternalSemaphoresSignalNode_2generator154, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[154]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddExternalSemaphoresSign, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36654, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddExternalSemaphoresSignalNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_38cuGraphAddExternalSemaphoresSignalNode_2generator154(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36654, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36654, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36654, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36654, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36654, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36654, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 36654, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36616
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Creates an external semaphore signal node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_596cuGraphAddExternalSemaphoresSignalNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_38cuGraphAddExternalSemaphoresSignalNode_2generator154 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddExternalSemaphoresSignalNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":36653
 *     :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphExternalSemaphoresSignalNodeGetParams`, :py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36654
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_38cuGraphAddExternalSemaphoresSignalNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 36654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":36655
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36655, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 36655, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36654
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":36657
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36658
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36657
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36659
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36660
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36660, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36659
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36662
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36662, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":36663
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36663, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":36664
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36664, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36665
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":36666
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36666, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36667
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36667, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36668
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":36669
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36669, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36669, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 36669, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36668
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":36671
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36671, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":36672
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36672, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":36666
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36673
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36673, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36674
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":36673
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36675
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36675, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36675, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36675, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 36675, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36676
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddExternalSemaphoresSignalNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_4 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_4) {
    __pyx_t_14 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":36677
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddExternalSemaphoresSignalNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36678
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddExternalSemaphoresSignalNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddExternalSemaphoresSignalNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36678, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":36677
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddExternalSemaphoresSignalNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":36679
 *     with nogil:
 *         err = cydriver.cuGraphAddExternalSemaphoresSignalNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36679, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36680
 *         err = cydriver.cuGraphAddExternalSemaphoresSignalNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":36679
 *     with nogil:
 *         err = cydriver.cuGraphAddExternalSemaphoresSignalNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":36681
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36682
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 36682, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 36682, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36681
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":36683
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 36683, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36683, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36616
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Creates an external semaphore signal node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddExternalSemaphoresSignalNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_38cuGraphAddExternalSemaphoresSignalNode_2generator154);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36685
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeGetParams(hNode):
 *     """ Returns an external semaphore signal node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_599cuGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_598cuGraphExternalSemaphoresSignalNodeGetParams, "cuGraphExternalSemaphoresSignalNodeGetParams(hNode)\n\nReturns an external semaphore signal node's parameters.\n\nReturns the parameters of an external semaphore signal node `hNode` in\n`params_out`. The `extSemArray` and `paramsArray` returned in\n`params_out`, are owned by the node. This memory remains valid until\nthe node is destroyed or its parameters are modified, and should not be\nmodified directly. Use\n:py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams` to update the\nparameters of this node.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nparams_out : :py:obj:`~.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS`\n    Pointer to return the parameters\n\nSee Also\n--------\n:py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_599cuGraphExternalSemaphoresSignalNodeGetParams = {"cuGraphExternalSemaphoresSignalNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_599cuGraphExternalSemaphoresSignalNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_598cuGraphExternalSemaphoresSignalNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_599cuGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresSignalNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36685, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36685, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExternalSemaphoresSignalNodeGetParams", 0) < (0)) __PYX_ERR(0, 36685, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresSignalNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 36685, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36685, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresSignalNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 36685, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExternalSemaphoresSignalNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_598cuGraphExternalSemaphoresSignalNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_598cuGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_params_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresSignalNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":36714
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36715
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36714
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36716
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36717
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36716
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36719
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36719, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36720
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36720, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36721
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36721, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36722
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36723
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresSignalNodeGetParams(__pyx_v_cyhNode, ((CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)__pyx_v_params_out->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36723, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36722
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36724
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36725
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], params_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 36725, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 36725, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36724
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)
*/
  }

  /* "cuda/bindings/driver.pyx":36726
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36726, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_params_out)) != (0)) __PYX_ERR(0, 36726, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36685
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeGetParams(hNode):
 *     """ Returns an external semaphore signal node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExternalSemaphoresSignalNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_params_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36728
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets an external semaphore signal node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_601cuGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_600cuGraphExternalSemaphoresSignalNodeSetParams, "cuGraphExternalSemaphoresSignalNodeSetParams(hNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])\n\nSets an external semaphore signal node's parameters.\n\nSets the parameters of an external semaphore signal node `hNode` to\n`nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the parameters for\nnodeParams : :py:obj:`~.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS`\n    Parameters to copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_601cuGraphExternalSemaphoresSignalNodeSetParams = {"cuGraphExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_601cuGraphExternalSemaphoresSignalNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_600cuGraphExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_601cuGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresSignalNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36728, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36728, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36728, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExternalSemaphoresSignalNodeSetParams", 0) < (0)) __PYX_ERR(0, 36728, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresSignalNodeSetParams", 1, 2, 2, i); __PYX_ERR(0, 36728, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36728, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36728, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresSignalNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 36728, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExternalSemaphoresSignalNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 36729, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_600cuGraphExternalSemaphoresSignalNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_600cuGraphExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresSignalNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":36752
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36753
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36752
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36754
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36755
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36754
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36757
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36757, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36758
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36758, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36759
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeSetParams(cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":36760
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36761
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeSetParams(cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresSignalNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36761, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":36760
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36762
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 36762, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36728
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets an external semaphore signal node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExternalSemaphoresSignalNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36764
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Creates an external semaphore wait node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_603cuGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_602cuGraphAddExternalSemaphoresWaitNode, "cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUDA_EXT_SEM_WAIT_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS])\n\nCreates an external semaphore wait node and adds it to a graph.\n\nCreates a new external semaphore wait node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies` and\narguments specified in `nodeParams`. It is possible for\n`numDependencies` to be 0, in which case the node will be placed at the\nroot of the graph. `dependencies` may not have any duplicate entries. A\nhandle to the new node will be returned in `phGraphNode`.\n\nPerforms a wait operation on a set of externally allocated semaphore\nobjects when the node is launched. The node's dependencies will not be\nlaunched until the wait operation has completed.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nnodeParams : :py:obj:`~.CUDA_EXT_SEM_WAIT_NODE_PARAMS`\n    Parameters for the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphExternalSemaphoresWaitNodeGetParams`, :py:obj:`~.cuGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddEventRecordNode`, :p""y:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_603cuGraphAddExternalSemaphoresWaitNode = {"cuGraphAddExternalSemaphoresWaitNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_603cuGraphAddExternalSemaphoresWaitNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_602cuGraphAddExternalSemaphoresWaitNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_603cuGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddExternalSemaphoresWaitNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36764, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddExternalSemaphoresWaitNode", 0) < (0)) __PYX_ERR(0, 36764, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresWaitNode", 1, 4, 4, i); __PYX_ERR(0, 36764, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36764, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36764, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36764, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36764, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 36765, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresWaitNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 36764, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddExternalSemaphoresWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 36765, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_602cuGraphAddExternalSemaphoresWaitNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuGraphAddExternalSemaphoresWaitNode_2generator155(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36802
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_36cuGraphAddExternalSemaphoresWaitNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 36802, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_36cuGraphAddExternalSemaphoresWaitNode_2generator155, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[155]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddExternalSemaphoresWait, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36802, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddExternalSemaphoresWaitNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuGraphAddExternalSemaphoresWaitNode_2generator155(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36802, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36802, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36802, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36802, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36802, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36802, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 36802, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36764
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Creates an external semaphore wait node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_602cuGraphAddExternalSemaphoresWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_36cuGraphAddExternalSemaphoresWaitNode_2generator155 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddExternalSemaphoresWaitNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":36801
 *     :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphExternalSemaphoresWaitNodeGetParams`, :py:obj:`~.cuGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36801, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36802
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_36cuGraphAddExternalSemaphoresWaitNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 36802, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":36803
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36803, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 36803, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36802
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":36805
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36806
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36805
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36807
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36808
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36807
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36810
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36810, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":36811
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36811, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":36812
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36812, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36813
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":36814
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36814, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36815
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36815, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36816
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":36817
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36817, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36817, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 36817, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36816
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":36819
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36819, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":36820
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36820, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":36814
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36821
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36821, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36822
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":36821
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36823
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36823, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36823, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36823, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 36823, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36824
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddExternalSemaphoresWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_4 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_4) {
    __pyx_t_14 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":36825
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddExternalSemaphoresWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36826
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddExternalSemaphoresWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddExternalSemaphoresWaitNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36826, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":36825
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddExternalSemaphoresWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":36827
 *     with nogil:
 *         err = cydriver.cuGraphAddExternalSemaphoresWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36827, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36828
 *         err = cydriver.cuGraphAddExternalSemaphoresWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":36827
 *     with nogil:
 *         err = cydriver.cuGraphAddExternalSemaphoresWaitNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":36829
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36830
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 36830, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 36830, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36829
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":36831
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 36831, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36831, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36764
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Creates an external semaphore wait node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddExternalSemaphoresWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_36cuGraphAddExternalSemaphoresWaitNode_2generator155);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36833
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeGetParams(hNode):
 *     """ Returns an external semaphore wait node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_605cuGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_604cuGraphExternalSemaphoresWaitNodeGetParams, "cuGraphExternalSemaphoresWaitNodeGetParams(hNode)\n\nReturns an external semaphore wait node's parameters.\n\nReturns the parameters of an external semaphore wait node `hNode` in\n`params_out`. The `extSemArray` and `paramsArray` returned in\n`params_out`, are owned by the node. This memory remains valid until\nthe node is destroyed or its parameters are modified, and should not be\nmodified directly. Use\n:py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams` to update the\nparameters of this node.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nparams_out : :py:obj:`~.CUDA_EXT_SEM_WAIT_NODE_PARAMS`\n    Pointer to return the parameters\n\nSee Also\n--------\n:py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_605cuGraphExternalSemaphoresWaitNodeGetParams = {"cuGraphExternalSemaphoresWaitNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_605cuGraphExternalSemaphoresWaitNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_604cuGraphExternalSemaphoresWaitNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_605cuGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresWaitNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36833, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExternalSemaphoresWaitNodeGetParams", 0) < (0)) __PYX_ERR(0, 36833, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresWaitNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 36833, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36833, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresWaitNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 36833, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExternalSemaphoresWaitNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_604cuGraphExternalSemaphoresWaitNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_604cuGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_params_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresWaitNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":36862
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36863
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36862
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36864
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36865
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36864
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36867
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36867, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36868
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36868, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36869
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36869, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":36870
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36871
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresWaitNodeGetParams(__pyx_v_cyhNode, ((CUDA_EXT_SEM_WAIT_NODE_PARAMS *)__pyx_v_params_out->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36871, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36870
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36872
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36873
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], params_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 36873, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 36873, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36872
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeGetParams(cyhNode, <cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)
*/
  }

  /* "cuda/bindings/driver.pyx":36874
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 36874, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_params_out)) != (0)) __PYX_ERR(0, 36874, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36833
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeGetParams(hNode):
 *     """ Returns an external semaphore wait node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExternalSemaphoresWaitNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_params_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36876
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets an external semaphore wait node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_607cuGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresWaitNodeSetParams, "cuGraphExternalSemaphoresWaitNodeSetParams(hNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS])\n\nSets an external semaphore wait node's parameters.\n\nSets the parameters of an external semaphore wait node `hNode` to\n`nodeParams`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the parameters for\nnodeParams : :py:obj:`~.CUDA_EXT_SEM_WAIT_NODE_PARAMS`\n    Parameters to copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_607cuGraphExternalSemaphoresWaitNodeSetParams = {"cuGraphExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_607cuGraphExternalSemaphoresWaitNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_607cuGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresWaitNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36876, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36876, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36876, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExternalSemaphoresWaitNodeSetParams", 0) < (0)) __PYX_ERR(0, 36876, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresWaitNodeSetParams", 1, 2, 2, i); __PYX_ERR(0, 36876, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36876, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36876, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresWaitNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 36876, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExternalSemaphoresWaitNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 36877, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresWaitNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresWaitNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":36900
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36901
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36900
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36902
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":36903
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36902
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36905
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36905, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36906
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36906, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36907
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeSetParams(cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":36908
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36909
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeSetParams(cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresWaitNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36909, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":36908
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36910
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 36910, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36876
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets an external semaphore wait node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExternalSemaphoresWaitNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36912
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Creates a batch memory operation node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_609cuGraphAddBatchMemOpNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_608cuGraphAddBatchMemOpNode, "cuGraphAddBatchMemOpNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams: Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS])\n\nCreates a batch memory operation node and adds it to a graph.\n\nCreates a new batch memory operation node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies` and\narguments specified in `nodeParams`. It is possible for\n`numDependencies` to be 0, in which case the node will be placed at the\nroot of the graph. `dependencies` may not have any duplicate entries. A\nhandle to the new node will be returned in `phGraphNode`.\n\nWhen the node is added, the paramArray inside `nodeParams` is copied\nand therefore it can be freed after the call returns.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nnodeParams : :py:obj:`~.CUDA_BATCH_MEM_OP_NODE_PARAMS`\n    Parameters for the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuGraphBatchMemOpNodeGetParams`, :py:obj:`~.cuGraphBatchMemOpNodeSetParams`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`\n\nNotes\n-----\nWarning: Improper use of this A""PI may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order. For more information, see the Stream Memory Operations section in the programming guide(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html).");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_609cuGraphAddBatchMemOpNode = {"cuGraphAddBatchMemOpNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_609cuGraphAddBatchMemOpNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_608cuGraphAddBatchMemOpNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_609cuGraphAddBatchMemOpNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddBatchMemOpNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36912, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddBatchMemOpNode", 0) < (0)) __PYX_ERR(0, 36912, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddBatchMemOpNode", 1, 4, 4, i); __PYX_ERR(0, 36912, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36912, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36912, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36912, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36912, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 36913, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddBatchMemOpNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 36912, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddBatchMemOpNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 36913, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_608cuGraphAddBatchMemOpNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_24cuGraphAddBatchMemOpNode_2generator156(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36953
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cuGraphAddBatchMemOpNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 36953, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_24cuGraphAddBatchMemOpNode_2generator156, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[156]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddBatchMemOpNode_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36953, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddBatchMemOpNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_24cuGraphAddBatchMemOpNode_2generator156(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36953, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36953, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36953, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36953, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 36953, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36953, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 36953, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36912
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Creates a batch memory operation node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_608cuGraphAddBatchMemOpNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_24cuGraphAddBatchMemOpNode_2generator156 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddBatchMemOpNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":36952
 *     Warning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order. For more information, see the Stream Memory Operations section in the programming guide(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html).
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36953
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_24cuGraphAddBatchMemOpNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 36953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":36954
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 36954, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36953
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":36956
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36957
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":36956
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36958
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36959
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36959, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36958
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36961
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36961, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":36962
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36962, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":36963
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36963, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":36964
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":36965
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36965, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36966
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36966, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36967
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":36968
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36968, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36968, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 36968, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36967
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":36970
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36970, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":36971
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36971, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":36965
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36972
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36972, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36973
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":36972
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36974
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36974, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36974, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 36974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36974, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 36974, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36975
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddBatchMemOpNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_4 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_4) {
    __pyx_t_14 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":36976
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddBatchMemOpNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36977
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddBatchMemOpNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddBatchMemOpNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36977, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":36976
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddBatchMemOpNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":36978
 *     with nogil:
 *         err = cydriver.cuGraphAddBatchMemOpNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36978, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36979
 *         err = cydriver.cuGraphAddBatchMemOpNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":36978
 *     with nogil:
 *         err = cydriver.cuGraphAddBatchMemOpNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":36980
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36981
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 36981, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 36981, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36980
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":36982
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 36982, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36982, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36912
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Creates a batch memory operation node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddBatchMemOpNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_24cuGraphAddBatchMemOpNode_2generator156);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36984
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeGetParams(hNode):
 *     """ Returns a batch mem op node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_611cuGraphBatchMemOpNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_610cuGraphBatchMemOpNodeGetParams, "cuGraphBatchMemOpNodeGetParams(hNode)\n\nReturns a batch mem op node's parameters.\n\nReturns the parameters of batch mem op node `hNode` in\n`nodeParams_out`. The `paramArray` returned in `nodeParams_out` is\nowned by the node. This memory remains valid until the node is\ndestroyed or its parameters are modified, and should not be modified\ndirectly. Use :py:obj:`~.cuGraphBatchMemOpNodeSetParams` to update the\nparameters of this node.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nnodeParams_out : :py:obj:`~.CUDA_BATCH_MEM_OP_NODE_PARAMS`\n    Pointer to return the parameters\n\nSee Also\n--------\n:py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuGraphAddBatchMemOpNode`, :py:obj:`~.cuGraphBatchMemOpNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_611cuGraphBatchMemOpNodeGetParams = {"cuGraphBatchMemOpNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_611cuGraphBatchMemOpNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_610cuGraphBatchMemOpNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_611cuGraphBatchMemOpNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphBatchMemOpNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 36984, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36984, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphBatchMemOpNodeGetParams", 0) < (0)) __PYX_ERR(0, 36984, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphBatchMemOpNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 36984, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36984, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphBatchMemOpNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 36984, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphBatchMemOpNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_610cuGraphBatchMemOpNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_610cuGraphBatchMemOpNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphBatchMemOpNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":37012
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37013
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37012
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37014
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37015
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37014
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37017
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37017, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37018
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37018, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37019
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphBatchMemOpNodeGetParams(cyhNode, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37019, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_nodeParams_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37020
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphBatchMemOpNodeGetParams(cyhNode, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37021
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
 *     with nogil:
 *         err = cydriver.cuGraphBatchMemOpNodeGetParams(cyhNode, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphBatchMemOpNodeGetParams(__pyx_v_cyhNode, ((CUDA_BATCH_MEM_OP_NODE_PARAMS *)__pyx_v_nodeParams_out->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37021, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37020
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphBatchMemOpNodeGetParams(cyhNode, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37022
 *     with nogil:
 *         err = cydriver.cuGraphBatchMemOpNodeGetParams(cyhNode, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37023
 *         err = cydriver.cuGraphBatchMemOpNodeGetParams(cyhNode, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], nodeParams_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 37023, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 37023, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37022
 *     with nogil:
 *         err = cydriver.cuGraphBatchMemOpNodeGetParams(cyhNode, <cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams_out)
*/
  }

  /* "cuda/bindings/driver.pyx":37024
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeParams_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37024, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams_out)) != (0)) __PYX_ERR(0, 37024, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36984
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeGetParams(hNode):
 *     """ Returns a batch mem op node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphBatchMemOpNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_nodeParams_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37026
 *     return (_dict_CUresult[err], nodeParams_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeSetParams(hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets a batch mem op node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_613cuGraphBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_612cuGraphBatchMemOpNodeSetParams, "cuGraphBatchMemOpNodeSetParams(hNode, CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams: Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS])\n\nSets a batch mem op node's parameters.\n\nSets the parameters of batch mem op node `hNode` to `nodeParams`.\n\nThe paramArray inside `nodeParams` is copied and therefore it can be\nfreed after the call returns.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the parameters for\nnodeParams : :py:obj:`~.CUDA_BATCH_MEM_OP_NODE_PARAMS`\n    Parameters to copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuGraphAddBatchMemOpNode`, :py:obj:`~.cuGraphBatchMemOpNodeGetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_613cuGraphBatchMemOpNodeSetParams = {"cuGraphBatchMemOpNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_613cuGraphBatchMemOpNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_612cuGraphBatchMemOpNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_613cuGraphBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphBatchMemOpNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37026, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphBatchMemOpNodeSetParams", 0) < (0)) __PYX_ERR(0, 37026, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphBatchMemOpNodeSetParams", 1, 2, 2, i); __PYX_ERR(0, 37026, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37026, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37026, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphBatchMemOpNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 37026, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphBatchMemOpNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 37027, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_612cuGraphBatchMemOpNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_612cuGraphBatchMemOpNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphBatchMemOpNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":37052
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37053
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37052
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37054
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37055
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37054
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37057
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37057, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37058
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37058, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37059
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphBatchMemOpNodeSetParams(cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":37060
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphBatchMemOpNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37061
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphBatchMemOpNodeSetParams(cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphBatchMemOpNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37061, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":37060
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphBatchMemOpNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37062
 *     with nogil:
 *         err = cydriver.cuGraphBatchMemOpNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 37062, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37026
 *     return (_dict_CUresult[err], nodeParams_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeSetParams(hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets a batch mem op node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphBatchMemOpNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37064
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecBatchMemOpNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets the parameters for a batch mem op node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_615cuGraphExecBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_614cuGraphExecBatchMemOpNodeSetParams, "cuGraphExecBatchMemOpNodeSetParams(hGraphExec, hNode, CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams: Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS])\n\nSets the parameters for a batch mem op node in the given graphExec.\n\nSets the parameters of a batch mem op node in an executable graph\n`hGraphExec`. The node is identified by the corresponding node `hNode`\nin the non-executable graph, from which the executable graph was\ninstantiated.\n\nThe following fields on operations may be modified on an executable\ngraph:\n\nop.waitValue.address op.waitValue.value[64] op.waitValue.flags bits\ncorresponding to wait type (i.e. CU_STREAM_WAIT_VALUE_FLUSH bit cannot\nbe modified) op.writeValue.address op.writeValue.value[64]\n\nOther fields, such as the context, count or type of operations, and\nother types of operations such as membars, may not be modified.\n\n`hNode` must not have been removed from the original graph.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nThe paramArray inside `nodeParams` is copied and therefore it can be\nfreed after the call returns.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Batch mem op node from the graph from which graphExec was\n    instantiated\nnodeParams : :py:obj:`~.CUDA_BATCH_MEM_OP_NODE_PARAMS`\n    Updated Parameters to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuGraphAddBatchMemOpNode`, :py:obj:`~.cuGraphBatchMemOpNodeGetParams`, :py:obj:`~.cuGraphBatchMemOpNodeSetParams`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_615cuGraphExecBatchMemOpNodeSetParams = {"cuGraphExecBatchMemOpNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_615cuGraphExecBatchMemOpNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_614cuGraphExecBatchMemOpNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_615cuGraphExecBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecBatchMemOpNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37064, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37064, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37064, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37064, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecBatchMemOpNodeSetParams", 0) < (0)) __PYX_ERR(0, 37064, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecBatchMemOpNodeSetParams", 1, 3, 3, i); __PYX_ERR(0, 37064, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37064, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37064, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37064, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecBatchMemOpNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 37064, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecBatchMemOpNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 37065, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_614cuGraphExecBatchMemOpNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_614cuGraphExecBatchMemOpNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecBatchMemOpNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":37112
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37113
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37112
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37114
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37115
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37114
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37117
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37117, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37118
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37118, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37120
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37121
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37120
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37122
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37123
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":37122
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37125
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37125, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":37126
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37126, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37127
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecBatchMemOpNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":37128
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecBatchMemOpNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37129
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExecBatchMemOpNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecBatchMemOpNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37129, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":37128
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecBatchMemOpNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":37130
 *     with nogil:
 *         err = cydriver.cuGraphExecBatchMemOpNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 37130, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37064
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecBatchMemOpNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets the parameters for a batch mem op node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecBatchMemOpNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37132
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_MEM_ALLOC_NODE_PARAMS]):
 *     """ Creates an allocation node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_617cuGraphAddMemAllocNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_616cuGraphAddMemAllocNode, "cuGraphAddMemAllocNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUDA_MEM_ALLOC_NODE_PARAMS nodeParams: Optional[CUDA_MEM_ALLOC_NODE_PARAMS])\n\nCreates an allocation node and adds it to a graph.\n\nCreates a new allocation node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies` and\narguments specified in `nodeParams`. It is possible for\n`numDependencies` to be 0, in which case the node will be placed at the\nroot of the graph. `dependencies` may not have any duplicate entries. A\nhandle to the new node will be returned in `phGraphNode`.\n\nWhen :py:obj:`~.cuGraphAddMemAllocNode` creates an allocation node, it\nreturns the address of the allocation in `nodeParams.dptr`. The\nallocation's address remains fixed across instantiations and launches.\n\nIf the allocation is freed in the same graph, by creating a free node\nusing :py:obj:`~.cuGraphAddMemFreeNode`, the allocation can be accessed\nby nodes ordered after the allocation node but before the free node.\nThese allocations cannot be freed outside the owning graph, and they\ncan only be freed once in the owning graph.\n\nIf the allocation is not freed in the same graph, then it can be\naccessed not only by nodes in the graph which are ordered after the\nallocation node, but also by stream operations ordered after the\ngraph's execution but before the allocation is freed.\n\nAllocations which are not freed in the same graph can be freed by:\n\n- passing the allocation to :py:obj:`~.cuMemFreeAsync` or\n  :py:obj:`~.cuMemFree`;\n\n- launching a graph with a free node for that allocation; or\n\n- specifying\n  :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH` during\n  instantiation, which makes each launch behave as though it called\n  :py:obj:`~.cuMemFreeAsync` for every unfreed allocation.\n\nIt is not possible to free an allocation in both the owning graph and\nanother graph. If the allocation is freed in the sa""me graph, a free\nnode cannot be added to another graph. If the allocation is freed in\nanother graph, a free node can no longer be added to the owning graph.\n\nThe following restrictions apply to graphs which contain allocation\nand/or memory free nodes:\n\n- Nodes and edges of the graph cannot be deleted.\n\n- The graph can only be used in a child node if the ownership is moved\n  to the parent.\n\n- Only one instantiation of the graph may exist at any point in time.\n\n- The graph cannot be cloned.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nnodeParams : :py:obj:`~.CUDA_MEM_ALLOC_NODE_PARAMS`\n    Parameters for the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphAddMemFreeNode`, :py:obj:`~.cuGraphMemAllocNodeGetParams`, :py:obj:`~.cuDeviceGraphMemTrim`, :py:obj:`~.cuDeviceGetGraphMemAttribute`, :py:obj:`~.cuDeviceSetGraphMemAttribute`, :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_617cuGraphAddMemAllocNode = {"cuGraphAddMemAllocNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_617cuGraphAddMemAllocNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_616cuGraphAddMemAllocNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_617cuGraphAddMemAllocNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddMemAllocNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37132, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37132, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37132, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37132, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37132, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddMemAllocNode", 0) < (0)) __PYX_ERR(0, 37132, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddMemAllocNode", 1, 4, 4, i); __PYX_ERR(0, 37132, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37132, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37132, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37132, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37132, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 37133, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddMemAllocNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 37132, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemAllocNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 37133, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_616cuGraphAddMemAllocNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddMemAllocNode_2generator157(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":37210
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuGraphAddMemAllocNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 37210, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_22cuGraphAddMemAllocNode_2generator157, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[157]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemAllocNode_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 37210, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemAllocNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddMemAllocNode_2generator157(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 37210, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 37210, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37210, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 37210, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 37210, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37210, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 37210, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37132
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_MEM_ALLOC_NODE_PARAMS]):
 *     """ Creates an allocation node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_616cuGraphAddMemAllocNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddMemAllocNode_2generator157 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddMemAllocNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":37209
 *     :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphAddMemFreeNode`, :py:obj:`~.cuGraphMemAllocNodeGetParams`, :py:obj:`~.cuDeviceGraphMemTrim`, :py:obj:`~.cuDeviceGetGraphMemAttribute`, :py:obj:`~.cuDeviceSetGraphMemAttribute`, :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":37210
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_22cuGraphAddMemAllocNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 37210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":37211
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37211, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 37211, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":37210
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":37213
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37214
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37213
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37215
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37216
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37215
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37218
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37218, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":37219
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37219, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":37220
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37220, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":37221
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":37222
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37222, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37223
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37223, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37224
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":37225
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37225, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37225, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37225, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37225, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37225, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37225, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 37225, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37225, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37225, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 37225, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37224
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":37227
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37227, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":37228
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37228, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":37222
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":37229
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37229, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37230
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEM_ALLOC_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":37229
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":37231
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEM_ALLOC_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37231, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37231, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 37231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 37231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37231, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 37231, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":37232
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEM_ALLOC_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddMemAllocNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_4 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_4) {
    __pyx_t_14 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":37233
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEM_ALLOC_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddMemAllocNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37234
 *     cdef cydriver.CUDA_MEM_ALLOC_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddMemAllocNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemAllocNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37234, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":37233
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUDA_MEM_ALLOC_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddMemAllocNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":37235
 *     with nogil:
 *         err = cydriver.cuGraphAddMemAllocNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37235, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37236
 *         err = cydriver.cuGraphAddMemAllocNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":37235
 *     with nogil:
 *         err = cydriver.cuGraphAddMemAllocNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":37237
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37238
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 37238, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 37238, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37237
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":37239
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 37239, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 37239, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37132
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_MEM_ALLOC_NODE_PARAMS]):
 *     """ Creates an allocation node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemAllocNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddMemAllocNode_2generator157);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37241
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemAllocNodeGetParams(hNode):
 *     """ Returns a memory alloc node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_619cuGraphMemAllocNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_618cuGraphMemAllocNodeGetParams, "cuGraphMemAllocNodeGetParams(hNode)\n\nReturns a memory alloc node's parameters.\n\nReturns the parameters of a memory alloc node `hNode` in `params_out`.\nThe `poolProps` and `accessDescs` returned in `params_out`, are owned\nby the node. This memory remains valid until the node is destroyed. The\nreturned parameters must not be modified.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nparams_out : :py:obj:`~.CUDA_MEM_ALLOC_NODE_PARAMS`\n    Pointer to return the parameters\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphMemFreeNodeGetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_619cuGraphMemAllocNodeGetParams = {"cuGraphMemAllocNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_619cuGraphMemAllocNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_618cuGraphMemAllocNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_619cuGraphMemAllocNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphMemAllocNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37241, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37241, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphMemAllocNodeGetParams", 0) < (0)) __PYX_ERR(0, 37241, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphMemAllocNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 37241, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37241, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemAllocNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 37241, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemAllocNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_618cuGraphMemAllocNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_618cuGraphMemAllocNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_params_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemAllocNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":37267
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37268
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37267
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37269
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37270
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37269
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37272
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37272, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37273
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37273, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37274
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphMemAllocNodeGetParams(cyhNode, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37274, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37275
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemAllocNodeGetParams(cyhNode, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37276
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
 *     with nogil:
 *         err = cydriver.cuGraphMemAllocNodeGetParams(cyhNode, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemAllocNodeGetParams(__pyx_v_cyhNode, ((CUDA_MEM_ALLOC_NODE_PARAMS *)__pyx_v_params_out->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37276, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37275
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemAllocNodeGetParams(cyhNode, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37277
 *     with nogil:
 *         err = cydriver.cuGraphMemAllocNodeGetParams(cyhNode, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37278
 *         err = cydriver.cuGraphMemAllocNodeGetParams(cyhNode, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], params_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 37278, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 37278, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37277
 *     with nogil:
 *         err = cydriver.cuGraphMemAllocNodeGetParams(cyhNode, <cydriver.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)
*/
  }

  /* "cuda/bindings/driver.pyx":37279
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37279, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_params_out)) != (0)) __PYX_ERR(0, 37279, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37241
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemAllocNodeGetParams(hNode):
 *     """ Returns a memory alloc node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemAllocNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_params_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37281
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, dptr):
 *     """ Creates a memory free node and adds it to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_621cuGraphAddMemFreeNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_620cuGraphAddMemFreeNode, "cuGraphAddMemFreeNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, dptr)\n\nCreates a memory free node and adds it to a graph.\n\nCreates a new memory free node and adds it to `hGraph` with\n`numDependencies` dependencies specified via `dependencies` and\narguments specified in `nodeParams`. It is possible for\n`numDependencies` to be 0, in which case the node will be placed at the\nroot of the graph. `dependencies` may not have any duplicate entries. A\nhandle to the new node will be returned in `phGraphNode`.\n\n:py:obj:`~.cuGraphAddMemFreeNode` will return\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the user attempts to free:\n\n- an allocation twice in the same graph.\n\n- an address that was not returned by an allocation node.\n\n- an invalid address.\n\nThe following restrictions apply to graphs which contain allocation\nand/or memory free nodes:\n\n- Nodes and edges of the graph cannot be deleted.\n\n- The graph can only be used in a child node if the ownership is moved\n  to the parent.\n\n- Only one instantiation of the graph may exist at any point in time.\n\n- The graph cannot be cloned.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\ndptr : :py:obj:`~.CUdeviceptr`\n    Address of memory to free\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphMemFreeNodeGetParams`, :py:obj:`~.cuDeviceGraphMemTrim`, :py:obj:`~.cuDeviceGetGraphMemAttribute`, :py:obj:`~.cuDeviceSetGraphMemAttri""bute`, :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_621cuGraphAddMemFreeNode = {"cuGraphAddMemFreeNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_621cuGraphAddMemFreeNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_620cuGraphAddMemFreeNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_621cuGraphAddMemFreeNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_dptr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddMemFreeNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_dptr_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37281, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddMemFreeNode", 0) < (0)) __PYX_ERR(0, 37281, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddMemFreeNode", 1, 4, 4, i); __PYX_ERR(0, 37281, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37281, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37281, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37281, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37281, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 37282, __pyx_L3_error)
    __pyx_v_dptr = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddMemFreeNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 37281, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemFreeNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_620cuGraphAddMemFreeNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_dptr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_2generator158(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":37344
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 37344, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_2generator158, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[158]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemFreeNode_locals_gen, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 37344, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemFreeNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_2generator158(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 37344, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 37344, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37344, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 37344, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 37344, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37344, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 37344, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37281
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, dptr):
 *     """ Creates a memory free node and adds it to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_620cuGraphAddMemFreeNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_2generator158 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddMemFreeNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":37336
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37337
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37336
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37338
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37339
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37338
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37341
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     dependencies = [] if dependencies is None else dependencies
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37341, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37342
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37342, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37343
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_1 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37344
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_4 = __pyx_pf_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 37344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = (!__pyx_t_1);
  if (unlikely(__pyx_t_7)) {

    /* "cuda/bindings/driver.pyx":37345
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 37345, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":37344
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":37347
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_7 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":37348
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37347
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":37349
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_7 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":37350
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37349
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":37352
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37352, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":37353
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37353, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37354
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37354, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37355
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":37356
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37356, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 > 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":37357
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37357, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37358
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_7 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_7)) {

      /* "cuda/bindings/driver.pyx":37359
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37359, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 37359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37359, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 37359, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37358
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":37361
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37361, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":37362
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37362, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":37356
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":37363
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37363, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 1);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":37364
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_4)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":37363
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":37365
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddMemFreeNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cydptr)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37365, __pyx_L1_error)
  __pyx_t_7 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_7)) {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37365, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 37365, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":37366
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddMemFreeNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cydptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37367
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:
 *         err = cydriver.cuGraphAddMemFreeNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cydptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemFreeNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cydptr); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37367, __pyx_L12_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":37366
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddMemFreeNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cydptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":37368
 *     with nogil:
 *         err = cydriver.cuGraphAddMemFreeNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cydptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37368, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_8 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_7 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_7 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":37369
 *         err = cydriver.cuGraphAddMemFreeNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cydptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":37368
 *     with nogil:
 *         err = cydriver.cuGraphAddMemFreeNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cydptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":37370
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":37371
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 37371, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 37371, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37370
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":37372
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37372, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 37372, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37281
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, dptr):
 *     """ Creates a memory free node and adds it to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddMemFreeNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_2generator158);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37374
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemFreeNodeGetParams(hNode):
 *     """ Returns a memory free node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_623cuGraphMemFreeNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_622cuGraphMemFreeNodeGetParams, "cuGraphMemFreeNodeGetParams(hNode)\n\nReturns a memory free node's parameters.\n\nReturns the address of a memory free node `hNode` in `dptr_out`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to get the parameters for\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ndptr_out : :py:obj:`~.CUdeviceptr`\n    Pointer to return the device address\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddMemFreeNode`, :py:obj:`~.cuGraphMemAllocNodeGetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_623cuGraphMemFreeNodeGetParams = {"cuGraphMemFreeNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_623cuGraphMemFreeNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_622cuGraphMemFreeNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_623cuGraphMemFreeNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphMemFreeNodeGetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37374, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37374, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphMemFreeNodeGetParams", 0) < (0)) __PYX_ERR(0, 37374, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphMemFreeNodeGetParams", 1, 1, 1, i); __PYX_ERR(0, 37374, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37374, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemFreeNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 37374, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemFreeNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_622cuGraphMemFreeNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_622cuGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_dptr_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemFreeNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":37397
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37398
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37397
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37399
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37400
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37399
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37402
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37402, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37403
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37403, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37404
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphMemFreeNodeGetParams(cyhNode, <cydriver.CUdeviceptr*>dptr_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37404, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_dptr_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37405
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemFreeNodeGetParams(cyhNode, <cydriver.CUdeviceptr*>dptr_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37406
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 *     with nogil:
 *         err = cydriver.cuGraphMemFreeNodeGetParams(cyhNode, <cydriver.CUdeviceptr*>dptr_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemFreeNodeGetParams(__pyx_v_cyhNode, ((CUdeviceptr *)__pyx_v_dptr_out->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37406, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37405
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphMemFreeNodeGetParams(cyhNode, <cydriver.CUdeviceptr*>dptr_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37407
 *     with nogil:
 *         err = cydriver.cuGraphMemFreeNodeGetParams(cyhNode, <cydriver.CUdeviceptr*>dptr_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37408
 *         err = cydriver.cuGraphMemFreeNodeGetParams(cyhNode, <cydriver.CUdeviceptr*>dptr_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dptr_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 37408, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 37408, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37407
 *     with nogil:
 *         err = cydriver.cuGraphMemFreeNodeGetParams(cyhNode, <cydriver.CUdeviceptr*>dptr_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr_out)
*/
  }

  /* "cuda/bindings/driver.pyx":37409
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dptr_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37409, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_dptr_out)) != (0)) __PYX_ERR(0, 37409, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37374
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemFreeNodeGetParams(hNode):
 *     """ Returns a memory free node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphMemFreeNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37411
 *     return (_dict_CUresult[err], dptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGraphMemTrim(device):
 *     """ Free unused memory that was cached on the specified device for use with graphs back to the OS.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_625cuDeviceGraphMemTrim(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_624cuDeviceGraphMemTrim, "cuDeviceGraphMemTrim(device)\n\nFree unused memory that was cached on the specified device for use with graphs back to the OS.\n\nBlocks which are not in use by a graph that is either currently\nexecuting or scheduled to execute are freed back to the operating\nsystem.\n\nParameters\n----------\ndevice : :py:obj:`~.CUdevice`\n    The device for which cached memory should be freed.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphAddMemFreeNode`, :py:obj:`~.cuDeviceSetGraphMemAttribute`, :py:obj:`~.cuDeviceGetGraphMemAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_625cuDeviceGraphMemTrim = {"cuDeviceGraphMemTrim", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_625cuDeviceGraphMemTrim, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_624cuDeviceGraphMemTrim};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_625cuDeviceGraphMemTrim(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_device = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGraphMemTrim (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_device,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37411, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37411, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGraphMemTrim", 0) < (0)) __PYX_ERR(0, 37411, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGraphMemTrim", 1, 1, 1, i); __PYX_ERR(0, 37411, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37411, __pyx_L3_error)
    }
    __pyx_v_device = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGraphMemTrim", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 37411, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGraphMemTrim", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_624cuDeviceGraphMemTrim(__pyx_self, __pyx_v_device);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_624cuDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGraphMemTrim", 0);

  /* "cuda/bindings/driver.pyx":37434
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37435
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37434
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37436
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37437
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37436
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37439
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37439, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37440
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 37440, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":37441
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37442
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGraphMemTrim(__pyx_v_cydevice); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37442, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37441
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37443
 *     with nogil:
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 37443, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37411
 *     return (_dict_CUresult[err], dptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGraphMemTrim(device):
 *     """ Free unused memory that was cached on the specified device for use with graphs back to the OS.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGraphMemTrim", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37445
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetGraphMemAttribute(device, attr not None : CUgraphMem_attribute):
 *     """ Query asynchronous allocation attributes related to graphs.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_627cuDeviceGetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_626cuDeviceGetGraphMemAttribute, "cuDeviceGetGraphMemAttribute(device, attr: CUgraphMem_attribute)\n\nQuery asynchronous allocation attributes related to graphs.\n\nValid attributes are:\n\n- :py:obj:`~.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT`: Amount of memory, in\n  bytes, currently associated with graphs\n\n- :py:obj:`~.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH`: High watermark of\n  memory, in bytes, associated with graphs since the last time it was\n  reset. High watermark can only be reset to zero.\n\n- :py:obj:`~.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT`: Amount of memory,\n  in bytes, currently allocated for use by the CUDA graphs asynchronous\n  allocator.\n\n- :py:obj:`~.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH`: High watermark of\n  memory, in bytes, currently allocated for use by the CUDA graphs\n  asynchronous allocator.\n\nParameters\n----------\ndevice : :py:obj:`~.CUdevice`\n    Specifies the scope of the query\nattr : :py:obj:`~.CUgraphMem_attribute`\n    attribute to get\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nvalue : Any\n    retrieved value\n\nSee Also\n--------\n:py:obj:`~.cuDeviceSetGraphMemAttribute`, :py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphAddMemFreeNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_627cuDeviceGetGraphMemAttribute = {"cuDeviceGetGraphMemAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_627cuDeviceGetGraphMemAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_626cuDeviceGetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_627cuDeviceGetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_device = 0;
  PyObject *__pyx_v_attr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetGraphMemAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_device,&__pyx_mstate_global->__pyx_n_u_attr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37445, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37445, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37445, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetGraphMemAttribute", 0) < (0)) __PYX_ERR(0, 37445, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetGraphMemAttribute", 1, 2, 2, i); __PYX_ERR(0, 37445, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37445, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37445, __pyx_L3_error)
    }
    __pyx_v_device = values[0];
    __pyx_v_attr = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetGraphMemAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 37445, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetGraphMemAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 37446, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_626cuDeviceGetGraphMemAttribute(__pyx_self, __pyx_v_device, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_626cuDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr) {
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUgraphMem_attribute __pyx_v_cyattr;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUgraphMem_attribute __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_9;
  CUresult __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetGraphMemAttribute", 0);

  /* "cuda/bindings/driver.pyx":37485
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37486
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37485
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37487
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37488
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37487
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37490
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37490, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37491
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, 0, is_getter=True)
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 37491, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":37492
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUgraphMem_attribute_enum)__Pyx_PyLong_As_enum__CUgraphMem_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 37492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":37493
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attr, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_8, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 37493, __pyx_L1_error)
    __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37493, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37494
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_9 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_9));

  /* "cuda/bindings/driver.pyx":37495
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37496
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
 *         err = cydriver.cuDeviceGetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetGraphMemAttribute(__pyx_v_cydevice, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37496, __pyx_L5_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":37495
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37497
 *     with nogil:
 *         err = cydriver.cuDeviceGetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37498
 *         err = cydriver.cuDeviceGetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_8);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 37498, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 37498, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37497
 *     with nogil:
 *         err = cydriver.cuDeviceGetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())
*/
  }

  /* "cuda/bindings/driver.pyx":37499
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_3 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_8 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37499, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 37499, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37445
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetGraphMemAttribute(device, attr not None : CUgraphMem_attribute):
 *     """ Query asynchronous allocation attributes related to graphs.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetGraphMemAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37501
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetGraphMemAttribute(device, attr not None : CUgraphMem_attribute, value):
 *     """ Set asynchronous allocation attributes related to graphs.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_629cuDeviceSetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_628cuDeviceSetGraphMemAttribute, "cuDeviceSetGraphMemAttribute(device, attr: CUgraphMem_attribute, value)\n\nSet asynchronous allocation attributes related to graphs.\n\nValid attributes are:\n\n- :py:obj:`~.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH`: High watermark of\n  memory, in bytes, associated with graphs since the last time it was\n  reset. High watermark can only be reset to zero.\n\n- :py:obj:`~.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH`: High watermark of\n  memory, in bytes, currently allocated for use by the CUDA graphs\n  asynchronous allocator.\n\nParameters\n----------\ndevice : :py:obj:`~.CUdevice`\n    Specifies the scope of the query\nattr : :py:obj:`~.CUgraphMem_attribute`\n    attribute to get\nvalue : Any\n    pointer to value to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetGraphMemAttribute`, :py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphAddMemFreeNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_629cuDeviceSetGraphMemAttribute = {"cuDeviceSetGraphMemAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_629cuDeviceSetGraphMemAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_628cuDeviceSetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_629cuDeviceSetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_device = 0;
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceSetGraphMemAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_device,&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37501, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37501, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37501, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37501, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceSetGraphMemAttribute", 0) < (0)) __PYX_ERR(0, 37501, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceSetGraphMemAttribute", 1, 3, 3, i); __PYX_ERR(0, 37501, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37501, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37501, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37501, __pyx_L3_error)
    }
    __pyx_v_device = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceSetGraphMemAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 37501, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceSetGraphMemAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 37502, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_628cuDeviceSetGraphMemAttribute(__pyx_self, __pyx_v_device, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_628cuDeviceSetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr, PyObject *__pyx_v_value) {
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUgraphMem_attribute __pyx_v_cyattr;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUgraphMem_attribute __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_9;
  CUresult __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceSetGraphMemAttribute", 0);

  /* "cuda/bindings/driver.pyx":37534
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37535
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37534
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37536
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37537
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37536
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37539
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37539, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37540
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, value, is_getter=False)
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 37540, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":37541
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUgraphMem_attribute_enum)__Pyx_PyLong_As_enum__CUgraphMem_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 37541, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":37542
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attr, __pyx_v_value};
    __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_False, __pyx_t_8, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 37542, __pyx_L1_error)
    __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37542, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37543
 *     cdef cydriver.CUgraphMem_attribute cyattr = attr.value
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceSetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_9 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_9));

  /* "cuda/bindings/driver.pyx":37544
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceSetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37545
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
 *         err = cydriver.cuDeviceSetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceSetGraphMemAttribute(__pyx_v_cydevice, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37545, __pyx_L5_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":37544
 *     cdef _HelperCUgraphMem_attribute cyvalue = _HelperCUgraphMem_attribute(attr, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceSetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37546
 *     with nogil:
 *         err = cydriver.cuDeviceSetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 37546, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37501
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetGraphMemAttribute(device, attr not None : CUgraphMem_attribute, value):
 *     """ Set asynchronous allocation attributes related to graphs.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceSetGraphMemAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37548
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphClone(originalGraph):
 *     """ Clones a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_631cuGraphClone(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_630cuGraphClone, "cuGraphClone(originalGraph)\n\nClones a graph.\n\nThis function creates a copy of `originalGraph` and returns it in\n`phGraphClone`. All parameters are copied into the cloned graph. The\noriginal graph may be modified after this call without affecting the\nclone.\n\nChild graph nodes in the original graph are recursively copied into the\nclone.\n\nParameters\n----------\noriginalGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to clone\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nphGraphClone : :py:obj:`~.CUgraph`\n    Returns newly created cloned graph\n\nSee Also\n--------\n:py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeFindInClone`\n\nNotes\n-----\n: Cloning is not supported for graphs which contain memory allocation nodes, memory free nodes, or conditional nodes.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_631cuGraphClone = {"cuGraphClone", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_631cuGraphClone, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_630cuGraphClone};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_631cuGraphClone(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_originalGraph = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphClone (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_originalGraph,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37548, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37548, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphClone", 0) < (0)) __PYX_ERR(0, 37548, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphClone", 1, 1, 1, i); __PYX_ERR(0, 37548, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37548, __pyx_L3_error)
    }
    __pyx_v_originalGraph = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphClone", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 37548, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_630cuGraphClone(__pyx_self, __pyx_v_originalGraph);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_630cuGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph) {
  CUgraph __pyx_v_cyoriginalGraph;
  PyObject *__pyx_v_poriginalGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_phGraphClone = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphClone", 0);

  /* "cuda/bindings/driver.pyx":37581
 *     """
 *     cdef cydriver.CUgraph cyoriginalGraph
 *     if originalGraph is None:             # <<<<<<<<<<<<<<
 *         poriginalGraph = 0
 *     elif isinstance(originalGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_originalGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37582
 *     cdef cydriver.CUgraph cyoriginalGraph
 *     if originalGraph is None:
 *         poriginalGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(originalGraph, (CUgraph,)):
 *         poriginalGraph = int(originalGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_poriginalGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37581
 *     """
 *     cdef cydriver.CUgraph cyoriginalGraph
 *     if originalGraph is None:             # <<<<<<<<<<<<<<
 *         poriginalGraph = 0
 *     elif isinstance(originalGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37583
 *     if originalGraph is None:
 *         poriginalGraph = 0
 *     elif isinstance(originalGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         poriginalGraph = int(originalGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_originalGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37584
 *         poriginalGraph = 0
 *     elif isinstance(originalGraph, (CUgraph,)):
 *         poriginalGraph = int(originalGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         poriginalGraph = int(CUgraph(originalGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_originalGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_poriginalGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37583
 *     if originalGraph is None:
 *         poriginalGraph = 0
 *     elif isinstance(originalGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         poriginalGraph = int(originalGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37586
 *         poriginalGraph = int(originalGraph)
 *     else:
 *         poriginalGraph = int(CUgraph(originalGraph))             # <<<<<<<<<<<<<<
 *     cyoriginalGraph = <cydriver.CUgraph><void_ptr>poriginalGraph
 *     cdef CUgraph phGraphClone = CUgraph()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_originalGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37586, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_poriginalGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37587
 *     else:
 *         poriginalGraph = int(CUgraph(originalGraph))
 *     cyoriginalGraph = <cydriver.CUgraph><void_ptr>poriginalGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraphClone = CUgraph()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_poriginalGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37587, __pyx_L1_error)
  __pyx_v_cyoriginalGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37588
 *         poriginalGraph = int(CUgraph(originalGraph))
 *     cyoriginalGraph = <cydriver.CUgraph><void_ptr>poriginalGraph
 *     cdef CUgraph phGraphClone = CUgraph()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphClone(<cydriver.CUgraph*>phGraphClone._pvt_ptr, cyoriginalGraph)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37588, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphClone = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37589
 *     cyoriginalGraph = <cydriver.CUgraph><void_ptr>poriginalGraph
 *     cdef CUgraph phGraphClone = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphClone(<cydriver.CUgraph*>phGraphClone._pvt_ptr, cyoriginalGraph)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37590
 *     cdef CUgraph phGraphClone = CUgraph()
 *     with nogil:
 *         err = cydriver.cuGraphClone(<cydriver.CUgraph*>phGraphClone._pvt_ptr, cyoriginalGraph)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphClone(((CUgraph *)__pyx_v_phGraphClone->_pvt_ptr), __pyx_v_cyoriginalGraph); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37590, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37589
 *     cyoriginalGraph = <cydriver.CUgraph><void_ptr>poriginalGraph
 *     cdef CUgraph phGraphClone = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphClone(<cydriver.CUgraph*>phGraphClone._pvt_ptr, cyoriginalGraph)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37591
 *     with nogil:
 *         err = cydriver.cuGraphClone(<cydriver.CUgraph*>phGraphClone._pvt_ptr, cyoriginalGraph)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphClone)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37592
 *         err = cydriver.cuGraphClone(<cydriver.CUgraph*>phGraphClone._pvt_ptr, cyoriginalGraph)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphClone)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 37592, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 37592, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37591
 *     with nogil:
 *         err = cydriver.cuGraphClone(<cydriver.CUgraph*>phGraphClone._pvt_ptr, cyoriginalGraph)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphClone)
*/
  }

  /* "cuda/bindings/driver.pyx":37593
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphClone)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37593, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphClone);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphClone);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraphClone)) != (0)) __PYX_ERR(0, 37593, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37548
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphClone(originalGraph):
 *     """ Clones a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_poriginalGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphClone);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37595
 *     return (_dict_CUresult[err], phGraphClone)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeFindInClone(hOriginalNode, hClonedGraph):
 *     """ Finds a cloned version of a node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_633cuGraphNodeFindInClone(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_632cuGraphNodeFindInClone, "cuGraphNodeFindInClone(hOriginalNode, hClonedGraph)\n\nFinds a cloned version of a node.\n\nThis function returns the node in `hClonedGraph` corresponding to\n`hOriginalNode` in the original graph.\n\n`hClonedGraph` must have been cloned from `hOriginalGraph` via\n:py:obj:`~.cuGraphClone`. `hOriginalNode` must have been in\n`hOriginalGraph` at the time of the call to :py:obj:`~.cuGraphClone`,\nand the corresponding cloned node in `hClonedGraph` must not have been\nremoved. The cloned node is then returned via `phClonedNode`.\n\nParameters\n----------\nhOriginalNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Handle to the original node\nhClonedGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Cloned graph to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nphNode : :py:obj:`~.CUgraphNode`\n    Returns handle to the cloned node\n\nSee Also\n--------\n:py:obj:`~.cuGraphClone`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_633cuGraphNodeFindInClone = {"cuGraphNodeFindInClone", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_633cuGraphNodeFindInClone, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_632cuGraphNodeFindInClone};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_633cuGraphNodeFindInClone(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hOriginalNode = 0;
  PyObject *__pyx_v_hClonedGraph = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeFindInClone (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hOriginalNode,&__pyx_mstate_global->__pyx_n_u_hClonedGraph,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37595, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37595, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37595, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeFindInClone", 0) < (0)) __PYX_ERR(0, 37595, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeFindInClone", 1, 2, 2, i); __PYX_ERR(0, 37595, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37595, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37595, __pyx_L3_error)
    }
    __pyx_v_hOriginalNode = values[0];
    __pyx_v_hClonedGraph = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeFindInClone", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 37595, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeFindInClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_632cuGraphNodeFindInClone(__pyx_self, __pyx_v_hOriginalNode, __pyx_v_hClonedGraph);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_632cuGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hOriginalNode, PyObject *__pyx_v_hClonedGraph) {
  CUgraph __pyx_v_cyhClonedGraph;
  PyObject *__pyx_v_phClonedGraph = NULL;
  CUgraphNode __pyx_v_cyhOriginalNode;
  PyObject *__pyx_v_phOriginalNode = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phNode = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeFindInClone", 0);

  /* "cuda/bindings/driver.pyx":37627
 *     """
 *     cdef cydriver.CUgraph cyhClonedGraph
 *     if hClonedGraph is None:             # <<<<<<<<<<<<<<
 *         phClonedGraph = 0
 *     elif isinstance(hClonedGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hClonedGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37628
 *     cdef cydriver.CUgraph cyhClonedGraph
 *     if hClonedGraph is None:
 *         phClonedGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hClonedGraph, (CUgraph,)):
 *         phClonedGraph = int(hClonedGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phClonedGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37627
 *     """
 *     cdef cydriver.CUgraph cyhClonedGraph
 *     if hClonedGraph is None:             # <<<<<<<<<<<<<<
 *         phClonedGraph = 0
 *     elif isinstance(hClonedGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37629
 *     if hClonedGraph is None:
 *         phClonedGraph = 0
 *     elif isinstance(hClonedGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phClonedGraph = int(hClonedGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hClonedGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37630
 *         phClonedGraph = 0
 *     elif isinstance(hClonedGraph, (CUgraph,)):
 *         phClonedGraph = int(hClonedGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phClonedGraph = int(CUgraph(hClonedGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hClonedGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phClonedGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37629
 *     if hClonedGraph is None:
 *         phClonedGraph = 0
 *     elif isinstance(hClonedGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phClonedGraph = int(hClonedGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37632
 *         phClonedGraph = int(hClonedGraph)
 *     else:
 *         phClonedGraph = int(CUgraph(hClonedGraph))             # <<<<<<<<<<<<<<
 *     cyhClonedGraph = <cydriver.CUgraph><void_ptr>phClonedGraph
 *     cdef cydriver.CUgraphNode cyhOriginalNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hClonedGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37632, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phClonedGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37633
 *     else:
 *         phClonedGraph = int(CUgraph(hClonedGraph))
 *     cyhClonedGraph = <cydriver.CUgraph><void_ptr>phClonedGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhOriginalNode
 *     if hOriginalNode is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phClonedGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37633, __pyx_L1_error)
  __pyx_v_cyhClonedGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37635
 *     cyhClonedGraph = <cydriver.CUgraph><void_ptr>phClonedGraph
 *     cdef cydriver.CUgraphNode cyhOriginalNode
 *     if hOriginalNode is None:             # <<<<<<<<<<<<<<
 *         phOriginalNode = 0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hOriginalNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37636
 *     cdef cydriver.CUgraphNode cyhOriginalNode
 *     if hOriginalNode is None:
 *         phOriginalNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
 *         phOriginalNode = int(hOriginalNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phOriginalNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37635
 *     cyhClonedGraph = <cydriver.CUgraph><void_ptr>phClonedGraph
 *     cdef cydriver.CUgraphNode cyhOriginalNode
 *     if hOriginalNode is None:             # <<<<<<<<<<<<<<
 *         phOriginalNode = 0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37637
 *     if hOriginalNode is None:
 *         phOriginalNode = 0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phOriginalNode = int(hOriginalNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hOriginalNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37638
 *         phOriginalNode = 0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
 *         phOriginalNode = int(hOriginalNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hOriginalNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phOriginalNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":37637
 *     if hOriginalNode is None:
 *         phOriginalNode = 0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phOriginalNode = int(hOriginalNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37640
 *         phOriginalNode = int(hOriginalNode)
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))             # <<<<<<<<<<<<<<
 *     cyhOriginalNode = <cydriver.CUgraphNode><void_ptr>phOriginalNode
 *     cdef CUgraphNode phNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hOriginalNode};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37640, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phOriginalNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":37641
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))
 *     cyhOriginalNode = <cydriver.CUgraphNode><void_ptr>phOriginalNode             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phNode = CUgraphNode()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phOriginalNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37641, __pyx_L1_error)
  __pyx_v_cyhOriginalNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37642
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))
 *     cyhOriginalNode = <cydriver.CUgraphNode><void_ptr>phOriginalNode
 *     cdef CUgraphNode phNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeFindInClone(<cydriver.CUgraphNode*>phNode._pvt_ptr, cyhOriginalNode, cyhClonedGraph)
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37642, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":37643
 *     cyhOriginalNode = <cydriver.CUgraphNode><void_ptr>phOriginalNode
 *     cdef CUgraphNode phNode = CUgraphNode()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeFindInClone(<cydriver.CUgraphNode*>phNode._pvt_ptr, cyhOriginalNode, cyhClonedGraph)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37644
 *     cdef CUgraphNode phNode = CUgraphNode()
 *     with nogil:
 *         err = cydriver.cuGraphNodeFindInClone(<cydriver.CUgraphNode*>phNode._pvt_ptr, cyhOriginalNode, cyhClonedGraph)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeFindInClone(((CUgraphNode *)__pyx_v_phNode->_pvt_ptr), __pyx_v_cyhOriginalNode, __pyx_v_cyhClonedGraph); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37644, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37643
 *     cyhOriginalNode = <cydriver.CUgraphNode><void_ptr>phOriginalNode
 *     cdef CUgraphNode phNode = CUgraphNode()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeFindInClone(<cydriver.CUgraphNode*>phNode._pvt_ptr, cyhOriginalNode, cyhClonedGraph)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":37645
 *     with nogil:
 *         err = cydriver.cuGraphNodeFindInClone(<cydriver.CUgraphNode*>phNode._pvt_ptr, cyhOriginalNode, cyhClonedGraph)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phNode)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37646
 *         err = cydriver.cuGraphNodeFindInClone(<cydriver.CUgraphNode*>phNode._pvt_ptr, cyhOriginalNode, cyhClonedGraph)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37646, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 37646, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37645
 *     with nogil:
 *         err = cydriver.cuGraphNodeFindInClone(<cydriver.CUgraphNode*>phNode._pvt_ptr, cyhOriginalNode, cyhClonedGraph)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phNode)
*/
  }

  /* "cuda/bindings/driver.pyx":37647
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 37647, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_phNode)) != (0)) __PYX_ERR(0, 37647, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37595
 *     return (_dict_CUresult[err], phGraphClone)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeFindInClone(hOriginalNode, hClonedGraph):
 *     """ Finds a cloned version of a node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeFindInClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phClonedGraph);
  __Pyx_XDECREF(__pyx_v_phOriginalNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37649
 *     return (_dict_CUresult[err], phNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetType(hNode):
 *     """ Returns a node's type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_635cuGraphNodeGetType(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_634cuGraphNodeGetType, "cuGraphNodeGetType(hNode)\n\nReturns a node's type.\n\nReturns the node type of `hNode` in `typename`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ntypename : :py:obj:`~.CUgraphNodeType`\n    Pointer to return the node type\n\nSee Also\n--------\n:py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphChildGraphNodeGetGraph`, :py:obj:`~.cuGraphKernelNodeGetParams`, :py:obj:`~.cuGraphKernelNodeSetParams`, :py:obj:`~.cuGraphHostNodeGetParams`, :py:obj:`~.cuGraphHostNodeSetParams`, :py:obj:`~.cuGraphMemcpyNodeGetParams`, :py:obj:`~.cuGraphMemcpyNodeSetParams`, :py:obj:`~.cuGraphMemsetNodeGetParams`, :py:obj:`~.cuGraphMemsetNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_635cuGraphNodeGetType = {"cuGraphNodeGetType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_635cuGraphNodeGetType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_634cuGraphNodeGetType};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_635cuGraphNodeGetType(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeGetType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37649, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37649, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetType", 0) < (0)) __PYX_ERR(0, 37649, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetType", 1, 1, 1, i); __PYX_ERR(0, 37649, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37649, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetType", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 37649, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_634cuGraphNodeGetType(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_634cuGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNodeType __pyx_v_typename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetType", 0);

  /* "cuda/bindings/driver.pyx":37672
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37673
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37672
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37674
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37675
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37674
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37677
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNodeType typename
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37677, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37678
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNodeType typename
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37678, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37680
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNodeType typename
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetType(cyhNode, &typename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37681
 *     cdef cydriver.CUgraphNodeType typename
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetType(cyhNode, &typename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetType(__pyx_v_cyhNode, (&__pyx_v_typename)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37681, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37680
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNodeType typename
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetType(cyhNode, &typename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37682
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetType(cyhNode, &typename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37683
 *         err = cydriver.cuGraphNodeGetType(cyhNode, &typename)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 37683, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 37683, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37682
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetType(cyhNode, &typename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))
*/
  }

  /* "cuda/bindings/driver.pyx":37684
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUgraphNodeType); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(__pyx_v_typename); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37684, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 37684, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37649
 *     return (_dict_CUresult[err], phNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetType(hNode):
 *     """ Returns a node's type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37686
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):
 *     """ Returns a graph's nodes.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_637cuGraphGetNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_636cuGraphGetNodes, "cuGraphGetNodes(hGraph, size_t numNodes=0)\n\nReturns a graph's nodes.\n\nReturns a list of `hGraph's` nodes. `nodes` may be NULL, in which case\nthis function will return the number of nodes in `numNodes`. Otherwise,\n`numNodes` entries will be filled in. If `numNodes` is higher than the\nactual number of nodes, the remaining entries in `nodes` will be set to\nNULL, and the number of nodes actually obtained will be returned in\n`numNodes`.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to query\nnumNodes : int\n    See description\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nnodes : list[:py:obj:`~.CUgraphNode`]\n    Pointer to return the nodes\nnumNodes : int\n    See description\n\nSee Also\n--------\n:py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetType`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_637cuGraphGetNodes = {"cuGraphGetNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_637cuGraphGetNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_636cuGraphGetNodes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_637cuGraphGetNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  size_t __pyx_v_numNodes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphGetNodes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_numNodes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37686, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37686, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37686, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphGetNodes", 0) < (0)) __PYX_ERR(0, 37686, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphGetNodes", 0, 1, 2, i); __PYX_ERR(0, 37686, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37686, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37686, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hGraph = values[0];
    if (values[1]) {
      __pyx_v_numNodes = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_numNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 37687, __pyx_L3_error)
    } else {
      __pyx_v_numNodes = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphGetNodes", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 37686, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_636cuGraphGetNodes(__pyx_self, __pyx_v_hGraph, __pyx_v_numNodes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_636cuGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numNodes) {
  size_t __pyx_v__graph_length;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cynodes;
  PyObject *__pyx_v_pynodes = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr305__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphGetNodes", 0);

  /* "cuda/bindings/driver.pyx":37717
 *     :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetType`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     cdef size_t _graph_length = numNodes             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
  __pyx_v__graph_length = __pyx_v_numNodes;

  /* "cuda/bindings/driver.pyx":37719
 *     cdef size_t _graph_length = numNodes
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37720
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37719
 *     cdef size_t _graph_length = numNodes
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37721
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37722
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37721
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37724
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cynodes = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37724, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37725
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cynodes = NULL
 *     pynodes = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37725, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37726
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cynodes = NULL             # <<<<<<<<<<<<<<
 *     pynodes = []
 *     if _graph_length != 0:
*/
  __pyx_v_cynodes = NULL;

  /* "cuda/bindings/driver.pyx":37727
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cynodes = NULL
 *     pynodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cynodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pynodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37728
 *     cdef cydriver.CUgraphNode* cynodes = NULL
 *     pynodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cynodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cynodes is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37729
 *     pynodes = []
 *     if _graph_length != 0:
 *         cynodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cynodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cynodes = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37730
 *     if _graph_length != 0:
 *         cynodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cynodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cynodes == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":37731
 *         cynodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cynodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphGetNodes(cyhGraph, cynodes, &numNodes)
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37731, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 37731, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37730
 *     if _graph_length != 0:
 *         cynodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cynodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":37728
 *     cdef cydriver.CUgraphNode* cynodes = NULL
 *     pynodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cynodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cynodes is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37732
 *         if cynodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetNodes(cyhGraph, cynodes, &numNodes)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37733
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
 *         err = cydriver.cuGraphGetNodes(cyhGraph, cynodes, &numNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cynodes[idx]) for idx in range(_graph_length)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphGetNodes(__pyx_v_cyhGraph, __pyx_v_cynodes, (&__pyx_v_numNodes)); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37733, __pyx_L7_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":37732
 *         if cynodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetNodes(cyhGraph, cynodes, &numNodes)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":37734
 *     with nogil:
 *         err = cydriver.cuGraphGetNodes(cyhGraph, cynodes, &numNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cynodes[idx]) for idx in range(_graph_length)]
 *     if cynodes is not NULL:
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 37734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37735
 *         err = cydriver.cuGraphGetNodes(cyhGraph, cynodes, &numNodes)
 *     if CUresult(err) == CUresult(0):
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cynodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cynodes is not NULL:
 *         free(cynodes)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37735, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr305__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cynodes[__pyx_10genexpr305__pyx_v_idx]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37735, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37735, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_9, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 37735, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37735, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 37735, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pynodes, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37734
 *     with nogil:
 *         err = cydriver.cuGraphGetNodes(cyhGraph, cynodes, &numNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cynodes[idx]) for idx in range(_graph_length)]
 *     if cynodes is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37736
 *     if CUresult(err) == CUresult(0):
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cynodes[idx]) for idx in range(_graph_length)]
 *     if cynodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cynodes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cynodes != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37737
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cynodes[idx]) for idx in range(_graph_length)]
 *     if cynodes is not NULL:
 *         free(cynodes)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
    free(__pyx_v_cynodes);

    /* "cuda/bindings/driver.pyx":37736
 *     if CUresult(err) == CUresult(0):
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cynodes[idx]) for idx in range(_graph_length)]
 *     if cynodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cynodes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":37738
 *     if cynodes is not NULL:
 *         free(cynodes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pynodes, numNodes)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37739
 *         free(cynodes)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pynodes, numNodes)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 37739, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, Py_None) != (0)) __PYX_ERR(0, 37739, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, Py_None) != (0)) __PYX_ERR(0, 37739, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37738
 *     if cynodes is not NULL:
 *         free(cynodes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pynodes, numNodes)
*/
  }

  /* "cuda/bindings/driver.pyx":37740
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pynodes, numNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_numNodes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 37740, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pynodes);
  __Pyx_GIVEREF(__pyx_v_pynodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pynodes) != (0)) __PYX_ERR(0, 37740, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 37740, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37686
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):
 *     """ Returns a graph's nodes.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_v_pynodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37742
 *     return (_dict_CUresult[err], pynodes, numNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetRootNodes(hGraph, size_t numRootNodes = 0):
 *     """ Returns a graph's root nodes.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_639cuGraphGetRootNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_638cuGraphGetRootNodes, "cuGraphGetRootNodes(hGraph, size_t numRootNodes=0)\n\nReturns a graph's root nodes.\n\nReturns a list of `hGraph's` root nodes. `rootNodes` may be NULL, in\nwhich case this function will return the number of root nodes in\n`numRootNodes`. Otherwise, `numRootNodes` entries will be filled in. If\n`numRootNodes` is higher than the actual number of root nodes, the\nremaining entries in `rootNodes` will be set to NULL, and the number of\nnodes actually obtained will be returned in `numRootNodes`.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to query\nnumRootNodes : int\n    See description\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nrootNodes : list[:py:obj:`~.CUgraphNode`]\n    Pointer to return the root nodes\nnumRootNodes : int\n    See description\n\nSee Also\n--------\n:py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetType`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_639cuGraphGetRootNodes = {"cuGraphGetRootNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_639cuGraphGetRootNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_638cuGraphGetRootNodes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_639cuGraphGetRootNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  size_t __pyx_v_numRootNodes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphGetRootNodes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_numRootNodes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37742, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37742, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37742, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphGetRootNodes", 0) < (0)) __PYX_ERR(0, 37742, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphGetRootNodes", 0, 1, 2, i); __PYX_ERR(0, 37742, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37742, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37742, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hGraph = values[0];
    if (values[1]) {
      __pyx_v_numRootNodes = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_numRootNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 37743, __pyx_L3_error)
    } else {
      __pyx_v_numRootNodes = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphGetRootNodes", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 37742, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetRootNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_638cuGraphGetRootNodes(__pyx_self, __pyx_v_hGraph, __pyx_v_numRootNodes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_638cuGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numRootNodes) {
  size_t __pyx_v__graph_length;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cyrootNodes;
  PyObject *__pyx_v_pyrootNodes = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr306__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphGetRootNodes", 0);

  /* "cuda/bindings/driver.pyx":37773
 *     :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetType`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     cdef size_t _graph_length = numRootNodes             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
  __pyx_v__graph_length = __pyx_v_numRootNodes;

  /* "cuda/bindings/driver.pyx":37775
 *     cdef size_t _graph_length = numRootNodes
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37776
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37775
 *     cdef size_t _graph_length = numRootNodes
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37777
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37778
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37777
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37780
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyrootNodes = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37780, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37781
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyrootNodes = NULL
 *     pyrootNodes = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37781, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37782
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyrootNodes = NULL             # <<<<<<<<<<<<<<
 *     pyrootNodes = []
 *     if _graph_length != 0:
*/
  __pyx_v_cyrootNodes = NULL;

  /* "cuda/bindings/driver.pyx":37783
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyrootNodes = NULL
 *     pyrootNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cyrootNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyrootNodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37784
 *     cdef cydriver.CUgraphNode* cyrootNodes = NULL
 *     pyrootNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyrootNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyrootNodes is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37785
 *     pyrootNodes = []
 *     if _graph_length != 0:
 *         cyrootNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyrootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cyrootNodes = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37786
 *     if _graph_length != 0:
 *         cyrootNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyrootNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cyrootNodes == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":37787
 *         cyrootNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyrootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphGetRootNodes(cyhGraph, cyrootNodes, &numRootNodes)
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37787, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37787, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37787, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37787, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37787, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37787, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37787, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37787, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 37787, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37786
 *     if _graph_length != 0:
 *         cyrootNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyrootNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":37784
 *     cdef cydriver.CUgraphNode* cyrootNodes = NULL
 *     pyrootNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyrootNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyrootNodes is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37788
 *         if cyrootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetRootNodes(cyhGraph, cyrootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37789
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
 *         err = cydriver.cuGraphGetRootNodes(cyhGraph, cyrootNodes, &numRootNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>cyrootNodes[idx]) for idx in range(_graph_length)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphGetRootNodes(__pyx_v_cyhGraph, __pyx_v_cyrootNodes, (&__pyx_v_numRootNodes)); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37789, __pyx_L7_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":37788
 *         if cyrootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetRootNodes(cyhGraph, cyrootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":37790
 *     with nogil:
 *         err = cydriver.cuGraphGetRootNodes(cyhGraph, cyrootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>cyrootNodes[idx]) for idx in range(_graph_length)]
 *     if cyrootNodes is not NULL:
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 37790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37791
 *         err = cydriver.cuGraphGetRootNodes(cyhGraph, cyrootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>cyrootNodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cyrootNodes is not NULL:
 *         free(cyrootNodes)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37791, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr306__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyrootNodes[__pyx_10genexpr306__pyx_v_idx]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37791, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37791, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_9, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 37791, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37791, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 37791, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyrootNodes, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37790
 *     with nogil:
 *         err = cydriver.cuGraphGetRootNodes(cyhGraph, cyrootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>cyrootNodes[idx]) for idx in range(_graph_length)]
 *     if cyrootNodes is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37792
 *     if CUresult(err) == CUresult(0):
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>cyrootNodes[idx]) for idx in range(_graph_length)]
 *     if cyrootNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyrootNodes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cyrootNodes != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37793
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>cyrootNodes[idx]) for idx in range(_graph_length)]
 *     if cyrootNodes is not NULL:
 *         free(cyrootNodes)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
    free(__pyx_v_cyrootNodes);

    /* "cuda/bindings/driver.pyx":37792
 *     if CUresult(err) == CUresult(0):
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>cyrootNodes[idx]) for idx in range(_graph_length)]
 *     if cyrootNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyrootNodes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":37794
 *     if cyrootNodes is not NULL:
 *         free(cyrootNodes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pyrootNodes, numRootNodes)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37795
 *         free(cyrootNodes)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pyrootNodes, numRootNodes)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 37795, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, Py_None) != (0)) __PYX_ERR(0, 37795, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, Py_None) != (0)) __PYX_ERR(0, 37795, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37794
 *     if cyrootNodes is not NULL:
 *         free(cyrootNodes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pyrootNodes, numRootNodes)
*/
  }

  /* "cuda/bindings/driver.pyx":37796
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pyrootNodes, numRootNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_numRootNodes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 37796, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyrootNodes);
  __Pyx_GIVEREF(__pyx_v_pyrootNodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pyrootNodes) != (0)) __PYX_ERR(0, 37796, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 37796, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37742
 *     return (_dict_CUresult[err], pynodes, numNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetRootNodes(hGraph, size_t numRootNodes = 0):
 *     """ Returns a graph's root nodes.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetRootNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_v_pyrootNodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37798
 *     return (_dict_CUresult[err], pyrootNodes, numRootNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_641cuGraphGetEdges(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_640cuGraphGetEdges, "cuGraphGetEdges(hGraph, size_t numEdges=0)\n\nReturns a graph's dependency edges.\n\nReturns a list of `hGraph's` dependency edges. Edges are returned via\ncorresponding indices in `from` and `to`; that is, the node in `to`[i]\nhas a dependency on the node in `from`[i]. `from` and `to` may both be\nNULL, in which case this function only returns the number of edges in\n`numEdges`. Otherwise, `numEdges` entries will be filled in. If\n`numEdges` is higher than the actual number of edges, the remaining\nentries in `from` and `to` will be set to NULL, and the number of edges\nactually returned will be written to `numEdges`.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to get the edges from\nnumEdges : int\n    See description\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nfrom : list[:py:obj:`~.CUgraphNode`]\n    Location to return edge endpoints\nto : list[:py:obj:`~.CUgraphNode`]\n    Location to return edge endpoints\nnumEdges : int\n    See description\n\nSee Also\n--------\n:py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_641cuGraphGetEdges = {"cuGraphGetEdges", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_641cuGraphGetEdges, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_640cuGraphGetEdges};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_641cuGraphGetEdges(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  size_t __pyx_v_numEdges;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphGetEdges (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_numEdges,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37798, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37798, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37798, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphGetEdges", 0) < (0)) __PYX_ERR(0, 37798, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphGetEdges", 0, 1, 2, i); __PYX_ERR(0, 37798, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37798, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37798, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hGraph = values[0];
    if (values[1]) {
      __pyx_v_numEdges = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_numEdges == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 37799, __pyx_L3_error)
    } else {
      __pyx_v_numEdges = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphGetEdges", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 37798, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_640cuGraphGetEdges(__pyx_self, __pyx_v_hGraph, __pyx_v_numEdges);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_640cuGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges) {
  size_t __pyx_v__graph_length;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cyfrom_;
  PyObject *__pyx_v_pyfrom_ = NULL;
  CUgraphNode *__pyx_v_cyto;
  PyObject *__pyx_v_pyto = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr307__pyx_v_idx;
  size_t __pyx_10genexpr308__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphGetEdges", 0);

  /* "cuda/bindings/driver.pyx":37833
 *     :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     cdef size_t _graph_length = numEdges             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
  __pyx_v__graph_length = __pyx_v_numEdges;

  /* "cuda/bindings/driver.pyx":37835
 *     cdef size_t _graph_length = numEdges
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37836
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37835
 *     cdef size_t _graph_length = numEdges
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37837
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37838
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37837
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37840
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37840, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37841
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37841, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37842
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL             # <<<<<<<<<<<<<<
 *     pyfrom_ = []
 *     if _graph_length != 0:
*/
  __pyx_v_cyfrom_ = NULL;

  /* "cuda/bindings/driver.pyx":37843
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyfrom_ = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37844
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37845
 *     pyfrom_ = []
 *     if _graph_length != 0:
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cyfrom_ = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37846
 *     if _graph_length != 0:
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
    __pyx_t_1 = (__pyx_v_cyfrom_ == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":37847
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     pyto = []
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37847, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 37847, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37846
 *     if _graph_length != 0:
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
    }

    /* "cuda/bindings/driver.pyx":37844
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37848
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphNode* cyto = NULL             # <<<<<<<<<<<<<<
 *     pyto = []
 *     if _graph_length != 0:
*/
  __pyx_v_cyto = NULL;

  /* "cuda/bindings/driver.pyx":37849
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     pyto = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyto = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37850
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37851
 *     pyto = []
 *     if _graph_length != 0:
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cyto = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37852
 *     if _graph_length != 0:
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cyto == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":37853
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges(cyhGraph, cyfrom_, cyto, &numEdges)
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_7 = __pyx_builtin_MemoryError; 
      __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37853, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 37853, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37852
 *     if _graph_length != 0:
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":37850
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37854
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetEdges(cyhGraph, cyfrom_, cyto, &numEdges)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37855
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges(cyhGraph, cyfrom_, cyto, &numEdges)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphGetEdges(__pyx_v_cyhGraph, __pyx_v_cyfrom_, __pyx_v_cyto, (&__pyx_v_numEdges)); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37855, __pyx_L9_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":37854
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetEdges(cyhGraph, cyfrom_, cyto, &numEdges)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L10;
        }
        __pyx_L9_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L10:;
      }
  }

  /* "cuda/bindings/driver.pyx":37856
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges(cyhGraph, cyfrom_, cyto, &numEdges)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_7 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 37856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37857
 *         err = cydriver.cuGraphGetEdges(cyhGraph, cyfrom_, cyto, &numEdges)
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cyfrom_ is not NULL:
 *         free(cyfrom_)
*/
    { /* enter inner scope */
      __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37857, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr307__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyfrom_[__pyx_10genexpr307__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37857, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37857, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_9);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 37857, __pyx_L1_error)
          __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37857, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_2);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 37857, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfrom_, ((PyObject*)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":37856
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges(cyhGraph, cyfrom_, cyto, &numEdges)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37858
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):
*/
  __pyx_t_1 = (__pyx_v_cyfrom_ != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37859
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:
 *         free(cyfrom_)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
*/
    free(__pyx_v_cyfrom_);

    /* "cuda/bindings/driver.pyx":37858
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):
*/
  }

  /* "cuda/bindings/driver.pyx":37860
 *     if cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_7, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 37860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37861
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cyto is not NULL:
 *         free(cyto)
*/
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37861, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr308__pyx_v_idx = __pyx_t_12;
        __pyx_t_7 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyto[__pyx_10genexpr308__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37861, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_7, NULL};
          __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37861, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 37861, __pyx_L1_error)
          __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37861, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 37861, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyto, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37860
 *     if cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37862
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cyto != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37863
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:
 *         free(cyto)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
*/
    free(__pyx_v_cyto);

    /* "cuda/bindings/driver.pyx":37862
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":37864
 *     if cyto is not NULL:
 *         free(cyto)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pyfrom_, pyto, numEdges)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37865
 *         free(cyto)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pyfrom_, pyto, numEdges)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_9);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 37865, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 37865, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 37865, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, Py_None) != (0)) __PYX_ERR(0, 37865, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37864
 *     if cyto is not NULL:
 *         free(cyto)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pyfrom_, pyto, numEdges)
*/
  }

  /* "cuda/bindings/driver.pyx":37866
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pyfrom_, pyto, numEdges)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = __Pyx_PyLong_FromSize_t(__pyx_v_numEdges); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 37866, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyfrom_);
  __Pyx_GIVEREF(__pyx_v_pyfrom_);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_pyfrom_) != (0)) __PYX_ERR(0, 37866, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyto);
  __Pyx_GIVEREF(__pyx_v_pyto);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_pyto) != (0)) __PYX_ERR(0, 37866, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_9) != (0)) __PYX_ERR(0, 37866, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37798
 *     return (_dict_CUresult[err], pyrootNodes, numRootNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_v_pyfrom_);
  __Pyx_XDECREF(__pyx_v_pyto);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37868
 *     return (_dict_CUresult[err], pyfrom_, pyto, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges (12.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_643cuGraphGetEdges_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_642cuGraphGetEdges_v2, "cuGraphGetEdges_v2(hGraph, size_t numEdges=0)\n\nReturns a graph's dependency edges (12.3+)\n\nReturns a list of `hGraph's` dependency edges. Edges are returned via\ncorresponding indices in `from`, `to` and `edgeData`; that is, the node\nin `to`[i] has a dependency on the node in `from`[i] with data\n`edgeData`[i]. `from` and `to` may both be NULL, in which case this\nfunction only returns the number of edges in `numEdges`. Otherwise,\n`numEdges` entries will be filled in. If `numEdges` is higher than the\nactual number of edges, the remaining entries in `from` and `to` will\nbe set to NULL, and the number of edges actually returned will be\nwritten to `numEdges`. `edgeData` may alone be NULL, in which case the\nedges must all have default (zeroed) edge data. Attempting a lossy\nquery via NULL `edgeData` will result in\n:py:obj:`~.CUDA_ERROR_LOSSY_QUERY`. If `edgeData` is non-NULL then\n`from` and `to` must be as well.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to get the edges from\nnumEdges : int\n    See description\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_LOSSY_QUERY`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nfrom : list[:py:obj:`~.CUgraphNode`]\n    Location to return edge endpoints\nto : list[:py:obj:`~.CUgraphNode`]\n    Location to return edge endpoints\nedgeData : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional location to return edge data\nnumEdges : int\n    See description\n\nSee Also\n--------\n:py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_643cuGraphGetEdges_v2 = {"cuGraphGetEdges_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_643cuGraphGetEdges_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_642cuGraphGetEdges_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_643cuGraphGetEdges_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  size_t __pyx_v_numEdges;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphGetEdges_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_numEdges,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37868, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37868, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37868, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphGetEdges_v2", 0) < (0)) __PYX_ERR(0, 37868, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphGetEdges_v2", 0, 1, 2, i); __PYX_ERR(0, 37868, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37868, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37868, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hGraph = values[0];
    if (values[1]) {
      __pyx_v_numEdges = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_numEdges == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 37869, __pyx_L3_error)
    } else {
      __pyx_v_numEdges = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphGetEdges_v2", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 37868, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetEdges_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_642cuGraphGetEdges_v2(__pyx_self, __pyx_v_hGraph, __pyx_v_numEdges);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_642cuGraphGetEdges_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges) {
  size_t __pyx_v__graph_length;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cyfrom_;
  PyObject *__pyx_v_pyfrom_ = NULL;
  CUgraphNode *__pyx_v_cyto;
  PyObject *__pyx_v_pyto = NULL;
  CUgraphEdgeData *__pyx_v_cyedgeData;
  PyObject *__pyx_v_pyedgeData = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr309__pyx_v_idx;
  size_t __pyx_10genexpr310__pyx_v_idx;
  size_t __pyx_10genexpr311__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphGetEdges_v2", 0);

  /* "cuda/bindings/driver.pyx":37910
 *     :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     cdef size_t _graph_length = numEdges             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
  __pyx_v__graph_length = __pyx_v_numEdges;

  /* "cuda/bindings/driver.pyx":37912
 *     cdef size_t _graph_length = numEdges
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37913
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37912
 *     cdef size_t _graph_length = numEdges
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37914
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37915
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37914
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37917
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37917, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37918
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37918, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37919
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL             # <<<<<<<<<<<<<<
 *     pyfrom_ = []
 *     if _graph_length != 0:
*/
  __pyx_v_cyfrom_ = NULL;

  /* "cuda/bindings/driver.pyx":37920
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyfrom_ = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37921
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37922
 *     pyfrom_ = []
 *     if _graph_length != 0:
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cyfrom_ = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37923
 *     if _graph_length != 0:
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
    __pyx_t_1 = (__pyx_v_cyfrom_ == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":37924
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     pyto = []
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37924, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 37924, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37923
 *     if _graph_length != 0:
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
    }

    /* "cuda/bindings/driver.pyx":37921
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37925
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphNode* cyto = NULL             # <<<<<<<<<<<<<<
 *     pyto = []
 *     if _graph_length != 0:
*/
  __pyx_v_cyto = NULL;

  /* "cuda/bindings/driver.pyx":37926
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     pyto = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyto = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37927
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37928
 *     pyto = []
 *     if _graph_length != 0:
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cyto = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37929
 *     if _graph_length != 0:
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
    __pyx_t_1 = (__pyx_v_cyto == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":37930
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_7 = __pyx_builtin_MemoryError; 
      __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37930, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 37930, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37929
 *     if _graph_length != 0:
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
    }

    /* "cuda/bindings/driver.pyx":37927
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37931
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL             # <<<<<<<<<<<<<<
 *     pyedgeData = []
 *     if _graph_length != 0:
*/
  __pyx_v_cyedgeData = NULL;

  /* "cuda/bindings/driver.pyx":37932
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37933
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37934
 *     pyedgeData = []
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
*/
    __pyx_v_cyedgeData = ((CUgraphEdgeData *)calloc(__pyx_v__graph_length, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":37935
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cyedgeData == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":37936
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges_v2(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
*/
      __pyx_t_7 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_2 = __pyx_builtin_MemoryError; 
      __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37936, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 37936, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37935
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":37933
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37937
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetEdges_v2(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37938
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges_v2(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphGetEdges_v2(__pyx_v_cyhGraph, __pyx_v_cyfrom_, __pyx_v_cyto, __pyx_v_cyedgeData, (&__pyx_v_numEdges)); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37938, __pyx_L11_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":37937
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetEdges_v2(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":37939
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges_v2(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37939, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 37939, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37940
 *         err = cydriver.cuGraphGetEdges_v2(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cyfrom_ is not NULL:
 *         free(cyfrom_)
*/
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37940, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr309__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyfrom_[__pyx_10genexpr309__pyx_v_idx]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37940, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37940, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_9, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 37940, __pyx_L1_error)
          __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_7, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37940, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 37940, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfrom_, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37939
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges_v2(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37941
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):
*/
  __pyx_t_1 = (__pyx_v_cyfrom_ != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37942
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:
 *         free(cyfrom_)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
*/
    free(__pyx_v_cyfrom_);

    /* "cuda/bindings/driver.pyx":37941
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cyfrom_[idx]) for idx in range(_graph_length)]
 *     if cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):
*/
  }

  /* "cuda/bindings/driver.pyx":37943
 *     if cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 37943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37944
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cyto is not NULL:
 *         free(cyto)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37944, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr310__pyx_v_idx = __pyx_t_12;
        __pyx_t_2 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_8 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyto[__pyx_10genexpr310__pyx_v_idx]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
          __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37944, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_9, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 37944, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_8, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37944, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 37944, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyto, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37943
 *     if cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37945
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     if CUresult(err) == CUresult(0):
*/
  __pyx_t_1 = (__pyx_v_cyto != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37946
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:
 *         free(cyto)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
*/
    free(__pyx_v_cyto);

    /* "cuda/bindings/driver.pyx":37945
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cyto[idx]) for idx in range(_graph_length)]
 *     if cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     if CUresult(err) == CUresult(0):
*/
  }

  /* "cuda/bindings/driver.pyx":37947
 *     if cyto is not NULL:
 *         free(cyto)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_7 = PyObject_RichCompare(__pyx_t_3, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 37947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37948
 *         free(cyto)
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
*/
    { /* enter inner scope */
      __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37948, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr311__pyx_v_idx = __pyx_t_12;
        __pyx_t_3 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData);
        __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_cyedgeData[__pyx_10genexpr311__pyx_v_idx])))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37948, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37948, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_9, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 37948, __pyx_L1_error)
          __pyx_t_8 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_4, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37948, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_8);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 37948, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_8); __pyx_t_8 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData, ((PyObject*)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":37947
 *     if cyto is not NULL:
 *         free(cyto)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":37949
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cyedgeData != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37950
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None)
*/
    free(__pyx_v_cyedgeData);

    /* "cuda/bindings/driver.pyx":37949
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":37951
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None, None)
 *     return (_dict_CUresult[err], pyfrom_, pyto, pyedgeData, numEdges)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37952
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pyfrom_, pyto, pyedgeData, numEdges)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyTuple_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 37952, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, Py_None) != (0)) __PYX_ERR(0, 37952, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, Py_None) != (0)) __PYX_ERR(0, 37952, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 3, Py_None) != (0)) __PYX_ERR(0, 37952, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 4, Py_None) != (0)) __PYX_ERR(0, 37952, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37951
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None, None)
 *     return (_dict_CUresult[err], pyfrom_, pyto, pyedgeData, numEdges)
*/
  }

  /* "cuda/bindings/driver.pyx":37953
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None, None)
 *     return (_dict_CUresult[err], pyfrom_, pyto, pyedgeData, numEdges)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyLong_FromSize_t(__pyx_v_numEdges); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 37953, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyfrom_);
  __Pyx_GIVEREF(__pyx_v_pyfrom_);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_pyfrom_) != (0)) __PYX_ERR(0, 37953, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyto);
  __Pyx_GIVEREF(__pyx_v_pyto);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_pyto) != (0)) __PYX_ERR(0, 37953, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_v_pyedgeData) != (0)) __PYX_ERR(0, 37953, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_t_4) != (0)) __PYX_ERR(0, 37953, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37868
 *     return (_dict_CUresult[err], pyfrom_, pyto, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges (12.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetEdges_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_v_pyfrom_);
  __Pyx_XDECREF(__pyx_v_pyto);
  __Pyx_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37955
 *     return (_dict_CUresult[err], pyfrom_, pyto, pyedgeData, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_645cuGraphNodeGetDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_644cuGraphNodeGetDependencies, "cuGraphNodeGetDependencies(hNode, size_t numDependencies=0)\n\nReturns a node's dependencies.\n\nReturns a list of `node's` dependencies. `dependencies` may be NULL, in\nwhich case this function will return the number of dependencies in\n`numDependencies`. Otherwise, `numDependencies` entries will be filled\nin. If `numDependencies` is higher than the actual number of\ndependencies, the remaining entries in `dependencies` will be set to\nNULL, and the number of nodes actually obtained will be returned in\n`numDependencies`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to query\nnumDependencies : int\n    See description\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Pointer to return the dependencies\nnumDependencies : int\n    See description\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeGetDependentNodes`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_645cuGraphNodeGetDependencies = {"cuGraphNodeGetDependencies", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_645cuGraphNodeGetDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_644cuGraphNodeGetDependencies};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_645cuGraphNodeGetDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependencies (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_numDependencies,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 37955, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37955, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37955, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetDependencies", 0) < (0)) __PYX_ERR(0, 37955, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependencies", 0, 1, 2, i); __PYX_ERR(0, 37955, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37955, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37955, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hNode = values[0];
    if (values[1]) {
      __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 37956, __pyx_L3_error)
    } else {
      __pyx_v_numDependencies = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependencies", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 37955, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_644cuGraphNodeGetDependencies(__pyx_self, __pyx_v_hNode, __pyx_v_numDependencies);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_644cuGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies) {
  size_t __pyx_v__graph_length;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNode *__pyx_v_cydependencies;
  PyObject *__pyx_v_pydependencies = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr312__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependencies", 0);

  /* "cuda/bindings/driver.pyx":37987
 *     :py:obj:`~.cuGraphNodeGetDependentNodes`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`
 *     """
 *     cdef size_t _graph_length = numDependencies             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_v__graph_length = __pyx_v_numDependencies;

  /* "cuda/bindings/driver.pyx":37989
 *     cdef size_t _graph_length = numDependencies
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37990
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":37989
 *     cdef size_t _graph_length = numDependencies
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37991
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37992
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37992, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37991
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37994
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37994, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37995
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37995, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37996
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     pydependencies = []
 *     if _graph_length != 0:
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":37997
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":37998
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":37999
 *     pydependencies = []
 *     if _graph_length != 0:
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38000
 *     if _graph_length != 0:
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":38001
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies(cyhNode, cydependencies, &numDependencies)
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38001, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 38001, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38000
 *     if _graph_length != 0:
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":37998
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38002
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetDependencies(cyhNode, cydependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38003
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies(cyhNode, cydependencies, &numDependencies)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependencies(__pyx_v_cyhNode, __pyx_v_cydependencies, (&__pyx_v_numDependencies)); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38003, __pyx_L7_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":38002
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetDependencies(cyhNode, cydependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":38004
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies(cyhNode, cydependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38005
 *         err = cydriver.cuGraphNodeGetDependencies(cyhNode, cydependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cydependencies is not NULL:
 *         free(cydependencies)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38005, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr312__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependencies[__pyx_10genexpr312__pyx_v_idx]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38005, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38005, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_9, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38005, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38005, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 38005, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38004
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies(cyhNode, cydependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38006
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38007
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":38006
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":38008
 *     if cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pydependencies, numDependencies)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38009
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pydependencies, numDependencies)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 38009, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, Py_None) != (0)) __PYX_ERR(0, 38009, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, Py_None) != (0)) __PYX_ERR(0, 38009, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38008
 *     if cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pydependencies, numDependencies)
*/
  }

  /* "cuda/bindings/driver.pyx":38010
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pydependencies, numDependencies)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 38010, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies);
  __Pyx_GIVEREF(__pyx_v_pydependencies);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pydependencies) != (0)) __PYX_ERR(0, 38010, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 38010, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37955
 *     return (_dict_CUresult[err], pyfrom_, pyto, pyedgeData, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_pydependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38012
 *     return (_dict_CUresult[err], pydependencies, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies (12.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_647cuGraphNodeGetDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_646cuGraphNodeGetDependencies_v2, "cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies=0)\n\nReturns a node's dependencies (12.3+)\n\nReturns a list of `node's` dependencies. `dependencies` may be NULL, in\nwhich case this function will return the number of dependencies in\n`numDependencies`. Otherwise, `numDependencies` entries will be filled\nin. If `numDependencies` is higher than the actual number of\ndependencies, the remaining entries in `dependencies` will be set to\nNULL, and the number of nodes actually obtained will be returned in\n`numDependencies`.\n\nNote that if an edge has non-zero (non-default) edge data and\n`edgeData` is NULL, this API will return\n:py:obj:`~.CUDA_ERROR_LOSSY_QUERY`. If `edgeData` is non-NULL, then\n`dependencies` must be as well.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to query\nnumDependencies : int\n    See description\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_LOSSY_QUERY`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Pointer to return the dependencies\nedgeData : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional array to return edge data for each dependency\nnumDependencies : int\n    See description\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeGetDependentNodes`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_647cuGraphNodeGetDependencies_v2 = {"cuGraphNodeGetDependencies_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_647cuGraphNodeGetDependencies_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_646cuGraphNodeGetDependencies_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_647cuGraphNodeGetDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependencies_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_numDependencies,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38012, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetDependencies_v2", 0) < (0)) __PYX_ERR(0, 38012, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependencies_v2", 0, 1, 2, i); __PYX_ERR(0, 38012, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38012, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hNode = values[0];
    if (values[1]) {
      __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 38013, __pyx_L3_error)
    } else {
      __pyx_v_numDependencies = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependencies_v2", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 38012, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_646cuGraphNodeGetDependencies_v2(__pyx_self, __pyx_v_hNode, __pyx_v_numDependencies);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_646cuGraphNodeGetDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies) {
  size_t __pyx_v__graph_length;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNode *__pyx_v_cydependencies;
  PyObject *__pyx_v_pydependencies = NULL;
  CUgraphEdgeData *__pyx_v_cyedgeData;
  PyObject *__pyx_v_pyedgeData = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr313__pyx_v_idx;
  size_t __pyx_10genexpr314__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependencies_v2", 0);

  /* "cuda/bindings/driver.pyx":38051
 *     :py:obj:`~.cuGraphNodeGetDependentNodes`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`
 *     """
 *     cdef size_t _graph_length = numDependencies             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_v__graph_length = __pyx_v_numDependencies;

  /* "cuda/bindings/driver.pyx":38053
 *     cdef size_t _graph_length = numDependencies
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38054
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38053
 *     cdef size_t _graph_length = numDependencies
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38055
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38056
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38055
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38058
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38058, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38059
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38059, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38060
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     pydependencies = []
 *     if _graph_length != 0:
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":38061
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":38062
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38063
 *     pydependencies = []
 *     if _graph_length != 0:
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38064
 *     if _graph_length != 0:
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
    __pyx_t_1 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":38065
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38065, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38065, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38065, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38065, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38065, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38065, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38065, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38065, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 38065, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38064
 *     if _graph_length != 0:
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
    }

    /* "cuda/bindings/driver.pyx":38062
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38066
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL             # <<<<<<<<<<<<<<
 *     pyedgeData = []
 *     if _graph_length != 0:
*/
  __pyx_v_cyedgeData = NULL;

  /* "cuda/bindings/driver.pyx":38067
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":38068
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38069
 *     pyedgeData = []
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
*/
    __pyx_v_cyedgeData = ((CUgraphEdgeData *)calloc(__pyx_v__graph_length, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":38070
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cyedgeData == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":38071
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies_v2(cyhNode, cydependencies, cyedgeData, &numDependencies)
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_7 = __pyx_builtin_MemoryError; 
      __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38071, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 38071, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38070
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":38068
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38072
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetDependencies_v2(cyhNode, cydependencies, cyedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38073
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies_v2(cyhNode, cydependencies, cyedgeData, &numDependencies)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependencies_v2(__pyx_v_cyhNode, __pyx_v_cydependencies, __pyx_v_cyedgeData, (&__pyx_v_numDependencies)); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38073, __pyx_L9_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":38072
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetDependencies_v2(cyhNode, cydependencies, cyedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L10;
        }
        __pyx_L9_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L10:;
      }
  }

  /* "cuda/bindings/driver.pyx":38074
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies_v2(cyhNode, cydependencies, cyedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_7 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38075
 *         err = cydriver.cuGraphNodeGetDependencies_v2(cyhNode, cydependencies, cyedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cydependencies is not NULL:
 *         free(cydependencies)
*/
    { /* enter inner scope */
      __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38075, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr313__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependencies[__pyx_10genexpr313__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38075, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38075, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_9);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38075, __pyx_L1_error)
          __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38075, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_2);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 38075, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies, ((PyObject*)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":38074
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies_v2(cyhNode, cydependencies, cyedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38076
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if CUresult(err) == CUresult(0):
*/
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38077
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":38076
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cydependencies[idx]) for idx in range(_graph_length)]
 *     if cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if CUresult(err) == CUresult(0):
*/
  }

  /* "cuda/bindings/driver.pyx":38078
 *     if cydependencies is not NULL:
 *         free(cydependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_7, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38079
 *         free(cydependencies)
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
*/
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr314__pyx_v_idx = __pyx_t_12;
        __pyx_t_7 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData);
        __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_cyedgeData[__pyx_10genexpr314__pyx_v_idx])))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38079, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_7, NULL};
          __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38079, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_8, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38079, __pyx_L1_error)
          __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38079, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 38079, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38078
 *     if cydependencies is not NULL:
 *         free(cydependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38080
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cyedgeData != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38081
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
*/
    free(__pyx_v_cyedgeData);

    /* "cuda/bindings/driver.pyx":38080
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":38082
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pydependencies, pyedgeData, numDependencies)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38083
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pydependencies, pyedgeData, numDependencies)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_9);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 38083, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 38083, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 38083, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, Py_None) != (0)) __PYX_ERR(0, 38083, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38082
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pydependencies, pyedgeData, numDependencies)
*/
  }

  /* "cuda/bindings/driver.pyx":38084
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pydependencies, pyedgeData, numDependencies)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 38084, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies);
  __Pyx_GIVEREF(__pyx_v_pydependencies);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_pydependencies) != (0)) __PYX_ERR(0, 38084, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_pyedgeData) != (0)) __PYX_ERR(0, 38084, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_9) != (0)) __PYX_ERR(0, 38084, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38012
 *     return (_dict_CUresult[err], pydependencies, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies (12.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_pydependencies);
  __Pyx_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38086
 *     return (_dict_CUresult[err], pydependencies, pyedgeData, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_649cuGraphNodeGetDependentNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_648cuGraphNodeGetDependentNodes, "cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes=0)\n\nReturns a node's dependent nodes.\n\nReturns a list of `node's` dependent nodes. `dependentNodes` may be\nNULL, in which case this function will return the number of dependent\nnodes in `numDependentNodes`. Otherwise, `numDependentNodes` entries\nwill be filled in. If `numDependentNodes` is higher than the actual\nnumber of dependent nodes, the remaining entries in `dependentNodes`\nwill be set to NULL, and the number of nodes actually obtained will be\nreturned in `numDependentNodes`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to query\nnumDependentNodes : int\n    See description\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ndependentNodes : list[:py:obj:`~.CUgraphNode`]\n    Pointer to return the dependent nodes\nnumDependentNodes : int\n    See description\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_649cuGraphNodeGetDependentNodes = {"cuGraphNodeGetDependentNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_649cuGraphNodeGetDependentNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_648cuGraphNodeGetDependentNodes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_649cuGraphNodeGetDependentNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  size_t __pyx_v_numDependentNodes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependentNodes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_numDependentNodes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38086, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38086, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38086, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetDependentNodes", 0) < (0)) __PYX_ERR(0, 38086, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependentNodes", 0, 1, 2, i); __PYX_ERR(0, 38086, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38086, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38086, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hNode = values[0];
    if (values[1]) {
      __pyx_v_numDependentNodes = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_numDependentNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 38087, __pyx_L3_error)
    } else {
      __pyx_v_numDependentNodes = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependentNodes", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 38086, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetDependentNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_648cuGraphNodeGetDependentNodes(__pyx_self, __pyx_v_hNode, __pyx_v_numDependentNodes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_648cuGraphNodeGetDependentNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependentNodes) {
  size_t __pyx_v__graph_length;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNode *__pyx_v_cydependentNodes;
  PyObject *__pyx_v_pydependentNodes = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr315__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependentNodes", 0);

  /* "cuda/bindings/driver.pyx":38118
 *     :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`
 *     """
 *     cdef size_t _graph_length = numDependentNodes             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_v__graph_length = __pyx_v_numDependentNodes;

  /* "cuda/bindings/driver.pyx":38120
 *     cdef size_t _graph_length = numDependentNodes
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38121
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38120
 *     cdef size_t _graph_length = numDependentNodes
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38122
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38123
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38122
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38125
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38125, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38126
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38126, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38127
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL             # <<<<<<<<<<<<<<
 *     pydependentNodes = []
 *     if _graph_length != 0:
*/
  __pyx_v_cydependentNodes = NULL;

  /* "cuda/bindings/driver.pyx":38128
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependentNodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":38129
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38130
 *     pydependentNodes = []
 *     if _graph_length != 0:
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cydependentNodes = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38131
 *     if _graph_length != 0:
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cydependentNodes == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":38132
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes(cyhNode, cydependentNodes, &numDependentNodes)
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38132, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 38132, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38131
 *     if _graph_length != 0:
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":38129
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38133
 *         if cydependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetDependentNodes(cyhNode, cydependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38134
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes(cyhNode, cydependentNodes, &numDependentNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependentNodes(__pyx_v_cyhNode, __pyx_v_cydependentNodes, (&__pyx_v_numDependentNodes)); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38134, __pyx_L7_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":38133
 *         if cydependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetDependentNodes(cyhNode, cydependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":38135
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes(cyhNode, cydependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38136
 *         err = cydriver.cuGraphNodeGetDependentNodes(cyhNode, cydependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cydependentNodes is not NULL:
 *         free(cydependentNodes)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr315__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_9 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependentNodes[__pyx_10genexpr315__pyx_v_idx]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38136, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_9, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38136, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_2, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38136, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 38136, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependentNodes, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38135
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes(cyhNode, cydependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38137
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependentNodes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cydependentNodes != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38138
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:
 *         free(cydependentNodes)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
    free(__pyx_v_cydependentNodes);

    /* "cuda/bindings/driver.pyx":38137
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependentNodes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":38139
 *     if cydependentNodes is not NULL:
 *         free(cydependentNodes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pydependentNodes, numDependentNodes)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38140
 *         free(cydependentNodes)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pydependentNodes, numDependentNodes)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 38140, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, Py_None) != (0)) __PYX_ERR(0, 38140, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, Py_None) != (0)) __PYX_ERR(0, 38140, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38139
 *     if cydependentNodes is not NULL:
 *         free(cydependentNodes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pydependentNodes, numDependentNodes)
*/
  }

  /* "cuda/bindings/driver.pyx":38141
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pydependentNodes, numDependentNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependentNodes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 38141, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependentNodes);
  __Pyx_GIVEREF(__pyx_v_pydependentNodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pydependentNodes) != (0)) __PYX_ERR(0, 38141, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 38141, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38086
 *     return (_dict_CUresult[err], pydependencies, pyedgeData, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetDependentNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_pydependentNodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38143
 *     return (_dict_CUresult[err], pydependentNodes, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes (12.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_651cuGraphNodeGetDependentNodes_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_650cuGraphNodeGetDependentNodes_v2, "cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes=0)\n\nReturns a node's dependent nodes (12.3+)\n\nReturns a list of `node's` dependent nodes. `dependentNodes` may be\nNULL, in which case this function will return the number of dependent\nnodes in `numDependentNodes`. Otherwise, `numDependentNodes` entries\nwill be filled in. If `numDependentNodes` is higher than the actual\nnumber of dependent nodes, the remaining entries in `dependentNodes`\nwill be set to NULL, and the number of nodes actually obtained will be\nreturned in `numDependentNodes`.\n\nNote that if an edge has non-zero (non-default) edge data and\n`edgeData` is NULL, this API will return\n:py:obj:`~.CUDA_ERROR_LOSSY_QUERY`. If `edgeData` is non-NULL, then\n`dependentNodes` must be as well.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to query\nnumDependentNodes : int\n    See description\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_LOSSY_QUERY`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ndependentNodes : list[:py:obj:`~.CUgraphNode`]\n    Pointer to return the dependent nodes\nedgeData : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional pointer to return edge data for dependent nodes\nnumDependentNodes : int\n    See description\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_651cuGraphNodeGetDependentNodes_v2 = {"cuGraphNodeGetDependentNodes_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_651cuGraphNodeGetDependentNodes_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_650cuGraphNodeGetDependentNodes_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_651cuGraphNodeGetDependentNodes_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  size_t __pyx_v_numDependentNodes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependentNodes_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_numDependentNodes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38143, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38143, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38143, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetDependentNodes_v2", 0) < (0)) __PYX_ERR(0, 38143, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependentNodes_v2", 0, 1, 2, i); __PYX_ERR(0, 38143, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38143, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38143, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hNode = values[0];
    if (values[1]) {
      __pyx_v_numDependentNodes = __Pyx_PyLong_As_size_t(values[1]); if (unlikely((__pyx_v_numDependentNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 38144, __pyx_L3_error)
    } else {
      __pyx_v_numDependentNodes = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependentNodes_v2", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 38143, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetDependentNodes_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_650cuGraphNodeGetDependentNodes_v2(__pyx_self, __pyx_v_hNode, __pyx_v_numDependentNodes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_650cuGraphNodeGetDependentNodes_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependentNodes) {
  size_t __pyx_v__graph_length;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNode *__pyx_v_cydependentNodes;
  PyObject *__pyx_v_pydependentNodes = NULL;
  CUgraphEdgeData *__pyx_v_cyedgeData;
  PyObject *__pyx_v_pyedgeData = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr316__pyx_v_idx;
  size_t __pyx_10genexpr317__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  CUresult __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependentNodes_v2", 0);

  /* "cuda/bindings/driver.pyx":38182
 *     :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`
 *     """
 *     cdef size_t _graph_length = numDependentNodes             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_v__graph_length = __pyx_v_numDependentNodes;

  /* "cuda/bindings/driver.pyx":38184
 *     cdef size_t _graph_length = numDependentNodes
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38185
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38184
 *     cdef size_t _graph_length = numDependentNodes
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38186
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38187
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38186
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38189
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38189, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38190
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38190, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38191
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL             # <<<<<<<<<<<<<<
 *     pydependentNodes = []
 *     if _graph_length != 0:
*/
  __pyx_v_cydependentNodes = NULL;

  /* "cuda/bindings/driver.pyx":38192
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependentNodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":38193
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38194
 *     pydependentNodes = []
 *     if _graph_length != 0:
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_v_cydependentNodes = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38195
 *     if _graph_length != 0:
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
    __pyx_t_1 = (__pyx_v_cydependentNodes == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":38196
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38196, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 38196, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38195
 *     if _graph_length != 0:
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
    }

    /* "cuda/bindings/driver.pyx":38193
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cydependentNodes = <cydriver.CUgraphNode*>calloc(_graph_length, sizeof(cydriver.CUgraphNode))
 *         if cydependentNodes is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38197
 *         if cydependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL             # <<<<<<<<<<<<<<
 *     pyedgeData = []
 *     if _graph_length != 0:
*/
  __pyx_v_cyedgeData = NULL;

  /* "cuda/bindings/driver.pyx":38198
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":38199
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38200
 *     pyedgeData = []
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
*/
    __pyx_v_cyedgeData = ((CUgraphEdgeData *)calloc(__pyx_v__graph_length, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":38201
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
*/
    __pyx_t_1 = (__pyx_v_cyedgeData == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":38202
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes_v2(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_7 = __pyx_builtin_MemoryError; 
      __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38202, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38202, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38202, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38202, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38202, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38202, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38202, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38202, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 38202, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38201
 *     if _graph_length != 0:
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
*/
    }

    /* "cuda/bindings/driver.pyx":38199
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*>calloc(_graph_length, sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38203
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetDependentNodes_v2(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38204
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes_v2(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependentNodes_v2(__pyx_v_cyhNode, __pyx_v_cydependentNodes, __pyx_v_cyedgeData, (&__pyx_v_numDependentNodes)); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38204, __pyx_L9_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":38203
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetDependentNodes_v2(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L10;
        }
        __pyx_L9_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L10:;
      }
  }

  /* "cuda/bindings/driver.pyx":38205
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes_v2(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_7 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38206
 *         err = cydriver.cuGraphNodeGetDependentNodes_v2(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cydependentNodes is not NULL:
 *         free(cydependentNodes)
*/
    { /* enter inner scope */
      __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38206, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr316__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
        __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependentNodes[__pyx_10genexpr316__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38206, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, NULL};
          __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38206, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_9);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38206, __pyx_L1_error)
          __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38206, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_2);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 38206, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependentNodes, ((PyObject*)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":38205
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes_v2(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38207
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependentNodes)
 *     if CUresult(err) == CUresult(0):
*/
  __pyx_t_1 = (__pyx_v_cydependentNodes != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38208
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:
 *         free(cydependentNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
*/
    free(__pyx_v_cydependentNodes);

    /* "cuda/bindings/driver.pyx":38207
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cydependentNodes[idx]) for idx in range(_graph_length)]
 *     if cydependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependentNodes)
 *     if CUresult(err) == CUresult(0):
*/
  }

  /* "cuda/bindings/driver.pyx":38209
 *     if cydependentNodes is not NULL:
 *         free(cydependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_7, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38210
 *         free(cydependentNodes)
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
*/
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_5;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr317__pyx_v_idx = __pyx_t_12;
        __pyx_t_7 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData);
        __pyx_t_9 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_cyedgeData[__pyx_10genexpr317__pyx_v_idx])))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38210, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_13 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_7, NULL};
          __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38210, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_8, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38210, __pyx_L1_error)
          __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_9, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38210, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 38210, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38209
 *     if cydependentNodes is not NULL:
 *         free(cydependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38211
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_1 = (__pyx_v_cyedgeData != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38212
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
*/
    free(__pyx_v_cyedgeData);

    /* "cuda/bindings/driver.pyx":38211
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cyedgeData[idx]) for idx in range(_graph_length)]
 *     if cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":38213
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pydependentNodes, pyedgeData, numDependentNodes)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38214
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pydependentNodes, pyedgeData, numDependentNodes)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_9);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 38214, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 38214, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 38214, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, Py_None) != (0)) __PYX_ERR(0, 38214, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38213
 *     if cyedgeData is not NULL:
 *         free(cyedgeData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pydependentNodes, pyedgeData, numDependentNodes)
*/
  }

  /* "cuda/bindings/driver.pyx":38215
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pydependentNodes, pyedgeData, numDependentNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependentNodes); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 38215, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependentNodes);
  __Pyx_GIVEREF(__pyx_v_pydependentNodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_pydependentNodes) != (0)) __PYX_ERR(0, 38215, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_pyedgeData) != (0)) __PYX_ERR(0, 38215, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_9) != (0)) __PYX_ERR(0, 38215, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38143
 *     return (_dict_CUresult[err], pydependentNodes, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes (12.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetDependentNodes_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_pydependentNodes);
  __Pyx_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38217
 *     return (_dict_CUresult[err], pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_653cuGraphAddDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_652cuGraphAddDependencies, "cuGraphAddDependencies(hGraph, from_: Optional[tuple[CUgraphNode] | list[CUgraphNode]], to: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies)\n\nAdds dependency edges to a graph.\n\nThe number of dependencies to be added is defined by `numDependencies`\nElements in `from` and `to` at corresponding indices define a\ndependency. Each node in `from` and `to` must belong to `hGraph`.\n\nIf `numDependencies` is 0, elements in `from` and `to` will be ignored.\nSpecifying an existing dependency will return an error.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which dependencies are added\nfrom : list[:py:obj:`~.CUgraphNode`]\n    Array of nodes that provide the dependencies\nto : list[:py:obj:`~.CUgraphNode`]\n    Array of dependent nodes\nnumDependencies : size_t\n    Number of dependencies to be added\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_653cuGraphAddDependencies = {"cuGraphAddDependencies", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_653cuGraphAddDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_652cuGraphAddDependencies};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_653cuGraphAddDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddDependencies (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_from,&__pyx_mstate_global->__pyx_n_u_to,&__pyx_mstate_global->__pyx_n_u_numDependencies,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38217, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38217, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38217, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38217, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38217, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddDependencies", 0) < (0)) __PYX_ERR(0, 38217, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies", 1, 4, 4, i); __PYX_ERR(0, 38217, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38217, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38217, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38217, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38217, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_from_ = values[1];
    __pyx_v_to = values[2];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 38218, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 38217, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_652cuGraphAddDependencies(__pyx_self, __pyx_v_hGraph, __pyx_v_from_, __pyx_v_to, __pyx_v_numDependencies);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_2generator159(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38249
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuGraphAddDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38249, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_2generator159, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[159]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38249, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_2generator159(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38249, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38249, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38249, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38249, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38249, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38249, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38249, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_5generator160(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38252
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuGraphAddDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38252, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_5generator160, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[160]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38252, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_5generator160(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38252, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38252, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38252, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38252, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38252, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38252, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38252, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38217
 *     return (_dict_CUresult[err], pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_652cuGraphAddDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cyfrom_;
  Py_ssize_t __pyx_v_idx;
  CUgraphNode *__pyx_v_cyto;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_2generator159 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_5generator160 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddDependencies", 0);
  __Pyx_INCREF(__pyx_v_from_);
  __Pyx_INCREF(__pyx_v_to);

  /* "cuda/bindings/driver.pyx":38248
 *     :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     to = [] if to is None else to             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_to == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_to);
    __pyx_t_1 = __pyx_v_to;
  }
  __Pyx_DECREF_SET(__pyx_v_to, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":38249
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_22cuGraphAddDependencies_genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 38249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":38250
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_to_is_not_instance_of_t};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38250, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 38250, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38249
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
  }

  /* "cuda/bindings/driver.pyx":38251
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_4 = (__pyx_v_from_ == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_from_);
    __pyx_t_3 = __pyx_v_from_;
  }
  __Pyx_DECREF_SET(__pyx_v_from_, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38252
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_22cuGraphAddDependencies_3genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 38252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":38253
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_from__is_not_instance_o};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 38253, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38252
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":38255
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_2 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38256
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38255
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":38257
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38258
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":38257
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":38260
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38260, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_5);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":38261
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38261, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":38262
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cyfrom_ = NULL;

  /* "cuda/bindings/driver.pyx":38263
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38263, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38264
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38264, __pyx_L1_error)
    __pyx_v_cyfrom_ = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38265
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cyfrom_ == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":38266
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_1 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38266, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 38266, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38265
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":38268
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38268, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":38269
 *         else:
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38269, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyfrom_[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":38263
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":38270
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38270, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38271
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_from_, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyfrom_ = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38270
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":38272
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cyto = NULL;

  /* "cuda/bindings/driver.pyx":38273
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38273, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38274
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38274, __pyx_L1_error)
    __pyx_v_cyto = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38275
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cyto == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":38276
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38276, __pyx_L1_error)
      __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38276, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 38276, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38275
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":38278
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38278, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":38279
 *         else:
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38279, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyto[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":38273
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":38280
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38280, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38281
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_to, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyto = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38280
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:
*/
  }
  __pyx_L10:;

  /* "cuda/bindings/driver.pyx":38282
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38283
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, numDependencies)             # <<<<<<<<<<<<<<
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddDependencies(__pyx_v_cyhGraph, __pyx_v_cyfrom_, __pyx_v_cyto, __pyx_v_numDependencies); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38283, __pyx_L15_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":38282
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L16;
        }
        __pyx_L15_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L16:;
      }
  }

  /* "cuda/bindings/driver.pyx":38284
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38284, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L18_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cyfrom_ != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L18_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38285
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)             # <<<<<<<<<<<<<<
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
*/
    free(__pyx_v_cyfrom_);

    /* "cuda/bindings/driver.pyx":38284
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38286
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38286, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L21_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cyto != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L21_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38287
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyto);

    /* "cuda/bindings/driver.pyx":38286
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":38288
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 38288, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38217
 *     return (_dict_CUresult[err], pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_2generator159);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_5generator160);
  __Pyx_XDECREF(__pyx_v_from_);
  __Pyx_XDECREF(__pyx_v_to);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38290
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_655cuGraphAddDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_654cuGraphAddDependencies_v2, "cuGraphAddDependencies_v2(hGraph, from_: Optional[tuple[CUgraphNode] | list[CUgraphNode]], to: Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData: Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies)\n\nAdds dependency edges to a graph (12.3+)\n\nThe number of dependencies to be added is defined by `numDependencies`\nElements in `from` and `to` at corresponding indices define a\ndependency. Each node in `from` and `to` must belong to `hGraph`.\n\nIf `numDependencies` is 0, elements in `from` and `to` will be ignored.\nSpecifying an existing dependency will return an error.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which dependencies are added\nfrom : list[:py:obj:`~.CUgraphNode`]\n    Array of nodes that provide the dependencies\nto : list[:py:obj:`~.CUgraphNode`]\n    Array of dependent nodes\nedgeData : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional array of edge data. If NULL, default (zeroed) edge data is\n    assumed.\nnumDependencies : size_t\n    Number of dependencies to be added\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_655cuGraphAddDependencies_v2 = {"cuGraphAddDependencies_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_655cuGraphAddDependencies_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_654cuGraphAddDependencies_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_655cuGraphAddDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  PyObject *__pyx_v_edgeData = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddDependencies_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_from,&__pyx_mstate_global->__pyx_n_u_to,&__pyx_mstate_global->__pyx_n_u_edgeData,&__pyx_mstate_global->__pyx_n_u_numDependencies,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38290, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 38290, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38290, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38290, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38290, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38290, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddDependencies_v2", 0) < (0)) __PYX_ERR(0, 38290, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies_v2", 1, 5, 5, i); __PYX_ERR(0, 38290, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38290, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38290, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38290, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38290, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 38290, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_from_ = values[1];
    __pyx_v_to = values[2];
    __pyx_v_edgeData = values[3];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 38291, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 38290, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_654cuGraphAddDependencies_v2(__pyx_self, __pyx_v_hGraph, __pyx_v_from_, __pyx_v_to, __pyx_v_edgeData, __pyx_v_numDependencies);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_2generator161(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38325
 *     """
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38325, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_2generator161, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[161]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies_v2_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38325, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_2generator161(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38325, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38325, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38325, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38325, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38325, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38325, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38325, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_5generator162(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38328
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38328, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_5generator162, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[162]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies_v2_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38328, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_5generator162(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38328, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38328, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38328, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38328, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38328, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38328, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38328, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_8generator163(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38331
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38331, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_8generator163, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[163]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies_v2_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38331, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_8generator163(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38331, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38331, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38331, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38331, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38331, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38331, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38331, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38290
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_654cuGraphAddDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, PyObject *__pyx_v_edgeData, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cyfrom_;
  Py_ssize_t __pyx_v_idx;
  CUgraphNode *__pyx_v_cyto;
  CUgraphEdgeData *__pyx_v_cyedgeData;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_2generator161 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_5generator162 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_8generator163 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUgraphEdgeData_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddDependencies_v2", 0);
  __Pyx_INCREF(__pyx_v_from_);
  __Pyx_INCREF(__pyx_v_to);
  __Pyx_INCREF(__pyx_v_edgeData);

  /* "cuda/bindings/driver.pyx":38324
 *     :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     edgeData = [] if edgeData is None else edgeData             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
*/
  __pyx_t_2 = (__pyx_v_edgeData == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_edgeData);
    __pyx_t_1 = __pyx_v_edgeData;
  }
  __Pyx_DECREF_SET(__pyx_v_edgeData, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":38325
 *     """
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_genexpr(NULL, __pyx_v_edgeData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 38325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":38326
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_edgeData_is_not_instanc};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38326, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 38326, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38325
 *     """
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
*/
  }

  /* "cuda/bindings/driver.pyx":38327
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_4 = (__pyx_v_to == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_to);
    __pyx_t_3 = __pyx_v_to;
  }
  __Pyx_DECREF_SET(__pyx_v_to, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38328
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_3genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 38328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":38329
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_to_is_not_instance_of_t};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38329, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 38329, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38328
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
  }

  /* "cuda/bindings/driver.pyx":38330
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_from_ == Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_from_);
    __pyx_t_5 = __pyx_v_from_;
  }
  __Pyx_DECREF_SET(__pyx_v_from_, __pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":38331
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_5 = __pyx_pf_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_6genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 38331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":38332
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_from__is_not_instance_o};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38332, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 38332, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38331
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":38334
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38335
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38334
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":38336
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38337
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":38336
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":38339
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38339, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":38340
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38340, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":38341
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cyfrom_ = NULL;

  /* "cuda/bindings/driver.pyx":38342
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38342, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38343
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38343, __pyx_L1_error)
    __pyx_v_cyfrom_ = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38344
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyfrom_ == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":38345
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38345, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_9};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38345, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 38345, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38344
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":38347
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38347, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":38348
 *         else:
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
*/
        __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38348, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        (__pyx_v_cyfrom_[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_5)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":38342
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":38349
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38349, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38350
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_from_, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_cyfrom_ = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_5)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":38349
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
  }
  __pyx_L7:;

  /* "cuda/bindings/driver.pyx":38351
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cyto = NULL;

  /* "cuda/bindings/driver.pyx":38352
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38352, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38353
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38353, __pyx_L1_error)
    __pyx_v_cyto = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38354
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyto == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":38355
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38355, __pyx_L1_error)
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38355, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38355, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38355, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38355, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38355, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38355, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38355, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_1};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38355, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 38355, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38354
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":38357
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38357, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":38358
 *         else:
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
*/
        __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38358, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        (__pyx_v_cyto[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_5)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":38352
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
    goto __pyx_L11;
  }

  /* "cuda/bindings/driver.pyx":38359
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38359, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38360
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     if len(edgeData) > 1:
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_to, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_cyto = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_5)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":38359
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
  }
  __pyx_L11:;

  /* "cuda/bindings/driver.pyx":38361
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL             # <<<<<<<<<<<<<<
 *     if len(edgeData) > 1:
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
*/
  __pyx_v_cyedgeData = NULL;

  /* "cuda/bindings/driver.pyx":38362
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     if len(edgeData) > 1:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38362, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38363
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     if len(edgeData) > 1:
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38363, __pyx_L1_error)
    __pyx_v_cyedgeData = ((CUgraphEdgeData *)calloc(__pyx_t_8, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":38364
 *     if len(edgeData) > 1:
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
*/
    __pyx_t_4 = (__pyx_v_cyedgeData == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":38365
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
*/
      __pyx_t_9 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_1 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38365, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_3};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38365, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 38365, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38364
 *     if len(edgeData) > 1:
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
*/
    }

    /* "cuda/bindings/driver.pyx":38366
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(edgeData) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38366, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":38367
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
*/
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_edgeData, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_cyedgeData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_5)->__pyx_base._pvt_ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }

    /* "cuda/bindings/driver.pyx":38362
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     if len(edgeData) > 1:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
    goto __pyx_L15;
  }

  /* "cuda/bindings/driver.pyx":38368
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(edgeData) == 1:             # <<<<<<<<<<<<<<
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38368, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38369
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_edgeData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_5)->__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_cyedgeData = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":38368
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(edgeData) == 1:             # <<<<<<<<<<<<<<
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:
*/
  }
  __pyx_L15:;

  /* "cuda/bindings/driver.pyx":38370
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38371
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)             # <<<<<<<<<<<<<<
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddDependencies_v2(__pyx_v_cyhGraph, __pyx_v_cyfrom_, __pyx_v_cyto, __pyx_v_cyedgeData, __pyx_v_numDependencies); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38371, __pyx_L20_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":38370
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L21;
        }
        __pyx_L20_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L21:;
      }
  }

  /* "cuda/bindings/driver.pyx":38372
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38372, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L23_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyfrom_ != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L23_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38373
 *         err = cydriver.cuGraphAddDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)             # <<<<<<<<<<<<<<
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
*/
    free(__pyx_v_cyfrom_);

    /* "cuda/bindings/driver.pyx":38372
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38374
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38374, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L26_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyto != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L26_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38375
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)             # <<<<<<<<<<<<<<
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
 *         free(cyedgeData)
*/
    free(__pyx_v_cyto);

    /* "cuda/bindings/driver.pyx":38374
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38376
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38376, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L29_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyedgeData != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L29_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38377
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
 *         free(cyedgeData)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyedgeData);

    /* "cuda/bindings/driver.pyx":38376
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":38378
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
 *         free(cyedgeData)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 38378, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38290
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_2generator161);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_5generator162);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuGraphAddDependencies_v2_8generator163);
  __Pyx_XDECREF(__pyx_v_from_);
  __Pyx_XDECREF(__pyx_v_to);
  __Pyx_XDECREF(__pyx_v_edgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38380
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_657cuGraphRemoveDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_656cuGraphRemoveDependencies, "cuGraphRemoveDependencies(hGraph, from_: Optional[tuple[CUgraphNode] | list[CUgraphNode]], to: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies)\n\nRemoves dependency edges from a graph.\n\nThe number of `dependencies` to be removed is defined by\n`numDependencies`. Elements in `from` and `to` at corresponding indices\ndefine a dependency. Each node in `from` and `to` must belong to\n`hGraph`.\n\nIf `numDependencies` is 0, elements in `from` and `to` will be ignored.\nSpecifying a non-existing dependency will return an error.\n\nDependencies cannot be removed from graphs which contain allocation or\nfree nodes. Any attempt to do so will return an error.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph from which to remove dependencies\nfrom : list[:py:obj:`~.CUgraphNode`]\n    Array of nodes that provide the dependencies\nto : list[:py:obj:`~.CUgraphNode`]\n    Array of dependent nodes\nnumDependencies : size_t\n    Number of dependencies to be removed\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_657cuGraphRemoveDependencies = {"cuGraphRemoveDependencies", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_657cuGraphRemoveDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_656cuGraphRemoveDependencies};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_657cuGraphRemoveDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphRemoveDependencies (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_from,&__pyx_mstate_global->__pyx_n_u_to,&__pyx_mstate_global->__pyx_n_u_numDependencies,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38380, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38380, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38380, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38380, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38380, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphRemoveDependencies", 0) < (0)) __PYX_ERR(0, 38380, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies", 1, 4, 4, i); __PYX_ERR(0, 38380, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38380, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38380, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38380, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38380, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_from_ = values[1];
    __pyx_v_to = values[2];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 38381, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 38380, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_656cuGraphRemoveDependencies(__pyx_self, __pyx_v_hGraph, __pyx_v_from_, __pyx_v_to, __pyx_v_numDependencies);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_2generator164(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38416
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38416, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_2generator164, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[164]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38416, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_2generator164(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38416, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38416, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38416, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38416, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38416, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38416, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38416, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_5generator165(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38419
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38419, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_5generator165, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[165]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38419, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_5generator165(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38419, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38419, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38419, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38419, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38419, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38419, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38419, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38380
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_656cuGraphRemoveDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cyfrom_;
  Py_ssize_t __pyx_v_idx;
  CUgraphNode *__pyx_v_cyto;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_2generator164 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_5generator165 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphRemoveDependencies", 0);
  __Pyx_INCREF(__pyx_v_from_);
  __Pyx_INCREF(__pyx_v_to);

  /* "cuda/bindings/driver.pyx":38415
 *     :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     to = [] if to is None else to             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_to == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_to);
    __pyx_t_1 = __pyx_v_to;
  }
  __Pyx_DECREF_SET(__pyx_v_to, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":38416
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 38416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":38417
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_to_is_not_instance_of_t};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38417, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 38417, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38416
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
  }

  /* "cuda/bindings/driver.pyx":38418
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_4 = (__pyx_v_from_ == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_from_);
    __pyx_t_3 = __pyx_v_from_;
  }
  __Pyx_DECREF_SET(__pyx_v_from_, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38419
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_3genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 38419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":38420
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_from__is_not_instance_o};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38420, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 38420, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38419
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":38422
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_2 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38423
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38422
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":38424
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38425
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":38424
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":38427
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38427, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_5);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":38428
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38428, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":38429
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cyfrom_ = NULL;

  /* "cuda/bindings/driver.pyx":38430
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38430, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38431
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38431, __pyx_L1_error)
    __pyx_v_cyfrom_ = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38432
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cyfrom_ == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":38433
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_1 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38433, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38433, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 38433, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38432
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":38435
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38435, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":38436
 *         else:
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38436, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyfrom_[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":38430
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":38437
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38437, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38438
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_from_, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyfrom_ = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38437
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":38439
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cyto = NULL;

  /* "cuda/bindings/driver.pyx":38440
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38440, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38441
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38441, __pyx_L1_error)
    __pyx_v_cyto = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38442
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cyto == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":38443
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38443, __pyx_L1_error)
      __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38443, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38443, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38443, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38443, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38443, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38443, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38443, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38443, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 38443, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38442
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":38445
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38445, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":38446
 *         else:
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38446, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyto[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":38440
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":38447
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38447, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38448
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_to, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyto = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38447
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:
*/
  }
  __pyx_L10:;

  /* "cuda/bindings/driver.pyx":38449
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38450
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, numDependencies)             # <<<<<<<<<<<<<<
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphRemoveDependencies(__pyx_v_cyhGraph, __pyx_v_cyfrom_, __pyx_v_cyto, __pyx_v_numDependencies); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38450, __pyx_L15_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":38449
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L16;
        }
        __pyx_L15_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L16:;
      }
  }

  /* "cuda/bindings/driver.pyx":38451
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38451, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L18_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cyfrom_ != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L18_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38452
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)             # <<<<<<<<<<<<<<
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
*/
    free(__pyx_v_cyfrom_);

    /* "cuda/bindings/driver.pyx":38451
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38453
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38453, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L21_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cyto != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L21_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":38454
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyto);

    /* "cuda/bindings/driver.pyx":38453
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":38455
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 38455, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38380
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_2generator164);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_5generator165);
  __Pyx_XDECREF(__pyx_v_from_);
  __Pyx_XDECREF(__pyx_v_to);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38457
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_659cuGraphRemoveDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_658cuGraphRemoveDependencies_v2, "cuGraphRemoveDependencies_v2(hGraph, from_: Optional[tuple[CUgraphNode] | list[CUgraphNode]], to: Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData: Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies)\n\nRemoves dependency edges from a graph (12.3+)\n\nThe number of `dependencies` to be removed is defined by\n`numDependencies`. Elements in `from` and `to` at corresponding indices\ndefine a dependency. Each node in `from` and `to` must belong to\n`hGraph`.\n\nIf `numDependencies` is 0, elements in `from` and `to` will be ignored.\nSpecifying an edge that does not exist in the graph, with data matching\n`edgeData`, results in an error. `edgeData` is nullable, which is\nequivalent to passing default (zeroed) data for each edge.\n\nDependencies cannot be removed from graphs which contain allocation or\nfree nodes. Any attempt to do so will return an error.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph from which to remove dependencies\nfrom : list[:py:obj:`~.CUgraphNode`]\n    Array of nodes that provide the dependencies\nto : list[:py:obj:`~.CUgraphNode`]\n    Array of dependent nodes\nedgeData : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional array of edge data. If NULL, edge data is assumed to be\n    default (zeroed).\nnumDependencies : size_t\n    Number of dependencies to be removed\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_659cuGraphRemoveDependencies_v2 = {"cuGraphRemoveDependencies_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_659cuGraphRemoveDependencies_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_658cuGraphRemoveDependencies_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_659cuGraphRemoveDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  PyObject *__pyx_v_edgeData = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphRemoveDependencies_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_from,&__pyx_mstate_global->__pyx_n_u_to,&__pyx_mstate_global->__pyx_n_u_edgeData,&__pyx_mstate_global->__pyx_n_u_numDependencies,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38457, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 38457, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38457, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38457, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38457, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38457, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphRemoveDependencies_v2", 0) < (0)) __PYX_ERR(0, 38457, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies_v2", 1, 5, 5, i); __PYX_ERR(0, 38457, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38457, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38457, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38457, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38457, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 38457, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_from_ = values[1];
    __pyx_v_to = values[2];
    __pyx_v_edgeData = values[3];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 38458, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 38457, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_658cuGraphRemoveDependencies_v2(__pyx_self, __pyx_v_hGraph, __pyx_v_from_, __pyx_v_to, __pyx_v_edgeData, __pyx_v_numDependencies);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_2generator166(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38498
 *     """
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38498, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_2generator166, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[166]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies_v2_loc, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38498, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_2generator166(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38498, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38498, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38498, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38498, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38498, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38498, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38498, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_5generator167(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38501
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38501, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_5generator167, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[167]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies_v2_loc, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38501, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_5generator167(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38501, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38501, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38501, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38501, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38501, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38501, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38501, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_8generator168(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38504
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 38504, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_8generator168, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[168]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies_v2_loc, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38504, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_8generator168(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 38504, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38504, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38504, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38504, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 38504, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38504, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 38504, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38457
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_658cuGraphRemoveDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, PyObject *__pyx_v_edgeData, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cyfrom_;
  Py_ssize_t __pyx_v_idx;
  CUgraphNode *__pyx_v_cyto;
  CUgraphEdgeData *__pyx_v_cyedgeData;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_2generator166 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_5generator167 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_8generator168 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUgraphEdgeData_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphRemoveDependencies_v2", 0);
  __Pyx_INCREF(__pyx_v_from_);
  __Pyx_INCREF(__pyx_v_to);
  __Pyx_INCREF(__pyx_v_edgeData);

  /* "cuda/bindings/driver.pyx":38497
 *     :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     edgeData = [] if edgeData is None else edgeData             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
*/
  __pyx_t_2 = (__pyx_v_edgeData == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_edgeData);
    __pyx_t_1 = __pyx_v_edgeData;
  }
  __Pyx_DECREF_SET(__pyx_v_edgeData, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":38498
 *     """
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_genexpr(NULL, __pyx_v_edgeData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 38498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":38499
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_edgeData_is_not_instanc};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38499, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 38499, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38498
 *     """
 *     edgeData = [] if edgeData is None else edgeData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
*/
  }

  /* "cuda/bindings/driver.pyx":38500
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_4 = (__pyx_v_to == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_to);
    __pyx_t_3 = __pyx_v_to;
  }
  __Pyx_DECREF_SET(__pyx_v_to, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38501
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_3genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 38501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":38502
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_to_is_not_instance_of_t};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38502, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 38502, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38501
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
*/
  }

  /* "cuda/bindings/driver.pyx":38503
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_from_ == Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_from_);
    __pyx_t_5 = __pyx_v_from_;
  }
  __Pyx_DECREF_SET(__pyx_v_from_, __pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":38504
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_5 = __pyx_pf_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_6genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 38504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":38505
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_from__is_not_instance_o};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38505, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 38505, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38504
 *         raise TypeError("Argument 'to' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":38507
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38508
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38507
 *         raise TypeError("Argument 'from_' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":38509
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38510
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":38509
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":38512
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38512, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":38513
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38513, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":38514
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cyfrom_ = NULL;

  /* "cuda/bindings/driver.pyx":38515
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38515, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38516
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38516, __pyx_L1_error)
    __pyx_v_cyfrom_ = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38517
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyfrom_ == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":38518
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38518, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_9};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38518, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 38518, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38517
 *     if len(from_) > 1:
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":38520
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38520, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":38521
 *         else:
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
*/
        __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38521, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        (__pyx_v_cyfrom_[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_5)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":38515
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*> calloc(len(from_), sizeof(cydriver.CUgraphNode))
 *         if cyfrom_ is NULL:
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":38522
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38522, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38523
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_from_, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_cyfrom_ = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_5)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":38522
 *             for idx in range(len(from_)):
 *                 cyfrom_[idx] = <cydriver.CUgraphNode>(<CUgraphNode>from_[idx])._pvt_ptr[0]
 *     elif len(from_) == 1:             # <<<<<<<<<<<<<<
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
*/
  }
  __pyx_L7:;

  /* "cuda/bindings/driver.pyx":38524
 *     elif len(from_) == 1:
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cyto = NULL;

  /* "cuda/bindings/driver.pyx":38525
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38525, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38526
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38526, __pyx_L1_error)
    __pyx_v_cyto = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38527
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyto == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":38528
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38528, __pyx_L1_error)
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_1};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38528, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 38528, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38527
 *     if len(to) > 1:
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":38530
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38530, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":38531
 *         else:
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
*/
        __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38531, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        (__pyx_v_cyto[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_5)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":38525
 *         cyfrom_ = <cydriver.CUgraphNode*>(<CUgraphNode>from_[0])._pvt_ptr
 *     cdef cydriver.CUgraphNode* cyto = NULL
 *     if len(to) > 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*> calloc(len(to), sizeof(cydriver.CUgraphNode))
 *         if cyto is NULL:
*/
    goto __pyx_L11;
  }

  /* "cuda/bindings/driver.pyx":38532
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38532, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38533
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     if len(edgeData) > 1:
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_to, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_cyto = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_5)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":38532
 *             for idx in range(len(to)):
 *                 cyto[idx] = <cydriver.CUgraphNode>(<CUgraphNode>to[idx])._pvt_ptr[0]
 *     elif len(to) == 1:             # <<<<<<<<<<<<<<
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
*/
  }
  __pyx_L11:;

  /* "cuda/bindings/driver.pyx":38534
 *     elif len(to) == 1:
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL             # <<<<<<<<<<<<<<
 *     if len(edgeData) > 1:
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
*/
  __pyx_v_cyedgeData = NULL;

  /* "cuda/bindings/driver.pyx":38535
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     if len(edgeData) > 1:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38535, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38536
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     if len(edgeData) > 1:
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38536, __pyx_L1_error)
    __pyx_v_cyedgeData = ((CUgraphEdgeData *)calloc(__pyx_t_8, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":38537
 *     if len(edgeData) > 1:
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
*/
    __pyx_t_4 = (__pyx_v_cyedgeData == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":38538
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
*/
      __pyx_t_9 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_1 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38538, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 38538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_3};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38538, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 38538, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38537
 *     if len(edgeData) > 1:
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
*/
    }

    /* "cuda/bindings/driver.pyx":38539
 *         if cyedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(edgeData) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38539, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":38540
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
*/
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_edgeData, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_cyedgeData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_5)->__pyx_base._pvt_ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }

    /* "cuda/bindings/driver.pyx":38535
 *         cyto = <cydriver.CUgraphNode*>(<CUgraphNode>to[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cyedgeData = NULL
 *     if len(edgeData) > 1:             # <<<<<<<<<<<<<<
 *         cyedgeData = <cydriver.CUgraphEdgeData*> calloc(len(edgeData), sizeof(cydriver.CUgraphEdgeData))
 *         if cyedgeData is NULL:
*/
    goto __pyx_L15;
  }

  /* "cuda/bindings/driver.pyx":38541
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(edgeData) == 1:             # <<<<<<<<<<<<<<
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38541, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38542
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_edgeData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_5)->__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_cyedgeData = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":38541
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cyedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(edgeData) == 1:             # <<<<<<<<<<<<<<
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:
*/
  }
  __pyx_L15:;

  /* "cuda/bindings/driver.pyx":38543
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphRemoveDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38544
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)             # <<<<<<<<<<<<<<
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphRemoveDependencies_v2(__pyx_v_cyhGraph, __pyx_v_cyfrom_, __pyx_v_cyto, __pyx_v_cyedgeData, __pyx_v_numDependencies); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38544, __pyx_L20_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":38543
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphRemoveDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L21;
        }
        __pyx_L20_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L21:;
      }
  }

  /* "cuda/bindings/driver.pyx":38545
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38545, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L23_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyfrom_ != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L23_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38546
 *         err = cydriver.cuGraphRemoveDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)             # <<<<<<<<<<<<<<
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
*/
    free(__pyx_v_cyfrom_);

    /* "cuda/bindings/driver.pyx":38545
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies_v2(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38547
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38547, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L26_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyto != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L26_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38548
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)             # <<<<<<<<<<<<<<
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
 *         free(cyedgeData)
*/
    free(__pyx_v_cyto);

    /* "cuda/bindings/driver.pyx":38547
 *     if len(from_) > 1 and cyfrom_ is not NULL:
 *         free(cyfrom_)
 *     if len(to) > 1 and cyto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":38549
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38549, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L29_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyedgeData != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L29_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38550
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
 *         free(cyedgeData)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyedgeData);

    /* "cuda/bindings/driver.pyx":38549
 *     if len(to) > 1 and cyto is not NULL:
 *         free(cyto)
 *     if len(edgeData) > 1 and cyedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyedgeData)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":38551
 *     if len(edgeData) > 1 and cyedgeData is not NULL:
 *         free(cyedgeData)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 38551, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38457
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRemoveDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_2generator166);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_5generator167);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_28cuGraphRemoveDependencies_v2_8generator168);
  __Pyx_XDECREF(__pyx_v_from_);
  __Pyx_XDECREF(__pyx_v_to);
  __Pyx_XDECREF(__pyx_v_edgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38553
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroyNode(hNode):
 *     """ Remove a node from the graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_661cuGraphDestroyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_660cuGraphDestroyNode, "cuGraphDestroyNode(hNode)\n\nRemove a node from the graph.\n\nRemoves `hNode` from its graph. This operation also severs any\ndependencies of other nodes on `hNode` and vice versa.\n\nNodes which belong to a graph which contains allocation or free nodes\ncannot be destroyed. Any attempt to do so will return an error.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to remove\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_661cuGraphDestroyNode = {"cuGraphDestroyNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_661cuGraphDestroyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_660cuGraphDestroyNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_661cuGraphDestroyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphDestroyNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38553, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38553, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphDestroyNode", 0) < (0)) __PYX_ERR(0, 38553, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphDestroyNode", 1, 1, 1, i); __PYX_ERR(0, 38553, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38553, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphDestroyNode", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 38553, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphDestroyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_660cuGraphDestroyNode(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_660cuGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphDestroyNode", 0);

  /* "cuda/bindings/driver.pyx":38578
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38579
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38578
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38580
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38581
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38580
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38583
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38583, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38584
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphDestroyNode(cyhNode)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38584, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38585
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphDestroyNode(cyhNode)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38586
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
 *         err = cydriver.cuGraphDestroyNode(cyhNode)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphDestroyNode(__pyx_v_cyhNode); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38586, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":38585
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphDestroyNode(cyhNode)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38587
 *     with nogil:
 *         err = cydriver.cuGraphDestroyNode(cyhNode)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 38587, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38553
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroyNode(hNode):
 *     """ Remove a node from the graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphDestroyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38589
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiate(hGraph, unsigned long long flags):
 *     """ Creates an executable graph from a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_663cuGraphInstantiate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_662cuGraphInstantiate, "cuGraphInstantiate(hGraph, unsigned long long flags)\n\nCreates an executable graph from a graph.\n\nInstantiates `hGraph` as an executable graph. The graph is validated\nfor any structural constraints or intra-node constraints which were not\npreviously validated. If instantiation is successful, a handle to the\ninstantiated graph is returned in `phGraphExec`.\n\nThe `flags` parameter controls the behavior of instantiation and\nsubsequent graph launches. Valid flags are:\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH`, which\n  configures a graph containing memory allocation nodes to\n  automatically free any unfreed memory allocations before the graph is\n  relaunched.\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH`, which\n  configures the graph for launch from the device. If this flag is\n  passed, the executable graph handle returned can be used to launch\n  the graph from both the host and device. This flag can only be used\n  on platforms which support unified addressing. This flag cannot be\n  used in conjunction with\n  :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH`.\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY`, which\n  causes the graph to use the priorities from the per-node attributes\n  rather than the priority of the launch stream during execution. Note\n  that priorities are only available on kernel nodes, and are copied\n  from stream priority during stream capture.\n\nIf `hGraph` contains any allocation or free nodes, there can be at most\none executable graph in existence for that graph at a time. An attempt\nto instantiate a second executable graph before destroying the first\nwith :py:obj:`~.cuGraphExecDestroy` will result in an error. The same\nalso applies if `hGraph` contains any device-updatable kernel nodes.\n\nIf `hGraph` contains kernels which call device-side cudaGraphLaunch()\nfrom multiple contexts, this will result in an error.\n\nGraphs instantiated for launch on the device ha""ve additional\nrestrictions which do not apply to host graphs:\n\n- The graph's nodes must reside on a single context.\n\n- The graph can only contain kernel nodes, memcpy nodes, memset nodes,\n  and child graph nodes.\n\n- The graph cannot be empty and must contain at least one kernel,\n  memcpy, or memset node. Operation-specific restrictions are outlined\n  below.\n\n- Kernel nodes:\n\n  - Use of CUDA Dynamic Parallelism is not permitted.\n\n  - Cooperative launches are permitted as long as MPS is not in use.\n\n- Memcpy nodes:\n\n  - Only copies involving device memory and/or pinned device-mapped\n    host memory are permitted.\n\n  - Copies involving CUDA arrays are not permitted.\n\n  - Both operands must be accessible from the current context, and the\n    current context must match the context of other nodes in the graph.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to instantiate\nflags : unsigned long long\n    Flags to control instantiation. See\n    :py:obj:`~.CUgraphInstantiate_flags`.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphGraphExec : :py:obj:`~.CUgraphExec`\n    Returns instantiated graph\n\nSee Also\n--------\n:py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphUpload`, :py:obj:`~.cuGraphLaunch`, :py:obj:`~.cuGraphExecDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_663cuGraphInstantiate = {"cuGraphInstantiate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_663cuGraphInstantiate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_662cuGraphInstantiate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_663cuGraphInstantiate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphInstantiate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38589, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38589, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38589, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphInstantiate", 0) < (0)) __PYX_ERR(0, 38589, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphInstantiate", 1, 2, 2, i); __PYX_ERR(0, 38589, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38589, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38589, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38590, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphInstantiate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 38589, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphInstantiate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_662cuGraphInstantiate(__pyx_self, __pyx_v_hGraph, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_662cuGraphInstantiate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_phGraphExec = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphInstantiate", 0);

  /* "cuda/bindings/driver.pyx":38677
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38678
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38677
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38679
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38680
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38679
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38682
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38682, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38683
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38683, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38684
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphInstantiate(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38684, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphExec = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":38685
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphInstantiate(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38686
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     with nogil:
 *         err = cydriver.cuGraphInstantiate(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphInstantiate(((CUgraphExec *)__pyx_v_phGraphExec->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38686, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":38685
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphInstantiate(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38687
 *     with nogil:
 *         err = cydriver.cuGraphInstantiate(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphExec)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38688
 *         err = cydriver.cuGraphInstantiate(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphExec)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 38688, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 38688, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38687
 *     with nogil:
 *         err = cydriver.cuGraphInstantiate(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphExec)
*/
  }

  /* "cuda/bindings/driver.pyx":38689
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphExec)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 38689, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphExec);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphExec);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraphExec)) != (0)) __PYX_ERR(0, 38689, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38589
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiate(hGraph, unsigned long long flags):
 *     """ Creates an executable graph from a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphInstantiate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38691
 *     return (_dict_CUresult[err], phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiateWithParams(hGraph, instantiateParams : Optional[CUDA_GRAPH_INSTANTIATE_PARAMS]):
 *     """ Creates an executable graph from a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_665cuGraphInstantiateWithParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_664cuGraphInstantiateWithParams, "cuGraphInstantiateWithParams(hGraph, CUDA_GRAPH_INSTANTIATE_PARAMS instantiateParams: Optional[CUDA_GRAPH_INSTANTIATE_PARAMS])\n\nCreates an executable graph from a graph.\n\nInstantiates `hGraph` as an executable graph according to the\n`instantiateParams` structure. The graph is validated for any\nstructural constraints or intra-node constraints which were not\npreviously validated. If instantiation is successful, a handle to the\ninstantiated graph is returned in `phGraphExec`.\n\n`instantiateParams` controls the behavior of instantiation and\nsubsequent graph launches, as well as returning more detailed\ninformation in the event of an error.\n:py:obj:`~.CUDA_GRAPH_INSTANTIATE_PARAMS` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nThe `flags` field controls the behavior of instantiation and subsequent\ngraph launches. Valid flags are:\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH`, which\n  configures a graph containing memory allocation nodes to\n  automatically free any unfreed memory allocations before the graph is\n  relaunched.\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD`, which will perform an\n  upload of the graph into `hUploadStream` once the graph has been\n  instantiated.\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH`, which\n  configures the graph for launch from the device. If this flag is\n  passed, the executable graph handle returned can be used to launch\n  the graph from both the host and device. This flag can only be used\n  on platforms which support unified addressing. This flag cannot be\n  used in conjunction with\n  :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH`.\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY`, which\n  causes the graph to use the priorities from the per-node attributes\n  rather than the priority of the launch stream during execution. Note\n  that priorities are only available on kernel nodes, and are copied\n  from stream pr""iority during stream capture.\n\nIf `hGraph` contains any allocation or free nodes, there can be at most\none executable graph in existence for that graph at a time. An attempt\nto instantiate a second executable graph before destroying the first\nwith :py:obj:`~.cuGraphExecDestroy` will result in an error. The same\nalso applies if `hGraph` contains any device-updatable kernel nodes.\n\nIf `hGraph` contains kernels which call device-side cudaGraphLaunch()\nfrom multiple contexts, this will result in an error.\n\nGraphs instantiated for launch on the device have additional\nrestrictions which do not apply to host graphs:\n\n- The graph's nodes must reside on a single context.\n\n- The graph can only contain kernel nodes, memcpy nodes, memset nodes,\n  and child graph nodes.\n\n- The graph cannot be empty and must contain at least one kernel,\n  memcpy, or memset node. Operation-specific restrictions are outlined\n  below.\n\n- Kernel nodes:\n\n  - Use of CUDA Dynamic Parallelism is not permitted.\n\n  - Cooperative launches are permitted as long as MPS is not in use.\n\n- Memcpy nodes:\n\n  - Only copies involving device memory and/or pinned device-mapped\n    host memory are permitted.\n\n  - Copies involving CUDA arrays are not permitted.\n\n  - Both operands must be accessible from the current context, and the\n    current context must match the context of other nodes in the graph.\n\nIn the event of an error, the `result_out` and `hErrNode_out` fields\nwill contain more information about the nature of the error. Possible\nerror reporting includes:\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_ERROR`, if passed an invalid value\n  or if an unexpected error occurred which is described by the return\n  value of the function. `hErrNode_out` will be set to NULL.\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE`, if the graph\n  structure is invalid. `hErrNode_out` will be set to one of the\n  offending nodes.\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT""_SUPPORTED`, if\n  the graph is instantiated for device launch but contains a node of an\n  unsupported node type, or a node which performs unsupported\n  operations, such as use of CUDA dynamic parallelism within a kernel\n  node. `hErrNode_out` will be set to this node.\n\n- :py:obj:`~.CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED`, if\n  the graph is instantiated for device launch but a node\342\200\231s context\n  differs from that of another node. This error can also be returned if\n  a graph is not instantiated for device launch and it contains kernels\n  which call device-side cudaGraphLaunch() from multiple contexts.\n  `hErrNode_out` will be set to this node.\n\nIf instantiation is successful, `result_out` will be set to\n:py:obj:`~.CUDA_GRAPH_INSTANTIATE_SUCCESS`, and `hErrNode_out` will be\nset to NULL.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to instantiate\ninstantiateParams : :py:obj:`~.CUDA_GRAPH_INSTANTIATE_PARAMS`\n    Instantiation parameters\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nphGraphExec : :py:obj:`~.CUgraphExec`\n    Returns instantiated graph\n\nSee Also\n--------\n:py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphExecDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_665cuGraphInstantiateWithParams = {"cuGraphInstantiateWithParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_665cuGraphInstantiateWithParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_664cuGraphInstantiateWithParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_665cuGraphInstantiateWithParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS *__pyx_v_instantiateParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphInstantiateWithParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_instantiateParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38691, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38691, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38691, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphInstantiateWithParams", 0) < (0)) __PYX_ERR(0, 38691, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphInstantiateWithParams", 1, 2, 2, i); __PYX_ERR(0, 38691, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38691, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38691, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_instantiateParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphInstantiateWithParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 38691, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphInstantiateWithParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_instantiateParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS, 1, "instantiateParams", 0))) __PYX_ERR(0, 38692, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_664cuGraphInstantiateWithParams(__pyx_self, __pyx_v_hGraph, __pyx_v_instantiateParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_664cuGraphInstantiateWithParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS *__pyx_v_instantiateParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_phGraphExec = 0;
  CUDA_GRAPH_INSTANTIATE_PARAMS *__pyx_v_cyinstantiateParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphInstantiateWithParams", 0);

  /* "cuda/bindings/driver.pyx":38819
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38820
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38819
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38821
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38822
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38821
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38824
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38824, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38825
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     cdef cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS* cyinstantiateParams_ptr = instantiateParams._pvt_ptr if instantiateParams is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38825, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38826
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS* cyinstantiateParams_ptr = instantiateParams._pvt_ptr if instantiateParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38826, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phGraphExec = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":38827
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     cdef cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS* cyinstantiateParams_ptr = instantiateParams._pvt_ptr if instantiateParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphInstantiateWithParams(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, cyinstantiateParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_instantiateParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_instantiateParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyinstantiateParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":38828
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     cdef cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS* cyinstantiateParams_ptr = instantiateParams._pvt_ptr if instantiateParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphInstantiateWithParams(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, cyinstantiateParams_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38829
 *     cdef cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS* cyinstantiateParams_ptr = instantiateParams._pvt_ptr if instantiateParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphInstantiateWithParams(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, cyinstantiateParams_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphInstantiateWithParams(((CUgraphExec *)__pyx_v_phGraphExec->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cyinstantiateParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38829, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":38828
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     cdef cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS* cyinstantiateParams_ptr = instantiateParams._pvt_ptr if instantiateParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphInstantiateWithParams(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, cyinstantiateParams_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38830
 *     with nogil:
 *         err = cydriver.cuGraphInstantiateWithParams(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, cyinstantiateParams_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphExec)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38831
 *         err = cydriver.cuGraphInstantiateWithParams(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, cyinstantiateParams_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphExec)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 38831, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 38831, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38830
 *     with nogil:
 *         err = cydriver.cuGraphInstantiateWithParams(<cydriver.CUgraphExec*>phGraphExec._pvt_ptr, cyhGraph, cyinstantiateParams_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphExec)
*/
  }

  /* "cuda/bindings/driver.pyx":38832
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphExec)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 38832, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphExec);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphExec);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraphExec)) != (0)) __PYX_ERR(0, 38832, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38691
 *     return (_dict_CUresult[err], phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiateWithParams(hGraph, instantiateParams : Optional[CUDA_GRAPH_INSTANTIATE_PARAMS]):
 *     """ Creates an executable graph from a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphInstantiateWithParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38834
 *     return (_dict_CUresult[err], phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecGetFlags(hGraphExec):
 *     """ Query the instantiation flags of an executable graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_667cuGraphExecGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_666cuGraphExecGetFlags, "cuGraphExecGetFlags(hGraphExec)\n\nQuery the instantiation flags of an executable graph.\n\nReturns the flags that were passed to instantiation for the given\nexecutable graph. :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD` will\nnot be returned by this API as it does not affect the resulting\nexecutable graph.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nflags : :py:obj:`~.cuuint64_t`\n    Returns the instantiation flags\n\nSee Also\n--------\n:py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphInstantiateWithParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_667cuGraphExecGetFlags = {"cuGraphExecGetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_667cuGraphExecGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_666cuGraphExecGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_667cuGraphExecGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecGetFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38834, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38834, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecGetFlags", 0) < (0)) __PYX_ERR(0, 38834, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecGetFlags", 1, 1, 1, i); __PYX_ERR(0, 38834, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38834, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecGetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 38834, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_666cuGraphExecGetFlags(__pyx_self, __pyx_v_hGraphExec);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_666cuGraphExecGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec) {
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *__pyx_v_flags = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecGetFlags", 0);

  /* "cuda/bindings/driver.pyx":38860
 *     """
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38861
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38860
 *     """
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38862
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38863
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38862
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38865
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cuuint64_t flags = cuuint64_t()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38865, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38866
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cuuint64_t flags = cuuint64_t()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38866, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38867
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cuuint64_t flags = cuuint64_t()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecGetFlags(cyhGraphExec, <cydriver.cuuint64_t*>flags._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38867, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_flags = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":38868
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cuuint64_t flags = cuuint64_t()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecGetFlags(cyhGraphExec, <cydriver.cuuint64_t*>flags._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38869
 *     cdef cuuint64_t flags = cuuint64_t()
 *     with nogil:
 *         err = cydriver.cuGraphExecGetFlags(cyhGraphExec, <cydriver.cuuint64_t*>flags._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecGetFlags(__pyx_v_cyhGraphExec, ((cuuint64_t *)__pyx_v_flags->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38869, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":38868
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cuuint64_t flags = cuuint64_t()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecGetFlags(cyhGraphExec, <cydriver.cuuint64_t*>flags._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38870
 *     with nogil:
 *         err = cydriver.cuGraphExecGetFlags(cyhGraphExec, <cydriver.cuuint64_t*>flags._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38871
 *         err = cydriver.cuGraphExecGetFlags(cyhGraphExec, <cydriver.cuuint64_t*>flags._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], flags)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 38871, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 38871, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38870
 *     with nogil:
 *         err = cydriver.cuGraphExecGetFlags(cyhGraphExec, <cydriver.cuuint64_t*>flags._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)
*/
  }

  /* "cuda/bindings/driver.pyx":38872
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 38872, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_flags);
  __Pyx_GIVEREF((PyObject *)__pyx_v_flags);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_flags)) != (0)) __PYX_ERR(0, 38872, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38834
 *     return (_dict_CUresult[err], phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecGetFlags(hGraphExec):
 *     """ Query the instantiation flags of an executable graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XDECREF((PyObject *)__pyx_v_flags);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38874
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecKernelNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets the parameters for a kernel node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_669cuGraphExecKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_668cuGraphExecKernelNodeSetParams, "cuGraphExecKernelNodeSetParams(hGraphExec, hNode, CUDA_KERNEL_NODE_PARAMS nodeParams: Optional[CUDA_KERNEL_NODE_PARAMS])\n\nSets the parameters for a kernel node in the given graphExec.\n\nSets the parameters of a kernel node in an executable graph\n`hGraphExec`. The node is identified by the corresponding node `hNode`\nin the non-executable graph, from which the executable graph was\ninstantiated.\n\n`hNode` must not have been removed from the original graph. All\n`nodeParams` fields may change, but the following restrictions apply to\n`func` updates:\n\n- The owning context of the function cannot change.\n\n- A node whose function originally did not use CUDA dynamic parallelism\n  cannot be updated to a function which uses CDP\n\n- A node whose function originally did not make device-side update\n  calls cannot be updated to a function which makes device-side update\n  calls.\n\n- If `hGraphExec` was not instantiated for device launch, a node whose\n  function originally did not use device-side cudaGraphLaunch() cannot\n  be updated to a function which uses device-side cudaGraphLaunch()\n  unless the node resides on the same context as nodes which contained\n  such calls at instantiate-time. If no such calls were present at\n  instantiation, these updates cannot be performed at all.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nIf `hNode` is a device-updatable kernel node, the next upload/launch of\n`hGraphExec` will overwrite any previous device-side updates.\nAdditionally, applying host updates to a device-updatable kernel node\nwhile it is being updated from the device will result in undefined\nbehavior.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGrap""hNode_t`\n    kernel node from the graph from which graphExec was instantiated\nnodeParams : :py:obj:`~.CUDA_KERNEL_NODE_PARAMS`\n    Updated Parameters to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecChildGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_669cuGraphExecKernelNodeSetParams = {"cuGraphExecKernelNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_669cuGraphExecKernelNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_668cuGraphExecKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_669cuGraphExecKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecKernelNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38874, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38874, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38874, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38874, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecKernelNodeSetParams", 0) < (0)) __PYX_ERR(0, 38874, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecKernelNodeSetParams", 1, 3, 3, i); __PYX_ERR(0, 38874, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38874, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38874, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38874, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecKernelNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 38874, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 38875, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_668cuGraphExecKernelNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_668cuGraphExecKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_KERNEL_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecKernelNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":38932
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38933
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38932
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38934
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38935
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38934
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38937
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38937, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38938
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38938, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38940
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38941
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38940
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":38942
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38943
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":38942
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":38945
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38945, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":38946
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38946, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38947
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecKernelNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":38948
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecKernelNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38949
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExecKernelNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecKernelNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38949, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":38948
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_KERNEL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecKernelNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":38950
 *     with nogil:
 *         err = cydriver.cuGraphExecKernelNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 38950, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38874
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecKernelNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets the parameters for a kernel node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38952
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemcpyNodeSetParams(hGraphExec, hNode, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Sets the parameters for a memcpy node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_671cuGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_670cuGraphExecMemcpyNodeSetParams, "cuGraphExecMemcpyNodeSetParams(hGraphExec, hNode, CUDA_MEMCPY3D copyParams: Optional[CUDA_MEMCPY3D], ctx)\n\nSets the parameters for a memcpy node in the given graphExec.\n\nUpdates the work represented by `hNode` in `hGraphExec` as though\n`hNode` had contained `copyParams` at instantiation. hNode must remain\nin the graph which was used to instantiate `hGraphExec`. Changed edges\nto and from hNode are ignored.\n\nThe source and destination memory in `copyParams` must be allocated\nfrom the same contexts as the original source and destination memory.\nBoth the instantiation-time memory operands and the memory operands in\n`copyParams` must be 1-dimensional. Zero-length operations are not\nsupported.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. hNode is also not modified by this call.\n\nReturns CUDA_ERROR_INVALID_VALUE if the memory operands' mappings\nchanged or either the original or new memory operands are\nmultidimensional.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Memcpy node from the graph which was used to instantiate graphExec\ncopyParams : :py:obj:`~.CUDA_MEMCPY3D`\n    The updated parameters to set\nctx : :py:obj:`~.CUcontext`\n    Context on which to run the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecChildGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~"".cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_671cuGraphExecMemcpyNodeSetParams = {"cuGraphExecMemcpyNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_671cuGraphExecMemcpyNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_670cuGraphExecMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_671cuGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_copyParams = 0;
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecMemcpyNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_copyParams_2,&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 38952, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecMemcpyNodeSetParams", 0) < (0)) __PYX_ERR(0, 38952, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecMemcpyNodeSetParams", 1, 4, 4, i); __PYX_ERR(0, 38952, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38952, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38952, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38952, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38952, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_copyParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)values[2]);
    __pyx_v_ctx = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecMemcpyNodeSetParams", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 38952, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_copyParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D, 1, "copyParams", 0))) __PYX_ERR(0, 38953, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_670cuGraphExecMemcpyNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_copyParams, __pyx_v_ctx);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_670cuGraphExecMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *__pyx_v_copyParams, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_MEMCPY3D *__pyx_v_cycopyParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_MEMCPY3D_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecMemcpyNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":38996
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38997
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":38996
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38998
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38999
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38998
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39001
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39001, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39002
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39002, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39004
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39005
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39004
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39006
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39007
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39006
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39009
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39009, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39010
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39010, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39012
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39013
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39012
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39014
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39015
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39014
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39017
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39017, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39018
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39018, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39019
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecMemcpyNodeSetParams(cyhGraphExec, cyhNode, cycopyParams_ptr, cyctx)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_copyParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_copyParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cycopyParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":39020
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecMemcpyNodeSetParams(cyhGraphExec, cyhNode, cycopyParams_ptr, cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39021
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExecMemcpyNodeSetParams(cyhGraphExec, cyhNode, cycopyParams_ptr, cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecMemcpyNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cycopyParams_ptr, __pyx_v_cyctx); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39021, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":39020
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_MEMCPY3D* cycopyParams_ptr = copyParams._pvt_ptr if copyParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecMemcpyNodeSetParams(cyhGraphExec, cyhNode, cycopyParams_ptr, cyctx)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39022
 *     with nogil:
 *         err = cydriver.cuGraphExecMemcpyNodeSetParams(cyhGraphExec, cyhNode, cycopyParams_ptr, cyctx)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 39022, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38952
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemcpyNodeSetParams(hGraphExec, hNode, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Sets the parameters for a memcpy node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39024
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemsetNodeSetParams(hGraphExec, hNode, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Sets the parameters for a memset node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_673cuGraphExecMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_672cuGraphExecMemsetNodeSetParams, "cuGraphExecMemsetNodeSetParams(hGraphExec, hNode, CUDA_MEMSET_NODE_PARAMS memsetParams: Optional[CUDA_MEMSET_NODE_PARAMS], ctx)\n\nSets the parameters for a memset node in the given graphExec.\n\nUpdates the work represented by `hNode` in `hGraphExec` as though\n`hNode` had contained `memsetParams` at instantiation. hNode must\nremain in the graph which was used to instantiate `hGraphExec`. Changed\nedges to and from hNode are ignored.\n\nZero sized operations are not supported.\n\nThe new destination pointer in memsetParams must be to the same kind of\nallocation as the original destination pointer and have the same\ncontext association and device mapping as the original destination\npointer.\n\nBoth the value and pointer address may be updated.   Changing other\naspects of the memset (width, height, element size or pitch) may cause\nthe update to be rejected. Specifically, for 2d memsets, all dimension\nchanges are rejected. For 1d memsets, changes in height are explicitly\nrejected and other changes are opportunistically allowed if the\nresulting work maps onto the work resources already allocated for the\nnode.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. hNode is also not modified by this call.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Memset node from the graph which was used to instantiate graphExec\nmemsetParams : :py:obj:`~.CUDA_MEMSET_NODE_PARAMS`\n    The updated parameters to set\nctx : :py:obj:`~.CUcontext`\n    Context on which to run the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphMemsetNodeSetPar""ams`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecChildGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_673cuGraphExecMemsetNodeSetParams = {"cuGraphExecMemsetNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_673cuGraphExecMemsetNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_672cuGraphExecMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_673cuGraphExecMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams = 0;
  PyObject *__pyx_v_ctx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecMemsetNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_memsetParams,&__pyx_mstate_global->__pyx_n_u_ctx_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39024, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 39024, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39024, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39024, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39024, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecMemsetNodeSetParams", 0) < (0)) __PYX_ERR(0, 39024, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecMemsetNodeSetParams", 1, 4, 4, i); __PYX_ERR(0, 39024, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39024, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39024, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39024, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 39024, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_memsetParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *)values[2]);
    __pyx_v_ctx = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecMemsetNodeSetParams", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 39024, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memsetParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS, 1, "memsetParams", 0))) __PYX_ERR(0, 39025, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_672cuGraphExecMemsetNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_memsetParams, __pyx_v_ctx);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_672cuGraphExecMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_MEMSET_NODE_PARAMS *__pyx_v_cymemsetParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_MEMSET_NODE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecMemsetNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39073
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39074
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39073
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39075
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39076
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39075
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39078
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39078, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39079
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39079, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39081
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39082
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39081
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39083
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39084
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39083
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39086
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39086, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39087
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39087, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39089
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39090
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39089
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39091
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39092
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39091
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39094
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39094, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39095
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39095, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39096
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecMemsetNodeSetParams(cyhGraphExec, cyhNode, cymemsetParams_ptr, cyctx)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_memsetParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_memsetParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cymemsetParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":39097
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecMemsetNodeSetParams(cyhGraphExec, cyhNode, cymemsetParams_ptr, cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39098
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExecMemsetNodeSetParams(cyhGraphExec, cyhNode, cymemsetParams_ptr, cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecMemsetNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cymemsetParams_ptr, __pyx_v_cyctx); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39098, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":39097
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_MEMSET_NODE_PARAMS* cymemsetParams_ptr = memsetParams._pvt_ptr if memsetParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecMemsetNodeSetParams(cyhGraphExec, cyhNode, cymemsetParams_ptr, cyctx)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39099
 *     with nogil:
 *         err = cydriver.cuGraphExecMemsetNodeSetParams(cyhGraphExec, cyhNode, cymemsetParams_ptr, cyctx)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 39099, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39024
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemsetNodeSetParams(hGraphExec, hNode, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Sets the parameters for a memset node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39101
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecHostNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets the parameters for a host node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_675cuGraphExecHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_674cuGraphExecHostNodeSetParams, "cuGraphExecHostNodeSetParams(hGraphExec, hNode, CUDA_HOST_NODE_PARAMS nodeParams: Optional[CUDA_HOST_NODE_PARAMS])\n\nSets the parameters for a host node in the given graphExec.\n\nUpdates the work represented by `hNode` in `hGraphExec` as though\n`hNode` had contained `nodeParams` at instantiation. hNode must remain\nin the graph which was used to instantiate `hGraphExec`. Changed edges\nto and from hNode are ignored.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. hNode is also not modified by this call.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Host node from the graph which was used to instantiate graphExec\nnodeParams : :py:obj:`~.CUDA_HOST_NODE_PARAMS`\n    The updated parameters to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphHostNodeSetParams`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecChildGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_675cuGraphExecHostNodeSetParams = {"cuGraphExecHostNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_675cuGraphExecHostNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_674cuGraphExecHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_675cuGraphExecHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecHostNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39101, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39101, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39101, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39101, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecHostNodeSetParams", 0) < (0)) __PYX_ERR(0, 39101, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecHostNodeSetParams", 1, 3, 3, i); __PYX_ERR(0, 39101, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39101, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39101, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39101, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecHostNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 39101, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 39102, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_674cuGraphExecHostNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_674cuGraphExecHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_HOST_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_HOST_NODE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecHostNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39133
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39134
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39133
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39135
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39136
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39135
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39138
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39138, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39139
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39139, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39141
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39142
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39141
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39143
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39144
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39143
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39146
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39146, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39147
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39147, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39148
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecHostNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":39149
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecHostNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39150
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExecHostNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecHostNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39150, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":39149
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_HOST_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecHostNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39151
 *     with nogil:
 *         err = cydriver.cuGraphExecHostNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 39151, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39101
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecHostNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets the parameters for a host node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39153
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecChildGraphNodeSetParams(hGraphExec, hNode, childGraph):
 *     """ Updates node parameters in the child graph node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_677cuGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_676cuGraphExecChildGraphNodeSetParams, "cuGraphExecChildGraphNodeSetParams(hGraphExec, hNode, childGraph)\n\nUpdates node parameters in the child graph node in the given graphExec.\n\nUpdates the work represented by `hNode` in `hGraphExec` as though the\nnodes contained in `hNode's` graph had the parameters contained in\n`childGraph's` nodes at instantiation. `hNode` must remain in the graph\nwhich was used to instantiate `hGraphExec`. Changed edges to and from\n`hNode` are ignored.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nThe topology of `childGraph`, as well as the node insertion order, must\nmatch that of the graph contained in `hNode`. See\n:py:obj:`~.cuGraphExecUpdate()` for a list of restrictions on what can\nbe updated in an instantiated graph. The update is recursive, so child\ngraph nodes contained within the top level child graph will also be\nupdated.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Host node from the graph which was used to instantiate graphExec\nchildGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    The graph supplying the updated parameters\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphChildGraphNodeGetGraph`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphor""esWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_677cuGraphExecChildGraphNodeSetParams = {"cuGraphExecChildGraphNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_677cuGraphExecChildGraphNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_676cuGraphExecChildGraphNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_677cuGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_childGraph = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecChildGraphNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_childGraph,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39153, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39153, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39153, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39153, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecChildGraphNodeSetParams", 0) < (0)) __PYX_ERR(0, 39153, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecChildGraphNodeSetParams", 1, 3, 3, i); __PYX_ERR(0, 39153, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39153, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39153, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39153, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_childGraph = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecChildGraphNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 39153, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecChildGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_676cuGraphExecChildGraphNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_childGraph);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_676cuGraphExecChildGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_childGraph) {
  CUgraph __pyx_v_cychildGraph;
  PyObject *__pyx_v_pchildGraph = NULL;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecChildGraphNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39193
 *     """
 *     cdef cydriver.CUgraph cychildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_childGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39194
 *     cdef cydriver.CUgraph cychildGraph
 *     if childGraph is None:
 *         pchildGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pchildGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39193
 *     """
 *     cdef cydriver.CUgraph cychildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39195
 *     if childGraph is None:
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39196
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_childGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pchildGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39195
 *     if childGraph is None:
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39198
 *         pchildGraph = int(childGraph)
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))             # <<<<<<<<<<<<<<
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_childGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39198, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39198, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pchildGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39199
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39199, __pyx_L1_error)
  __pyx_v_cychildGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39201
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39202
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39201
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39203
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39204
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39203
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39206
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39206, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39207
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39207, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39209
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39210
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39209
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39211
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39212
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39211
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39214
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39214, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39215
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecChildGraphNodeSetParams(cyhGraphExec, cyhNode, cychildGraph)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39215, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39216
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecChildGraphNodeSetParams(cyhGraphExec, cyhNode, cychildGraph)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39217
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphExecChildGraphNodeSetParams(cyhGraphExec, cyhNode, cychildGraph)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecChildGraphNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cychildGraph); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39217, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39216
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecChildGraphNodeSetParams(cyhGraphExec, cyhNode, cychildGraph)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39218
 *     with nogil:
 *         err = cydriver.cuGraphExecChildGraphNodeSetParams(cyhGraphExec, cyhNode, cychildGraph)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 39218, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39153
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecChildGraphNodeSetParams(hGraphExec, hNode, childGraph):
 *     """ Updates node parameters in the child graph node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecChildGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pchildGraph);
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39220
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event record node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_679cuGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_678cuGraphExecEventRecordNodeSetEvent, "cuGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event)\n\nSets the event for an event record node in the given graphExec.\n\nSets the event of an event record node in an executable graph\n`hGraphExec`. The node is identified by the corresponding node `hNode`\nin the non-executable graph, from which the executable graph was\ninstantiated.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    event record node from the graph from which graphExec was\n    instantiated\nevent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Updated event to use\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphEventRecordNodeGetEvent`, :py:obj:`~.cuGraphEventWaitNodeSetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecChildGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_679cuGraphExecEventRecordNodeSetEvent = {"cuGraphExecEventRecordNodeSetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_679cuGraphExecEventRecordNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_678cuGraphExecEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_679cuGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecEventRecordNodeSetEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_event_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39220, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecEventRecordNodeSetEvent", 0) < (0)) __PYX_ERR(0, 39220, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecEventRecordNodeSetEvent", 1, 3, 3, i); __PYX_ERR(0, 39220, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39220, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39220, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39220, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_event = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecEventRecordNodeSetEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 39220, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_678cuGraphExecEventRecordNodeSetEvent(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_678cuGraphExecEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecEventRecordNodeSetEvent", 0);

  /* "cuda/bindings/driver.pyx":39253
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39254
 *     cdef cydriver.CUevent cyevent
 *     if event is None:
 *         pevent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pevent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39253
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39255
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39256
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39255
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39258
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39258, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39259
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39259, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39261
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39262
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39261
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39263
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39264
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39263
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39266
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39266, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39267
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39267, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39269
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39270
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39269
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39271
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39272
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39271
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39274
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39274, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39275
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecEventRecordNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39275, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39276
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecEventRecordNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39277
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphExecEventRecordNodeSetEvent(cyhGraphExec, cyhNode, cyevent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecEventRecordNodeSetEvent(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cyevent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39277, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39276
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecEventRecordNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39278
 *     with nogil:
 *         err = cydriver.cuGraphExecEventRecordNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 39278, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39220
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event record node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39280
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event wait node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_681cuGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_680cuGraphExecEventWaitNodeSetEvent, "cuGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event)\n\nSets the event for an event wait node in the given graphExec.\n\nSets the event of an event wait node in an executable graph\n`hGraphExec`. The node is identified by the corresponding node `hNode`\nin the non-executable graph, from which the executable graph was\ninstantiated.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    event wait node from the graph from which graphExec was\n    instantiated\nevent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Updated event to use\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphEventWaitNodeGetEvent`, :py:obj:`~.cuGraphEventRecordNodeSetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecChildGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_681cuGraphExecEventWaitNodeSetEvent = {"cuGraphExecEventWaitNodeSetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_681cuGraphExecEventWaitNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_680cuGraphExecEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_681cuGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecEventWaitNodeSetEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_event_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39280, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39280, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39280, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39280, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecEventWaitNodeSetEvent", 0) < (0)) __PYX_ERR(0, 39280, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecEventWaitNodeSetEvent", 1, 3, 3, i); __PYX_ERR(0, 39280, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39280, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39280, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39280, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_event = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecEventWaitNodeSetEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 39280, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_680cuGraphExecEventWaitNodeSetEvent(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_680cuGraphExecEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cyevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecEventWaitNodeSetEvent", 0);

  /* "cuda/bindings/driver.pyx":39313
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39314
 *     cdef cydriver.CUevent cyevent
 *     if event is None:
 *         pevent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pevent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39313
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39315
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39316
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39315
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39318
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39318, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39319
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39319, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39321
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39322
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39321
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39323
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39324
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39323
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39326
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39326, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39327
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39327, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39329
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39330
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39329
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39331
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39332
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39331
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39334
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39334, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39335
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecEventWaitNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39335, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39336
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecEventWaitNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39337
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphExecEventWaitNodeSetEvent(cyhGraphExec, cyhNode, cyevent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecEventWaitNodeSetEvent(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cyevent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39337, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39336
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecEventWaitNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39338
 *     with nogil:
 *         err = cydriver.cuGraphExecEventWaitNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 39338, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39280
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event wait node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39340
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_683cuGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_682cuGraphExecExternalSemaphoresSignalNodeSetParams, "cuGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])\n\nSets the parameters for an external semaphore signal node in the given graphExec.\n\nSets the parameters of an external semaphore signal node in an\nexecutable graph `hGraphExec`. The node is identified by the\ncorresponding node `hNode` in the non-executable graph, from which the\nexecutable graph was instantiated.\n\n`hNode` must not have been removed from the original graph.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nChanging `nodeParams->numExtSems` is not supported.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    semaphore signal node from the graph from which graphExec was\n    instantiated\nnodeParams : :py:obj:`~.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS`\n    Updated Parameters to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecChildGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_683cuGraphExecExternalSemaphoresSignalNodeSetParams = {"cuGraphExecExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_683cuGraphExecExternalSemaphoresSignalNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_682cuGraphExecExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_683cuGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecExternalSemaphoresSignalNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39340, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39340, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39340, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39340, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecExternalSemaphoresSignalNodeSetParams", 0) < (0)) __PYX_ERR(0, 39340, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecExternalSemaphoresSignalNodeSetParams", 1, 3, 3, i); __PYX_ERR(0, 39340, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39340, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39340, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39340, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecExternalSemaphoresSignalNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 39340, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecExternalSemaphoresSignalNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 39341, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_682cuGraphExecExternalSemaphoresSignalNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_682cuGraphExecExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecExternalSemaphoresSignalNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39377
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39378
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39377
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39379
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39380
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39379
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39382
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39382, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39383
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39383, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39385
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39386
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39385
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39387
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39388
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39387
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39390
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39390, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39391
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39391, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39392
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecExternalSemaphoresSignalNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":39393
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecExternalSemaphoresSignalNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39394
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExecExternalSemaphoresSignalNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecExternalSemaphoresSignalNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39394, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":39393
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecExternalSemaphoresSignalNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39395
 *     with nogil:
 *         err = cydriver.cuGraphExecExternalSemaphoresSignalNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 39395, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39340
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecExternalSemaphoresSignalNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39397
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_685cuGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_684cuGraphExecExternalSemaphoresWaitNodeSetParams, "cuGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS])\n\nSets the parameters for an external semaphore wait node in the given graphExec.\n\nSets the parameters of an external semaphore wait node in an executable\ngraph `hGraphExec`. The node is identified by the corresponding node\n`hNode` in the non-executable graph, from which the executable graph\nwas instantiated.\n\n`hNode` must not have been removed from the original graph.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nChanging `nodeParams->numExtSems` is not supported.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    semaphore wait node from the graph from which graphExec was\n    instantiated\nnodeParams : :py:obj:`~.CUDA_EXT_SEM_WAIT_NODE_PARAMS`\n    Updated Parameters to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecChildGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_685cuGraphExecExternalSemaphoresWaitNodeSetParams = {"cuGraphExecExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_685cuGraphExecExternalSemaphoresWaitNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_684cuGraphExecExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_685cuGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecExternalSemaphoresWaitNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39397, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecExternalSemaphoresWaitNodeSetParams", 0) < (0)) __PYX_ERR(0, 39397, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecExternalSemaphoresWaitNodeSetParams", 1, 3, 3, i); __PYX_ERR(0, 39397, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39397, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39397, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39397, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecExternalSemaphoresWaitNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 39397, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecExternalSemaphoresWaitNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(0, 39398, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_684cuGraphExecExternalSemaphoresWaitNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_684cuGraphExecExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecExternalSemaphoresWaitNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39434
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39435
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39434
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39436
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39437
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39436
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39439
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39439, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39440
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39440, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39442
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39443
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39442
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39444
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39445
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39444
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39447
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39447, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39448
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39448, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39449
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecExternalSemaphoresWaitNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":39450
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecExternalSemaphoresWaitNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39451
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExecExternalSemaphoresWaitNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecExternalSemaphoresWaitNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39451, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":39450
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecExternalSemaphoresWaitNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39452
 *     with nogil:
 *         err = cydriver.cuGraphExecExternalSemaphoresWaitNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 39452, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39397
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecExternalSemaphoresWaitNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39454
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled):
 *     """ Enables or disables the specified node in the given graphExec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_687cuGraphNodeSetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_686cuGraphNodeSetEnabled, "cuGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled)\n\nEnables or disables the specified node in the given graphExec.\n\nSets `hNode` to be either enabled or disabled. Disabled nodes are\nfunctionally equivalent to empty nodes until they are reenabled.\nExisting node parameters are not affected by disabling/enabling the\nnode.\n\nThe node is identified by the corresponding node `hNode` in the non-\nexecutable graph, from which the executable graph was instantiated.\n\n`hNode` must not have been removed from the original graph.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nIf `hNode` is a device-updatable kernel node, the next upload/launch of\n`hGraphExec` will overwrite any previous device-side updates.\nAdditionally, applying host updates to a device-updatable kernel node\nwhile it is being updated from the device will result in undefined\nbehavior.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node from the graph from which graphExec was instantiated\nisEnabled : unsigned int\n    Node is enabled if != 0, otherwise the node is disabled\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeGetEnabled`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate` :py:obj:`~.cuGraphLaunch`\n\nNotes\n-----\nCurrently only kernel, memset and memcpy nodes are supported.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_687cuGraphNodeSetEnabled = {"cuGraphNodeSetEnabled", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_687cuGraphNodeSetEnabled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_686cuGraphNodeSetEnabled};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_687cuGraphNodeSetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  unsigned int __pyx_v_isEnabled;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeSetEnabled (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_isEnabled,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39454, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeSetEnabled", 0) < (0)) __PYX_ERR(0, 39454, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetEnabled", 1, 3, 3, i); __PYX_ERR(0, 39454, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39454, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39454, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39454, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_isEnabled = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_isEnabled == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 39455, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetEnabled", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 39454, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeSetEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_686cuGraphNodeSetEnabled(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_isEnabled);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_686cuGraphNodeSetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, unsigned int __pyx_v_isEnabled) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeSetEnabled", 0);

  /* "cuda/bindings/driver.pyx":39501
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39502
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39501
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39503
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39504
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39503
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39506
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39506, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39507
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39507, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39509
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39510
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39509
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39511
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39512
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39511
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39514
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39514, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39515
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetEnabled(cyhGraphExec, cyhNode, isEnabled)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39515, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39516
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeSetEnabled(cyhGraphExec, cyhNode, isEnabled)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39517
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetEnabled(cyhGraphExec, cyhNode, isEnabled)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeSetEnabled(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_isEnabled); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39517, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39516
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeSetEnabled(cyhGraphExec, cyhNode, isEnabled)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39518
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetEnabled(cyhGraphExec, cyhNode, isEnabled)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 39518, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39454
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled):
 *     """ Enables or disables the specified node in the given graphExec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeSetEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39520
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetEnabled(hGraphExec, hNode):
 *     """ Query whether a node in the given graphExec is enabled.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_689cuGraphNodeGetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_688cuGraphNodeGetEnabled, "cuGraphNodeGetEnabled(hGraphExec, hNode)\n\nQuery whether a node in the given graphExec is enabled.\n\nSets isEnabled to 1 if `hNode` is enabled, or 0 if `hNode` is disabled.\n\nThe node is identified by the corresponding node `hNode` in the non-\nexecutable graph, from which the executable graph was instantiated.\n\n`hNode` must not have been removed from the original graph.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to set the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node from the graph from which graphExec was instantiated\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\nisEnabled : unsigned int\n    Location to return the enabled status of the node\n\nSee Also\n--------\n:py:obj:`~.cuGraphNodeSetEnabled`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate` :py:obj:`~.cuGraphLaunch`\n\nNotes\n-----\nCurrently only kernel, memset and memcpy nodes are supported.\n\nThis function will not reflect device-side updates for device-updatable kernel nodes.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_689cuGraphNodeGetEnabled = {"cuGraphNodeGetEnabled", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_689cuGraphNodeGetEnabled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_688cuGraphNodeGetEnabled};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_689cuGraphNodeGetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeGetEnabled (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39520, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetEnabled", 0) < (0)) __PYX_ERR(0, 39520, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetEnabled", 1, 2, 2, i); __PYX_ERR(0, 39520, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39520, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39520, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetEnabled", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 39520, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_688cuGraphNodeGetEnabled(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_688cuGraphNodeGetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  unsigned int __pyx_v_isEnabled;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetEnabled", 0);

  /* "cuda/bindings/driver.pyx":39556
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39557
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39556
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39558
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39559
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39558
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39561
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39561, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39562
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39562, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39564
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39565
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39564
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39566
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39567
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39566
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39569
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int isEnabled = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39569, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39570
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef unsigned int isEnabled = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39570, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39571
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int isEnabled = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetEnabled(cyhGraphExec, cyhNode, &isEnabled)
*/
  __pyx_v_isEnabled = 0;

  /* "cuda/bindings/driver.pyx":39572
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int isEnabled = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetEnabled(cyhGraphExec, cyhNode, &isEnabled)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39573
 *     cdef unsigned int isEnabled = 0
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetEnabled(cyhGraphExec, cyhNode, &isEnabled)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetEnabled(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, (&__pyx_v_isEnabled)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39573, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39572
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int isEnabled = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetEnabled(cyhGraphExec, cyhNode, &isEnabled)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39574
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetEnabled(cyhGraphExec, cyhNode, &isEnabled)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], isEnabled)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39575
 *         err = cydriver.cuGraphNodeGetEnabled(cyhGraphExec, cyhNode, &isEnabled)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], isEnabled)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 39575, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 39575, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":39574
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetEnabled(cyhGraphExec, cyhNode, &isEnabled)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], isEnabled)
*/
  }

  /* "cuda/bindings/driver.pyx":39576
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], isEnabled)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_From_unsigned_int(__pyx_v_isEnabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 39576, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 39576, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39520
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetEnabled(hGraphExec, hNode):
 *     """ Query whether a node in the given graphExec is enabled.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39578
 *     return (_dict_CUresult[err], isEnabled)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphUpload(hGraphExec, hStream):
 *     """ Uploads an executable graph in a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_691cuGraphUpload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_690cuGraphUpload, "cuGraphUpload(hGraphExec, hStream)\n\nUploads an executable graph in a stream.\n\nUploads `hGraphExec` to the device in `hStream` without executing it.\nUploads of the same `hGraphExec` will be serialized. Each upload is\nordered behind both any previous work in `hStream` and any previous\nlaunches of `hGraphExec`. Uses memory cached by `stream` to back the\nallocations owned by `hGraphExec`.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    Executable graph to upload\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream in which to upload the graph\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphLaunch`, :py:obj:`~.cuGraphExecDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_691cuGraphUpload = {"cuGraphUpload", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_691cuGraphUpload, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_690cuGraphUpload};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_691cuGraphUpload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphUpload (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39578, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39578, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39578, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphUpload", 0) < (0)) __PYX_ERR(0, 39578, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphUpload", 1, 2, 2, i); __PYX_ERR(0, 39578, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39578, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39578, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphUpload", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 39578, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphUpload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_690cuGraphUpload(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_690cuGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphUpload", 0);

  /* "cuda/bindings/driver.pyx":39605
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39606
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39605
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39607
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39608
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39607
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39610
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39610, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39611
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39611, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39613
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39614
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39613
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39615
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39616
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39615
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39618
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39618, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39619
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphUpload(cyhGraphExec, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39619, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39620
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphUpload(cyhGraphExec, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39621
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphUpload(cyhGraphExec, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphUpload(__pyx_v_cyhGraphExec, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39621, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39620
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphUpload(cyhGraphExec, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39622
 *     with nogil:
 *         err = cydriver.cuGraphUpload(cyhGraphExec, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 39622, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39578
 *     return (_dict_CUresult[err], isEnabled)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphUpload(hGraphExec, hStream):
 *     """ Uploads an executable graph in a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphUpload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39624
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphLaunch(hGraphExec, hStream):
 *     """ Launches an executable graph in a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_693cuGraphLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_692cuGraphLaunch, "cuGraphLaunch(hGraphExec, hStream)\n\nLaunches an executable graph in a stream.\n\nExecutes `hGraphExec` in `hStream`. Only one instance of `hGraphExec`\nmay be executing at a time. Each launch is ordered behind both any\nprevious work in `hStream` and any previous launches of `hGraphExec`.\nTo execute a graph concurrently, it must be instantiated multiple times\ninto multiple executable graphs.\n\nIf any allocations created by `hGraphExec` remain unfreed (from a\nprevious launch) and `hGraphExec` was not instantiated with\n:py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH`, the launch\nwill fail with :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    Executable graph to launch\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream in which to launch the graph\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphUpload`, :py:obj:`~.cuGraphExecDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_693cuGraphLaunch = {"cuGraphLaunch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_693cuGraphLaunch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_692cuGraphLaunch};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_693cuGraphLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphLaunch (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39624, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39624, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39624, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphLaunch", 0) < (0)) __PYX_ERR(0, 39624, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphLaunch", 1, 2, 2, i); __PYX_ERR(0, 39624, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39624, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39624, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphLaunch", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 39624, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_692cuGraphLaunch(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_692cuGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphLaunch", 0);

  /* "cuda/bindings/driver.pyx":39656
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39657
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39656
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39658
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39659
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39658
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39661
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39661, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39662
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39662, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39664
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39665
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39664
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39666
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39667
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39666
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39669
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39669, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39670
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, cyhStream)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39670, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39671
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39672
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphLaunch(__pyx_v_cyhGraphExec, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39672, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39671
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39673
 *     with nogil:
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 39673, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39624
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphLaunch(hGraphExec, hStream):
 *     """ Launches an executable graph in a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39675
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecDestroy(hGraphExec):
 *     """ Destroys an executable graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_695cuGraphExecDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_694cuGraphExecDestroy, "cuGraphExecDestroy(hGraphExec)\n\nDestroys an executable graph.\n\nDestroys the executable graph specified by `hGraphExec`, as well as all\nof its executable nodes. If the executable graph is in-flight, it will\nnot be terminated, but rather freed asynchronously on completion.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    Executable graph to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphUpload`, :py:obj:`~.cuGraphLaunch`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_695cuGraphExecDestroy = {"cuGraphExecDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_695cuGraphExecDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_694cuGraphExecDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_695cuGraphExecDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39675, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39675, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecDestroy", 0) < (0)) __PYX_ERR(0, 39675, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecDestroy", 1, 1, 1, i); __PYX_ERR(0, 39675, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39675, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 39675, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_694cuGraphExecDestroy(__pyx_self, __pyx_v_hGraphExec);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_694cuGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec) {
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecDestroy", 0);

  /* "cuda/bindings/driver.pyx":39698
 *     """
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39699
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39698
 *     """
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39700
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39701
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39700
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39703
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39703, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39703, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39704
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39704, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39705
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39706
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecDestroy(__pyx_v_cyhGraphExec); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39706, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39705
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":39707
 *     with nogil:
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 39707, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39675
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecDestroy(hGraphExec):
 *     """ Destroys an executable graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39709
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroy(hGraph):
 *     """ Destroys a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_697cuGraphDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_696cuGraphDestroy, "cuGraphDestroy(hGraph)\n\nDestroys a graph.\n\nDestroys the graph specified by `hGraph`, as well as all of its nodes.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuGraphCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_697cuGraphDestroy = {"cuGraphDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_697cuGraphDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_696cuGraphDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_697cuGraphDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39709, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39709, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphDestroy", 0) < (0)) __PYX_ERR(0, 39709, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphDestroy", 1, 1, 1, i); __PYX_ERR(0, 39709, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39709, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 39709, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_696cuGraphDestroy(__pyx_self, __pyx_v_hGraph);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_696cuGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphDestroy", 0);

  /* "cuda/bindings/driver.pyx":39730
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39731
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39730
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39732
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39733
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39732
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39735
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39735, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39736
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphDestroy(cyhGraph)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39736, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39737
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphDestroy(cyhGraph)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39738
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:
 *         err = cydriver.cuGraphDestroy(cyhGraph)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphDestroy(__pyx_v_cyhGraph); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39738, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39737
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphDestroy(cyhGraph)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":39739
 *     with nogil:
 *         err = cydriver.cuGraphDestroy(cyhGraph)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 39739, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39709
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroy(hGraph):
 *     """ Destroys a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39741
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecUpdate(hGraphExec, hGraph):
 *     """ Check whether an executable graph can be updated with a graph and perform the update if possible.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_699cuGraphExecUpdate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_698cuGraphExecUpdate, "cuGraphExecUpdate(hGraphExec, hGraph)\n\nCheck whether an executable graph can be updated with a graph and perform the update if possible.\n\nUpdates the node parameters in the instantiated graph specified by\n`hGraphExec` with the node parameters in a topologically identical\ngraph specified by `hGraph`.\n\nLimitations:\n\n- Kernel nodes:\n\n  - The owning context of the function cannot change.\n\n  - A node whose function originally did not use CUDA dynamic\n    parallelism cannot be updated to a function which uses CDP.\n\n  - A node whose function originally did not make device-side update\n    calls cannot be updated to a function which makes device-side\n    update calls.\n\n  - A cooperative node cannot be updated to a non-cooperative node, and\n    vice-versa.\n\n  - If the graph was instantiated with\n    CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY, the priority\n    attribute cannot change. Equality is checked on the originally\n    requested priority values, before they are clamped to the device's\n    supported range.\n\n  - If `hGraphExec` was not instantiated for device launch, a node\n    whose function originally did not use device-side cudaGraphLaunch()\n    cannot be updated to a function which uses device-side\n    cudaGraphLaunch() unless the node resides on the same context as\n    nodes which contained such calls at instantiate-time. If no such\n    calls were present at instantiation, these updates cannot be\n    performed at all.\n\n  - Neither `hGraph` nor `hGraphExec` may contain device-updatable\n    kernel nodes.\n\n- Memset and memcpy nodes:\n\n  - The CUDA device(s) to which the operand(s) was allocated/mapped\n    cannot change.\n\n  - The source/destination memory must be allocated from the same\n    contexts as the original source/destination memory.\n\n  - For 2d memsets, only address and assigned value may be updated.\n\n  - For 1d memsets, updating dimensions is also allowed, but may fail\n    if the resulting operation doesn't ""map onto the work resources\n    already allocated for the node.\n\n- Additional memcpy node restrictions:\n\n  - Changing either the source or destination memory type(i.e.\n    CU_MEMORYTYPE_DEVICE, CU_MEMORYTYPE_ARRAY, etc.) is not supported.\n\n- External semaphore wait nodes and record nodes:\n\n  - Changing the number of semaphores is not supported.\n\n- Conditional nodes:\n\n  - Changing node parameters is not supported.\n\n  - Changing parameters of nodes within the conditional body graph is\n    subject to the rules above.\n\n  - Conditional handle flags and default values are updated as part of\n    the graph update.\n\nNote: The API may add further restrictions in future releases. The\nreturn code should always be checked.\n\ncuGraphExecUpdate sets the result member of `resultInfo` to\nCU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED under the following\nconditions:\n\n- The count of nodes directly in `hGraphExec` and `hGraph` differ, in\n  which case resultInfo->errorNode is set to NULL.\n\n- `hGraph` has more exit nodes than `hGraph`, in which case\n  resultInfo->errorNode is set to one of the exit nodes in hGraph.\n\n- A node in `hGraph` has a different number of dependencies than the\n  node from `hGraphExec` it is paired with, in which case\n  resultInfo->errorNode is set to the node from `hGraph`.\n\n- A node in `hGraph` has a dependency that does not match with the\n  corresponding dependency of the paired node from `hGraphExec`.\n  resultInfo->errorNode will be set to the node from `hGraph`.\n  resultInfo->errorFromNode will be set to the mismatched dependency.\n  The dependencies are paired based on edge order and a dependency does\n  not match when the nodes are already paired based on other edges\n  examined in the graph.\n\ncuGraphExecUpdate sets the result member of `resultInfo` to:\n\n- CU_GRAPH_EXEC_UPDATE_ERROR if passed an invalid value.\n\n- CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED if the graph topology\n  changed\n\n- CU_GRAPH_EXEC_UPDATE_""ERROR_NODE_TYPE_CHANGED if the type of a node\n  changed, in which case `hErrorNode_out` is set to the node from\n  `hGraph`.\n\n- CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE if the\n  function changed in an unsupported way(see note above), in which case\n  `hErrorNode_out` is set to the node from `hGraph`\n\n- CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED if any parameters to a\n  node changed in a way that is not supported, in which case\n  `hErrorNode_out` is set to the node from `hGraph`.\n\n- CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED if any attributes of a\n  node changed in a way that is not supported, in which case\n  `hErrorNode_out` is set to the node from `hGraph`.\n\n- CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED if something about a node is\n  unsupported, like the node's type or configuration, in which case\n  `hErrorNode_out` is set to the node from `hGraph`\n\nIf the update fails for a reason not listed above, the result member of\n`resultInfo` will be set to CU_GRAPH_EXEC_UPDATE_ERROR. If the update\nsucceeds, the result member will be set to\nCU_GRAPH_EXEC_UPDATE_SUCCESS.\n\ncuGraphExecUpdate returns CUDA_SUCCESS when the updated was performed\nsuccessfully. It returns CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE if the\ngraph update was not performed because it included changes which\nviolated constraints specific to instantiated graph update.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The instantiated graph to be updated\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    The graph containing the updated parameters\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE`,\nresultInfo : :py:obj:`~.CUgraphExecUpdateResultInfo`\n    the error info structure\n\nSee Also\n--------\n:py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_699cuGraphExecUpdate = {"cuGraphExecUpdate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_699cuGraphExecUpdate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_698cuGraphExecUpdate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_699cuGraphExecUpdate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hGraph = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecUpdate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hGraph,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39741, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecUpdate", 0) < (0)) __PYX_ERR(0, 39741, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecUpdate", 1, 2, 2, i); __PYX_ERR(0, 39741, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39741, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39741, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hGraph = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecUpdate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 39741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecUpdate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_698cuGraphExecUpdate(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hGraph);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_698cuGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo *__pyx_v_resultInfo = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecUpdate", 0);

  /* "cuda/bindings/driver.pyx":39896
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39897
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39896
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39898
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39899
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39898
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39901
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39901, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39902
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39902, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39904
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39905
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39904
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39906
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39907
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39906
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39909
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39909, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39910
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39910, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39911
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecUpdate(cyhGraphExec, cyhGraph, <cydriver.CUgraphExecUpdateResultInfo*>resultInfo._pvt_ptr)
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39911, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_resultInfo = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":39912
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecUpdate(cyhGraphExec, cyhGraph, <cydriver.CUgraphExecUpdateResultInfo*>resultInfo._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39913
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 *     with nogil:
 *         err = cydriver.cuGraphExecUpdate(cyhGraphExec, cyhGraph, <cydriver.CUgraphExecUpdateResultInfo*>resultInfo._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecUpdate(__pyx_v_cyhGraphExec, __pyx_v_cyhGraph, ((CUgraphExecUpdateResultInfo *)__pyx_v_resultInfo->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39913, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39912
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecUpdate(cyhGraphExec, cyhGraph, <cydriver.CUgraphExecUpdateResultInfo*>resultInfo._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39914
 *     with nogil:
 *         err = cydriver.cuGraphExecUpdate(cyhGraphExec, cyhGraph, <cydriver.CUgraphExecUpdateResultInfo*>resultInfo._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resultInfo)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39915
 *         err = cydriver.cuGraphExecUpdate(cyhGraphExec, cyhGraph, <cydriver.CUgraphExecUpdateResultInfo*>resultInfo._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], resultInfo)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 39915, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 39915, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":39914
 *     with nogil:
 *         err = cydriver.cuGraphExecUpdate(cyhGraphExec, cyhGraph, <cydriver.CUgraphExecUpdateResultInfo*>resultInfo._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resultInfo)
*/
  }

  /* "cuda/bindings/driver.pyx":39916
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resultInfo)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 39916, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resultInfo);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resultInfo);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_resultInfo)) != (0)) __PYX_ERR(0, 39916, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39741
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecUpdate(hGraphExec, hGraph):
 *     """ Check whether an executable graph can be updated with a graph and perform the update if possible.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecUpdate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XDECREF((PyObject *)__pyx_v_resultInfo);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39918
 *     return (_dict_CUresult[err], resultInfo)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeCopyAttributes(dst, src):
 *     """ Copies attributes from source node to destination node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_701cuGraphKernelNodeCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_700cuGraphKernelNodeCopyAttributes, "cuGraphKernelNodeCopyAttributes(dst, src)\n\nCopies attributes from source node to destination node.\n\nCopies attributes from source node `src` to destination node `dst`.\nBoth node must have the same context.\n\nParameters\n----------\ndst : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Destination node\nsrc : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Source node For list of attributes see\n    :py:obj:`~.CUkernelNodeAttrID`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.CUaccessPolicyWindow`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_701cuGraphKernelNodeCopyAttributes = {"cuGraphKernelNodeCopyAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_701cuGraphKernelNodeCopyAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_700cuGraphKernelNodeCopyAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_701cuGraphKernelNodeCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphKernelNodeCopyAttributes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dst_2,&__pyx_mstate_global->__pyx_n_u_src_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39918, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39918, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39918, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphKernelNodeCopyAttributes", 0) < (0)) __PYX_ERR(0, 39918, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeCopyAttributes", 1, 2, 2, i); __PYX_ERR(0, 39918, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39918, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39918, __pyx_L3_error)
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeCopyAttributes", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 39918, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_700cuGraphKernelNodeCopyAttributes(__pyx_self, __pyx_v_dst, __pyx_v_src);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_700cuGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
  CUgraphNode __pyx_v_cysrc;
  PyObject *__pyx_v_psrc = NULL;
  CUgraphNode __pyx_v_cydst;
  PyObject *__pyx_v_pdst = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphKernelNodeCopyAttributes", 0);

  /* "cuda/bindings/driver.pyx":39943
 *     """
 *     cdef cydriver.CUgraphNode cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_src == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39944
 *     cdef cydriver.CUgraphNode cysrc
 *     if src is None:
 *         psrc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (CUgraphNode,)):
 *         psrc = int(src)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39943
 *     """
 *     cdef cydriver.CUgraphNode cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39945
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39946
 *         psrc = 0
 *     elif isinstance(src, (CUgraphNode,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUgraphNode(src))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39945
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39948
 *         psrc = int(src)
 *     else:
 *         psrc = int(CUgraphNode(src))             # <<<<<<<<<<<<<<
 *     cysrc = <cydriver.CUgraphNode><void_ptr>psrc
 *     cdef cydriver.CUgraphNode cydst
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_src};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39948, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39949
 *     else:
 *         psrc = int(CUgraphNode(src))
 *     cysrc = <cydriver.CUgraphNode><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cydst
 *     if dst is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39949, __pyx_L1_error)
  __pyx_v_cysrc = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39951
 *     cysrc = <cydriver.CUgraphNode><void_ptr>psrc
 *     cdef cydriver.CUgraphNode cydst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         pdst = 0
 *     elif isinstance(dst, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39952
 *     cdef cydriver.CUgraphNode cydst
 *     if dst is None:
 *         pdst = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (CUgraphNode,)):
 *         pdst = int(dst)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdst = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39951
 *     cysrc = <cydriver.CUgraphNode><void_ptr>psrc
 *     cdef cydriver.CUgraphNode cydst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         pdst = 0
 *     elif isinstance(dst, (CUgraphNode,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39953
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39954
 *         pdst = 0
 *     elif isinstance(dst, (CUgraphNode,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUgraphNode(dst))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdst = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":39953
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39956
 *         pdst = int(dst)
 *     else:
 *         pdst = int(CUgraphNode(dst))             # <<<<<<<<<<<<<<
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dst};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39956, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39957
 *     else:
 *         pdst = int(CUgraphNode(dst))
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39957, __pyx_L1_error)
  __pyx_v_cydst = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39958
 *         pdst = int(CUgraphNode(dst))
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39959
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeCopyAttributes(__pyx_v_cydst, __pyx_v_cysrc); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39959, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39958
 *         pdst = int(CUgraphNode(dst))
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39960
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 39960, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39918
 *     return (_dict_CUresult[err], resultInfo)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeCopyAttributes(dst, src):
 *     """ Copies attributes from source node to destination node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrc);
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":39962
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetAttribute(hNode, attr not None : CUkernelNodeAttrID):
 *     """ Queries node attribute.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_703cuGraphKernelNodeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_702cuGraphKernelNodeGetAttribute, "cuGraphKernelNodeGetAttribute(hNode, attr: CUkernelNodeAttrID)\n\nQueries node attribute.\n\nQueries attribute `attr` from node `hNode` and stores it in\ncorresponding member of `value_out`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n\nattr : :py:obj:`~.CUkernelNodeAttrID`\n\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\nvalue_out : :py:obj:`~.CUkernelNodeAttrValue`\n\n\nSee Also\n--------\n:py:obj:`~.CUaccessPolicyWindow`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_703cuGraphKernelNodeGetAttribute = {"cuGraphKernelNodeGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_703cuGraphKernelNodeGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_702cuGraphKernelNodeGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_703cuGraphKernelNodeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_attr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphKernelNodeGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_attr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39962, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39962, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39962, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphKernelNodeGetAttribute", 0) < (0)) __PYX_ERR(0, 39962, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeGetAttribute", 1, 2, 2, i); __PYX_ERR(0, 39962, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39962, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39962, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_attr = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeGetAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 39962, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 39963, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_702cuGraphKernelNodeGetAttribute(__pyx_self, __pyx_v_hNode, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_702cuGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUkernelNodeAttrID __pyx_v_cyattr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue *__pyx_v_value_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUkernelNodeAttrID __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphKernelNodeGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":39988
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39989
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":39988
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39990
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":39991
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39990
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39993
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39993, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39994
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39994, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":39995
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 39995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":39996
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeGetAttribute(cyhNode, cyattr, <cydriver.CUkernelNodeAttrValue*>value_out._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39996, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":39997
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeGetAttribute(cyhNode, cyattr, <cydriver.CUkernelNodeAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39998
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeGetAttribute(cyhNode, cyattr, <cydriver.CUkernelNodeAttrValue*>value_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeGetAttribute(__pyx_v_cyhNode, __pyx_v_cyattr, ((CUkernelNodeAttrValue *)__pyx_v_value_out->__pyx_base.__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39998, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":39997
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeGetAttribute(cyhNode, cyattr, <cydriver.CUkernelNodeAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":39999
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeGetAttribute(cyhNode, cyattr, <cydriver.CUkernelNodeAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40000
 *         err = cydriver.cuGraphKernelNodeGetAttribute(cyhNode, cyattr, <cydriver.CUkernelNodeAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], value_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 40000, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 40000, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":39999
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeGetAttribute(cyhNode, cyattr, <cydriver.CUkernelNodeAttrValue*>value_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value_out)
*/
  }

  /* "cuda/bindings/driver.pyx":40001
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 40001, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_value_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_value_out)) != (0)) __PYX_ERR(0, 40001, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39962
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetAttribute(hNode, attr not None : CUkernelNodeAttrID):
 *     """ Queries node attribute.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_value_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40003
 *     return (_dict_CUresult[err], value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetAttribute(hNode, attr not None : CUkernelNodeAttrID, value : Optional[CUkernelNodeAttrValue]):
 *     """ Sets node attribute.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_705cuGraphKernelNodeSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_704cuGraphKernelNodeSetAttribute, "cuGraphKernelNodeSetAttribute(hNode, attr: CUkernelNodeAttrID, CUkernelNodeAttrValue value: Optional[CUkernelNodeAttrValue])\n\nSets node attribute.\n\nSets attribute `attr` on node `hNode` from corresponding attribute of\n`value`.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n\nattr : :py:obj:`~.CUkernelNodeAttrID`\n\nvalue : :py:obj:`~.CUkernelNodeAttrValue`\n\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\nSee Also\n--------\n:py:obj:`~.CUaccessPolicyWindow`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_705cuGraphKernelNodeSetAttribute = {"cuGraphKernelNodeSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_705cuGraphKernelNodeSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_704cuGraphKernelNodeSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_705cuGraphKernelNodeSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_attr = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphKernelNodeSetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_attr,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40003, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40003, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40003, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40003, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphKernelNodeSetAttribute", 0) < (0)) __PYX_ERR(0, 40003, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetAttribute", 1, 3, 3, i); __PYX_ERR(0, 40003, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40003, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40003, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40003, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40003, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 40004, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue, 1, "value", 0))) __PYX_ERR(0, 40004, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_704cuGraphKernelNodeSetAttribute(__pyx_self, __pyx_v_hNode, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_704cuGraphKernelNodeSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue *__pyx_v_value) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUkernelNodeAttrID __pyx_v_cyattr;
  CUkernelNodeAttrValue *__pyx_v_cyvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUkernelNodeAttrID __pyx_t_7;
  union CUlaunchAttributeValue_union *__pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphKernelNodeSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":40029
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40030
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40029
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40031
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40032
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40031
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40034
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40034, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40035
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef cydriver.CUkernelNodeAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40035, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40036
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernelNodeAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
 *     with nogil:
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 40036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyattr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":40037
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef cydriver.CUkernelNodeAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeSetAttribute(cyhNode, cyattr, cyvalue_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_value) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_8 = __pyx_v_value->__pyx_base.__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_8 = NULL;
  }
  __pyx_v_cyvalue_ptr = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":40038
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef cydriver.CUkernelNodeAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeSetAttribute(cyhNode, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40039
 *     cdef cydriver.CUkernelNodeAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeSetAttribute(cyhNode, cyattr, cyvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeSetAttribute(__pyx_v_cyhNode, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40039, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":40038
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef cydriver.CUkernelNodeAttrValue* cyvalue_ptr = value._pvt_ptr if value is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeSetAttribute(cyhNode, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40040
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeSetAttribute(cyhNode, cyattr, cyvalue_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40040, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40003
 *     return (_dict_CUresult[err], value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetAttribute(hNode, attr not None : CUkernelNodeAttrID, value : Optional[CUkernelNodeAttrValue]):
 *     """ Sets node attribute.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphKernelNodeSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40042
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDebugDotPrint(hGraph, char* path, unsigned int flags):
 *     """ Write a DOT file describing graph structure.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_707cuGraphDebugDotPrint(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_706cuGraphDebugDotPrint, "cuGraphDebugDotPrint(hGraph, char *path, unsigned int flags)\n\nWrite a DOT file describing graph structure.\n\nUsing the provided `hGraph`, write to `path` a DOT formatted\ndescription of the graph. By default this includes the graph topology,\nnode types, node id, kernel names and memcpy direction. `flags` can be\nspecified to write more detailed information about each node type such\nas parameter values, kernel attributes, node and function handles.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    The graph to create a DOT file from\npath : bytes\n    The path to write the DOT file to\nflags : unsigned int\n    Flags from CUgraphDebugDot_flags for specifying which additional\n    node information to write\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OPERATING_SYSTEM`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_707cuGraphDebugDotPrint = {"cuGraphDebugDotPrint", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_707cuGraphDebugDotPrint, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_706cuGraphDebugDotPrint};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_707cuGraphDebugDotPrint(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  char *__pyx_v_path;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphDebugDotPrint (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_path,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40042, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40042, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphDebugDotPrint", 0) < (0)) __PYX_ERR(0, 40042, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphDebugDotPrint", 1, 3, 3, i); __PYX_ERR(0, 40042, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40042, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40042, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40042, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_path = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) __PYX_ERR(0, 40043, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40043, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphDebugDotPrint", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40042, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphDebugDotPrint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_706cuGraphDebugDotPrint(__pyx_self, __pyx_v_hGraph, __pyx_v_path, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_706cuGraphDebugDotPrint(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, char *__pyx_v_path, unsigned int __pyx_v_flags) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphDebugDotPrint", 0);

  /* "cuda/bindings/driver.pyx":40068
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40069
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40068
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40070
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40071
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40070
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40073
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40073, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40073, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40074
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphDebugDotPrint(cyhGraph, path, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40074, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40075
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphDebugDotPrint(cyhGraph, path, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40076
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:
 *         err = cydriver.cuGraphDebugDotPrint(cyhGraph, path, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphDebugDotPrint(__pyx_v_cyhGraph, __pyx_v_path, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40076, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40075
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphDebugDotPrint(cyhGraph, path, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40077
 *     with nogil:
 *         err = cydriver.cuGraphDebugDotPrint(cyhGraph, path, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40077, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40042
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDebugDotPrint(hGraph, char* path, unsigned int flags):
 *     """ Write a DOT file describing graph structure.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphDebugDotPrint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40079
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):
 *     """ Create a user object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_709cuUserObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_708cuUserObjectCreate, "cuUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags)\n\nCreate a user object.\n\nCreate a user object with the specified destructor callback and initial\nreference count. The initial references are owned by the caller.\n\nDestructor callbacks cannot make CUDA API calls and should avoid\nblocking behavior, as they are executed by a shared internal thread.\nAnother thread may be signaled to perform such actions, if it does not\nblock forward progress of tasks scheduled through CUDA.\n\nSee CUDA User Objects in the CUDA C++ Programming Guide for more\ninformation on user objects.\n\nParameters\n----------\nptr : Any\n    The pointer to pass to the destroy function\ndestroy : :py:obj:`~.CUhostFn`\n    Callback to free the user object when it is no longer in use\ninitialRefcount : unsigned int\n    The initial refcount to create the object with, typically 1. The\n    initial references are owned by the calling thread.\nflags : unsigned int\n    Currently it is required to pass\n    :py:obj:`~.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC`, which is the only\n    defined flag. This indicates that the destroy callback cannot be\n    waited on by any CUDA API. Users requiring synchronization of the\n    callback should signal its completion manually.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nobject_out : :py:obj:`~.CUuserObject`\n    Location to return the user object handle\n\nSee Also\n--------\n:py:obj:`~.cuUserObjectRetain`, :py:obj:`~.cuUserObjectRelease`, :py:obj:`~.cuGraphRetainUserObject`, :py:obj:`~.cuGraphReleaseUserObject`, :py:obj:`~.cuGraphCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_709cuUserObjectCreate = {"cuUserObjectCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_709cuUserObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_708cuUserObjectCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_709cuUserObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ptr = 0;
  PyObject *__pyx_v_destroy = 0;
  unsigned int __pyx_v_initialRefcount;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuUserObjectCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ptr,&__pyx_mstate_global->__pyx_n_u_destroy,&__pyx_mstate_global->__pyx_n_u_initialRefcount,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40079, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40079, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40079, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40079, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40079, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuUserObjectCreate", 0) < (0)) __PYX_ERR(0, 40079, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuUserObjectCreate", 1, 4, 4, i); __PYX_ERR(0, 40079, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40079, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40079, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40079, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40079, __pyx_L3_error)
    }
    __pyx_v_ptr = values[0];
    __pyx_v_destroy = values[1];
    __pyx_v_initialRefcount = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_initialRefcount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40080, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40080, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectCreate", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40079, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuUserObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_708cuUserObjectCreate(__pyx_self, __pyx_v_ptr, __pyx_v_destroy, __pyx_v_initialRefcount, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_708cuUserObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, PyObject *__pyx_v_destroy, unsigned int __pyx_v_initialRefcount, unsigned int __pyx_v_flags) {
  CUhostFn __pyx_v_cydestroy;
  PyObject *__pyx_v_pdestroy = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_object_out = 0;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyptr = NULL;
  void *__pyx_v_cyptr_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuUserObjectCreate", 0);

  /* "cuda/bindings/driver.pyx":40122
 *     """
 *     cdef cydriver.CUhostFn cydestroy
 *     if destroy is None:             # <<<<<<<<<<<<<<
 *         pdestroy = 0
 *     elif isinstance(destroy, (CUhostFn,)):
*/
  __pyx_t_1 = (__pyx_v_destroy == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40123
 *     cdef cydriver.CUhostFn cydestroy
 *     if destroy is None:
 *         pdestroy = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(destroy, (CUhostFn,)):
 *         pdestroy = int(destroy)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdestroy = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40122
 *     """
 *     cdef cydriver.CUhostFn cydestroy
 *     if destroy is None:             # <<<<<<<<<<<<<<
 *         pdestroy = 0
 *     elif isinstance(destroy, (CUhostFn,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40124
 *     if destroy is None:
 *         pdestroy = 0
 *     elif isinstance(destroy, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pdestroy = int(destroy)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_destroy, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40125
 *         pdestroy = 0
 *     elif isinstance(destroy, (CUhostFn,)):
 *         pdestroy = int(destroy)             # <<<<<<<<<<<<<<
 *     else:
 *         pdestroy = int(CUhostFn(destroy))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_destroy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdestroy = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40124
 *     if destroy is None:
 *         pdestroy = 0
 *     elif isinstance(destroy, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pdestroy = int(destroy)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40127
 *         pdestroy = int(destroy)
 *     else:
 *         pdestroy = int(CUhostFn(destroy))             # <<<<<<<<<<<<<<
 *     cydestroy = <cydriver.CUhostFn><void_ptr>pdestroy
 *     cdef CUuserObject object_out = CUuserObject()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_destroy};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40127, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdestroy = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40128
 *     else:
 *         pdestroy = int(CUhostFn(destroy))
 *     cydestroy = <cydriver.CUhostFn><void_ptr>pdestroy             # <<<<<<<<<<<<<<
 *     cdef CUuserObject object_out = CUuserObject()
 *     cyptr = _HelperInputVoidPtr(ptr)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdestroy); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40128, __pyx_L1_error)
  __pyx_v_cydestroy = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40129
 *         pdestroy = int(CUhostFn(destroy))
 *     cydestroy = <cydriver.CUhostFn><void_ptr>pdestroy
 *     cdef CUuserObject object_out = CUuserObject()             # <<<<<<<<<<<<<<
 *     cyptr = _HelperInputVoidPtr(ptr)
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40129, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_object_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":40130
 *     cydestroy = <cydriver.CUhostFn><void_ptr>pdestroy
 *     cdef CUuserObject object_out = CUuserObject()
 *     cyptr = _HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
 *     with nogil:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40130, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyptr = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":40131
 *     cdef CUuserObject object_out = CUuserObject()
 *     cyptr = _HelperInputVoidPtr(ptr)
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuUserObjectCreate(<cydriver.CUuserObject*>object_out._pvt_ptr, cyptr_ptr, cydestroy, initialRefcount, flags)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyptr), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyptr_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40132
 *     cyptr = _HelperInputVoidPtr(ptr)
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuUserObjectCreate(<cydriver.CUuserObject*>object_out._pvt_ptr, cyptr_ptr, cydestroy, initialRefcount, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40133
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
 *     with nogil:
 *         err = cydriver.cuUserObjectCreate(<cydriver.CUuserObject*>object_out._pvt_ptr, cyptr_ptr, cydestroy, initialRefcount, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuUserObjectCreate(((CUuserObject *)__pyx_v_object_out->_pvt_ptr), __pyx_v_cyptr_ptr, __pyx_v_cydestroy, __pyx_v_initialRefcount, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40133, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40132
 *     cyptr = _HelperInputVoidPtr(ptr)
 *     cdef void* cyptr_ptr = <void*><void_ptr>cyptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuUserObjectCreate(<cydriver.CUuserObject*>object_out._pvt_ptr, cyptr_ptr, cydestroy, initialRefcount, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40134
 *     with nogil:
 *         err = cydriver.cuUserObjectCreate(<cydriver.CUuserObject*>object_out._pvt_ptr, cyptr_ptr, cydestroy, initialRefcount, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], object_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40135
 *         err = cydriver.cuUserObjectCreate(<cydriver.CUuserObject*>object_out._pvt_ptr, cyptr_ptr, cydestroy, initialRefcount, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], object_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40135, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 40135, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40134
 *     with nogil:
 *         err = cydriver.cuUserObjectCreate(<cydriver.CUuserObject*>object_out._pvt_ptr, cyptr_ptr, cydestroy, initialRefcount, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], object_out)
*/
  }

  /* "cuda/bindings/driver.pyx":40136
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], object_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 40136, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_object_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_object_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_object_out)) != (0)) __PYX_ERR(0, 40136, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40079
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):
 *     """ Create a user object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuUserObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdestroy);
  __Pyx_XDECREF((PyObject *)__pyx_v_object_out);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40138
 *     return (_dict_CUresult[err], object_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRetain(object, unsigned int count):
 *     """ Retain a reference to a user object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_711cuUserObjectRetain(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_710cuUserObjectRetain, "cuUserObjectRetain(object, unsigned int count)\n\nRetain a reference to a user object.\n\nRetains new references to a user object. The new references are owned\nby the caller.\n\nSee CUDA User Objects in the CUDA C++ Programming Guide for more\ninformation on user objects.\n\nParameters\n----------\nobject : :py:obj:`~.CUuserObject`\n    The object to retain\ncount : unsigned int\n    The number of references to retain, typically 1. Must be nonzero\n    and not larger than INT_MAX.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuUserObjectCreate`, :py:obj:`~.cuUserObjectRelease`, :py:obj:`~.cuGraphRetainUserObject`, :py:obj:`~.cuGraphReleaseUserObject`, :py:obj:`~.cuGraphCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_711cuUserObjectRetain = {"cuUserObjectRetain", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_711cuUserObjectRetain, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_710cuUserObjectRetain};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_711cuUserObjectRetain(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_object = 0;
  unsigned int __pyx_v_count;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuUserObjectRetain (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_object,&__pyx_mstate_global->__pyx_n_u_count_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40138, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40138, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40138, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuUserObjectRetain", 0) < (0)) __PYX_ERR(0, 40138, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuUserObjectRetain", 1, 2, 2, i); __PYX_ERR(0, 40138, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40138, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40138, __pyx_L3_error)
    }
    __pyx_v_object = values[0];
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40139, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectRetain", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 40138, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuUserObjectRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_710cuUserObjectRetain(__pyx_self, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_710cuUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  CUuserObject __pyx_v_cyobject;
  PyObject *__pyx_v_pobject = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuUserObjectRetain", 0);

  /* "cuda/bindings/driver.pyx":40166
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
  __pyx_t_1 = (__pyx_v_object == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40167
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:
 *         pobject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pobject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40166
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40168
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40169
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(CUuserObject(object))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40168
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40171
 *         pobject = int(object)
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_object};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40171, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40172
 *     else:
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuUserObjectRetain(cyobject, count)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40172, __pyx_L1_error)
  __pyx_v_cyobject = ((CUuserObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40173
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuUserObjectRetain(cyobject, count)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40174
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:
 *         err = cydriver.cuUserObjectRetain(cyobject, count)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuUserObjectRetain(__pyx_v_cyobject, __pyx_v_count); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40174, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40173
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuUserObjectRetain(cyobject, count)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40175
 *     with nogil:
 *         err = cydriver.cuUserObjectRetain(cyobject, count)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40175, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40138
 *     return (_dict_CUresult[err], object_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRetain(object, unsigned int count):
 *     """ Retain a reference to a user object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuUserObjectRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pobject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40177
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRelease(object, unsigned int count):
 *     """ Release a reference to a user object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_713cuUserObjectRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_712cuUserObjectRelease, "cuUserObjectRelease(object, unsigned int count)\n\nRelease a reference to a user object.\n\nReleases user object references owned by the caller. The object's\ndestructor is invoked if the reference count reaches zero.\n\nIt is undefined behavior to release references not owned by the caller,\nor to use a user object handle after all references are released.\n\nSee CUDA User Objects in the CUDA C++ Programming Guide for more\ninformation on user objects.\n\nParameters\n----------\nobject : :py:obj:`~.CUuserObject`\n    The object to release\ncount : unsigned int\n    The number of references to release, typically 1. Must be nonzero\n    and not larger than INT_MAX.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuUserObjectCreate`, :py:obj:`~.cuUserObjectRetain`, :py:obj:`~.cuGraphRetainUserObject`, :py:obj:`~.cuGraphReleaseUserObject`, :py:obj:`~.cuGraphCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_713cuUserObjectRelease = {"cuUserObjectRelease", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_713cuUserObjectRelease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_712cuUserObjectRelease};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_713cuUserObjectRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_object = 0;
  unsigned int __pyx_v_count;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuUserObjectRelease (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_object,&__pyx_mstate_global->__pyx_n_u_count_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40177, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40177, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40177, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuUserObjectRelease", 0) < (0)) __PYX_ERR(0, 40177, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuUserObjectRelease", 1, 2, 2, i); __PYX_ERR(0, 40177, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40177, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40177, __pyx_L3_error)
    }
    __pyx_v_object = values[0];
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40178, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectRelease", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 40177, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuUserObjectRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_712cuUserObjectRelease(__pyx_self, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_712cuUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  CUuserObject __pyx_v_cyobject;
  PyObject *__pyx_v_pobject = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuUserObjectRelease", 0);

  /* "cuda/bindings/driver.pyx":40208
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
  __pyx_t_1 = (__pyx_v_object == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40209
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:
 *         pobject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pobject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40208
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40210
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40211
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(CUuserObject(object))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40210
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40213
 *         pobject = int(object)
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_object};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40213, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40214
 *     else:
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuUserObjectRelease(cyobject, count)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40214, __pyx_L1_error)
  __pyx_v_cyobject = ((CUuserObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40215
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuUserObjectRelease(cyobject, count)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40216
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:
 *         err = cydriver.cuUserObjectRelease(cyobject, count)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuUserObjectRelease(__pyx_v_cyobject, __pyx_v_count); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40216, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40215
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuUserObjectRelease(cyobject, count)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40217
 *     with nogil:
 *         err = cydriver.cuUserObjectRelease(cyobject, count)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40217, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40177
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRelease(object, unsigned int count):
 *     """ Release a reference to a user object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuUserObjectRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pobject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40219
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags):
 *     """ Retain a reference to a user object from a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_715cuGraphRetainUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_714cuGraphRetainUserObject, "cuGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags)\n\nRetain a reference to a user object from a graph.\n\nCreates or moves user object references that will be owned by a CUDA\ngraph.\n\nSee CUDA User Objects in the CUDA C++ Programming Guide for more\ninformation on user objects.\n\nParameters\n----------\ngraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    The graph to associate the reference with\nobject : :py:obj:`~.CUuserObject`\n    The user object to retain a reference for\ncount : unsigned int\n    The number of references to add to the graph, typically 1. Must be\n    nonzero and not larger than INT_MAX.\nflags : unsigned int\n    The optional flag :py:obj:`~.CU_GRAPH_USER_OBJECT_MOVE` transfers\n    references from the calling thread, rather than create new\n    references. Pass 0 to create new references.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuUserObjectCreate`, :py:obj:`~.cuUserObjectRetain`, :py:obj:`~.cuUserObjectRelease`, :py:obj:`~.cuGraphReleaseUserObject`, :py:obj:`~.cuGraphCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_715cuGraphRetainUserObject = {"cuGraphRetainUserObject", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_715cuGraphRetainUserObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_714cuGraphRetainUserObject};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_715cuGraphRetainUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_object = 0;
  unsigned int __pyx_v_count;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphRetainUserObject (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_graph_2,&__pyx_mstate_global->__pyx_n_u_object,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40219, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40219, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40219, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40219, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40219, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphRetainUserObject", 0) < (0)) __PYX_ERR(0, 40219, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphRetainUserObject", 1, 4, 4, i); __PYX_ERR(0, 40219, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40219, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40219, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40219, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40219, __pyx_L3_error)
    }
    __pyx_v_graph = values[0];
    __pyx_v_object = values[1];
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40220, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40220, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphRetainUserObject", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40219, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRetainUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_714cuGraphRetainUserObject(__pyx_self, __pyx_v_graph, __pyx_v_object, __pyx_v_count, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_714cuGraphRetainUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count, unsigned int __pyx_v_flags) {
  CUuserObject __pyx_v_cyobject;
  PyObject *__pyx_v_pobject = NULL;
  CUgraph __pyx_v_cygraph;
  PyObject *__pyx_v_pgraph = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphRetainUserObject", 0);

  /* "cuda/bindings/driver.pyx":40253
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
  __pyx_t_1 = (__pyx_v_object == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40254
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:
 *         pobject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pobject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40253
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40255
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40256
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(CUuserObject(object))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40255
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40258
 *         pobject = int(object)
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     cdef cydriver.CUgraph cygraph
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_object};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40258, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40259
 *     else:
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40259, __pyx_L1_error)
  __pyx_v_cyobject = ((CUuserObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40261
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40262
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:
 *         pgraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pgraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40261
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40263
 *     if graph is None:
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40264
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(CUgraph(graph))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":40263
 *     if graph is None:
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40266
 *         pgraph = int(graph)
 *     else:
 *         pgraph = int(CUgraph(graph))             # <<<<<<<<<<<<<<
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_graph};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40266, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40267
 *     else:
 *         pgraph = int(CUgraph(graph))
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphRetainUserObject(cygraph, cyobject, count, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40267, __pyx_L1_error)
  __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40268
 *         pgraph = int(CUgraph(graph))
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphRetainUserObject(cygraph, cyobject, count, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40269
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:
 *         err = cydriver.cuGraphRetainUserObject(cygraph, cyobject, count, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphRetainUserObject(__pyx_v_cygraph, __pyx_v_cyobject, __pyx_v_count, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40269, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40268
 *         pgraph = int(CUgraph(graph))
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphRetainUserObject(cygraph, cyobject, count, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40270
 *     with nogil:
 *         err = cydriver.cuGraphRetainUserObject(cygraph, cyobject, count, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 40270, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40219
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags):
 *     """ Retain a reference to a user object from a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphRetainUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pobject);
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40272
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphReleaseUserObject(graph, object, unsigned int count):
 *     """ Release a user object reference from a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_717cuGraphReleaseUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_716cuGraphReleaseUserObject, "cuGraphReleaseUserObject(graph, object, unsigned int count)\n\nRelease a user object reference from a graph.\n\nReleases user object references owned by a graph.\n\nSee CUDA User Objects in the CUDA C++ Programming Guide for more\ninformation on user objects.\n\nParameters\n----------\ngraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    The graph that will release the reference\nobject : :py:obj:`~.CUuserObject`\n    The user object to release a reference for\ncount : unsigned int\n    The number of references to release, typically 1. Must be nonzero\n    and not larger than INT_MAX.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuUserObjectCreate`, :py:obj:`~.cuUserObjectRetain`, :py:obj:`~.cuUserObjectRelease`, :py:obj:`~.cuGraphRetainUserObject`, :py:obj:`~.cuGraphCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_717cuGraphReleaseUserObject = {"cuGraphReleaseUserObject", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_717cuGraphReleaseUserObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_716cuGraphReleaseUserObject};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_717cuGraphReleaseUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_object = 0;
  unsigned int __pyx_v_count;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphReleaseUserObject (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_graph_2,&__pyx_mstate_global->__pyx_n_u_object,&__pyx_mstate_global->__pyx_n_u_count_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40272, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40272, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40272, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40272, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphReleaseUserObject", 0) < (0)) __PYX_ERR(0, 40272, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphReleaseUserObject", 1, 3, 3, i); __PYX_ERR(0, 40272, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40272, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40272, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40272, __pyx_L3_error)
    }
    __pyx_v_graph = values[0];
    __pyx_v_object = values[1];
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40273, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphReleaseUserObject", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40272, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphReleaseUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_716cuGraphReleaseUserObject(__pyx_self, __pyx_v_graph, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_716cuGraphReleaseUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  CUuserObject __pyx_v_cyobject;
  PyObject *__pyx_v_pobject = NULL;
  CUgraph __pyx_v_cygraph;
  PyObject *__pyx_v_pgraph = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphReleaseUserObject", 0);

  /* "cuda/bindings/driver.pyx":40301
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
  __pyx_t_1 = (__pyx_v_object == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40302
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:
 *         pobject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pobject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40301
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40303
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40304
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(CUuserObject(object))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40303
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40306
 *         pobject = int(object)
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     cdef cydriver.CUgraph cygraph
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_object};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40306, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40307
 *     else:
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40307, __pyx_L1_error)
  __pyx_v_cyobject = ((CUuserObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40309
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40310
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:
 *         pgraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pgraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40309
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40311
 *     if graph is None:
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40312
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(CUgraph(graph))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":40311
 *     if graph is None:
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40314
 *         pgraph = int(graph)
 *     else:
 *         pgraph = int(CUgraph(graph))             # <<<<<<<<<<<<<<
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_graph};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40314, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40315
 *     else:
 *         pgraph = int(CUgraph(graph))
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphReleaseUserObject(cygraph, cyobject, count)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40315, __pyx_L1_error)
  __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40316
 *         pgraph = int(CUgraph(graph))
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphReleaseUserObject(cygraph, cyobject, count)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40317
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:
 *         err = cydriver.cuGraphReleaseUserObject(cygraph, cyobject, count)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphReleaseUserObject(__pyx_v_cygraph, __pyx_v_cyobject, __pyx_v_count); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40317, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40316
 *         pgraph = int(CUgraph(graph))
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphReleaseUserObject(cygraph, cyobject, count)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40318
 *     with nogil:
 *         err = cydriver.cuGraphReleaseUserObject(cygraph, cyobject, count)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 40318, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40272
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphReleaseUserObject(graph, object, unsigned int count):
 *     """ Release a user object reference from a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphReleaseUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pobject);
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40320
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_719cuGraphAddNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_718cuGraphAddNode, "cuGraphAddNode(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, CUgraphNodeParams nodeParams: Optional[CUgraphNodeParams])\n\nAdds a node of arbitrary type to a graph.\n\nCreates a new node in `hGraph` described by `nodeParams` with\n`numDependencies` dependencies specified via `dependencies`.\n`numDependencies` may be 0. `dependencies` may be null if\n`numDependencies` is 0. `dependencies` may not have any duplicate\nentries.\n\n`nodeParams` is a tagged union. The node type should be specified in\nthe `typename` field, and type-specific parameters in the corresponding\nunion member. All unused bytes - that is, `reserved0` and all bytes\npast the utilized union member - must be set to zero. It is recommended\nto use brace initialization or memset to ensure all bytes are\ninitialized.\n\nNote that for some node types, `nodeParams` may contain \"out\nparameters\" which are modified during the call, such as\n`nodeParams->alloc.dptr`.\n\nA handle to the new node will be returned in `phGraphNode`.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\nnumDependencies : size_t\n    Number of dependencies\nnodeParams : :py:obj:`~.CUgraphNodeParams`\n    Specification of the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphExecNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_719cuGraphAddNode = {"cuGraphAddNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_719cuGraphAddNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_718cuGraphAddNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_719cuGraphAddNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40320, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40320, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40320, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40320, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40320, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddNode", 0) < (0)) __PYX_ERR(0, 40320, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddNode", 1, 4, 4, i); __PYX_ERR(0, 40320, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40320, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40320, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40320, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40320, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 40321, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40320, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 40321, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_718cuGraphAddNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuGraphAddNode_2generator169(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":40366
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_14cuGraphAddNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 40366, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_14cuGraphAddNode_2generator169, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[169]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddNode_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 40366, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuGraphAddNode_2generator169(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 40366, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 40366, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40366, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40366, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 40366, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 40366, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40366, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 40366, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40320
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_718cuGraphAddNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUgraphNodeParams *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuGraphAddNode_2generator169 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUgraphNodeParams_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddNode", 0);
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/bindings/driver.pyx":40365
 *     :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphExecNodeSetParams`
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_2 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_1 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":40366
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_14cuGraphAddNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 40366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":40367
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 40367, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":40366
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":40369
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":40370
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40369
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40371
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":40372
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40371
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40374
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40374, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40375
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40375, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":40376
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40376, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":40377
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":40378
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40378, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":40379
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40379, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":40380
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":40381
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40381, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40381, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 40381, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":40380
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":40383
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40383, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":40384
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40384, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":40378
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":40385
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40385, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":40386
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":40385
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":40387
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40387, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_9 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40387, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40387, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 40387, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":40388
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_4 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_4) {
    __pyx_t_14 = __pyx_v_nodeParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_14 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":40389
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40390
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddNode(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40390, __pyx_L11_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":40389
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":40391
 *     with nogil:
 *         err = cydriver.cuGraphAddNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40391, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cydependencies != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":40392
 *         err = cydriver.cuGraphAddNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":40391
 *     with nogil:
 *         err = cydriver.cuGraphAddNode(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":40393
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":40394
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 40394, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, Py_None) != (0)) __PYX_ERR(0, 40394, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40393
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":40395
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 40395, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 40395, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40320
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_14cuGraphAddNode_2generator169);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40397
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_721cuGraphAddNode_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_720cuGraphAddNode_v2, "cuGraphAddNode_v2(hGraph, dependencies: Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData: Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, CUgraphNodeParams nodeParams: Optional[CUgraphNodeParams])\n\nAdds a node of arbitrary type to a graph (12.3+)\n\nCreates a new node in `hGraph` described by `nodeParams` with\n`numDependencies` dependencies specified via `dependencies`.\n`numDependencies` may be 0. `dependencies` may be null if\n`numDependencies` is 0. `dependencies` may not have any duplicate\nentries.\n\n`nodeParams` is a tagged union. The node type should be specified in\nthe `typename` field, and type-specific parameters in the corresponding\nunion member. All unused bytes - that is, `reserved0` and all bytes\npast the utilized union member - must be set to zero. It is recommended\nto use brace initialization or memset to ensure all bytes are\ninitialized.\n\nNote that for some node types, `nodeParams` may contain \"out\nparameters\" which are modified during the call, such as\n`nodeParams->alloc.dptr`.\n\nA handle to the new node will be returned in `phGraphNode`.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to which to add the node\ndependencies : list[:py:obj:`~.CUgraphNode`]\n    Dependencies of the node\ndependencyData : list[:py:obj:`~.CUgraphEdgeData`]\n    Optional edge data for the dependencies. If NULL, the data is\n    assumed to be default (zeroed) for all dependencies.\nnumDependencies : size_t\n    Number of dependencies\nnodeParams : :py:obj:`~.CUgraphNodeParams`\n    Specification of the node\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nphGraphNode : :py:obj:`~.CUgraphNode`\n    Returns newly created node\n\nSee Also\n--------\n:py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphExecNodeSet""Params`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_721cuGraphAddNode_v2 = {"cuGraphAddNode_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_721cuGraphAddNode_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_720cuGraphAddNode_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_721cuGraphAddNode_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  PyObject *__pyx_v_dependencyData = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddNode_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_dependencies,&__pyx_mstate_global->__pyx_n_u_dependencyData,&__pyx_mstate_global->__pyx_n_u_numDependencies,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40397, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 40397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphAddNode_v2", 0) < (0)) __PYX_ERR(0, 40397, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddNode_v2", 1, 5, 5, i); __PYX_ERR(0, 40397, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40397, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40397, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40397, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40397, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 40397, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_dependencyData = values[2];
    __pyx_v_numDependencies = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 40398, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *)values[4]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddNode_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 40397, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddNode_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 40398, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_720cuGraphAddNode_v2(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_dependencyData, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_2generator170(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":40446
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17cuGraphAddNode_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 40446, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_2generator170, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[170]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddNode_v2_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 40446, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddNode_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_2generator170(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 40446, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 40446, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40446, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 40446, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 40446, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40446, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 40446, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_5generator171(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":40449
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_17cuGraphAddNode_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 40449, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_5generator171, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[171]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuGraphAddNode_v2_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 40449, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddNode_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_5generator171(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 40449, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 40449, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40449, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 40449, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 40449, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40449, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 40449, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40397
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_720cuGraphAddNode_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cydependencies;
  Py_ssize_t __pyx_v_idx;
  CUgraphEdgeData *__pyx_v_cydependencyData;
  CUgraphNodeParams *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_2generator170 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_5generator171 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  struct CUgraphEdgeData_st *__pyx_t_14;
  struct CUgraphNodeParams_st *__pyx_t_15;
  CUresult __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphAddNode_v2", 0);
  __Pyx_INCREF(__pyx_v_dependencies);
  __Pyx_INCREF(__pyx_v_dependencyData);

  /* "cuda/bindings/driver.pyx":40445
 *     :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphExecNodeSetParams`
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
*/
  __pyx_t_2 = (__pyx_v_dependencyData == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencyData);
    __pyx_t_1 = __pyx_v_dependencyData;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencyData, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":40446
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_17cuGraphAddNode_v2_genexpr(NULL, __pyx_v_dependencyData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 40446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":40447
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_dependencyData_is_not_i};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40447, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 40447, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":40446
 *     """
 *     dependencyData = [] if dependencyData is None else dependencyData
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
*/
  }

  /* "cuda/bindings/driver.pyx":40448
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
*/
  __pyx_t_4 = (__pyx_v_dependencies == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_3 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":40449
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_17cuGraphAddNode_v2_3genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 40449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":40450
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40450, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 40450, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":40449
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected tuple[cydriver.CUgraphEdgeData,] or list[cydriver.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
*/
  }

  /* "cuda/bindings/driver.pyx":40452
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_2 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40453
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40452
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected tuple[cydriver.CUgraphNode,] or list[cydriver.CUgraphNode,]")
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":40454
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40455
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":40454
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":40457
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40457, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_5);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":40458
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40458, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":40459
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __pyx_t_5 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40459, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":40460
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
*/
  __pyx_v_cydependencies = NULL;

  /* "cuda/bindings/driver.pyx":40461
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40461, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40462
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40462, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_8, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":40463
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":40464
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40464, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40464, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 40464, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":40463
 *     if len(dependencies) > 1:
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":40466
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(cydriver.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
*/
    /*else*/ {
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40466, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_8;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_v_idx = __pyx_t_13;

        /* "cuda/bindings/driver.pyx":40467
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40467, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cydependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":40461
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*> calloc(len(dependencies), sizeof(cydriver.CUgraphNode))
 *         if cydependencies is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":40468
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40468, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40469
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cydependencies = ((CUgraphNode *)((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40468
 *             for idx in range(len(dependencies)):
 *                 cydependencies[idx] = <cydriver.CUgraphNode>(<CUgraphNode>dependencies[idx])._pvt_ptr[0]
 *     elif len(dependencies) == 1:             # <<<<<<<<<<<<<<
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":40470
 *     elif len(dependencies) == 1:
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
*/
  __pyx_v_cydependencyData = NULL;

  /* "cuda/bindings/driver.pyx":40471
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40471, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40472
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40472, __pyx_L1_error)
    __pyx_v_cydependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_8, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":40473
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
*/
    __pyx_t_2 = (__pyx_v_cydependencyData == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":40474
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_9 = __pyx_builtin_MemoryError; 
      __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40474, __pyx_L1_error)
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_1};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40474, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 40474, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":40473
 *     if len(dependencyData) > 1:
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
*/
    }

    /* "cuda/bindings/driver.pyx":40475
 *         if cydependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:
*/
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40475, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_8;
    for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
      __pyx_v_idx = __pyx_t_13;

      /* "cuda/bindings/driver.pyx":40476
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencyData, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cydependencyData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_3)->__pyx_base._pvt_ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":40471
 *         cydependencies = <cydriver.CUgraphNode*>(<CUgraphNode>dependencies[0])._pvt_ptr
 *     cdef cydriver.CUgraphEdgeData* cydependencyData = NULL
 *     if len(dependencyData) > 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = <cydriver.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(cydriver.CUgraphEdgeData))
 *         if cydependencyData is NULL:
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":40477
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40477, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40478
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData *)__pyx_t_3)->__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cydependencyData = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":40477
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:             # <<<<<<<<<<<<<<
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
*/
  }
  __pyx_L10:;

  /* "cuda/bindings/driver.pyx":40479
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40479, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_2)) {
    __pyx_t_9 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_1 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40479, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40479, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 40479, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":40480
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40480, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_2)) {
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_5 = __pyx_builtin_RuntimeError; 
    __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40480, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 40480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_9};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40480, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 40480, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":40481
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphAddNode_v2(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, cydependencyData, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_15 = __pyx_v_nodeParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_15 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_15;

  /* "cuda/bindings/driver.pyx":40482
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddNode_v2(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, cydependencyData, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40483
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphAddNode_v2(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, cydependencyData, numDependencies, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
*/
        __pyx_t_16 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphAddNode_v2(((CUgraphNode *)__pyx_v_phGraphNode->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cydependencies, __pyx_v_cydependencyData, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40483, __pyx_L17_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":40482
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddNode_v2(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, cydependencyData, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L18;
        }
        __pyx_L17_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L18:;
      }
  }

  /* "cuda/bindings/driver.pyx":40484
 *     with nogil:
 *         err = cydriver.cuGraphAddNode_v2(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, cydependencyData, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40484, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L20_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cydependencies != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L20_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40485
 *         err = cydriver.cuGraphAddNode_v2(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, cydependencyData, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)
*/
    free(__pyx_v_cydependencies);

    /* "cuda/bindings/driver.pyx":40484
 *     with nogil:
 *         err = cydriver.cuGraphAddNode_v2(<cydriver.CUgraphNode*>phGraphNode._pvt_ptr, cyhGraph, cydependencies, cydependencyData, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":40486
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencyData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_8 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40486, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L23_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cydependencyData != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L23_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40487
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cydependencyData);

    /* "cuda/bindings/driver.pyx":40486
 *     if len(dependencies) > 1 and cydependencies is not NULL:
 *         free(cydependencies)
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydependencyData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":40488
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40489
 *         free(cydependencyData)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phGraphNode)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_9);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 40489, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_None) != (0)) __PYX_ERR(0, 40489, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40488
 *     if len(dependencyData) > 1 and cydependencyData is not NULL:
 *         free(cydependencyData)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)
*/
  }

  /* "cuda/bindings/driver.pyx":40490
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40490, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 40490, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40397
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphAddNode_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_2generator170);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_17cuGraphAddNode_v2_5generator171);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40492
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetParams(hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_723cuGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_722cuGraphNodeSetParams, "cuGraphNodeSetParams(hNode, CUgraphNodeParams nodeParams: Optional[CUgraphNodeParams])\n\nUpdate's a graph node's parameters.\n\nSets the parameters of graph node `hNode` to `nodeParams`. The node\ntype specified by `nodeParams->type` must match the type of `hNode`.\n`nodeParams` must be fully initialized and all unused bytes (reserved,\npadding) zeroed.\n\nModifying parameters is not supported for node types\nCU_GRAPH_NODE_TYPE_MEM_ALLOC and CU_GRAPH_NODE_TYPE_MEM_FREE.\n\nParameters\n----------\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Node to set the parameters for\nnodeParams : :py:obj:`~.CUgraphNodeParams`\n    Parameters to copy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphExecNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_723cuGraphNodeSetParams = {"cuGraphNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_723cuGraphNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_722cuGraphNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_723cuGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40492, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40492, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40492, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeSetParams", 0) < (0)) __PYX_ERR(0, 40492, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetParams", 1, 2, 2, i); __PYX_ERR(0, 40492, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40492, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40492, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 40492, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 40493, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_722cuGraphNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_722cuGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNodeParams *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUgraphNodeParams_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":40521
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40522
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40521
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40523
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40524
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40523
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40526
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40526, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40527
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40527, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40528
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetParams(cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":40529
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40530
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetParams(cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40530, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":40529
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40531
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetParams(cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40531, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40492
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetParams(hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40533
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters in an instantiated graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_725cuGraphExecNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_724cuGraphExecNodeSetParams, "cuGraphExecNodeSetParams(hGraphExec, hNode, CUgraphNodeParams nodeParams: Optional[CUgraphNodeParams])\n\nUpdate's a graph node's parameters in an instantiated graph.\n\nSets the parameters of a node in an executable graph `hGraphExec`. The\nnode is identified by the corresponding node `hNode` in the non-\nexecutable graph from which the executable graph was instantiated.\n`hNode` must not have been removed from the original graph.\n\nThe modifications only affect future launches of `hGraphExec`. Already\nenqueued or running launches of `hGraphExec` are not affected by this\ncall. `hNode` is also not modified by this call.\n\nAllowed changes to parameters on executable graphs are as follows:\n\n**View CUDA Toolkit Documentation for a table example**\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    The executable graph in which to update the specified node\nhNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n    Corresponding node from the graph from which graphExec was\n    instantiated\nnodeParams : :py:obj:`~.CUgraphNodeParams`\n    Updated Parameters to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphNodeSetParams` :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_725cuGraphExecNodeSetParams = {"cuGraphExecNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_725cuGraphExecNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_724cuGraphExecNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_725cuGraphExecNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphExecNodeSetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraphExec,&__pyx_mstate_global->__pyx_n_u_hNode,&__pyx_mstate_global->__pyx_n_u_nodeParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40533, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40533, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40533, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40533, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecNodeSetParams", 0) < (0)) __PYX_ERR(0, 40533, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecNodeSetParams", 1, 3, 3, i); __PYX_ERR(0, 40533, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40533, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40533, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40533, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40533, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 40534, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_724cuGraphExecNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_724cuGraphExecNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUgraphNodeParams *__pyx_v_cynodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUgraphNodeParams_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":40570
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40571
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
 *         phNode = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phNode = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40570
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40572
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40573
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40572
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40575
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40575, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40576
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40576, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40578
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40579
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
 *         phGraphExec = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraphExec = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40578
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40580
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40581
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":40580
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40583
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40583, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40584
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40584, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40585
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":40586
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40587
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGraphExecNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40587, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":40586
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40588
 *     with nogil:
 *         err = cydriver.cuGraphExecNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 40588, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40533
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters in an instantiated graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40590
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphConditionalHandleCreate(hGraph, ctx, unsigned int defaultLaunchValue, unsigned int flags):
 *     """ Create a conditional handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_727cuGraphConditionalHandleCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_726cuGraphConditionalHandleCreate, "cuGraphConditionalHandleCreate(hGraph, ctx, unsigned int defaultLaunchValue, unsigned int flags)\n\nCreate a conditional handle.\n\nCreates a conditional handle associated with `hGraph`.\n\nThe conditional handle must be associated with a conditional node in\nthis graph or one of its children.\n\nHandles not associated with a conditional node may cause graph\ninstantiation to fail.\n\nHandles can only be set from the context with which they are\nassociated.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph which will contain the conditional node using this handle.\nctx : :py:obj:`~.CUcontext`\n    Context for the handle and associated conditional node.\ndefaultLaunchValue : unsigned int\n    Optional initial value for the conditional variable. Applied at the\n    beginning of each graph execution if CU_GRAPH_COND_ASSIGN_DEFAULT\n    is set in `flags`.\nflags : unsigned int\n    Currently must be CU_GRAPH_COND_ASSIGN_DEFAULT or 0.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\npHandle_out : :py:obj:`~.CUgraphConditionalHandle`\n    Pointer used to return the handle to the caller.\n\nSee Also\n--------\n:py:obj:`~.cuGraphAddNode`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_727cuGraphConditionalHandleCreate = {"cuGraphConditionalHandleCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_727cuGraphConditionalHandleCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_726cuGraphConditionalHandleCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_727cuGraphConditionalHandleCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_ctx = 0;
  unsigned int __pyx_v_defaultLaunchValue;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphConditionalHandleCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hGraph,&__pyx_mstate_global->__pyx_n_u_ctx_2,&__pyx_mstate_global->__pyx_n_u_defaultLaunchValue,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40590, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40590, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40590, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40590, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40590, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphConditionalHandleCreate", 0) < (0)) __PYX_ERR(0, 40590, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphConditionalHandleCreate", 1, 4, 4, i); __PYX_ERR(0, 40590, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40590, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40590, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40590, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40590, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_ctx = values[1];
    __pyx_v_defaultLaunchValue = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_defaultLaunchValue == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40591, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40591, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphConditionalHandleCreate", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40590, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphConditionalHandleCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_726cuGraphConditionalHandleCreate(__pyx_self, __pyx_v_hGraph, __pyx_v_ctx, __pyx_v_defaultLaunchValue, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_726cuGraphConditionalHandleCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_ctx, unsigned int __pyx_v_defaultLaunchValue, unsigned int __pyx_v_flags) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *__pyx_v_pHandle_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphConditionalHandleCreate", 0);

  /* "cuda/bindings/driver.pyx":40630
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40631
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:
 *         pctx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pctx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40630
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40632
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40633
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40632
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40635
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraph cyhGraph
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40635, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40636
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40636, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40638
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40639
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
 *         phGraph = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phGraph = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40638
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40640
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40641
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":40640
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40643
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraph};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40643, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40644
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40644, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40645
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphConditionalHandleCreate(<cydriver.CUgraphConditionalHandle*>pHandle_out._pvt_ptr, cyhGraph, cyctx, defaultLaunchValue, flags)
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40645, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pHandle_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":40646
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphConditionalHandleCreate(<cydriver.CUgraphConditionalHandle*>pHandle_out._pvt_ptr, cyhGraph, cyctx, defaultLaunchValue, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40647
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 *     with nogil:
 *         err = cydriver.cuGraphConditionalHandleCreate(<cydriver.CUgraphConditionalHandle*>pHandle_out._pvt_ptr, cyhGraph, cyctx, defaultLaunchValue, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphConditionalHandleCreate(((CUgraphConditionalHandle *)__pyx_v_pHandle_out->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cyctx, __pyx_v_defaultLaunchValue, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40647, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40646
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphConditionalHandleCreate(<cydriver.CUgraphConditionalHandle*>pHandle_out._pvt_ptr, cyhGraph, cyctx, defaultLaunchValue, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40648
 *     with nogil:
 *         err = cydriver.cuGraphConditionalHandleCreate(<cydriver.CUgraphConditionalHandle*>pHandle_out._pvt_ptr, cyhGraph, cyctx, defaultLaunchValue, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40649
 *         err = cydriver.cuGraphConditionalHandleCreate(<cydriver.CUgraphConditionalHandle*>pHandle_out._pvt_ptr, cyhGraph, cyctx, defaultLaunchValue, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pHandle_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 40649, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 40649, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40648
 *     with nogil:
 *         err = cydriver.cuGraphConditionalHandleCreate(<cydriver.CUgraphConditionalHandle*>pHandle_out._pvt_ptr, cyhGraph, cyctx, defaultLaunchValue, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle_out)
*/
  }

  /* "cuda/bindings/driver.pyx":40650
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pHandle_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40650, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pHandle_out)) != (0)) __PYX_ERR(0, 40650, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40590
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphConditionalHandleCreate(hGraph, ctx, unsigned int defaultLaunchValue, unsigned int flags):
 *     """ Create a conditional handle.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphConditionalHandleCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40652
 *     return (_dict_CUresult[err], pHandle_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):
 *     """ Returns occupancy of a function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_729cuOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_728cuOccupancyMaxActiveBlocksPerMultiprocessor, "cuOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize)\n\nReturns occupancy of a function.\n\nReturns in `*numBlocks` the number of the maximum active blocks per\nstreaming multiprocessor.\n\nNote that the API can also be used with context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to use for\ncalculations will be the current context.\n\nParameters\n----------\nfunc : :py:obj:`~.CUfunction`\n    Kernel for which occupancy is calculated\nblockSize : int\n    Block size the kernel is intended to be launched with\ndynamicSMemSize : size_t\n    Per-block dynamic shared memory usage intended, in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\nnumBlocks : int\n    Returned occupancy\n\nSee Also\n--------\n:py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessor`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_729cuOccupancyMaxActiveBlocksPerMultiprocessor = {"cuOccupancyMaxActiveBlocksPerMultiprocessor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_729cuOccupancyMaxActiveBlocksPerMultiprocessor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_728cuOccupancyMaxActiveBlocksPerMultiprocessor};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_729cuOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_func = 0;
  int __pyx_v_blockSize;
  size_t __pyx_v_dynamicSMemSize;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveBlocksPerMultiprocessor (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_2,&__pyx_mstate_global->__pyx_n_u_blockSize,&__pyx_mstate_global->__pyx_n_u_dynamicSMemSize,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40652, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40652, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40652, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40652, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuOccupancyMaxActiveBlocksPerMultiprocessor", 0) < (0)) __PYX_ERR(0, 40652, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, i); __PYX_ERR(0, 40652, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40652, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40652, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40652, __pyx_L3_error)
    }
    __pyx_v_func = values[0];
    __pyx_v_blockSize = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40653, __pyx_L3_error)
    __pyx_v_dynamicSMemSize = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_dynamicSMemSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 40653, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40652, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_728cuOccupancyMaxActiveBlocksPerMultiprocessor(__pyx_self, __pyx_v_func, __pyx_v_blockSize, __pyx_v_dynamicSMemSize);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_728cuOccupancyMaxActiveBlocksPerMultiprocessor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_numBlocks;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveBlocksPerMultiprocessor", 0);

  /* "cuda/bindings/driver.pyx":40686
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40687
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
 *         pfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40686
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40688
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40689
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40688
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40691
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40691, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40692
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int numBlocks = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40692, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40693
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cyfunc, blockSize, dynamicSMemSize)
*/
  __pyx_v_numBlocks = 0;

  /* "cuda/bindings/driver.pyx":40694
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cyfunc, blockSize, dynamicSMemSize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40695
 *     cdef int numBlocks = 0
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cyfunc, blockSize, dynamicSMemSize)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveBlocksPerMultiprocessor((&__pyx_v_numBlocks), __pyx_v_cyfunc, __pyx_v_blockSize, __pyx_v_dynamicSMemSize); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40695, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40694
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cyfunc, blockSize, dynamicSMemSize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40696
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cyfunc, blockSize, dynamicSMemSize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numBlocks)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40697
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cyfunc, blockSize, dynamicSMemSize)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], numBlocks)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40697, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 40697, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40696
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cyfunc, blockSize, dynamicSMemSize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numBlocks)
*/
  }

  /* "cuda/bindings/driver.pyx":40698
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numBlocks)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_numBlocks); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 40698, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 40698, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40652
 *     return (_dict_CUresult[err], pHandle_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):
 *     """ Returns occupancy of a function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40700
 *     return (_dict_CUresult[err], numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):
 *     """ Returns occupancy of a function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_731cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_730cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags)\n\nReturns occupancy of a function.\n\nReturns in `*numBlocks` the number of the maximum active blocks per\nstreaming multiprocessor.\n\nThe `Flags` parameter controls how special cases are handled. The valid\nflags are:\n\n- :py:obj:`~.CU_OCCUPANCY_DEFAULT`, which maintains the default\n  behavior as :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessor`;\n\n- :py:obj:`~.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE`, which suppresses\n  the default behavior on platform where global caching affects\n  occupancy. On such platforms, if caching is enabled, but per-block SM\n  resource usage would result in zero occupancy, the occupancy\n  calculator will calculate the occupancy as if caching is disabled.\n  Setting :py:obj:`~.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE` makes the\n  occupancy calculator to return 0 in such cases. More information can\n  be found about this feature in the \"Unified L1/Texture Cache\" section\n  of the Maxwell tuning guide.\n\nNote that the API can also be with launch context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to use for\ncalculations will be the current context.\n\nParameters\n----------\nfunc : :py:obj:`~.CUfunction`\n    Kernel for which occupancy is calculated\nblockSize : int\n    Block size the kernel is intended to be launched with\ndynamicSMemSize : size_t\n    Per-block dynamic shared memory usage intended, in bytes\nflags : unsigned int\n    Requested behavior for the occupancy calculator\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\nnumBlocks : int\n    Returned occupancy\n""\nSee Also\n--------\n:py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_731cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = {"cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_731cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_730cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_731cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_func = 0;
  int __pyx_v_blockSize;
  size_t __pyx_v_dynamicSMemSize;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_2,&__pyx_mstate_global->__pyx_n_u_blockSize,&__pyx_mstate_global->__pyx_n_u_dynamicSMemSize,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40700, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40700, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40700, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40700, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40700, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 0) < (0)) __PYX_ERR(0, 40700, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, i); __PYX_ERR(0, 40700, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40700, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40700, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40700, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40700, __pyx_L3_error)
    }
    __pyx_v_func = values[0];
    __pyx_v_blockSize = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40701, __pyx_L3_error)
    __pyx_v_dynamicSMemSize = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_dynamicSMemSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 40701, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40701, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40700, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_730cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(__pyx_self, __pyx_v_func, __pyx_v_blockSize, __pyx_v_dynamicSMemSize, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_730cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize, unsigned int __pyx_v_flags) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_numBlocks;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 0);

  /* "cuda/bindings/driver.pyx":40752
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40753
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
 *         pfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40752
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40754
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40755
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40754
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40757
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40757, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40758
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int numBlocks = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40758, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40759
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cyfunc, blockSize, dynamicSMemSize, flags)
*/
  __pyx_v_numBlocks = 0;

  /* "cuda/bindings/driver.pyx":40760
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cyfunc, blockSize, dynamicSMemSize, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40761
 *     cdef int numBlocks = 0
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cyfunc, blockSize, dynamicSMemSize, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags((&__pyx_v_numBlocks), __pyx_v_cyfunc, __pyx_v_blockSize, __pyx_v_dynamicSMemSize, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40761, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40760
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cyfunc, blockSize, dynamicSMemSize, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40762
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cyfunc, blockSize, dynamicSMemSize, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numBlocks)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40763
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cyfunc, blockSize, dynamicSMemSize, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], numBlocks)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40763, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 40763, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40762
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cyfunc, blockSize, dynamicSMemSize, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numBlocks)
*/
  }

  /* "cuda/bindings/driver.pyx":40764
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numBlocks)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_numBlocks); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 40764, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 40764, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40700
 *     return (_dict_CUresult[err], numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):
 *     """ Returns occupancy of a function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40766
 *     return (_dict_CUresult[err], numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSize(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit):
 *     """ Suggest a launch configuration with reasonable occupancy.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_733cuOccupancyMaxPotentialBlockSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_732cuOccupancyMaxPotentialBlockSize, "cuOccupancyMaxPotentialBlockSize(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit)\n\nSuggest a launch configuration with reasonable occupancy.\n\nReturns in `*blockSize` a reasonable block size that can achieve the\nmaximum occupancy (or, the maximum number of active warps with the\nfewest blocks per multiprocessor), and in `*minGridSize` the minimum\ngrid size to achieve the maximum occupancy.\n\nIf `blockSizeLimit` is 0, the configurator will use the maximum block\nsize permitted by the device / function instead.\n\nIf per-block dynamic shared memory allocation is not needed, the user\nshould leave both `blockSizeToDynamicSMemSize` and `dynamicSMemSize` as\n0.\n\nIf per-block dynamic shared memory allocation is needed, then if the\ndynamic shared memory size is constant regardless of block size, the\nsize should be passed through `dynamicSMemSize`, and\n`blockSizeToDynamicSMemSize` should be NULL.\n\nOtherwise, if the per-block dynamic shared memory size varies with\ndifferent block sizes, the user needs to provide a unary function\nthrough `blockSizeToDynamicSMemSize` that computes the dynamic shared\nmemory needed by `func` for any given block size. `dynamicSMemSize` is\nignored. An example signature is:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nNote that the API can also be used with context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to use for\ncalculations will be the current context.\n\nParameters\n----------\nfunc : :py:obj:`~.CUfunction`\n    Kernel for which launch configuration is calculated\nblockSizeToDynamicSMemSize : :py:obj:`~.CUoccupancyB2DSize`\n    A function that calculates how much per-block dynamic shared memory\n    `func` uses based on the block size\ndynamicSMemSize : size_t\n    Dynamic shared memory usage intended, in bytes\nblockSizeLimit : int""\n    The maximum block size `func` is designed to handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\nminGridSize : int\n    Returned minimum grid size needed to achieve the maximum occupancy\nblockSize : int\n    Returned maximum block size that can achieve the maximum occupancy\n\nSee Also\n--------\n:py:obj:`~.cudaOccupancyMaxPotentialBlockSize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_733cuOccupancyMaxPotentialBlockSize = {"cuOccupancyMaxPotentialBlockSize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_733cuOccupancyMaxPotentialBlockSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_732cuOccupancyMaxPotentialBlockSize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_733cuOccupancyMaxPotentialBlockSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_func = 0;
  PyObject *__pyx_v_blockSizeToDynamicSMemSize = 0;
  size_t __pyx_v_dynamicSMemSize;
  int __pyx_v_blockSizeLimit;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialBlockSize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_2,&__pyx_mstate_global->__pyx_n_u_blockSizeToDynamicSMemSize,&__pyx_mstate_global->__pyx_n_u_dynamicSMemSize,&__pyx_mstate_global->__pyx_n_u_blockSizeLimit,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40766, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40766, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40766, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40766, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40766, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuOccupancyMaxPotentialBlockSize", 0) < (0)) __PYX_ERR(0, 40766, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSize", 1, 4, 4, i); __PYX_ERR(0, 40766, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40766, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40766, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40766, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40766, __pyx_L3_error)
    }
    __pyx_v_func = values[0];
    __pyx_v_blockSizeToDynamicSMemSize = values[1];
    __pyx_v_dynamicSMemSize = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_dynamicSMemSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 40767, __pyx_L3_error)
    __pyx_v_blockSizeLimit = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_blockSizeLimit == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40767, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSize", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40766, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxPotentialBlockSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_732cuOccupancyMaxPotentialBlockSize(__pyx_self, __pyx_v_func, __pyx_v_blockSizeToDynamicSMemSize, __pyx_v_dynamicSMemSize, __pyx_v_blockSizeLimit);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_732cuOccupancyMaxPotentialBlockSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_blockSizeToDynamicSMemSize, size_t __pyx_v_dynamicSMemSize, int __pyx_v_blockSizeLimit) {
  CUoccupancyB2DSize __pyx_v_cyblockSizeToDynamicSMemSize;
  PyObject *__pyx_v_pblockSizeToDynamicSMemSize = NULL;
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_minGridSize;
  int __pyx_v_blockSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialBlockSize", 0);

  /* "cuda/bindings/driver.pyx":40827
 *     """
 *     cdef cydriver.CUoccupancyB2DSize cyblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
*/
  __pyx_t_1 = (__pyx_v_blockSizeToDynamicSMemSize == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40828
 *     cdef cydriver.CUoccupancyB2DSize cyblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:
 *         pblockSizeToDynamicSMemSize = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pblockSizeToDynamicSMemSize = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40827
 *     """
 *     cdef cydriver.CUoccupancyB2DSize cyblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40829
 *     if blockSizeToDynamicSMemSize is None:
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_blockSizeToDynamicSMemSize, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40830
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)             # <<<<<<<<<<<<<<
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_blockSizeToDynamicSMemSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pblockSizeToDynamicSMemSize = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40829
 *     if blockSizeToDynamicSMemSize is None:
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40832
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))             # <<<<<<<<<<<<<<
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef cydriver.CUfunction cyfunc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_blockSizeToDynamicSMemSize};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40832, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pblockSizeToDynamicSMemSize = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40833
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pblockSizeToDynamicSMemSize); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40833, __pyx_L1_error)
  __pyx_v_cyblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40835
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40836
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
 *         pfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40835
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40837
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40838
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":40837
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40840
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_func};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40840, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40841
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40841, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40842
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0             # <<<<<<<<<<<<<<
 *     cdef int blockSize = 0
 *     with nogil:
*/
  __pyx_v_minGridSize = 0;

  /* "cuda/bindings/driver.pyx":40843
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
*/
  __pyx_v_blockSize = 0;

  /* "cuda/bindings/driver.pyx":40844
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40845
 *     cdef int blockSize = 0
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialBlockSize((&__pyx_v_minGridSize), (&__pyx_v_blockSize), __pyx_v_cyfunc, __pyx_v_cyblockSizeToDynamicSMemSize, __pyx_v_dynamicSMemSize, __pyx_v_blockSizeLimit); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40845, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40844
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40846
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], minGridSize, blockSize)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40847
 *         err = cydriver.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], minGridSize, blockSize)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 40847, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 40847, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None) != (0)) __PYX_ERR(0, 40847, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40846
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], minGridSize, blockSize)
*/
  }

  /* "cuda/bindings/driver.pyx":40848
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], minGridSize, blockSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_minGridSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_blockSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40848, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 40848, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_4) != (0)) __PYX_ERR(0, 40848, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40766
 *     return (_dict_CUresult[err], numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSize(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit):
 *     """ Suggest a launch configuration with reasonable occupancy.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxPotentialBlockSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pblockSizeToDynamicSMemSize);
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40850
 *     return (_dict_CUresult[err], minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSizeWithFlags(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags):
 *     """ Suggest a launch configuration with reasonable occupancy.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_735cuOccupancyMaxPotentialBlockSizeWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_734cuOccupancyMaxPotentialBlockSizeWithFlags, "cuOccupancyMaxPotentialBlockSizeWithFlags(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags)\n\nSuggest a launch configuration with reasonable occupancy.\n\nAn extended version of :py:obj:`~.cuOccupancyMaxPotentialBlockSize`. In\naddition to arguments passed to\n:py:obj:`~.cuOccupancyMaxPotentialBlockSize`,\n:py:obj:`~.cuOccupancyMaxPotentialBlockSizeWithFlags` also takes a\n`Flags` parameter.\n\nThe `Flags` parameter controls how special cases are handled. The valid\nflags are:\n\n- :py:obj:`~.CU_OCCUPANCY_DEFAULT`, which maintains the default\n  behavior as :py:obj:`~.cuOccupancyMaxPotentialBlockSize`;\n\n- :py:obj:`~.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE`, which suppresses\n  the default behavior on platform where global caching affects\n  occupancy. On such platforms, the launch configurations that produces\n  maximal occupancy might not support global caching. Setting\n  :py:obj:`~.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE` guarantees that the\n  the produced launch configuration is global caching compatible at a\n  potential cost of occupancy. More information can be found about this\n  feature in the \"Unified L1/Texture Cache\" section of the Maxwell\n  tuning guide.\n\nNote that the API can also be used with context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to use for\ncalculations will be the current context.\n\nParameters\n----------\nfunc : :py:obj:`~.CUfunction`\n    Kernel for which launch configuration is calculated\nblockSizeToDynamicSMemSize : :py:obj:`~.CUoccupancyB2DSize`\n    A function that calculates how much per-block dynamic shared memory\n    `func` uses based on the block size\ndynamicSMemSize : size_t\n    Dynamic shared memory usage intended, in bytes\nblockSizeLimit : int\n    The maximum block size `func` is designed to handle\nflags : unsigned int\n    ""Options\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\nminGridSize : int\n    Returned minimum grid size needed to achieve the maximum occupancy\nblockSize : int\n    Returned maximum block size that can achieve the maximum occupancy\n\nSee Also\n--------\n:py:obj:`~.cudaOccupancyMaxPotentialBlockSizeWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_735cuOccupancyMaxPotentialBlockSizeWithFlags = {"cuOccupancyMaxPotentialBlockSizeWithFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_735cuOccupancyMaxPotentialBlockSizeWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_734cuOccupancyMaxPotentialBlockSizeWithFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_735cuOccupancyMaxPotentialBlockSizeWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_func = 0;
  PyObject *__pyx_v_blockSizeToDynamicSMemSize = 0;
  size_t __pyx_v_dynamicSMemSize;
  int __pyx_v_blockSizeLimit;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialBlockSizeWithFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_2,&__pyx_mstate_global->__pyx_n_u_blockSizeToDynamicSMemSize,&__pyx_mstate_global->__pyx_n_u_dynamicSMemSize,&__pyx_mstate_global->__pyx_n_u_blockSizeLimit,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40850, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 40850, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40850, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40850, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40850, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40850, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuOccupancyMaxPotentialBlockSizeWithFlags", 0) < (0)) __PYX_ERR(0, 40850, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSizeWithFlags", 1, 5, 5, i); __PYX_ERR(0, 40850, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40850, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40850, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40850, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40850, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 40850, __pyx_L3_error)
    }
    __pyx_v_func = values[0];
    __pyx_v_blockSizeToDynamicSMemSize = values[1];
    __pyx_v_dynamicSMemSize = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_dynamicSMemSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 40851, __pyx_L3_error)
    __pyx_v_blockSizeLimit = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_blockSizeLimit == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40851, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[4]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40851, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSizeWithFlags", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 40850, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxPotentialBlockSizeWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_734cuOccupancyMaxPotentialBlockSizeWithFlags(__pyx_self, __pyx_v_func, __pyx_v_blockSizeToDynamicSMemSize, __pyx_v_dynamicSMemSize, __pyx_v_blockSizeLimit, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_734cuOccupancyMaxPotentialBlockSizeWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_blockSizeToDynamicSMemSize, size_t __pyx_v_dynamicSMemSize, int __pyx_v_blockSizeLimit, unsigned int __pyx_v_flags) {
  CUoccupancyB2DSize __pyx_v_cyblockSizeToDynamicSMemSize;
  PyObject *__pyx_v_pblockSizeToDynamicSMemSize = NULL;
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_minGridSize;
  int __pyx_v_blockSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialBlockSizeWithFlags", 0);

  /* "cuda/bindings/driver.pyx":40910
 *     """
 *     cdef cydriver.CUoccupancyB2DSize cyblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
*/
  __pyx_t_1 = (__pyx_v_blockSizeToDynamicSMemSize == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40911
 *     cdef cydriver.CUoccupancyB2DSize cyblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:
 *         pblockSizeToDynamicSMemSize = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pblockSizeToDynamicSMemSize = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40910
 *     """
 *     cdef cydriver.CUoccupancyB2DSize cyblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40912
 *     if blockSizeToDynamicSMemSize is None:
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_blockSizeToDynamicSMemSize, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40913
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)             # <<<<<<<<<<<<<<
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_blockSizeToDynamicSMemSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pblockSizeToDynamicSMemSize = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40912
 *     if blockSizeToDynamicSMemSize is None:
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40915
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))             # <<<<<<<<<<<<<<
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef cydriver.CUfunction cyfunc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_blockSizeToDynamicSMemSize};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40915, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pblockSizeToDynamicSMemSize = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40916
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pblockSizeToDynamicSMemSize); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40916, __pyx_L1_error)
  __pyx_v_cyblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40918
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40919
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
 *         pfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40918
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40920
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40921
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":40920
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40923
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_func};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40923, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40924
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40924, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40925
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0             # <<<<<<<<<<<<<<
 *     cdef int blockSize = 0
 *     with nogil:
*/
  __pyx_v_minGridSize = 0;

  /* "cuda/bindings/driver.pyx":40926
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
*/
  __pyx_v_blockSize = 0;

  /* "cuda/bindings/driver.pyx":40927
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40928
 *     cdef int blockSize = 0
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialBlockSizeWithFlags((&__pyx_v_minGridSize), (&__pyx_v_blockSize), __pyx_v_cyfunc, __pyx_v_cyblockSizeToDynamicSMemSize, __pyx_v_dynamicSMemSize, __pyx_v_blockSizeLimit, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40928, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40927
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40929
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], minGridSize, blockSize)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40930
 *         err = cydriver.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], minGridSize, blockSize)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 40930, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 40930, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None) != (0)) __PYX_ERR(0, 40930, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40929
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cyfunc, cyblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], minGridSize, blockSize)
*/
  }

  /* "cuda/bindings/driver.pyx":40931
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], minGridSize, blockSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_minGridSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_blockSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40931, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 40931, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_4) != (0)) __PYX_ERR(0, 40931, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40850
 *     return (_dict_CUresult[err], minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSizeWithFlags(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags):
 *     """ Suggest a launch configuration with reasonable occupancy.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxPotentialBlockSizeWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pblockSizeToDynamicSMemSize);
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40933
 *     return (_dict_CUresult[err], minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize):
 *     """ Returns dynamic shared memory available per block when launching `numBlocks` blocks on SM.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_737cuOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_736cuOccupancyAvailableDynamicSMemPerBlock, "cuOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize)\n\nReturns dynamic shared memory available per block when launching `numBlocks` blocks on SM.\n\nReturns in `*dynamicSmemSize` the maximum size of dynamic shared memory\nto allow `numBlocks` blocks per SM.\n\nNote that the API can also be used with context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to use for\ncalculations will be the current context.\n\nParameters\n----------\nfunc : :py:obj:`~.CUfunction`\n    Kernel function for which occupancy is calculated\nnumBlocks : int\n    Number of blocks to fit on SM\nblockSize : int\n    Size of the blocks\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\ndynamicSmemSize : int\n    Returned maximum dynamic shared memory");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_737cuOccupancyAvailableDynamicSMemPerBlock = {"cuOccupancyAvailableDynamicSMemPerBlock", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_737cuOccupancyAvailableDynamicSMemPerBlock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_736cuOccupancyAvailableDynamicSMemPerBlock};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_737cuOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_func = 0;
  int __pyx_v_numBlocks;
  int __pyx_v_blockSize;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuOccupancyAvailableDynamicSMemPerBlock (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_2,&__pyx_mstate_global->__pyx_n_u_numBlocks,&__pyx_mstate_global->__pyx_n_u_blockSize,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40933, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40933, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40933, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40933, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuOccupancyAvailableDynamicSMemPerBlock", 0) < (0)) __PYX_ERR(0, 40933, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, i); __PYX_ERR(0, 40933, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40933, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40933, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40933, __pyx_L3_error)
    }
    __pyx_v_func = values[0];
    __pyx_v_numBlocks = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_numBlocks == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40934, __pyx_L3_error)
    __pyx_v_blockSize = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 40934, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40933, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyAvailableDynamicSMemPerBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_736cuOccupancyAvailableDynamicSMemPerBlock(__pyx_self, __pyx_v_func, __pyx_v_numBlocks, __pyx_v_blockSize);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_736cuOccupancyAvailableDynamicSMemPerBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_numBlocks, int __pyx_v_blockSize) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  size_t __pyx_v_dynamicSmemSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyAvailableDynamicSMemPerBlock", 0);

  /* "cuda/bindings/driver.pyx":40963
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40964
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
 *         pfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":40963
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40965
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40966
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40965
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40968
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef size_t dynamicSmemSize = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40968, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40969
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef size_t dynamicSmemSize = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40969, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40970
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef size_t dynamicSmemSize = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cyfunc, numBlocks, blockSize)
*/
  __pyx_v_dynamicSmemSize = 0;

  /* "cuda/bindings/driver.pyx":40971
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef size_t dynamicSmemSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cyfunc, numBlocks, blockSize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40972
 *     cdef size_t dynamicSmemSize = 0
 *     with nogil:
 *         err = cydriver.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cyfunc, numBlocks, blockSize)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyAvailableDynamicSMemPerBlock((&__pyx_v_dynamicSmemSize), __pyx_v_cyfunc, __pyx_v_numBlocks, __pyx_v_blockSize); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40972, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40971
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef size_t dynamicSmemSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cyfunc, numBlocks, blockSize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40973
 *     with nogil:
 *         err = cydriver.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cyfunc, numBlocks, blockSize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dynamicSmemSize)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":40974
 *         err = cydriver.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cyfunc, numBlocks, blockSize)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], dynamicSmemSize)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 40974, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 40974, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40973
 *     with nogil:
 *         err = cydriver.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cyfunc, numBlocks, blockSize)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dynamicSmemSize)
*/
  }

  /* "cuda/bindings/driver.pyx":40975
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], dynamicSmemSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_dynamicSmemSize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 40975, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 40975, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40933
 *     return (_dict_CUresult[err], minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize):
 *     """ Returns dynamic shared memory available per block when launching `numBlocks` blocks on SM.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyAvailableDynamicSMemPerBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40977
 *     return (_dict_CUresult[err], dynamicSmemSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialClusterSize(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum cluster size in `*clusterSize`.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_739cuOccupancyMaxPotentialClusterSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_738cuOccupancyMaxPotentialClusterSize, "cuOccupancyMaxPotentialClusterSize(func, CUlaunchConfig config: Optional[CUlaunchConfig])\n\nGiven the kernel function (`func`) and launch configuration (`config`), return the maximum cluster size in `*clusterSize`.\n\nThe cluster dimensions in `config` are ignored. If func has a required\ncluster size set (see :py:obj:`~.cudaFuncGetAttributes` /\n:py:obj:`~.cuFuncGetAttribute`),`*clusterSize` will reflect the\nrequired cluster size.\n\nBy default this function will always return a value that's portable on\nfuture hardware. A higher value may be returned if the kernel function\nallows non-portable cluster sizes.\n\nThis function will respect the compile time launch bounds.\n\nNote that the API can also be used with context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to use for\ncalculations will either be taken from the specified stream\n`config->hStream` or the current context in case of NULL stream.\n\nParameters\n----------\nfunc : :py:obj:`~.CUfunction`\n    Kernel function for which maximum cluster size is calculated\nconfig : :py:obj:`~.CUlaunchConfig`\n    Launch configuration for the given kernel function\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\nclusterSize : int\n    Returned maximum cluster size that can be launched for the given\n    kernel function and launch configuration\n\nSee Also\n--------\n:py:obj:`~.cudaFuncGetAttributes`, :py:obj:`~.cuFuncGetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_739cuOccupancyMaxPotentialClusterSize = {"cuOccupancyMaxPotentialClusterSize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_739cuOccupancyMaxPotentialClusterSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_738cuOccupancyMaxPotentialClusterSize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_739cuOccupancyMaxPotentialClusterSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_func = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialClusterSize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_2,&__pyx_mstate_global->__pyx_n_u_config,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 40977, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40977, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40977, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuOccupancyMaxPotentialClusterSize", 0) < (0)) __PYX_ERR(0, 40977, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialClusterSize", 1, 2, 2, i); __PYX_ERR(0, 40977, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40977, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40977, __pyx_L3_error)
    }
    __pyx_v_func = values[0];
    __pyx_v_config = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialClusterSize", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 40977, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxPotentialClusterSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_config), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig, 1, "config", 0))) __PYX_ERR(0, 40978, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_738cuOccupancyMaxPotentialClusterSize(__pyx_self, __pyx_v_func, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_738cuOccupancyMaxPotentialClusterSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_clusterSize;
  CUlaunchConfig *__pyx_v_cyconfig_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUlaunchConfig_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialClusterSize", 0);

  /* "cuda/bindings/driver.pyx":41019
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41020
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
 *         pfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41019
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41021
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41022
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41021
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41024
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int clusterSize = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41024, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41025
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int clusterSize = 0
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41025, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41026
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int clusterSize = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     with nogil:
*/
  __pyx_v_clusterSize = 0;

  /* "cuda/bindings/driver.pyx":41027
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int clusterSize = 0
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialClusterSize(&clusterSize, cyfunc, cyconfig_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_config) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_config->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyconfig_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":41028
 *     cdef int clusterSize = 0
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxPotentialClusterSize(&clusterSize, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41029
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialClusterSize(&clusterSize, cyfunc, cyconfig_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialClusterSize((&__pyx_v_clusterSize), __pyx_v_cyfunc, __pyx_v_cyconfig_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41029, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":41028
 *     cdef int clusterSize = 0
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxPotentialClusterSize(&clusterSize, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41030
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialClusterSize(&clusterSize, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], clusterSize)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41031
 *         err = cydriver.cuOccupancyMaxPotentialClusterSize(&clusterSize, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], clusterSize)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41031, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 41031, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41030
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxPotentialClusterSize(&clusterSize, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], clusterSize)
*/
  }

  /* "cuda/bindings/driver.pyx":41032
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], clusterSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_clusterSize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 41032, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 41032, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40977
 *     return (_dict_CUresult[err], dynamicSmemSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialClusterSize(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum cluster size in `*clusterSize`.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxPotentialClusterSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41034
 *     return (_dict_CUresult[err], clusterSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveClusters(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum number of clusters that could co-exist on the target device in `*numClusters`.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_741cuOccupancyMaxActiveClusters(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_740cuOccupancyMaxActiveClusters, "cuOccupancyMaxActiveClusters(func, CUlaunchConfig config: Optional[CUlaunchConfig])\n\nGiven the kernel function (`func`) and launch configuration (`config`), return the maximum number of clusters that could co-exist on the target device in `*numClusters`.\n\nIf the function has required cluster size already set (see\n:py:obj:`~.cudaFuncGetAttributes` / :py:obj:`~.cuFuncGetAttribute`),\nthe cluster size from config must either be unspecified or match the\nrequired size. Without required sizes, the cluster size must be\nspecified in config, else the function will return an error.\n\nNote that various attributes of the kernel function may affect\noccupancy calculation. Runtime environment may affect how the hardware\nschedules the clusters, so the calculated occupancy is not guaranteed\nto be achievable.\n\nNote that the API can also be used with context-less kernel\n:py:obj:`~.CUkernel` by querying the handle using\n:py:obj:`~.cuLibraryGetKernel()` and then passing it to the API by\ncasting to :py:obj:`~.CUfunction`. Here, the context to use for\ncalculations will either be taken from the specified stream\n`config->hStream` or the current context in case of NULL stream.\n\nParameters\n----------\nfunc : :py:obj:`~.CUfunction`\n    Kernel function for which maximum number of clusters are calculated\nconfig : :py:obj:`~.CUlaunchConfig`\n    Launch configuration for the given kernel function\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CLUSTER_SIZE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\nnumClusters : int\n    Returned maximum number of clusters that could co-exist on the\n    target device\n\nSee Also\n--------\n:py:obj:`~.cudaFuncGetAttributes`, :py:obj:`~.cuFuncGetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_741cuOccupancyMaxActiveClusters = {"cuOccupancyMaxActiveClusters", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_741cuOccupancyMaxActiveClusters, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_740cuOccupancyMaxActiveClusters};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_741cuOccupancyMaxActiveClusters(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_func = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveClusters (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_func_2,&__pyx_mstate_global->__pyx_n_u_config,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41034, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41034, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41034, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuOccupancyMaxActiveClusters", 0) < (0)) __PYX_ERR(0, 41034, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveClusters", 1, 2, 2, i); __PYX_ERR(0, 41034, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41034, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41034, __pyx_L3_error)
    }
    __pyx_v_func = values[0];
    __pyx_v_config = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveClusters", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41034, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxActiveClusters", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_config), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig, 1, "config", 0))) __PYX_ERR(0, 41035, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_740cuOccupancyMaxActiveClusters(__pyx_self, __pyx_v_func, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_740cuOccupancyMaxActiveClusters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig *__pyx_v_config) {
  CUfunction __pyx_v_cyfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_numClusters;
  CUlaunchConfig *__pyx_v_cyconfig_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUlaunchConfig_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveClusters", 0);

  /* "cuda/bindings/driver.pyx":41076
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41077
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
 *         pfunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pfunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41076
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41078
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41079
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41078
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41081
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numClusters = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41081, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41082
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int numClusters = 0
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41082, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41083
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numClusters = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     with nogil:
*/
  __pyx_v_numClusters = 0;

  /* "cuda/bindings/driver.pyx":41084
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numClusters = 0
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveClusters(&numClusters, cyfunc, cyconfig_ptr)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_config) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_config->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyconfig_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":41085
 *     cdef int numClusters = 0
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxActiveClusters(&numClusters, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41086
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveClusters(&numClusters, cyfunc, cyconfig_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveClusters((&__pyx_v_numClusters), __pyx_v_cyfunc, __pyx_v_cyconfig_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41086, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":41085
 *     cdef int numClusters = 0
 *     cdef cydriver.CUlaunchConfig* cyconfig_ptr = config._pvt_ptr if config is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuOccupancyMaxActiveClusters(&numClusters, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41087
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveClusters(&numClusters, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numClusters)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41088
 *         err = cydriver.cuOccupancyMaxActiveClusters(&numClusters, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], numClusters)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41088, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 41088, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41087
 *     with nogil:
 *         err = cydriver.cuOccupancyMaxActiveClusters(&numClusters, cyfunc, cyconfig_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numClusters)
*/
  }

  /* "cuda/bindings/driver.pyx":41089
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], numClusters)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_numClusters); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 41089, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 41089, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41034
 *     return (_dict_CUresult[err], clusterSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveClusters(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum number of clusters that could co-exist on the target device in `*numClusters`.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuOccupancyMaxActiveClusters", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41091
 *     return (_dict_CUresult[err], numClusters)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetArray(hTexRef, hArray, unsigned int Flags):
 *     """ Binds an array as a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_743cuTexRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_742cuTexRefSetArray, "cuTexRefSetArray(hTexRef, hArray, unsigned int Flags)\n\nBinds an array as a texture reference.\n\n[Deprecated]\n\nBinds the CUDA array `hArray` to the texture reference `hTexRef`. Any\nprevious address or CUDA array state associated with the texture\nreference is superseded by this function. `Flags` must be set to\n:py:obj:`~.CU_TRSA_OVERRIDE_FORMAT`. Any CUDA array previously bound to\n`hTexRef` is unbound.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference to bind\nhArray : :py:obj:`~.CUarray`\n    Array to bind\nFlags : unsigned int\n    Options (must be :py:obj:`~.CU_TRSA_OVERRIDE_FORMAT`)\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_743cuTexRefSetArray = {"cuTexRefSetArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_743cuTexRefSetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_742cuTexRefSetArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_743cuTexRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  PyObject *__pyx_v_hArray = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_hArray_2,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41091, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetArray", 0) < (0)) __PYX_ERR(0, 41091, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetArray", 1, 3, 3, i); __PYX_ERR(0, 41091, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41091, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41091, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41091, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_hArray = values[1];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41092, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41091, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_742cuTexRefSetArray(__pyx_self, __pyx_v_hTexRef, __pyx_v_hArray, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_742cuTexRefSetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_hArray, unsigned int __pyx_v_Flags) {
  CUarray __pyx_v_cyhArray;
  PyObject *__pyx_v_phArray = NULL;
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetArray", 0);

  /* "cuda/bindings/driver.pyx":41122
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41123
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:
 *         phArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41122
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41124
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41125
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41124
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41127
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef cydriver.CUtexref cyhTexRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41127, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41128
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41128, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41130
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41131
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41130
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41132
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41133
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":41132
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41135
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hTexRef};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41135, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41136
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetArray(cyhTexRef, cyhArray, Flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41136, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41137
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetArray(cyhTexRef, cyhArray, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41138
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetArray(cyhTexRef, cyhArray, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetArray(__pyx_v_cyhTexRef, __pyx_v_cyhArray, __pyx_v_Flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41138, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41137
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetArray(cyhTexRef, cyhArray, Flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41139
 *     with nogil:
 *         err = cydriver.cuTexRefSetArray(cyhTexRef, cyhArray, Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41139, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41091
 *     return (_dict_CUresult[err], numClusters)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetArray(hTexRef, hArray, unsigned int Flags):
 *     """ Binds an array as a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41141
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmappedArray(hTexRef, hMipmappedArray, unsigned int Flags):
 *     """ Binds a mipmapped array to a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_745cuTexRefSetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_744cuTexRefSetMipmappedArray, "cuTexRefSetMipmappedArray(hTexRef, hMipmappedArray, unsigned int Flags)\n\nBinds a mipmapped array to a texture reference.\n\n[Deprecated]\n\nBinds the CUDA mipmapped array `hMipmappedArray` to the texture\nreference `hTexRef`. Any previous address or CUDA array state\nassociated with the texture reference is superseded by this function.\n`Flags` must be set to :py:obj:`~.CU_TRSA_OVERRIDE_FORMAT`. Any CUDA\narray previously bound to `hTexRef` is unbound.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference to bind\nhMipmappedArray : :py:obj:`~.CUmipmappedArray`\n    Mipmapped array to bind\nFlags : unsigned int\n    Options (must be :py:obj:`~.CU_TRSA_OVERRIDE_FORMAT`)\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_745cuTexRefSetMipmappedArray = {"cuTexRefSetMipmappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_745cuTexRefSetMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_744cuTexRefSetMipmappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_745cuTexRefSetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  PyObject *__pyx_v_hMipmappedArray = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetMipmappedArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_hMipmappedArray_2,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41141, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41141, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41141, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41141, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetMipmappedArray", 0) < (0)) __PYX_ERR(0, 41141, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmappedArray", 1, 3, 3, i); __PYX_ERR(0, 41141, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41141, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41141, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41141, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_hMipmappedArray = values[1];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41142, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmappedArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41141, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_744cuTexRefSetMipmappedArray(__pyx_self, __pyx_v_hTexRef, __pyx_v_hMipmappedArray, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_744cuTexRefSetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_hMipmappedArray, unsigned int __pyx_v_Flags) {
  CUmipmappedArray __pyx_v_cyhMipmappedArray;
  PyObject *__pyx_v_phMipmappedArray = NULL;
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMipmappedArray", 0);

  /* "cuda/bindings/driver.pyx":41172
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
  __pyx_t_1 = (__pyx_v_hMipmappedArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41173
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phMipmappedArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41172
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41174
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hMipmappedArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41175
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41174
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41177
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef cydriver.CUtexref cyhTexRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hMipmappedArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41177, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41178
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41178, __pyx_L1_error)
  __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41180
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41181
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41180
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41182
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41183
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":41182
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41185
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hTexRef};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41185, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41186
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmappedArray(cyhTexRef, cyhMipmappedArray, Flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41186, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41187
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmappedArray(cyhTexRef, cyhMipmappedArray, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41188
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmappedArray(cyhTexRef, cyhMipmappedArray, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmappedArray(__pyx_v_cyhTexRef, __pyx_v_cyhMipmappedArray, __pyx_v_Flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41188, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41187
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmappedArray(cyhTexRef, cyhMipmappedArray, Flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41189
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmappedArray(cyhTexRef, cyhMipmappedArray, Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41189, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41141
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmappedArray(hTexRef, hMipmappedArray, unsigned int Flags):
 *     """ Binds a mipmapped array to a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phMipmappedArray);
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41191
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress(hTexRef, dptr, size_t numbytes):
 *     """ Binds an address as a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_747cuTexRefSetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_746cuTexRefSetAddress, "cuTexRefSetAddress(hTexRef, dptr, size_t numbytes)\n\nBinds an address as a texture reference.\n\n[Deprecated]\n\nBinds a linear address range to the texture reference `hTexRef`. Any\nprevious address or CUDA array state associated with the texture\nreference is superseded by this function. Any memory previously bound\nto `hTexRef` is unbound.\n\nSince the hardware enforces an alignment requirement on texture base\naddresses, :py:obj:`~.cuTexRefSetAddress()` passes back a byte offset\nin `*ByteOffset` that must be applied to texture fetches in order to\nread from the desired memory. This offset must be divided by the texel\nsize and passed to kernels that read from the texture so they can be\napplied to the :py:obj:`~.tex1Dfetch()` function.\n\nIf the device memory pointer was returned from\n:py:obj:`~.cuMemAlloc()`, the offset is guaranteed to be 0 and NULL may\nbe passed as the `ByteOffset` parameter.\n\nThe total number of elements (or texels) in the linear address range\ncannot exceed\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH`. The\nnumber of elements is computed as (`numbytes` / bytesPerElement), where\nbytesPerElement is determined from the data format and number of\ncomponents set using :py:obj:`~.cuTexRefSetFormat()`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference to bind\ndptr : :py:obj:`~.CUdeviceptr`\n    Device pointer to bind\nnumbytes : size_t\n    Size of memory to bind in bytes\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nByteOffset : int\n    Returned byte offset\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexR""efGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_747cuTexRefSetAddress = {"cuTexRefSetAddress", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_747cuTexRefSetAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_746cuTexRefSetAddress};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_747cuTexRefSetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  PyObject *__pyx_v_dptr = 0;
  size_t __pyx_v_numbytes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetAddress (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_dptr_2,&__pyx_mstate_global->__pyx_n_u_numbytes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41191, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41191, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41191, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41191, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetAddress", 0) < (0)) __PYX_ERR(0, 41191, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress", 1, 3, 3, i); __PYX_ERR(0, 41191, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41191, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41191, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41191, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_dptr = values[1];
    __pyx_v_numbytes = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_numbytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 41192, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41191, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_746cuTexRefSetAddress(__pyx_self, __pyx_v_hTexRef, __pyx_v_dptr, __pyx_v_numbytes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_746cuTexRefSetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_dptr, size_t __pyx_v_numbytes) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  size_t __pyx_v_ByteOffset;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetAddress", 0);

  /* "cuda/bindings/driver.pyx":41241
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41242
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41241
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41243
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41244
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41243
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41246
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUtexref cyhTexRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41246, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41247
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41247, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41249
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41250
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41249
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41251
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41252
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":41251
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41254
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef size_t ByteOffset = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hTexRef};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41254, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41255
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef size_t ByteOffset = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41255, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41256
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef size_t ByteOffset = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddress(&ByteOffset, cyhTexRef, cydptr, numbytes)
*/
  __pyx_v_ByteOffset = 0;

  /* "cuda/bindings/driver.pyx":41257
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef size_t ByteOffset = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetAddress(&ByteOffset, cyhTexRef, cydptr, numbytes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41258
 *     cdef size_t ByteOffset = 0
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddress(&ByteOffset, cyhTexRef, cydptr, numbytes)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddress((&__pyx_v_ByteOffset), __pyx_v_cyhTexRef, __pyx_v_cydptr, __pyx_v_numbytes); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41258, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41257
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef size_t ByteOffset = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetAddress(&ByteOffset, cyhTexRef, cydptr, numbytes)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41259
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddress(&ByteOffset, cyhTexRef, cydptr, numbytes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ByteOffset)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41260
 *         err = cydriver.cuTexRefSetAddress(&ByteOffset, cyhTexRef, cydptr, numbytes)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], ByteOffset)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41260, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 41260, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41259
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddress(&ByteOffset, cyhTexRef, cydptr, numbytes)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ByteOffset)
*/
  }

  /* "cuda/bindings/driver.pyx":41261
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ByteOffset)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_ByteOffset); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41261, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 41261, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41191
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress(hTexRef, dptr, size_t numbytes):
 *     """ Binds an address as a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41263
 *     return (_dict_CUresult[err], ByteOffset)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress2D(hTexRef, desc : Optional[CUDA_ARRAY_DESCRIPTOR], dptr, size_t Pitch):
 *     """ Binds an address as a 2D texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_749cuTexRefSetAddress2D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_748cuTexRefSetAddress2D, "cuTexRefSetAddress2D(hTexRef, CUDA_ARRAY_DESCRIPTOR desc: Optional[CUDA_ARRAY_DESCRIPTOR], dptr, size_t Pitch)\n\nBinds an address as a 2D texture reference.\n\n[Deprecated]\n\nBinds a linear address range to the texture reference `hTexRef`. Any\nprevious address or CUDA array state associated with the texture\nreference is superseded by this function. Any memory previously bound\nto `hTexRef` is unbound.\n\nUsing a :py:obj:`~.tex2D()` function inside a kernel requires a call to\neither :py:obj:`~.cuTexRefSetArray()` to bind the corresponding texture\nreference to an array, or :py:obj:`~.cuTexRefSetAddress2D()` to bind\nthe texture reference to linear memory.\n\nFunction calls to :py:obj:`~.cuTexRefSetFormat()` cannot follow calls\nto :py:obj:`~.cuTexRefSetAddress2D()` for the same texture reference.\n\nIt is required that `dptr` be aligned to the appropriate hardware-\nspecific texture alignment. You can query this value using the device\nattribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT`. If an\nunaligned `dptr` is supplied, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is\nreturned.\n\n`Pitch` has to be aligned to the hardware-specific texture pitch\nalignment. This value can be queried using the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT`. If an\nunaligned `Pitch` is supplied, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is\nreturned.\n\nWidth and Height, which are specified in elements (or texels), cannot\nexceed :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH`\nand :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT`\nrespectively. `Pitch`, which is specified in bytes, cannot exceed\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference to bind\ndesc : :py:obj:`~.CUDA_ARRAY_DESCRIPTOR`\n    Descriptor of CUDA array\ndptr : :py:obj:`~.CUdeviceptr`\n    Device pointer to bind\nPitch : size_t\n    Line pitch in bytes\n\nReturns""\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_749cuTexRefSetAddress2D = {"cuTexRefSetAddress2D", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_749cuTexRefSetAddress2D, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_748cuTexRefSetAddress2D};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_749cuTexRefSetAddress2D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *__pyx_v_desc = 0;
  PyObject *__pyx_v_dptr = 0;
  size_t __pyx_v_Pitch;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetAddress2D (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_dptr_2,&__pyx_mstate_global->__pyx_n_u_Pitch,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41263, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 41263, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41263, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41263, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41263, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetAddress2D", 0) < (0)) __PYX_ERR(0, 41263, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress2D", 1, 4, 4, i); __PYX_ERR(0, 41263, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41263, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41263, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41263, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 41263, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_desc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *)values[1]);
    __pyx_v_dptr = values[2];
    __pyx_v_Pitch = __Pyx_PyLong_As_size_t(values[3]); if (unlikely((__pyx_v_Pitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 41264, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress2D", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 41263, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetAddress2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_desc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR, 1, "desc", 0))) __PYX_ERR(0, 41264, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_748cuTexRefSetAddress2D(__pyx_self, __pyx_v_hTexRef, __pyx_v_desc, __pyx_v_dptr, __pyx_v_Pitch);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_748cuTexRefSetAddress2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *__pyx_v_desc, PyObject *__pyx_v_dptr, size_t __pyx_v_Pitch) {
  CUdeviceptr __pyx_v_cydptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUDA_ARRAY_DESCRIPTOR *__pyx_v_cydesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  struct CUDA_ARRAY_DESCRIPTOR_st *__pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetAddress2D", 0);

  /* "cuda/bindings/driver.pyx":41321
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41322
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
 *         pdptr = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdptr = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41321
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41323
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41324
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41323
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41326
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUtexref cyhTexRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41326, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41327
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41327, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41329
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41330
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41329
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41331
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41332
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":41331
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41334
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cydesc_ptr = desc._pvt_ptr if desc is not None else NULL
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hTexRef};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41334, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41335
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cydesc_ptr = desc._pvt_ptr if desc is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41335, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41336
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cydesc_ptr = desc._pvt_ptr if desc is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddress2D(cyhTexRef, cydesc_ptr, cydptr, Pitch)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_desc) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_desc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cydesc_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":41337
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cydesc_ptr = desc._pvt_ptr if desc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetAddress2D(cyhTexRef, cydesc_ptr, cydptr, Pitch)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41338
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cydesc_ptr = desc._pvt_ptr if desc is not None else NULL
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddress2D(cyhTexRef, cydesc_ptr, cydptr, Pitch)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddress2D(__pyx_v_cyhTexRef, __pyx_v_cydesc_ptr, __pyx_v_cydptr, __pyx_v_Pitch); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41338, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":41337
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUDA_ARRAY_DESCRIPTOR* cydesc_ptr = desc._pvt_ptr if desc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetAddress2D(cyhTexRef, cydesc_ptr, cydptr, Pitch)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41339
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddress2D(cyhTexRef, cydesc_ptr, cydptr, Pitch)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41339, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41263
 *     return (_dict_CUresult[err], ByteOffset)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress2D(hTexRef, desc : Optional[CUDA_ARRAY_DESCRIPTOR], dptr, size_t Pitch):
 *     """ Binds an address as a 2D texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetAddress2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41341
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFormat(hTexRef, fmt not None : CUarray_format, int NumPackedComponents):
 *     """ Sets the format for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_751cuTexRefSetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_750cuTexRefSetFormat, "cuTexRefSetFormat(hTexRef, fmt: CUarray_format, int NumPackedComponents)\n\nSets the format for a texture reference.\n\n[Deprecated]\n\nSpecifies the format of the data to be read by the texture reference\n`hTexRef`. `fmt` and `NumPackedComponents` are exactly analogous to the\n:py:obj:`~.Format` and :py:obj:`~.NumChannels` members of the\n:py:obj:`~.CUDA_ARRAY_DESCRIPTOR` structure: They specify the format of\neach component and the number of components per array element.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\nfmt : :py:obj:`~.CUarray_format`\n    Format to set\nNumPackedComponents : int\n    Number of components per array element\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`, :py:obj:`~.cudaCreateChannelDesc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_751cuTexRefSetFormat = {"cuTexRefSetFormat", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_751cuTexRefSetFormat, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_750cuTexRefSetFormat};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_751cuTexRefSetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  PyObject *__pyx_v_fmt = 0;
  int __pyx_v_NumPackedComponents;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetFormat (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_fmt,&__pyx_mstate_global->__pyx_n_u_NumPackedComponents,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41341, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41341, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41341, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41341, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetFormat", 0) < (0)) __PYX_ERR(0, 41341, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetFormat", 1, 3, 3, i); __PYX_ERR(0, 41341, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41341, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41341, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41341, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_fmt = values[1];
    __pyx_v_NumPackedComponents = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_NumPackedComponents == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41342, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetFormat", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41341, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetFormat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_fmt) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "fmt"); __PYX_ERR(0, 41342, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_750cuTexRefSetFormat(__pyx_self, __pyx_v_hTexRef, __pyx_v_fmt, __pyx_v_NumPackedComponents);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_750cuTexRefSetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fmt, int __pyx_v_NumPackedComponents) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUarray_format __pyx_v_cyfmt;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUarray_format __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetFormat", 0);

  /* "cuda/bindings/driver.pyx":41372
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41373
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41372
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41374
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41375
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41374
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41377
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUarray_format cyfmt = fmt.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41377, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41378
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray_format cyfmt = fmt.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41378, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41379
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUarray_format cyfmt = fmt.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetFormat(cyhTexRef, cyfmt, NumPackedComponents)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fmt, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyfmt = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":41380
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUarray_format cyfmt = fmt.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetFormat(cyhTexRef, cyfmt, NumPackedComponents)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41381
 *     cdef cydriver.CUarray_format cyfmt = fmt.value
 *     with nogil:
 *         err = cydriver.cuTexRefSetFormat(cyhTexRef, cyfmt, NumPackedComponents)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFormat(__pyx_v_cyhTexRef, __pyx_v_cyfmt, __pyx_v_NumPackedComponents); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41381, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":41380
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUarray_format cyfmt = fmt.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetFormat(cyhTexRef, cyfmt, NumPackedComponents)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41382
 *     with nogil:
 *         err = cydriver.cuTexRefSetFormat(cyhTexRef, cyfmt, NumPackedComponents)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41382, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41341
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFormat(hTexRef, fmt not None : CUarray_format, int NumPackedComponents):
 *     """ Sets the format for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetFormat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41384
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddressMode(hTexRef, int dim, am not None : CUaddress_mode):
 *     """ Sets the addressing mode for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_753cuTexRefSetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_752cuTexRefSetAddressMode, "cuTexRefSetAddressMode(hTexRef, int dim, am: CUaddress_mode)\n\nSets the addressing mode for a texture reference.\n\n[Deprecated]\n\nSpecifies the addressing mode `am` for the given dimension `dim` of the\ntexture reference `hTexRef`. If `dim` is zero, the addressing mode is\napplied to the first parameter of the functions used to fetch from the\ntexture; if `dim` is 1, the second, and so on.\n:py:obj:`~.CUaddress_mode` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nNote that this call has no effect if `hTexRef` is bound to linear\nmemory. Also, if the flag, :py:obj:`~.CU_TRSF_NORMALIZED_COORDINATES`,\nis not set, the only supported address mode is\n:py:obj:`~.CU_TR_ADDRESS_MODE_CLAMP`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\ndim : int\n    Dimension\nam : :py:obj:`~.CUaddress_mode`\n    Addressing mode to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_753cuTexRefSetAddressMode = {"cuTexRefSetAddressMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_753cuTexRefSetAddressMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_752cuTexRefSetAddressMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_753cuTexRefSetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  int __pyx_v_dim;
  PyObject *__pyx_v_am = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetAddressMode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_dim,&__pyx_mstate_global->__pyx_n_u_am,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41384, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41384, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41384, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41384, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetAddressMode", 0) < (0)) __PYX_ERR(0, 41384, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddressMode", 1, 3, 3, i); __PYX_ERR(0, 41384, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41384, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41384, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41384, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_dim = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_dim == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41385, __pyx_L3_error)
    __pyx_v_am = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddressMode", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41384, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetAddressMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_am) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "am"); __PYX_ERR(0, 41385, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_752cuTexRefSetAddressMode(__pyx_self, __pyx_v_hTexRef, __pyx_v_dim, __pyx_v_am);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_752cuTexRefSetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim, PyObject *__pyx_v_am) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUaddress_mode __pyx_v_cyam;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUaddress_mode __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetAddressMode", 0);

  /* "cuda/bindings/driver.pyx":41422
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41423
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41422
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41424
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41425
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41424
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41427
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUaddress_mode cyam = am.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41427, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41428
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUaddress_mode cyam = am.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41428, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41429
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUaddress_mode cyam = am.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddressMode(cyhTexRef, dim, cyam)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_am, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUaddress_mode_enum)__Pyx_PyLong_As_enum__CUaddress_mode_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyam = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":41430
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUaddress_mode cyam = am.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetAddressMode(cyhTexRef, dim, cyam)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41431
 *     cdef cydriver.CUaddress_mode cyam = am.value
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddressMode(cyhTexRef, dim, cyam)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddressMode(__pyx_v_cyhTexRef, __pyx_v_dim, __pyx_v_cyam); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41431, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":41430
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUaddress_mode cyam = am.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetAddressMode(cyhTexRef, dim, cyam)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41432
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddressMode(cyhTexRef, dim, cyam)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41432, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41384
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddressMode(hTexRef, int dim, am not None : CUaddress_mode):
 *     """ Sets the addressing mode for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetAddressMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41434
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the filtering mode for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_755cuTexRefSetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_754cuTexRefSetFilterMode, "cuTexRefSetFilterMode(hTexRef, fm: CUfilter_mode)\n\nSets the filtering mode for a texture reference.\n\n[Deprecated]\n\nSpecifies the filtering mode `fm` to be used when reading memory\nthrough the texture reference `hTexRef`. :py:obj:`~.CUfilter_mode_enum`\nis defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nNote that this call has no effect if `hTexRef` is bound to linear\nmemory.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\nfm : :py:obj:`~.CUfilter_mode`\n    Filtering mode to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_755cuTexRefSetFilterMode = {"cuTexRefSetFilterMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_755cuTexRefSetFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_754cuTexRefSetFilterMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_755cuTexRefSetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  PyObject *__pyx_v_fm = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetFilterMode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_fm,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41434, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41434, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetFilterMode", 0) < (0)) __PYX_ERR(0, 41434, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetFilterMode", 1, 2, 2, i); __PYX_ERR(0, 41434, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41434, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41434, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_fm = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetFilterMode", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41434, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_fm) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "fm"); __PYX_ERR(0, 41435, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_754cuTexRefSetFilterMode(__pyx_self, __pyx_v_hTexRef, __pyx_v_fm);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_754cuTexRefSetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfilter_mode __pyx_v_cyfm;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUfilter_mode __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetFilterMode", 0);

  /* "cuda/bindings/driver.pyx":41466
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41467
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41466
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41468
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41469
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41468
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41471
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41471, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41472
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41472, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41473
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode cyfm = fm.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetFilterMode(cyhTexRef, cyfm)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fm, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUfilter_mode_enum)__Pyx_PyLong_As_enum__CUfilter_mode_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyfm = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":41474
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetFilterMode(cyhTexRef, cyfm)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41475
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:
 *         err = cydriver.cuTexRefSetFilterMode(cyhTexRef, cyfm)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFilterMode(__pyx_v_cyhTexRef, __pyx_v_cyfm); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41475, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":41474
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetFilterMode(cyhTexRef, cyfm)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41476
 *     with nogil:
 *         err = cydriver.cuTexRefSetFilterMode(cyhTexRef, cyfm)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41476, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41434
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the filtering mode for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41478
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the mipmap filtering mode for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_757cuTexRefSetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_756cuTexRefSetMipmapFilterMode, "cuTexRefSetMipmapFilterMode(hTexRef, fm: CUfilter_mode)\n\nSets the mipmap filtering mode for a texture reference.\n\n[Deprecated]\n\nSpecifies the mipmap filtering mode `fm` to be used when reading memory\nthrough the texture reference `hTexRef`. :py:obj:`~.CUfilter_mode_enum`\nis defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nNote that this call has no effect if `hTexRef` is not bound to a\nmipmapped array.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\nfm : :py:obj:`~.CUfilter_mode`\n    Filtering mode to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_757cuTexRefSetMipmapFilterMode = {"cuTexRefSetMipmapFilterMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_757cuTexRefSetMipmapFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_756cuTexRefSetMipmapFilterMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_757cuTexRefSetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  PyObject *__pyx_v_fm = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapFilterMode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_fm,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41478, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetMipmapFilterMode", 0) < (0)) __PYX_ERR(0, 41478, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapFilterMode", 1, 2, 2, i); __PYX_ERR(0, 41478, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41478, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41478, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_fm = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapFilterMode", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41478, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMipmapFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_fm) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "fm"); __PYX_ERR(0, 41479, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_756cuTexRefSetMipmapFilterMode(__pyx_self, __pyx_v_hTexRef, __pyx_v_fm);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_756cuTexRefSetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfilter_mode __pyx_v_cyfm;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUfilter_mode __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapFilterMode", 0);

  /* "cuda/bindings/driver.pyx":41510
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41511
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41510
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41512
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41513
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41512
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41515
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41515, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41516
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41516, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41517
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode cyfm = fm.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapFilterMode(cyhTexRef, cyfm)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fm, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum CUfilter_mode_enum)__Pyx_PyLong_As_enum__CUfilter_mode_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41517, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyfm = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":41518
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmapFilterMode(cyhTexRef, cyfm)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41519
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapFilterMode(cyhTexRef, cyfm)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapFilterMode(__pyx_v_cyhTexRef, __pyx_v_cyfm); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41519, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":41518
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmapFilterMode(cyhTexRef, cyfm)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41520
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapFilterMode(cyhTexRef, cyfm)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41520, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41478
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the mipmap filtering mode for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMipmapFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41522
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelBias(hTexRef, float bias):
 *     """ Sets the mipmap level bias for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_759cuTexRefSetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_758cuTexRefSetMipmapLevelBias, "cuTexRefSetMipmapLevelBias(hTexRef, float bias)\n\nSets the mipmap level bias for a texture reference.\n\n[Deprecated]\n\nSpecifies the mipmap level bias `bias` to be added to the specified\nmipmap level when reading memory through the texture reference\n`hTexRef`.\n\nNote that this call has no effect if `hTexRef` is not bound to a\nmipmapped array.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\nbias : float\n    Mipmap level bias\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_759cuTexRefSetMipmapLevelBias = {"cuTexRefSetMipmapLevelBias", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_759cuTexRefSetMipmapLevelBias, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_758cuTexRefSetMipmapLevelBias};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_759cuTexRefSetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  float __pyx_v_bias;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapLevelBias (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_bias,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41522, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41522, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41522, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetMipmapLevelBias", 0) < (0)) __PYX_ERR(0, 41522, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelBias", 1, 2, 2, i); __PYX_ERR(0, 41522, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41522, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41522, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_bias = __Pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_bias == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 41523, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelBias", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41522, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMipmapLevelBias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_758cuTexRefSetMipmapLevelBias(__pyx_self, __pyx_v_hTexRef, __pyx_v_bias);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_758cuTexRefSetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_bias) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapLevelBias", 0);

  /* "cuda/bindings/driver.pyx":41552
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41553
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41552
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41554
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41555
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41554
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41557
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41557, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41558
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41558, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41559
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41560
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapLevelBias(__pyx_v_cyhTexRef, __pyx_v_bias); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41560, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41559
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41561
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41561, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41522
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelBias(hTexRef, float bias):
 *     """ Sets the mipmap level bias for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMipmapLevelBias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41563
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelClamp(hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp):
 *     """ Sets the mipmap min/max mipmap level clamps for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_761cuTexRefSetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_760cuTexRefSetMipmapLevelClamp, "cuTexRefSetMipmapLevelClamp(hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp)\n\nSets the mipmap min/max mipmap level clamps for a texture reference.\n\n[Deprecated]\n\nSpecifies the min/max mipmap level clamps, `minMipmapLevelClamp` and\n`maxMipmapLevelClamp` respectively, to be used when reading memory\nthrough the texture reference `hTexRef`.\n\nNote that this call has no effect if `hTexRef` is not bound to a\nmipmapped array.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\nminMipmapLevelClamp : float\n    Mipmap min level clamp\nmaxMipmapLevelClamp : float\n    Mipmap max level clamp\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_761cuTexRefSetMipmapLevelClamp = {"cuTexRefSetMipmapLevelClamp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_761cuTexRefSetMipmapLevelClamp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_760cuTexRefSetMipmapLevelClamp};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_761cuTexRefSetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  float __pyx_v_minMipmapLevelClamp;
  float __pyx_v_maxMipmapLevelClamp;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapLevelClamp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_minMipmapLevelClamp_2,&__pyx_mstate_global->__pyx_n_u_maxMipmapLevelClamp_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41563, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41563, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41563, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41563, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetMipmapLevelClamp", 0) < (0)) __PYX_ERR(0, 41563, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelClamp", 1, 3, 3, i); __PYX_ERR(0, 41563, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41563, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41563, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41563, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_minMipmapLevelClamp = __Pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_minMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 41564, __pyx_L3_error)
    __pyx_v_maxMipmapLevelClamp = __Pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_maxMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 41564, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelClamp", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41563, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMipmapLevelClamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_760cuTexRefSetMipmapLevelClamp(__pyx_self, __pyx_v_hTexRef, __pyx_v_minMipmapLevelClamp, __pyx_v_maxMipmapLevelClamp);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_760cuTexRefSetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_minMipmapLevelClamp, float __pyx_v_maxMipmapLevelClamp) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapLevelClamp", 0);

  /* "cuda/bindings/driver.pyx":41595
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41596
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41595
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41597
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41598
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41598, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41597
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41600
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41600, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41601
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelClamp(cyhTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41601, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41602
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmapLevelClamp(cyhTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41603
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelClamp(cyhTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapLevelClamp(__pyx_v_cyhTexRef, __pyx_v_minMipmapLevelClamp, __pyx_v_maxMipmapLevelClamp); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41603, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41602
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmapLevelClamp(cyhTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41604
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelClamp(cyhTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41604, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41563
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelClamp(hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp):
 *     """ Sets the mipmap min/max mipmap level clamps for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMipmapLevelClamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41606
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMaxAnisotropy(hTexRef, unsigned int maxAniso):
 *     """ Sets the maximum anisotropy for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_763cuTexRefSetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_762cuTexRefSetMaxAnisotropy, "cuTexRefSetMaxAnisotropy(hTexRef, unsigned int maxAniso)\n\nSets the maximum anisotropy for a texture reference.\n\n[Deprecated]\n\nSpecifies the maximum anisotropy `maxAniso` to be used when reading\nmemory through the texture reference `hTexRef`.\n\nNote that this call has no effect if `hTexRef` is bound to linear\nmemory.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\nmaxAniso : unsigned int\n    Maximum anisotropy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_763cuTexRefSetMaxAnisotropy = {"cuTexRefSetMaxAnisotropy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_763cuTexRefSetMaxAnisotropy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_762cuTexRefSetMaxAnisotropy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_763cuTexRefSetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  unsigned int __pyx_v_maxAniso;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetMaxAnisotropy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_maxAniso,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41606, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41606, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41606, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetMaxAnisotropy", 0) < (0)) __PYX_ERR(0, 41606, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetMaxAnisotropy", 1, 2, 2, i); __PYX_ERR(0, 41606, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41606, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41606, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_maxAniso = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_maxAniso == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41607, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMaxAnisotropy", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41606, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMaxAnisotropy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_762cuTexRefSetMaxAnisotropy(__pyx_self, __pyx_v_hTexRef, __pyx_v_maxAniso);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_762cuTexRefSetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_maxAniso) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMaxAnisotropy", 0);

  /* "cuda/bindings/driver.pyx":41635
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41636
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41635
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41637
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41638
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41637
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41640
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41640, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41641
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41641, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41642
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41643
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMaxAnisotropy(__pyx_v_cyhTexRef, __pyx_v_maxAniso); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41643, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41642
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41644
 *     with nogil:
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41644, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41606
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMaxAnisotropy(hTexRef, unsigned int maxAniso):
 *     """ Sets the maximum anisotropy for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetMaxAnisotropy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetBorderColor(hTexRef, float pBorderColor):
 *     """ Sets the border color for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_765cuTexRefSetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_764cuTexRefSetBorderColor, "cuTexRefSetBorderColor(hTexRef, float pBorderColor)\n\nSets the border color for a texture reference.\n\n[Deprecated]\n\nSpecifies the value of the RGBA color via the `pBorderColor` to the\ntexture reference `hTexRef`. The color value supports only float type\nand holds color components in the following sequence: pBorderColor[0]\nholds 'R' component pBorderColor[1] holds 'G' component pBorderColor[2]\nholds 'B' component pBorderColor[3] holds 'A' component\n\nNote that the color values can be set only when the Address mode is set\nto CU_TR_ADDRESS_MODE_BORDER using :py:obj:`~.cuTexRefSetAddressMode`.\nApplications using integer border color values have to\n\"reinterpret_cast\" their values to float.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\npBorderColor : float\n    RGBA color\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetBorderColor`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_765cuTexRefSetBorderColor = {"cuTexRefSetBorderColor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_765cuTexRefSetBorderColor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_764cuTexRefSetBorderColor};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_765cuTexRefSetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  float __pyx_v_pBorderColor;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetBorderColor (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_pBorderColor,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41646, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41646, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41646, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetBorderColor", 0) < (0)) __PYX_ERR(0, 41646, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetBorderColor", 1, 2, 2, i); __PYX_ERR(0, 41646, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41646, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41646, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_pBorderColor = __Pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_pBorderColor == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 41647, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetBorderColor", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41646, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetBorderColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_764cuTexRefSetBorderColor(__pyx_self, __pyx_v_hTexRef, __pyx_v_pBorderColor);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_764cuTexRefSetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_pBorderColor) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetBorderColor", 0);

  /* "cuda/bindings/driver.pyx":41680
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41681
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41680
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41682
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41683
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41682
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41685
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41685, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41686
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41686, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41687
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41688
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetBorderColor(__pyx_v_cyhTexRef, (&__pyx_v_pBorderColor)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41688, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41687
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41689
 *     with nogil:
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41689, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetBorderColor(hTexRef, float pBorderColor):
 *     """ Sets the border color for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetBorderColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41691
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFlags(hTexRef, unsigned int Flags):
 *     """ Sets the flags for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_767cuTexRefSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_766cuTexRefSetFlags, "cuTexRefSetFlags(hTexRef, unsigned int Flags)\n\nSets the flags for a texture reference.\n\n[Deprecated]\n\nSpecifies optional flags via `Flags` to specify the behavior of data\nreturned through the texture reference `hTexRef`. The valid flags are:\n\n- :py:obj:`~.CU_TRSF_READ_AS_INTEGER`, which suppresses the default\n  behavior of having the texture promote integer data to floating point\n  data in the range [0, 1]. Note that texture with 32-bit integer\n  format would not be promoted, regardless of whether or not this flag\n  is specified;\n\n- :py:obj:`~.CU_TRSF_NORMALIZED_COORDINATES`, which suppresses the\n  default behavior of having the texture coordinates range from [0,\n  Dim) where Dim is the width or height of the CUDA array. Instead, the\n  texture coordinates [0, 1.0) reference the entire breadth of the\n  array dimension;\n\n- :py:obj:`~.CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION`, which disables\n  any trilinear filtering optimizations. Trilinear optimizations\n  improve texture filtering performance by allowing bilinear filtering\n  on textures in scenarios where it can closely approximate the\n  expected results.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\nFlags : unsigned int\n    Optional flags to set\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_767cuTexRefSetFlags = {"cuTexRefSetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_767cuTexRefSetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_766cuTexRefSetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_767cuTexRefSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefSetFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41691, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41691, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41691, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefSetFlags", 0) < (0)) __PYX_ERR(0, 41691, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefSetFlags", 1, 2, 2, i); __PYX_ERR(0, 41691, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41691, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41691, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41692, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41691, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_766cuTexRefSetFlags(__pyx_self, __pyx_v_hTexRef, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_766cuTexRefSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_Flags) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetFlags", 0);

  /* "cuda/bindings/driver.pyx":41735
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41736
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41735
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41737
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41738
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41737
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41740
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41740, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41741
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, Flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41741, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41742
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41743
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFlags(__pyx_v_cyhTexRef, __pyx_v_Flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41743, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41742
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, Flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41744
 *     with nogil:
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41744, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41691
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFlags(hTexRef, unsigned int Flags):
 *     """ Sets the flags for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41746
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddress(hTexRef):
 *     """ Gets the address associated with a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_769cuTexRefGetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_768cuTexRefGetAddress, "cuTexRefGetAddress(hTexRef)\n\nGets the address associated with a texture reference.\n\n[Deprecated]\n\nReturns in `*pdptr` the base address bound to the texture reference\n`hTexRef`, or returns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the\ntexture reference is not bound to any device memory range.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npdptr : :py:obj:`~.CUdeviceptr`\n    Returned device address\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_769cuTexRefGetAddress = {"cuTexRefGetAddress", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_769cuTexRefGetAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_768cuTexRefGetAddress};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_769cuTexRefGetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetAddress (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41746, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41746, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetAddress", 0) < (0)) __PYX_ERR(0, 41746, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetAddress", 1, 1, 1, i); __PYX_ERR(0, 41746, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41746, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetAddress", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 41746, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_768cuTexRefGetAddress(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_768cuTexRefGetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_pdptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetAddress", 0);

  /* "cuda/bindings/driver.pyx":41773
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41774
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41773
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41775
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41776
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41775
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41778
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41778, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41779
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41779, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41780
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUdeviceptr pdptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetAddress(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyhTexRef)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41780, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pdptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":41781
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetAddress(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41782
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     with nogil:
 *         err = cydriver.cuTexRefGetAddress(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetAddress(((CUdeviceptr *)__pyx_v_pdptr->_pvt_ptr), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41782, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41781
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetAddress(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41783
 *     with nogil:
 *         err = cydriver.cuTexRefGetAddress(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41784
 *         err = cydriver.cuTexRefGetAddress(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pdptr)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41784, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 41784, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41783
 *     with nogil:
 *         err = cydriver.cuTexRefGetAddress(<cydriver.CUdeviceptr*>pdptr._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)
*/
  }

  /* "cuda/bindings/driver.pyx":41785
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pdptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 41785, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pdptr)) != (0)) __PYX_ERR(0, 41785, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41746
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddress(hTexRef):
 *     """ Gets the address associated with a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XDECREF((PyObject *)__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41787
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetArray(hTexRef):
 *     """ Gets the array bound to a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_771cuTexRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_770cuTexRefGetArray, "cuTexRefGetArray(hTexRef)\n\nGets the array bound to a texture reference.\n\n[Deprecated]\n\nReturns in `*phArray` the CUDA array bound to the texture reference\n`hTexRef`, or returns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the\ntexture reference is not bound to any CUDA array.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphArray : :py:obj:`~.CUarray`\n    Returned array\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_771cuTexRefGetArray = {"cuTexRefGetArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_771cuTexRefGetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_770cuTexRefGetArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_771cuTexRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41787, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41787, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetArray", 0) < (0)) __PYX_ERR(0, 41787, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetArray", 1, 1, 1, i); __PYX_ERR(0, 41787, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41787, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetArray", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 41787, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_770cuTexRefGetArray(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_770cuTexRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_phArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetArray", 0);

  /* "cuda/bindings/driver.pyx":41814
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41815
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41814
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41816
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41817
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41816
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41819
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUarray phArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41819, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41820
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUarray phArray = CUarray()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41820, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41821
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUarray phArray = CUarray()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhTexRef)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41821, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":41822
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUarray phArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41823
 *     cdef CUarray phArray = CUarray()
 *     with nogil:
 *         err = cydriver.cuTexRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetArray(((CUarray *)__pyx_v_phArray->_pvt_ptr), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41823, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41822
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUarray phArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41824
 *     with nogil:
 *         err = cydriver.cuTexRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phArray)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41825
 *         err = cydriver.cuTexRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phArray)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41825, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 41825, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41824
 *     with nogil:
 *         err = cydriver.cuTexRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phArray)
*/
  }

  /* "cuda/bindings/driver.pyx":41826
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 41826, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phArray)) != (0)) __PYX_ERR(0, 41826, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41787
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetArray(hTexRef):
 *     """ Gets the array bound to a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XDECREF((PyObject *)__pyx_v_phArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41828
 *     return (_dict_CUresult[err], phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmappedArray(hTexRef):
 *     """ Gets the mipmapped array bound to a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_773cuTexRefGetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_772cuTexRefGetMipmappedArray, "cuTexRefGetMipmappedArray(hTexRef)\n\nGets the mipmapped array bound to a texture reference.\n\n[Deprecated]\n\nReturns in `*phMipmappedArray` the CUDA mipmapped array bound to the\ntexture reference `hTexRef`, or returns\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the texture reference is not\nbound to any CUDA mipmapped array.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphMipmappedArray : :py:obj:`~.CUmipmappedArray`\n    Returned mipmapped array\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_773cuTexRefGetMipmappedArray = {"cuTexRefGetMipmappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_773cuTexRefGetMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_772cuTexRefGetMipmappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_773cuTexRefGetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetMipmappedArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41828, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetMipmappedArray", 0) < (0)) __PYX_ERR(0, 41828, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmappedArray", 1, 1, 1, i); __PYX_ERR(0, 41828, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41828, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmappedArray", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 41828, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_772cuTexRefGetMipmappedArray(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_772cuTexRefGetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_phMipmappedArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetMipmappedArray", 0);

  /* "cuda/bindings/driver.pyx":41856
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41857
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41856
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41858
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41859
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41858
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41861
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41861, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41862
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41862, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41863
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmappedArray(<cydriver.CUmipmappedArray*>phMipmappedArray._pvt_ptr, cyhTexRef)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41863, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phMipmappedArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":41864
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmappedArray(<cydriver.CUmipmappedArray*>phMipmappedArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41865
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmappedArray(<cydriver.CUmipmappedArray*>phMipmappedArray._pvt_ptr, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmappedArray(((CUmipmappedArray *)__pyx_v_phMipmappedArray->_pvt_ptr), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41865, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41864
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmappedArray(<cydriver.CUmipmappedArray*>phMipmappedArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41866
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmappedArray(<cydriver.CUmipmappedArray*>phMipmappedArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phMipmappedArray)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41867
 *         err = cydriver.cuTexRefGetMipmappedArray(<cydriver.CUmipmappedArray*>phMipmappedArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phMipmappedArray)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41867, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 41867, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41866
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmappedArray(<cydriver.CUmipmappedArray*>phMipmappedArray._pvt_ptr, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phMipmappedArray)
*/
  }

  /* "cuda/bindings/driver.pyx":41868
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phMipmappedArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 41868, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phMipmappedArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phMipmappedArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phMipmappedArray)) != (0)) __PYX_ERR(0, 41868, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41828
 *     return (_dict_CUresult[err], phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmappedArray(hTexRef):
 *     """ Gets the mipmapped array bound to a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XDECREF((PyObject *)__pyx_v_phMipmappedArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41870
 *     return (_dict_CUresult[err], phMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddressMode(hTexRef, int dim):
 *     """ Gets the addressing mode used by a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_775cuTexRefGetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_774cuTexRefGetAddressMode, "cuTexRefGetAddressMode(hTexRef, int dim)\n\nGets the addressing mode used by a texture reference.\n\n[Deprecated]\n\nReturns in `*pam` the addressing mode corresponding to the dimension\n`dim` of the texture reference `hTexRef`. Currently, the only valid\nvalue for `dim` are 0 and 1.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\ndim : int\n    Dimension\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npam : :py:obj:`~.CUaddress_mode`\n    Returned addressing mode\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_775cuTexRefGetAddressMode = {"cuTexRefGetAddressMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_775cuTexRefGetAddressMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_774cuTexRefGetAddressMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_775cuTexRefGetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  int __pyx_v_dim;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetAddressMode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,&__pyx_mstate_global->__pyx_n_u_dim,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41870, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41870, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41870, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetAddressMode", 0) < (0)) __PYX_ERR(0, 41870, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetAddressMode", 1, 2, 2, i); __PYX_ERR(0, 41870, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41870, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41870, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_dim = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_dim == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41871, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetAddressMode", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41870, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetAddressMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_774cuTexRefGetAddressMode(__pyx_self, __pyx_v_hTexRef, __pyx_v_dim);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_774cuTexRefGetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUaddress_mode __pyx_v_pam;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetAddressMode", 0);

  /* "cuda/bindings/driver.pyx":41899
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41900
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41899
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41901
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41902
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41901
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41904
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUaddress_mode pam
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41904, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41905
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUaddress_mode pam
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41905, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41907
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUaddress_mode pam
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetAddressMode(&pam, cyhTexRef, dim)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41908
 *     cdef cydriver.CUaddress_mode pam
 *     with nogil:
 *         err = cydriver.cuTexRefGetAddressMode(&pam, cyhTexRef, dim)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetAddressMode((&__pyx_v_pam), __pyx_v_cyhTexRef, __pyx_v_dim); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41908, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41907
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUaddress_mode pam
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetAddressMode(&pam, cyhTexRef, dim)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41909
 *     with nogil:
 *         err = cydriver.cuTexRefGetAddressMode(&pam, cyhTexRef, dim)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUaddress_mode(pam))
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41910
 *         err = cydriver.cuTexRefGetAddressMode(&pam, cyhTexRef, dim)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUaddress_mode(pam))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41910, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 41910, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41909
 *     with nogil:
 *         err = cydriver.cuTexRefGetAddressMode(&pam, cyhTexRef, dim)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUaddress_mode(pam))
*/
  }

  /* "cuda/bindings/driver.pyx":41911
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUaddress_mode(pam))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUaddress_mode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_enum__CUaddress_mode_enum(__pyx_v_pam); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 41911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 41911, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 41911, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41870
 *     return (_dict_CUresult[err], phMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddressMode(hTexRef, int dim):
 *     """ Gets the addressing mode used by a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetAddressMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41913
 *     return (_dict_CUresult[err], CUaddress_mode(pam))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFilterMode(hTexRef):
 *     """ Gets the filter-mode used by a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_777cuTexRefGetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_776cuTexRefGetFilterMode, "cuTexRefGetFilterMode(hTexRef)\n\nGets the filter-mode used by a texture reference.\n\n[Deprecated]\n\nReturns in `*pfm` the filtering mode of the texture reference\n`hTexRef`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npfm : :py:obj:`~.CUfilter_mode`\n    Returned filtering mode\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_777cuTexRefGetFilterMode = {"cuTexRefGetFilterMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_777cuTexRefGetFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_776cuTexRefGetFilterMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_777cuTexRefGetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetFilterMode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41913, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41913, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetFilterMode", 0) < (0)) __PYX_ERR(0, 41913, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetFilterMode", 1, 1, 1, i); __PYX_ERR(0, 41913, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41913, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetFilterMode", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 41913, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_776cuTexRefGetFilterMode(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_776cuTexRefGetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfilter_mode __pyx_v_pfm;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetFilterMode", 0);

  /* "cuda/bindings/driver.pyx":41939
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41940
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41939
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41941
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41942
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41941
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41944
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode pfm
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41944, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41945
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41945, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41947
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41948
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:
 *         err = cydriver.cuTexRefGetFilterMode(&pfm, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFilterMode((&__pyx_v_pfm), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41948, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41947
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41949
 *     with nogil:
 *         err = cydriver.cuTexRefGetFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41950
 *         err = cydriver.cuTexRefGetFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41950, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 41950, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41949
 *     with nogil:
 *         err = cydriver.cuTexRefGetFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
*/
  }

  /* "cuda/bindings/driver.pyx":41951
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUfilter_mode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_enum__CUfilter_mode_enum(__pyx_v_pfm); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 41951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 41951, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 41951, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41913
 *     return (_dict_CUresult[err], CUaddress_mode(pam))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFilterMode(hTexRef):
 *     """ Gets the filter-mode used by a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41953
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFormat(hTexRef):
 *     """ Gets the format used by a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_779cuTexRefGetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_778cuTexRefGetFormat, "cuTexRefGetFormat(hTexRef)\n\nGets the format used by a texture reference.\n\n[Deprecated]\n\nReturns in `*pFormat` and `*pNumChannels` the format and number of\ncomponents of the CUDA array bound to the texture reference `hTexRef`.\nIf `pFormat` or `pNumChannels` is NULL, it will be ignored.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npFormat : :py:obj:`~.CUarray_format`\n    Returned format\npNumChannels : int\n    Returned number of components\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_779cuTexRefGetFormat = {"cuTexRefGetFormat", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_779cuTexRefGetFormat, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_778cuTexRefGetFormat};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_779cuTexRefGetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetFormat (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41953, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41953, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetFormat", 0) < (0)) __PYX_ERR(0, 41953, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetFormat", 1, 1, 1, i); __PYX_ERR(0, 41953, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41953, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetFormat", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 41953, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetFormat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_778cuTexRefGetFormat(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_778cuTexRefGetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUarray_format __pyx_v_pFormat;
  int __pyx_v_pNumChannels;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetFormat", 0);

  /* "cuda/bindings/driver.pyx":41982
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41983
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":41982
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41984
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41985
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41984
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41987
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUarray_format pFormat
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41987, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41988
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray_format pFormat
 *     cdef int pNumChannels = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41988, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":41990
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUarray_format pFormat
 *     cdef int pNumChannels = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetFormat(&pFormat, &pNumChannels, cyhTexRef)
*/
  __pyx_v_pNumChannels = 0;

  /* "cuda/bindings/driver.pyx":41991
 *     cdef cydriver.CUarray_format pFormat
 *     cdef int pNumChannels = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetFormat(&pFormat, &pNumChannels, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41992
 *     cdef int pNumChannels = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetFormat(&pFormat, &pNumChannels, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFormat((&__pyx_v_pFormat), (&__pyx_v_pNumChannels), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41992, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41991
 *     cdef cydriver.CUarray_format pFormat
 *     cdef int pNumChannels = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetFormat(&pFormat, &pNumChannels, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41993
 *     with nogil:
 *         err = cydriver.cuTexRefGetFormat(&pFormat, &pNumChannels, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], CUarray_format(pFormat), pNumChannels)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":41994
 *         err = cydriver.cuTexRefGetFormat(&pFormat, &pNumChannels, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUarray_format(pFormat), pNumChannels)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 41994, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 41994, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 41994, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41993
 *     with nogil:
 *         err = cydriver.cuTexRefGetFormat(&pFormat, &pNumChannels, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], CUarray_format(pFormat), pNumChannels)
*/
  }

  /* "cuda/bindings/driver.pyx":41995
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], CUarray_format(pFormat), pNumChannels)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUarray_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_enum__CUarray_format_enum(__pyx_v_pFormat); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_pNumChannels); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 41995, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 41995, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_8) != (0)) __PYX_ERR(0, 41995, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41953
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFormat(hTexRef):
 *     """ Gets the format used by a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetFormat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":41997
 *     return (_dict_CUresult[err], CUarray_format(pFormat), pNumChannels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapFilterMode(hTexRef):
 *     """ Gets the mipmap filtering mode for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_781cuTexRefGetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_780cuTexRefGetMipmapFilterMode, "cuTexRefGetMipmapFilterMode(hTexRef)\n\nGets the mipmap filtering mode for a texture reference.\n\n[Deprecated]\n\nReturns the mipmap filtering mode in `pfm` that's used when reading\nmemory through the texture reference `hTexRef`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npfm : :py:obj:`~.CUfilter_mode`\n    Returned mipmap filtering mode\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_781cuTexRefGetMipmapFilterMode = {"cuTexRefGetMipmapFilterMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_781cuTexRefGetMipmapFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_780cuTexRefGetMipmapFilterMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_781cuTexRefGetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapFilterMode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 41997, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41997, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetMipmapFilterMode", 0) < (0)) __PYX_ERR(0, 41997, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapFilterMode", 1, 1, 1, i); __PYX_ERR(0, 41997, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41997, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapFilterMode", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 41997, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMipmapFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_780cuTexRefGetMipmapFilterMode(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_780cuTexRefGetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfilter_mode __pyx_v_pfm;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapFilterMode", 0);

  /* "cuda/bindings/driver.pyx":42023
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42024
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42023
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42025
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42026
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42025
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42028
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode pfm
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42028, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42029
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42029, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42031
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmapFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42032
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapFilterMode(&pfm, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapFilterMode((&__pyx_v_pfm), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42032, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42031
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmapFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42033
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42034
 *         err = cydriver.cuTexRefGetMipmapFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42034, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 42034, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42033
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapFilterMode(&pfm, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
*/
  }

  /* "cuda/bindings/driver.pyx":42035
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUfilter_mode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_enum__CUfilter_mode_enum(__pyx_v_pfm); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 42035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42035, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 42035, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41997
 *     return (_dict_CUresult[err], CUarray_format(pFormat), pNumChannels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapFilterMode(hTexRef):
 *     """ Gets the mipmap filtering mode for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMipmapFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42037
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelBias(hTexRef):
 *     """ Gets the mipmap level bias for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_783cuTexRefGetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_782cuTexRefGetMipmapLevelBias, "cuTexRefGetMipmapLevelBias(hTexRef)\n\nGets the mipmap level bias for a texture reference.\n\n[Deprecated]\n\nReturns the mipmap level bias in `pBias` that's added to the specified\nmipmap level when reading memory through the texture reference\n`hTexRef`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npbias : float\n    Returned mipmap level bias\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_783cuTexRefGetMipmapLevelBias = {"cuTexRefGetMipmapLevelBias", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_783cuTexRefGetMipmapLevelBias, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_782cuTexRefGetMipmapLevelBias};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_783cuTexRefGetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapLevelBias (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42037, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetMipmapLevelBias", 0) < (0)) __PYX_ERR(0, 42037, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapLevelBias", 1, 1, 1, i); __PYX_ERR(0, 42037, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42037, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapLevelBias", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42037, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMipmapLevelBias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_782cuTexRefGetMipmapLevelBias(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_782cuTexRefGetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  float __pyx_v_pbias;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapLevelBias", 0);

  /* "cuda/bindings/driver.pyx":42064
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42065
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42064
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42066
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42067
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42066
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42069
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pbias = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42069, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42069, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42070
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pbias = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42070, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42071
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pbias = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelBias(&pbias, cyhTexRef)
*/
  __pyx_v_pbias = 0.0;

  /* "cuda/bindings/driver.pyx":42072
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pbias = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmapLevelBias(&pbias, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42073
 *     cdef float pbias = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelBias(&pbias, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapLevelBias((&__pyx_v_pbias), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42073, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42072
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pbias = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmapLevelBias(&pbias, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42074
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelBias(&pbias, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pbias)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42075
 *         err = cydriver.cuTexRefGetMipmapLevelBias(&pbias, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pbias)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42075, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 42075, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42074
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelBias(&pbias, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pbias)
*/
  }

  /* "cuda/bindings/driver.pyx":42076
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pbias)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_pbias); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42076, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 42076, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42037
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelBias(hTexRef):
 *     """ Gets the mipmap level bias for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMipmapLevelBias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42078
 *     return (_dict_CUresult[err], pbias)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelClamp(hTexRef):
 *     """ Gets the min/max mipmap level clamps for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_785cuTexRefGetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_784cuTexRefGetMipmapLevelClamp, "cuTexRefGetMipmapLevelClamp(hTexRef)\n\nGets the min/max mipmap level clamps for a texture reference.\n\n[Deprecated]\n\nReturns the min/max mipmap level clamps in `pminMipmapLevelClamp` and\n`pmaxMipmapLevelClamp` that's used when reading memory through the\ntexture reference `hTexRef`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npminMipmapLevelClamp : float\n    Returned mipmap min level clamp\npmaxMipmapLevelClamp : float\n    Returned mipmap max level clamp\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_785cuTexRefGetMipmapLevelClamp = {"cuTexRefGetMipmapLevelClamp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_785cuTexRefGetMipmapLevelClamp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_784cuTexRefGetMipmapLevelClamp};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_785cuTexRefGetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapLevelClamp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42078, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42078, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetMipmapLevelClamp", 0) < (0)) __PYX_ERR(0, 42078, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapLevelClamp", 1, 1, 1, i); __PYX_ERR(0, 42078, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42078, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapLevelClamp", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42078, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMipmapLevelClamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_784cuTexRefGetMipmapLevelClamp(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_784cuTexRefGetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  float __pyx_v_pminMipmapLevelClamp;
  float __pyx_v_pmaxMipmapLevelClamp;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapLevelClamp", 0);

  /* "cuda/bindings/driver.pyx":42107
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42108
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42107
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42109
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42110
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42109
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42112
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pminMipmapLevelClamp = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42112, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42113
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42113, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42114
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pminMipmapLevelClamp = 0             # <<<<<<<<<<<<<<
 *     cdef float pmaxMipmapLevelClamp = 0
 *     with nogil:
*/
  __pyx_v_pminMipmapLevelClamp = 0.0;

  /* "cuda/bindings/driver.pyx":42115
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, cyhTexRef)
*/
  __pyx_v_pmaxMipmapLevelClamp = 0.0;

  /* "cuda/bindings/driver.pyx":42116
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42117
 *     cdef float pmaxMipmapLevelClamp = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapLevelClamp((&__pyx_v_pminMipmapLevelClamp), (&__pyx_v_pmaxMipmapLevelClamp), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42117, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42116
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42118
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pminMipmapLevelClamp, pmaxMipmapLevelClamp)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42119
 *         err = cydriver.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pminMipmapLevelClamp, pmaxMipmapLevelClamp)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42119, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 42119, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 42119, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42118
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pminMipmapLevelClamp, pmaxMipmapLevelClamp)
*/
  }

  /* "cuda/bindings/driver.pyx":42120
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pminMipmapLevelClamp, pmaxMipmapLevelClamp)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_pminMipmapLevelClamp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pmaxMipmapLevelClamp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42120, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 42120, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 42120, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42078
 *     return (_dict_CUresult[err], pbias)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelClamp(hTexRef):
 *     """ Gets the min/max mipmap level clamps for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMipmapLevelClamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42122
 *     return (_dict_CUresult[err], pminMipmapLevelClamp, pmaxMipmapLevelClamp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMaxAnisotropy(hTexRef):
 *     """ Gets the maximum anisotropy for a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_787cuTexRefGetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_786cuTexRefGetMaxAnisotropy, "cuTexRefGetMaxAnisotropy(hTexRef)\n\nGets the maximum anisotropy for a texture reference.\n\n[Deprecated]\n\nReturns the maximum anisotropy in `pmaxAniso` that's used when reading\nmemory through the texture reference `hTexRef`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npmaxAniso : int\n    Returned maximum anisotropy\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_787cuTexRefGetMaxAnisotropy = {"cuTexRefGetMaxAnisotropy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_787cuTexRefGetMaxAnisotropy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_786cuTexRefGetMaxAnisotropy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_787cuTexRefGetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetMaxAnisotropy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42122, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42122, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetMaxAnisotropy", 0) < (0)) __PYX_ERR(0, 42122, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetMaxAnisotropy", 1, 1, 1, i); __PYX_ERR(0, 42122, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42122, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMaxAnisotropy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42122, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMaxAnisotropy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_786cuTexRefGetMaxAnisotropy(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_786cuTexRefGetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  int __pyx_v_pmaxAniso;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetMaxAnisotropy", 0);

  /* "cuda/bindings/driver.pyx":42148
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42149
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42148
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42150
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42151
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42150
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42153
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef int pmaxAniso = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42153, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42154
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef int pmaxAniso = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42154, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42155
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef int pmaxAniso = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetMaxAnisotropy(&pmaxAniso, cyhTexRef)
*/
  __pyx_v_pmaxAniso = 0;

  /* "cuda/bindings/driver.pyx":42156
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef int pmaxAniso = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMaxAnisotropy(&pmaxAniso, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42157
 *     cdef int pmaxAniso = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetMaxAnisotropy(&pmaxAniso, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMaxAnisotropy((&__pyx_v_pmaxAniso), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42157, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42156
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef int pmaxAniso = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMaxAnisotropy(&pmaxAniso, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42158
 *     with nogil:
 *         err = cydriver.cuTexRefGetMaxAnisotropy(&pmaxAniso, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pmaxAniso)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42159
 *         err = cydriver.cuTexRefGetMaxAnisotropy(&pmaxAniso, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pmaxAniso)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42159, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 42159, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42158
 *     with nogil:
 *         err = cydriver.cuTexRefGetMaxAnisotropy(&pmaxAniso, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pmaxAniso)
*/
  }

  /* "cuda/bindings/driver.pyx":42160
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pmaxAniso)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_pmaxAniso); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42160, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 42160, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42122
 *     return (_dict_CUresult[err], pminMipmapLevelClamp, pmaxMipmapLevelClamp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMaxAnisotropy(hTexRef):
 *     """ Gets the maximum anisotropy for a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetMaxAnisotropy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42162
 *     return (_dict_CUresult[err], pmaxAniso)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetBorderColor(hTexRef):
 *     """ Gets the border color used by a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_789cuTexRefGetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_788cuTexRefGetBorderColor, "cuTexRefGetBorderColor(hTexRef)\n\nGets the border color used by a texture reference.\n\n[Deprecated]\n\nReturns in `pBorderColor`, values of the RGBA color used by the texture\nreference `hTexRef`. The color value is of type float and holds color\ncomponents in the following sequence: pBorderColor[0] holds 'R'\ncomponent pBorderColor[1] holds 'G' component pBorderColor[2] holds 'B'\ncomponent pBorderColor[3] holds 'A' component\n\nParameters\n----------\npBorderColor : :py:obj:`~.CUtexref`\n    Returned Type and Value of RGBA color\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nhTexRef : float\n    Texture reference\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetBorderColor`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_789cuTexRefGetBorderColor = {"cuTexRefGetBorderColor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_789cuTexRefGetBorderColor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_788cuTexRefGetBorderColor};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_789cuTexRefGetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetBorderColor (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42162, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42162, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetBorderColor", 0) < (0)) __PYX_ERR(0, 42162, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetBorderColor", 1, 1, 1, i); __PYX_ERR(0, 42162, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42162, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetBorderColor", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42162, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetBorderColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_788cuTexRefGetBorderColor(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_788cuTexRefGetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  float __pyx_v_pBorderColor;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetBorderColor", 0);

  /* "cuda/bindings/driver.pyx":42191
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42192
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42191
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42193
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42194
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42193
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42196
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pBorderColor = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42196, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42197
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pBorderColor = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42197, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42198
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pBorderColor = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetBorderColor(&pBorderColor, cyhTexRef)
*/
  __pyx_v_pBorderColor = 0.0;

  /* "cuda/bindings/driver.pyx":42199
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pBorderColor = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetBorderColor(&pBorderColor, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42200
 *     cdef float pBorderColor = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetBorderColor(&pBorderColor, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetBorderColor((&__pyx_v_pBorderColor), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42200, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42199
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pBorderColor = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetBorderColor(&pBorderColor, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42201
 *     with nogil:
 *         err = cydriver.cuTexRefGetBorderColor(&pBorderColor, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pBorderColor)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42202
 *         err = cydriver.cuTexRefGetBorderColor(&pBorderColor, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pBorderColor)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42202, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 42202, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42201
 *     with nogil:
 *         err = cydriver.cuTexRefGetBorderColor(&pBorderColor, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pBorderColor)
*/
  }

  /* "cuda/bindings/driver.pyx":42203
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pBorderColor)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_pBorderColor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42203, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 42203, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42162
 *     return (_dict_CUresult[err], pmaxAniso)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetBorderColor(hTexRef):
 *     """ Gets the border color used by a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetBorderColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42205
 *     return (_dict_CUresult[err], pBorderColor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFlags(hTexRef):
 *     """ Gets the flags used by a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_791cuTexRefGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_790cuTexRefGetFlags, "cuTexRefGetFlags(hTexRef)\n\nGets the flags used by a texture reference.\n\n[Deprecated]\n\nReturns in `*pFlags` the flags of the texture reference `hTexRef`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npFlags : unsigned int\n    Returned flags\n\nSee Also\n--------\n:py:obj:`~.cuTexRefSetAddress`, :py:obj:`~.cuTexRefSetAddress2D`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetArray`, :py:obj:`~.cuTexRefSetFilterMode`, :py:obj:`~.cuTexRefSetFlags`, :py:obj:`~.cuTexRefSetFormat`, :py:obj:`~.cuTexRefGetAddress`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFormat`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_791cuTexRefGetFlags = {"cuTexRefGetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_791cuTexRefGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_790cuTexRefGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_791cuTexRefGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefGetFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42205, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42205, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefGetFlags", 0) < (0)) __PYX_ERR(0, 42205, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefGetFlags", 1, 1, 1, i); __PYX_ERR(0, 42205, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42205, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42205, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_790cuTexRefGetFlags(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_790cuTexRefGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  unsigned int __pyx_v_pFlags;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetFlags", 0);

  /* "cuda/bindings/driver.pyx":42230
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42231
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42230
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42232
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42233
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42232
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42235
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef unsigned int pFlags = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42235, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42236
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef unsigned int pFlags = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42236, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42237
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef unsigned int pFlags = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefGetFlags(&pFlags, cyhTexRef)
*/
  __pyx_v_pFlags = 0;

  /* "cuda/bindings/driver.pyx":42238
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef unsigned int pFlags = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetFlags(&pFlags, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42239
 *     cdef unsigned int pFlags = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetFlags(&pFlags, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFlags((&__pyx_v_pFlags), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42239, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42238
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef unsigned int pFlags = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetFlags(&pFlags, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42240
 *     with nogil:
 *         err = cydriver.cuTexRefGetFlags(&pFlags, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFlags)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42241
 *         err = cydriver.cuTexRefGetFlags(&pFlags, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pFlags)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42241, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 42241, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42240
 *     with nogil:
 *         err = cydriver.cuTexRefGetFlags(&pFlags, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFlags)
*/
  }

  /* "cuda/bindings/driver.pyx":42242
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pFlags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_pFlags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42242, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 42242, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42205
 *     return (_dict_CUresult[err], pBorderColor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFlags(hTexRef):
 *     """ Gets the flags used by a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42244
 *     return (_dict_CUresult[err], pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefCreate():
 *     """ Creates a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_793cuTexRefCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_792cuTexRefCreate, "cuTexRefCreate()\n\nCreates a texture reference.\n\n[Deprecated]\n\nCreates a texture reference and returns its handle in `*pTexRef`. Once\ncreated, the application must call :py:obj:`~.cuTexRefSetArray()` or\n:py:obj:`~.cuTexRefSetAddress()` to associate the reference with\nallocated memory. Other texture reference functions are used to specify\nthe format and interpretation (addressing, filtering, etc.) to be used\nwhen the memory is read through this texture reference.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npTexRef : :py:obj:`~.CUtexref`\n    Returned texture reference\n\nSee Also\n--------\n:py:obj:`~.cuTexRefDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_793cuTexRefCreate = {"cuTexRefCreate", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_793cuTexRefCreate, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_792cuTexRefCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_793cuTexRefCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefCreate (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_792cuTexRefCreate(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_792cuTexRefCreate(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_pTexRef = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefCreate", 0);

  /* "cuda/bindings/driver.pyx":42268
 *     :py:obj:`~.cuTexRefDestroy`
 *     """
 *     cdef CUtexref pTexRef = CUtexref()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42268, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pTexRef = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":42269
 *     """
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42270
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefCreate(((CUtexref *)__pyx_v_pTexRef->_pvt_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42270, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":42269
 *     """
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":42271
 *     with nogil:
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexRef)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":42272
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pTexRef)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42272, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 42272, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42271
 *     with nogil:
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexRef)
*/
  }

  /* "cuda/bindings/driver.pyx":42273
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexRef)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 42273, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pTexRef)) != (0)) __PYX_ERR(0, 42273, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42244
 *     return (_dict_CUresult[err], pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefCreate():
 *     """ Creates a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42275
 *     return (_dict_CUresult[err], pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefDestroy(hTexRef):
 *     """ Destroys a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_795cuTexRefDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_794cuTexRefDestroy, "cuTexRefDestroy(hTexRef)\n\nDestroys a texture reference.\n\n[Deprecated]\n\nDestroys the texture reference specified by `hTexRef`.\n\nParameters\n----------\nhTexRef : :py:obj:`~.CUtexref`\n    Texture reference to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexRefCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_795cuTexRefDestroy = {"cuTexRefDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_795cuTexRefDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_794cuTexRefDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_795cuTexRefDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hTexRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexRefDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hTexRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42275, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42275, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexRefDestroy", 0) < (0)) __PYX_ERR(0, 42275, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexRefDestroy", 1, 1, 1, i); __PYX_ERR(0, 42275, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42275, __pyx_L3_error)
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42275, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_794cuTexRefDestroy(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_794cuTexRefDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_cyhTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefDestroy", 0);

  /* "cuda/bindings/driver.pyx":42298
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42299
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
 *         phTexRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phTexRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42298
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42300
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42301
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42300
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42303
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42303, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42304
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefDestroy(cyhTexRef)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42304, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42305
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefDestroy(cyhTexRef)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42306
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefDestroy(cyhTexRef)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefDestroy(__pyx_v_cyhTexRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42306, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42305
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefDestroy(cyhTexRef)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42307
 *     with nogil:
 *         err = cydriver.cuTexRefDestroy(cyhTexRef)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42307, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42275
 *     return (_dict_CUresult[err], pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefDestroy(hTexRef):
 *     """ Destroys a texture reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexRefDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42309
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefSetArray(hSurfRef, hArray, unsigned int Flags):
 *     """ Sets the CUDA array for a surface reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_797cuSurfRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_796cuSurfRefSetArray, "cuSurfRefSetArray(hSurfRef, hArray, unsigned int Flags)\n\nSets the CUDA array for a surface reference.\n\n[Deprecated]\n\nSets the CUDA array `hArray` to be read and written by the surface\nreference `hSurfRef`. Any previous CUDA array state associated with the\nsurface reference is superseded by this function. `Flags` must be set\nto 0. The :py:obj:`~.CUDA_ARRAY3D_SURFACE_LDST` flag must have been set\nfor the CUDA array. Any CUDA array previously bound to `hSurfRef` is\nunbound.\n\nParameters\n----------\nhSurfRef : :py:obj:`~.CUsurfref`\n    Surface reference handle\nhArray : :py:obj:`~.CUarray`\n    CUDA array handle\nFlags : unsigned int\n    set to 0\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetSurfRef`, :py:obj:`~.cuSurfRefGetArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_797cuSurfRefSetArray = {"cuSurfRefSetArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_797cuSurfRefSetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_796cuSurfRefSetArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_797cuSurfRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hSurfRef = 0;
  PyObject *__pyx_v_hArray = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuSurfRefSetArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hSurfRef,&__pyx_mstate_global->__pyx_n_u_hArray_2,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42309, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 42309, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42309, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42309, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuSurfRefSetArray", 0) < (0)) __PYX_ERR(0, 42309, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuSurfRefSetArray", 1, 3, 3, i); __PYX_ERR(0, 42309, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42309, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42309, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 42309, __pyx_L3_error)
    }
    __pyx_v_hSurfRef = values[0];
    __pyx_v_hArray = values[1];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 42310, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfRefSetArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 42309, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfRefSetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_796cuSurfRefSetArray(__pyx_self, __pyx_v_hSurfRef, __pyx_v_hArray, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_796cuSurfRefSetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef, PyObject *__pyx_v_hArray, unsigned int __pyx_v_Flags) {
  CUarray __pyx_v_cyhArray;
  PyObject *__pyx_v_phArray = NULL;
  CUsurfref __pyx_v_cyhSurfRef;
  PyObject *__pyx_v_phSurfRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfRefSetArray", 0);

  /* "cuda/bindings/driver.pyx":42341
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42342
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:
 *         phArray = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phArray = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42341
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42343
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42344
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42343
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42346
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef cydriver.CUsurfref cyhSurfRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42346, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42347
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42347, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42349
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
*/
  __pyx_t_1 = (__pyx_v_hSurfRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42350
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:
 *         phSurfRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phSurfRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42349
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":42351
 *     if hSurfRef is None:
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hSurfRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42352
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hSurfRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phSurfRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":42351
 *     if hSurfRef is None:
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":42354
 *         phSurfRef = int(hSurfRef)
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))             # <<<<<<<<<<<<<<
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hSurfRef};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42354, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phSurfRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":42355
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuSurfRefSetArray(cyhSurfRef, cyhArray, Flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phSurfRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42355, __pyx_L1_error)
  __pyx_v_cyhSurfRef = ((CUsurfref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42356
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfRefSetArray(cyhSurfRef, cyhArray, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42357
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     with nogil:
 *         err = cydriver.cuSurfRefSetArray(cyhSurfRef, cyhArray, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfRefSetArray(__pyx_v_cyhSurfRef, __pyx_v_cyhArray, __pyx_v_Flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42357, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42356
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfRefSetArray(cyhSurfRef, cyhArray, Flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":42358
 *     with nogil:
 *         err = cydriver.cuSurfRefSetArray(cyhSurfRef, cyhArray, Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42358, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42309
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefSetArray(hSurfRef, hArray, unsigned int Flags):
 *     """ Sets the CUDA array for a surface reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfRefSetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_XDECREF(__pyx_v_phSurfRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42360
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefGetArray(hSurfRef):
 *     """ Passes back the CUDA array bound to a surface reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_799cuSurfRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_798cuSurfRefGetArray, "cuSurfRefGetArray(hSurfRef)\n\nPasses back the CUDA array bound to a surface reference.\n\n[Deprecated]\n\nReturns in `*phArray` the CUDA array bound to the surface reference\n`hSurfRef`, or returns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the\nsurface reference is not bound to any CUDA array.\n\nParameters\n----------\nhSurfRef : :py:obj:`~.CUsurfref`\n    Surface reference handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nphArray : :py:obj:`~.CUarray`\n    Surface reference handle\n\nSee Also\n--------\n:py:obj:`~.cuModuleGetSurfRef`, :py:obj:`~.cuSurfRefSetArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_799cuSurfRefGetArray = {"cuSurfRefGetArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_799cuSurfRefGetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_798cuSurfRefGetArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_799cuSurfRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hSurfRef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuSurfRefGetArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hSurfRef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42360, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42360, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuSurfRefGetArray", 0) < (0)) __PYX_ERR(0, 42360, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuSurfRefGetArray", 1, 1, 1, i); __PYX_ERR(0, 42360, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42360, __pyx_L3_error)
    }
    __pyx_v_hSurfRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfRefGetArray", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42360, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfRefGetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_798cuSurfRefGetArray(__pyx_self, __pyx_v_hSurfRef);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_798cuSurfRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef) {
  CUsurfref __pyx_v_cyhSurfRef;
  PyObject *__pyx_v_phSurfRef = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_phArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfRefGetArray", 0);

  /* "cuda/bindings/driver.pyx":42387
 *     """
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
*/
  __pyx_t_1 = (__pyx_v_hSurfRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42388
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:
 *         phSurfRef = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phSurfRef = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42387
 *     """
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42389
 *     if hSurfRef is None:
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hSurfRef, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42390
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hSurfRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phSurfRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42389
 *     if hSurfRef is None:
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42392
 *         phSurfRef = int(hSurfRef)
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))             # <<<<<<<<<<<<<<
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     cdef CUarray phArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hSurfRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42392, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phSurfRef = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42393
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef             # <<<<<<<<<<<<<<
 *     cdef CUarray phArray = CUarray()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phSurfRef); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42393, __pyx_L1_error)
  __pyx_v_cyhSurfRef = ((CUsurfref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42394
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     cdef CUarray phArray = CUarray()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuSurfRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhSurfRef)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42394, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":42395
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     cdef CUarray phArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhSurfRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42396
 *     cdef CUarray phArray = CUarray()
 *     with nogil:
 *         err = cydriver.cuSurfRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhSurfRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfRefGetArray(((CUarray *)__pyx_v_phArray->_pvt_ptr), __pyx_v_cyhSurfRef); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42396, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42395
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     cdef CUarray phArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhSurfRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42397
 *     with nogil:
 *         err = cydriver.cuSurfRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhSurfRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phArray)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42398
 *         err = cydriver.cuSurfRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhSurfRef)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phArray)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42398, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 42398, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42397
 *     with nogil:
 *         err = cydriver.cuSurfRefGetArray(<cydriver.CUarray*>phArray._pvt_ptr, cyhSurfRef)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phArray)
*/
  }

  /* "cuda/bindings/driver.pyx":42399
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42399, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phArray)) != (0)) __PYX_ERR(0, 42399, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42360
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefGetArray(hSurfRef):
 *     """ Passes back the CUDA array bound to a surface reference.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfRefGetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phSurfRef);
  __Pyx_XDECREF((PyObject *)__pyx_v_phArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42401
 *     return (_dict_CUresult[err], phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC], pTexDesc : Optional[CUDA_TEXTURE_DESC], pResViewDesc : Optional[CUDA_RESOURCE_VIEW_DESC]):
 *     """ Creates a texture object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_801cuTexObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_800cuTexObjectCreate, "cuTexObjectCreate(CUDA_RESOURCE_DESC pResDesc: Optional[CUDA_RESOURCE_DESC], CUDA_TEXTURE_DESC pTexDesc: Optional[CUDA_TEXTURE_DESC], CUDA_RESOURCE_VIEW_DESC pResViewDesc: Optional[CUDA_RESOURCE_VIEW_DESC])\n\nCreates a texture object.\n\nCreates a texture object and returns it in `pTexObject`. `pResDesc`\ndescribes the data to texture from. `pTexDesc` describes how the data\nshould be sampled. `pResViewDesc` is an optional argument that\nspecifies an alternate format for the data described by `pResDesc`, and\nalso describes the subresource region to restrict access to when\ntexturing. `pResViewDesc` can only be specified if the type of resource\nis a CUDA array or a CUDA mipmapped array not in a block compressed\nformat.\n\nTexture objects are only supported on devices of compute capability 3.0\nor higher. Additionally, a texture object is an opaque value, and, as\nsuch, should only be accessed through CUDA API calls.\n\nThe :py:obj:`~.CUDA_RESOURCE_DESC` structure is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.CUDA_RESOURCE_DESC.resType` specifies the type of resource\n  to texture from. CUresourceType is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\nIf :py:obj:`~.CUDA_RESOURCE_DESC.resType` is set to\n:py:obj:`~.CU_RESOURCE_TYPE_ARRAY`,\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::array::hArray must be set to a\nvalid CUDA array handle.\n\nIf :py:obj:`~.CUDA_RESOURCE_DESC.resType` is set to\n:py:obj:`~.CU_RESOURCE_TYPE_MIPMAPPED_ARRAY`,\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::mipmap::hMipmappedArray must be\nset to a valid CUDA mipmapped array handle.\n\nIf :py:obj:`~.CUDA_RESOURCE_DESC.resType` is set to\n:py:obj:`~.CU_RESOURCE_TYPE_LINEAR`,\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::linear::devPtr must be set to a\nvalid device pointer, that is aligned to\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT`.\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::linear::format and\n:py:obj:`~.CUDA_RESOURCE""_DESC`::res::linear::numChannels describe the\nformat of each component and the number of components per array\nelement. :py:obj:`~.CUDA_RESOURCE_DESC`::res::linear::sizeInBytes\nspecifies the size of the array in bytes. The total number of elements\nin the linear address range cannot exceed\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH`. The\nnumber of elements is computed as (sizeInBytes / (sizeof(format) *\nnumChannels)).\n\nIf :py:obj:`~.CUDA_RESOURCE_DESC.resType` is set to\n:py:obj:`~.CU_RESOURCE_TYPE_PITCH2D`,\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::devPtr must be set to a\nvalid device pointer, that is aligned to\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT`.\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::format and\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::numChannels describe the\nformat of each component and the number of components per array\nelement. :py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::width and\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::height specify the width\nand height of the array in elements, and cannot exceed\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH` and\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT`\nrespectively.\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::pitchInBytes specifies\nthe pitch between two rows in bytes and has to be aligned to\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT`. Pitch cannot\nexceed :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH`.\n\n- :py:obj:`~.flags` must be set to zero.\n\nThe :py:obj:`~.CUDA_TEXTURE_DESC` struct is defined as\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere\n\n- :py:obj:`~.CUDA_TEXTURE_DESC.addressMode` specifies the addressing\n  mode for each dimension of the texture data.\n  :py:obj:`~.CUaddress_mode` is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- This is ignored if :py:obj:`~.CUDA_RESOURCE_DESC.resType` is\n  :py:obj:`~.C""U_RESOURCE_TYPE_LINEAR`. Also, if the flag,\n  :py:obj:`~.CU_TRSF_NORMALIZED_COORDINATES` is not set, the only\n  supported address mode is :py:obj:`~.CU_TR_ADDRESS_MODE_CLAMP`.\n\n- :py:obj:`~.CUDA_TEXTURE_DESC.filterMode` specifies the filtering mode\n  to be used when fetching from the texture. CUfilter_mode is defined\n  as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- This is ignored if :py:obj:`~.CUDA_RESOURCE_DESC.resType` is\n  :py:obj:`~.CU_RESOURCE_TYPE_LINEAR`.\n\n- :py:obj:`~.CUDA_TEXTURE_DESC.flags` can be any combination of the\n  following:\n\n  - :py:obj:`~.CU_TRSF_READ_AS_INTEGER`, which suppresses the default\n    behavior of having the texture promote integer data to floating\n    point data in the range [0, 1]. Note that texture with 32-bit\n    integer format would not be promoted, regardless of whether or not\n    this flag is specified.\n\n  - :py:obj:`~.CU_TRSF_NORMALIZED_COORDINATES`, which suppresses the\n    default behavior of having the texture coordinates range from [0,\n    Dim) where Dim is the width or height of the CUDA array. Instead,\n    the texture coordinates [0, 1.0) reference the entire breadth of\n    the array dimension; Note that for CUDA mipmapped arrays, this flag\n    has to be set.\n\n  - :py:obj:`~.CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION`, which disables\n    any trilinear filtering optimizations. Trilinear optimizations\n    improve texture filtering performance by allowing bilinear\n    filtering on textures in scenarios where it can closely approximate\n    the expected results.\n\n  - :py:obj:`~.CU_TRSF_SEAMLESS_CUBEMAP`, which enables seamless cube\n    map filtering. This flag can only be specified if the underlying\n    resource is a CUDA array or a CUDA mipmapped array that was created\n    with the flag :py:obj:`~.CUDA_ARRAY3D_CUBEMAP`. When seamless cube\n    map filtering is enabled, texture address modes specified by\n    :py:obj:`~.CUDA_TEXTURE_DESC.addressMode` are ignored. Instead"", if\n    the :py:obj:`~.CUDA_TEXTURE_DESC.filterMode` is set to\n    :py:obj:`~.CU_TR_FILTER_MODE_POINT` the address mode\n    :py:obj:`~.CU_TR_ADDRESS_MODE_CLAMP` will be applied for all\n    dimensions. If the :py:obj:`~.CUDA_TEXTURE_DESC.filterMode` is set\n    to :py:obj:`~.CU_TR_FILTER_MODE_LINEAR` seamless cube map filtering\n    will be performed when sampling along the cube face borders.\n\n- :py:obj:`~.CUDA_TEXTURE_DESC.maxAnisotropy` specifies the maximum\n  anisotropy ratio to be used when doing anisotropic filtering. This\n  value will be clamped to the range [1,16].\n\n- :py:obj:`~.CUDA_TEXTURE_DESC.mipmapFilterMode` specifies the filter\n  mode when the calculated mipmap level lies between two defined mipmap\n  levels.\n\n- :py:obj:`~.CUDA_TEXTURE_DESC.mipmapLevelBias` specifies the offset to\n  be applied to the calculated mipmap level.\n\n- :py:obj:`~.CUDA_TEXTURE_DESC.minMipmapLevelClamp` specifies the lower\n  end of the mipmap level range to clamp access to.\n\n- :py:obj:`~.CUDA_TEXTURE_DESC.maxMipmapLevelClamp` specifies the upper\n  end of the mipmap level range to clamp access to.\n\nThe :py:obj:`~.CUDA_RESOURCE_VIEW_DESC` struct is defined as\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nwhere:\n\n- :py:obj:`~.CUDA_RESOURCE_VIEW_DESC.format` specifies how the data\n  contained in the CUDA array or CUDA mipmapped array should be\n  interpreted. Note that this can incur a change in size of the texture\n  data. If the resource view format is a block compressed format, then\n  the underlying CUDA array or CUDA mipmapped array has to have a base\n  of format :py:obj:`~.CU_AD_FORMAT_UNSIGNED_INT32`. with 2 or 4\n  channels, depending on the block compressed format. For ex., BC1 and\n  BC4 require the underlying CUDA array to have a format of\n  :py:obj:`~.CU_AD_FORMAT_UNSIGNED_INT32` with 2 channels. The other BC\n  formats require the underlying resource to have the same base format\n  but with 4 channels.\n\n- :py:obj:`~.CUDA_R""ESOURCE_VIEW_DESC.width` specifies the new width of\n  the texture data. If the resource view format is a block compressed\n  format, this value has to be 4 times the original width of the\n  resource. For non block compressed formats, this value has to be\n  equal to that of the original resource.\n\n- :py:obj:`~.CUDA_RESOURCE_VIEW_DESC.height` specifies the new height\n  of the texture data. If the resource view format is a block\n  compressed format, this value has to be 4 times the original height\n  of the resource. For non block compressed formats, this value has to\n  be equal to that of the original resource.\n\n- :py:obj:`~.CUDA_RESOURCE_VIEW_DESC.depth` specifies the new depth of\n  the texture data. This value has to be equal to that of the original\n  resource.\n\n- :py:obj:`~.CUDA_RESOURCE_VIEW_DESC.firstMipmapLevel` specifies the\n  most detailed mipmap level. This will be the new mipmap level zero.\n  For non-mipmapped resources, this value has to be\n  zero.:py:obj:`~.CUDA_TEXTURE_DESC.minMipmapLevelClamp` and\n  :py:obj:`~.CUDA_TEXTURE_DESC.maxMipmapLevelClamp` will be relative to\n  this value. For ex., if the firstMipmapLevel is set to 2, and a\n  minMipmapLevelClamp of 1.2 is specified, then the actual minimum\n  mipmap level clamp will be 3.2.\n\n- :py:obj:`~.CUDA_RESOURCE_VIEW_DESC.lastMipmapLevel` specifies the\n  least detailed mipmap level. For non-mipmapped resources, this value\n  has to be zero.\n\n- :py:obj:`~.CUDA_RESOURCE_VIEW_DESC.firstLayer` specifies the first\n  layer index for layered textures. This will be the new layer zero.\n  For non-layered resources, this value has to be zero.\n\n- :py:obj:`~.CUDA_RESOURCE_VIEW_DESC.lastLayer` specifies the last\n  layer index for layered textures. For non-layered resources, this\n  value has to be zero.\n\nParameters\n----------\npResDesc : :py:obj:`~.CUDA_RESOURCE_DESC`\n    Resource descriptor\npTexDesc : :py:obj:`~.CUDA_TEXTURE_DESC`\n    Texture descriptor\npResViewDesc : :py:obj:`~.CUD""A_RESOURCE_VIEW_DESC`\n    Resource view descriptor\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npTexObject : :py:obj:`~.CUtexObject`\n    Texture object to create\n\nSee Also\n--------\n:py:obj:`~.cuTexObjectDestroy`, :py:obj:`~.cudaCreateTextureObject`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_801cuTexObjectCreate = {"cuTexObjectCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_801cuTexObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_800cuTexObjectCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_801cuTexObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *__pyx_v_pResDesc = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC *__pyx_v_pTexDesc = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC *__pyx_v_pResViewDesc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexObjectCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pResDesc,&__pyx_mstate_global->__pyx_n_u_pTexDesc,&__pyx_mstate_global->__pyx_n_u_pResViewDesc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42401, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 42401, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42401, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42401, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexObjectCreate", 0) < (0)) __PYX_ERR(0, 42401, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexObjectCreate", 1, 3, 3, i); __PYX_ERR(0, 42401, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42401, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42401, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 42401, __pyx_L3_error)
    }
    __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *)values[0]);
    __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC *)values[1]);
    __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 42401, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pResDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC, 1, "pResDesc", 0))) __PYX_ERR(0, 42402, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pTexDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC, 1, "pTexDesc", 0))) __PYX_ERR(0, 42402, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pResViewDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC, 1, "pResViewDesc", 0))) __PYX_ERR(0, 42402, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_800cuTexObjectCreate(__pyx_self, __pyx_v_pResDesc, __pyx_v_pTexDesc, __pyx_v_pResViewDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_800cuTexObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *__pyx_v_pResDesc, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC *__pyx_v_pTexDesc, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC *__pyx_v_pResViewDesc) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *__pyx_v_pTexObject = 0;
  CUDA_RESOURCE_DESC *__pyx_v_cypResDesc_ptr;
  CUDA_TEXTURE_DESC *__pyx_v_cypTexDesc_ptr;
  CUDA_RESOURCE_VIEW_DESC *__pyx_v_cypResViewDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUDA_RESOURCE_DESC_st *__pyx_t_5;
  int __pyx_t_6;
  struct CUDA_TEXTURE_DESC_st *__pyx_t_7;
  struct CUDA_RESOURCE_VIEW_DESC_st *__pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectCreate", 0);

  /* "cuda/bindings/driver.pyx":42628
 *     :py:obj:`~.cuTexObjectDestroy`, :py:obj:`~.cudaCreateTextureObject`
 *     """
 *     cdef CUtexObject pTexObject = CUtexObject()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL
 *     cdef cydriver.CUDA_TEXTURE_DESC* cypTexDesc_ptr = pTexDesc._pvt_ptr if pTexDesc is not None else NULL
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42628, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pTexObject = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":42629
 *     """
 *     cdef CUtexObject pTexObject = CUtexObject()
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_TEXTURE_DESC* cypTexDesc_ptr = pTexDesc._pvt_ptr if pTexDesc is not None else NULL
 *     cdef cydriver.CUDA_RESOURCE_VIEW_DESC* cypResViewDesc_ptr = pResViewDesc._pvt_ptr if pResViewDesc is not None else NULL
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_pResDesc) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_pResDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cypResDesc_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":42630
 *     cdef CUtexObject pTexObject = CUtexObject()
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL
 *     cdef cydriver.CUDA_TEXTURE_DESC* cypTexDesc_ptr = pTexDesc._pvt_ptr if pTexDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_RESOURCE_VIEW_DESC* cypResViewDesc_ptr = pResViewDesc._pvt_ptr if pResViewDesc is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_pTexDesc) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_7 = __pyx_v_pTexDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cypTexDesc_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":42631
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL
 *     cdef cydriver.CUDA_TEXTURE_DESC* cypTexDesc_ptr = pTexDesc._pvt_ptr if pTexDesc is not None else NULL
 *     cdef cydriver.CUDA_RESOURCE_VIEW_DESC* cypResViewDesc_ptr = pResViewDesc._pvt_ptr if pResViewDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexObjectCreate(<cydriver.CUtexObject*>pTexObject._pvt_ptr, cypResDesc_ptr, cypTexDesc_ptr, cypResViewDesc_ptr)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_pResViewDesc) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_8 = __pyx_v_pResViewDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_8 = NULL;
  }
  __pyx_v_cypResViewDesc_ptr = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":42632
 *     cdef cydriver.CUDA_TEXTURE_DESC* cypTexDesc_ptr = pTexDesc._pvt_ptr if pTexDesc is not None else NULL
 *     cdef cydriver.CUDA_RESOURCE_VIEW_DESC* cypResViewDesc_ptr = pResViewDesc._pvt_ptr if pResViewDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectCreate(<cydriver.CUtexObject*>pTexObject._pvt_ptr, cypResDesc_ptr, cypTexDesc_ptr, cypResViewDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42633
 *     cdef cydriver.CUDA_RESOURCE_VIEW_DESC* cypResViewDesc_ptr = pResViewDesc._pvt_ptr if pResViewDesc is not None else NULL
 *     with nogil:
 *         err = cydriver.cuTexObjectCreate(<cydriver.CUtexObject*>pTexObject._pvt_ptr, cypResDesc_ptr, cypTexDesc_ptr, cypResViewDesc_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuTexObjectCreate(((CUtexObject *)__pyx_v_pTexObject->_pvt_ptr), __pyx_v_cypResDesc_ptr, __pyx_v_cypTexDesc_ptr, __pyx_v_cypResViewDesc_ptr); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42633, __pyx_L4_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":42632
 *     cdef cydriver.CUDA_TEXTURE_DESC* cypTexDesc_ptr = pTexDesc._pvt_ptr if pTexDesc is not None else NULL
 *     cdef cydriver.CUDA_RESOURCE_VIEW_DESC* cypResViewDesc_ptr = pResViewDesc._pvt_ptr if pResViewDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectCreate(<cydriver.CUtexObject*>pTexObject._pvt_ptr, cypResDesc_ptr, cypTexDesc_ptr, cypResViewDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":42634
 *     with nogil:
 *         err = cydriver.cuTexObjectCreate(<cydriver.CUtexObject*>pTexObject._pvt_ptr, cypResDesc_ptr, cypTexDesc_ptr, cypResViewDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexObject)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":42635
 *         err = cydriver.cuTexObjectCreate(<cydriver.CUtexObject*>pTexObject._pvt_ptr, cypResDesc_ptr, cypTexDesc_ptr, cypResViewDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pTexObject)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42635, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 42635, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42634
 *     with nogil:
 *         err = cydriver.cuTexObjectCreate(<cydriver.CUtexObject*>pTexObject._pvt_ptr, cypResDesc_ptr, cypTexDesc_ptr, cypResViewDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexObject)
*/
  }

  /* "cuda/bindings/driver.pyx":42636
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexObject)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 42636, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexObject);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexObject);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pTexObject)) != (0)) __PYX_ERR(0, 42636, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42401
 *     return (_dict_CUresult[err], phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC], pTexDesc : Optional[CUDA_TEXTURE_DESC], pResViewDesc : Optional[CUDA_RESOURCE_VIEW_DESC]):
 *     """ Creates a texture object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pTexObject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42638
 *     return (_dict_CUresult[err], pTexObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectDestroy(texObject):
 *     """ Destroys a texture object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_803cuTexObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_802cuTexObjectDestroy, "cuTexObjectDestroy(texObject)\n\nDestroys a texture object.\n\nDestroys the texture object specified by `texObject`.\n\nParameters\n----------\ntexObject : :py:obj:`~.CUtexObject`\n    Texture object to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTexObjectCreate`, :py:obj:`~.cudaDestroyTextureObject`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_803cuTexObjectDestroy = {"cuTexObjectDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_803cuTexObjectDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_802cuTexObjectDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_803cuTexObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_texObject = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexObjectDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_texObject,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42638, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42638, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexObjectDestroy", 0) < (0)) __PYX_ERR(0, 42638, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexObjectDestroy", 1, 1, 1, i); __PYX_ERR(0, 42638, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42638, __pyx_L3_error)
    }
    __pyx_v_texObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42638, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_802cuTexObjectDestroy(__pyx_self, __pyx_v_texObject);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_802cuTexObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  CUtexObject __pyx_v_cytexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectDestroy", 0);

  /* "cuda/bindings/driver.pyx":42659
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42660
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:
 *         ptexObject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ptexObject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42659
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42661
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42662
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42661
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42664
 *         ptexObject = int(texObject)
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_texObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42664, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42665
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexObjectDestroy(cytexObject)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42665, __pyx_L1_error)
  __pyx_v_cytexObject = ((CUtexObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42666
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectDestroy(cytexObject)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42667
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     with nogil:
 *         err = cydriver.cuTexObjectDestroy(cytexObject)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexObjectDestroy(__pyx_v_cytexObject); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42667, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42666
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectDestroy(cytexObject)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42668
 *     with nogil:
 *         err = cydriver.cuTexObjectDestroy(cytexObject)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42668, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42638
 *     return (_dict_CUresult[err], pTexObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectDestroy(texObject):
 *     """ Destroys a texture object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ptexObject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42670
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceDesc(texObject):
 *     """ Returns a texture object's resource descriptor.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_805cuTexObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_804cuTexObjectGetResourceDesc, "cuTexObjectGetResourceDesc(texObject)\n\nReturns a texture object's resource descriptor.\n\nReturns the resource descriptor for the texture object specified by\n`texObject`.\n\nParameters\n----------\ntexObject : :py:obj:`~.CUtexObject`\n    Texture object\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npResDesc : :py:obj:`~.CUDA_RESOURCE_DESC`\n    Resource descriptor\n\nSee Also\n--------\n:py:obj:`~.cuTexObjectCreate`, :py:obj:`~.cudaGetTextureObjectResourceDesc`,");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_805cuTexObjectGetResourceDesc = {"cuTexObjectGetResourceDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_805cuTexObjectGetResourceDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_804cuTexObjectGetResourceDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_805cuTexObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_texObject = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexObjectGetResourceDesc (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_texObject,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42670, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42670, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexObjectGetResourceDesc", 0) < (0)) __PYX_ERR(0, 42670, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexObjectGetResourceDesc", 1, 1, 1, i); __PYX_ERR(0, 42670, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42670, __pyx_L3_error)
    }
    __pyx_v_texObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectGetResourceDesc", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42670, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectGetResourceDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_804cuTexObjectGetResourceDesc(__pyx_self, __pyx_v_texObject);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_804cuTexObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  CUtexObject __pyx_v_cytexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *__pyx_v_pResDesc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectGetResourceDesc", 0);

  /* "cuda/bindings/driver.pyx":42694
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42695
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:
 *         ptexObject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ptexObject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42694
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42696
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42697
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42696
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42699
 *         ptexObject = int(texObject)
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_texObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42699, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42699, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42700
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42700, __pyx_L1_error)
  __pyx_v_cytexObject = ((CUtexObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42701
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cytexObject)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42701, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":42702
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42703
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:
 *         err = cydriver.cuTexObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cytexObject)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetResourceDesc(((CUDA_RESOURCE_DESC *)__pyx_v_pResDesc->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytexObject); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42703, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42702
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42704
 *     with nogil:
 *         err = cydriver.cuTexObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResDesc)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42705
 *         err = cydriver.cuTexObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pResDesc)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42705, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 42705, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42704
 *     with nogil:
 *         err = cydriver.cuTexObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResDesc)
*/
  }

  /* "cuda/bindings/driver.pyx":42706
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42706, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pResDesc)) != (0)) __PYX_ERR(0, 42706, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42670
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceDesc(texObject):
 *     """ Returns a texture object's resource descriptor.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectGetResourceDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ptexObject);
  __Pyx_XDECREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42708
 *     return (_dict_CUresult[err], pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetTextureDesc(texObject):
 *     """ Returns a texture object's texture descriptor.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_807cuTexObjectGetTextureDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_806cuTexObjectGetTextureDesc, "cuTexObjectGetTextureDesc(texObject)\n\nReturns a texture object's texture descriptor.\n\nReturns the texture descriptor for the texture object specified by\n`texObject`.\n\nParameters\n----------\ntexObject : :py:obj:`~.CUtexObject`\n    Texture object\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npTexDesc : :py:obj:`~.CUDA_TEXTURE_DESC`\n    Texture descriptor\n\nSee Also\n--------\n:py:obj:`~.cuTexObjectCreate`, :py:obj:`~.cudaGetTextureObjectTextureDesc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_807cuTexObjectGetTextureDesc = {"cuTexObjectGetTextureDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_807cuTexObjectGetTextureDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_806cuTexObjectGetTextureDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_807cuTexObjectGetTextureDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_texObject = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexObjectGetTextureDesc (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_texObject,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42708, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42708, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexObjectGetTextureDesc", 0) < (0)) __PYX_ERR(0, 42708, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexObjectGetTextureDesc", 1, 1, 1, i); __PYX_ERR(0, 42708, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42708, __pyx_L3_error)
    }
    __pyx_v_texObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectGetTextureDesc", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42708, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectGetTextureDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_806cuTexObjectGetTextureDesc(__pyx_self, __pyx_v_texObject);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_806cuTexObjectGetTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  CUtexObject __pyx_v_cytexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC *__pyx_v_pTexDesc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectGetTextureDesc", 0);

  /* "cuda/bindings/driver.pyx":42732
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42733
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:
 *         ptexObject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ptexObject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42732
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42734
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42735
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42734
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42737
 *         ptexObject = int(texObject)
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_texObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42737, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42738
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42738, __pyx_L1_error)
  __pyx_v_cytexObject = ((CUtexObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42739
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexObjectGetTextureDesc(<cydriver.CUDA_TEXTURE_DESC*>pTexDesc._pvt_ptr, cytexObject)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42739, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":42740
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectGetTextureDesc(<cydriver.CUDA_TEXTURE_DESC*>pTexDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42741
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 *     with nogil:
 *         err = cydriver.cuTexObjectGetTextureDesc(<cydriver.CUDA_TEXTURE_DESC*>pTexDesc._pvt_ptr, cytexObject)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetTextureDesc(((CUDA_TEXTURE_DESC *)__pyx_v_pTexDesc->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytexObject); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42741, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42740
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectGetTextureDesc(<cydriver.CUDA_TEXTURE_DESC*>pTexDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42742
 *     with nogil:
 *         err = cydriver.cuTexObjectGetTextureDesc(<cydriver.CUDA_TEXTURE_DESC*>pTexDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexDesc)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42743
 *         err = cydriver.cuTexObjectGetTextureDesc(<cydriver.CUDA_TEXTURE_DESC*>pTexDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pTexDesc)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42743, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 42743, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42742
 *     with nogil:
 *         err = cydriver.cuTexObjectGetTextureDesc(<cydriver.CUDA_TEXTURE_DESC*>pTexDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexDesc)
*/
  }

  /* "cuda/bindings/driver.pyx":42744
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pTexDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42744, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pTexDesc)) != (0)) __PYX_ERR(0, 42744, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42708
 *     return (_dict_CUresult[err], pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetTextureDesc(texObject):
 *     """ Returns a texture object's texture descriptor.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectGetTextureDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ptexObject);
  __Pyx_XDECREF((PyObject *)__pyx_v_pTexDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42746
 *     return (_dict_CUresult[err], pTexDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceViewDesc(texObject):
 *     """ Returns a texture object's resource view descriptor.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_809cuTexObjectGetResourceViewDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_808cuTexObjectGetResourceViewDesc, "cuTexObjectGetResourceViewDesc(texObject)\n\nReturns a texture object's resource view descriptor.\n\nReturns the resource view descriptor for the texture object specified\nby `texObject`. If no resource view was set for `texObject`, the\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\nParameters\n----------\ntexObject : :py:obj:`~.CUtexObject`\n    Texture object\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npResViewDesc : :py:obj:`~.CUDA_RESOURCE_VIEW_DESC`\n    Resource view descriptor\n\nSee Also\n--------\n:py:obj:`~.cuTexObjectCreate`, :py:obj:`~.cudaGetTextureObjectResourceViewDesc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_809cuTexObjectGetResourceViewDesc = {"cuTexObjectGetResourceViewDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_809cuTexObjectGetResourceViewDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_808cuTexObjectGetResourceViewDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_809cuTexObjectGetResourceViewDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_texObject = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTexObjectGetResourceViewDesc (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_texObject,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42746, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42746, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTexObjectGetResourceViewDesc", 0) < (0)) __PYX_ERR(0, 42746, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTexObjectGetResourceViewDesc", 1, 1, 1, i); __PYX_ERR(0, 42746, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42746, __pyx_L3_error)
    }
    __pyx_v_texObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectGetResourceViewDesc", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42746, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectGetResourceViewDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_808cuTexObjectGetResourceViewDesc(__pyx_self, __pyx_v_texObject);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_808cuTexObjectGetResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  CUtexObject __pyx_v_cytexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC *__pyx_v_pResViewDesc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectGetResourceViewDesc", 0);

  /* "cuda/bindings/driver.pyx":42771
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42772
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:
 *         ptexObject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ptexObject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42771
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42773
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42774
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42773
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42776
 *         ptexObject = int(texObject)
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_texObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42776, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42777
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42777, __pyx_L1_error)
  __pyx_v_cytexObject = ((CUtexObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42778
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexObjectGetResourceViewDesc(<cydriver.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._pvt_ptr, cytexObject)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42778, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":42779
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectGetResourceViewDesc(<cydriver.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42780
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
 *     with nogil:
 *         err = cydriver.cuTexObjectGetResourceViewDesc(<cydriver.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._pvt_ptr, cytexObject)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetResourceViewDesc(((CUDA_RESOURCE_VIEW_DESC *)__pyx_v_pResViewDesc->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytexObject); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42780, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42779
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectGetResourceViewDesc(<cydriver.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42781
 *     with nogil:
 *         err = cydriver.cuTexObjectGetResourceViewDesc(<cydriver.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResViewDesc)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42782
 *         err = cydriver.cuTexObjectGetResourceViewDesc(<cydriver.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pResViewDesc)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42782, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 42782, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42781
 *     with nogil:
 *         err = cydriver.cuTexObjectGetResourceViewDesc(<cydriver.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._pvt_ptr, cytexObject)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResViewDesc)
*/
  }

  /* "cuda/bindings/driver.pyx":42783
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResViewDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42783, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResViewDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResViewDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pResViewDesc)) != (0)) __PYX_ERR(0, 42783, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42746
 *     return (_dict_CUresult[err], pTexDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceViewDesc(texObject):
 *     """ Returns a texture object's resource view descriptor.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTexObjectGetResourceViewDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ptexObject);
  __Pyx_XDECREF((PyObject *)__pyx_v_pResViewDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42785
 *     return (_dict_CUresult[err], pResViewDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC]):
 *     """ Creates a surface object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_811cuSurfObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_810cuSurfObjectCreate, "cuSurfObjectCreate(CUDA_RESOURCE_DESC pResDesc: Optional[CUDA_RESOURCE_DESC])\n\nCreates a surface object.\n\nCreates a surface object and returns it in `pSurfObject`. `pResDesc`\ndescribes the data to perform surface load/stores on.\n:py:obj:`~.CUDA_RESOURCE_DESC.resType` must be\n:py:obj:`~.CU_RESOURCE_TYPE_ARRAY` and\n:py:obj:`~.CUDA_RESOURCE_DESC`::res::array::hArray must be set to a\nvalid CUDA array handle. :py:obj:`~.CUDA_RESOURCE_DESC.flags` must be\nset to zero.\n\nSurface objects are only supported on devices of compute capability 3.0\nor higher. Additionally, a surface object is an opaque value, and, as\nsuch, should only be accessed through CUDA API calls.\n\nParameters\n----------\npResDesc : :py:obj:`~.CUDA_RESOURCE_DESC`\n    Resource descriptor\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npSurfObject : :py:obj:`~.CUsurfObject`\n    Surface object to create\n\nSee Also\n--------\n:py:obj:`~.cuSurfObjectDestroy`, :py:obj:`~.cudaCreateSurfaceObject`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_811cuSurfObjectCreate = {"cuSurfObjectCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_811cuSurfObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_810cuSurfObjectCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_811cuSurfObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *__pyx_v_pResDesc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuSurfObjectCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pResDesc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42785, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42785, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuSurfObjectCreate", 0) < (0)) __PYX_ERR(0, 42785, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuSurfObjectCreate", 1, 1, 1, i); __PYX_ERR(0, 42785, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42785, __pyx_L3_error)
    }
    __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfObjectCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42785, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pResDesc), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC, 1, "pResDesc", 0))) __PYX_ERR(0, 42786, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_810cuSurfObjectCreate(__pyx_self, __pyx_v_pResDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_810cuSurfObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *__pyx_v_pResDesc) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *__pyx_v_pSurfObject = 0;
  CUDA_RESOURCE_DESC *__pyx_v_cypResDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  struct CUDA_RESOURCE_DESC_st *__pyx_t_5;
  int __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfObjectCreate", 0);

  /* "cuda/bindings/driver.pyx":42817
 *     :py:obj:`~.cuSurfObjectDestroy`, :py:obj:`~.cudaCreateSurfaceObject`
 *     """
 *     cdef CUsurfObject pSurfObject = CUsurfObject()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42817, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_pSurfObject = ((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":42818
 *     """
 *     cdef CUsurfObject pSurfObject = CUsurfObject()
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuSurfObjectCreate(<cydriver.CUsurfObject*>pSurfObject._pvt_ptr, cypResDesc_ptr)
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_pResDesc) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_5 = __pyx_v_pResDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cypResDesc_ptr = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":42819
 *     cdef CUsurfObject pSurfObject = CUsurfObject()
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfObjectCreate(<cydriver.CUsurfObject*>pSurfObject._pvt_ptr, cypResDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42820
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL
 *     with nogil:
 *         err = cydriver.cuSurfObjectCreate(<cydriver.CUsurfObject*>pSurfObject._pvt_ptr, cypResDesc_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectCreate(((CUsurfObject *)__pyx_v_pSurfObject->_pvt_ptr), __pyx_v_cypResDesc_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42820, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42819
 *     cdef CUsurfObject pSurfObject = CUsurfObject()
 *     cdef cydriver.CUDA_RESOURCE_DESC* cypResDesc_ptr = pResDesc._pvt_ptr if pResDesc is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfObjectCreate(<cydriver.CUsurfObject*>pSurfObject._pvt_ptr, cypResDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":42821
 *     with nogil:
 *         err = cydriver.cuSurfObjectCreate(<cydriver.CUsurfObject*>pSurfObject._pvt_ptr, cypResDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pSurfObject)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":42822
 *         err = cydriver.cuSurfObjectCreate(<cydriver.CUsurfObject*>pSurfObject._pvt_ptr, cypResDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pSurfObject)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42822, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 42822, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42821
 *     with nogil:
 *         err = cydriver.cuSurfObjectCreate(<cydriver.CUsurfObject*>pSurfObject._pvt_ptr, cypResDesc_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pSurfObject)
*/
  }

  /* "cuda/bindings/driver.pyx":42823
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pSurfObject)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 42823, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pSurfObject);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pSurfObject);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pSurfObject)) != (0)) __PYX_ERR(0, 42823, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42785
 *     return (_dict_CUresult[err], pResViewDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC]):
 *     """ Creates a surface object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pSurfObject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42825
 *     return (_dict_CUresult[err], pSurfObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectDestroy(surfObject):
 *     """ Destroys a surface object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_813cuSurfObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_812cuSurfObjectDestroy, "cuSurfObjectDestroy(surfObject)\n\nDestroys a surface object.\n\nDestroys the surface object specified by `surfObject`.\n\nParameters\n----------\nsurfObject : :py:obj:`~.CUsurfObject`\n    Surface object to destroy\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuSurfObjectCreate`, :py:obj:`~.cudaDestroySurfaceObject`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_813cuSurfObjectDestroy = {"cuSurfObjectDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_813cuSurfObjectDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_812cuSurfObjectDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_813cuSurfObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_surfObject = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuSurfObjectDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_surfObject,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42825, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42825, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuSurfObjectDestroy", 0) < (0)) __PYX_ERR(0, 42825, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuSurfObjectDestroy", 1, 1, 1, i); __PYX_ERR(0, 42825, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42825, __pyx_L3_error)
    }
    __pyx_v_surfObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfObjectDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42825, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfObjectDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_812cuSurfObjectDestroy(__pyx_self, __pyx_v_surfObject);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_812cuSurfObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  CUsurfObject __pyx_v_cysurfObject;
  PyObject *__pyx_v_psurfObject = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfObjectDestroy", 0);

  /* "cuda/bindings/driver.pyx":42846
 *     """
 *     cdef cydriver.CUsurfObject cysurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):
*/
  __pyx_t_1 = (__pyx_v_surfObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42847
 *     cdef cydriver.CUsurfObject cysurfObject
 *     if surfObject is None:
 *         psurfObject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psurfObject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42846
 *     """
 *     cdef cydriver.CUsurfObject cysurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42848
 *     if surfObject is None:
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_surfObject, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42849
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)             # <<<<<<<<<<<<<<
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_surfObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psurfObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42848
 *     if surfObject is None:
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42851
 *         psurfObject = int(surfObject)
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))             # <<<<<<<<<<<<<<
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_surfObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42851, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psurfObject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42852
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42852, __pyx_L1_error)
  __pyx_v_cysurfObject = ((CUsurfObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42853
 *         psurfObject = int(CUsurfObject(surfObject))
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42854
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     with nogil:
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectDestroy(__pyx_v_cysurfObject); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42854, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42853
 *         psurfObject = int(CUsurfObject(surfObject))
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42855
 *     with nogil:
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 42855, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42825
 *     return (_dict_CUresult[err], pSurfObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectDestroy(surfObject):
 *     """ Destroys a surface object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfObjectDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psurfObject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42857
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectGetResourceDesc(surfObject):
 *     """ Returns a surface object's resource descriptor.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_815cuSurfObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_814cuSurfObjectGetResourceDesc, "cuSurfObjectGetResourceDesc(surfObject)\n\nReturns a surface object's resource descriptor.\n\nReturns the resource descriptor for the surface object specified by\n`surfObject`.\n\nParameters\n----------\nsurfObject : :py:obj:`~.CUsurfObject`\n    Surface object\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npResDesc : :py:obj:`~.CUDA_RESOURCE_DESC`\n    Resource descriptor\n\nSee Also\n--------\n:py:obj:`~.cuSurfObjectCreate`, :py:obj:`~.cudaGetSurfaceObjectResourceDesc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_815cuSurfObjectGetResourceDesc = {"cuSurfObjectGetResourceDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_815cuSurfObjectGetResourceDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_814cuSurfObjectGetResourceDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_815cuSurfObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_surfObject = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuSurfObjectGetResourceDesc (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_surfObject,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42857, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42857, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuSurfObjectGetResourceDesc", 0) < (0)) __PYX_ERR(0, 42857, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuSurfObjectGetResourceDesc", 1, 1, 1, i); __PYX_ERR(0, 42857, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42857, __pyx_L3_error)
    }
    __pyx_v_surfObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfObjectGetResourceDesc", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 42857, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfObjectGetResourceDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_814cuSurfObjectGetResourceDesc(__pyx_self, __pyx_v_surfObject);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_814cuSurfObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  CUsurfObject __pyx_v_cysurfObject;
  PyObject *__pyx_v_psurfObject = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *__pyx_v_pResDesc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfObjectGetResourceDesc", 0);

  /* "cuda/bindings/driver.pyx":42881
 *     """
 *     cdef cydriver.CUsurfObject cysurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):
*/
  __pyx_t_1 = (__pyx_v_surfObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42882
 *     cdef cydriver.CUsurfObject cysurfObject
 *     if surfObject is None:
 *         psurfObject = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psurfObject = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":42881
 *     """
 *     cdef cydriver.CUsurfObject cysurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42883
 *     if surfObject is None:
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_surfObject, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42884
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)             # <<<<<<<<<<<<<<
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_surfObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psurfObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42883
 *     if surfObject is None:
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42886
 *         psurfObject = int(surfObject)
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))             # <<<<<<<<<<<<<<
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_surfObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42886, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psurfObject = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42887
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42887, __pyx_L1_error)
  __pyx_v_cysurfObject = ((CUsurfObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":42888
 *         psurfObject = int(CUsurfObject(surfObject))
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuSurfObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cysurfObject)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42888, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":42889
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cysurfObject)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42890
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:
 *         err = cydriver.cuSurfObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cysurfObject)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectGetResourceDesc(((CUDA_RESOURCE_DESC *)__pyx_v_pResDesc->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cysurfObject); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42890, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":42889
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cysurfObject)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42891
 *     with nogil:
 *         err = cydriver.cuSurfObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cysurfObject)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResDesc)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":42892
 *         err = cydriver.cuSurfObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cysurfObject)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pResDesc)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 42892, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 42892, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42891
 *     with nogil:
 *         err = cydriver.cuSurfObjectGetResourceDesc(<cydriver.CUDA_RESOURCE_DESC*>pResDesc._pvt_ptr, cysurfObject)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResDesc)
*/
  }

  /* "cuda/bindings/driver.pyx":42893
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pResDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 42893, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pResDesc)) != (0)) __PYX_ERR(0, 42893, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42857
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectGetResourceDesc(surfObject):
 *     """ Returns a surface object's resource descriptor.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuSurfObjectGetResourceDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psurfObject);
  __Pyx_XDECREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42895
 *     return (_dict_CUresult[err], pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], boxDim : Optional[tuple[cuuint32_t] | list[cuuint32_t]], elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing tiled memory region.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_817cuTensorMapEncodeTiled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_816cuTensorMapEncodeTiled, "cuTensorMapEncodeTiled(tensorDataType: CUtensorMapDataType, tensorRank, globalAddress, globalDim: Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides: Optional[tuple[cuuint64_t] | list[cuuint64_t]], boxDim: Optional[tuple[cuuint32_t] | list[cuuint32_t]], elementStrides: Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave: CUtensorMapInterleave, swizzle: CUtensorMapSwizzle, l2Promotion: CUtensorMapL2promotion, oobFill: CUtensorMapFloatOOBfill)\n\nCreate a tensor map descriptor object representing tiled memory region.\n\nCreates a descriptor for Tensor Memory Access (TMA) object specified by\nthe parameters describing a tiled region and returns it in `tensorMap`.\n\nTensor map objects are only supported on devices of compute capability\n9.0 or higher. Additionally, a tensor map object is an opaque value,\nand, as such, should only be accessed through CUDA APIs and PTX.\n\nThe parameters passed are bound to the following requirements:\n\n- `tensorMap` address must be aligned to 64 bytes.\n\n- `tensorDataType` has to be an enum from\n  :py:obj:`~.CUtensorMapDataType` which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B` copies '16 x U4'\n  packed values to memory aligned as 8 bytes. There are no gaps between\n  packed values. :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`\n  copies '16 x U4' packed values to memory aligned as 16 bytes. There\n  are 8 byte gaps between every 8 byte chunk of packed values.\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` copies '16 x U6'\n  packed values to memory aligned as 16 bytes. There are 4 byte gaps\n  between every 12 byte chunk of packed values.\n\n- `tensorRank` must be non-zero and less than or equal to the maximum\n  supported dimensionality of 5. If `interleave` is not\n  :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`, then `tensorRank` must\n  additionally be greater than or equal to 3.\n\n- `globalAddress`, which specifie""s the starting address of the memory\n  region described, must be 16 byte aligned. The following requirements\n  need to also be met:\n\n  - When `interleave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`,\n    `globalAddress` must be 32 byte aligned.\n\n  - When `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, `globalAddress`\n    must be 32 byte aligned.\n\n`globalDim` array, which specifies tensor size of each of the\n`tensorRank` dimensions, must be non-zero and less than or equal to\n2^32. Additionally, the following requirements need to be met for the\npacked data types:\n\n- When `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, globalDim[0] must\n  be a multiple of 128.\n\n- When `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B`, `globalDim`[0] must\n  be a multiple of 2.\n\n- Dimension for the packed data types must reflect the number of\n  individual U# values.\n\n`globalStrides` array, which specifies tensor stride of each of the\nlower `tensorRank` - 1 dimensions in bytes, must be a multiple of 16\nand less than 2^40. Additionally, the following requirements need to be\nmet:\n\n- When `interleave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`, the\n  strides must be a multiple of 32.\n\n- When `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, the strides must\n  be a multiple of 32. Each following dimension specified includes\n  previous dimension stride:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n`boxDim` array, which specifies number of elements to be traversed\nalong each of the `tensorRank` dimensions, must be non-zero and less\nthan or equal to 256. Additionally, the following requirements need to\nbe met:\n\n- When `interleave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_""NONE`, {\n  `boxDim`[0] * elementSizeInBytes( `tensorDataType` ) } must be a\n  multiple of 16 bytes.\n\n- When `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, boxDim[0] must be\n  128.\n\n`elementStrides` array, which specifies the iteration step along each\nof the `tensorRank` dimensions, must be non-zero and less than or equal\nto 8. Note that when `interleave` is\n:py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`, the first element of this\narray is ignored since TMA doesn\342\200\231t support the stride for dimension\nzero. When all elements of `elementStrides` array is one, `boxDim`\nspecifies the number of elements to load. However, if the\n`elementStrides`[i] is not equal to one, then TMA loads ceil(\n`boxDim`[i] / `elementStrides`[i]) number of elements along i-th\ndimension. To load N elements along i-th dimension, `boxDim`[i] must be\nset to N * `elementStrides`[i].\n\n- `interleave` specifies the interleaved layout of type\n  :py:obj:`~.CUtensorMapInterleave`, which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- TMA supports interleaved layouts like NC/8HWC8 where C8 utilizes 16\n  bytes in memory assuming 2 byte per channel or NC/16HWC16 where C16\n  uses 32 bytes. When `interleave` is\n  :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE` and `swizzle` is not\n  :py:obj:`~.CU_TENSOR_MAP_SWIZZLE_NONE`, the bounding box inner\n  dimension (computed as `boxDim`[0] multiplied by element size derived\n  from `tensorDataType`) must be less than or equal to the swizzle\n  size.\n\n  - CU_TENSOR_MAP_SWIZZLE_32B requires the bounding box inner dimension\n    to be <= 32.\n\n  - CU_TENSOR_MAP_SWIZZLE_64B requires the bounding box inner dimension\n    to be <= 64.\n\n  - CU_TENSOR_MAP_SWIZZLE_128B* require the bounding box inner\n    dimension to be <= 128. Additionally, `tensorDataType` of\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` requires\n    `inte""rleave` to be :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`.\n\n- `swizzle`, which specifies the shared memory bank swizzling pattern,\n  has to be of type :py:obj:`~.CUtensorMapSwizzle` which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- Data are organized in a specific order in global memory; however,\n  this may not match the order in which the application accesses data\n  in shared memory. This difference in data organization may cause bank\n  conflicts when shared memory is accessed. In order to avoid this\n  problem, data can be loaded to shared memory with shuffling across\n  shared memory banks. When `interleave` is\n  :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`, `swizzle` must be\n  :py:obj:`~.CU_TENSOR_MAP_SWIZZLE_32B`. Other interleave modes can\n  have any swizzling pattern. When the `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B`, only the following\n  swizzle modes are supported:\n\n  - CU_TENSOR_MAP_SWIZZLE_NONE (Load & Store)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B (Load & Store)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B (Load & Store)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B (Store only) When the\n    `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, only the\n    following swizzle modes are supported:\n\n  - CU_TENSOR_MAP_SWIZZLE_NONE (Load only)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B (Load only)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B (Load only)\n\n- `l2Promotion` specifies L2 fetch size which indicates the byte\n  granurality at which L2 requests is filled from DRAM. It must be of\n  type :py:obj:`~.CUtensorMapL2promotion`, which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- `oobFill`, which indicates whether zero or a special NaN constant\n  should be used to fill out-of-bound elements, must be of type\n  :py:obj:`~.CUtensorMapFloatOOBfill` which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- No""te that\n  :py:obj:`~.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA` can\n  only be used when `tensorDataType` represents a floating-point data\n  type, and when `tensorDataType` is not\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B`,\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, and\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B`.\n\nParameters\n----------\ntensorDataType : :py:obj:`~.CUtensorMapDataType`\n    Tensor data type\ntensorRank : Any\n    Dimensionality of tensor\nglobalAddress : Any\n    Starting address of memory region described by tensor\nglobalDim : list[:py:obj:`~.cuuint64_t`]\n    Array containing tensor size (number of elements) along each of the\n    `tensorRank` dimensions\nglobalStrides : list[:py:obj:`~.cuuint64_t`]\n    Array containing stride size (in bytes) along each of the\n    `tensorRank` - 1 dimensions\nboxDim : list[:py:obj:`~.cuuint32_t`]\n    Array containing traversal box size (number of elments) along each\n    of the `tensorRank` dimensions. Specifies how many elements to be\n    traversed along each tensor dimension.\nelementStrides : list[:py:obj:`~.cuuint32_t`]\n    Array containing traversal stride in each of the `tensorRank`\n    dimensions\ninterleave : :py:obj:`~.CUtensorMapInterleave`\n    Type of interleaved layout the tensor addresses\nswizzle : :py:obj:`~.CUtensorMapSwizzle`\n    Bank swizzling pattern inside shared memory\nl2Promotion : :py:obj:`~.CUtensorMapL2promotion`\n    L2 promotion size\noobFill : :py:obj:`~.CUtensorMapFloatOOBfill`\n    Indicate whether zero or special NaN constant must be used to fill\n    out-of-bound elements\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ntensorMap : :py:obj:`~.CUtensorMap`\n    Tensor map object to create\n\nSee Also\n--------\n:py:obj:`~.cuTensorMapEncodeIm2col`, :py:obj:`~.cuTensorM""apEncodeIm2colWide`, :py:obj:`~.cuTensorMapReplaceAddress`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_817cuTensorMapEncodeTiled = {"cuTensorMapEncodeTiled", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_817cuTensorMapEncodeTiled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_816cuTensorMapEncodeTiled};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_817cuTensorMapEncodeTiled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_tensorDataType = 0;
  PyObject *__pyx_v_tensorRank = 0;
  PyObject *__pyx_v_globalAddress = 0;
  PyObject *__pyx_v_globalDim = 0;
  PyObject *__pyx_v_globalStrides = 0;
  PyObject *__pyx_v_boxDim = 0;
  PyObject *__pyx_v_elementStrides = 0;
  PyObject *__pyx_v_interleave = 0;
  PyObject *__pyx_v_swizzle = 0;
  PyObject *__pyx_v_l2Promotion = 0;
  PyObject *__pyx_v_oobFill = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTensorMapEncodeTiled (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_tensorDataType,&__pyx_mstate_global->__pyx_n_u_tensorRank,&__pyx_mstate_global->__pyx_n_u_globalAddress,&__pyx_mstate_global->__pyx_n_u_globalDim,&__pyx_mstate_global->__pyx_n_u_globalStrides,&__pyx_mstate_global->__pyx_n_u_boxDim,&__pyx_mstate_global->__pyx_n_u_elementStrides,&__pyx_mstate_global->__pyx_n_u_interleave,&__pyx_mstate_global->__pyx_n_u_swizzle,&__pyx_mstate_global->__pyx_n_u_l2Promotion,&__pyx_mstate_global->__pyx_n_u_oobFill,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 42895, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTensorMapEncodeTiled", 0) < (0)) __PYX_ERR(0, 42895, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 11; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, i); __PYX_ERR(0, 42895, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 11)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 42895, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 42895, __pyx_L3_error)
    }
    __pyx_v_tensorDataType = values[0];
    __pyx_v_tensorRank = values[1];
    __pyx_v_globalAddress = values[2];
    __pyx_v_globalDim = values[3];
    __pyx_v_globalStrides = values[4];
    __pyx_v_boxDim = values[5];
    __pyx_v_elementStrides = values[6];
    __pyx_v_interleave = values[7];
    __pyx_v_swizzle = values[8];
    __pyx_v_l2Promotion = values[9];
    __pyx_v_oobFill = values[10];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, __pyx_nargs); __PYX_ERR(0, 42895, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeTiled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_tensorDataType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "tensorDataType"); __PYX_ERR(0, 42896, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_interleave) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "interleave"); __PYX_ERR(0, 42896, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_swizzle) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "swizzle"); __PYX_ERR(0, 42896, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_l2Promotion) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "l2Promotion"); __PYX_ERR(0, 42896, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_oobFill) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "oobFill"); __PYX_ERR(0, 42896, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_816cuTensorMapEncodeTiled(__pyx_self, __pyx_v_tensorDataType, __pyx_v_tensorRank, __pyx_v_globalAddress, __pyx_v_globalDim, __pyx_v_globalStrides, __pyx_v_boxDim, __pyx_v_elementStrides, __pyx_v_interleave, __pyx_v_swizzle, __pyx_v_l2Promotion, __pyx_v_oobFill);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_2generator172(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43122
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43122, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_2generator172, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[172]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeTiled_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43122, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeTiled.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_2generator172(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43122, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43122, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43122, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43122, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43122, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43122, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43122, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_5generator173(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43125
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43125, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_5generator173, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[173]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeTiled_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43125, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeTiled.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_5generator173(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43125, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43125, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43125, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43125, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43125, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43125, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43125, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_8generator174(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43128
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43128, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_8generator174, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[174]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeTiled_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43128, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeTiled.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_8generator174(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43128, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43128, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43128, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43128, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43128, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43128, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43128, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_11generator175(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43131
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43131, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_11generator175, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[175]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeTiled_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43131, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeTiled.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_11generator175(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43131, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43131, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43131, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43131, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43131, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43131, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43131, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":42895
 *     return (_dict_CUresult[err], pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], boxDim : Optional[tuple[cuuint32_t] | list[cuuint32_t]], elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing tiled memory region.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_816cuTensorMapEncodeTiled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_tensorDataType, PyObject *__pyx_v_tensorRank, PyObject *__pyx_v_globalAddress, PyObject *__pyx_v_globalDim, PyObject *__pyx_v_globalStrides, PyObject *__pyx_v_boxDim, PyObject *__pyx_v_elementStrides, PyObject *__pyx_v_interleave, PyObject *__pyx_v_swizzle, PyObject *__pyx_v_l2Promotion, PyObject *__pyx_v_oobFill) {
  cuuint32_t __pyx_v_cytensorRank;
  PyObject *__pyx_v_ptensorRank = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *__pyx_v_tensorMap = 0;
  CUtensorMapDataType __pyx_v_cytensorDataType;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyglobalAddress = NULL;
  void *__pyx_v_cyglobalAddress_ptr;
  cuuint64_t *__pyx_v_cyglobalDim;
  Py_ssize_t __pyx_v_idx;
  cuuint64_t *__pyx_v_cyglobalStrides;
  cuuint32_t *__pyx_v_cyboxDim;
  cuuint32_t *__pyx_v_cyelementStrides;
  CUtensorMapInterleave __pyx_v_cyinterleave;
  CUtensorMapSwizzle __pyx_v_cyswizzle;
  CUtensorMapL2promotion __pyx_v_cyl2Promotion;
  CUtensorMapFloatOOBfill __pyx_v_cyoobFill;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_2generator172 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_5generator173 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_8generator174 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_11generator175 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUtensorMapDataType __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  Py_ssize_t __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  CUtensorMapInterleave __pyx_t_15;
  CUtensorMapSwizzle __pyx_t_16;
  CUtensorMapL2promotion __pyx_t_17;
  CUtensorMapFloatOOBfill __pyx_t_18;
  CUresult __pyx_t_19;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTensorMapEncodeTiled", 0);
  __Pyx_INCREF(__pyx_v_globalDim);
  __Pyx_INCREF(__pyx_v_globalStrides);
  __Pyx_INCREF(__pyx_v_boxDim);
  __Pyx_INCREF(__pyx_v_elementStrides);

  /* "cuda/bindings/driver.pyx":43121
 *     :py:obj:`~.cuTensorMapEncodeIm2col`, :py:obj:`~.cuTensorMapEncodeIm2colWide`, :py:obj:`~.cuTensorMapReplaceAddress`
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
*/
  __pyx_t_2 = (__pyx_v_elementStrides == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_elementStrides);
    __pyx_t_1 = __pyx_v_elementStrides;
  }
  __Pyx_DECREF_SET(__pyx_v_elementStrides, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43122
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_genexpr(NULL, __pyx_v_elementStrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 43122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":43123
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     boxDim = [] if boxDim is None else boxDim
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_elementStrides_is_not_i};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 43123, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43122
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
*/
  }

  /* "cuda/bindings/driver.pyx":43124
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
*/
  __pyx_t_4 = (__pyx_v_boxDim == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_boxDim);
    __pyx_t_3 = __pyx_v_boxDim;
  }
  __Pyx_DECREF_SET(__pyx_v_boxDim, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43125
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_3genexpr(NULL, __pyx_v_boxDim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":43126
 *     boxDim = [] if boxDim is None else boxDim
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_boxDim_is_not_instance};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43126, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 43126, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43125
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
*/
  }

  /* "cuda/bindings/driver.pyx":43127
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
*/
  __pyx_t_2 = (__pyx_v_globalStrides == Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_globalStrides);
    __pyx_t_5 = __pyx_v_globalStrides;
  }
  __Pyx_DECREF_SET(__pyx_v_globalStrides, __pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":43128
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
  __pyx_t_5 = __pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_6genexpr(NULL, __pyx_v_globalStrides); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 43128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":43129
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_globalStrides_is_not_in};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 43129, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43128
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
  }

  /* "cuda/bindings/driver.pyx":43130
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
*/
  __pyx_t_4 = (__pyx_v_globalDim == Py_None);
  if (__pyx_t_4) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_globalDim);
    __pyx_t_1 = __pyx_v_globalDim;
  }
  __Pyx_DECREF_SET(__pyx_v_globalDim, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43131
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_9genexpr(NULL, __pyx_v_globalDim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":43132
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_globalDim_is_not_instan};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 43132, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43131
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
  }

  /* "cuda/bindings/driver.pyx":43134
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
*/
  __pyx_t_2 = (__pyx_v_tensorRank == Py_None);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43135
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:
 *         ptensorRank = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ptensorRank = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43134
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":43136
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_tensorRank, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43137
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)             # <<<<<<<<<<<<<<
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_tensorRank); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43136
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":43139
 *         ptensorRank = int(tensorRank)
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))             # <<<<<<<<<<<<<<
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_tensorRank};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43139, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L7:;

  /* "cuda/bindings/driver.pyx":43140
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank             # <<<<<<<<<<<<<<
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43140, __pyx_L1_error)
  __pyx_v_cytensorRank = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43141
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43141, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_tensorMap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43142
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value             # <<<<<<<<<<<<<<
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_tensorDataType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_8 = ((enum CUtensorMapDataType_enum)__Pyx_PyLong_As_enum__CUtensorMapDataType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytensorDataType = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":43143
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)             # <<<<<<<<<<<<<<
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
*/
  __pyx_t_5 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_globalAddress};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43143, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyglobalAddress = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43144
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyglobalAddress), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyglobalAddress_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43145
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL             # <<<<<<<<<<<<<<
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
*/
  __pyx_v_cyglobalDim = NULL;

  /* "cuda/bindings/driver.pyx":43146
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43146, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43147
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cyglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43147, __pyx_L1_error)
    __pyx_v_cyglobalDim = ((cuuint64_t *)calloc(__pyx_t_9, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43148
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cyglobalDim == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":43149
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalDim)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43149, __pyx_L1_error)
      __pyx_t_10 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyLong_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43149, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 43149, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43148
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43151
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalDim)):             # <<<<<<<<<<<<<<
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43151, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43152
 *         else:
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_globalDim, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43152, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyglobalDim[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43146
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
*/
    goto __pyx_L8;
  }

  /* "cuda/bindings/driver.pyx":43153
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43153, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43154
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_globalDim, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyglobalDim = ((cuuint64_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43153
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
*/
  }
  __pyx_L8:;

  /* "cuda/bindings/driver.pyx":43155
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
*/
  __pyx_v_cyglobalStrides = NULL;

  /* "cuda/bindings/driver.pyx":43156
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43156, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43157
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cyglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43157, __pyx_L1_error)
    __pyx_v_cyglobalStrides = ((cuuint64_t *)calloc(__pyx_t_9, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43158
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cyglobalStrides == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":43159
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalStrides)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_10 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43159, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43159, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 43159, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43158
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43161
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalStrides)):             # <<<<<<<<<<<<<<
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43161, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43162
 *         else:
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_globalStrides, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43162, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyglobalStrides[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43156
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
*/
    goto __pyx_L12;
  }

  /* "cuda/bindings/driver.pyx":43163
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyboxDim = NULL
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43163, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43164
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t* cyboxDim = NULL
 *     if len(boxDim) > 1:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_globalStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyglobalStrides = ((cuuint64_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43163
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyboxDim = NULL
*/
  }
  __pyx_L12:;

  /* "cuda/bindings/driver.pyx":43165
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyboxDim = NULL             # <<<<<<<<<<<<<<
 *     if len(boxDim) > 1:
 *         cyboxDim = <cydriver.cuuint32_t*> calloc(len(boxDim), sizeof(cydriver.cuuint32_t))
*/
  __pyx_v_cyboxDim = NULL;

  /* "cuda/bindings/driver.pyx":43166
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyboxDim = NULL
 *     if len(boxDim) > 1:             # <<<<<<<<<<<<<<
 *         cyboxDim = <cydriver.cuuint32_t*> calloc(len(boxDim), sizeof(cydriver.cuuint32_t))
 *         if cyboxDim is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43166, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43167
 *     cdef cydriver.cuuint32_t* cyboxDim = NULL
 *     if len(boxDim) > 1:
 *         cyboxDim = <cydriver.cuuint32_t*> calloc(len(boxDim), sizeof(cydriver.cuuint32_t))             # <<<<<<<<<<<<<<
 *         if cyboxDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43167, __pyx_L1_error)
    __pyx_v_cyboxDim = ((cuuint32_t *)calloc(__pyx_t_9, (sizeof(cuuint32_t))));

    /* "cuda/bindings/driver.pyx":43168
 *     if len(boxDim) > 1:
 *         cyboxDim = <cydriver.cuuint32_t*> calloc(len(boxDim), sizeof(cydriver.cuuint32_t))
 *         if cyboxDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cyboxDim == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":43169
 *         cyboxDim = <cydriver.cuuint32_t*> calloc(len(boxDim), sizeof(cydriver.cuuint32_t))
 *         if cyboxDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(cydriver.cuuint32_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(boxDim)):
*/
      __pyx_t_10 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43169, __pyx_L1_error)
      __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43169, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 43169, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43168
 *     if len(boxDim) > 1:
 *         cyboxDim = <cydriver.cuuint32_t*> calloc(len(boxDim), sizeof(cydriver.cuuint32_t))
 *         if cyboxDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43171
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
 *             for idx in range(len(boxDim)):             # <<<<<<<<<<<<<<
 *                 cyboxDim[idx] = <cydriver.cuuint32_t>(<cuuint32_t>boxDim[idx])._pvt_ptr[0]
 *     elif len(boxDim) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43171, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43172
 *         else:
 *             for idx in range(len(boxDim)):
 *                 cyboxDim[idx] = <cydriver.cuuint32_t>(<cuuint32_t>boxDim[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(boxDim) == 1:
 *         cyboxDim = <cydriver.cuuint32_t*>(<cuuint32_t>boxDim[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_boxDim, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43172, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyboxDim[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43166
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyboxDim = NULL
 *     if len(boxDim) > 1:             # <<<<<<<<<<<<<<
 *         cyboxDim = <cydriver.cuuint32_t*> calloc(len(boxDim), sizeof(cydriver.cuuint32_t))
 *         if cyboxDim is NULL:
*/
    goto __pyx_L16;
  }

  /* "cuda/bindings/driver.pyx":43173
 *             for idx in range(len(boxDim)):
 *                 cyboxDim[idx] = <cydriver.cuuint32_t>(<cuuint32_t>boxDim[idx])._pvt_ptr[0]
 *     elif len(boxDim) == 1:             # <<<<<<<<<<<<<<
 *         cyboxDim = <cydriver.cuuint32_t*>(<cuuint32_t>boxDim[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43173, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43174
 *                 cyboxDim[idx] = <cydriver.cuuint32_t>(<cuuint32_t>boxDim[idx])._pvt_ptr[0]
 *     elif len(boxDim) == 1:
 *         cyboxDim = <cydriver.cuuint32_t*>(<cuuint32_t>boxDim[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_boxDim, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyboxDim = ((cuuint32_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43173
 *             for idx in range(len(boxDim)):
 *                 cyboxDim[idx] = <cydriver.cuuint32_t>(<cuuint32_t>boxDim[idx])._pvt_ptr[0]
 *     elif len(boxDim) == 1:             # <<<<<<<<<<<<<<
 *         cyboxDim = <cydriver.cuuint32_t*>(<cuuint32_t>boxDim[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
*/
  }
  __pyx_L16:;

  /* "cuda/bindings/driver.pyx":43175
 *     elif len(boxDim) == 1:
 *         cyboxDim = <cydriver.cuuint32_t*>(<cuuint32_t>boxDim[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
*/
  __pyx_v_cyelementStrides = NULL;

  /* "cuda/bindings/driver.pyx":43176
 *         cyboxDim = <cydriver.cuuint32_t*>(<cuuint32_t>boxDim[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43176, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43177
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))             # <<<<<<<<<<<<<<
 *         if cyelementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43177, __pyx_L1_error)
    __pyx_v_cyelementStrides = ((cuuint32_t *)calloc(__pyx_t_9, (sizeof(cuuint32_t))));

    /* "cuda/bindings/driver.pyx":43178
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
*/
    __pyx_t_2 = (__pyx_v_cyelementStrides == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":43179
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(elementStrides)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43179, __pyx_L1_error)
      __pyx_t_10 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43179, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43179, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43179, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43179, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyLong_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43179, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43179, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43179, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43179, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 43179, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43178
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43181
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
 *             for idx in range(len(elementStrides)):             # <<<<<<<<<<<<<<
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43181, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43182
 *         else:
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_elementStrides, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43182, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyelementStrides[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43176
 *         cyboxDim = <cydriver.cuuint32_t*>(<cuuint32_t>boxDim[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
*/
    goto __pyx_L20;
  }

  /* "cuda/bindings/driver.pyx":43183
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43183, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43184
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_elementStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyelementStrides = ((cuuint32_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43183
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
*/
  }
  __pyx_L20:;

  /* "cuda/bindings/driver.pyx":43185
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_interleave, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_15 = ((enum CUtensorMapInterleave_enum)__Pyx_PyLong_As_enum__CUtensorMapInterleave_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyinterleave = __pyx_t_15;

  /* "cuda/bindings/driver.pyx":43186
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_swizzle, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_16 = ((enum CUtensorMapSwizzle_enum)__Pyx_PyLong_As_enum__CUtensorMapSwizzle_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyswizzle = __pyx_t_16;

  /* "cuda/bindings/driver.pyx":43187
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_l2Promotion, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = ((enum CUtensorMapL2promotion_enum)__Pyx_PyLong_As_enum__CUtensorMapL2promotion_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyl2Promotion = __pyx_t_17;

  /* "cuda/bindings/driver.pyx":43188
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeTiled(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cyboxDim, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_oobFill, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_18 = ((enum CUtensorMapFloatOOBfill_enum)__Pyx_PyLong_As_enum__CUtensorMapFloatOOBfill_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoobFill = __pyx_t_18;

  /* "cuda/bindings/driver.pyx":43189
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTensorMapEncodeTiled(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cyboxDim, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43190
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeTiled(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cyboxDim, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)             # <<<<<<<<<<<<<<
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
*/
        __pyx_t_19 = __pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeTiled(((CUtensorMap *)__pyx_v_tensorMap->__pyx_base._pvt_ptr), __pyx_v_cytensorDataType, __pyx_v_cytensorRank, __pyx_v_cyglobalAddress_ptr, __pyx_v_cyglobalDim, __pyx_v_cyglobalStrides, __pyx_v_cyboxDim, __pyx_v_cyelementStrides, __pyx_v_cyinterleave, __pyx_v_cyswizzle, __pyx_v_cyl2Promotion, __pyx_v_cyoobFill); if (unlikely(__pyx_t_19 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43190, __pyx_L25_error)
        __pyx_v_err = __pyx_t_19;
      }

      /* "cuda/bindings/driver.pyx":43189
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTensorMapEncodeTiled(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cyboxDim, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L26;
        }
        __pyx_L25_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L26:;
      }
  }

  /* "cuda/bindings/driver.pyx":43191
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeTiled(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cyboxDim, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43191, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L28_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cyglobalDim != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L28_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43192
 *         err = cydriver.cuTensorMapEncodeTiled(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cyboxDim, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)             # <<<<<<<<<<<<<<
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
*/
    free(__pyx_v_cyglobalDim);

    /* "cuda/bindings/driver.pyx":43191
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeTiled(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cyboxDim, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":43193
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalStrides)
 *     if len(boxDim) > 1 and cyboxDim is not NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43193, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L31_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cyglobalStrides != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L31_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43194
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)             # <<<<<<<<<<<<<<
 *     if len(boxDim) > 1 and cyboxDim is not NULL:
 *         free(cyboxDim)
*/
    free(__pyx_v_cyglobalStrides);

    /* "cuda/bindings/driver.pyx":43193
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalStrides)
 *     if len(boxDim) > 1 and cyboxDim is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":43195
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
 *     if len(boxDim) > 1 and cyboxDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyboxDim)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43195, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L34_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cyboxDim != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L34_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43196
 *         free(cyglobalStrides)
 *     if len(boxDim) > 1 and cyboxDim is not NULL:
 *         free(cyboxDim)             # <<<<<<<<<<<<<<
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
*/
    free(__pyx_v_cyboxDim);

    /* "cuda/bindings/driver.pyx":43195
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
 *     if len(boxDim) > 1 and cyboxDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyboxDim)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":43197
 *     if len(boxDim) > 1 and cyboxDim is not NULL:
 *         free(cyboxDim)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43197, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L37_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_cyelementStrides != NULL);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L37_bool_binop_done:;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43198
 *         free(cyboxDim)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cyelementStrides);

    /* "cuda/bindings/driver.pyx":43197
 *     if len(boxDim) > 1 and cyboxDim is not NULL:
 *         free(cyboxDim)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":43199
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43200
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], tensorMap)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_10) != (0)) __PYX_ERR(0, 43200, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_None) != (0)) __PYX_ERR(0, 43200, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43199
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)
*/
  }

  /* "cuda/bindings/driver.pyx":43201
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_10 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 43201, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_tensorMap);
  __Pyx_GIVEREF((PyObject *)__pyx_v_tensorMap);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, ((PyObject *)__pyx_v_tensorMap)) != (0)) __PYX_ERR(0, 43201, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_10;
  __pyx_t_10 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42895
 *     return (_dict_CUresult[err], pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], boxDim : Optional[tuple[cuuint32_t] | list[cuuint32_t]], elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing tiled memory region.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeTiled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ptensorRank);
  __Pyx_XDECREF((PyObject *)__pyx_v_tensorMap);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyglobalAddress);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_2generator172);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_5generator173);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_8generator174);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_11generator175);
  __Pyx_XDECREF(__pyx_v_globalDim);
  __Pyx_XDECREF(__pyx_v_globalStrides);
  __Pyx_XDECREF(__pyx_v_boxDim);
  __Pyx_XDECREF(__pyx_v_elementStrides);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":43203
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], pixelBoxLowerCorner : Optional[tuple[int] | list[int]], pixelBoxUpperCorner : Optional[tuple[int] | list[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_819cuTensorMapEncodeIm2col(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_818cuTensorMapEncodeIm2col, "cuTensorMapEncodeIm2col(tensorDataType: CUtensorMapDataType, tensorRank, globalAddress, globalDim: Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides: Optional[tuple[cuuint64_t] | list[cuuint64_t]], pixelBoxLowerCorner: Optional[tuple[int] | list[int]], pixelBoxUpperCorner: Optional[tuple[int] | list[int]], channelsPerPixel, pixelsPerColumn, elementStrides: Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave: CUtensorMapInterleave, swizzle: CUtensorMapSwizzle, l2Promotion: CUtensorMapL2promotion, oobFill: CUtensorMapFloatOOBfill)\n\nCreate a tensor map descriptor object representing im2col memory region.\n\nCreates a descriptor for Tensor Memory Access (TMA) object specified by\nthe parameters describing a im2col memory layout and returns it in\n`tensorMap`.\n\nTensor map objects are only supported on devices of compute capability\n9.0 or higher. Additionally, a tensor map object is an opaque value,\nand, as such, should only be accessed through CUDA APIs and PTX.\n\nThe parameters passed are bound to the following requirements:\n\n- `tensorMap` address must be aligned to 64 bytes.\n\n- `tensorDataType` has to be an enum from\n  :py:obj:`~.CUtensorMapDataType` which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B` copies '16 x U4'\n  packed values to memory aligned as 8 bytes. There are no gaps between\n  packed values. :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`\n  copies '16 x U4' packed values to memory aligned as 16 bytes. There\n  are 8 byte gaps between every 8 byte chunk of packed values.\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` copies '16 x U6'\n  packed values to memory aligned as 16 bytes. There are 4 byte gaps\n  between every 12 byte chunk of packed values.\n\n- `tensorRank`, which specifies the number of tensor dimensions, must\n  be 3, 4, or 5.\n\n- `globalAddress`, which specifies the starting address of the memory\n  region describe""d, must be 16 byte aligned. The following requirements\n  need to also be met:\n\n  - When `interleave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`,\n    `globalAddress` must be 32 byte aligned.\n\n  - When `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, `globalAddress`\n    must be 32 byte aligned.\n\n- `globalDim` array, which specifies tensor size of each of the\n  `tensorRank` dimensions, must be non-zero and less than or equal to\n  2^32. Additionally, the following requirements need to be met for the\n  packed data types:\n\n  - When `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, globalDim[0]\n    must be a multiple of 128.\n\n  - When `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B`, `globalDim`[0]\n    must be a multiple of 2.\n\n  - Dimension for the packed data types must reflect the number of\n    individual U# values.\n\n- `globalStrides` array, which specifies tensor stride of each of the\n  lower `tensorRank` - 1 dimensions in bytes, must be a multiple of 16\n  and less than 2^40. Additionally, the following requirements need to\n  be met:\n\n  - When `interleave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`, the\n    strides must be a multiple of 32.\n\n  - When `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, the strides must\n    be a multiple of 32. Each following dimension specified includes\n    previous dimension stride:\n\n  - **View CUDA Toolkit Documentation for a C++ code example**\n\n- `pixelBoxLowerCorner` array specifies the coordinate offsets {D, H,\n  W} of the bounding box from top/left/front corner. The number of\n  offsets and their precision depend on the tensor dimensionality:\n\n  - When `tensorRank` is 3, one signed offset within range [-32768,\n    327""67] is supported.\n\n  - When `tensorRank` is 4, two signed offsets each within range [-128,\n    127] are supported.\n\n  - When `tensorRank` is 5, three offsets each within range [-16, 15]\n    are supported.\n\n- `pixelBoxUpperCorner` array specifies the coordinate offsets {D, H,\n  W} of the bounding box from bottom/right/back corner. The number of\n  offsets and their precision depend on the tensor dimensionality:\n\n  - When `tensorRank` is 3, one signed offset within range [-32768,\n    32767] is supported.\n\n  - When `tensorRank` is 4, two signed offsets each within range [-128,\n    127] are supported.\n\n  - When `tensorRank` is 5, three offsets each within range [-16, 15]\n    are supported. The bounding box specified by `pixelBoxLowerCorner`\n    and `pixelBoxUpperCorner` must have non-zero area.\n\n- `channelsPerPixel`, which specifies the number of elements which must\n  be accessed along C dimension, must be less than or equal to 256.\n  Additionally, when `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, `channelsPerPixel`\n  must be 128.\n\n- `pixelsPerColumn`, which specifies the number of elements that must\n  be accessed along the {N, D, H, W} dimensions, must be less than or\n  equal to 1024.\n\n- `elementStrides` array, which specifies the iteration step along each\n  of the `tensorRank` dimensions, must be non-zero and less than or\n  equal to 8. Note that when `interleave` is\n  :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`, the first element of this\n  array is ignored since TMA doesn\342\200\231t support the stride for dimension\n  zero. When all elements of the `elementStrides` array are one,\n  `boxDim` specifies the number of elements to load. However, if\n  `elementStrides`[i] is not equal to one for some `i`, then TMA loads\n  ceil( `boxDim`[i] / `elementStrides`[i]) number of elements along\n  i-th dimension. To load N elements along i-th dimension, `boxDim`[""i]\n  must be set to N * `elementStrides`[i].\n\n- `interleave` specifies the interleaved layout of type\n  :py:obj:`~.CUtensorMapInterleave`, which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- TMA supports interleaved layouts like NC/8HWC8 where C8 utilizes 16\n  bytes in memory assuming 2 byte per channel or NC/16HWC16 where C16\n  uses 32 bytes. When `interleave` is\n  :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE` and `swizzle` is not\n  :py:obj:`~.CU_TENSOR_MAP_SWIZZLE_NONE`, the bounding box inner\n  dimension (computed as `channelsPerPixel` multiplied by element size\n  in bytes derived from `tensorDataType`) must be less than or equal to\n  the swizzle size.\n\n  - CU_TENSOR_MAP_SWIZZLE_32B requires the bounding box inner dimension\n    to be <= 32.\n\n  - CU_TENSOR_MAP_SWIZZLE_64B requires the bounding box inner dimension\n    to be <= 64.\n\n  - CU_TENSOR_MAP_SWIZZLE_128B* require the bounding box inner\n    dimension to be <= 128. Additionally, `tensorDataType` of\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` requires\n    `interleave` to be :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`.\n\n- `swizzle`, which specifies the shared memory bank swizzling pattern,\n  has to be of type :py:obj:`~.CUtensorMapSwizzle` which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- Data are organized in a specific order in global memory; however,\n  this may not match the order in which the application accesses data\n  in shared memory. This difference in data organization may cause bank\n  conflicts when shared memory is accessed. In order to avoid this\n  problem, data can be loaded to shared memory with shuffling across\n  shared memory banks. When `interleave` is\n  :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`, `swizzle` must be\n  :py:obj:`~.CU_TENSOR_MAP_SWIZZLE_32B`. Other interleave modes can\n  have any swizzling pattern. When the `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_A""LIGN16B`, only the following\n  swizzle modes are supported:\n\n  - CU_TENSOR_MAP_SWIZZLE_NONE (Load & Store)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B (Load & Store)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B (Load & Store)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B (Store only) When the\n    `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, only the\n    following swizzle modes are supported:\n\n  - CU_TENSOR_MAP_SWIZZLE_NONE (Load only)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B (Load only)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B (Load only)\n\n- `l2Promotion` specifies L2 fetch size which indicates the byte\n  granularity at which L2 requests are filled from DRAM. It must be of\n  type :py:obj:`~.CUtensorMapL2promotion`, which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- `oobFill`, which indicates whether zero or a special NaN constant\n  should be used to fill out-of-bound elements, must be of type\n  :py:obj:`~.CUtensorMapFloatOOBfill` which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- Note that\n  :py:obj:`~.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA` can\n  only be used when `tensorDataType` represents a floating-point data\n  type, and when `tensorDataType` is not\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B`,\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, and\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B`.\n\nParameters\n----------\ntensorDataType : :py:obj:`~.CUtensorMapDataType`\n    Tensor data type\ntensorRank : Any\n    Dimensionality of tensor; must be at least 3\nglobalAddress : Any\n    Starting address of memory region described by tensor\nglobalDim : list[:py:obj:`~.cuuint64_t`]\n    Array containing tensor size (number of elements) along each of the\n    `tensorRank` dimensions\nglobalStrides : list[:py:obj:`~.cuuint64_t`]\n    Array containing stride size (in bytes) along each of the\n    `tensorRank` - 1 dimensions\npixelBoxLower""Corner : list[int]\n    Array containing DHW dimensions of lower box corner\npixelBoxUpperCorner : list[int]\n    Array containing DHW dimensions of upper box corner\nchannelsPerPixel : Any\n    Number of channels per pixel\npixelsPerColumn : Any\n    Number of pixels per column\nelementStrides : list[:py:obj:`~.cuuint32_t`]\n    Array containing traversal stride in each of the `tensorRank`\n    dimensions\ninterleave : :py:obj:`~.CUtensorMapInterleave`\n    Type of interleaved layout the tensor addresses\nswizzle : :py:obj:`~.CUtensorMapSwizzle`\n    Bank swizzling pattern inside shared memory\nl2Promotion : :py:obj:`~.CUtensorMapL2promotion`\n    L2 promotion size\noobFill : :py:obj:`~.CUtensorMapFloatOOBfill`\n    Indicate whether zero or special NaN constant will be used to fill\n    out-of-bound elements\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ntensorMap : :py:obj:`~.CUtensorMap`\n    Tensor map object to create\n\nSee Also\n--------\n:py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapEncodeIm2colWide`, :py:obj:`~.cuTensorMapReplaceAddress`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_819cuTensorMapEncodeIm2col = {"cuTensorMapEncodeIm2col", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_819cuTensorMapEncodeIm2col, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_818cuTensorMapEncodeIm2col};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_819cuTensorMapEncodeIm2col(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_tensorDataType = 0;
  PyObject *__pyx_v_tensorRank = 0;
  PyObject *__pyx_v_globalAddress = 0;
  PyObject *__pyx_v_globalDim = 0;
  PyObject *__pyx_v_globalStrides = 0;
  PyObject *__pyx_v_pixelBoxLowerCorner = 0;
  PyObject *__pyx_v_pixelBoxUpperCorner = 0;
  PyObject *__pyx_v_channelsPerPixel = 0;
  PyObject *__pyx_v_pixelsPerColumn = 0;
  PyObject *__pyx_v_elementStrides = 0;
  PyObject *__pyx_v_interleave = 0;
  PyObject *__pyx_v_swizzle = 0;
  PyObject *__pyx_v_l2Promotion = 0;
  PyObject *__pyx_v_oobFill = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTensorMapEncodeIm2col (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_tensorDataType,&__pyx_mstate_global->__pyx_n_u_tensorRank,&__pyx_mstate_global->__pyx_n_u_globalAddress,&__pyx_mstate_global->__pyx_n_u_globalDim,&__pyx_mstate_global->__pyx_n_u_globalStrides,&__pyx_mstate_global->__pyx_n_u_pixelBoxLowerCorner,&__pyx_mstate_global->__pyx_n_u_pixelBoxUpperCorner,&__pyx_mstate_global->__pyx_n_u_channelsPerPixel,&__pyx_mstate_global->__pyx_n_u_pixelsPerColumn,&__pyx_mstate_global->__pyx_n_u_elementStrides,&__pyx_mstate_global->__pyx_n_u_interleave,&__pyx_mstate_global->__pyx_n_u_swizzle,&__pyx_mstate_global->__pyx_n_u_l2Promotion,&__pyx_mstate_global->__pyx_n_u_oobFill,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 43203, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43203, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTensorMapEncodeIm2col", 0) < (0)) __PYX_ERR(0, 43203, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 14; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, i); __PYX_ERR(0, 43203, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 14)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(0, 43203, __pyx_L3_error)
      values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(0, 43203, __pyx_L3_error)
    }
    __pyx_v_tensorDataType = values[0];
    __pyx_v_tensorRank = values[1];
    __pyx_v_globalAddress = values[2];
    __pyx_v_globalDim = values[3];
    __pyx_v_globalStrides = values[4];
    __pyx_v_pixelBoxLowerCorner = values[5];
    __pyx_v_pixelBoxUpperCorner = values[6];
    __pyx_v_channelsPerPixel = values[7];
    __pyx_v_pixelsPerColumn = values[8];
    __pyx_v_elementStrides = values[9];
    __pyx_v_interleave = values[10];
    __pyx_v_swizzle = values[11];
    __pyx_v_l2Promotion = values[12];
    __pyx_v_oobFill = values[13];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, __pyx_nargs); __PYX_ERR(0, 43203, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2col", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_tensorDataType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "tensorDataType"); __PYX_ERR(0, 43204, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_interleave) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "interleave"); __PYX_ERR(0, 43204, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_swizzle) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "swizzle"); __PYX_ERR(0, 43204, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_l2Promotion) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "l2Promotion"); __PYX_ERR(0, 43204, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_oobFill) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "oobFill"); __PYX_ERR(0, 43204, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_818cuTensorMapEncodeIm2col(__pyx_self, __pyx_v_tensorDataType, __pyx_v_tensorRank, __pyx_v_globalAddress, __pyx_v_globalDim, __pyx_v_globalStrides, __pyx_v_pixelBoxLowerCorner, __pyx_v_pixelBoxUpperCorner, __pyx_v_channelsPerPixel, __pyx_v_pixelsPerColumn, __pyx_v_elementStrides, __pyx_v_interleave, __pyx_v_swizzle, __pyx_v_l2Promotion, __pyx_v_oobFill);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_2generator176(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43457
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43457, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_2generator176, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[176]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2col_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43457, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2col.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_2generator176(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43457, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43457, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43457, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43457, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43457, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43457, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43457, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_5generator177(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43476
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43476, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_5generator177, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[177]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2col_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43476, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2col.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_5generator177(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43476, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43476, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43476, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43476, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43476, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43476, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43476, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyLong_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_8generator178(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43479
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43479, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_8generator178, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[178]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2col_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43479, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2col.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_8generator178(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43479, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43479, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43479, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43479, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43479, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43479, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43479, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyLong_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_11generator179(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43482
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43482, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_11generator179, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[179]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2col_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43482, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2col.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_11generator179(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43482, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43482, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43482, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43482, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43482, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43482, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43482, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_14generator180(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43485
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_12genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43485, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_14generator180, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[180]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2col_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43485, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2col.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_14generator180(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43485, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43485, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43485, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43485, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43485, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43485, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43485, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":43203
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], pixelBoxLowerCorner : Optional[tuple[int] | list[int]], pixelBoxUpperCorner : Optional[tuple[int] | list[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_818cuTensorMapEncodeIm2col(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_tensorDataType, PyObject *__pyx_v_tensorRank, PyObject *__pyx_v_globalAddress, PyObject *__pyx_v_globalDim, PyObject *__pyx_v_globalStrides, PyObject *__pyx_v_pixelBoxLowerCorner, PyObject *__pyx_v_pixelBoxUpperCorner, PyObject *__pyx_v_channelsPerPixel, PyObject *__pyx_v_pixelsPerColumn, PyObject *__pyx_v_elementStrides, PyObject *__pyx_v_interleave, PyObject *__pyx_v_swizzle, PyObject *__pyx_v_l2Promotion, PyObject *__pyx_v_oobFill) {
  cuuint32_t __pyx_v_cypixelsPerColumn;
  PyObject *__pyx_v_ppixelsPerColumn = NULL;
  cuuint32_t __pyx_v_cychannelsPerPixel;
  PyObject *__pyx_v_pchannelsPerPixel = NULL;
  cuuint32_t __pyx_v_cytensorRank;
  PyObject *__pyx_v_ptensorRank = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *__pyx_v_tensorMap = 0;
  CUtensorMapDataType __pyx_v_cytensorDataType;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyglobalAddress = NULL;
  void *__pyx_v_cyglobalAddress_ptr;
  cuuint64_t *__pyx_v_cyglobalDim;
  Py_ssize_t __pyx_v_idx;
  cuuint64_t *__pyx_v_cyglobalStrides;
  std::vector<int>  __pyx_v_cypixelBoxLowerCorner;
  std::vector<int>  __pyx_v_cypixelBoxUpperCorner;
  cuuint32_t *__pyx_v_cyelementStrides;
  CUtensorMapInterleave __pyx_v_cyinterleave;
  CUtensorMapSwizzle __pyx_v_cyswizzle;
  CUtensorMapL2promotion __pyx_v_cyl2Promotion;
  CUtensorMapFloatOOBfill __pyx_v_cyoobFill;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_2generator176 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_5generator177 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_8generator178 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_11generator179 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_14generator180 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUtensorMapDataType __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  Py_ssize_t __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  std::vector<int>  __pyx_t_15;
  CUtensorMapInterleave __pyx_t_16;
  CUtensorMapSwizzle __pyx_t_17;
  CUtensorMapL2promotion __pyx_t_18;
  CUtensorMapFloatOOBfill __pyx_t_19;
  CUresult __pyx_t_20;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTensorMapEncodeIm2col", 0);
  __Pyx_INCREF(__pyx_v_globalDim);
  __Pyx_INCREF(__pyx_v_globalStrides);
  __Pyx_INCREF(__pyx_v_pixelBoxLowerCorner);
  __Pyx_INCREF(__pyx_v_pixelBoxUpperCorner);
  __Pyx_INCREF(__pyx_v_elementStrides);

  /* "cuda/bindings/driver.pyx":43456
 *     :py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapEncodeIm2colWide`, :py:obj:`~.cuTensorMapReplaceAddress`
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
*/
  __pyx_t_2 = (__pyx_v_elementStrides == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_elementStrides);
    __pyx_t_1 = __pyx_v_elementStrides;
  }
  __Pyx_DECREF_SET(__pyx_v_elementStrides, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43457
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_genexpr(NULL, __pyx_v_elementStrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 43457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":43458
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
 *     if pixelsPerColumn is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_elementStrides_is_not_i};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43458, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 43458, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43457
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
*/
  }

  /* "cuda/bindings/driver.pyx":43460
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
 *     if pixelsPerColumn is None:             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
*/
  __pyx_t_4 = (__pyx_v_pixelsPerColumn == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43461
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
 *     if pixelsPerColumn is None:
 *         ppixelsPerColumn = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 *         ppixelsPerColumn = int(pixelsPerColumn)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppixelsPerColumn = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43460
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
 *     if pixelsPerColumn is None:             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":43462
 *     if pixelsPerColumn is None:
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_pixelsPerColumn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43463
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 *         ppixelsPerColumn = int(pixelsPerColumn)             # <<<<<<<<<<<<<<
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_pixelsPerColumn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppixelsPerColumn = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43462
 *     if pixelsPerColumn is None:
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":43465
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))             # <<<<<<<<<<<<<<
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_pixelsPerColumn};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43465, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ppixelsPerColumn = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":43466
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppixelsPerColumn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43466, __pyx_L1_error)
  __pyx_v_cypixelsPerColumn = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43468
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
*/
  __pyx_t_4 = (__pyx_v_channelsPerPixel == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43469
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:
 *         pchannelsPerPixel = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 *         pchannelsPerPixel = int(channelsPerPixel)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pchannelsPerPixel = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43468
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":43470
 *     if channelsPerPixel is None:
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = int(channelsPerPixel)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_channelsPerPixel, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43471
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 *         pchannelsPerPixel = int(channelsPerPixel)             # <<<<<<<<<<<<<<
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
*/
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_channelsPerPixel); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_pchannelsPerPixel = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43470
 *     if channelsPerPixel is None:
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = int(channelsPerPixel)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":43473
 *         pchannelsPerPixel = int(channelsPerPixel)
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))             # <<<<<<<<<<<<<<
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_channelsPerPixel};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43473, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_pchannelsPerPixel = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":43474
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel             # <<<<<<<<<<<<<<
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pchannelsPerPixel); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43474, __pyx_L1_error)
  __pyx_v_cychannelsPerPixel = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43475
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
*/
  __pyx_t_4 = (__pyx_v_pixelBoxUpperCorner == Py_None);
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_pixelBoxUpperCorner);
    __pyx_t_5 = __pyx_v_pixelBoxUpperCorner;
  }
  __Pyx_DECREF_SET(__pyx_v_pixelBoxUpperCorner, __pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":43476
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
*/
  __pyx_t_5 = __pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_3genexpr(NULL, __pyx_v_pixelBoxUpperCorner); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":43477
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")             # <<<<<<<<<<<<<<
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_pixelBoxUpperCorner_is};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43477, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 43477, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43476
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
*/
  }

  /* "cuda/bindings/driver.pyx":43478
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
*/
  __pyx_t_2 = (__pyx_v_pixelBoxLowerCorner == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_pixelBoxLowerCorner);
    __pyx_t_1 = __pyx_v_pixelBoxLowerCorner;
  }
  __Pyx_DECREF_SET(__pyx_v_pixelBoxLowerCorner, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43479
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_6genexpr(NULL, __pyx_v_pixelBoxLowerCorner); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 43479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":43480
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")             # <<<<<<<<<<<<<<
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_pixelBoxLowerCorner_is};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43480, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 43480, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43479
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected tuple[int] or list[int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
*/
  }

  /* "cuda/bindings/driver.pyx":43481
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
*/
  __pyx_t_4 = (__pyx_v_globalStrides == Py_None);
  if (__pyx_t_4) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_globalStrides);
    __pyx_t_3 = __pyx_v_globalStrides;
  }
  __Pyx_DECREF_SET(__pyx_v_globalStrides, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43482
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_9genexpr(NULL, __pyx_v_globalStrides); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":43483
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_1 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_globalStrides_is_not_in};
      __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 43483, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43482
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected tuple[int] or list[int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
  }

  /* "cuda/bindings/driver.pyx":43484
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
*/
  __pyx_t_2 = (__pyx_v_globalDim == Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_globalDim);
    __pyx_t_5 = __pyx_v_globalDim;
  }
  __Pyx_DECREF_SET(__pyx_v_globalDim, __pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":43485
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
  __pyx_t_5 = __pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_12genexpr(NULL, __pyx_v_globalDim); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 43485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":43486
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_globalDim_is_not_instan};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43486, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 43486, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43485
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
  }

  /* "cuda/bindings/driver.pyx":43488
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
*/
  __pyx_t_4 = (__pyx_v_tensorRank == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43489
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:
 *         ptensorRank = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ptensorRank = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43488
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":43490
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_tensorRank, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43491
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)             # <<<<<<<<<<<<<<
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
*/
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_tensorRank); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43490
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":43493
 *         ptensorRank = int(tensorRank)
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))             # <<<<<<<<<<<<<<
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_tensorRank};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43493, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;
  }
  __pyx_L10:;

  /* "cuda/bindings/driver.pyx":43494
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank             # <<<<<<<<<<<<<<
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43494, __pyx_L1_error)
  __pyx_v_cytensorRank = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43495
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43495, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_tensorMap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":43496
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value             # <<<<<<<<<<<<<<
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_tensorDataType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = ((enum CUtensorMapDataType_enum)__Pyx_PyLong_As_enum__CUtensorMapDataType_enum(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cytensorDataType = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":43497
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)             # <<<<<<<<<<<<<<
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_globalAddress};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43497, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_cyglobalAddress = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":43498
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyglobalAddress), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyglobalAddress_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43499
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL             # <<<<<<<<<<<<<<
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
*/
  __pyx_v_cyglobalDim = NULL;

  /* "cuda/bindings/driver.pyx":43500
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43500, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43501
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cyglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43501, __pyx_L1_error)
    __pyx_v_cyglobalDim = ((cuuint64_t *)calloc(__pyx_t_9, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43502
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyglobalDim == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":43503
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalDim)):
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43503, __pyx_L1_error)
      __pyx_t_10 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43503, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43503, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43503, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43503, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyLong_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43503, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43503, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43503, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_10};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43503, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 43503, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43502
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43505
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalDim)):             # <<<<<<<<<<<<<<
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43505, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43506
 *         else:
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
*/
        __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_globalDim, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43506, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        (__pyx_v_cyglobalDim[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_5)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43500
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
*/
    goto __pyx_L11;
  }

  /* "cuda/bindings/driver.pyx":43507
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43507, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43508
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_globalDim, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_cyglobalDim = ((cuuint64_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_5)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":43507
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
*/
  }
  __pyx_L11:;

  /* "cuda/bindings/driver.pyx":43509
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
*/
  __pyx_v_cyglobalStrides = NULL;

  /* "cuda/bindings/driver.pyx":43510
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43510, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43511
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cyglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43511, __pyx_L1_error)
    __pyx_v_cyglobalStrides = ((cuuint64_t *)calloc(__pyx_t_9, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43512
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyglobalStrides == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":43513
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalStrides)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_10 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43513, __pyx_L1_error)
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43513, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43513, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43513, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43513, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43513, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43513, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43513, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_1};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43513, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 43513, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43512
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43515
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalStrides)):             # <<<<<<<<<<<<<<
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43515, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43516
 *         else:
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
*/
        __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_globalStrides, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43516, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        (__pyx_v_cyglobalStrides[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_5)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43510
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
*/
    goto __pyx_L15;
  }

  /* "cuda/bindings/driver.pyx":43517
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef vector[int] cypixelBoxLowerCorner = pixelBoxLowerCorner
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43517, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43518
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef vector[int] cypixelBoxLowerCorner = pixelBoxLowerCorner
 *     cdef vector[int] cypixelBoxUpperCorner = pixelBoxUpperCorner
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_globalStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_cyglobalStrides = ((cuuint64_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_5)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":43517
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef vector[int] cypixelBoxLowerCorner = pixelBoxLowerCorner
*/
  }
  __pyx_L15:;

  /* "cuda/bindings/driver.pyx":43519
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef vector[int] cypixelBoxLowerCorner = pixelBoxLowerCorner             # <<<<<<<<<<<<<<
 *     cdef vector[int] cypixelBoxUpperCorner = pixelBoxUpperCorner
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
*/
  __pyx_t_15 = __pyx_convert_vector_from_py_int(__pyx_v_pixelBoxLowerCorner); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43519, __pyx_L1_error)
  __pyx_v_cypixelBoxLowerCorner = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_15);

  /* "cuda/bindings/driver.pyx":43520
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef vector[int] cypixelBoxLowerCorner = pixelBoxLowerCorner
 *     cdef vector[int] cypixelBoxUpperCorner = pixelBoxUpperCorner             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:
*/
  __pyx_t_15 = __pyx_convert_vector_from_py_int(__pyx_v_pixelBoxUpperCorner); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43520, __pyx_L1_error)
  __pyx_v_cypixelBoxUpperCorner = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_15);

  /* "cuda/bindings/driver.pyx":43521
 *     cdef vector[int] cypixelBoxLowerCorner = pixelBoxLowerCorner
 *     cdef vector[int] cypixelBoxUpperCorner = pixelBoxUpperCorner
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
*/
  __pyx_v_cyelementStrides = NULL;

  /* "cuda/bindings/driver.pyx":43522
 *     cdef vector[int] cypixelBoxUpperCorner = pixelBoxUpperCorner
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43522, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43523
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))             # <<<<<<<<<<<<<<
 *         if cyelementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43523, __pyx_L1_error)
    __pyx_v_cyelementStrides = ((cuuint32_t *)calloc(__pyx_t_9, (sizeof(cuuint32_t))));

    /* "cuda/bindings/driver.pyx":43524
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyelementStrides == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":43525
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(elementStrides)):
*/
      __pyx_t_10 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_1 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43525, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43525, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43525, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43525, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43525, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43525, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43525, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43525, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_3};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43525, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 43525, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43524
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43527
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
 *             for idx in range(len(elementStrides)):             # <<<<<<<<<<<<<<
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43527, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43528
 *         else:
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
*/
        __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_elementStrides, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43528, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        (__pyx_v_cyelementStrides[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_5)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43522
 *     cdef vector[int] cypixelBoxUpperCorner = pixelBoxUpperCorner
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
*/
    goto __pyx_L19;
  }

  /* "cuda/bindings/driver.pyx":43529
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43529, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43530
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_elementStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_cyelementStrides = ((cuuint32_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_5)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "cuda/bindings/driver.pyx":43529
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
*/
  }
  __pyx_L19:;

  /* "cuda/bindings/driver.pyx":43531
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_interleave, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_16 = ((enum CUtensorMapInterleave_enum)__Pyx_PyLong_As_enum__CUtensorMapInterleave_enum(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyinterleave = __pyx_t_16;

  /* "cuda/bindings/driver.pyx":43532
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_swizzle, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_17 = ((enum CUtensorMapSwizzle_enum)__Pyx_PyLong_As_enum__CUtensorMapSwizzle_enum(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyswizzle = __pyx_t_17;

  /* "cuda/bindings/driver.pyx":43533
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_l2Promotion, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_18 = ((enum CUtensorMapL2promotion_enum)__Pyx_PyLong_As_enum__CUtensorMapL2promotion_enum(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyl2Promotion = __pyx_t_18;

  /* "cuda/bindings/driver.pyx":43534
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeIm2col(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cypixelBoxLowerCorner.data(), cypixelBoxUpperCorner.data(), cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_oobFill, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_19 = ((enum CUtensorMapFloatOOBfill_enum)__Pyx_PyLong_As_enum__CUtensorMapFloatOOBfill_enum(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cyoobFill = __pyx_t_19;

  /* "cuda/bindings/driver.pyx":43535
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTensorMapEncodeIm2col(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cypixelBoxLowerCorner.data(), cypixelBoxUpperCorner.data(), cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43536
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeIm2col(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cypixelBoxLowerCorner.data(), cypixelBoxUpperCorner.data(), cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)             # <<<<<<<<<<<<<<
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
*/
        __pyx_t_20 = __pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeIm2col(((CUtensorMap *)__pyx_v_tensorMap->__pyx_base._pvt_ptr), __pyx_v_cytensorDataType, __pyx_v_cytensorRank, __pyx_v_cyglobalAddress_ptr, __pyx_v_cyglobalDim, __pyx_v_cyglobalStrides, __pyx_v_cypixelBoxLowerCorner.data(), __pyx_v_cypixelBoxUpperCorner.data(), __pyx_v_cychannelsPerPixel, __pyx_v_cypixelsPerColumn, __pyx_v_cyelementStrides, __pyx_v_cyinterleave, __pyx_v_cyswizzle, __pyx_v_cyl2Promotion, __pyx_v_cyoobFill); if (unlikely(__pyx_t_20 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43536, __pyx_L24_error)
        __pyx_v_err = __pyx_t_20;
      }

      /* "cuda/bindings/driver.pyx":43535
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTensorMapEncodeIm2col(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cypixelBoxLowerCorner.data(), cypixelBoxUpperCorner.data(), cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L25;
        }
        __pyx_L24_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L25:;
      }
  }

  /* "cuda/bindings/driver.pyx":43537
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeIm2col(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cypixelBoxLowerCorner.data(), cypixelBoxUpperCorner.data(), cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43537, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L27_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyglobalDim != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L27_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43538
 *         err = cydriver.cuTensorMapEncodeIm2col(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cypixelBoxLowerCorner.data(), cypixelBoxUpperCorner.data(), cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)             # <<<<<<<<<<<<<<
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
*/
    free(__pyx_v_cyglobalDim);

    /* "cuda/bindings/driver.pyx":43537
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeIm2col(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, cypixelBoxLowerCorner.data(), cypixelBoxUpperCorner.data(), cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":43539
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43539, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L30_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyglobalStrides != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L30_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43540
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)             # <<<<<<<<<<<<<<
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
*/
    free(__pyx_v_cyglobalStrides);

    /* "cuda/bindings/driver.pyx":43539
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":43541
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43541, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L33_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyelementStrides != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L33_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43542
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cyelementStrides);

    /* "cuda/bindings/driver.pyx":43541
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":43543
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43544
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], tensorMap)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 43544, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, Py_None) != (0)) __PYX_ERR(0, 43544, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43543
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)
*/
  }

  /* "cuda/bindings/driver.pyx":43545
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 43545, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_tensorMap);
  __Pyx_GIVEREF((PyObject *)__pyx_v_tensorMap);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_tensorMap)) != (0)) __PYX_ERR(0, 43545, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43203
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], pixelBoxLowerCorner : Optional[tuple[int] | list[int]], pixelBoxUpperCorner : Optional[tuple[int] | list[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2col", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppixelsPerColumn);
  __Pyx_XDECREF(__pyx_v_pchannelsPerPixel);
  __Pyx_XDECREF(__pyx_v_ptensorRank);
  __Pyx_XDECREF((PyObject *)__pyx_v_tensorMap);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyglobalAddress);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_2generator176);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_5generator177);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_8generator178);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_11generator179);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_14generator180);
  __Pyx_XDECREF(__pyx_v_globalDim);
  __Pyx_XDECREF(__pyx_v_globalStrides);
  __Pyx_XDECREF(__pyx_v_pixelBoxLowerCorner);
  __Pyx_XDECREF(__pyx_v_pixelBoxUpperCorner);
  __Pyx_XDECREF(__pyx_v_elementStrides);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":43547
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2colWide(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], int pixelBoxLowerCornerWidth, int pixelBoxUpperCornerWidth, channelsPerPixel, pixelsPerColumn, elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, mode not None : CUtensorMapIm2ColWideMode, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region, but where the elements are exclusively loaded along the W dimension.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_821cuTensorMapEncodeIm2colWide(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_820cuTensorMapEncodeIm2colWide, "cuTensorMapEncodeIm2colWide(tensorDataType: CUtensorMapDataType, tensorRank, globalAddress, globalDim: Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides: Optional[tuple[cuuint64_t] | list[cuuint64_t]], int pixelBoxLowerCornerWidth, int pixelBoxUpperCornerWidth, channelsPerPixel, pixelsPerColumn, elementStrides: Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave: CUtensorMapInterleave, mode: CUtensorMapIm2ColWideMode, swizzle: CUtensorMapSwizzle, l2Promotion: CUtensorMapL2promotion, oobFill: CUtensorMapFloatOOBfill)\n\nCreate a tensor map descriptor object representing im2col memory region, but where the elements are exclusively loaded along the W dimension.\n\nCreates a descriptor for Tensor Memory Access (TMA) object specified by\nthe parameters describing a im2col memory layout and where the row is\nalways loaded along the W dimensuin and returns it in `tensorMap`. This\nassumes the tensor layout in memory is either NDHWC, NHWC, or NWC.\n\nThis API is only supported on devices of compute capability 10.0 or\nhigher. Additionally, a tensor map object is an opaque value, and, as\nsuch, should only be accessed through CUDA APIs and PTX.\n\nThe parameters passed are bound to the following requirements:\n\n- `tensorMap` address must be aligned to 64 bytes.\n\n- `tensorDataType` has to be an enum from\n  :py:obj:`~.CUtensorMapDataType` which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B` copies '16 x U4'\n  packed values to memory aligned as 8 bytes. There are no gaps between\n  packed values. :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`\n  copies '16 x U4' packed values to memory aligned as 16 bytes. There\n  are 8 byte gaps between every 8 byte chunk of packed values.\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` copies '16 x U6'\n  packed values to memory aligned as 16 bytes. There are 4 byte gaps\n  between every 12 byte chunk of packed values.\n\n- `""tensorRank`, which specifies the number of tensor dimensions, must\n  be 3, 4, or 5.\n\n- `globalAddress`, which specifies the starting address of the memory\n  region described, must be 16 byte aligned. The following requirements\n  need to also be met:\n\n  - When `interleave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`,\n    `globalAddress` must be 32 byte aligned.\n\n  - When `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, `globalAddress`\n    must be 32 byte aligned.\n\n`globalDim` array, which specifies tensor size of each of the\n`tensorRank` dimensions, must be non-zero and less than or equal to\n2^32. Additionally, the following requirements need to be met for the\npacked data types:\n\n- When `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, globalDim[0] must\n  be a multiple of 128.\n\n- When `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B`, `globalDim`[0] must\n  be a multiple of 2.\n\n- Dimension for the packed data types must reflect the number of\n  individual U# values.\n\n`globalStrides` array, which specifies tensor stride of each of the\nlower `tensorRank` - 1 dimensions in bytes, must be a multiple of 16\nand less than 2^40. Additionally, the following requirements need to be\nmet:\n\n- When `interleave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`, the\n  strides must be a multiple of 32.\n\n- When `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, the strides must\n  be a multiple of 32. Each following dimension specified includes\n  previous dimension stride:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n`pixelBoxLowerCornerWidth` specifies the coordinate offset W of the\nbounding box from left corner. The offset must be within range [-32768,\n32767].\n\n- `pix""elBoxUpperCornerWidth` specifies the coordinate offset W of the\n  bounding box from right corner. The offset must be within range\n  [-32768, 32767].\n\nThe bounding box specified by `pixelBoxLowerCornerWidth` and\n`pixelBoxUpperCornerWidth` must have non-zero area. Note that the size\nof the box along D and H dimensions is always equal to one.\n\n- `channelsPerPixel`, which specifies the number of elements which must\n  be accessed along C dimension, must be less than or equal to 256.\n  Additionally, when `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` or\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, `channelsPerPixel`\n  must be 128.\n\n- `pixelsPerColumn`, which specifies the number of elements that must\n  be accessed along the W dimension, must be less than or equal to\n  1024. This field is ignored when `mode` is\n  :py:obj:`~.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128`.\n\n- `elementStrides` array, which specifies the iteration step along each\n  of the `tensorRank` dimensions, must be non-zero and less than or\n  equal to 8. Note that when `interleave` is\n  :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`, the first element of this\n  array is ignored since TMA doesn\342\200\231t support the stride for dimension\n  zero. When all elements of the `elementStrides` array are one,\n  `boxDim` specifies the number of elements to load. However, if\n  `elementStrides`[i] is not equal to one for some `i`, then TMA loads\n  ceil( `boxDim`[i] / `elementStrides`[i]) number of elements along\n  i-th dimension. To load N elements along i-th dimension, `boxDim`[i]\n  must be set to N * `elementStrides`[i].\n\n- `interleave` specifies the interleaved layout of type\n  :py:obj:`~.CUtensorMapInterleave`, which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- TMA supports interleaved layouts like NC/8HWC8 where C8 utilizes 16\n  bytes in memory assuming 2 byte per channel or NC/16HWC16 where C16\n  uses 32 bytes. When `""interleave` is\n  :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`, the bounding box inner\n  dimension (computed as `channelsPerPixel` multiplied by element size\n  in bytes derived from `tensorDataType`) must be less than or equal to\n  the swizzle size.\n\n  - CU_TENSOR_MAP_SWIZZLE_64B requires the bounding box inner dimension\n    to be <= 64.\n\n  - CU_TENSOR_MAP_SWIZZLE_128B* require the bounding box inner\n    dimension to be <= 128. Additionally, `tensorDataType` of\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B` requires\n    `interleave` to be :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`.\n\n- `mode`, which describes loading of elements loaded along the W\n  dimension, has to be one of the following\n  :py:obj:`~.CUtensorMapIm2ColWideMode` types:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- :py:obj:`~.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W` allows the number of\n  elements loaded along the W dimension to be specified via the\n  `pixelsPerColumn` field.\n\n- `swizzle`, which specifies the shared memory bank swizzling pattern,\n  must be one of the following :py:obj:`~.CUtensorMapSwizzle` modes\n  (other swizzle modes are not supported):\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- Data are organized in a specific order in global memory; however,\n  this may not match the order in which the application accesses data\n  in shared memory. This difference in data organization may cause bank\n  conflicts when shared memory is accessed. In order to avoid this\n  problem, data can be loaded to shared memory with shuffling across\n  shared memory banks. When the `tensorDataType` is\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B`, only the following\n  swizzle modes are supported:\n\n  - CU_TENSOR_MAP_SWIZZLE_128B (Load & Store)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B (Load & Store) When the\n    `tensorDataType` is\n    :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, only the\n    following swizzle modes are support""ed:\n\n  - CU_TENSOR_MAP_SWIZZLE_128B (Load only)\n\n  - CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B (Load only)\n\n- `l2Promotion` specifies L2 fetch size which indicates the byte\n  granularity at which L2 requests are filled from DRAM. It must be of\n  type :py:obj:`~.CUtensorMapL2promotion`, which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- `oobFill`, which indicates whether zero or a special NaN constant\n  should be used to fill out-of-bound elements, must be of type\n  :py:obj:`~.CUtensorMapFloatOOBfill` which is defined as:\n\n- **View CUDA Toolkit Documentation for a C++ code example**\n\n- Note that\n  :py:obj:`~.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA` can\n  only be used when `tensorDataType` represents a floating-point data\n  type, and when `tensorDataType` is not\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B`,\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B`, and\n  :py:obj:`~.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B`.\n\nParameters\n----------\ntensorDataType : :py:obj:`~.CUtensorMapDataType`\n    Tensor data type\ntensorRank : Any\n    Dimensionality of tensor; must be at least 3\nglobalAddress : Any\n    Starting address of memory region described by tensor\nglobalDim : list[:py:obj:`~.cuuint64_t`]\n    Array containing tensor size (number of elements) along each of the\n    `tensorRank` dimensions\nglobalStrides : list[:py:obj:`~.cuuint64_t`]\n    Array containing stride size (in bytes) along each of the\n    `tensorRank` - 1 dimensions\npixelBoxLowerCornerWidth : int\n    Width offset of left box corner\npixelBoxUpperCornerWidth : int\n    Width offset of right box corner\nchannelsPerPixel : Any\n    Number of channels per pixel\npixelsPerColumn : Any\n    Number of pixels per column\nelementStrides : list[:py:obj:`~.cuuint32_t`]\n    Array containing traversal stride in each of the `tensorRank`\n    dimensions\ninterleave : :py:obj:`~.CUtensorMapInterleave`\n    Type of interleaved layout the tenso""r addresses\nmode : :py:obj:`~.CUtensorMapIm2ColWideMode`\n    W or W128 mode\nswizzle : :py:obj:`~.CUtensorMapSwizzle`\n    Bank swizzling pattern inside shared memory\nl2Promotion : :py:obj:`~.CUtensorMapL2promotion`\n    L2 promotion size\noobFill : :py:obj:`~.CUtensorMapFloatOOBfill`\n    Indicate whether zero or special NaN constant will be used to fill\n    out-of-bound elements\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ntensorMap : :py:obj:`~.CUtensorMap`\n    Tensor map object to create\n\nSee Also\n--------\n:py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapEncodeIm2col`, :py:obj:`~.cuTensorMapReplaceAddress`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_821cuTensorMapEncodeIm2colWide = {"cuTensorMapEncodeIm2colWide", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_821cuTensorMapEncodeIm2colWide, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_820cuTensorMapEncodeIm2colWide};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_821cuTensorMapEncodeIm2colWide(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_tensorDataType = 0;
  PyObject *__pyx_v_tensorRank = 0;
  PyObject *__pyx_v_globalAddress = 0;
  PyObject *__pyx_v_globalDim = 0;
  PyObject *__pyx_v_globalStrides = 0;
  int __pyx_v_pixelBoxLowerCornerWidth;
  int __pyx_v_pixelBoxUpperCornerWidth;
  PyObject *__pyx_v_channelsPerPixel = 0;
  PyObject *__pyx_v_pixelsPerColumn = 0;
  PyObject *__pyx_v_elementStrides = 0;
  PyObject *__pyx_v_interleave = 0;
  PyObject *__pyx_v_mode = 0;
  PyObject *__pyx_v_swizzle = 0;
  PyObject *__pyx_v_l2Promotion = 0;
  PyObject *__pyx_v_oobFill = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTensorMapEncodeIm2colWide (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_tensorDataType,&__pyx_mstate_global->__pyx_n_u_tensorRank,&__pyx_mstate_global->__pyx_n_u_globalAddress,&__pyx_mstate_global->__pyx_n_u_globalDim,&__pyx_mstate_global->__pyx_n_u_globalStrides,&__pyx_mstate_global->__pyx_n_u_pixelBoxLowerCornerWidth,&__pyx_mstate_global->__pyx_n_u_pixelBoxUpperCornerWidth,&__pyx_mstate_global->__pyx_n_u_channelsPerPixel,&__pyx_mstate_global->__pyx_n_u_pixelsPerColumn,&__pyx_mstate_global->__pyx_n_u_elementStrides,&__pyx_mstate_global->__pyx_n_u_interleave,&__pyx_mstate_global->__pyx_n_u_mode,&__pyx_mstate_global->__pyx_n_u_swizzle,&__pyx_mstate_global->__pyx_n_u_l2Promotion,&__pyx_mstate_global->__pyx_n_u_oobFill,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 43547, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 15:
        values[14] = __Pyx_ArgRef_FASTCALL(__pyx_args, 14);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[14])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTensorMapEncodeIm2colWide", 0) < (0)) __PYX_ERR(0, 43547, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 15; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2colWide", 1, 15, 15, i); __PYX_ERR(0, 43547, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 15)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(0, 43547, __pyx_L3_error)
      values[14] = __Pyx_ArgRef_FASTCALL(__pyx_args, 14);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[14])) __PYX_ERR(0, 43547, __pyx_L3_error)
    }
    __pyx_v_tensorDataType = values[0];
    __pyx_v_tensorRank = values[1];
    __pyx_v_globalAddress = values[2];
    __pyx_v_globalDim = values[3];
    __pyx_v_globalStrides = values[4];
    __pyx_v_pixelBoxLowerCornerWidth = __Pyx_PyLong_As_int(values[5]); if (unlikely((__pyx_v_pixelBoxLowerCornerWidth == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 43548, __pyx_L3_error)
    __pyx_v_pixelBoxUpperCornerWidth = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_pixelBoxUpperCornerWidth == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 43548, __pyx_L3_error)
    __pyx_v_channelsPerPixel = values[7];
    __pyx_v_pixelsPerColumn = values[8];
    __pyx_v_elementStrides = values[9];
    __pyx_v_interleave = values[10];
    __pyx_v_mode = values[11];
    __pyx_v_swizzle = values[12];
    __pyx_v_l2Promotion = values[13];
    __pyx_v_oobFill = values[14];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2colWide", 1, 15, 15, __pyx_nargs); __PYX_ERR(0, 43547, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2colWide", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_tensorDataType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "tensorDataType"); __PYX_ERR(0, 43548, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_interleave) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "interleave"); __PYX_ERR(0, 43548, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_mode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mode"); __PYX_ERR(0, 43548, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_swizzle) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "swizzle"); __PYX_ERR(0, 43548, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_l2Promotion) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "l2Promotion"); __PYX_ERR(0, 43548, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_oobFill) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "oobFill"); __PYX_ERR(0, 43548, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_820cuTensorMapEncodeIm2colWide(__pyx_self, __pyx_v_tensorDataType, __pyx_v_tensorRank, __pyx_v_globalAddress, __pyx_v_globalDim, __pyx_v_globalStrides, __pyx_v_pixelBoxLowerCornerWidth, __pyx_v_pixelBoxUpperCornerWidth, __pyx_v_channelsPerPixel, __pyx_v_pixelsPerColumn, __pyx_v_elementStrides, __pyx_v_interleave, __pyx_v_mode, __pyx_v_swizzle, __pyx_v_l2Promotion, __pyx_v_oobFill);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_2generator181(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43788
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43788, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_2generator181, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[181]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2colWide_loca, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43788, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2colWide.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_2generator181(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43788, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43788, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43788, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43788, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43788, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43788, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43788, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_5generator182(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43807
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43807, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_5generator182, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[182]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2colWide_loca, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43807, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2colWide.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_5generator182(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43807, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43807, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43807, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43807, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43807, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43807, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43807, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43807, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_8generator183(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43810
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43810, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_8generator183, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[183]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2colWide_loca, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43810, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2colWide.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_8generator183(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43810, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43810, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43810, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43810, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 43810, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43810, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 43810, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":43547
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2colWide(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], int pixelBoxLowerCornerWidth, int pixelBoxUpperCornerWidth, channelsPerPixel, pixelsPerColumn, elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, mode not None : CUtensorMapIm2ColWideMode, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region, but where the elements are exclusively loaded along the W dimension.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_820cuTensorMapEncodeIm2colWide(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_tensorDataType, PyObject *__pyx_v_tensorRank, PyObject *__pyx_v_globalAddress, PyObject *__pyx_v_globalDim, PyObject *__pyx_v_globalStrides, int __pyx_v_pixelBoxLowerCornerWidth, int __pyx_v_pixelBoxUpperCornerWidth, PyObject *__pyx_v_channelsPerPixel, PyObject *__pyx_v_pixelsPerColumn, PyObject *__pyx_v_elementStrides, PyObject *__pyx_v_interleave, PyObject *__pyx_v_mode, PyObject *__pyx_v_swizzle, PyObject *__pyx_v_l2Promotion, PyObject *__pyx_v_oobFill) {
  cuuint32_t __pyx_v_cypixelsPerColumn;
  PyObject *__pyx_v_ppixelsPerColumn = NULL;
  cuuint32_t __pyx_v_cychannelsPerPixel;
  PyObject *__pyx_v_pchannelsPerPixel = NULL;
  cuuint32_t __pyx_v_cytensorRank;
  PyObject *__pyx_v_ptensorRank = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *__pyx_v_tensorMap = 0;
  CUtensorMapDataType __pyx_v_cytensorDataType;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyglobalAddress = NULL;
  void *__pyx_v_cyglobalAddress_ptr;
  cuuint64_t *__pyx_v_cyglobalDim;
  Py_ssize_t __pyx_v_idx;
  cuuint64_t *__pyx_v_cyglobalStrides;
  cuuint32_t *__pyx_v_cyelementStrides;
  CUtensorMapInterleave __pyx_v_cyinterleave;
  CUtensorMapIm2ColWideMode __pyx_v_cymode;
  CUtensorMapSwizzle __pyx_v_cyswizzle;
  CUtensorMapL2promotion __pyx_v_cyl2Promotion;
  CUtensorMapFloatOOBfill __pyx_v_cyoobFill;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_2generator181 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_5generator182 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_8generator183 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUtensorMapDataType __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  Py_ssize_t __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  CUtensorMapInterleave __pyx_t_15;
  CUtensorMapIm2ColWideMode __pyx_t_16;
  CUtensorMapSwizzle __pyx_t_17;
  CUtensorMapL2promotion __pyx_t_18;
  CUtensorMapFloatOOBfill __pyx_t_19;
  CUresult __pyx_t_20;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTensorMapEncodeIm2colWide", 0);
  __Pyx_INCREF(__pyx_v_globalDim);
  __Pyx_INCREF(__pyx_v_globalStrides);
  __Pyx_INCREF(__pyx_v_elementStrides);

  /* "cuda/bindings/driver.pyx":43787
 *     :py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapEncodeIm2col`, :py:obj:`~.cuTensorMapReplaceAddress`
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
*/
  __pyx_t_2 = (__pyx_v_elementStrides == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_elementStrides);
    __pyx_t_1 = __pyx_v_elementStrides;
  }
  __Pyx_DECREF_SET(__pyx_v_elementStrides, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43788
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_genexpr(NULL, __pyx_v_elementStrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 43788, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":43789
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
 *     if pixelsPerColumn is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_elementStrides_is_not_i};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43789, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 43789, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43788
 *     """
 *     elementStrides = [] if elementStrides is None else elementStrides
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
*/
  }

  /* "cuda/bindings/driver.pyx":43791
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
 *     if pixelsPerColumn is None:             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
*/
  __pyx_t_4 = (__pyx_v_pixelsPerColumn == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43792
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
 *     if pixelsPerColumn is None:
 *         ppixelsPerColumn = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 *         ppixelsPerColumn = int(pixelsPerColumn)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppixelsPerColumn = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43791
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected tuple[cydriver.cuuint32_t,] or list[cydriver.cuuint32_t,]")
 *     cdef cydriver.cuuint32_t cypixelsPerColumn
 *     if pixelsPerColumn is None:             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":43793
 *     if pixelsPerColumn is None:
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_pixelsPerColumn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43794
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 *         ppixelsPerColumn = int(pixelsPerColumn)             # <<<<<<<<<<<<<<
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_pixelsPerColumn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppixelsPerColumn = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43793
 *     if pixelsPerColumn is None:
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":43796
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))             # <<<<<<<<<<<<<<
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_pixelsPerColumn};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43796, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ppixelsPerColumn = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":43797
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppixelsPerColumn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43797, __pyx_L1_error)
  __pyx_v_cypixelsPerColumn = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43799
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
*/
  __pyx_t_4 = (__pyx_v_channelsPerPixel == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43800
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:
 *         pchannelsPerPixel = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 *         pchannelsPerPixel = int(channelsPerPixel)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pchannelsPerPixel = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43799
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":43801
 *     if channelsPerPixel is None:
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = int(channelsPerPixel)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_channelsPerPixel, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43802
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 *         pchannelsPerPixel = int(channelsPerPixel)             # <<<<<<<<<<<<<<
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
*/
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_channelsPerPixel); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_pchannelsPerPixel = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43801
 *     if channelsPerPixel is None:
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = int(channelsPerPixel)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":43804
 *         pchannelsPerPixel = int(channelsPerPixel)
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))             # <<<<<<<<<<<<<<
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     globalStrides = [] if globalStrides is None else globalStrides
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_channelsPerPixel};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43804, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_5 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_pchannelsPerPixel = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":43805
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel             # <<<<<<<<<<<<<<
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pchannelsPerPixel); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43805, __pyx_L1_error)
  __pyx_v_cychannelsPerPixel = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43806
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     globalStrides = [] if globalStrides is None else globalStrides             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
*/
  __pyx_t_4 = (__pyx_v_globalStrides == Py_None);
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_globalStrides);
    __pyx_t_5 = __pyx_v_globalStrides;
  }
  __Pyx_DECREF_SET(__pyx_v_globalStrides, __pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/bindings/driver.pyx":43807
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
  __pyx_t_5 = __pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_3genexpr(NULL, __pyx_v_globalStrides); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43807, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":43808
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_globalStrides_is_not_in};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43808, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 43808, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43807
 *     cychannelsPerPixel = <cydriver.cuuint32_t><void_ptr>pchannelsPerPixel
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
*/
  }

  /* "cuda/bindings/driver.pyx":43809
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
*/
  __pyx_t_2 = (__pyx_v_globalDim == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_globalDim);
    __pyx_t_1 = __pyx_v_globalDim;
  }
  __Pyx_DECREF_SET(__pyx_v_globalDim, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43810
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_6genexpr(NULL, __pyx_v_globalDim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 43810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":43811
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_globalDim_is_not_instan};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43811, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 43811, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43810
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
*/
  }

  /* "cuda/bindings/driver.pyx":43813
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
*/
  __pyx_t_4 = (__pyx_v_tensorRank == Py_None);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43814
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:
 *         ptensorRank = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ptensorRank = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43813
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected tuple[cydriver.cuuint64_t,] or list[cydriver.cuuint64_t,]")
 *     cdef cydriver.cuuint32_t cytensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
*/
    goto __pyx_L8;
  }

  /* "cuda/bindings/driver.pyx":43815
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_tensorRank, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43816
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)             # <<<<<<<<<<<<<<
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_tensorRank); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43815
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
    goto __pyx_L8;
  }

  /* "cuda/bindings/driver.pyx":43818
 *         ptensorRank = int(tensorRank)
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))             # <<<<<<<<<<<<<<
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
    __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t); 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_tensorRank};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43818, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L8:;

  /* "cuda/bindings/driver.pyx":43819
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank             # <<<<<<<<<<<<<<
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43819, __pyx_L1_error)
  __pyx_v_cytensorRank = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43820
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43820, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_tensorMap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43821
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value             # <<<<<<<<<<<<<<
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_tensorDataType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_8 = ((enum CUtensorMapDataType_enum)__Pyx_PyLong_As_enum__CUtensorMapDataType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytensorDataType = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":43822
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)             # <<<<<<<<<<<<<<
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
*/
  __pyx_t_5 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_globalAddress};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43822, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyglobalAddress = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43823
 *     cdef cydriver.CUtensorMapDataType cytensorDataType = tensorDataType.value
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyglobalAddress), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyglobalAddress_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43824
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL             # <<<<<<<<<<<<<<
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
*/
  __pyx_v_cyglobalDim = NULL;

  /* "cuda/bindings/driver.pyx":43825
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43825, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43826
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cyglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43826, __pyx_L1_error)
    __pyx_v_cyglobalDim = ((cuuint64_t *)calloc(__pyx_t_9, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43827
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyglobalDim == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":43828
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalDim)):
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43828, __pyx_L1_error)
      __pyx_t_10 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyLong_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43828, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 43828, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43827
 *     if len(globalDim) > 1:
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43830
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalDim)):             # <<<<<<<<<<<<<<
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43830, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43831
 *         else:
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_globalDim, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43831, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyglobalDim[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43825
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     cdef cydriver.cuuint64_t* cyglobalDim = NULL
 *     if len(globalDim) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*> calloc(len(globalDim), sizeof(cydriver.cuuint64_t))
 *         if cyglobalDim is NULL:
*/
    goto __pyx_L9;
  }

  /* "cuda/bindings/driver.pyx":43832
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43832, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43833
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_globalDim, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyglobalDim = ((cuuint64_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43832
 *             for idx in range(len(globalDim)):
 *                 cyglobalDim[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalDim[idx])._pvt_ptr[0]
 *     elif len(globalDim) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
*/
  }
  __pyx_L9:;

  /* "cuda/bindings/driver.pyx":43834
 *     elif len(globalDim) == 1:
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
*/
  __pyx_v_cyglobalStrides = NULL;

  /* "cuda/bindings/driver.pyx":43835
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43835, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43836
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cyglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43836, __pyx_L1_error)
    __pyx_v_cyglobalStrides = ((cuuint64_t *)calloc(__pyx_t_9, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43837
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyglobalStrides == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":43838
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalStrides)):
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_10 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43838, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43838, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 43838, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43837
 *     if len(globalStrides) > 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43840
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(cydriver.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalStrides)):             # <<<<<<<<<<<<<<
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43840, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43841
 *         else:
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_globalStrides, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43841, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyglobalStrides[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43835
 *         cyglobalDim = <cydriver.cuuint64_t*>(<cuuint64_t>globalDim[0])._pvt_ptr
 *     cdef cydriver.cuuint64_t* cyglobalStrides = NULL
 *     if len(globalStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*> calloc(len(globalStrides), sizeof(cydriver.cuuint64_t))
 *         if cyglobalStrides is NULL:
*/
    goto __pyx_L13;
  }

  /* "cuda/bindings/driver.pyx":43842
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43842, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43843
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_globalStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyglobalStrides = ((cuuint64_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43842
 *             for idx in range(len(globalStrides)):
 *                 cyglobalStrides[idx] = <cydriver.cuuint64_t>(<cuuint64_t>globalStrides[idx])._pvt_ptr[0]
 *     elif len(globalStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
*/
  }
  __pyx_L13:;

  /* "cuda/bindings/driver.pyx":43844
 *     elif len(globalStrides) == 1:
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
*/
  __pyx_v_cyelementStrides = NULL;

  /* "cuda/bindings/driver.pyx":43845
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43845, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43846
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))             # <<<<<<<<<<<<<<
 *         if cyelementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43846, __pyx_L1_error)
    __pyx_v_cyelementStrides = ((cuuint32_t *)calloc(__pyx_t_9, (sizeof(cuuint32_t))));

    /* "cuda/bindings/driver.pyx":43847
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
*/
    __pyx_t_4 = (__pyx_v_cyelementStrides == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":43848
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(elementStrides)):
*/
      __pyx_t_10 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_3 = __pyx_builtin_MemoryError; 
      __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43848, __pyx_L1_error)
      __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 43848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43848, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 43848, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43847
 *     if len(elementStrides) > 1:
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":43850
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(cydriver.cuuint32_t)))
 *         else:
 *             for idx in range(len(elementStrides)):             # <<<<<<<<<<<<<<
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:
*/
    /*else*/ {
      __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43850, __pyx_L1_error)
      __pyx_t_13 = __pyx_t_9;
      for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
        __pyx_v_idx = __pyx_t_14;

        /* "cuda/bindings/driver.pyx":43851
 *         else:
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
*/
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_elementStrides, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43851, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyelementStrides[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_1)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43845
 *         cyglobalStrides = <cydriver.cuuint64_t*>(<cuuint64_t>globalStrides[0])._pvt_ptr
 *     cdef cydriver.cuuint32_t* cyelementStrides = NULL
 *     if len(elementStrides) > 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*> calloc(len(elementStrides), sizeof(cydriver.cuuint32_t))
 *         if cyelementStrides is NULL:
*/
    goto __pyx_L17;
  }

  /* "cuda/bindings/driver.pyx":43852
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43852, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_9 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43853
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapIm2ColWideMode cymode = mode.value
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_elementStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyelementStrides = ((cuuint32_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_1)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43852
 *             for idx in range(len(elementStrides)):
 *                 cyelementStrides[idx] = <cydriver.cuuint32_t>(<cuuint32_t>elementStrides[idx])._pvt_ptr[0]
 *     elif len(elementStrides) == 1:             # <<<<<<<<<<<<<<
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
*/
  }
  __pyx_L17:;

  /* "cuda/bindings/driver.pyx":43854
 *     elif len(elementStrides) == 1:
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapIm2ColWideMode cymode = mode.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_interleave, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_15 = ((enum CUtensorMapInterleave_enum)__Pyx_PyLong_As_enum__CUtensorMapInterleave_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43854, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyinterleave = __pyx_t_15;

  /* "cuda/bindings/driver.pyx":43855
 *         cyelementStrides = <cydriver.cuuint32_t*>(<cuuint32_t>elementStrides[0])._pvt_ptr
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapIm2ColWideMode cymode = mode.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_16 = ((enum CUtensorMapIm2ColWideMode_enum)__Pyx_PyLong_As_enum__CUtensorMapIm2ColWideMode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cymode = __pyx_t_16;

  /* "cuda/bindings/driver.pyx":43856
 *     cdef cydriver.CUtensorMapInterleave cyinterleave = interleave.value
 *     cdef cydriver.CUtensorMapIm2ColWideMode cymode = mode.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_swizzle, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = ((enum CUtensorMapSwizzle_enum)__Pyx_PyLong_As_enum__CUtensorMapSwizzle_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyswizzle = __pyx_t_17;

  /* "cuda/bindings/driver.pyx":43857
 *     cdef cydriver.CUtensorMapIm2ColWideMode cymode = mode.value
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_l2Promotion, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_18 = ((enum CUtensorMapL2promotion_enum)__Pyx_PyLong_As_enum__CUtensorMapL2promotion_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyl2Promotion = __pyx_t_18;

  /* "cuda/bindings/driver.pyx":43858
 *     cdef cydriver.CUtensorMapSwizzle cyswizzle = swizzle.value
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeIm2colWide(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, pixelBoxLowerCornerWidth, pixelBoxUpperCornerWidth, cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cymode, cyswizzle, cyl2Promotion, cyoobFill)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_oobFill, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_19 = ((enum CUtensorMapFloatOOBfill_enum)__Pyx_PyLong_As_enum__CUtensorMapFloatOOBfill_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43858, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoobFill = __pyx_t_19;

  /* "cuda/bindings/driver.pyx":43859
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTensorMapEncodeIm2colWide(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, pixelBoxLowerCornerWidth, pixelBoxUpperCornerWidth, cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cymode, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43860
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeIm2colWide(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, pixelBoxLowerCornerWidth, pixelBoxUpperCornerWidth, cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cymode, cyswizzle, cyl2Promotion, cyoobFill)             # <<<<<<<<<<<<<<
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
*/
        __pyx_t_20 = __pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeIm2colWide(((CUtensorMap *)__pyx_v_tensorMap->__pyx_base._pvt_ptr), __pyx_v_cytensorDataType, __pyx_v_cytensorRank, __pyx_v_cyglobalAddress_ptr, __pyx_v_cyglobalDim, __pyx_v_cyglobalStrides, __pyx_v_pixelBoxLowerCornerWidth, __pyx_v_pixelBoxUpperCornerWidth, __pyx_v_cychannelsPerPixel, __pyx_v_cypixelsPerColumn, __pyx_v_cyelementStrides, __pyx_v_cyinterleave, __pyx_v_cymode, __pyx_v_cyswizzle, __pyx_v_cyl2Promotion, __pyx_v_cyoobFill); if (unlikely(__pyx_t_20 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43860, __pyx_L22_error)
        __pyx_v_err = __pyx_t_20;
      }

      /* "cuda/bindings/driver.pyx":43859
 *     cdef cydriver.CUtensorMapL2promotion cyl2Promotion = l2Promotion.value
 *     cdef cydriver.CUtensorMapFloatOOBfill cyoobFill = oobFill.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTensorMapEncodeIm2colWide(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, pixelBoxLowerCornerWidth, pixelBoxUpperCornerWidth, cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cymode, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L23;
        }
        __pyx_L22_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L23:;
      }
  }

  /* "cuda/bindings/driver.pyx":43861
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeIm2colWide(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, pixelBoxLowerCornerWidth, pixelBoxUpperCornerWidth, cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cymode, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43861, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L25_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyglobalDim != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L25_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43862
 *         err = cydriver.cuTensorMapEncodeIm2colWide(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, pixelBoxLowerCornerWidth, pixelBoxUpperCornerWidth, cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cymode, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)             # <<<<<<<<<<<<<<
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
*/
    free(__pyx_v_cyglobalDim);

    /* "cuda/bindings/driver.pyx":43861
 *     with nogil:
 *         err = cydriver.cuTensorMapEncodeIm2colWide(<cydriver.CUtensorMap*>tensorMap._pvt_ptr, cytensorDataType, cytensorRank, cyglobalAddress_ptr, cyglobalDim, cyglobalStrides, pixelBoxLowerCornerWidth, pixelBoxUpperCornerWidth, cychannelsPerPixel, cypixelsPerColumn, cyelementStrides, cyinterleave, cymode, cyswizzle, cyl2Promotion, cyoobFill)
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":43863
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43863, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L28_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyglobalStrides != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L28_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43864
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)             # <<<<<<<<<<<<<<
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
*/
    free(__pyx_v_cyglobalStrides);

    /* "cuda/bindings/driver.pyx":43863
 *     if len(globalDim) > 1 and cyglobalDim is not NULL:
 *         free(cyglobalDim)
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":43865
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43865, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_9 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L31_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyelementStrides != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L31_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43866
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cyelementStrides);

    /* "cuda/bindings/driver.pyx":43865
 *     if len(globalStrides) > 1 and cyglobalStrides is not NULL:
 *         free(cyglobalStrides)
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":43867
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43868
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], tensorMap)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 43868, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 43868, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43867
 *     if len(elementStrides) > 1 and cyelementStrides is not NULL:
 *         free(cyelementStrides)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)
*/
  }

  /* "cuda/bindings/driver.pyx":43869
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tensorMap)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 43869, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_tensorMap);
  __Pyx_GIVEREF((PyObject *)__pyx_v_tensorMap);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_tensorMap)) != (0)) __PYX_ERR(0, 43869, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43547
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2colWide(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], int pixelBoxLowerCornerWidth, int pixelBoxUpperCornerWidth, channelsPerPixel, pixelsPerColumn, elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, mode not None : CUtensorMapIm2ColWideMode, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region, but where the elements are exclusively loaded along the W dimension.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapEncodeIm2colWide", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppixelsPerColumn);
  __Pyx_XDECREF(__pyx_v_pchannelsPerPixel);
  __Pyx_XDECREF(__pyx_v_ptensorRank);
  __Pyx_XDECREF((PyObject *)__pyx_v_tensorMap);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyglobalAddress);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_2generator181);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_5generator182);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_8generator183);
  __Pyx_XDECREF(__pyx_v_globalDim);
  __Pyx_XDECREF(__pyx_v_globalStrides);
  __Pyx_XDECREF(__pyx_v_elementStrides);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":43871
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapReplaceAddress(tensorMap : Optional[CUtensorMap], globalAddress):
 *     """ Modify an existing tensor map descriptor with an updated global address.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_823cuTensorMapReplaceAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_822cuTensorMapReplaceAddress, "cuTensorMapReplaceAddress(CUtensorMap tensorMap: Optional[CUtensorMap], globalAddress)\n\nModify an existing tensor map descriptor with an updated global address.\n\nModifies the descriptor for Tensor Memory Access (TMA) object passed in\n`tensorMap` with an updated `globalAddress`.\n\nTensor map objects are only supported on devices of compute capability\n9.0 or higher. Additionally, a tensor map object is an opaque value,\nand, as such, should only be accessed through CUDA API calls.\n\nParameters\n----------\ntensorMap : :py:obj:`~.CUtensorMap`\n    Tensor map object to modify\nglobalAddress : Any\n    Starting address of memory region described by tensor, must follow\n    previous alignment requirements\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapEncodeIm2col`, :py:obj:`~.cuTensorMapEncodeIm2colWide`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_823cuTensorMapReplaceAddress = {"cuTensorMapReplaceAddress", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_823cuTensorMapReplaceAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_822cuTensorMapReplaceAddress};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_823cuTensorMapReplaceAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *__pyx_v_tensorMap = 0;
  PyObject *__pyx_v_globalAddress = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuTensorMapReplaceAddress (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_tensorMap,&__pyx_mstate_global->__pyx_n_u_globalAddress,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 43871, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43871, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43871, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuTensorMapReplaceAddress", 0) < (0)) __PYX_ERR(0, 43871, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuTensorMapReplaceAddress", 1, 2, 2, i); __PYX_ERR(0, 43871, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43871, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43871, __pyx_L3_error)
    }
    __pyx_v_tensorMap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *)values[0]);
    __pyx_v_globalAddress = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTensorMapReplaceAddress", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 43871, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapReplaceAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tensorMap), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap, 1, "tensorMap", 0))) __PYX_ERR(0, 43872, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_822cuTensorMapReplaceAddress(__pyx_self, __pyx_v_tensorMap, __pyx_v_globalAddress);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_822cuTensorMapReplaceAddress(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *__pyx_v_tensorMap, PyObject *__pyx_v_globalAddress) {
  CUtensorMap *__pyx_v_cytensorMap_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyglobalAddress = NULL;
  void *__pyx_v_cyglobalAddress_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUtensorMap_st *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTensorMapReplaceAddress", 0);

  /* "cuda/bindings/driver.pyx":43899
 *     :py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapEncodeIm2col`, :py:obj:`~.cuTensorMapEncodeIm2colWide`
 *     """
 *     cdef cydriver.CUtensorMap* cytensorMap_ptr = tensorMap._pvt_ptr if tensorMap is not None else NULL             # <<<<<<<<<<<<<<
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_tensorMap) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_tensorMap->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cytensorMap_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":43900
 *     """
 *     cdef cydriver.CUtensorMap* cytensorMap_ptr = tensorMap._pvt_ptr if tensorMap is not None else NULL
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)             # <<<<<<<<<<<<<<
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     with nogil:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_globalAddress};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43900, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyglobalAddress = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43901
 *     cdef cydriver.CUtensorMap* cytensorMap_ptr = tensorMap._pvt_ptr if tensorMap is not None else NULL
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTensorMapReplaceAddress(cytensorMap_ptr, cyglobalAddress_ptr)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyglobalAddress), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyglobalAddress_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":43902
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTensorMapReplaceAddress(cytensorMap_ptr, cyglobalAddress_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43903
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     with nogil:
 *         err = cydriver.cuTensorMapReplaceAddress(cytensorMap_ptr, cyglobalAddress_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuTensorMapReplaceAddress(__pyx_v_cytensorMap_ptr, __pyx_v_cyglobalAddress_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43903, __pyx_L4_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":43902
 *     cyglobalAddress = _HelperInputVoidPtr(globalAddress)
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTensorMapReplaceAddress(cytensorMap_ptr, cyglobalAddress_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":43904
 *     with nogil:
 *         err = cydriver.cuTensorMapReplaceAddress(cytensorMap_ptr, cyglobalAddress_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 43904, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43871
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapReplaceAddress(tensorMap : Optional[CUtensorMap], globalAddress):
 *     """ Modify an existing tensor map descriptor with an updated global address.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuTensorMapReplaceAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyglobalAddress);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":43906
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceCanAccessPeer(dev, peerDev):
 *     """ Queries if a device may directly access a peer device's memory.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_825cuDeviceCanAccessPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_824cuDeviceCanAccessPeer, "cuDeviceCanAccessPeer(dev, peerDev)\n\nQueries if a device may directly access a peer device's memory.\n\nReturns in `*canAccessPeer` a value of 1 if contexts on `dev` are\ncapable of directly accessing memory from contexts on `peerDev` and 0\notherwise. If direct access of `peerDev` from `dev` is possible, then\naccess may be enabled on two specific contexts by calling\n:py:obj:`~.cuCtxEnablePeerAccess()`.\n\nParameters\n----------\ndev : :py:obj:`~.CUdevice`\n    Device from which allocations on `peerDev` are to be directly\n    accessed.\npeerDev : :py:obj:`~.CUdevice`\n    Device on which the allocations to be directly accessed by `dev`\n    reside.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\ncanAccessPeer : int\n    Returned access capability\n\nSee Also\n--------\n:py:obj:`~.cuCtxEnablePeerAccess`, :py:obj:`~.cuCtxDisablePeerAccess`, :py:obj:`~.cudaDeviceCanAccessPeer`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_825cuDeviceCanAccessPeer = {"cuDeviceCanAccessPeer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_825cuDeviceCanAccessPeer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_824cuDeviceCanAccessPeer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_825cuDeviceCanAccessPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  PyObject *__pyx_v_peerDev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceCanAccessPeer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dev,&__pyx_mstate_global->__pyx_n_u_peerDev,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 43906, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceCanAccessPeer", 0) < (0)) __PYX_ERR(0, 43906, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceCanAccessPeer", 1, 2, 2, i); __PYX_ERR(0, 43906, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43906, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43906, __pyx_L3_error)
    }
    __pyx_v_dev = values[0];
    __pyx_v_peerDev = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceCanAccessPeer", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 43906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceCanAccessPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_824cuDeviceCanAccessPeer(__pyx_self, __pyx_v_dev, __pyx_v_peerDev);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_824cuDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_peerDev) {
  CUdevice __pyx_v_cypeerDev;
  PyObject *__pyx_v_ppeerDev = NULL;
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  int __pyx_v_canAccessPeer;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceCanAccessPeer", 0);

  /* "cuda/bindings/driver.pyx":43937
 *     """
 *     cdef cydriver.CUdevice cypeerDev
 *     if peerDev is None:             # <<<<<<<<<<<<<<
 *         ppeerDev = 0
 *     elif isinstance(peerDev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_peerDev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":43938
 *     cdef cydriver.CUdevice cypeerDev
 *     if peerDev is None:
 *         ppeerDev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(peerDev, (CUdevice,)):
 *         ppeerDev = int(peerDev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppeerDev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43937
 *     """
 *     cdef cydriver.CUdevice cypeerDev
 *     if peerDev is None:             # <<<<<<<<<<<<<<
 *         ppeerDev = 0
 *     elif isinstance(peerDev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43939
 *     if peerDev is None:
 *         ppeerDev = 0
 *     elif isinstance(peerDev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         ppeerDev = int(peerDev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_peerDev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":43940
 *         ppeerDev = 0
 *     elif isinstance(peerDev, (CUdevice,)):
 *         ppeerDev = int(peerDev)             # <<<<<<<<<<<<<<
 *     else:
 *         ppeerDev = int(CUdevice(peerDev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_peerDev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerDev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":43939
 *     if peerDev is None:
 *         ppeerDev = 0
 *     elif isinstance(peerDev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         ppeerDev = int(peerDev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43942
 *         ppeerDev = int(peerDev)
 *     else:
 *         ppeerDev = int(CUdevice(peerDev))             # <<<<<<<<<<<<<<
 *     cypeerDev = <cydriver.CUdevice>ppeerDev
 *     cdef cydriver.CUdevice cydev
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_peerDev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43942, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerDev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":43943
 *     else:
 *         ppeerDev = int(CUdevice(peerDev))
 *     cypeerDev = <cydriver.CUdevice>ppeerDev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_ppeerDev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 43943, __pyx_L1_error)
  __pyx_v_cypeerDev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":43945
 *     cypeerDev = <cydriver.CUdevice>ppeerDev
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":43946
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":43945
 *     cypeerDev = <cydriver.CUdevice>ppeerDev
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":43947
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":43948
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":43947
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":43950
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int canAccessPeer = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dev};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43950, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":43951
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int canAccessPeer = 0
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 43951, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":43952
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int canAccessPeer = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)
*/
  __pyx_v_canAccessPeer = 0;

  /* "cuda/bindings/driver.pyx":43953
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int canAccessPeer = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43954
 *     cdef int canAccessPeer = 0
 *     with nogil:
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceCanAccessPeer((&__pyx_v_canAccessPeer), __pyx_v_cydev, __pyx_v_cypeerDev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43954, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":43953
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int canAccessPeer = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":43955
 *     with nogil:
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], canAccessPeer)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":43956
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], canAccessPeer)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 43956, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 43956, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43955
 *     with nogil:
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], canAccessPeer)
*/
  }

  /* "cuda/bindings/driver.pyx":43957
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], canAccessPeer)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_canAccessPeer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 43957, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 43957, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43906
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceCanAccessPeer(dev, peerDev):
 *     """ Queries if a device may directly access a peer device's memory.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceCanAccessPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppeerDev);
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":43959
 *     return (_dict_CUresult[err], canAccessPeer)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxEnablePeerAccess(peerContext, unsigned int Flags):
 *     """ Enables direct access to memory allocations in a peer context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_827cuCtxEnablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_826cuCtxEnablePeerAccess, "cuCtxEnablePeerAccess(peerContext, unsigned int Flags)\n\nEnables direct access to memory allocations in a peer context.\n\nIf both the current context and `peerContext` are on devices which\nsupport unified addressing (as may be queried using\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING`) and same major\ncompute capability, then on success all allocations from `peerContext`\nwill immediately be accessible by the current context. See\n:py:obj:`~.Unified Addressing` for additional details.\n\nNote that access granted by this call is unidirectional and that in\norder to access memory from the current context in `peerContext`, a\nseparate symmetric call to :py:obj:`~.cuCtxEnablePeerAccess()` is\nrequired.\n\nNote that there are both device-wide and system-wide limitations per\nsystem configuration, as noted in the CUDA Programming Guide under the\nsection \"Peer-to-Peer Memory Access\".\n\nReturns :py:obj:`~.CUDA_ERROR_PEER_ACCESS_UNSUPPORTED` if\n:py:obj:`~.cuDeviceCanAccessPeer()` indicates that the\n:py:obj:`~.CUdevice` of the current context cannot directly access\nmemory from the :py:obj:`~.CUdevice` of `peerContext`.\n\nReturns :py:obj:`~.CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED` if direct\naccess of `peerContext` from the current context has already been\nenabled.\n\nReturns :py:obj:`~.CUDA_ERROR_TOO_MANY_PEERS` if direct peer access is\nnot possible because hardware resources required for peer access have\nbeen exhausted.\n\nReturns :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` if there is no current\ncontext, `peerContext` is not a valid context, or if the current\ncontext is `peerContext`.\n\nReturns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if `Flags` is not 0.\n\nParameters\n----------\npeerContext : :py:obj:`~.CUcontext`\n    Peer context to enable direct access to from the current context\nFlags : unsigned int\n    Reserved for future use and must be set to 0\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:ob""j:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED`, :py:obj:`~.CUDA_ERROR_TOO_MANY_PEERS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_PEER_ACCESS_UNSUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nSee Also\n--------\n:py:obj:`~.cuDeviceCanAccessPeer`, :py:obj:`~.cuCtxDisablePeerAccess`, :py:obj:`~.cudaDeviceEnablePeerAccess`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_827cuCtxEnablePeerAccess = {"cuCtxEnablePeerAccess", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_827cuCtxEnablePeerAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_826cuCtxEnablePeerAccess};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_827cuCtxEnablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_peerContext = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxEnablePeerAccess (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_peerContext,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 43959, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43959, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43959, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxEnablePeerAccess", 0) < (0)) __PYX_ERR(0, 43959, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxEnablePeerAccess", 1, 2, 2, i); __PYX_ERR(0, 43959, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43959, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43959, __pyx_L3_error)
    }
    __pyx_v_peerContext = values[0];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 43960, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxEnablePeerAccess", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 43959, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxEnablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_826cuCtxEnablePeerAccess(__pyx_self, __pyx_v_peerContext, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_826cuCtxEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext, unsigned int __pyx_v_Flags) {
  CUcontext __pyx_v_cypeerContext;
  PyObject *__pyx_v_ppeerContext = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxEnablePeerAccess", 0);

  /* "cuda/bindings/driver.pyx":44015
 *     """
 *     cdef cydriver.CUcontext cypeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_peerContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44016
 *     cdef cydriver.CUcontext cypeerContext
 *     if peerContext is None:
 *         ppeerContext = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppeerContext = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44015
 *     """
 *     cdef cydriver.CUcontext cypeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44017
 *     if peerContext is None:
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_peerContext, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44018
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)             # <<<<<<<<<<<<<<
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_peerContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44017
 *     if peerContext is None:
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44020
 *         ppeerContext = int(peerContext)
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))             # <<<<<<<<<<<<<<
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_peerContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44020, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerContext = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44021
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, Flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppeerContext); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44021, __pyx_L1_error)
  __pyx_v_cypeerContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44022
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44023
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxEnablePeerAccess(__pyx_v_cypeerContext, __pyx_v_Flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44023, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44022
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, Flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44024
 *     with nogil:
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 44024, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43959
 *     return (_dict_CUresult[err], canAccessPeer)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxEnablePeerAccess(peerContext, unsigned int Flags):
 *     """ Enables direct access to memory allocations in a peer context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxEnablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppeerContext);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44026
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDisablePeerAccess(peerContext):
 *     """ Disables direct access to memory allocations in a peer context and unregisters any registered allocations.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_829cuCtxDisablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_828cuCtxDisablePeerAccess, "cuCtxDisablePeerAccess(peerContext)\n\nDisables direct access to memory allocations in a peer context and unregisters any registered allocations.\n\nReturns :py:obj:`~.CUDA_ERROR_PEER_ACCESS_NOT_ENABLED` if direct peer\naccess has not yet been enabled from `peerContext` to the current\ncontext.\n\nReturns :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` if there is no current\ncontext, or if `peerContext` is not a valid context.\n\nParameters\n----------\npeerContext : :py:obj:`~.CUcontext`\n    Peer context to disable direct access to\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_PEER_ACCESS_NOT_ENABLED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n\nSee Also\n--------\n:py:obj:`~.cuDeviceCanAccessPeer`, :py:obj:`~.cuCtxEnablePeerAccess`, :py:obj:`~.cudaDeviceDisablePeerAccess`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_829cuCtxDisablePeerAccess = {"cuCtxDisablePeerAccess", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_829cuCtxDisablePeerAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_828cuCtxDisablePeerAccess};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_829cuCtxDisablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_peerContext = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxDisablePeerAccess (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_peerContext,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44026, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxDisablePeerAccess", 0) < (0)) __PYX_ERR(0, 44026, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxDisablePeerAccess", 1, 1, 1, i); __PYX_ERR(0, 44026, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44026, __pyx_L3_error)
    }
    __pyx_v_peerContext = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxDisablePeerAccess", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 44026, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxDisablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_828cuCtxDisablePeerAccess(__pyx_self, __pyx_v_peerContext);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_828cuCtxDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext) {
  CUcontext __pyx_v_cypeerContext;
  PyObject *__pyx_v_ppeerContext = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxDisablePeerAccess", 0);

  /* "cuda/bindings/driver.pyx":44052
 *     """
 *     cdef cydriver.CUcontext cypeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_peerContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44053
 *     cdef cydriver.CUcontext cypeerContext
 *     if peerContext is None:
 *         ppeerContext = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppeerContext = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44052
 *     """
 *     cdef cydriver.CUcontext cypeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44054
 *     if peerContext is None:
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_peerContext, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44055
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)             # <<<<<<<<<<<<<<
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_peerContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44054
 *     if peerContext is None:
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44057
 *         ppeerContext = int(peerContext)
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))             # <<<<<<<<<<<<<<
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_peerContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44057, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerContext = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44058
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppeerContext); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44058, __pyx_L1_error)
  __pyx_v_cypeerContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44059
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44060
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxDisablePeerAccess(__pyx_v_cypeerContext); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44060, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44059
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44061
 *     with nogil:
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 44061, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44026
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDisablePeerAccess(peerContext):
 *     """ Disables direct access to memory allocations in a peer context and unregisters any registered allocations.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxDisablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppeerContext);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44063
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetP2PAttribute(attrib not None : CUdevice_P2PAttribute, srcDevice, dstDevice):
 *     """ Queries attributes of the link between two devices.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_831cuDeviceGetP2PAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_830cuDeviceGetP2PAttribute, "cuDeviceGetP2PAttribute(attrib: CUdevice_P2PAttribute, srcDevice, dstDevice)\n\nQueries attributes of the link between two devices.\n\nReturns in `*value` the value of the requested attribute `attrib` of\nthe link between `srcDevice` and `dstDevice`. The supported attributes\nare:\n\n- :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK`: A relative\n  value indicating the performance of the link between two devices.\n\n- :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED` P2P: 1 if P2P\n  Access is enable.\n\n- :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED`: 1 if\n  Atomic operations over the link are supported.\n\n- :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED`: 1 if\n  cudaArray can be accessed over the link.\n\nReturns :py:obj:`~.CUDA_ERROR_INVALID_DEVICE` if `srcDevice` or\n`dstDevice` are not valid or if they represent the same device.\n\nReturns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if `attrib` is not valid\nor if `value` is a null pointer.\n\nParameters\n----------\nattrib : :py:obj:`~.CUdevice_P2PAttribute`\n    The requested attribute of the link between `srcDevice` and\n    `dstDevice`.\nsrcDevice : :py:obj:`~.CUdevice`\n    The source device of the target link.\ndstDevice : :py:obj:`~.CUdevice`\n    The destination device of the target link.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nvalue : int\n    Returned value of the requested attribute\n\nSee Also\n--------\n:py:obj:`~.cuCtxEnablePeerAccess`, :py:obj:`~.cuCtxDisablePeerAccess`, :py:obj:`~.cuDeviceCanAccessPeer`, :py:obj:`~.cudaDeviceGetP2PAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_831cuDeviceGetP2PAttribute = {"cuDeviceGetP2PAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_831cuDeviceGetP2PAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_830cuDeviceGetP2PAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_831cuDeviceGetP2PAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  PyObject *__pyx_v_srcDevice = 0;
  PyObject *__pyx_v_dstDevice = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetP2PAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,&__pyx_mstate_global->__pyx_n_u_srcDevice_2,&__pyx_mstate_global->__pyx_n_u_dstDevice_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44063, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44063, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44063, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44063, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetP2PAttribute", 0) < (0)) __PYX_ERR(0, 44063, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetP2PAttribute", 1, 3, 3, i); __PYX_ERR(0, 44063, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44063, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44063, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44063, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_dstDevice = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetP2PAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 44063, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetP2PAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 44064, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_830cuDeviceGetP2PAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_srcDevice, __pyx_v_dstDevice);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_830cuDeviceGetP2PAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_dstDevice) {
  CUdevice __pyx_v_cydstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUdevice __pyx_v_cysrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  int __pyx_v_value;
  CUdevice_P2PAttribute __pyx_v_cyattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUdevice_P2PAttribute __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetP2PAttribute", 0);

  /* "cuda/bindings/driver.pyx":44111
 *     """
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44112
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:
 *         pdstDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdstDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44111
 *     """
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44113
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44114
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44113
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44116
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdevice>pdstDevice
 *     cdef cydriver.CUdevice cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44116, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44117
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
 *     cydstDevice = <cydriver.CUdevice>pdstDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdstDevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 44117, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":44119
 *     cydstDevice = <cydriver.CUdevice>pdstDevice
 *     cdef cydriver.CUdevice cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44120
 *     cdef cydriver.CUdevice cysrcDevice
 *     if srcDevice is None:
 *         psrcDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdevice,)):
 *         psrcDevice = int(srcDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_psrcDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44119
 *     cydstDevice = <cydriver.CUdevice>pdstDevice
 *     cdef cydriver.CUdevice cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44121
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44122
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":44121
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44124
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     cdef int value = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44124, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":44125
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef int value = 0
 *     cdef cydriver.CUdevice_P2PAttribute cyattrib = attrib.value
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_psrcDevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 44125, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":44126
 *         psrcDevice = int(CUdevice(srcDevice))
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     cdef int value = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice_P2PAttribute cyattrib = attrib.value
 *     with nogil:
*/
  __pyx_v_value = 0;

  /* "cuda/bindings/driver.pyx":44127
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     cdef int value = 0
 *     cdef cydriver.CUdevice_P2PAttribute cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetP2PAttribute(&value, cyattrib, cysrcDevice, cydstDevice)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = ((enum CUdevice_P2PAttribute_enum)__Pyx_PyLong_As_enum__CUdevice_P2PAttribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattrib = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":44128
 *     cdef int value = 0
 *     cdef cydriver.CUdevice_P2PAttribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetP2PAttribute(&value, cyattrib, cysrcDevice, cydstDevice)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44129
 *     cdef cydriver.CUdevice_P2PAttribute cyattrib = attrib.value
 *     with nogil:
 *         err = cydriver.cuDeviceGetP2PAttribute(&value, cyattrib, cysrcDevice, cydstDevice)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetP2PAttribute((&__pyx_v_value), __pyx_v_cyattrib, __pyx_v_cysrcDevice, __pyx_v_cydstDevice); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44129, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":44128
 *     cdef int value = 0
 *     cdef cydriver.CUdevice_P2PAttribute cyattrib = attrib.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetP2PAttribute(&value, cyattrib, cysrcDevice, cydstDevice)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":44130
 *     with nogil:
 *         err = cydriver.cuDeviceGetP2PAttribute(&value, cyattrib, cysrcDevice, cydstDevice)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44131
 *         err = cydriver.cuDeviceGetP2PAttribute(&value, cyattrib, cysrcDevice, cydstDevice)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], value)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 44131, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 44131, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44130
 *     with nogil:
 *         err = cydriver.cuDeviceGetP2PAttribute(&value, cyattrib, cysrcDevice, cydstDevice)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value)
*/
  }

  /* "cuda/bindings/driver.pyx":44132
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], value)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 44132, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 44132, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44063
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetP2PAttribute(attrib not None : CUdevice_P2PAttribute, srcDevice, dstDevice):
 *     """ Queries attributes of the link between two devices.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetP2PAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44134
 *     return (_dict_CUresult[err], value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnregisterResource(resource):
 *     """ Unregisters a graphics resource for access by CUDA.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_833cuGraphicsUnregisterResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_832cuGraphicsUnregisterResource, "cuGraphicsUnregisterResource(resource)\n\nUnregisters a graphics resource for access by CUDA.\n\nUnregisters the graphics resource `resource` so it is not accessible by\nCUDA unless registered again.\n\nIf `resource` is invalid then :py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is\nreturned.\n\nParameters\n----------\nresource : :py:obj:`~.CUgraphicsResource`\n    Resource to unregister\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsD3D9RegisterResource`, :py:obj:`~.cuGraphicsD3D10RegisterResource`, :py:obj:`~.cuGraphicsD3D11RegisterResource`, :py:obj:`~.cuGraphicsGLRegisterBuffer`, :py:obj:`~.cuGraphicsGLRegisterImage`, :py:obj:`~.cudaGraphicsUnregisterResource`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_833cuGraphicsUnregisterResource = {"cuGraphicsUnregisterResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_833cuGraphicsUnregisterResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_832cuGraphicsUnregisterResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_833cuGraphicsUnregisterResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_resource = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsUnregisterResource (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_resource_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44134, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44134, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsUnregisterResource", 0) < (0)) __PYX_ERR(0, 44134, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsUnregisterResource", 1, 1, 1, i); __PYX_ERR(0, 44134, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44134, __pyx_L3_error)
    }
    __pyx_v_resource = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsUnregisterResource", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 44134, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsUnregisterResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_832cuGraphicsUnregisterResource(__pyx_self, __pyx_v_resource);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_832cuGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  CUgraphicsResource __pyx_v_cyresource;
  PyObject *__pyx_v_presource = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsUnregisterResource", 0);

  /* "cuda/bindings/driver.pyx":44159
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44160
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:
 *         presource = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_presource = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44159
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44161
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44162
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44161
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44164
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44164, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44165
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44165, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44166
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44167
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsUnregisterResource(__pyx_v_cyresource); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44167, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44166
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44168
 *     with nogil:
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 44168, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44134
 *     return (_dict_CUresult[err], value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnregisterResource(resource):
 *     """ Unregisters a graphics resource for access by CUDA.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsUnregisterResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44170
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel):
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_835cuGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_834cuGraphicsSubResourceGetMappedArray, "cuGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel)\n\nGet an array through which to access a subresource of a mapped graphics resource.\n\nReturns in `*pArray` an array through which the subresource of the\nmapped graphics resource `resource` which corresponds to array index\n`arrayIndex` and mipmap level `mipLevel` may be accessed. The value set\nin `*pArray` may change every time that `resource` is mapped.\n\nIf `resource` is not a texture then it cannot be accessed via an array\nand :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_ARRAY` is returned. If\n`arrayIndex` is not a valid array index for `resource` then\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned. If `mipLevel` is not\na valid mipmap level for `resource` then\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned. If `resource` is not\nmapped then :py:obj:`~.CUDA_ERROR_NOT_MAPPED` is returned.\n\nParameters\n----------\nresource : :py:obj:`~.CUgraphicsResource`\n    Mapped resource to access\narrayIndex : unsigned int\n    Array index for array textures or cubemap face index as defined by\n    :py:obj:`~.CUarray_cubemap_face` for cubemap textures for the\n    subresource to access\nmipLevel : unsigned int\n    Mipmap level for the subresource to access\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_ARRAY`\npArray : :py:obj:`~.CUarray`\n    Returned array through which a subresource of `resource` may be\n    accessed\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsResourceGetMappedPointer`, :py:obj:`~.cudaGraphicsSubResourceGetMappedArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_835cuGraphicsSubResourceGetMappedArray = {"cuGraphicsSubResourceGetMappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_835cuGraphicsSubResourceGetMappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_834cuGraphicsSubResourceGetMappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_835cuGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_resource = 0;
  unsigned int __pyx_v_arrayIndex;
  unsigned int __pyx_v_mipLevel;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsSubResourceGetMappedArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_resource_2,&__pyx_mstate_global->__pyx_n_u_arrayIndex,&__pyx_mstate_global->__pyx_n_u_mipLevel,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44170, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44170, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44170, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44170, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsSubResourceGetMappedArray", 0) < (0)) __PYX_ERR(0, 44170, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsSubResourceGetMappedArray", 1, 3, 3, i); __PYX_ERR(0, 44170, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44170, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44170, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44170, __pyx_L3_error)
    }
    __pyx_v_resource = values[0];
    __pyx_v_arrayIndex = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_arrayIndex == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 44171, __pyx_L3_error)
    __pyx_v_mipLevel = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_mipLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 44171, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsSubResourceGetMappedArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 44170, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsSubResourceGetMappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_834cuGraphicsSubResourceGetMappedArray(__pyx_self, __pyx_v_resource, __pyx_v_arrayIndex, __pyx_v_mipLevel);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_834cuGraphicsSubResourceGetMappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_arrayIndex, unsigned int __pyx_v_mipLevel) {
  CUgraphicsResource __pyx_v_cyresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_pArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsSubResourceGetMappedArray", 0);

  /* "cuda/bindings/driver.pyx":44211
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44212
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:
 *         presource = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_presource = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44211
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44213
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44214
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44213
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44216
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUarray pArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44216, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44217
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUarray pArray = CUarray()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44217, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44218
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUarray pArray = CUarray()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsSubResourceGetMappedArray(<cydriver.CUarray*>pArray._pvt_ptr, cyresource, arrayIndex, mipLevel)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44218, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":44219
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUarray pArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsSubResourceGetMappedArray(<cydriver.CUarray*>pArray._pvt_ptr, cyresource, arrayIndex, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44220
 *     cdef CUarray pArray = CUarray()
 *     with nogil:
 *         err = cydriver.cuGraphicsSubResourceGetMappedArray(<cydriver.CUarray*>pArray._pvt_ptr, cyresource, arrayIndex, mipLevel)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsSubResourceGetMappedArray(((CUarray *)__pyx_v_pArray->_pvt_ptr), __pyx_v_cyresource, __pyx_v_arrayIndex, __pyx_v_mipLevel); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44220, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44219
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUarray pArray = CUarray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsSubResourceGetMappedArray(<cydriver.CUarray*>pArray._pvt_ptr, cyresource, arrayIndex, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44221
 *     with nogil:
 *         err = cydriver.cuGraphicsSubResourceGetMappedArray(<cydriver.CUarray*>pArray._pvt_ptr, cyresource, arrayIndex, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArray)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44222
 *         err = cydriver.cuGraphicsSubResourceGetMappedArray(<cydriver.CUarray*>pArray._pvt_ptr, cyresource, arrayIndex, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pArray)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 44222, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 44222, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44221
 *     with nogil:
 *         err = cydriver.cuGraphicsSubResourceGetMappedArray(<cydriver.CUarray*>pArray._pvt_ptr, cyresource, arrayIndex, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArray)
*/
  }

  /* "cuda/bindings/driver.pyx":44223
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 44223, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pArray)) != (0)) __PYX_ERR(0, 44223, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44170
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel):
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsSubResourceGetMappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XDECREF((PyObject *)__pyx_v_pArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44225
 *     return (_dict_CUresult[err], pArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedMipmappedArray(resource):
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_837cuGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_836cuGraphicsResourceGetMappedMipmappedArray, "cuGraphicsResourceGetMappedMipmappedArray(resource)\n\nGet a mipmapped array through which to access a mapped graphics resource.\n\nReturns in `*pMipmappedArray` a mipmapped array through which the\nmapped graphics resource `resource`. The value set in\n`*pMipmappedArray` may change every time that `resource` is mapped.\n\nIf `resource` is not a texture then it cannot be accessed via a\nmipmapped array and :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_ARRAY` is\nreturned. If `resource` is not mapped then\n:py:obj:`~.CUDA_ERROR_NOT_MAPPED` is returned.\n\nParameters\n----------\nresource : :py:obj:`~.CUgraphicsResource`\n    Mapped resource to access\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_ARRAY`\npMipmappedArray : :py:obj:`~.CUmipmappedArray`\n    Returned mipmapped array through which `resource` may be accessed\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsResourceGetMappedPointer`, :py:obj:`~.cudaGraphicsResourceGetMappedMipmappedArray`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_837cuGraphicsResourceGetMappedMipmappedArray = {"cuGraphicsResourceGetMappedMipmappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_837cuGraphicsResourceGetMappedMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_836cuGraphicsResourceGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_837cuGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_resource = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedMipmappedArray (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_resource_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44225, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44225, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsResourceGetMappedMipmappedArray", 0) < (0)) __PYX_ERR(0, 44225, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedMipmappedArray", 1, 1, 1, i); __PYX_ERR(0, 44225, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44225, __pyx_L3_error)
    }
    __pyx_v_resource = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedMipmappedArray", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 44225, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsResourceGetMappedMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_836cuGraphicsResourceGetMappedMipmappedArray(__pyx_self, __pyx_v_resource);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_836cuGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  CUgraphicsResource __pyx_v_cyresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_pMipmappedArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedMipmappedArray", 0);

  /* "cuda/bindings/driver.pyx":44255
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44256
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:
 *         presource = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_presource = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44255
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44257
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44258
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44257
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44260
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44260, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44261
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44261, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44262
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>pMipmappedArray._pvt_ptr, cyresource)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44262, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pMipmappedArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":44263
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>pMipmappedArray._pvt_ptr, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44264
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>pMipmappedArray._pvt_ptr, cyresource)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedMipmappedArray(((CUmipmappedArray *)__pyx_v_pMipmappedArray->_pvt_ptr), __pyx_v_cyresource); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44264, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44263
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>pMipmappedArray._pvt_ptr, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44265
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>pMipmappedArray._pvt_ptr, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMipmappedArray)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44266
 *         err = cydriver.cuGraphicsResourceGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>pMipmappedArray._pvt_ptr, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pMipmappedArray)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 44266, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 44266, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44265
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedMipmappedArray(<cydriver.CUmipmappedArray*>pMipmappedArray._pvt_ptr, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMipmappedArray)
*/
  }

  /* "cuda/bindings/driver.pyx":44267
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pMipmappedArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 44267, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pMipmappedArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pMipmappedArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pMipmappedArray)) != (0)) __PYX_ERR(0, 44267, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44225
 *     return (_dict_CUresult[err], pArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedMipmappedArray(resource):
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsResourceGetMappedMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XDECREF((PyObject *)__pyx_v_pMipmappedArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44269
 *     return (_dict_CUresult[err], pMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedPointer(resource):
 *     """ Get a device pointer through which to access a mapped graphics resource.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_839cuGraphicsResourceGetMappedPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_838cuGraphicsResourceGetMappedPointer, "cuGraphicsResourceGetMappedPointer(resource)\n\nGet a device pointer through which to access a mapped graphics resource.\n\nReturns in `*pDevPtr` a pointer through which the mapped graphics\nresource `resource` may be accessed. Returns in `pSize` the size of the\nmemory in bytes which may be accessed from that pointer. The value set\nin `pPointer` may change every time that `resource` is mapped.\n\nIf `resource` is not a buffer then it cannot be accessed via a pointer\nand :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_POINTER` is returned. If\n`resource` is not mapped then :py:obj:`~.CUDA_ERROR_NOT_MAPPED` is\nreturned.\n\nParameters\n----------\nresource : :py:obj:`~.CUgraphicsResource`\n    None\n\nReturns\n-------\nCUresult\n\npDevPtr : :py:obj:`~.CUdeviceptr`\n    None\npSize : int\n    None");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_839cuGraphicsResourceGetMappedPointer = {"cuGraphicsResourceGetMappedPointer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_839cuGraphicsResourceGetMappedPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_838cuGraphicsResourceGetMappedPointer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_839cuGraphicsResourceGetMappedPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_resource = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedPointer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_resource_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44269, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44269, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsResourceGetMappedPointer", 0) < (0)) __PYX_ERR(0, 44269, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedPointer", 1, 1, 1, i); __PYX_ERR(0, 44269, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44269, __pyx_L3_error)
    }
    __pyx_v_resource = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedPointer", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 44269, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsResourceGetMappedPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_838cuGraphicsResourceGetMappedPointer(__pyx_self, __pyx_v_resource);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_838cuGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  CUgraphicsResource __pyx_v_cyresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *__pyx_v_pDevPtr = 0;
  size_t __pyx_v_pSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedPointer", 0);

  /* "cuda/bindings/driver.pyx":44298
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44299
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:
 *         presource = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_presource = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44298
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44300
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44301
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44300
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44303
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44303, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44304
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 *     cdef size_t pSize = 0
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44304, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44305
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t pSize = 0
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44305, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pDevPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":44306
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 *     cdef size_t pSize = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedPointer(<cydriver.CUdeviceptr*>pDevPtr._pvt_ptr, &pSize, cyresource)
*/
  __pyx_v_pSize = 0;

  /* "cuda/bindings/driver.pyx":44307
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 *     cdef size_t pSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceGetMappedPointer(<cydriver.CUdeviceptr*>pDevPtr._pvt_ptr, &pSize, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44308
 *     cdef size_t pSize = 0
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedPointer(<cydriver.CUdeviceptr*>pDevPtr._pvt_ptr, &pSize, cyresource)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedPointer(((CUdeviceptr *)__pyx_v_pDevPtr->_pvt_ptr), (&__pyx_v_pSize), __pyx_v_cyresource); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44308, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44307
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 *     cdef size_t pSize = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceGetMappedPointer(<cydriver.CUdeviceptr*>pDevPtr._pvt_ptr, &pSize, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44309
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedPointer(<cydriver.CUdeviceptr*>pDevPtr._pvt_ptr, &pSize, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pDevPtr, pSize)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44310
 *         err = cydriver.cuGraphicsResourceGetMappedPointer(<cydriver.CUdeviceptr*>pDevPtr._pvt_ptr, &pSize, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pDevPtr, pSize)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 44310, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 44310, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None) != (0)) __PYX_ERR(0, 44310, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44309
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedPointer(<cydriver.CUdeviceptr*>pDevPtr._pvt_ptr, &pSize, cyresource)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pDevPtr, pSize)
*/
  }

  /* "cuda/bindings/driver.pyx":44311
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pDevPtr, pSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_pSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 44311, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pDevPtr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pDevPtr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pDevPtr)) != (0)) __PYX_ERR(0, 44311, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 44311, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44269
 *     return (_dict_CUresult[err], pMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedPointer(resource):
 *     """ Get a device pointer through which to access a mapped graphics resource.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsResourceGetMappedPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XDECREF((PyObject *)__pyx_v_pDevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44313
 *     return (_dict_CUresult[err], pDevPtr, pSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceSetMapFlags(resource, unsigned int flags):
 *     """ Set usage flags for mapping a graphics resource.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_841cuGraphicsResourceSetMapFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_840cuGraphicsResourceSetMapFlags, "cuGraphicsResourceSetMapFlags(resource, unsigned int flags)\n\nSet usage flags for mapping a graphics resource.\n\nSet `flags` for mapping the graphics resource `resource`.\n\nChanges to `flags` will take effect the next time `resource` is mapped.\nThe `flags` argument may be any of the following:\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE`: Specifies no hints\n  about how this resource will be used. It is therefore assumed that\n  this resource will be read from and written to by CUDA kernels. This\n  is the default value.\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READONLY`: Specifies that\n  CUDA kernels which access this resource will not write to this\n  resource.\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITEDISCARD`: Specifies\n  that CUDA kernels which access this resource will not read from this\n  resource and will write over the entire contents of the resource, so\n  none of the data previously stored in the resource will be preserved.\n\nIf `resource` is presently mapped for access by CUDA then\n:py:obj:`~.CUDA_ERROR_ALREADY_MAPPED` is returned. If `flags` is not\none of the above values then :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is\nreturned.\n\nParameters\n----------\nresource : :py:obj:`~.CUgraphicsResource`\n    Registered resource to set flags for\nflags : unsigned int\n    Parameters for resource mapping\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cudaGraphicsResourceSetMapFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_841cuGraphicsResourceSetMapFlags = {"cuGraphicsResourceSetMapFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_841cuGraphicsResourceSetMapFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_840cuGraphicsResourceSetMapFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_841cuGraphicsResourceSetMapFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_resource = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsResourceSetMapFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_resource_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44313, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44313, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44313, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsResourceSetMapFlags", 0) < (0)) __PYX_ERR(0, 44313, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceSetMapFlags", 1, 2, 2, i); __PYX_ERR(0, 44313, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44313, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44313, __pyx_L3_error)
    }
    __pyx_v_resource = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 44314, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceSetMapFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 44313, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsResourceSetMapFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_840cuGraphicsResourceSetMapFlags(__pyx_self, __pyx_v_resource, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_840cuGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_flags) {
  CUgraphicsResource __pyx_v_cyresource;
  PyObject *__pyx_v_presource = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsResourceSetMapFlags", 0);

  /* "cuda/bindings/driver.pyx":44358
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44359
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:
 *         presource = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_presource = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44358
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44360
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44361
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44360
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44363
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44363, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44364
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, flags)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44364, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44365
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44366
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceSetMapFlags(__pyx_v_cyresource, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44366, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44365
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44367
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 44367, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44313
 *     return (_dict_CUresult[err], pDevPtr, pSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceSetMapFlags(resource, unsigned int flags):
 *     """ Set usage flags for mapping a graphics resource.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsResourceSetMapFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44369
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsMapResources(unsigned int count, resources, hStream):
 *     """ Map graphics resources for access by CUDA.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_843cuGraphicsMapResources(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_842cuGraphicsMapResources, "cuGraphicsMapResources(unsigned int count, resources, hStream)\n\nMap graphics resources for access by CUDA.\n\nMaps the `count` graphics resources in `resources` for access by CUDA.\n\nThe resources in `resources` may be accessed by CUDA until they are\nunmapped. The graphics API from which `resources` were registered\nshould not access any resources while they are mapped by CUDA. If an\napplication does so, the results are undefined.\n\nThis function provides the synchronization guarantee that any graphics\ncalls issued before :py:obj:`~.cuGraphicsMapResources()` will complete\nbefore any subsequent CUDA work issued in `stream` begins.\n\nIf `resources` includes any duplicate entries then\n:py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is returned. If any of\n`resources` are presently mapped for access by CUDA then\n:py:obj:`~.CUDA_ERROR_ALREADY_MAPPED` is returned.\n\nParameters\n----------\ncount : unsigned int\n    Number of resources to map\nresources : :py:obj:`~.CUgraphicsResource`\n    Resources to map for CUDA usage\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream with which to synchronize\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsResourceGetMappedPointer`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cudaGraphicsMapResources`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_843cuGraphicsMapResources = {"cuGraphicsMapResources", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_843cuGraphicsMapResources, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_842cuGraphicsMapResources};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_843cuGraphicsMapResources(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_count;
  PyObject *__pyx_v_resources = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsMapResources (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_resources,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44369, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44369, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44369, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44369, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsMapResources", 0) < (0)) __PYX_ERR(0, 44369, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsMapResources", 1, 3, 3, i); __PYX_ERR(0, 44369, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44369, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44369, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44369, __pyx_L3_error)
    }
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 44370, __pyx_L3_error)
    __pyx_v_resources = values[1];
    __pyx_v_hStream = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsMapResources", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 44369, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsMapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_842cuGraphicsMapResources(__pyx_self, __pyx_v_count, __pyx_v_resources, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_842cuGraphicsMapResources(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphicsResource *__pyx_v_cyresources;
  PyObject *__pyx_v_presources = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsMapResources", 0);

  /* "cuda/bindings/driver.pyx":44408
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44409
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44408
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44410
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44411
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44410
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44413
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphicsResource *cyresources
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44413, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44414
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44414, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44416
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_resources == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44417
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()
*/
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":44416
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44418
 *     if resources is None:
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resources, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44419
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):
*/
    __pyx_t_2 = __pyx_v_resources;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_v_presources = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":44420
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (int)):
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presources); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44420, __pyx_L1_error)
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

    /* "cuda/bindings/driver.pyx":44418
 *     if resources is None:
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44421
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_resources); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":44422
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_resources); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44422, __pyx_L1_error)
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

    /* "cuda/bindings/driver.pyx":44421
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44424
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsMapResources(count, cyresources, cyhStream)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_resources))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_resources_is_not_instan, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 44424, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":44425
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsMapResources(count, cyresources, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44426
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))
 *     with nogil:
 *         err = cydriver.cuGraphicsMapResources(count, cyresources, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsMapResources(__pyx_v_count, __pyx_v_cyresources, __pyx_v_cyhStream); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44426, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":44425
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsMapResources(count, cyresources, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":44427
 *     with nogil:
 *         err = cydriver.cuGraphicsMapResources(count, cyresources, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 44427, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44369
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsMapResources(unsigned int count, resources, hStream):
 *     """ Map graphics resources for access by CUDA.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsMapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_presources);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44429
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnmapResources(unsigned int count, resources, hStream):
 *     """ Unmap graphics resources.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_845cuGraphicsUnmapResources(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_844cuGraphicsUnmapResources, "cuGraphicsUnmapResources(unsigned int count, resources, hStream)\n\nUnmap graphics resources.\n\nUnmaps the `count` graphics resources in `resources`.\n\nOnce unmapped, the resources in `resources` may not be accessed by CUDA\nuntil they are mapped again.\n\nThis function provides the synchronization guarantee that any CUDA work\nissued in `stream` before :py:obj:`~.cuGraphicsUnmapResources()` will\ncomplete before any subsequently issued graphics work begins.\n\nIf `resources` includes any duplicate entries then\n:py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is returned. If any of\n`resources` are not presently mapped for access by CUDA then\n:py:obj:`~.CUDA_ERROR_NOT_MAPPED` is returned.\n\nParameters\n----------\ncount : unsigned int\n    Number of resources to unmap\nresources : :py:obj:`~.CUgraphicsResource`\n    Resources to unmap\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream with which to synchronize\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cudaGraphicsUnmapResources`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_845cuGraphicsUnmapResources = {"cuGraphicsUnmapResources", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_845cuGraphicsUnmapResources, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_844cuGraphicsUnmapResources};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_845cuGraphicsUnmapResources(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_count;
  PyObject *__pyx_v_resources = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsUnmapResources (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_resources,&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44429, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsUnmapResources", 0) < (0)) __PYX_ERR(0, 44429, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsUnmapResources", 1, 3, 3, i); __PYX_ERR(0, 44429, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44429, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44429, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44429, __pyx_L3_error)
    }
    __pyx_v_count = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 44430, __pyx_L3_error)
    __pyx_v_resources = values[1];
    __pyx_v_hStream = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsUnmapResources", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 44429, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsUnmapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_844cuGraphicsUnmapResources(__pyx_self, __pyx_v_count, __pyx_v_resources, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_844cuGraphicsUnmapResources(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphicsResource *__pyx_v_cyresources;
  PyObject *__pyx_v_presources = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsUnmapResources", 0);

  /* "cuda/bindings/driver.pyx":44466
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44467
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44466
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44468
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44469
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44468
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44471
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphicsResource *cyresources
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44471, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44472
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44472, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44474
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_resources == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44475
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()
*/
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":44474
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44476
 *     if resources is None:
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resources, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44477
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):
*/
    __pyx_t_2 = __pyx_v_resources;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44477, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_v_presources = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":44478
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (int)):
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presources); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44478, __pyx_L1_error)
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

    /* "cuda/bindings/driver.pyx":44476
 *     if resources is None:
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44479
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_resources); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":44480
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_resources); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44480, __pyx_L1_error)
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

    /* "cuda/bindings/driver.pyx":44479
 *         presources = resources.getPtr()
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44482
 *         cyresources = <cydriver.CUgraphicsResource*><void_ptr>resources
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsUnmapResources(count, cyresources, cyhStream)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_3 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_resources))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_resources_is_not_instan, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44482, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 44482, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":44483
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsUnmapResources(count, cyresources, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44484
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))
 *     with nogil:
 *         err = cydriver.cuGraphicsUnmapResources(count, cyresources, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsUnmapResources(__pyx_v_count, __pyx_v_cyresources, __pyx_v_cyhStream); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44484, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":44483
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(resources)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsUnmapResources(count, cyresources, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":44485
 *     with nogil:
 *         err = cydriver.cuGraphicsUnmapResources(count, cyresources, cyhStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 44485, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44429
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnmapResources(unsigned int count, resources, hStream):
 *     """ Unmap graphics resources.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsUnmapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_presources);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44487
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetProcAddress(char* symbol, int cudaVersion, flags):
 *     """ Returns the requested driver API function pointer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_847cuGetProcAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_846cuGetProcAddress, "cuGetProcAddress(char *symbol, int cudaVersion, flags)\n\nReturns the requested driver API function pointer.\n\nReturns in `**pfn` the address of the CUDA driver function for the\nrequested CUDA version and flags.\n\nThe CUDA version is specified as (1000 * major + 10 * minor), so CUDA\n11.2 should be specified as 11020. For a requested driver symbol, if\nthe specified CUDA version is greater than or equal to the CUDA version\nin which the driver symbol was introduced, this API will return the\nfunction pointer to the corresponding versioned function.\n\nThe pointer returned by the API should be cast to a function pointer\nmatching the requested driver function's definition in the API header\nfile. The function pointer typedef can be picked up from the\ncorresponding typedefs header file. For example, cudaTypedefs.h\nconsists of function pointer typedefs for driver APIs defined in\n:py:obj:`~.cuda.h`.\n\nThe API will return :py:obj:`~.CUDA_SUCCESS` and set the returned `pfn`\nto NULL if the requested driver function is not supported on the\nplatform, no ABI compatible driver function exists for the specified\n`cudaVersion` or if the driver symbol is invalid.\n\nIt will also set the optional `symbolStatus` to one of the values in\n:py:obj:`~.CUdriverProcAddressQueryResult` with the following meanings:\n\n- :py:obj:`~.CU_GET_PROC_ADDRESS_SUCCESS` - The requested symbol was\n  succesfully found based on input arguments and `pfn` is valid\n\n- :py:obj:`~.CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND` - The requested\n  symbol was not found\n\n- :py:obj:`~.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT` - The\n  requested symbol was found but is not supported by cudaVersion\n  specified\n\nThe requested flags can be:\n\n- :py:obj:`~.CU_GET_PROC_ADDRESS_DEFAULT`: This is the default mode.\n  This is equivalent to\n  :py:obj:`~.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM` if the code\n  is compiled with --default-stream per-thread compilation flag or the\n  macro CUDA_API_PER_THREAD_""DEFAULT_STREAM is defined;\n  :py:obj:`~.CU_GET_PROC_ADDRESS_LEGACY_STREAM` otherwise.\n\n- :py:obj:`~.CU_GET_PROC_ADDRESS_LEGACY_STREAM`: This will enable the\n  search for all driver symbols that match the requested driver symbol\n  name except the corresponding per-thread versions.\n\n- :py:obj:`~.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM`: This will\n  enable the search for all driver symbols that match the requested\n  driver symbol name including the per-thread versions. If a per-thread\n  version is not found, the API will return the legacy version of the\n  driver function.\n\nParameters\n----------\nsymbol : bytes\n    The base name of the driver API function to look for. As an\n    example, for the driver API :py:obj:`~.cuMemAlloc_v2`, `symbol`\n    would be cuMemAlloc and `cudaVersion` would be the ABI compatible\n    CUDA version for the _v2 variant.\ncudaVersion : int\n    The CUDA version to look for the requested driver symbol\nflags : Any\n    Flags to specify search options.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\npfn : Any\n    Location to return the function pointer to the requested driver\n    function\nsymbolStatus : :py:obj:`~.CUdriverProcAddressQueryResult`\n    Optional location to store the status of the search for `symbol`\n    based on `cudaVersion`. See\n    :py:obj:`~.CUdriverProcAddressQueryResult` for possible values.\n\nSee Also\n--------\n:py:obj:`~.cudaGetDriverEntryPoint`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_847cuGetProcAddress = {"cuGetProcAddress", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_847cuGetProcAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_846cuGetProcAddress};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_847cuGetProcAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  char *__pyx_v_symbol;
  int __pyx_v_cudaVersion;
  PyObject *__pyx_v_flags = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGetProcAddress (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_symbol,&__pyx_mstate_global->__pyx_n_u_cudaVersion,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44487, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44487, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44487, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44487, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGetProcAddress", 0) < (0)) __PYX_ERR(0, 44487, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGetProcAddress", 1, 3, 3, i); __PYX_ERR(0, 44487, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44487, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44487, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44487, __pyx_L3_error)
    }
    __pyx_v_symbol = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_symbol) && PyErr_Occurred())) __PYX_ERR(0, 44488, __pyx_L3_error)
    __pyx_v_cudaVersion = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_cudaVersion == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 44488, __pyx_L3_error)
    __pyx_v_flags = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGetProcAddress", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 44487, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGetProcAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_846cuGetProcAddress(__pyx_self, __pyx_v_symbol, __pyx_v_cudaVersion, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_846cuGetProcAddress(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_symbol, int __pyx_v_cudaVersion, PyObject *__pyx_v_flags) {
  cuuint64_t __pyx_v_cyflags;
  PyObject *__pyx_v_pflags = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_pfn;
  CUdriverProcAddressQueryResult __pyx_v_symbolStatus;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGetProcAddress", 0);

  /* "cuda/bindings/driver.pyx":44573
 *     """
 *     cdef cydriver.cuuint64_t cyflags
 *     if flags is None:             # <<<<<<<<<<<<<<
 *         pflags = 0
 *     elif isinstance(flags, (cuuint64_t,)):
*/
  __pyx_t_1 = (__pyx_v_flags == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44574
 *     cdef cydriver.cuuint64_t cyflags
 *     if flags is None:
 *         pflags = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(flags, (cuuint64_t,)):
 *         pflags = int(flags)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pflags = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":44573
 *     """
 *     cdef cydriver.cuuint64_t cyflags
 *     if flags is None:             # <<<<<<<<<<<<<<
 *         pflags = 0
 *     elif isinstance(flags, (cuuint64_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44575
 *     if flags is None:
 *         pflags = 0
 *     elif isinstance(flags, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pflags = int(flags)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_flags, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44576
 *         pflags = 0
 *     elif isinstance(flags, (cuuint64_t,)):
 *         pflags = int(flags)             # <<<<<<<<<<<<<<
 *     else:
 *         pflags = int(cuuint64_t(flags))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pflags = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44575
 *     if flags is None:
 *         pflags = 0
 *     elif isinstance(flags, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pflags = int(flags)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44578
 *         pflags = int(flags)
 *     else:
 *         pflags = int(cuuint64_t(flags))             # <<<<<<<<<<<<<<
 *     cyflags = <cydriver.cuuint64_t><void_ptr>pflags
 *     cdef void_ptr pfn = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_flags};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44578, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pflags = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44579
 *     else:
 *         pflags = int(cuuint64_t(flags))
 *     cyflags = <cydriver.cuuint64_t><void_ptr>pflags             # <<<<<<<<<<<<<<
 *     cdef void_ptr pfn = 0
 *     cdef cydriver.CUdriverProcAddressQueryResult symbolStatus
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pflags); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44579, __pyx_L1_error)
  __pyx_v_cyflags = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44580
 *         pflags = int(cuuint64_t(flags))
 *     cyflags = <cydriver.cuuint64_t><void_ptr>pflags
 *     cdef void_ptr pfn = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdriverProcAddressQueryResult symbolStatus
 *     with nogil:
*/
  __pyx_v_pfn = 0;

  /* "cuda/bindings/driver.pyx":44582
 *     cdef void_ptr pfn = 0
 *     cdef cydriver.CUdriverProcAddressQueryResult symbolStatus
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cyflags, &symbolStatus)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44583
 *     cdef cydriver.CUdriverProcAddressQueryResult symbolStatus
 *     with nogil:
 *         err = cydriver.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cyflags, &symbolStatus)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGetProcAddress(__pyx_v_symbol, ((void **)(&__pyx_v_pfn)), __pyx_v_cudaVersion, __pyx_v_cyflags, (&__pyx_v_symbolStatus)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44583, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44582
 *     cdef void_ptr pfn = 0
 *     cdef cydriver.CUdriverProcAddressQueryResult symbolStatus
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cyflags, &symbolStatus)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44584
 *     with nogil:
 *         err = cydriver.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cyflags, &symbolStatus)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pfn, CUdriverProcAddressQueryResult(symbolStatus))
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":44585
 *         err = cydriver.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cyflags, &symbolStatus)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pfn, CUdriverProcAddressQueryResult(symbolStatus))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 44585, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 44585, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(0, 44585, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44584
 *     with nogil:
 *         err = cydriver.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cyflags, &symbolStatus)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pfn, CUdriverProcAddressQueryResult(symbolStatus))
*/
  }

  /* "cuda/bindings/driver.pyx":44586
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pfn, CUdriverProcAddressQueryResult(symbolStatus))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddressQueryResult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyLong_From_enum__CUdriverProcAddressQueryResult_enum(__pyx_v_symbolStatus); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 44586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 44586, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 44586, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 44586, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44487
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetProcAddress(char* symbol, int cudaVersion, flags):
 *     """ Returns the requested driver API function pointer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGetProcAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pflags);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44588
 *     return (_dict_CUresult[err], pfn, CUdriverProcAddressQueryResult(symbolStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttribute(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_849cuCoredumpGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_848cuCoredumpGetAttribute, "cuCoredumpGetAttribute(attrib: CUcoredumpSettings)\n\nAllows caller to fetch a coredump attribute value for the current context.\n\nReturns in `*value` the requested value specified by `attrib`. It is up\nto the caller to ensure that the data type and size of `*value` matches\nthe request.\n\nIf the caller calls this function with `*value` equal to NULL, the size\nof the memory region (in bytes) expected for `attrib` will be placed in\n`size`.\n\nThe supported attributes are:\n\n- :py:obj:`~.CU_COREDUMP_ENABLE_ON_EXCEPTION`: Bool where\n  :py:obj:`~.true` means that GPU exceptions from this context will\n  create a coredump at the location specified by\n  :py:obj:`~.CU_COREDUMP_FILE`. The default value is :py:obj:`~.false`\n  unless set to :py:obj:`~.true` globally or locally, or the\n  CU_CTX_USER_COREDUMP_ENABLE flag was set during context creation.\n\n- :py:obj:`~.CU_COREDUMP_TRIGGER_HOST`: Bool where :py:obj:`~.true`\n  means that the host CPU will also create a coredump. The default\n  value is :py:obj:`~.true` unless set to :py:obj:`~.false` globally or\n  or locally. This value is deprecated as of CUDA 12.5 - raise the\n  :py:obj:`~.CU_COREDUMP_SKIP_ABORT` flag to disable host device\n  abort() if needed.\n\n- :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT`: Bool where :py:obj:`~.true`\n  means that any resulting coredumps will not have a dump of GPU memory\n  or non-reloc ELF images. The default value is :py:obj:`~.false`\n  unless set to :py:obj:`~.true` globally or locally. This attribute is\n  deprecated as of CUDA 12.5, please use\n  :py:obj:`~.CU_COREDUMP_GENERATION_FLAGS` instead.\n\n- :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER`: Bool where\n  :py:obj:`~.true` means that a coredump can be created by writing to\n  the system pipe specified by :py:obj:`~.CU_COREDUMP_PIPE`. The\n  default value is :py:obj:`~.false` unless set to :py:obj:`~.true`\n  globally or locally.\n\n- :py:obj:`~.CU_COREDUMP_FILE`: String of up to 1023 characters that\n  defines the location whe""re any coredumps generated by this context\n  will be written. The default value is\n  :py:obj:`~.core`.cuda.HOSTNAME.PID where :py:obj:`~.HOSTNAME` is the\n  host name of the machine running the CUDA applications and\n  :py:obj:`~.PID` is the process ID of the CUDA application.\n\n- :py:obj:`~.CU_COREDUMP_PIPE`: String of up to 1023 characters that\n  defines the name of the pipe that will be monitored if user-triggered\n  coredumps are enabled. The default value is\n  :py:obj:`~.corepipe`.cuda.HOSTNAME.PID where :py:obj:`~.HOSTNAME` is\n  the host name of the machine running the CUDA application and\n  :py:obj:`~.PID` is the process ID of the CUDA application.\n\n- :py:obj:`~.CU_COREDUMP_GENERATION_FLAGS`: An integer with values to\n  allow granular control the data contained in a coredump specified as\n  a bitwise OR combination of the following values:\n\n  - :py:obj:`~.CU_COREDUMP_DEFAULT_FLAGS` - if set by itself, coredump\n    generation returns to its default settings of including all memory\n    regions that it is able to access\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES` - Coredump\n    will not include the data from CUDA source modules that are not\n    relocated at runtime.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_GLOBAL_MEMORY` - Coredump will not\n    include device-side global data that does not belong to any\n    context.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_SHARED_MEMORY` - Coredump will not\n    include grid-scale shared memory for the warp that the dumped\n    kernel belonged to.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_LOCAL_MEMORY` - Coredump will not\n    include local memory from the kernel.\n\n  - :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT_FLAGS` - Enables all of the\n    above options. Equiavlent to setting the\n    :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT` attribute to :py:obj:`~.true`.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_ABORT` - If set, GPU exceptions will\n    not raise an abort() in the host CPU process. Same functional goal\n    as :py:obj:`~.CU_CO""REDUMP_TRIGGER_HOST` but better reflects the\n    default behavior.\n\nParameters\n----------\nattrib : :py:obj:`~.CUcoredumpSettings`\n    The enum defining which value to fetch.\nsize : int\n    The size of the memory region `value` points to.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\nvalue : Any\n    void* containing the requested data.\nsize : int\n    The size of the memory region `value` points to.\n\nSee Also\n--------\n:py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_849cuCoredumpGetAttribute = {"cuCoredumpGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_849cuCoredumpGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_848cuCoredumpGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_849cuCoredumpGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCoredumpGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44588, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44588, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCoredumpGetAttribute", 0) < (0)) __PYX_ERR(0, 44588, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCoredumpGetAttribute", 1, 1, 1, i); __PYX_ERR(0, 44588, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44588, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCoredumpGetAttribute", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 44588, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCoredumpGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 44589, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_848cuCoredumpGetAttribute(__pyx_self, __pyx_v_attrib);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_848cuCoredumpGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib) {
  CUcoredumpSettings __pyx_v_cyattrib;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  size_t __pyx_v_size;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcoredumpSettings __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCoredumpGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":44695
 *     :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`
 *     """
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcoredumpSettings_enum)__Pyx_PyLong_As_enum__CUcoredumpSettings_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyattrib = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":44696
 *     """
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_attrib, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_6, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 44696, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44696, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":44697
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":44698
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCoredumpGetAttribute(cyattrib, cyvalue_ptr, &size)
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_size_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 44698, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":44699
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCoredumpGetAttribute(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44700
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
 *         err = cydriver.cuCoredumpGetAttribute(cyattrib, cyvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuCoredumpGetAttribute(__pyx_v_cyattrib, __pyx_v_cyvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44700, __pyx_L4_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":44699
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCoredumpGetAttribute(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":44701
 *     with nogil:
 *         err = cydriver.cuCoredumpGetAttribute(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())
*/
  __pyx_t_9 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_9) {

    /* "cuda/bindings/driver.pyx":44702
 *         err = cydriver.cuCoredumpGetAttribute(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 44702, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 44702, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44701
 *     with nogil:
 *         err = cydriver.cuCoredumpGetAttribute(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())
*/
  }

  /* "cuda/bindings/driver.pyx":44703
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_4 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44703, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 44703, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 44703, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44588
 *     return (_dict_CUresult[err], pfn, CUdriverProcAddressQueryResult(symbolStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttribute(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCoredumpGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44705
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttributeGlobal(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the entire application.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_851cuCoredumpGetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_850cuCoredumpGetAttributeGlobal, "cuCoredumpGetAttributeGlobal(attrib: CUcoredumpSettings)\n\nAllows caller to fetch a coredump attribute value for the entire application.\n\nReturns in `*value` the requested value specified by `attrib`. It is up\nto the caller to ensure that the data type and size of `*value` matches\nthe request.\n\nIf the caller calls this function with `*value` equal to NULL, the size\nof the memory region (in bytes) expected for `attrib` will be placed in\n`size`.\n\nThe supported attributes are:\n\n- :py:obj:`~.CU_COREDUMP_ENABLE_ON_EXCEPTION`: Bool where\n  :py:obj:`~.true` means that GPU exceptions from this context will\n  create a coredump at the location specified by\n  :py:obj:`~.CU_COREDUMP_FILE`. The default value is :py:obj:`~.false`.\n\n- :py:obj:`~.CU_COREDUMP_TRIGGER_HOST`: Bool where :py:obj:`~.true`\n  means that the host CPU will also create a coredump. The default\n  value is :py:obj:`~.true` unless set to :py:obj:`~.false` globally or\n  or locally. This value is deprecated as of CUDA 12.5 - raise the\n  :py:obj:`~.CU_COREDUMP_SKIP_ABORT` flag to disable host device\n  abort() if needed.\n\n- :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT`: Bool where :py:obj:`~.true`\n  means that any resulting coredumps will not have a dump of GPU memory\n  or non-reloc ELF images. The default value is :py:obj:`~.false`. This\n  attribute is deprecated as of CUDA 12.5, please use\n  :py:obj:`~.CU_COREDUMP_GENERATION_FLAGS` instead.\n\n- :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER`: Bool where\n  :py:obj:`~.true` means that a coredump can be created by writing to\n  the system pipe specified by :py:obj:`~.CU_COREDUMP_PIPE`. The\n  default value is :py:obj:`~.false`.\n\n- :py:obj:`~.CU_COREDUMP_FILE`: String of up to 1023 characters that\n  defines the location where any coredumps generated by this context\n  will be written. The default value is\n  :py:obj:`~.core`.cuda.HOSTNAME.PID where :py:obj:`~.HOSTNAME` is the\n  host name of the machine running the CUDA applications and\n  :py:obj:""`~.PID` is the process ID of the CUDA application.\n\n- :py:obj:`~.CU_COREDUMP_PIPE`: String of up to 1023 characters that\n  defines the name of the pipe that will be monitored if user-triggered\n  coredumps are enabled. The default value is\n  :py:obj:`~.corepipe`.cuda.HOSTNAME.PID where :py:obj:`~.HOSTNAME` is\n  the host name of the machine running the CUDA application and\n  :py:obj:`~.PID` is the process ID of the CUDA application.\n\n- :py:obj:`~.CU_COREDUMP_GENERATION_FLAGS`: An integer with values to\n  allow granular control the data contained in a coredump specified as\n  a bitwise OR combination of the following values:\n\n  - :py:obj:`~.CU_COREDUMP_DEFAULT_FLAGS` - if set by itself, coredump\n    generation returns to its default settings of including all memory\n    regions that it is able to access\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES` - Coredump\n    will not include the data from CUDA source modules that are not\n    relocated at runtime.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_GLOBAL_MEMORY` - Coredump will not\n    include device-side global data that does not belong to any\n    context.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_SHARED_MEMORY` - Coredump will not\n    include grid-scale shared memory for the warp that the dumped\n    kernel belonged to.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_LOCAL_MEMORY` - Coredump will not\n    include local memory from the kernel.\n\n  - :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT_FLAGS` - Enables all of the\n    above options. Equiavlent to setting the\n    :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT` attribute to :py:obj:`~.true`.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_ABORT` - If set, GPU exceptions will\n    not raise an abort() in the host CPU process. Same functional goal\n    as :py:obj:`~.CU_COREDUMP_TRIGGER_HOST` but better reflects the\n    default behavior.\n\nParameters\n----------\nattrib : :py:obj:`~.CUcoredumpSettings`\n    The enum defining which value to fetch.\nsize : int\n    The size of the memory region `v""alue` points to.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nvalue : Any\n    void* containing the requested data.\nsize : int\n    The size of the memory region `value` points to.\n\nSee Also\n--------\n:py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_851cuCoredumpGetAttributeGlobal = {"cuCoredumpGetAttributeGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_851cuCoredumpGetAttributeGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_850cuCoredumpGetAttributeGlobal};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_851cuCoredumpGetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCoredumpGetAttributeGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44705, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCoredumpGetAttributeGlobal", 0) < (0)) __PYX_ERR(0, 44705, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCoredumpGetAttributeGlobal", 1, 1, 1, i); __PYX_ERR(0, 44705, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44705, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCoredumpGetAttributeGlobal", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 44705, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCoredumpGetAttributeGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 44706, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_850cuCoredumpGetAttributeGlobal(__pyx_self, __pyx_v_attrib);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_850cuCoredumpGetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib) {
  CUcoredumpSettings __pyx_v_cyattrib;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  size_t __pyx_v_size;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcoredumpSettings __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCoredumpGetAttributeGlobal", 0);

  /* "cuda/bindings/driver.pyx":44808
 *     :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`
 *     """
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcoredumpSettings_enum)__Pyx_PyLong_As_enum__CUcoredumpSettings_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyattrib = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":44809
 *     """
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_attrib, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_6, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 44809, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44809, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":44810
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":44811
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCoredumpGetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_size_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 44811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":44812
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCoredumpGetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44813
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
 *         err = cydriver.cuCoredumpGetAttributeGlobal(cyattrib, cyvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuCoredumpGetAttributeGlobal(__pyx_v_cyattrib, __pyx_v_cyvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44813, __pyx_L4_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":44812
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCoredumpGetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":44814
 *     with nogil:
 *         err = cydriver.cuCoredumpGetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())
*/
  __pyx_t_9 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_9) {

    /* "cuda/bindings/driver.pyx":44815
 *         err = cydriver.cuCoredumpGetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 44815, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 44815, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44814
 *     with nogil:
 *         err = cydriver.cuCoredumpGetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())
*/
  }

  /* "cuda/bindings/driver.pyx":44816
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], cyvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_4 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 44816, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 44816, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44705
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttributeGlobal(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the entire application.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCoredumpGetAttributeGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44818
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttribute(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value for the current context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_853cuCoredumpSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_852cuCoredumpSetAttribute, "cuCoredumpSetAttribute(attrib: CUcoredumpSettings, value)\n\nAllows caller to set a coredump attribute value for the current context.\n\nThis function should be considered an alternate interface to the CUDA-\nGDB environment variables defined in this document:\nhttps://docs.nvidia.com/cuda/cuda-gdb/index.html#gpu-coredump\n\nAn important design decision to note is that any coredump environment\nvariable values set before CUDA initializes will take permanent\nprecedence over any values set with this function. This decision was\nmade to ensure no change in behavior for any users that may be\ncurrently using these variables to get coredumps.\n\n`*value` shall contain the requested value specified by `set`. It is up\nto the caller to ensure that the data type and size of `*value` matches\nthe request.\n\nIf the caller calls this function with `*value` equal to NULL, the size\nof the memory region (in bytes) expected for `set` will be placed in\n`size`.\n\n/note This function will return :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` if\nthe caller attempts to set :py:obj:`~.CU_COREDUMP_ENABLE_ON_EXCEPTION`\non a GPU of with Compute Capability < 6.0.\n:py:obj:`~.cuCoredumpSetAttributeGlobal` works on those platforms as an\nalternative.\n\n/note :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER` and\n:py:obj:`~.CU_COREDUMP_PIPE` cannot be set on a per-context basis.\n\nThe supported attributes are:\n\n- :py:obj:`~.CU_COREDUMP_ENABLE_ON_EXCEPTION`: Bool where\n  :py:obj:`~.true` means that GPU exceptions from this context will\n  create a coredump at the location specified by\n  :py:obj:`~.CU_COREDUMP_FILE`. The default value is :py:obj:`~.false`.\n\n- :py:obj:`~.CU_COREDUMP_TRIGGER_HOST`: Bool where :py:obj:`~.true`\n  means that the host CPU will also create a coredump. The default\n  value is :py:obj:`~.true` unless set to :py:obj:`~.false` globally or\n  or locally. This value is deprecated as of CUDA 12.5 - raise the\n  :py:obj:`~.CU_COREDUMP_SKIP_ABORT` flag to disable host device""\n  abort() if needed.\n\n- :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT`: Bool where :py:obj:`~.true`\n  means that any resulting coredumps will not have a dump of GPU memory\n  or non-reloc ELF images. The default value is :py:obj:`~.false`. This\n  attribute is deprecated as of CUDA 12.5, please use\n  :py:obj:`~.CU_COREDUMP_GENERATION_FLAGS` instead.\n\n- :py:obj:`~.CU_COREDUMP_FILE`: String of up to 1023 characters that\n  defines the location where any coredumps generated by this context\n  will be written. The default value is\n  :py:obj:`~.core`.cuda.HOSTNAME.PID where :py:obj:`~.HOSTNAME` is the\n  host name of the machine running the CUDA applications and\n  :py:obj:`~.PID` is the process ID of the CUDA application.\n\n- :py:obj:`~.CU_COREDUMP_GENERATION_FLAGS`: An integer with values to\n  allow granular control the data contained in a coredump specified as\n  a bitwise OR combination of the following values:\n\n  - :py:obj:`~.CU_COREDUMP_DEFAULT_FLAGS` - if set by itself, coredump\n    generation returns to its default settings of including all memory\n    regions that it is able to access\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES` - Coredump\n    will not include the data from CUDA source modules that are not\n    relocated at runtime.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_GLOBAL_MEMORY` - Coredump will not\n    include device-side global data that does not belong to any\n    context.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_SHARED_MEMORY` - Coredump will not\n    include grid-scale shared memory for the warp that the dumped\n    kernel belonged to.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_LOCAL_MEMORY` - Coredump will not\n    include local memory from the kernel.\n\n  - :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT_FLAGS` - Enables all of the\n    above options. Equiavlent to setting the\n    :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT` attribute to :py:obj:`~.true`.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_ABORT` - If set, GPU exceptions will\n    not raise an abort() in the host CPU"" process. Same functional goal\n    as :py:obj:`~.CU_COREDUMP_TRIGGER_HOST` but better reflects the\n    default behavior.\n\nParameters\n----------\nattrib : :py:obj:`~.CUcoredumpSettings`\n    The enum defining which value to set.\nvalue : Any\n    void* containing the requested data.\nsize : int\n    The size of the memory region `value` points to.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nsize : int\n    The size of the memory region `value` points to.\n\nSee Also\n--------\n:py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_853cuCoredumpSetAttribute = {"cuCoredumpSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_853cuCoredumpSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_852cuCoredumpSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_853cuCoredumpSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCoredumpSetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44818, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44818, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44818, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCoredumpSetAttribute", 0) < (0)) __PYX_ERR(0, 44818, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCoredumpSetAttribute", 1, 2, 2, i); __PYX_ERR(0, 44818, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44818, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44818, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCoredumpSetAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 44818, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCoredumpSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 44819, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_852cuCoredumpSetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_852cuCoredumpSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value) {
  CUcoredumpSettings __pyx_v_cyattrib;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  size_t __pyx_v_size;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcoredumpSettings __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCoredumpSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":44928
 *     :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`
 *     """
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcoredumpSettings_enum)__Pyx_PyLong_As_enum__CUcoredumpSettings_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyattrib = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":44929
 *     """
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_attrib, __pyx_v_value};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_False, __pyx_t_6, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 44929, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44929, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":44930
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":44931
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCoredumpSetAttribute(cyattrib, cyvalue_ptr, &size)
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_size_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 44931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":44932
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCoredumpSetAttribute(cyattrib, cyvalue_ptr, &size)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44933
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
 *         err = cydriver.cuCoredumpSetAttribute(cyattrib, cyvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuCoredumpSetAttribute(__pyx_v_cyattrib, __pyx_v_cyvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44933, __pyx_L4_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":44932
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCoredumpSetAttribute(cyattrib, cyvalue_ptr, &size)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":44934
 *     with nogil:
 *         err = cydriver.cuCoredumpSetAttribute(cyattrib, cyvalue_ptr, &size)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 44934, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44818
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttribute(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value for the current context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCoredumpSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44936
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttributeGlobal(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value globally.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_855cuCoredumpSetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_854cuCoredumpSetAttributeGlobal, "cuCoredumpSetAttributeGlobal(attrib: CUcoredumpSettings, value)\n\nAllows caller to set a coredump attribute value globally.\n\nThis function should be considered an alternate interface to the CUDA-\nGDB environment variables defined in this document:\nhttps://docs.nvidia.com/cuda/cuda-gdb/index.html#gpu-coredump\n\nAn important design decision to note is that any coredump environment\nvariable values set before CUDA initializes will take permanent\nprecedence over any values set with this function. This decision was\nmade to ensure no change in behavior for any users that may be\ncurrently using these variables to get coredumps.\n\n`*value` shall contain the requested value specified by `set`. It is up\nto the caller to ensure that the data type and size of `*value` matches\nthe request.\n\nIf the caller calls this function with `*value` equal to NULL, the size\nof the memory region (in bytes) expected for `set` will be placed in\n`size`.\n\nThe supported attributes are:\n\n- :py:obj:`~.CU_COREDUMP_ENABLE_ON_EXCEPTION`: Bool where\n  :py:obj:`~.true` means that GPU exceptions from this context will\n  create a coredump at the location specified by\n  :py:obj:`~.CU_COREDUMP_FILE`. The default value is :py:obj:`~.false`.\n\n- :py:obj:`~.CU_COREDUMP_TRIGGER_HOST`: Bool where :py:obj:`~.true`\n  means that the host CPU will also create a coredump. The default\n  value is :py:obj:`~.true` unless set to :py:obj:`~.false` globally or\n  or locally. This value is deprecated as of CUDA 12.5 - raise the\n  :py:obj:`~.CU_COREDUMP_SKIP_ABORT` flag to disable host device\n  abort() if needed.\n\n- :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT`: Bool where :py:obj:`~.true`\n  means that any resulting coredumps will not have a dump of GPU memory\n  or non-reloc ELF images. The default value is :py:obj:`~.false`. This\n  attribute is deprecated as of CUDA 12.5, please use\n  :py:obj:`~.CU_COREDUMP_GENERATION_FLAGS` instead.\n\n- :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER`: Bool where\n  :py:""obj:`~.true` means that a coredump can be created by writing to\n  the system pipe specified by :py:obj:`~.CU_COREDUMP_PIPE`. The\n  default value is :py:obj:`~.false`.\n\n- :py:obj:`~.CU_COREDUMP_FILE`: String of up to 1023 characters that\n  defines the location where any coredumps generated by this context\n  will be written. The default value is\n  :py:obj:`~.core`.cuda.HOSTNAME.PID where :py:obj:`~.HOSTNAME` is the\n  host name of the machine running the CUDA applications and\n  :py:obj:`~.PID` is the process ID of the CUDA application.\n\n- :py:obj:`~.CU_COREDUMP_PIPE`: String of up to 1023 characters that\n  defines the name of the pipe that will be monitored if user-triggered\n  coredumps are enabled. This value may not be changed after\n  :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER` is set to\n  :py:obj:`~.true`. The default value is\n  :py:obj:`~.corepipe`.cuda.HOSTNAME.PID where :py:obj:`~.HOSTNAME` is\n  the host name of the machine running the CUDA application and\n  :py:obj:`~.PID` is the process ID of the CUDA application.\n\n- :py:obj:`~.CU_COREDUMP_GENERATION_FLAGS`: An integer with values to\n  allow granular control the data contained in a coredump specified as\n  a bitwise OR combination of the following values:\n\n  - :py:obj:`~.CU_COREDUMP_DEFAULT_FLAGS` - if set by itself, coredump\n    generation returns to its default settings of including all memory\n    regions that it is able to access\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES` - Coredump\n    will not include the data from CUDA source modules that are not\n    relocated at runtime.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_GLOBAL_MEMORY` - Coredump will not\n    include device-side global data that does not belong to any\n    context.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_SHARED_MEMORY` - Coredump will not\n    include grid-scale shared memory for the warp that the dumped\n    kernel belonged to.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_LOCAL_MEMORY` - Coredump will not\n    include loca""l memory from the kernel.\n\n  - :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT_FLAGS` - Enables all of the\n    above options. Equiavlent to setting the\n    :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT` attribute to :py:obj:`~.true`.\n\n  - :py:obj:`~.CU_COREDUMP_SKIP_ABORT` - If set, GPU exceptions will\n    not raise an abort() in the host CPU process. Same functional goal\n    as :py:obj:`~.CU_COREDUMP_TRIGGER_HOST` but better reflects the\n    default behavior.\n\nParameters\n----------\nattrib : :py:obj:`~.CUcoredumpSettings`\n    The enum defining which value to set.\nvalue : Any\n    void* containing the requested data.\nsize : int\n    The size of the memory region `value` points to.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`\nsize : int\n    The size of the memory region `value` points to.\n\nSee Also\n--------\n:py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_855cuCoredumpSetAttributeGlobal = {"cuCoredumpSetAttributeGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_855cuCoredumpSetAttributeGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_854cuCoredumpSetAttributeGlobal};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_855cuCoredumpSetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCoredumpSetAttributeGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_attrib,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 44936, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44936, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44936, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCoredumpSetAttributeGlobal", 0) < (0)) __PYX_ERR(0, 44936, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCoredumpSetAttributeGlobal", 1, 2, 2, i); __PYX_ERR(0, 44936, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44936, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44936, __pyx_L3_error)
    }
    __pyx_v_attrib = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCoredumpSetAttributeGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 44936, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCoredumpSetAttributeGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attrib) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attrib"); __PYX_ERR(0, 44937, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_854cuCoredumpSetAttributeGlobal(__pyx_self, __pyx_v_attrib, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_854cuCoredumpSetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value) {
  CUcoredumpSettings __pyx_v_cyattrib;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *__pyx_v_cyvalue = 0;
  void *__pyx_v_cyvalue_ptr;
  size_t __pyx_v_size;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcoredumpSettings __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCoredumpSetAttributeGlobal", 0);

  /* "cuda/bindings/driver.pyx":45051
 *     :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`
 *     """
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value             # <<<<<<<<<<<<<<
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcoredumpSettings_enum)__Pyx_PyLong_As_enum__CUcoredumpSettings_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 45051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyattrib = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":45052
 *     """
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_attrib, __pyx_v_value};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_False, __pyx_t_6, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 45052, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45052, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":45053
 *     cdef cydriver.CUcoredumpSettings cyattrib = attrib.value
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":45054
 *     cdef _HelperCUcoredumpSettings cyvalue = _HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCoredumpSetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_size_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 45054, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":45055
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCoredumpSetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45056
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
 *         err = cydriver.cuCoredumpSetAttributeGlobal(cyattrib, cyvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuCoredumpSetAttributeGlobal(__pyx_v_cyattrib, __pyx_v_cyvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45056, __pyx_L4_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":45055
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     cdef size_t size = cyvalue.size()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCoredumpSetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45057
 *     with nogil:
 *         err = cydriver.cuCoredumpSetAttributeGlobal(cyattrib, cyvalue_ptr, &size)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 45057, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44936
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttributeGlobal(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value globally.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCoredumpSetAttributeGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45059
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetExportTable(pExportTableId : Optional[CUuuid]):
 *     """
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_857cuGetExportTable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_856cuGetExportTable, "cuGetExportTable(CUuuid pExportTableId: Optional[CUuuid])\n\nParameters\n----------\npExportTableId : :py:obj:`~.CUuuid`\n    None\n\nReturns\n-------\nCUresult\n\nppExportTable : Any\n    None");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_857cuGetExportTable = {"cuGetExportTable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_857cuGetExportTable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_856cuGetExportTable};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_857cuGetExportTable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_pExportTableId = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGetExportTable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pExportTableId,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45059, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45059, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGetExportTable", 0) < (0)) __PYX_ERR(0, 45059, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGetExportTable", 1, 1, 1, i); __PYX_ERR(0, 45059, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45059, __pyx_L3_error)
    }
    __pyx_v_pExportTableId = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGetExportTable", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 45059, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGetExportTable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pExportTableId), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid, 1, "pExportTableId", 0))) __PYX_ERR(0, 45060, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_856cuGetExportTable(__pyx_self, __pyx_v_pExportTableId);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_856cuGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_pExportTableId) {
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v_ppExportTable;
  CUuuid *__pyx_v_cypExportTableId_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUuuid_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGetExportTable", 0);

  /* "cuda/bindings/driver.pyx":45075
 *         None
 *     """
 *     cdef void_ptr ppExportTable = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUuuid* cypExportTableId_ptr = pExportTableId._pvt_ptr if pExportTableId is not None else NULL
 *     with nogil:
*/
  __pyx_v_ppExportTable = 0;

  /* "cuda/bindings/driver.pyx":45076
 *     """
 *     cdef void_ptr ppExportTable = 0
 *     cdef cydriver.CUuuid* cypExportTableId_ptr = pExportTableId._pvt_ptr if pExportTableId is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGetExportTable(<const void**>&ppExportTable, cypExportTableId_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_pExportTableId) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_pExportTableId->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cypExportTableId_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":45077
 *     cdef void_ptr ppExportTable = 0
 *     cdef cydriver.CUuuid* cypExportTableId_ptr = pExportTableId._pvt_ptr if pExportTableId is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGetExportTable(<const void**>&ppExportTable, cypExportTableId_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45078
 *     cdef cydriver.CUuuid* cypExportTableId_ptr = pExportTableId._pvt_ptr if pExportTableId is not None else NULL
 *     with nogil:
 *         err = cydriver.cuGetExportTable(<const void**>&ppExportTable, cypExportTableId_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuGetExportTable(((void const **)(&__pyx_v_ppExportTable)), __pyx_v_cypExportTableId_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45078, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":45077
 *     cdef void_ptr ppExportTable = 0
 *     cdef cydriver.CUuuid* cypExportTableId_ptr = pExportTableId._pvt_ptr if pExportTableId is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGetExportTable(<const void**>&ppExportTable, cypExportTableId_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45079
 *     with nogil:
 *         err = cydriver.cuGetExportTable(<const void**>&ppExportTable, cypExportTableId_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ppExportTable)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":45080
 *         err = cydriver.cuGetExportTable(<const void**>&ppExportTable, cypExportTableId_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], ppExportTable)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 45080, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_None) != (0)) __PYX_ERR(0, 45080, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45079
 *     with nogil:
 *         err = cydriver.cuGetExportTable(<const void**>&ppExportTable, cypExportTableId_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ppExportTable)
*/
  }

  /* "cuda/bindings/driver.pyx":45081
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], ppExportTable)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_ppExportTable); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45081, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 45081, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45059
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetExportTable(pExportTableId : Optional[CUuuid]):
 *     """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGetExportTable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45083
 *     return (_dict_CUresult[err], ppExportTable)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxCreate(desc, dev, unsigned int flags):
 *     """ Creates a green context with a specified set of resources.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_859cuGreenCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_858cuGreenCtxCreate, "cuGreenCtxCreate(desc, dev, unsigned int flags)\n\nCreates a green context with a specified set of resources.\n\nThis API creates a green context with the resources specified in the\ndescriptor `desc` and returns it in the handle represented by `phCtx`.\nThis API will retain the primary context on device `dev`, which will is\nreleased when the green context is destroyed. It is advised to have the\nprimary context active before calling this API to avoid the heavy cost\nof triggering primary context initialization and deinitialization\nmultiple times.\n\nThe API does not set the green context current. In order to set it\ncurrent, you need to explicitly set it current by first converting the\ngreen context to a CUcontext using :py:obj:`~.cuCtxFromGreenCtx` and\nsubsequently calling :py:obj:`~.cuCtxSetCurrent` /\n:py:obj:`~.cuCtxPushCurrent`. It should be noted that a green context\ncan be current to only one thread at a time. There is no internal\nsynchronization to make API calls accessing the same green context from\nmultiple threads work.\n\nNote: The API is not supported on 32-bit platforms.\n\nThe supported flags are:\n\n- `CU_GREEN_CTX_DEFAULT_STREAM` : Creates a default stream to use\n  inside the green context. Required.\n\nParameters\n----------\ndesc : :py:obj:`~.CUdevResourceDesc`\n    Descriptor generated via :py:obj:`~.cuDevResourceGenerateDesc`\n    which contains the set of resources to be used\ndev : :py:obj:`~.CUdevice`\n    Device on which to create the green context.\nflags : unsigned int\n    One of the supported green context creation flags.\n    `CU_GREEN_CTX_DEFAULT_STREAM` is required.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nphCtx : :py:obj:`~.CUgreenCtx`\n    Pointer for the output handle to the g""reen context\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxDestroy`, :py:obj:`~.cuCtxFromGreenCtx`, :py:obj:`~.cuCtxSetCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuDevResourceGenerateDesc`, :py:obj:`~.cuDevicePrimaryCtxRetain`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxCreate_v3`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_859cuGreenCtxCreate = {"cuGreenCtxCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_859cuGreenCtxCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_858cuGreenCtxCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_859cuGreenCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_dev = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGreenCtxCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_dev,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45083, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45083, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45083, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45083, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGreenCtxCreate", 0) < (0)) __PYX_ERR(0, 45083, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGreenCtxCreate", 1, 3, 3, i); __PYX_ERR(0, 45083, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45083, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45083, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45083, __pyx_L3_error)
    }
    __pyx_v_desc = values[0];
    __pyx_v_dev = values[1];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45084, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 45083, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_858cuGreenCtxCreate(__pyx_self, __pyx_v_desc, __pyx_v_dev, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_858cuGreenCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_desc, PyObject *__pyx_v_dev, unsigned int __pyx_v_flags) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  CUdevResourceDesc __pyx_v_cydesc;
  PyObject *__pyx_v_pdesc = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_phCtx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxCreate", 0);

  /* "cuda/bindings/driver.pyx":45134
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45135
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
 *         pdev = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdev = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45134
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45136
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45137
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45136
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45139
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUdevResourceDesc cydesc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45139, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45140
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevResourceDesc cydesc
 *     if desc is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 45140, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":45142
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUdevResourceDesc cydesc
 *     if desc is None:             # <<<<<<<<<<<<<<
 *         pdesc = 0
 *     elif isinstance(desc, (CUdevResourceDesc,)):
*/
  __pyx_t_1 = (__pyx_v_desc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45143
 *     cdef cydriver.CUdevResourceDesc cydesc
 *     if desc is None:
 *         pdesc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(desc, (CUdevResourceDesc,)):
 *         pdesc = int(desc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdesc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45142
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUdevResourceDesc cydesc
 *     if desc is None:             # <<<<<<<<<<<<<<
 *         pdesc = 0
 *     elif isinstance(desc, (CUdevResourceDesc,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":45144
 *     if desc is None:
 *         pdesc = 0
 *     elif isinstance(desc, (CUdevResourceDesc,)):             # <<<<<<<<<<<<<<
 *         pdesc = int(desc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_desc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45145
 *         pdesc = 0
 *     elif isinstance(desc, (CUdevResourceDesc,)):
 *         pdesc = int(desc)             # <<<<<<<<<<<<<<
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_desc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdesc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":45144
 *     if desc is None:
 *         pdesc = 0
 *     elif isinstance(desc, (CUdevResourceDesc,)):             # <<<<<<<<<<<<<<
 *         pdesc = int(desc)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":45147
 *         pdesc = int(desc)
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))             # <<<<<<<<<<<<<<
 *     cydesc = <cydriver.CUdevResourceDesc><void_ptr>pdesc
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_desc};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45147, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdesc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":45148
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))
 *     cydesc = <cydriver.CUdevResourceDesc><void_ptr>pdesc             # <<<<<<<<<<<<<<
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:
*/
  __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdesc); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45148, __pyx_L1_error)
  __pyx_v_cydesc = ((CUdevResourceDesc)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

  /* "cuda/bindings/driver.pyx":45149
 *         pdesc = int(CUdevResourceDesc(desc))
 *     cydesc = <cydriver.CUdevResourceDesc><void_ptr>pdesc
 *     cdef CUgreenCtx phCtx = CUgreenCtx()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxCreate(<cydriver.CUgreenCtx*>phCtx._pvt_ptr, cydesc, cydev, flags)
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45149, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":45150
 *     cydesc = <cydriver.CUdevResourceDesc><void_ptr>pdesc
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxCreate(<cydriver.CUgreenCtx*>phCtx._pvt_ptr, cydesc, cydev, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45151
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:
 *         err = cydriver.cuGreenCtxCreate(<cydriver.CUgreenCtx*>phCtx._pvt_ptr, cydesc, cydev, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxCreate(((CUgreenCtx *)__pyx_v_phCtx->_pvt_ptr), __pyx_v_cydesc, __pyx_v_cydev, __pyx_v_flags); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45151, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":45150
 *     cydesc = <cydriver.CUdevResourceDesc><void_ptr>pdesc
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxCreate(<cydriver.CUgreenCtx*>phCtx._pvt_ptr, cydesc, cydev, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":45152
 *     with nogil:
 *         err = cydriver.cuGreenCtxCreate(<cydriver.CUgreenCtx*>phCtx._pvt_ptr, cydesc, cydev, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phCtx)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45153
 *         err = cydriver.cuGreenCtxCreate(<cydriver.CUgreenCtx*>phCtx._pvt_ptr, cydesc, cydev, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phCtx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45153, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 45153, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45152
 *     with nogil:
 *         err = cydriver.cuGreenCtxCreate(<cydriver.CUgreenCtx*>phCtx._pvt_ptr, cydesc, cydev, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phCtx)
*/
  }

  /* "cuda/bindings/driver.pyx":45154
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phCtx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 45154, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_phCtx)) != (0)) __PYX_ERR(0, 45154, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45083
 *     return (_dict_CUresult[err], ppExportTable)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxCreate(desc, dev, unsigned int flags):
 *     """ Creates a green context with a specified set of resources.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pdesc);
  __Pyx_XDECREF((PyObject *)__pyx_v_phCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45156
 *     return (_dict_CUresult[err], phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxDestroy(hCtx):
 *     """ Destroys a green context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_861cuGreenCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_860cuGreenCtxDestroy, "cuGreenCtxDestroy(hCtx)\n\nDestroys a green context.\n\nDestroys the green context, releasing the primary context of the device\nthat this green context was created for. Any resources provisioned for\nthis green context (that were initially available via the resource\ndescriptor) are released as well.\n\nParameters\n----------\nhCtx : :py:obj:`~.CUgreenCtx`\n    Green context to be destroyed\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxCreate`, :py:obj:`~.cuCtxDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_861cuGreenCtxDestroy = {"cuGreenCtxDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_861cuGreenCtxDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_860cuGreenCtxDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_861cuGreenCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hCtx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGreenCtxDestroy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hCtx,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45156, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGreenCtxDestroy", 0) < (0)) __PYX_ERR(0, 45156, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGreenCtxDestroy", 1, 1, 1, i); __PYX_ERR(0, 45156, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45156, __pyx_L3_error)
    }
    __pyx_v_hCtx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 45156, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_860cuGreenCtxDestroy(__pyx_self, __pyx_v_hCtx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_860cuGreenCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx) {
  CUgreenCtx __pyx_v_cyhCtx;
  PyObject *__pyx_v_phCtx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxDestroy", 0);

  /* "cuda/bindings/driver.pyx":45180
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45181
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
 *         phCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45180
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45182
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45183
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45182
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45185
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45185, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45186
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45186, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45187
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45188
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxDestroy(__pyx_v_cyhCtx); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45188, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45187
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45189
 *     with nogil:
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 45189, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45156
 *     return (_dict_CUresult[err], phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxDestroy(hCtx):
 *     """ Destroys a green context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45191
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxFromGreenCtx(hCtx):
 *     """ Converts a green context into the primary context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_863cuCtxFromGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_862cuCtxFromGreenCtx, "cuCtxFromGreenCtx(hCtx)\n\nConverts a green context into the primary context.\n\nThe API converts a green context into the primary context returned in\n`pContext`. It is important to note that the converted context\n`pContext` is a normal primary context but with the resources of the\nspecified green context `hCtx`. Once converted, it can then be used to\nset the context current with :py:obj:`~.cuCtxSetCurrent` or with any of\nthe CUDA APIs that accept a CUcontext parameter.\n\nUsers are expected to call this API before calling any CUDA APIs that\naccept a CUcontext. Failing to do so will result in the APIs returning\n:py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`.\n\nParameters\n----------\nhCtx : :py:obj:`~.CUgreenCtx`\n    Green context to convert\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npContext : :py:obj:`~.CUcontext`\n    Returned primary context with green context resources\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_863cuCtxFromGreenCtx = {"cuCtxFromGreenCtx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_863cuCtxFromGreenCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_862cuCtxFromGreenCtx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_863cuCtxFromGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hCtx = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxFromGreenCtx (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hCtx,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45191, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45191, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxFromGreenCtx", 0) < (0)) __PYX_ERR(0, 45191, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxFromGreenCtx", 1, 1, 1, i); __PYX_ERR(0, 45191, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45191, __pyx_L3_error)
    }
    __pyx_v_hCtx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxFromGreenCtx", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 45191, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxFromGreenCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_862cuCtxFromGreenCtx(__pyx_self, __pyx_v_hCtx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_862cuCtxFromGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx) {
  CUgreenCtx __pyx_v_cyhCtx;
  PyObject *__pyx_v_phCtx = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pContext = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxFromGreenCtx", 0);

  /* "cuda/bindings/driver.pyx":45223
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45224
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
 *         phCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45223
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45225
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45226
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45225
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45228
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUcontext pContext = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45228, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45229
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUcontext pContext = CUcontext()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45229, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45230
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUcontext pContext = CUcontext()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxFromGreenCtx(<cydriver.CUcontext*>pContext._pvt_ptr, cyhCtx)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45230, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pContext = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":45231
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUcontext pContext = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxFromGreenCtx(<cydriver.CUcontext*>pContext._pvt_ptr, cyhCtx)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45232
 *     cdef CUcontext pContext = CUcontext()
 *     with nogil:
 *         err = cydriver.cuCtxFromGreenCtx(<cydriver.CUcontext*>pContext._pvt_ptr, cyhCtx)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxFromGreenCtx(((CUcontext *)__pyx_v_pContext->_pvt_ptr), __pyx_v_cyhCtx); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45232, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45231
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUcontext pContext = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxFromGreenCtx(<cydriver.CUcontext*>pContext._pvt_ptr, cyhCtx)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45233
 *     with nogil:
 *         err = cydriver.cuCtxFromGreenCtx(<cydriver.CUcontext*>pContext._pvt_ptr, cyhCtx)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pContext)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45234
 *         err = cydriver.cuCtxFromGreenCtx(<cydriver.CUcontext*>pContext._pvt_ptr, cyhCtx)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pContext)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45234, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 45234, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45233
 *     with nogil:
 *         err = cydriver.cuCtxFromGreenCtx(<cydriver.CUcontext*>pContext._pvt_ptr, cyhCtx)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pContext)
*/
  }

  /* "cuda/bindings/driver.pyx":45235
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pContext)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45235, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pContext);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pContext);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pContext)) != (0)) __PYX_ERR(0, 45235, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45191
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxFromGreenCtx(hCtx):
 *     """ Converts a green context into the primary context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxFromGreenCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XDECREF((PyObject *)__pyx_v_pContext);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45237
 *     return (_dict_CUresult[err], pContext)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDevResource(device, typename not None : CUdevResourceType):
 *     """ Get device resources.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_865cuDeviceGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_864cuDeviceGetDevResource, "cuDeviceGetDevResource(device, typename: CUdevResourceType)\n\nGet device resources.\n\nGet the `typename` resources available to the `device`. This may often\nbe the starting point for further partitioning or configuring of\nresources.\n\nNote: The API is not supported on 32-bit platforms.\n\nParameters\n----------\ndevice : :py:obj:`~.CUdevice`\n    Device to get resource for\ntypename : :py:obj:`~.CUdevResourceType`\n    Type of resource to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\nresource : :py:obj:`~.CUdevResource`\n    Output pointer to a :py:obj:`~.CUdevResource` structure\n\nSee Also\n--------\n:py:obj:`~.cuDevResourceGenerateDesc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_865cuDeviceGetDevResource = {"cuDeviceGetDevResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_865cuDeviceGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_864cuDeviceGetDevResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_865cuDeviceGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_device = 0;
  PyObject *__pyx_v_typename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetDevResource (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_device,&__pyx_mstate_global->__pyx_n_u_typename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45237, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetDevResource", 0) < (0)) __PYX_ERR(0, 45237, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetDevResource", 1, 2, 2, i); __PYX_ERR(0, 45237, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45237, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45237, __pyx_L3_error)
    }
    __pyx_v_device = values[0];
    __pyx_v_typename = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetDevResource", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 45237, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetDevResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 45238, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_864cuDeviceGetDevResource(__pyx_self, __pyx_v_device, __pyx_v_typename);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_864cuDeviceGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_typename) {
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_resource = 0;
  CUdevResourceType __pyx_v_cytypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  CUdevice __pyx_t_6;
  CUdevResourceType __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetDevResource", 0);

  /* "cuda/bindings/driver.pyx":45266
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45267
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45266
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45268
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45269
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45268
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45271
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUdevResource resource = CUdevResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45271, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45272
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 45272, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":45273
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUdevResource resource = CUdevResource()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45273, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":45274
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetDevResource(cydevice, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((CUdevResourceType)__Pyx_PyLong_As_CUdevResourceType(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 45274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cytypename = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":45275
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetDevResource(cydevice, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45276
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuDeviceGetDevResource(cydevice, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetDevResource(__pyx_v_cydevice, ((CUdevResource *)__pyx_v_resource->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytypename); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45276, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":45275
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetDevResource(cydevice, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45277
 *     with nogil:
 *         err = cydriver.cuDeviceGetDevResource(cydevice, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45278
 *         err = cydriver.cuDeviceGetDevResource(cydevice, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], resource)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45278, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 45278, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45277
 *     with nogil:
 *         err = cydriver.cuDeviceGetDevResource(cydevice, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)
*/
  }

  /* "cuda/bindings/driver.pyx":45279
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45279, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_resource)) != (0)) __PYX_ERR(0, 45279, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45237
 *     return (_dict_CUresult[err], pContext)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDevResource(device, typename not None : CUdevResourceType):
 *     """ Get device resources.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetDevResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_resource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45281
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get context resources.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_867cuCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_866cuCtxGetDevResource, "cuCtxGetDevResource(hCtx, typename: CUdevResourceType)\n\nGet context resources.\n\nGet the `typename` resources available to the context represented by\n`hCtx`  Note: The API is not supported on 32-bit platforms.\n\nParameters\n----------\nhCtx : :py:obj:`~.CUcontext`\n    Context to get resource for\ntypename : :py:obj:`~.CUdevResourceType`\n    Type of resource to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\nresource : :py:obj:`~.CUdevResource`\n    Output pointer to a :py:obj:`~.CUdevResource` structure\n\nSee Also\n--------\n:py:obj:`~.cuDevResourceGenerateDesc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_867cuCtxGetDevResource = {"cuCtxGetDevResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_867cuCtxGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_866cuCtxGetDevResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_867cuCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hCtx = 0;
  PyObject *__pyx_v_typename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxGetDevResource (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hCtx,&__pyx_mstate_global->__pyx_n_u_typename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45281, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45281, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxGetDevResource", 0) < (0)) __PYX_ERR(0, 45281, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxGetDevResource", 1, 2, 2, i); __PYX_ERR(0, 45281, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45281, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45281, __pyx_L3_error)
    }
    __pyx_v_hCtx = values[0];
    __pyx_v_typename = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetDevResource", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 45281, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetDevResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 45282, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_866cuCtxGetDevResource(__pyx_self, __pyx_v_hCtx, __pyx_v_typename);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_866cuCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename) {
  CUcontext __pyx_v_cyhCtx;
  PyObject *__pyx_v_phCtx = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_resource = 0;
  CUdevResourceType __pyx_v_cytypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUdevResourceType __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetDevResource", 0);

  /* "cuda/bindings/driver.pyx":45307
 *     """
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
*/
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45308
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:
 *         phCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45307
 *     """
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45309
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45310
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUcontext(hCtx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45309
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45312
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUcontext(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45312, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45313
 *     else:
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45313, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45314
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45314, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":45315
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((CUdevResourceType)__Pyx_PyLong_As_CUdevResourceType(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 45315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cytypename = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":45316
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45317
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetDevResource(__pyx_v_cyhCtx, ((CUdevResource *)__pyx_v_resource->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytypename); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45317, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":45316
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45318
 *     with nogil:
 *         err = cydriver.cuCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45319
 *         err = cydriver.cuCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], resource)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45319, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 45319, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45318
 *     with nogil:
 *         err = cydriver.cuCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)
*/
  }

  /* "cuda/bindings/driver.pyx":45320
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45320, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_resource)) != (0)) __PYX_ERR(0, 45320, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45281
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get context resources.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetDevResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XDECREF((PyObject *)__pyx_v_resource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45322
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get green context resources.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_869cuGreenCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_868cuGreenCtxGetDevResource, "cuGreenCtxGetDevResource(hCtx, typename: CUdevResourceType)\n\nGet green context resources.\n\nGet the `typename` resources available to the green context represented\nby `hCtx`\n\nParameters\n----------\nhCtx : :py:obj:`~.CUgreenCtx`\n    Green context to get resource for\ntypename : :py:obj:`~.CUdevResourceType`\n    Type of resource to retrieve\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\nresource : :py:obj:`~.CUdevResource`\n    Output pointer to a :py:obj:`~.CUdevResource` structure\n\nSee Also\n--------\n:py:obj:`~.cuDevResourceGenerateDesc`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_869cuGreenCtxGetDevResource = {"cuGreenCtxGetDevResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_869cuGreenCtxGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_868cuGreenCtxGetDevResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_869cuGreenCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hCtx = 0;
  PyObject *__pyx_v_typename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGreenCtxGetDevResource (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hCtx,&__pyx_mstate_global->__pyx_n_u_typename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45322, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45322, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45322, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGreenCtxGetDevResource", 0) < (0)) __PYX_ERR(0, 45322, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGreenCtxGetDevResource", 1, 2, 2, i); __PYX_ERR(0, 45322, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45322, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45322, __pyx_L3_error)
    }
    __pyx_v_hCtx = values[0];
    __pyx_v_typename = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxGetDevResource", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 45322, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxGetDevResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 45323, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_868cuGreenCtxGetDevResource(__pyx_self, __pyx_v_hCtx, __pyx_v_typename);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_868cuGreenCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename) {
  CUgreenCtx __pyx_v_cyhCtx;
  PyObject *__pyx_v_phCtx = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_resource = 0;
  CUdevResourceType __pyx_v_cytypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUdevResourceType __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxGetDevResource", 0);

  /* "cuda/bindings/driver.pyx":45348
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45349
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
 *         phCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45348
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45350
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45351
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45350
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45353
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45353, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45354
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45354, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45355
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45355, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":45356
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((CUdevResourceType)__Pyx_PyLong_As_CUdevResourceType(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 45356, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cytypename = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":45357
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45358
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuGreenCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxGetDevResource(__pyx_v_cyhCtx, ((CUdevResource *)__pyx_v_resource->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytypename); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45358, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":45357
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45359
 *     with nogil:
 *         err = cydriver.cuGreenCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45360
 *         err = cydriver.cuGreenCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], resource)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45360, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 45360, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45359
 *     with nogil:
 *         err = cydriver.cuGreenCtxGetDevResource(cyhCtx, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)
*/
  }

  /* "cuda/bindings/driver.pyx":45361
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45361, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_resource)) != (0)) __PYX_ERR(0, 45361, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45322
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get green context resources.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxGetDevResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XDECREF((PyObject *)__pyx_v_resource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45363
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int useFlags, unsigned int minCount):
 *     """ Splits `CU_DEV_RESOURCE_TYPE_SM` resources.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_871cuDevSmResourceSplitByCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_870cuDevSmResourceSplitByCount, "cuDevSmResourceSplitByCount(unsigned int nbGroups, CUdevResource input_: Optional[CUdevResource], unsigned int useFlags, unsigned int minCount)\n\nSplits `CU_DEV_RESOURCE_TYPE_SM` resources.\n\nSplits `CU_DEV_RESOURCE_TYPE_SM` resources into `nbGroups`, adhering to\nthe minimum SM count specified in `minCount` and the usage flags in\n`useFlags`. If `result` is NULL, the API simulates a split and provides\nthe amount of groups that would be created in `nbGroups`. Otherwise,\n`nbGroups` must point to the amount of elements in `result` and on\nreturn, the API will overwrite `nbGroups` with the amount actually\ncreated. The groups are written to the array in `result`. `nbGroups`\ncan be less than the total amount if a smaller number of groups is\nneeded.\n\nThis API is used to spatially partition the input resource. The input\nresource needs to come from one of :py:obj:`~.cuDeviceGetDevResource`,\n:py:obj:`~.cuCtxGetDevResource`, or\n:py:obj:`~.cuGreenCtxGetDevResource`. A limitation of the API is that\nthe output results cannot be split again without first creating a\ndescriptor and a green context with that descriptor.\n\nWhen creating the groups, the API will take into account the\nperformance and functional characteristics of the input resource, and\nguarantee a split that will create a disjoint set of symmetrical\npartitions. This may lead to fewer groups created than purely dividing\nthe total SM count by the `minCount` due to cluster requirements or\nalignment and granularity requirements for the minCount.\n\nThe `remainder` set does not have the same functional or performance\nguarantees as the groups in `result`. Its use should be carefully\nplanned and future partitions of the `remainder` set are discouraged.\n\nThe following flags are supported:\n\n- `CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING` : Lower the minimum\n  SM count and alignment, and treat each SM independent of its\n  hierarchy. This allows more fine grained partitions but at the cost\n  of a""dvanced features (such as large clusters on compute capability\n  9.0+).\n\n- `CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE` : Compute\n  Capability 9.0+ only. Attempt to create groups that may allow for\n  maximally sized thread clusters. This can be queried post green\n  context creation using\n  :py:obj:`~.cuOccupancyMaxPotentialClusterSize`.\n\nA successful API call must either have:\n\n- A valid array of `result` pointers of size passed in `nbGroups`, with\n  `input` of type `CU_DEV_RESOURCE_TYPE_SM`. Value of `minCount` must\n  be between 0 and the SM count specified in `input`. `remaining` may\n  be NULL.\n\n- NULL passed in for `result`, with a valid integer pointer in\n  `nbGroups` and `input` of type `CU_DEV_RESOURCE_TYPE_SM`. Value of\n  `minCount` must be between 0 and the SM count specified in `input`.\n  `remaining` may be NULL. This queries the number of groups that would\n  be created by the API.\n\nNote: The API is not supported on 32-bit platforms.\n\nParameters\n----------\nnbGroups : unsigned int\n    This is a pointer, specifying the number of groups that would be or\n    should be created as described below.\ninput : :py:obj:`~.CUdevResource`\n    Input SM resource to be split. Must be a valid\n    `CU_DEV_RESOURCE_TYPE_SM` resource.\nuseFlags : unsigned int\n    Flags specifying how these partitions are used or which constraints\n    to abide by when splitting the input. Zero is valid for default\n    behavior.\nminCount : unsigned int\n    Minimum number of SMs required\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION`\nresult : list[:py:obj:`~.CUdevResource`]\n    Output array of `None` resources. Can be NULL to query the number\n    of groups.\nnbGroups : unsigned int\n   "" This is a pointer, specifying the number of groups that would be or\n    should be created as described below.\nremaining : :py:obj:`~.CUdevResource`\n    If the input resource cannot be cleanly split among `nbGroups`, the\n    remaining is placed in here. Can be ommitted (NULL) if the user\n    does not need the remaining set.\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxGetDevResource`, :py:obj:`~.cuCtxGetDevResource`, :py:obj:`~.cuDeviceGetDevResource`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_871cuDevSmResourceSplitByCount = {"cuDevSmResourceSplitByCount", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_871cuDevSmResourceSplitByCount, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_870cuDevSmResourceSplitByCount};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_871cuDevSmResourceSplitByCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_nbGroups;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_input_ = 0;
  unsigned int __pyx_v_useFlags;
  unsigned int __pyx_v_minCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDevSmResourceSplitByCount (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nbGroups,&__pyx_mstate_global->__pyx_n_u_input,&__pyx_mstate_global->__pyx_n_u_useFlags,&__pyx_mstate_global->__pyx_n_u_minCount,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45363, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 45363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDevSmResourceSplitByCount", 0) < (0)) __PYX_ERR(0, 45363, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplitByCount", 1, 4, 4, i); __PYX_ERR(0, 45363, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45363, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45363, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45363, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 45363, __pyx_L3_error)
    }
    __pyx_v_nbGroups = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_nbGroups == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45364, __pyx_L3_error)
    __pyx_v_input_ = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)values[1]);
    __pyx_v_useFlags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_useFlags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45364, __pyx_L3_error)
    __pyx_v_minCount = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_minCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45364, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplitByCount", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 45363, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevSmResourceSplitByCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_input_), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, 1, "input_", 0))) __PYX_ERR(0, 45364, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_870cuDevSmResourceSplitByCount(__pyx_self, __pyx_v_nbGroups, __pyx_v_input_, __pyx_v_useFlags, __pyx_v_minCount);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_870cuDevSmResourceSplitByCount(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_nbGroups, struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_input_, unsigned int __pyx_v_useFlags, unsigned int __pyx_v_minCount) {
  CUdevResource *__pyx_v_cyresult;
  PyObject *__pyx_v_pyresult = NULL;
  unsigned int __pyx_v_cynbGroups;
  CUdevResource *__pyx_v_cyinput__ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_remaining = 0;
  CUresult __pyx_v_err;
  unsigned int __pyx_v_idx;
  CYTHON_UNUSED unsigned int __pyx_10genexpr343__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  unsigned int __pyx_t_2;
  unsigned int __pyx_t_3;
  unsigned int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  struct CUdevResource_st *__pyx_t_12;
  CUresult __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevSmResourceSplitByCount", 0);

  /* "cuda/bindings/driver.pyx":45458
 *     :py:obj:`~.cuGreenCtxGetDevResource`, :py:obj:`~.cuCtxGetDevResource`, :py:obj:`~.cuDeviceGetDevResource`
 *     """
 *     cdef cydriver.CUdevResource* cyresult = NULL             # <<<<<<<<<<<<<<
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]
 *     if nbGroups != 0:
*/
  __pyx_v_cyresult = NULL;

  /* "cuda/bindings/driver.pyx":45459
 *     """
 *     cdef cydriver.CUdevResource* cyresult = NULL
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]             # <<<<<<<<<<<<<<
 *     if nbGroups != 0:
 *         cyresult = <cydriver.CUdevResource*>calloc(nbGroups, sizeof(cydriver.CUdevResource))
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_nbGroups;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr343__pyx_v_idx = __pyx_t_4;
      __pyx_t_6 = NULL;
      __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource);
      __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource); 
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45459, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 45459, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_pyresult = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":45460
 *     cdef cydriver.CUdevResource* cyresult = NULL
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]
 *     if nbGroups != 0:             # <<<<<<<<<<<<<<
 *         cyresult = <cydriver.CUdevResource*>calloc(nbGroups, sizeof(cydriver.CUdevResource))
 *         if cyresult is NULL:
*/
  __pyx_t_9 = (__pyx_v_nbGroups != 0);
  if (__pyx_t_9) {

    /* "cuda/bindings/driver.pyx":45461
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]
 *     if nbGroups != 0:
 *         cyresult = <cydriver.CUdevResource*>calloc(nbGroups, sizeof(cydriver.CUdevResource))             # <<<<<<<<<<<<<<
 *         if cyresult is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(cydriver.CUdevResource)))
*/
    __pyx_v_cyresult = ((CUdevResource *)calloc(__pyx_v_nbGroups, (sizeof(CUdevResource))));

    /* "cuda/bindings/driver.pyx":45462
 *     if nbGroups != 0:
 *         cyresult = <cydriver.CUdevResource*>calloc(nbGroups, sizeof(cydriver.CUdevResource))
 *         if cyresult is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *     cdef unsigned int cynbGroups = nbGroups
*/
    __pyx_t_9 = (__pyx_v_cyresult == NULL);
    if (unlikely(__pyx_t_9)) {

      /* "cuda/bindings/driver.pyx":45463
 *         cyresult = <cydriver.CUdevResource*>calloc(nbGroups, sizeof(cydriver.CUdevResource))
 *         if cyresult is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(cydriver.CUdevResource)))             # <<<<<<<<<<<<<<
 *     cdef unsigned int cynbGroups = nbGroups
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
*/
      __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_7 = __pyx_builtin_MemoryError; 
      __pyx_t_6 = __Pyx_PyLong_From_unsigned_int(__pyx_v_nbGroups); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45463, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 45463, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45463, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 45463, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyLong_FromSize_t((sizeof(CUdevResource))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45463, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 45463, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45463, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45463, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 45463, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":45462
 *     if nbGroups != 0:
 *         cyresult = <cydriver.CUdevResource*>calloc(nbGroups, sizeof(cydriver.CUdevResource))
 *         if cyresult is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *     cdef unsigned int cynbGroups = nbGroups
*/
    }

    /* "cuda/bindings/driver.pyx":45460
 *     cdef cydriver.CUdevResource* cyresult = NULL
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]
 *     if nbGroups != 0:             # <<<<<<<<<<<<<<
 *         cyresult = <cydriver.CUdevResource*>calloc(nbGroups, sizeof(cydriver.CUdevResource))
 *         if cyresult is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":45464
 *         if cyresult is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *     cdef unsigned int cynbGroups = nbGroups             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remaining = CUdevResource()
*/
  __pyx_v_cynbGroups = __pyx_v_nbGroups;

  /* "cuda/bindings/driver.pyx":45465
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *     cdef unsigned int cynbGroups = nbGroups
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef CUdevResource remaining = CUdevResource()
 *     with nogil:
*/
  __pyx_t_9 = (((PyObject *)__pyx_v_input_) != Py_None);
  if (__pyx_t_9) {
    __pyx_t_12 = __pyx_v_input_->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_12 = NULL;
  }
  __pyx_v_cyinput__ptr = __pyx_t_12;

  /* "cuda/bindings/driver.pyx":45466
 *     cdef unsigned int cynbGroups = nbGroups
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remaining = CUdevResource()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remaining._pvt_ptr, useFlags, minCount)
*/
  __pyx_t_7 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource); 
  __pyx_t_8 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45466, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_remaining = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":45467
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remaining = CUdevResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remaining._pvt_ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45468
 *     cdef CUdevResource remaining = CUdevResource()
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remaining._pvt_ptr, useFlags, minCount)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         for idx in range(nbGroups):
*/
        __pyx_t_13 = __pyx_f_4cuda_8bindings_8cydriver_cuDevSmResourceSplitByCount(__pyx_v_cyresult, (&__pyx_v_cynbGroups), __pyx_v_cyinput__ptr, ((CUdevResource *)__pyx_v_remaining->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_useFlags, __pyx_v_minCount); if (unlikely(__pyx_t_13 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45468, __pyx_L8_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":45467
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remaining = CUdevResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remaining._pvt_ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/bindings/driver.pyx":45469
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remaining._pvt_ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._pvt_ptr, &cyresult[idx], sizeof(cydriver.CUdevResource))
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 45469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_9) {

    /* "cuda/bindings/driver.pyx":45470
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remaining._pvt_ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):
 *         for idx in range(nbGroups):             # <<<<<<<<<<<<<<
 *             string.memcpy((<CUdevResource>pyresult[idx])._pvt_ptr, &cyresult[idx], sizeof(cydriver.CUdevResource))
 *     if cyresult is not NULL:
*/
    __pyx_t_2 = __pyx_v_nbGroups;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_idx = __pyx_t_4;

      /* "cuda/bindings/driver.pyx":45471
 *     if CUresult(err) == CUresult(0):
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._pvt_ptr, &cyresult[idx], sizeof(cydriver.CUdevResource))             # <<<<<<<<<<<<<<
 *     if cyresult is not NULL:
 *         free(cyresult)
*/
      __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_pyresult, __pyx_v_idx, unsigned int, 0, __Pyx_PyLong_From_unsigned_int, 1, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45471, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      (void)(memcpy(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_6)->__pyx_base.__pyx_base._pvt_ptr, (&(__pyx_v_cyresult[__pyx_v_idx])), (sizeof(CUdevResource))));
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }

    /* "cuda/bindings/driver.pyx":45469
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remaining._pvt_ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._pvt_ptr, &cyresult[idx], sizeof(cydriver.CUdevResource))
*/
  }

  /* "cuda/bindings/driver.pyx":45472
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._pvt_ptr, &cyresult[idx], sizeof(cydriver.CUdevResource))
 *     if cyresult is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_9 = (__pyx_v_cyresult != NULL);
  if (__pyx_t_9) {

    /* "cuda/bindings/driver.pyx":45473
 *             string.memcpy((<CUdevResource>pyresult[idx])._pvt_ptr, &cyresult[idx], sizeof(cydriver.CUdevResource))
 *     if cyresult is not NULL:
 *         free(cyresult)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
*/
    free(__pyx_v_cyresult);

    /* "cuda/bindings/driver.pyx":45472
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._pvt_ptr, &cyresult[idx], sizeof(cydriver.CUdevResource))
 *     if cyresult is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":45474
 *     if cyresult is not NULL:
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remaining)
*/
  __pyx_t_9 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_9) {

    /* "cuda/bindings/driver.pyx":45475
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remaining)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 45475, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, Py_None) != (0)) __PYX_ERR(0, 45475, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, Py_None) != (0)) __PYX_ERR(0, 45475, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, Py_None) != (0)) __PYX_ERR(0, 45475, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45474
 *     if cyresult is not NULL:
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remaining)
*/
  }

  /* "cuda/bindings/driver.pyx":45476
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remaining)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_cynbGroups); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 45476, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyresult);
  __Pyx_GIVEREF(__pyx_v_pyresult);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pyresult) != (0)) __PYX_ERR(0, 45476, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_1) != (0)) __PYX_ERR(0, 45476, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_remaining);
  __Pyx_GIVEREF((PyObject *)__pyx_v_remaining);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, ((PyObject *)__pyx_v_remaining)) != (0)) __PYX_ERR(0, 45476, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45363
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int useFlags, unsigned int minCount):
 *     """ Splits `CU_DEV_RESOURCE_TYPE_SM` resources.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevSmResourceSplitByCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyresult);
  __Pyx_XDECREF((PyObject *)__pyx_v_remaining);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45478
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[tuple[CUdevResource] | list[CUdevResource]], unsigned int nbResources):
 *     """ Generate a resource descriptor.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_873cuDevResourceGenerateDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_872cuDevResourceGenerateDesc, "cuDevResourceGenerateDesc(resources: Optional[tuple[CUdevResource] | list[CUdevResource]], unsigned int nbResources)\n\nGenerate a resource descriptor.\n\nGenerates a single resource descriptor with the set of resources\nspecified in `resources`. The generated resource descriptor is\nnecessary for the creation of green contexts via the\n:py:obj:`~.cuGreenCtxCreate` API. Resources of the same type can be\npassed in, provided they meet the requirements as noted below.\n\nA successful API call must have:\n\n- A valid output pointer for the `phDesc` descriptor as well as a valid\n  array of `resources` pointers, with the array size passed in\n  `nbResources`. If multiple resources are provided in `resources`, the\n  device they came from must be the same, otherwise\n  CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION is returned. If multiple\n  resources are provided in `resources` and they are of type\n  :py:obj:`~.CU_DEV_RESOURCE_TYPE_SM`, they must be outputs (whether\n  `result` or `remaining`) from the same split API instance, otherwise\n  CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION is returned.\n\nNote: The API is not supported on 32-bit platforms.\n\nParameters\n----------\nresources : list[:py:obj:`~.CUdevResource`]\n    Array of resources to be included in the descriptor\nnbResources : unsigned int\n    Number of resources passed in `resources`\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION`\nphDesc : :py:obj:`~.CUdevResourceDesc`\n    Output descriptor\n\nSee Also\n--------\n:py:obj:`~.cuDevSmResourceSplitByCount`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_873cuDevResourceGenerateDesc = {"cuDevResourceGenerateDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_873cuDevResourceGenerateDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_872cuDevResourceGenerateDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_873cuDevResourceGenerateDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_resources = 0;
  unsigned int __pyx_v_nbResources;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDevResourceGenerateDesc (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_resources,&__pyx_mstate_global->__pyx_n_u_nbResources,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45478, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDevResourceGenerateDesc", 0) < (0)) __PYX_ERR(0, 45478, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDevResourceGenerateDesc", 1, 2, 2, i); __PYX_ERR(0, 45478, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45478, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45478, __pyx_L3_error)
    }
    __pyx_v_resources = values[0];
    __pyx_v_nbResources = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_nbResources == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45479, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevResourceGenerateDesc", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 45478, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevResourceGenerateDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_872cuDevResourceGenerateDesc(__pyx_self, __pyx_v_resources, __pyx_v_nbResources);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuDevResourceGenerateDesc_2generator184(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":45521
 *     """
 *     resources = [] if resources is None else resources
 *     if not all(isinstance(_x, (CUdevResource,)) for _x in resources):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25cuDevResourceGenerateDesc_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 45521, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_8bindings_6driver_25cuDevResourceGenerateDesc_2generator184, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[184]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuDevResourceGenerateDesc_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 45521, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevResourceGenerateDesc.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuDevResourceGenerateDesc_2generator184(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 45521, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 45521, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45521, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 45521, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRef(__pyx_t_1, __pyx_t_2);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 45521, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45521, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 45521, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource); 
    __pyx_t_6 = (!__pyx_t_5);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45478
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[tuple[CUdevResource] | list[CUdevResource]], unsigned int nbResources):
 *     """ Generate a resource descriptor.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_872cuDevResourceGenerateDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resources, unsigned int __pyx_v_nbResources) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_phDesc = 0;
  CUdevResource *__pyx_v_cyresources;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuDevResourceGenerateDesc_2generator184 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  struct CUdevResource_st *__pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevResourceGenerateDesc", 0);
  __Pyx_INCREF(__pyx_v_resources);

  /* "cuda/bindings/driver.pyx":45520
 *     :py:obj:`~.cuDevSmResourceSplitByCount`
 *     """
 *     resources = [] if resources is None else resources             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUdevResource,)) for _x in resources):
 *         raise TypeError("Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]")
*/
  __pyx_t_2 = (__pyx_v_resources == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_resources);
    __pyx_t_1 = __pyx_v_resources;
  }
  __Pyx_DECREF_SET(__pyx_v_resources, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":45521
 *     """
 *     resources = [] if resources is None else resources
 *     if not all(isinstance(_x, (CUdevResource,)) for _x in resources):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
*/
  __pyx_t_1 = __pyx_pf_4cuda_8bindings_6driver_25cuDevResourceGenerateDesc_genexpr(NULL, __pyx_v_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 45521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/bindings/driver.pyx":45522
 *     resources = [] if resources is None else resources
 *     if not all(isinstance(_x, (CUdevResource,)) for _x in resources):
 *         raise TypeError("Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]")             # <<<<<<<<<<<<<<
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef cydriver.CUdevResource* cyresources = NULL
*/
    __pyx_t_1 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_5 = __pyx_builtin_TypeError; 
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_resources_is_not_instan_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 45522, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":45521
 *     """
 *     resources = [] if resources is None else resources
 *     if not all(isinstance(_x, (CUdevResource,)) for _x in resources):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
*/
  }

  /* "cuda/bindings/driver.pyx":45523
 *     if not all(isinstance(_x, (CUdevResource,)) for _x in resources):
 *         raise TypeError("Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevResource* cyresources = NULL
 *     if len(resources) > 1:
*/
  __pyx_t_5 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc);
  __pyx_t_1 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc); 
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45523, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":45524
 *         raise TypeError("Argument 'resources' is not instance of type (expected tuple[cydriver.CUdevResource,] or list[cydriver.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef cydriver.CUdevResource* cyresources = NULL             # <<<<<<<<<<<<<<
 *     if len(resources) > 1:
 *         cyresources = <cydriver.CUdevResource*> calloc(len(resources), sizeof(cydriver.CUdevResource))
*/
  __pyx_v_cyresources = NULL;

  /* "cuda/bindings/driver.pyx":45525
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef cydriver.CUdevResource* cyresources = NULL
 *     if len(resources) > 1:             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUdevResource*> calloc(len(resources), sizeof(cydriver.CUdevResource))
 *         if cyresources is NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 45525, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":45526
 *     cdef cydriver.CUdevResource* cyresources = NULL
 *     if len(resources) > 1:
 *         cyresources = <cydriver.CUdevResource*> calloc(len(resources), sizeof(cydriver.CUdevResource))             # <<<<<<<<<<<<<<
 *         if cyresources is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(cydriver.CUdevResource)))
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 45526, __pyx_L1_error)
    __pyx_v_cyresources = ((CUdevResource *)calloc(__pyx_t_7, (sizeof(CUdevResource))));

    /* "cuda/bindings/driver.pyx":45527
 *     if len(resources) > 1:
 *         cyresources = <cydriver.CUdevResource*> calloc(len(resources), sizeof(cydriver.CUdevResource))
 *         if cyresources is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *         for idx in range(len(resources)):
*/
    __pyx_t_4 = (__pyx_v_cyresources == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/bindings/driver.pyx":45528
 *         cyresources = <cydriver.CUdevResource*> calloc(len(resources), sizeof(cydriver.CUdevResource))
 *         if cyresources is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(cydriver.CUdevResource)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(resources)):
 *             string.memcpy(&cyresources[idx], (<CUdevResource>resources[idx])._pvt_ptr, sizeof(cydriver.CUdevResource))
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_5 = __pyx_builtin_MemoryError; 
      __pyx_t_7 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 45528, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 45528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 45528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyLong_FromSize_t((sizeof(CUdevResource))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 45528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45528, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 45528, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":45527
 *     if len(resources) > 1:
 *         cyresources = <cydriver.CUdevResource*> calloc(len(resources), sizeof(cydriver.CUdevResource))
 *         if cyresources is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *         for idx in range(len(resources)):
*/
    }

    /* "cuda/bindings/driver.pyx":45529
 *         if cyresources is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *         for idx in range(len(resources)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyresources[idx], (<CUdevResource>resources[idx])._pvt_ptr, sizeof(cydriver.CUdevResource))
 *     elif len(resources) == 1:
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 45529, __pyx_L1_error)
    __pyx_t_11 = __pyx_t_7;
    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
      __pyx_v_idx = __pyx_t_12;

      /* "cuda/bindings/driver.pyx":45530
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *         for idx in range(len(resources)):
 *             string.memcpy(&cyresources[idx], (<CUdevResource>resources[idx])._pvt_ptr, sizeof(cydriver.CUdevResource))             # <<<<<<<<<<<<<<
 *     elif len(resources) == 1:
 *         cyresources = (<CUdevResource>resources[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_resources, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45530, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cyresources[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUdevResource))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":45525
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef cydriver.CUdevResource* cyresources = NULL
 *     if len(resources) > 1:             # <<<<<<<<<<<<<<
 *         cyresources = <cydriver.CUdevResource*> calloc(len(resources), sizeof(cydriver.CUdevResource))
 *         if cyresources is NULL:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":45531
 *         for idx in range(len(resources)):
 *             string.memcpy(&cyresources[idx], (<CUdevResource>resources[idx])._pvt_ptr, sizeof(cydriver.CUdevResource))
 *     elif len(resources) == 1:             # <<<<<<<<<<<<<<
 *         cyresources = (<CUdevResource>resources[0])._pvt_ptr
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 45531, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":45532
 *             string.memcpy(&cyresources[idx], (<CUdevResource>resources[idx])._pvt_ptr, sizeof(cydriver.CUdevResource))
 *     elif len(resources) == 1:
 *         cyresources = (<CUdevResource>resources[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 *     with nogil:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_resources, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cyresources = __pyx_t_13;

    /* "cuda/bindings/driver.pyx":45531
 *         for idx in range(len(resources)):
 *             string.memcpy(&cyresources[idx], (<CUdevResource>resources[idx])._pvt_ptr, sizeof(cydriver.CUdevResource))
 *     elif len(resources) == 1:             # <<<<<<<<<<<<<<
 *         cyresources = (<CUdevResource>resources[0])._pvt_ptr
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
*/
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":45533
 *     elif len(resources) == 1:
 *         cyresources = (<CUdevResource>resources[0])._pvt_ptr
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevResourceGenerateDesc(<cydriver.CUdevResourceDesc*>phDesc._pvt_ptr, cyresources, nbResources)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 45533, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_nbResources > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_builtin_RuntimeError);
    __pyx_t_8 = __pyx_builtin_RuntimeError; 
    __pyx_t_7 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 45533, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 45533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 45533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_nbResources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 45533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_1};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45533, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 45533, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":45534
 *         cyresources = (<CUdevResource>resources[0])._pvt_ptr
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevResourceGenerateDesc(<cydriver.CUdevResourceDesc*>phDesc._pvt_ptr, cyresources, nbResources)
 *     if len(resources) > 1 and cyresources is not NULL:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45535
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 *     with nogil:
 *         err = cydriver.cuDevResourceGenerateDesc(<cydriver.CUdevResourceDesc*>phDesc._pvt_ptr, cyresources, nbResources)             # <<<<<<<<<<<<<<
 *     if len(resources) > 1 and cyresources is not NULL:
 *         free(cyresources)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuDevResourceGenerateDesc(((CUdevResourceDesc *)__pyx_v_phDesc->_pvt_ptr), __pyx_v_cyresources, __pyx_v_nbResources); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45535, __pyx_L10_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":45534
 *         cyresources = (<CUdevResource>resources[0])._pvt_ptr
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevResourceGenerateDesc(<cydriver.CUdevResourceDesc*>phDesc._pvt_ptr, cyresources, nbResources)
 *     if len(resources) > 1 and cyresources is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L11;
        }
        __pyx_L10_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L11:;
      }
  }

  /* "cuda/bindings/driver.pyx":45536
 *     with nogil:
 *         err = cydriver.cuDevResourceGenerateDesc(<cydriver.CUdevResourceDesc*>phDesc._pvt_ptr, cyresources, nbResources)
 *     if len(resources) > 1 and cyresources is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyresources)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 45536, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_4 = __pyx_t_2;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_cyresources != NULL);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L13_bool_binop_done:;
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":45537
 *         err = cydriver.cuDevResourceGenerateDesc(<cydriver.CUdevResourceDesc*>phDesc._pvt_ptr, cyresources, nbResources)
 *     if len(resources) > 1 and cyresources is not NULL:
 *         free(cyresources)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cyresources);

    /* "cuda/bindings/driver.pyx":45536
 *     with nogil:
 *         err = cydriver.cuDevResourceGenerateDesc(<cydriver.CUdevResourceDesc*>phDesc._pvt_ptr, cyresources, nbResources)
 *     if len(resources) > 1 and cyresources is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyresources)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":45538
 *     if len(resources) > 1 and cyresources is not NULL:
 *         free(cyresources)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phDesc)
*/
  __pyx_t_4 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":45539
 *         free(cyresources)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phDesc)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 45539, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, Py_None) != (0)) __PYX_ERR(0, 45539, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45538
 *     if len(resources) > 1 and cyresources is not NULL:
 *         free(cyresources)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phDesc)
*/
  }

  /* "cuda/bindings/driver.pyx":45540
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 45540, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_phDesc)) != (0)) __PYX_ERR(0, 45540, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45478
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[tuple[CUdevResource] | list[CUdevResource]], unsigned int nbResources):
 *     """ Generate a resource descriptor.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevResourceGenerateDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phDesc);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuDevResourceGenerateDesc_2generator184);
  __Pyx_XDECREF(__pyx_v_resources);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45542
 *     return (_dict_CUresult[err], phDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_875cuGreenCtxRecordEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_874cuGreenCtxRecordEvent, "cuGreenCtxRecordEvent(hCtx, hEvent)\n\nRecords an event.\n\nCaptures in `hEvent` all the activities of the green context of `hCtx`\nat the time of this call. `hEvent` and `hCtx` must be from the same\nprimary context otherwise :py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is\nreturned. Calls such as :py:obj:`~.cuEventQuery()` or\n:py:obj:`~.cuGreenCtxWaitEvent()` will then examine or wait for\ncompletion of the work that was captured. Uses of `hCtx` after this\ncall do not modify `hEvent`.\n\nParameters\n----------\nhCtx : :py:obj:`~.CUgreenCtx`\n    Green context to record event for\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to record\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxWaitEvent`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuCtxRecordEvent`, :py:obj:`~.cuCtxWaitEvent`\n\nNotes\n-----\nThe API will return :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED` if the specified green context `hCtx` has a stream in the capture mode. In such a case, the call will invalidate all the conflicting captures.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_875cuGreenCtxRecordEvent = {"cuGreenCtxRecordEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_875cuGreenCtxRecordEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_874cuGreenCtxRecordEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_875cuGreenCtxRecordEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hCtx = 0;
  PyObject *__pyx_v_hEvent = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGreenCtxRecordEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hCtx,&__pyx_mstate_global->__pyx_n_u_hEvent,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45542, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45542, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45542, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGreenCtxRecordEvent", 0) < (0)) __PYX_ERR(0, 45542, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGreenCtxRecordEvent", 1, 2, 2, i); __PYX_ERR(0, 45542, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45542, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45542, __pyx_L3_error)
    }
    __pyx_v_hCtx = values[0];
    __pyx_v_hEvent = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxRecordEvent", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 45542, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxRecordEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_874cuGreenCtxRecordEvent(__pyx_self, __pyx_v_hCtx, __pyx_v_hEvent);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_874cuGreenCtxRecordEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUgreenCtx __pyx_v_cyhCtx;
  PyObject *__pyx_v_phCtx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxRecordEvent", 0);

  /* "cuda/bindings/driver.pyx":45575
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45576
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45575
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45577
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45578
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45577
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45580
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUgreenCtx cyhCtx
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45580, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45581
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45581, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45583
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45584
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
 *         phCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45583
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":45585
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45586
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":45585
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":45588
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hCtx};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45588, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":45589
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45589, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45590
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45591
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxRecordEvent(__pyx_v_cyhCtx, __pyx_v_cyhEvent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45591, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45590
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":45592
 *     with nogil:
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45592, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45542
 *     return (_dict_CUresult[err], phDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxRecordEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45594
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxWaitEvent(hCtx, hEvent):
 *     """ Make a green context wait on an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_877cuGreenCtxWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_876cuGreenCtxWaitEvent, "cuGreenCtxWaitEvent(hCtx, hEvent)\n\nMake a green context wait on an event.\n\nMakes all future work submitted to green context `hCtx` wait for all\nwork captured in `hEvent`. The synchronization will be performed on the\ndevice and will not block the calling CPU thread. See\n:py:obj:`~.cuGreenCtxRecordEvent()` or :py:obj:`~.cuEventRecord()`, for\ndetails on what is captured by an event.\n\nParameters\n----------\nhCtx : :py:obj:`~.CUgreenCtx`\n    Green context to wait\nhEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n    Event to wait on\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxRecordEvent`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuCtxRecordEvent`, :py:obj:`~.cuCtxWaitEvent`\n\nNotes\n-----\n`hEvent` may be from a different context or device than `hCtx`.\n\nThe API will return :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED` and invalidate the capture if the specified event `hEvent` is part of an ongoing capture sequence or if the specified green context `hCtx` has a stream in the capture mode.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_877cuGreenCtxWaitEvent = {"cuGreenCtxWaitEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_877cuGreenCtxWaitEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_876cuGreenCtxWaitEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_877cuGreenCtxWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hCtx = 0;
  PyObject *__pyx_v_hEvent = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGreenCtxWaitEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hCtx,&__pyx_mstate_global->__pyx_n_u_hEvent,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45594, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45594, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45594, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGreenCtxWaitEvent", 0) < (0)) __PYX_ERR(0, 45594, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGreenCtxWaitEvent", 1, 2, 2, i); __PYX_ERR(0, 45594, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45594, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45594, __pyx_L3_error)
    }
    __pyx_v_hCtx = values[0];
    __pyx_v_hEvent = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxWaitEvent", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 45594, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_876cuGreenCtxWaitEvent(__pyx_self, __pyx_v_hCtx, __pyx_v_hEvent);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_876cuGreenCtxWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_cyhEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUgreenCtx __pyx_v_cyhCtx;
  PyObject *__pyx_v_phCtx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxWaitEvent", 0);

  /* "cuda/bindings/driver.pyx":45627
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45628
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
 *         phEvent = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phEvent = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45627
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45629
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45630
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45629
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45632
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUgreenCtx cyhCtx
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45632, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45633
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45633, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45635
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45636
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
 *         phCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45635
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":45637
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45638
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":45637
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":45640
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hCtx};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45640, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":45641
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45641, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45642
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45643
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxWaitEvent(__pyx_v_cyhCtx, __pyx_v_cyhEvent); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45643, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45642
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":45644
 *     with nogil:
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45644, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45594
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxWaitEvent(hCtx, hEvent):
 *     """ Make a green context wait on an event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetGreenCtx(hStream):
 *     """ Query the green context associated with a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_879cuStreamGetGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_878cuStreamGetGreenCtx, "cuStreamGetGreenCtx(hStream)\n\nQuery the green context associated with a stream.\n\nReturns the CUDA green context that the stream is associated with, or\nNULL if the stream is not associated with any green context.\n\nThe stream handle `hStream` can refer to any of the following:\n\n- a stream created via any of the CUDA driver APIs such as\n  :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamCreateWithPriority`\n  and :py:obj:`~.cuGreenCtxStreamCreate`, or their runtime API\n  equivalents such as :py:obj:`~.cudaStreamCreate`,\n  :py:obj:`~.cudaStreamCreateWithFlags` and\n  :py:obj:`~.cudaStreamCreateWithPriority`. If during stream creation\n  the context that was active in the calling thread was obtained with\n  cuCtxFromGreenCtx, that green context is returned in `phCtx`.\n  Otherwise, `*phCtx` is set to NULL instead.\n\n- special stream such as the NULL stream or\n  :py:obj:`~.CU_STREAM_LEGACY`. In that case if context that is active\n  in the calling thread was obtained with cuCtxFromGreenCtx, that green\n  context is returned. Otherwise, `*phCtx` is set to NULL instead.\n\nPassing an invalid handle will result in undefined behavior.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Handle to the stream to be queried\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`,\nphCtx : :py:obj:`~.CUgreenCtx`\n    Returned green context associated with the stream\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetCtx_v2`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamGetDevice`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`""~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_879cuStreamGetGreenCtx = {"cuStreamGetGreenCtx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_879cuStreamGetGreenCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_878cuStreamGetGreenCtx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_879cuStreamGetGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetGreenCtx (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_hStream_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45646, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45646, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetGreenCtx", 0) < (0)) __PYX_ERR(0, 45646, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetGreenCtx", 1, 1, 1, i); __PYX_ERR(0, 45646, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45646, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetGreenCtx", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 45646, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetGreenCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_878cuStreamGetGreenCtx(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_878cuStreamGetGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_phCtx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetGreenCtx", 0);

  /* "cuda/bindings/driver.pyx":45689
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45690
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
 *         phStream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_phStream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45689
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45691
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45692
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45691
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45694
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45694, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45694, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45695
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45695, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45696
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgreenCtx phCtx = CUgreenCtx()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetGreenCtx(cyhStream, <cydriver.CUgreenCtx*>phCtx._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45696, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":45697
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetGreenCtx(cyhStream, <cydriver.CUgreenCtx*>phCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45698
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:
 *         err = cydriver.cuStreamGetGreenCtx(cyhStream, <cydriver.CUgreenCtx*>phCtx._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetGreenCtx(__pyx_v_cyhStream, ((CUgreenCtx *)__pyx_v_phCtx->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45698, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45697
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetGreenCtx(cyhStream, <cydriver.CUgreenCtx*>phCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45699
 *     with nogil:
 *         err = cydriver.cuStreamGetGreenCtx(cyhStream, <cydriver.CUgreenCtx*>phCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phCtx)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45700
 *         err = cydriver.cuStreamGetGreenCtx(cyhStream, <cydriver.CUgreenCtx*>phCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phCtx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45700, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 45700, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45699
 *     with nogil:
 *         err = cydriver.cuStreamGetGreenCtx(cyhStream, <cydriver.CUgreenCtx*>phCtx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phCtx)
*/
  }

  /* "cuda/bindings/driver.pyx":45701
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phCtx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45701, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phCtx)) != (0)) __PYX_ERR(0, 45701, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetGreenCtx(hStream):
 *     """ Query the green context associated with a stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetGreenCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_phCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45703
 *     return (_dict_CUresult[err], phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxStreamCreate(greenCtx, unsigned int flags, int priority):
 *     """ Create a stream for use in the green context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_881cuGreenCtxStreamCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_880cuGreenCtxStreamCreate, "cuGreenCtxStreamCreate(greenCtx, unsigned int flags, int priority)\n\nCreate a stream for use in the green context.\n\nCreates a stream for use in the specified green context `greenCtx` and\nreturns a handle in `phStream`. The stream can be destroyed by calling\n:py:obj:`~.cuStreamDestroy()`. Note that the API ignores the context\nthat is current to the calling thread and creates a stream in the\nspecified green context `greenCtx`.\n\nThe supported values for `flags` are:\n\n- :py:obj:`~.CU_STREAM_NON_BLOCKING`: This must be specified. It\n  indicates that work running in the created stream may run\n  concurrently with work in the default stream, and that the created\n  stream should perform no implicit synchronization with the default\n  stream.\n\nSpecifying `priority` affects the scheduling priority of work in the\nstream. Priorities provide a hint to preferentially run work with\nhigher priority when possible, but do not preempt already-running work\nor provide any other functional guarantee on execution order.\n`priority` follows a convention where lower numbers represent higher\npriorities. '0' represents default priority. The range of meaningful\nnumerical priorities can be queried using\n:py:obj:`~.cuCtxGetStreamPriorityRange`. If the specified priority is\noutside the numerical range returned by\n:py:obj:`~.cuCtxGetStreamPriorityRange`, it will automatically be\nclamped to the lowest or the highest number in the range.\n\nParameters\n----------\ngreenCtx : :py:obj:`~.CUgreenCtx`\n    Green context for which to create the stream for\nflags : unsigned int\n    Flags for stream creation. `CU_STREAM_NON_BLOCKING` must be\n    specified.\npriority : int\n    Stream priority. Lower numbers represent higher priorities. See\n    :py:obj:`~.cuCtxGetStreamPriorityRange` for more information about\n    meaningful stream priorities that can be passed.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERRO""R_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nphStream : :py:obj:`~.CUstream`\n    Returned newly created stream\n\nSee Also\n--------\n:py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuGreenCtxCreate` :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamGetDevice`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreateWithPriority`\n\nNotes\n-----\nIn the current implementation, only compute kernels launched in priority streams are affected by the stream's priority. Stream priorities have no effect on host-to-device and device-to-host memory operations.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_881cuGreenCtxStreamCreate = {"cuGreenCtxStreamCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_881cuGreenCtxStreamCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_880cuGreenCtxStreamCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_881cuGreenCtxStreamCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_greenCtx = 0;
  unsigned int __pyx_v_flags;
  int __pyx_v_priority;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGreenCtxStreamCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_greenCtx,&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_priority_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45703, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45703, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45703, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45703, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGreenCtxStreamCreate", 0) < (0)) __PYX_ERR(0, 45703, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGreenCtxStreamCreate", 1, 3, 3, i); __PYX_ERR(0, 45703, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45703, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45703, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45703, __pyx_L3_error)
    }
    __pyx_v_greenCtx = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45704, __pyx_L3_error)
    __pyx_v_priority = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45704, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxStreamCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 45703, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxStreamCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_880cuGreenCtxStreamCreate(__pyx_self, __pyx_v_greenCtx, __pyx_v_flags, __pyx_v_priority);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_880cuGreenCtxStreamCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_greenCtx, unsigned int __pyx_v_flags, int __pyx_v_priority) {
  CUgreenCtx __pyx_v_cygreenCtx;
  PyObject *__pyx_v_pgreenCtx = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_phStream = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxStreamCreate", 0);

  /* "cuda/bindings/driver.pyx":45761
 *     """
 *     cdef cydriver.CUgreenCtx cygreenCtx
 *     if greenCtx is None:             # <<<<<<<<<<<<<<
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):
*/
  __pyx_t_1 = (__pyx_v_greenCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45762
 *     cdef cydriver.CUgreenCtx cygreenCtx
 *     if greenCtx is None:
 *         pgreenCtx = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(greenCtx, (CUgreenCtx,)):
 *         pgreenCtx = int(greenCtx)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pgreenCtx = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45761
 *     """
 *     cdef cydriver.CUgreenCtx cygreenCtx
 *     if greenCtx is None:             # <<<<<<<<<<<<<<
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45763
 *     if greenCtx is None:
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         pgreenCtx = int(greenCtx)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_greenCtx, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45764
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):
 *         pgreenCtx = int(greenCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         pgreenCtx = int(CUgreenCtx(greenCtx))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_greenCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pgreenCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45763
 *     if greenCtx is None:
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         pgreenCtx = int(greenCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45766
 *         pgreenCtx = int(greenCtx)
 *     else:
 *         pgreenCtx = int(CUgreenCtx(greenCtx))             # <<<<<<<<<<<<<<
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef CUstream phStream = CUstream()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_greenCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45766, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pgreenCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45767
 *     else:
 *         pgreenCtx = int(CUgreenCtx(greenCtx))
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx             # <<<<<<<<<<<<<<
 *     cdef CUstream phStream = CUstream()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgreenCtx); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45767, __pyx_L1_error)
  __pyx_v_cygreenCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45768
 *         pgreenCtx = int(CUgreenCtx(greenCtx))
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef CUstream phStream = CUstream()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, cygreenCtx, flags, priority)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45768, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":45769
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef CUstream phStream = CUstream()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, cygreenCtx, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45770
 *     cdef CUstream phStream = CUstream()
 *     with nogil:
 *         err = cydriver.cuGreenCtxStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, cygreenCtx, flags, priority)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxStreamCreate(((CUstream *)__pyx_v_phStream->_pvt_ptr), __pyx_v_cygreenCtx, __pyx_v_flags, __pyx_v_priority); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45770, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45769
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef CUstream phStream = CUstream()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, cygreenCtx, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45771
 *     with nogil:
 *         err = cydriver.cuGreenCtxStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, cygreenCtx, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45772
 *         err = cydriver.cuGreenCtxStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, cygreenCtx, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phStream)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45772, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 45772, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45771
 *     with nogil:
 *         err = cydriver.cuGreenCtxStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, cygreenCtx, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)
*/
  }

  /* "cuda/bindings/driver.pyx":45773
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phStream)             # <<<<<<<<<<<<<<
 * 
 * ctypedef struct cuLogsCallbackData_st:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45773, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phStream);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phStream);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phStream)) != (0)) __PYX_ERR(0, 45773, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45703
 *     return (_dict_CUresult[err], phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxStreamCreate(greenCtx, unsigned int flags, int priority):
 *     """ Create a stream for use in the green context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxStreamCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgreenCtx);
  __Pyx_XDECREF((PyObject *)__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45781
 * ctypedef cuLogsCallbackData_st cuLogsCallbackData
 * 
 * @cython.show_performance_hints(False)             # <<<<<<<<<<<<<<
 * cdef void cuLogsCallbackWrapper(void *data, cydriver.CUlogLevel logLevel, char *message, size_t length) nogil:
 *     cdef cuLogsCallbackData *cbData = <cuLogsCallbackData *>data
*/

static void __pyx_f_4cuda_8bindings_6driver_cuLogsCallbackWrapper(void *__pyx_v_data, CUlogLevel __pyx_v_logLevel, char *__pyx_v_message, size_t __pyx_v_length) {
  __pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData *__pyx_v_cbData;

  /* "cuda/bindings/driver.pyx":45783
 * @cython.show_performance_hints(False)
 * cdef void cuLogsCallbackWrapper(void *data, cydriver.CUlogLevel logLevel, char *message, size_t length) nogil:
 *     cdef cuLogsCallbackData *cbData = <cuLogsCallbackData *>data             # <<<<<<<<<<<<<<
 *     with gil:
 *         cbData.callback(cbData.userData, logLevel, message, length)
*/
  __pyx_v_cbData = ((__pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData *)__pyx_v_data);

  /* "cuda/bindings/driver.pyx":45784
 * cdef void cuLogsCallbackWrapper(void *data, cydriver.CUlogLevel logLevel, char *message, size_t length) nogil:
 *     cdef cuLogsCallbackData *cbData = <cuLogsCallbackData *>data
 *     with gil:             # <<<<<<<<<<<<<<
 *         cbData.callback(cbData.userData, logLevel, message, length)
 * 
*/
  {
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45785
 *     cdef cuLogsCallbackData *cbData = <cuLogsCallbackData *>data
 *     with gil:
 *         cbData.callback(cbData.userData, logLevel, message, length)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
        __pyx_v_cbData->callback(__pyx_v_cbData->userData, __pyx_v_logLevel, __pyx_v_message, __pyx_v_length);
      }

      /* "cuda/bindings/driver.pyx":45784
 * cdef void cuLogsCallbackWrapper(void *data, cydriver.CUlogLevel logLevel, char *message, size_t length) nogil:
 *     cdef cuLogsCallbackData *cbData = <cuLogsCallbackData *>data
 *     with gil:             # <<<<<<<<<<<<<<
 *         cbData.callback(cbData.userData, logLevel, message, length)
 * 
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          goto __pyx_L5;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45781
 * ctypedef cuLogsCallbackData_st cuLogsCallbackData
 * 
 * @cython.show_performance_hints(False)             # <<<<<<<<<<<<<<
 * cdef void cuLogsCallbackWrapper(void *data, cydriver.CUlogLevel logLevel, char *message, size_t length) nogil:
 *     cdef cuLogsCallbackData *cbData = <cuLogsCallbackData *>data
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":45787
 *         cbData.callback(cbData.userData, logLevel, message, length)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsRegisterCallback(callbackFunc, userData):
 *     """ Register a callback function to receive error log messages.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_883cuLogsRegisterCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_882cuLogsRegisterCallback, "cuLogsRegisterCallback(callbackFunc, userData)\n\nRegister a callback function to receive error log messages.\n\nParameters\n----------\ncallbackFunc : :py:obj:`~.CUlogsCallback`\n    The function to register as a callback\nuserData : Any\n    A generic pointer to user data. This is passed into the callback\n    function.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ncallback_out : :py:obj:`~.CUlogsCallbackHandle`\n    Optional location to store the callback handle after it is\n    registered");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_883cuLogsRegisterCallback = {"cuLogsRegisterCallback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_883cuLogsRegisterCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_882cuLogsRegisterCallback};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_883cuLogsRegisterCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_callbackFunc = 0;
  PyObject *__pyx_v_userData = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLogsRegisterCallback (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_callbackFunc,&__pyx_mstate_global->__pyx_n_u_userData_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45787, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45787, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45787, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLogsRegisterCallback", 0) < (0)) __PYX_ERR(0, 45787, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLogsRegisterCallback", 1, 2, 2, i); __PYX_ERR(0, 45787, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45787, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45787, __pyx_L3_error)
    }
    __pyx_v_callbackFunc = values[0];
    __pyx_v_userData = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLogsRegisterCallback", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 45787, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsRegisterCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_882cuLogsRegisterCallback(__pyx_self, __pyx_v_callbackFunc, __pyx_v_userData);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_882cuLogsRegisterCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callbackFunc, PyObject *__pyx_v_userData) {
  CUlogsCallback __pyx_v_cycallbackFunc;
  PyObject *__pyx_v_pcallbackFunc = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *__pyx_v_cyuserData = NULL;
  void *__pyx_v_cyuserData_ptr;
  __pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData *__pyx_v_cbData;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_callback_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLogsRegisterCallback", 0);

  /* "cuda/bindings/driver.pyx":45808
 *     """
 *     cdef cydriver.CUlogsCallback cycallbackFunc
 *     if callbackFunc is None:             # <<<<<<<<<<<<<<
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUlogsCallback,)):
*/
  __pyx_t_1 = (__pyx_v_callbackFunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45809
 *     cdef cydriver.CUlogsCallback cycallbackFunc
 *     if callbackFunc is None:
 *         pcallbackFunc = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(callbackFunc, (CUlogsCallback,)):
 *         pcallbackFunc = int(callbackFunc)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pcallbackFunc = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45808
 *     """
 *     cdef cydriver.CUlogsCallback cycallbackFunc
 *     if callbackFunc is None:             # <<<<<<<<<<<<<<
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUlogsCallback,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45810
 *     if callbackFunc is None:
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUlogsCallback,)):             # <<<<<<<<<<<<<<
 *         pcallbackFunc = int(callbackFunc)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_callbackFunc, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45811
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUlogsCallback,)):
 *         pcallbackFunc = int(callbackFunc)             # <<<<<<<<<<<<<<
 *     else:
 *         pcallbackFunc = int(CUlogsCallback(callbackFunc))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_callbackFunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallbackFunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45810
 *     if callbackFunc is None:
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUlogsCallback,)):             # <<<<<<<<<<<<<<
 *         pcallbackFunc = int(callbackFunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45813
 *         pcallbackFunc = int(callbackFunc)
 *     else:
 *         pcallbackFunc = int(CUlogsCallback(callbackFunc))             # <<<<<<<<<<<<<<
 *     cycallbackFunc = <cydriver.CUlogsCallback><void_ptr>pcallbackFunc
 *     cyuserData = _HelperInputVoidPtr(userData)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callbackFunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45813, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallbackFunc = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45814
 *     else:
 *         pcallbackFunc = int(CUlogsCallback(callbackFunc))
 *     cycallbackFunc = <cydriver.CUlogsCallback><void_ptr>pcallbackFunc             # <<<<<<<<<<<<<<
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallbackFunc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45814, __pyx_L1_error)
  __pyx_v_cycallbackFunc = ((CUlogsCallback)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45815
 *         pcallbackFunc = int(CUlogsCallback(callbackFunc))
 *     cycallbackFunc = <cydriver.CUlogsCallback><void_ptr>pcallbackFunc
 *     cyuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_userData};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45815, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_cyuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":45816
 *     cycallbackFunc = <cydriver.CUlogsCallback><void_ptr>pcallbackFunc
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr             # <<<<<<<<<<<<<<
 * 
 *     cdef cuLogsCallbackData *cbData = NULL
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45816, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cyuserData_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45818
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
 *     cdef cuLogsCallbackData *cbData = NULL             # <<<<<<<<<<<<<<
 *     cbData = <cuLogsCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:
*/
  __pyx_v_cbData = NULL;

  /* "cuda/bindings/driver.pyx":45819
 * 
 *     cdef cuLogsCallbackData *cbData = NULL
 *     cbData = <cuLogsCallbackData *>malloc(sizeof(cbData[0]))             # <<<<<<<<<<<<<<
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
*/
  __pyx_v_cbData = ((__pyx_t_4cuda_8bindings_6driver_cuLogsCallbackData *)malloc((sizeof((__pyx_v_cbData[0])))));

  /* "cuda/bindings/driver.pyx":45820
 *     cdef cuLogsCallbackData *cbData = NULL
 *     cbData = <cuLogsCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:             # <<<<<<<<<<<<<<
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
 *     cbData.callback = cycallbackFunc
*/
  __pyx_t_1 = (__pyx_v_cbData == NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45821
 *     cbData = <cuLogsCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)             # <<<<<<<<<<<<<<
 *     cbData.callback = cycallbackFunc
 *     cbData.userData = cyuserData_ptr
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 45821, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 45821, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45820
 *     cdef cuLogsCallbackData *cbData = NULL
 *     cbData = <cuLogsCallbackData *>malloc(sizeof(cbData[0]))
 *     if cbData == NULL:             # <<<<<<<<<<<<<<
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
 *     cbData.callback = cycallbackFunc
*/
  }

  /* "cuda/bindings/driver.pyx":45822
 *     if cbData == NULL:
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
 *     cbData.callback = cycallbackFunc             # <<<<<<<<<<<<<<
 *     cbData.userData = cyuserData_ptr
 * 
*/
  __pyx_v_cbData->callback = __pyx_v_cycallbackFunc;

  /* "cuda/bindings/driver.pyx":45823
 *         return (CUresult.CUDA_ERROR_OUT_OF_MEMORY, None)
 *     cbData.callback = cycallbackFunc
 *     cbData.userData = cyuserData_ptr             # <<<<<<<<<<<<<<
 * 
 *     cdef CUlogsCallbackHandle callback_out = CUlogsCallbackHandle()
*/
  __pyx_v_cbData->userData = __pyx_v_cyuserData_ptr;

  /* "cuda/bindings/driver.pyx":45825
 *     cbData.userData = cyuserData_ptr
 * 
 *     cdef CUlogsCallbackHandle callback_out = CUlogsCallbackHandle()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLogsRegisterCallback(<cydriver.CUlogsCallback>cuLogsCallbackWrapper, <void *>cbData, <cydriver.CUlogsCallbackHandle*>callback_out._pvt_ptr)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45825, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_callback_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":45826
 * 
 *     cdef CUlogsCallbackHandle callback_out = CUlogsCallbackHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsRegisterCallback(<cydriver.CUlogsCallback>cuLogsCallbackWrapper, <void *>cbData, <cydriver.CUlogsCallbackHandle*>callback_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45827
 *     cdef CUlogsCallbackHandle callback_out = CUlogsCallbackHandle()
 *     with nogil:
 *         err = cydriver.cuLogsRegisterCallback(<cydriver.CUlogsCallback>cuLogsCallbackWrapper, <void *>cbData, <cydriver.CUlogsCallbackHandle*>callback_out._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLogsRegisterCallback(((CUlogsCallback)__pyx_f_4cuda_8bindings_6driver_cuLogsCallbackWrapper), ((void *)__pyx_v_cbData), ((CUlogsCallbackHandle *)__pyx_v_callback_out->_pvt_ptr)); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45827, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45826
 * 
 *     cdef CUlogsCallbackHandle callback_out = CUlogsCallbackHandle()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsRegisterCallback(<cydriver.CUlogsCallback>cuLogsCallbackWrapper, <void *>cbData, <cydriver.CUlogsCallbackHandle*>callback_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":45828
 *     with nogil:
 *         err = cydriver.cuLogsRegisterCallback(<cydriver.CUlogsCallback>cuLogsCallbackWrapper, <void *>cbData, <cydriver.CUlogsCallbackHandle*>callback_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(cbData)
 *     else:
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45829
 *         err = cydriver.cuLogsRegisterCallback(<cydriver.CUlogsCallback>cuLogsCallbackWrapper, <void *>cbData, <cydriver.CUlogsCallbackHandle*>callback_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)             # <<<<<<<<<<<<<<
 *     else:
 *         m_global._allocated[int(callback_out)] = cbData
*/
    free(__pyx_v_cbData);

    /* "cuda/bindings/driver.pyx":45828
 *     with nogil:
 *         err = cydriver.cuLogsRegisterCallback(<cydriver.CUlogsCallback>cuLogsCallbackWrapper, <void *>cbData, <cydriver.CUlogsCallbackHandle*>callback_out._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(cbData)
 *     else:
*/
    goto __pyx_L8;
  }

  /* "cuda/bindings/driver.pyx":45831
 *         free(cbData)
 *     else:
 *         m_global._allocated[int(callback_out)] = cbData             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
  /*else*/ {
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_v_callback_out)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45831, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    (__pyx_v_4cuda_8bindings_6driver_m_global->_allocated[__pyx_t_6]) = __pyx_v_cbData;
  }
  __pyx_L8:;

  /* "cuda/bindings/driver.pyx":45832
 *     else:
 *         m_global._allocated[int(callback_out)] = cbData
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], callback_out)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45833
 *         m_global._allocated[int(callback_out)] = cbData
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], callback_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 45833, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 45833, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45832
 *     else:
 *         m_global._allocated[int(callback_out)] = cbData
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], callback_out)
*/
  }

  /* "cuda/bindings/driver.pyx":45834
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], callback_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45834, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_callback_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_callback_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_callback_out)) != (0)) __PYX_ERR(0, 45834, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45787
 *         cbData.callback(cbData.userData, logLevel, message, length)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsRegisterCallback(callbackFunc, userData):
 *     """ Register a callback function to receive error log messages.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsRegisterCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcallbackFunc);
  __Pyx_XDECREF((PyObject *)__pyx_v_cyuserData);
  __Pyx_XDECREF((PyObject *)__pyx_v_callback_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45836
 *     return (_dict_CUresult[err], callback_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsUnregisterCallback(callback):
 *     """ Unregister a log message callback.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_885cuLogsUnregisterCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_884cuLogsUnregisterCallback, "cuLogsUnregisterCallback(callback)\n\nUnregister a log message callback.\n\nParameters\n----------\ncallback : :py:obj:`~.CUlogsCallbackHandle`\n    The callback instance to unregister from receiving log messages\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_885cuLogsUnregisterCallback = {"cuLogsUnregisterCallback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_885cuLogsUnregisterCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_884cuLogsUnregisterCallback};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_885cuLogsUnregisterCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_callback = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLogsUnregisterCallback (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_callback,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45836, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45836, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLogsUnregisterCallback", 0) < (0)) __PYX_ERR(0, 45836, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLogsUnregisterCallback", 1, 1, 1, i); __PYX_ERR(0, 45836, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45836, __pyx_L3_error)
    }
    __pyx_v_callback = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLogsUnregisterCallback", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 45836, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsUnregisterCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_884cuLogsUnregisterCallback(__pyx_self, __pyx_v_callback);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_884cuLogsUnregisterCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback) {
  CUlogsCallbackHandle __pyx_v_cycallback;
  PyObject *__pyx_v_pcallback = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLogsUnregisterCallback", 0);

  /* "cuda/bindings/driver.pyx":45851
 *     """
 *     cdef cydriver.CUlogsCallbackHandle cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUlogsCallbackHandle,)):
*/
  __pyx_t_1 = (__pyx_v_callback == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45852
 *     cdef cydriver.CUlogsCallbackHandle cycallback
 *     if callback is None:
 *         pcallback = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(callback, (CUlogsCallbackHandle,)):
 *         pcallback = int(callback)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pcallback = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":45851
 *     """
 *     cdef cydriver.CUlogsCallbackHandle cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUlogsCallbackHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45853
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUlogsCallbackHandle,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_callback, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45854
 *         pcallback = 0
 *     elif isinstance(callback, (CUlogsCallbackHandle,)):
 *         pcallback = int(callback)             # <<<<<<<<<<<<<<
 *     else:
 *         pcallback = int(CUlogsCallbackHandle(callback))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallback = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45853
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUlogsCallbackHandle,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45856
 *         pcallback = int(callback)
 *     else:
 *         pcallback = int(CUlogsCallbackHandle(callback))             # <<<<<<<<<<<<<<
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callback};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45856, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallback = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45857
 *     else:
 *         pcallback = int(CUlogsCallbackHandle(callback))
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45857, __pyx_L1_error)
  __pyx_v_cycallback = ((CUlogsCallbackHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45858
 *         pcallback = int(CUlogsCallbackHandle(callback))
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)
 *     if err == cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45859
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback
 *     with nogil:
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)             # <<<<<<<<<<<<<<
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuLogsUnregisterCallback(__pyx_v_cycallback); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45859, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45858
 *         pcallback = int(CUlogsCallbackHandle(callback))
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)
 *     if err == cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45860
 *     with nogil:
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)
 *     if err == cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)
*/
  __pyx_t_1 = (__pyx_v_err == CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45861
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])             # <<<<<<<<<<<<<<
 *         m_global._allocated.erase(<void_ptr>pcallback)
 *     return (_dict_CUresult[err],)
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45861, __pyx_L1_error)
    free((__pyx_v_4cuda_8bindings_6driver_m_global->_allocated[__pyx_t_6]));

    /* "cuda/bindings/driver.pyx":45862
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45862, __pyx_L1_error)
    (void)(__pyx_v_4cuda_8bindings_6driver_m_global->_allocated.erase(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6)));

    /* "cuda/bindings/driver.pyx":45860
 *     with nogil:
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)
 *     if err == cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)
*/
  }

  /* "cuda/bindings/driver.pyx":45863
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 45863, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45836
 *     return (_dict_CUresult[err], callback_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsUnregisterCallback(callback):
 *     """ Unregister a log message callback.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsUnregisterCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcallback);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsCurrent(unsigned int flags):
 *     """ Sets log iterator to point to the end of log buffer, where the next message would be written.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_887cuLogsCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_886cuLogsCurrent, "cuLogsCurrent(unsigned int flags)\n\nSets log iterator to point to the end of log buffer, where the next message would be written.\n\nParameters\n----------\nflags : unsigned int\n    Reserved for future use, must be 0\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\niterator_out : :py:obj:`~.CUlogIterator`\n    Location to store an iterator to the current tail of the logs");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_887cuLogsCurrent = {"cuLogsCurrent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_887cuLogsCurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_886cuLogsCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_887cuLogsCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLogsCurrent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45865, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLogsCurrent", 0) < (0)) __PYX_ERR(0, 45865, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLogsCurrent", 1, 1, 1, i); __PYX_ERR(0, 45865, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45865, __pyx_L3_error)
    }
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45866, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLogsCurrent", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 45865, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_886cuLogsCurrent(__pyx_self, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_886cuLogsCurrent(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_iterator_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLogsCurrent", 0);

  /* "cuda/bindings/driver.pyx":45881
 *         Location to store an iterator to the current tail of the logs
 *     """
 *     cdef CUlogIterator iterator_out = CUlogIterator()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLogsCurrent(<cydriver.CUlogIterator*>iterator_out._pvt_ptr, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45881, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_iterator_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":45882
 *     """
 *     cdef CUlogIterator iterator_out = CUlogIterator()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsCurrent(<cydriver.CUlogIterator*>iterator_out._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45883
 *     cdef CUlogIterator iterator_out = CUlogIterator()
 *     with nogil:
 *         err = cydriver.cuLogsCurrent(<cydriver.CUlogIterator*>iterator_out._pvt_ptr, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuLogsCurrent(((CUlogIterator *)__pyx_v_iterator_out->_pvt_ptr), __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45883, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":45882
 *     """
 *     cdef CUlogIterator iterator_out = CUlogIterator()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsCurrent(<cydriver.CUlogIterator*>iterator_out._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45884
 *     with nogil:
 *         err = cydriver.cuLogsCurrent(<cydriver.CUlogIterator*>iterator_out._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], iterator_out)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":45885
 *         err = cydriver.cuLogsCurrent(<cydriver.CUlogIterator*>iterator_out._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], iterator_out)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45885, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 45885, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45884
 *     with nogil:
 *         err = cydriver.cuLogsCurrent(<cydriver.CUlogIterator*>iterator_out._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], iterator_out)
*/
  }

  /* "cuda/bindings/driver.pyx":45886
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], iterator_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 45886, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_iterator_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_iterator_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_iterator_out)) != (0)) __PYX_ERR(0, 45886, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsCurrent(unsigned int flags):
 *     """ Sets log iterator to point to the end of log buffer, where the next message would be written.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_iterator_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45888
 *     return (_dict_CUresult[err], iterator_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsDumpToFile(iterator : Optional[CUlogIterator], char* pathToFile, unsigned int flags):
 *     """ Dump accumulated driver logs into a file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_889cuLogsDumpToFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_888cuLogsDumpToFile, "cuLogsDumpToFile(CUlogIterator iterator: Optional[CUlogIterator], char *pathToFile, unsigned int flags)\n\nDump accumulated driver logs into a file.\n\nLogs generated by the driver are stored in an internal buffer and can\nbe copied out using this API. This API dumps all driver logs starting\nfrom `iterator` into `pathToFile` provided.\n\nParameters\n----------\niterator : :py:obj:`~.CUlogIterator`\n    Optional auto-advancing iterator specifying the starting log to\n    read. NULL value dumps all logs.\npathToFile : bytes\n    Path to output file for dumping logs\nflags : unsigned int\n    Reserved for future use, must be 0\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\niterator : :py:obj:`~.CUlogIterator`\n    Optional auto-advancing iterator specifying the starting log to\n    read. NULL value dumps all logs.\n\nNotes\n-----\n`iterator` is auto-advancing. Dumping logs will update the value of `iterator` to receive the next generated log.\n\nThe driver reserves limited memory for storing logs. The oldest logs may be overwritten and become unrecoverable. An indication will appear in the destination outupt if the logs have been truncated. Call dump after each failed API to mitigate this risk.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_889cuLogsDumpToFile = {"cuLogsDumpToFile", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_889cuLogsDumpToFile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_888cuLogsDumpToFile};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_889cuLogsDumpToFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_iterator = 0;
  char *__pyx_v_pathToFile;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLogsDumpToFile (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_iterator,&__pyx_mstate_global->__pyx_n_u_pathToFile,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45888, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45888, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45888, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45888, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLogsDumpToFile", 0) < (0)) __PYX_ERR(0, 45888, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLogsDumpToFile", 1, 3, 3, i); __PYX_ERR(0, 45888, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45888, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45888, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45888, __pyx_L3_error)
    }
    __pyx_v_iterator = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)values[0]);
    __pyx_v_pathToFile = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_pathToFile) && PyErr_Occurred())) __PYX_ERR(0, 45889, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45889, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLogsDumpToFile", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 45888, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsDumpToFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_iterator), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator, 1, "iterator", 0))) __PYX_ERR(0, 45889, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_888cuLogsDumpToFile(__pyx_self, __pyx_v_iterator, __pyx_v_pathToFile, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_888cuLogsDumpToFile(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_iterator, char *__pyx_v_pathToFile, unsigned int __pyx_v_flags) {
  CUlogIterator *__pyx_v_cyiterator;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  CUlogIterator *__pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLogsDumpToFile", 0);

  /* "cuda/bindings/driver.pyx":45920
 *     The driver reserves limited memory for storing logs. The oldest logs may be overwritten and become unrecoverable. An indication will appear in the destination outupt if the logs have been truncated. Call dump after each failed API to mitigate this risk.
 *     """
 *     cdef cydriver.CUlogIterator* cyiterator = NULL             # <<<<<<<<<<<<<<
 *     if iterator is not None:
 *         cyiterator = iterator._pvt_ptr
*/
  __pyx_v_cyiterator = NULL;

  /* "cuda/bindings/driver.pyx":45921
 *     """
 *     cdef cydriver.CUlogIterator* cyiterator = NULL
 *     if iterator is not None:             # <<<<<<<<<<<<<<
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_iterator) != Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45922
 *     cdef cydriver.CUlogIterator* cyiterator = NULL
 *     if iterator is not None:
 *         cyiterator = iterator._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLogsDumpToFile(cyiterator, pathToFile, flags)
*/
    __pyx_t_2 = __pyx_v_iterator->_pvt_ptr;
    __pyx_v_cyiterator = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":45921
 *     """
 *     cdef cydriver.CUlogIterator* cyiterator = NULL
 *     if iterator is not None:             # <<<<<<<<<<<<<<
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:
*/
  }

  /* "cuda/bindings/driver.pyx":45923
 *     if iterator is not None:
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsDumpToFile(cyiterator, pathToFile, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45924
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuLogsDumpToFile(cyiterator, pathToFile, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuLogsDumpToFile(__pyx_v_cyiterator, __pyx_v_pathToFile, __pyx_v_flags); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45924, __pyx_L5_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":45923
 *     if iterator is not None:
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsDumpToFile(cyiterator, pathToFile, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45925
 *     with nogil:
 *         err = cydriver.cuLogsDumpToFile(cyiterator, pathToFile, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], iterator)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45926
 *         err = cydriver.cuLogsDumpToFile(cyiterator, pathToFile, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], iterator)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 45926, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_None) != (0)) __PYX_ERR(0, 45926, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45925
 *     with nogil:
 *         err = cydriver.cuLogsDumpToFile(cyiterator, pathToFile, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], iterator)
*/
  }

  /* "cuda/bindings/driver.pyx":45927
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], iterator)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45927, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_iterator);
  __Pyx_GIVEREF((PyObject *)__pyx_v_iterator);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_iterator)) != (0)) __PYX_ERR(0, 45927, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45888
 *     return (_dict_CUresult[err], iterator_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsDumpToFile(iterator : Optional[CUlogIterator], char* pathToFile, unsigned int flags):
 *     """ Dump accumulated driver logs into a file.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsDumpToFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45929
 *     return (_dict_CUresult[err], iterator)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsDumpToMemory(iterator : Optional[CUlogIterator], char* buffer, size_t size, unsigned int flags):
 *     """ Dump accumulated driver logs into a buffer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_891cuLogsDumpToMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_890cuLogsDumpToMemory, "cuLogsDumpToMemory(CUlogIterator iterator: Optional[CUlogIterator], char *buffer, size_t size, unsigned int flags)\n\nDump accumulated driver logs into a buffer.\n\n    Logs generated by the driver are stored in an internal buffer and can\n    be copied out using this API. This API dumps driver logs from\n    `iterator` into `buffer` up to the size specified in `*size`. The\n    driver will always null terminate the buffer but there will not be a\n    null character between log entries, only a newline \n. The driver will\n    then return the actual number of bytes written in `*size`, excluding\n    the null terminator. If there are no messages to dump, `*size` will be\n    set to 0 and the function will return :py:obj:`~.CUDA_SUCCESS`. If the\n    provided `buffer` is not large enough to hold any messages, `*size`\n    will be set to 0 and the function will return\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\n    Parameters\n    ----------\n    iterator : :py:obj:`~.CUlogIterator`\n        Optional auto-advancing iterator specifying the starting log to\n        read. NULL value dumps all logs.\n    buffer : bytes\n        Pointer to dump logs\n    size : int\n        See description\n    flags : unsigned int\n        Reserved for future use, must be 0\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    iterator : :py:obj:`~.CUlogIterator`\n        Optional auto-advancing iterator specifying the starting log to\n        read. NULL value dumps all logs.\n    size : int\n        See description\n\n    Notes\n    -----\n    `iterator` is auto-advancing. Dumping logs will update the value of `iterator` to receive the next generated log.\n\n    The driver reserves limited memory for storing logs. The maximum size of the buffer is 25600 bytes. The oldest logs may be overwritten and become unrecoverable. An indication will appear in the destination outupt if the logs have been truncated. Call dump after each"" failed API to mitigate this risk.\n\n    If the provided value in `*size` is not large enough to hold all buffered messages, a message will be added at the head of the buffer indicating this. The driver then computes the number of messages it is able to store in `buffer` and writes it out. The final message in `buffer` will always be the most recent log message as of when the API is called.\n    ");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_891cuLogsDumpToMemory = {"cuLogsDumpToMemory", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_891cuLogsDumpToMemory, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_890cuLogsDumpToMemory};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_891cuLogsDumpToMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_iterator = 0;
  char *__pyx_v_buffer;
  size_t __pyx_v_size;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuLogsDumpToMemory (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_iterator,&__pyx_mstate_global->__pyx_n_u_buffer,&__pyx_mstate_global->__pyx_n_u_size_2,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45929, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 45929, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45929, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45929, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45929, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuLogsDumpToMemory", 0) < (0)) __PYX_ERR(0, 45929, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuLogsDumpToMemory", 1, 4, 4, i); __PYX_ERR(0, 45929, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45929, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45929, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45929, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 45929, __pyx_L3_error)
    }
    __pyx_v_iterator = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *)values[0]);
    __pyx_v_buffer = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 45930, __pyx_L3_error)
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[2]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 45930, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45930, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLogsDumpToMemory", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 45929, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsDumpToMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_iterator), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator, 1, "iterator", 0))) __PYX_ERR(0, 45930, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_890cuLogsDumpToMemory(__pyx_self, __pyx_v_iterator, __pyx_v_buffer, __pyx_v_size, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_890cuLogsDumpToMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator *__pyx_v_iterator, char *__pyx_v_buffer, size_t __pyx_v_size, unsigned int __pyx_v_flags) {
  CUlogIterator *__pyx_v_cyiterator;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  CUlogIterator *__pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLogsDumpToMemory", 0);

  /* "cuda/bindings/driver.pyx":45975
 *     If the provided value in `*size` is not large enough to hold all buffered messages, a message will be added at the head of the buffer indicating this. The driver then computes the number of messages it is able to store in `buffer` and writes it out. The final message in `buffer` will always be the most recent log message as of when the API is called.
 *     """
 *     cdef cydriver.CUlogIterator* cyiterator = NULL             # <<<<<<<<<<<<<<
 *     if iterator is not None:
 *         cyiterator = iterator._pvt_ptr
*/
  __pyx_v_cyiterator = NULL;

  /* "cuda/bindings/driver.pyx":45976
 *     """
 *     cdef cydriver.CUlogIterator* cyiterator = NULL
 *     if iterator is not None:             # <<<<<<<<<<<<<<
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_iterator) != Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45977
 *     cdef cydriver.CUlogIterator* cyiterator = NULL
 *     if iterator is not None:
 *         cyiterator = iterator._pvt_ptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLogsDumpToMemory(cyiterator, buffer, &size, flags)
*/
    __pyx_t_2 = __pyx_v_iterator->_pvt_ptr;
    __pyx_v_cyiterator = __pyx_t_2;

    /* "cuda/bindings/driver.pyx":45976
 *     """
 *     cdef cydriver.CUlogIterator* cyiterator = NULL
 *     if iterator is not None:             # <<<<<<<<<<<<<<
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:
*/
  }

  /* "cuda/bindings/driver.pyx":45978
 *     if iterator is not None:
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsDumpToMemory(cyiterator, buffer, &size, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45979
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuLogsDumpToMemory(cyiterator, buffer, &size, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuLogsDumpToMemory(__pyx_v_cyiterator, __pyx_v_buffer, (&__pyx_v_size), __pyx_v_flags); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45979, __pyx_L5_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":45978
 *     if iterator is not None:
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsDumpToMemory(cyiterator, buffer, &size, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45980
 *     with nogil:
 *         err = cydriver.cuLogsDumpToMemory(cyiterator, buffer, &size, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], iterator, size)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":45981
 *         err = cydriver.cuLogsDumpToMemory(cyiterator, buffer, &size, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], iterator, size)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 45981, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_None) != (0)) __PYX_ERR(0, 45981, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, Py_None) != (0)) __PYX_ERR(0, 45981, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45980
 *     with nogil:
 *         err = cydriver.cuLogsDumpToMemory(cyiterator, buffer, &size, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], iterator, size)
*/
  }

  /* "cuda/bindings/driver.pyx":45982
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], iterator, size)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 45982, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_iterator);
  __Pyx_GIVEREF((PyObject *)__pyx_v_iterator);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_iterator)) != (0)) __PYX_ERR(0, 45982, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_6) != (0)) __PYX_ERR(0, 45982, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45929
 *     return (_dict_CUresult[err], iterator)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsDumpToMemory(iterator : Optional[CUlogIterator], char* buffer, size_t size, unsigned int flags):
 *     """ Dump accumulated driver logs into a buffer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuLogsDumpToMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45984
 *     return (_dict_CUresult[err], iterator, size)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessGetRestoreThreadId(int pid):
 *     """ Returns the restore thread ID for a CUDA process.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_893cuCheckpointProcessGetRestoreThreadId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_892cuCheckpointProcessGetRestoreThreadId, "cuCheckpointProcessGetRestoreThreadId(int pid)\n\nReturns the restore thread ID for a CUDA process.\n\nReturns in `*tid` the thread ID of the CUDA restore thread for the\nprocess specified by `pid`.\n\nParameters\n----------\npid : int\n    The process ID of the CUDA process\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\ntid : int\n    Returned restore thread ID");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_893cuCheckpointProcessGetRestoreThreadId = {"cuCheckpointProcessGetRestoreThreadId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_893cuCheckpointProcessGetRestoreThreadId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_892cuCheckpointProcessGetRestoreThreadId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_893cuCheckpointProcessGetRestoreThreadId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_pid;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCheckpointProcessGetRestoreThreadId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pid,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45984, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45984, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCheckpointProcessGetRestoreThreadId", 0) < (0)) __PYX_ERR(0, 45984, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessGetRestoreThreadId", 1, 1, 1, i); __PYX_ERR(0, 45984, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45984, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 45985, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessGetRestoreThreadId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 45984, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessGetRestoreThreadId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_892cuCheckpointProcessGetRestoreThreadId(__pyx_self, __pyx_v_pid);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_892cuCheckpointProcessGetRestoreThreadId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid) {
  int __pyx_v_tid;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCheckpointProcessGetRestoreThreadId", 0);

  /* "cuda/bindings/driver.pyx":46003
 *         Returned restore thread ID
 *     """
 *     cdef int tid = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
*/
  __pyx_v_tid = 0;

  /* "cuda/bindings/driver.pyx":46004
 *     """
 *     cdef int tid = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46005
 *     cdef int tid = 0
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessGetRestoreThreadId(__pyx_v_pid, (&__pyx_v_tid)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46005, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":46004
 *     """
 *     cdef int tid = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46006
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tid)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":46007
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], tid)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 46007, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 46007, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46006
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tid)
*/
  }

  /* "cuda/bindings/driver.pyx":46008
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], tid)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_tid); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 46008, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 46008, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45984
 *     return (_dict_CUresult[err], iterator, size)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessGetRestoreThreadId(int pid):
 *     """ Returns the restore thread ID for a CUDA process.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessGetRestoreThreadId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46010
 *     return (_dict_CUresult[err], tid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessGetState(int pid):
 *     """ Returns the process state of a CUDA process.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_895cuCheckpointProcessGetState(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_894cuCheckpointProcessGetState, "cuCheckpointProcessGetState(int pid)\n\nReturns the process state of a CUDA process.\n\nReturns in `*state` the current state of the CUDA process specified by\n`pid`.\n\nParameters\n----------\npid : int\n    The process ID of the CUDA process\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\nstate : :py:obj:`~.CUprocessState`\n    Returned CUDA process state");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_895cuCheckpointProcessGetState = {"cuCheckpointProcessGetState", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_895cuCheckpointProcessGetState, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_894cuCheckpointProcessGetState};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_895cuCheckpointProcessGetState(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_pid;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCheckpointProcessGetState (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pid,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46010, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46010, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCheckpointProcessGetState", 0) < (0)) __PYX_ERR(0, 46010, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessGetState", 1, 1, 1, i); __PYX_ERR(0, 46010, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46010, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46011, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessGetState", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 46010, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessGetState", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_894cuCheckpointProcessGetState(__pyx_self, __pyx_v_pid);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_894cuCheckpointProcessGetState(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid) {
  CUprocessState __pyx_v_state;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCheckpointProcessGetState", 0);

  /* "cuda/bindings/driver.pyx":46030
 *     """
 *     cdef cydriver.CUprocessState state
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessGetState(pid, &state)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46031
 *     cdef cydriver.CUprocessState state
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessGetState(pid, &state)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessGetState(__pyx_v_pid, (&__pyx_v_state)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46031, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":46030
 *     """
 *     cdef cydriver.CUprocessState state
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessGetState(pid, &state)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46032
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessGetState(pid, &state)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUprocessState(state))
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":46033
 *         err = cydriver.cuCheckpointProcessGetState(pid, &state)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], CUprocessState(state))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 46033, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 46033, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46032
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessGetState(pid, &state)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUprocessState(state))
*/
  }

  /* "cuda/bindings/driver.pyx":46034
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], CUprocessState(state))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUprocessState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_enum__CUprocessState_enum(__pyx_v_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 46034, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 46034, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46010
 *     return (_dict_CUresult[err], tid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessGetState(int pid):
 *     """ Returns the process state of a CUDA process.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessGetState", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46036
 *     return (_dict_CUresult[err], CUprocessState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessLock(int pid, args : Optional[CUcheckpointLockArgs]):
 *     """ Lock a running CUDA process.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_897cuCheckpointProcessLock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_896cuCheckpointProcessLock, "cuCheckpointProcessLock(int pid, CUcheckpointLockArgs args: Optional[CUcheckpointLockArgs])\n\nLock a running CUDA process.\n\nLock the CUDA process specified by `pid` which will block further CUDA\nAPI calls. Process must be in the RUNNING state in order to lock.\n\nUpon successful return the process will be in the LOCKED state.\n\nIf timeoutMs is specified and the timeout is reached the process will\nbe left in the RUNNING state upon return.\n\nParameters\n----------\npid : int\n    The process ID of the CUDA process\nargs : :py:obj:`~.CUcheckpointLockArgs`\n    Optional lock operation arguments\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` :py:obj:`~.CUDA_ERROR_NOT_READY`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_897cuCheckpointProcessLock = {"cuCheckpointProcessLock", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_897cuCheckpointProcessLock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_896cuCheckpointProcessLock};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_897cuCheckpointProcessLock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_pid;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs *__pyx_v_args = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCheckpointProcessLock (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pid,&__pyx_mstate_global->__pyx_n_u_args,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46036, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46036, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46036, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCheckpointProcessLock", 0) < (0)) __PYX_ERR(0, 46036, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessLock", 1, 2, 2, i); __PYX_ERR(0, 46036, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46036, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46036, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46037, __pyx_L3_error)
    __pyx_v_args = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessLock", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46036, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessLock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs, 1, "args", 0))) __PYX_ERR(0, 46037, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_896cuCheckpointProcessLock(__pyx_self, __pyx_v_pid, __pyx_v_args);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_896cuCheckpointProcessLock(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid, struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs *__pyx_v_args) {
  CUcheckpointLockArgs *__pyx_v_cyargs_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUcheckpointLockArgs_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCheckpointProcessLock", 0);

  /* "cuda/bindings/driver.pyx":46060
 *         :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` :py:obj:`~.CUDA_ERROR_NOT_READY`
 *     """
 *     cdef cydriver.CUcheckpointLockArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessLock(pid, cyargs_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_args) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_args->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cyargs_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":46061
 *     """
 *     cdef cydriver.CUcheckpointLockArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessLock(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46062
 *     cdef cydriver.CUcheckpointLockArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessLock(pid, cyargs_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessLock(__pyx_v_pid, __pyx_v_cyargs_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46062, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46061
 *     """
 *     cdef cydriver.CUcheckpointLockArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessLock(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46063
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessLock(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 46063, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46036
 *     return (_dict_CUresult[err], CUprocessState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessLock(int pid, args : Optional[CUcheckpointLockArgs]):
 *     """ Lock a running CUDA process.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessLock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46065
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessCheckpoint(int pid, args : Optional[CUcheckpointCheckpointArgs]):
 *     """ Checkpoint a CUDA process's GPU memory contents.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_899cuCheckpointProcessCheckpoint(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_898cuCheckpointProcessCheckpoint, "cuCheckpointProcessCheckpoint(int pid, CUcheckpointCheckpointArgs args: Optional[CUcheckpointCheckpointArgs])\n\nCheckpoint a CUDA process's GPU memory contents.\n\nCheckpoints a CUDA process specified by `pid` that is in the LOCKED\nstate. The GPU memory contents will be brought into host memory and all\nunderlying references will be released. Process must be in the LOCKED\nstate to checkpoint.\n\nUpon successful return the process will be in the CHECKPOINTED state.\n\nParameters\n----------\npid : int\n    The process ID of the CUDA process\nargs : :py:obj:`~.CUcheckpointCheckpointArgs`\n    Optional checkpoint operation arguments\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_899cuCheckpointProcessCheckpoint = {"cuCheckpointProcessCheckpoint", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_899cuCheckpointProcessCheckpoint, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_898cuCheckpointProcessCheckpoint};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_899cuCheckpointProcessCheckpoint(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_pid;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs *__pyx_v_args = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCheckpointProcessCheckpoint (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pid,&__pyx_mstate_global->__pyx_n_u_args,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46065, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46065, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46065, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCheckpointProcessCheckpoint", 0) < (0)) __PYX_ERR(0, 46065, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessCheckpoint", 1, 2, 2, i); __PYX_ERR(0, 46065, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46065, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46065, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46066, __pyx_L3_error)
    __pyx_v_args = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessCheckpoint", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46065, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessCheckpoint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs, 1, "args", 0))) __PYX_ERR(0, 46066, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_898cuCheckpointProcessCheckpoint(__pyx_self, __pyx_v_pid, __pyx_v_args);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_898cuCheckpointProcessCheckpoint(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid, struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs *__pyx_v_args) {
  CUcheckpointCheckpointArgs *__pyx_v_cyargs_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUcheckpointCheckpointArgs_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCheckpointProcessCheckpoint", 0);

  /* "cuda/bindings/driver.pyx":46088
 *         :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`
 *     """
 *     cdef cydriver.CUcheckpointCheckpointArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessCheckpoint(pid, cyargs_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_args) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_args->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cyargs_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":46089
 *     """
 *     cdef cydriver.CUcheckpointCheckpointArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessCheckpoint(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46090
 *     cdef cydriver.CUcheckpointCheckpointArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessCheckpoint(pid, cyargs_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessCheckpoint(__pyx_v_pid, __pyx_v_cyargs_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46090, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46089
 *     """
 *     cdef cydriver.CUcheckpointCheckpointArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessCheckpoint(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46091
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessCheckpoint(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 46091, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46065
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessCheckpoint(int pid, args : Optional[CUcheckpointCheckpointArgs]):
 *     """ Checkpoint a CUDA process's GPU memory contents.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessCheckpoint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46093
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessRestore(int pid, args : Optional[CUcheckpointRestoreArgs]):
 *     """ Restore a CUDA process's GPU memory contents from its last checkpoint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_901cuCheckpointProcessRestore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_900cuCheckpointProcessRestore, "cuCheckpointProcessRestore(int pid, CUcheckpointRestoreArgs args: Optional[CUcheckpointRestoreArgs])\n\nRestore a CUDA process's GPU memory contents from its last checkpoint.\n\nRestores a CUDA process specified by `pid` from its last checkpoint.\nProcess must be in the CHECKPOINTED state to restore.\n\nUpon successful return the process will be in the LOCKED state.\n\nCUDA process restore requires persistence mode to be enabled or\n:py:obj:`~.cuInit` to have been called before execution.\n\nParameters\n----------\npid : int\n    The process ID of the CUDA process\nargs : :py:obj:`~.CUcheckpointRestoreArgs`\n    Optional restore operation arguments\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuInit`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_901cuCheckpointProcessRestore = {"cuCheckpointProcessRestore", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_901cuCheckpointProcessRestore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_900cuCheckpointProcessRestore};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_901cuCheckpointProcessRestore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_pid;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs *__pyx_v_args = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCheckpointProcessRestore (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pid,&__pyx_mstate_global->__pyx_n_u_args,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46093, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46093, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46093, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCheckpointProcessRestore", 0) < (0)) __PYX_ERR(0, 46093, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessRestore", 1, 2, 2, i); __PYX_ERR(0, 46093, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46093, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46093, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46094, __pyx_L3_error)
    __pyx_v_args = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessRestore", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46093, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessRestore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs, 1, "args", 0))) __PYX_ERR(0, 46094, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_900cuCheckpointProcessRestore(__pyx_self, __pyx_v_pid, __pyx_v_args);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_900cuCheckpointProcessRestore(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid, struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs *__pyx_v_args) {
  CUcheckpointRestoreArgs *__pyx_v_cyargs_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUcheckpointRestoreArgs_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCheckpointProcessRestore", 0);

  /* "cuda/bindings/driver.pyx":46121
 *     :py:obj:`~.cuInit`
 *     """
 *     cdef cydriver.CUcheckpointRestoreArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessRestore(pid, cyargs_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_args) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_args->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cyargs_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":46122
 *     """
 *     cdef cydriver.CUcheckpointRestoreArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessRestore(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46123
 *     cdef cydriver.CUcheckpointRestoreArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessRestore(pid, cyargs_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessRestore(__pyx_v_pid, __pyx_v_cyargs_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46123, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46122
 *     """
 *     cdef cydriver.CUcheckpointRestoreArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessRestore(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46124
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessRestore(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 46124, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46093
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessRestore(int pid, args : Optional[CUcheckpointRestoreArgs]):
 *     """ Restore a CUDA process's GPU memory contents from its last checkpoint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessRestore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46126
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessUnlock(int pid, args : Optional[CUcheckpointUnlockArgs]):
 *     """ Unlock a CUDA process to allow CUDA API calls.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_903cuCheckpointProcessUnlock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_902cuCheckpointProcessUnlock, "cuCheckpointProcessUnlock(int pid, CUcheckpointUnlockArgs args: Optional[CUcheckpointUnlockArgs])\n\nUnlock a CUDA process to allow CUDA API calls.\n\nUnlocks a process specified by `pid` allowing it to resume making CUDA\nAPI calls. Process must be in the LOCKED state.\n\nUpon successful return the process will be in the RUNNING state.\n\nParameters\n----------\npid : int\n    The process ID of the CUDA process\nargs : :py:obj:`~.CUcheckpointUnlockArgs`\n    Optional unlock operation arguments\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_903cuCheckpointProcessUnlock = {"cuCheckpointProcessUnlock", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_903cuCheckpointProcessUnlock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_902cuCheckpointProcessUnlock};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_903cuCheckpointProcessUnlock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_pid;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs *__pyx_v_args = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCheckpointProcessUnlock (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pid,&__pyx_mstate_global->__pyx_n_u_args,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46126, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46126, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46126, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCheckpointProcessUnlock", 0) < (0)) __PYX_ERR(0, 46126, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessUnlock", 1, 2, 2, i); __PYX_ERR(0, 46126, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46126, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46126, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46127, __pyx_L3_error)
    __pyx_v_args = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessUnlock", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46126, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessUnlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs, 1, "args", 0))) __PYX_ERR(0, 46127, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_902cuCheckpointProcessUnlock(__pyx_self, __pyx_v_pid, __pyx_v_args);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_902cuCheckpointProcessUnlock(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid, struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs *__pyx_v_args) {
  CUcheckpointUnlockArgs *__pyx_v_cyargs_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  struct CUcheckpointUnlockArgs_st *__pyx_t_1;
  int __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCheckpointProcessUnlock", 0);

  /* "cuda/bindings/driver.pyx":46147
 *         :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE` :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED` :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`
 *     """
 *     cdef cydriver.CUcheckpointUnlockArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessUnlock(pid, cyargs_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_args) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_args->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cyargs_ptr = __pyx_t_1;

  /* "cuda/bindings/driver.pyx":46148
 *     """
 *     cdef cydriver.CUcheckpointUnlockArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessUnlock(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46149
 *     cdef cydriver.CUcheckpointUnlockArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessUnlock(pid, cyargs_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_3 = __pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessUnlock(__pyx_v_pid, __pyx_v_cyargs_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46149, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46148
 *     """
 *     cdef cydriver.CUcheckpointUnlockArgs* cyargs_ptr = args._pvt_ptr if args is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessUnlock(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46150
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessUnlock(pid, cyargs_ptr)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 46150, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46126
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessUnlock(int pid, args : Optional[CUcheckpointUnlockArgs]):
 *     """ Unlock a CUDA process to allow CUDA API calls.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCheckpointProcessUnlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46152
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStart():
 *     """ Enable profiling.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_905cuProfilerStart(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_904cuProfilerStart, "cuProfilerStart()\n\nEnable profiling.\n\nEnables profile collection by the active profiling tool for the current\ncontext. If profiling is already enabled, then\n:py:obj:`~.cuProfilerStart()` has no effect.\n\ncuProfilerStart and cuProfilerStop APIs are used to programmatically\ncontrol the profiling granularity by allowing profiling to be done only\non selective pieces of code.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStop`, :py:obj:`~.cudaProfilerStart`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_905cuProfilerStart = {"cuProfilerStart", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_905cuProfilerStart, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_904cuProfilerStart};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_905cuProfilerStart(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuProfilerStart (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_904cuProfilerStart(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_904cuProfilerStart(CYTHON_UNUSED PyObject *__pyx_self) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuProfilerStart", 0);

  /* "cuda/bindings/driver.pyx":46173
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStop`, :py:obj:`~.cudaProfilerStart`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuProfilerStart()
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46174
 *     """
 *     with nogil:
 *         err = cydriver.cuProfilerStart()             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuProfilerStart(); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46174, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":46173
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStop`, :py:obj:`~.cudaProfilerStart`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuProfilerStart()
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46175
 *     with nogil:
 *         err = cydriver.cuProfilerStart()
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46175, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46152
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStart():
 *     """ Enable profiling.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuProfilerStart", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46177
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStop():
 *     """ Disable profiling.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_907cuProfilerStop(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_906cuProfilerStop, "cuProfilerStop()\n\nDisable profiling.\n\nDisables profile collection by the active profiling tool for the\ncurrent context. If profiling is already disabled, then\n:py:obj:`~.cuProfilerStop()` has no effect.\n\ncuProfilerStart and cuProfilerStop APIs are used to programmatically\ncontrol the profiling granularity by allowing profiling to be done only\non selective pieces of code.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\nSee Also\n--------\n:py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStart`, :py:obj:`~.cudaProfilerStop`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_907cuProfilerStop = {"cuProfilerStop", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_907cuProfilerStop, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_906cuProfilerStop};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_907cuProfilerStop(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuProfilerStop (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_906cuProfilerStop(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_906cuProfilerStop(CYTHON_UNUSED PyObject *__pyx_self) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuProfilerStop", 0);

  /* "cuda/bindings/driver.pyx":46198
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStart`, :py:obj:`~.cudaProfilerStop`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuProfilerStop()
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46199
 *     """
 *     with nogil:
 *         err = cydriver.cuProfilerStop()             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuProfilerStop(); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46199, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":46198
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStart`, :py:obj:`~.cudaProfilerStop`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuProfilerStop()
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46200
 *     with nogil:
 *         err = cydriver.cuProfilerStop()
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46200, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46177
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStop():
 *     """ Disable profiling.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuProfilerStop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46202
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsEGLRegisterImage(image, unsigned int flags):
 *     """ Registers an EGL image.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_909cuGraphicsEGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_908cuGraphicsEGLRegisterImage, "cuGraphicsEGLRegisterImage(image, unsigned int flags)\n\nRegisters an EGL image.\n\nRegisters the EGLImageKHR specified by `image` for access by CUDA. A\nhandle to the registered object is returned as `pCudaResource`.\nAdditional Mapping/Unmapping is not required for the registered\nresource and :py:obj:`~.cuGraphicsResourceGetMappedEglFrame` can be\ndirectly called on the `pCudaResource`.\n\nThe application will be responsible for synchronizing access to shared\nobjects. The application must ensure that any pending operation which\naccess the objects have completed before passing control to CUDA. This\nmay be accomplished by issuing and waiting for glFinish command on all\nGLcontexts (for OpenGL and likewise for other APIs). The application\nwill be also responsible for ensuring that any pending operation on the\nregistered CUDA resource has completed prior to executing subsequent\ncommands in other APIs accesing the same memory objects. This can be\naccomplished by calling cuCtxSynchronize or cuEventSynchronize\n(preferably).\n\nThe surface's intended usage is specified using `flags`, as follows:\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE`: Specifies no hints\n  about how this resource will be used. It is therefore assumed that\n  this resource will be read from and written to by CUDA. This is the\n  default value.\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY`: Specifies that\n  CUDA will not write to this resource.\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD`: Specifies\n  that CUDA will not read from this resource and will write over the\n  entire contents of the resource, so none of the data previously\n  stored in the resource will be preserved.\n\nThe EGLImageKHR is an object which can be used to create EGLImage\ntarget resource. It is defined as a void pointer. typedef void*\nEGLImageKHR\n\nParameters\n----------\nimage : :py:obj:`~.EGLImageKHR`\n    An EGLImageKHR image which can be used to create target resource.\nflag""s : unsigned int\n    Map flags\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\npCudaResource : :py:obj:`~.CUgraphicsResource`\n    Pointer to the returned object handle\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsEGLRegisterImage`, :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsResourceSetMapFlags`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cudaGraphicsEGLRegisterImage`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_909cuGraphicsEGLRegisterImage = {"cuGraphicsEGLRegisterImage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_909cuGraphicsEGLRegisterImage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_908cuGraphicsEGLRegisterImage};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_909cuGraphicsEGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_image = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsEGLRegisterImage (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_image,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46202, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46202, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46202, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsEGLRegisterImage", 0) < (0)) __PYX_ERR(0, 46202, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsEGLRegisterImage", 1, 2, 2, i); __PYX_ERR(0, 46202, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46202, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46202, __pyx_L3_error)
    }
    __pyx_v_image = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46203, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsEGLRegisterImage", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46202, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsEGLRegisterImage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_908cuGraphicsEGLRegisterImage(__pyx_self, __pyx_v_image, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_908cuGraphicsEGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR __pyx_v_cyimage;
  PyObject *__pyx_v_pimage = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsEGLRegisterImage", 0);

  /* "cuda/bindings/driver.pyx":46261
 *     """
 *     cdef cydriver.EGLImageKHR cyimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         pimage = 0
 *     elif isinstance(image, (EGLImageKHR,)):
*/
  __pyx_t_1 = (__pyx_v_image == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46262
 *     cdef cydriver.EGLImageKHR cyimage
 *     if image is None:
 *         pimage = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(image, (EGLImageKHR,)):
 *         pimage = int(image)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pimage = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46261
 *     """
 *     cdef cydriver.EGLImageKHR cyimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         pimage = 0
 *     elif isinstance(image, (EGLImageKHR,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46263
 *     if image is None:
 *         pimage = 0
 *     elif isinstance(image, (EGLImageKHR,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_image, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46264
 *         pimage = 0
 *     elif isinstance(image, (EGLImageKHR,)):
 *         pimage = int(image)             # <<<<<<<<<<<<<<
 *     else:
 *         pimage = int(EGLImageKHR(image))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_image); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pimage = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46263
 *     if image is None:
 *         pimage = 0
 *     elif isinstance(image, (EGLImageKHR,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46266
 *         pimage = int(image)
 *     else:
 *         pimage = int(EGLImageKHR(image))             # <<<<<<<<<<<<<<
 *     cyimage = <cydriver.EGLImageKHR><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_image};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46266, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pimage = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46267
 *     else:
 *         pimage = int(EGLImageKHR(image))
 *     cyimage = <cydriver.EGLImageKHR><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46267, __pyx_L1_error)
  __pyx_v_cyimage = ((__pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46268
 *         pimage = int(EGLImageKHR(image))
 *     cyimage = <cydriver.EGLImageKHR><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsEGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46268, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":46269
 *     cyimage = <cydriver.EGLImageKHR><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsEGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46270
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
 *         err = cydriver.cuGraphicsEGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsEGLRegisterImage(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cyimage, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46270, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46269
 *     cyimage = <cydriver.EGLImageKHR><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsEGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46271
 *     with nogil:
 *         err = cydriver.cuGraphicsEGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46272
 *         err = cydriver.cuGraphicsEGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pCudaResource)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 46272, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 46272, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46271
 *     with nogil:
 *         err = cydriver.cuGraphicsEGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  }

  /* "cuda/bindings/driver.pyx":46273
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46273, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 46273, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46202
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsEGLRegisterImage(image, unsigned int flags):
 *     """ Registers an EGL image.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsEGLRegisterImage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pimage);
  __Pyx_XDECREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46275
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnect(stream):
 *     """ Connect CUDA to EGLStream as a consumer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_911cuEGLStreamConsumerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_910cuEGLStreamConsumerConnect, "cuEGLStreamConsumerConnect(stream)\n\nConnect CUDA to EGLStream as a consumer.\n\nConnect CUDA as a consumer to EGLStreamKHR specified by `stream`.\n\nThe EGLStreamKHR is an EGL object that transfers a sequence of image\nframes from one API to another.\n\nParameters\n----------\nstream : :py:obj:`~.EGLStreamKHR`\n    EGLStreamKHR handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\nconn : :py:obj:`~.CUeglStreamConnection`\n    Pointer to the returned connection handle\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerConnect`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_911cuEGLStreamConsumerConnect = {"cuEGLStreamConsumerConnect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_911cuEGLStreamConsumerConnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_910cuEGLStreamConsumerConnect};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_911cuEGLStreamConsumerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_stream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerConnect (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_stream,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46275, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46275, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamConsumerConnect", 0) < (0)) __PYX_ERR(0, 46275, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerConnect", 1, 1, 1, i); __PYX_ERR(0, 46275, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46275, __pyx_L3_error)
    }
    __pyx_v_stream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerConnect", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 46275, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerConnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_910cuEGLStreamConsumerConnect(__pyx_self, __pyx_v_stream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_910cuEGLStreamConsumerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_conn = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerConnect", 0);

  /* "cuda/bindings/driver.pyx":46301
 *     """
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46302
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46301
 *     """
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46303
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46304
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46303
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46306
 *         pstream = int(stream)
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46306, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46307
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46307, __pyx_L1_error)
  __pyx_v_cystream = ((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46308
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46308, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_conn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":46309
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46310
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerConnect(((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)__pyx_v_conn->_pvt_ptr), __pyx_v_cystream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46310, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46309
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46311
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46312
 *         err = cydriver.cuEGLStreamConsumerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], conn)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 46312, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 46312, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46311
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)
*/
  }

  /* "cuda/bindings/driver.pyx":46313
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46313, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_conn)) != (0)) __PYX_ERR(0, 46313, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46275
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnect(stream):
 *     """ Connect CUDA to EGLStream as a consumer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerConnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF((PyObject *)__pyx_v_conn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46315
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnectWithFlags(stream, unsigned int flags):
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_913cuEGLStreamConsumerConnectWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_912cuEGLStreamConsumerConnectWithFlags, "cuEGLStreamConsumerConnectWithFlags(stream, unsigned int flags)\n\nConnect CUDA to EGLStream as a consumer with given flags.\n\nConnect CUDA as a consumer to EGLStreamKHR specified by `stream` with\nspecified `flags` defined by CUeglResourceLocationFlags.\n\nThe flags specify whether the consumer wants to access frames from\nsystem memory or video memory. Default is\n:py:obj:`~.CU_EGL_RESOURCE_LOCATION_VIDMEM`.\n\nParameters\n----------\nstream : :py:obj:`~.EGLStreamKHR`\n    EGLStreamKHR handle\nflags : unsigned int\n    Flags denote intended location - system or video.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\nconn : :py:obj:`~.CUeglStreamConnection`\n    Pointer to the returned connection handle\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerConnectWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_913cuEGLStreamConsumerConnectWithFlags = {"cuEGLStreamConsumerConnectWithFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_913cuEGLStreamConsumerConnectWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_912cuEGLStreamConsumerConnectWithFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_913cuEGLStreamConsumerConnectWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_stream = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerConnectWithFlags (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_stream,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46315, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46315, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46315, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamConsumerConnectWithFlags", 0) < (0)) __PYX_ERR(0, 46315, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerConnectWithFlags", 1, 2, 2, i); __PYX_ERR(0, 46315, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46315, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46315, __pyx_L3_error)
    }
    __pyx_v_stream = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46316, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerConnectWithFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46315, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerConnectWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_912cuEGLStreamConsumerConnectWithFlags(__pyx_self, __pyx_v_stream, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_912cuEGLStreamConsumerConnectWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_conn = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerConnectWithFlags", 0);

  /* "cuda/bindings/driver.pyx":46345
 *     """
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46346
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46345
 *     """
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46347
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46348
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46347
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46350
 *         pstream = int(stream)
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46350, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46351
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46351, __pyx_L1_error)
  __pyx_v_cystream = ((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46352
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerConnectWithFlags(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46352, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_conn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":46353
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerConnectWithFlags(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46354
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerConnectWithFlags(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerConnectWithFlags(((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)__pyx_v_conn->_pvt_ptr), __pyx_v_cystream, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46354, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46353
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerConnectWithFlags(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46355
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerConnectWithFlags(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46356
 *         err = cydriver.cuEGLStreamConsumerConnectWithFlags(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], conn)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 46356, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 46356, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46355
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerConnectWithFlags(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)
*/
  }

  /* "cuda/bindings/driver.pyx":46357
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46357, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_conn)) != (0)) __PYX_ERR(0, 46357, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46315
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnectWithFlags(stream, unsigned int flags):
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerConnectWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF((PyObject *)__pyx_v_conn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46359
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerDisconnect(conn):
 *     """ Disconnect CUDA as a consumer to EGLStream .
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_915cuEGLStreamConsumerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_914cuEGLStreamConsumerDisconnect, "cuEGLStreamConsumerDisconnect(conn)\n\nDisconnect CUDA as a consumer to EGLStream .\n\nDisconnect CUDA as a consumer to EGLStreamKHR.\n\nParameters\n----------\nconn : :py:obj:`~.CUeglStreamConnection`\n    Conection to disconnect.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerDisconnect`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_915cuEGLStreamConsumerDisconnect = {"cuEGLStreamConsumerDisconnect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_915cuEGLStreamConsumerDisconnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_914cuEGLStreamConsumerDisconnect};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_915cuEGLStreamConsumerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_conn = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerDisconnect (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conn,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46359, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46359, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamConsumerDisconnect", 0) < (0)) __PYX_ERR(0, 46359, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerDisconnect", 1, 1, 1, i); __PYX_ERR(0, 46359, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46359, __pyx_L3_error)
    }
    __pyx_v_conn = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerDisconnect", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 46359, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerDisconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_914cuEGLStreamConsumerDisconnect(__pyx_self, __pyx_v_conn);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_914cuEGLStreamConsumerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn) {
  __pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *__pyx_v_cyconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerDisconnect", 0);

  /* "cuda/bindings/driver.pyx":46380
 *     """
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46381
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
*/
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46380
 *     """
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46382
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46383
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
*/
    __pyx_t_3 = __pyx_v_conn;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46384
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46384, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46382
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46385
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46386
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46386, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46385
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46388
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerDisconnect(cyconn)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46388, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46388, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46389
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerDisconnect(cyconn)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46390
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerDisconnect(cyconn)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerDisconnect(__pyx_v_cyconn); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46390, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":46389
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerDisconnect(cyconn)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46391
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerDisconnect(cyconn)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 46391, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46359
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerDisconnect(conn):
 *     """ Disconnect CUDA as a consumer to EGLStream .
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerDisconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pconn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46393
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout):
 *     """ Acquire an image frame from the EGLStream with CUDA as a consumer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_917cuEGLStreamConsumerAcquireFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_916cuEGLStreamConsumerAcquireFrame, "cuEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout)\n\nAcquire an image frame from the EGLStream with CUDA as a consumer.\n\nAcquire an image frame from EGLStreamKHR. This API can also acquire an\nold frame presented by the producer unless explicitly disabled by\nsetting EGL_SUPPORT_REUSE_NV flag to EGL_FALSE during stream\ninitialization. By default, EGLStream is created with this flag set to\nEGL_TRUE. :py:obj:`~.cuGraphicsResourceGetMappedEglFrame` can be called\non `pCudaResource` to get :py:obj:`~.CUeglFrame`.\n\nParameters\n----------\nconn : :py:obj:`~.CUeglStreamConnection`\n    Connection on which to acquire\npCudaResource : :py:obj:`~.CUgraphicsResource`\n    CUDA resource on which the stream frame will be mapped for use.\npStream : :py:obj:`~.CUstream`\n    CUDA stream for synchronization and any data migrations implied by\n    :py:obj:`~.CUeglResourceLocationFlags`.\ntimeout : unsigned int\n    Desired timeout in usec for a new frame to be acquired. If set as\n    :py:obj:`~.CUDA_EGL_INFINITE_TIMEOUT`, acquire waits infinitely.\n    After timeout occurs CUDA consumer tries to acquire an old frame if\n    available and EGL_SUPPORT_REUSE_NV flag is set.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`,\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerAcquireFrame`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_917cuEGLStreamConsumerAcquireFrame = {"cuEGLStreamConsumerAcquireFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_917cuEGLStreamConsumerAcquireFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_916cuEGLStreamConsumerAcquireFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_917cuEGLStreamConsumerAcquireFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_conn = 0;
  PyObject *__pyx_v_pCudaResource = 0;
  PyObject *__pyx_v_pStream = 0;
  unsigned int __pyx_v_timeout;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerAcquireFrame (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conn,&__pyx_mstate_global->__pyx_n_u_pCudaResource,&__pyx_mstate_global->__pyx_n_u_pStream,&__pyx_mstate_global->__pyx_n_u_timeout,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46393, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 46393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamConsumerAcquireFrame", 0) < (0)) __PYX_ERR(0, 46393, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerAcquireFrame", 1, 4, 4, i); __PYX_ERR(0, 46393, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46393, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46393, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46393, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 46393, __pyx_L3_error)
    }
    __pyx_v_conn = values[0];
    __pyx_v_pCudaResource = values[1];
    __pyx_v_pStream = values[2];
    __pyx_v_timeout = __Pyx_PyLong_As_unsigned_int(values[3]); if (unlikely((__pyx_v_timeout == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46394, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerAcquireFrame", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 46393, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerAcquireFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_916cuEGLStreamConsumerAcquireFrame(__pyx_self, __pyx_v_conn, __pyx_v_pCudaResource, __pyx_v_pStream, __pyx_v_timeout);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_916cuEGLStreamConsumerAcquireFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream, unsigned int __pyx_v_timeout) {
  CUstream *__pyx_v_cypStream;
  PyObject *__pyx_v_ppStream = NULL;
  CUgraphicsResource *__pyx_v_cypCudaResource;
  PyObject *__pyx_v_ppCudaResource = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *__pyx_v_cyconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerAcquireFrame", 0);

  /* "cuda/bindings/driver.pyx":46429
 *     """
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46430
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
*/
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46429
 *     """
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46431
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46432
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
*/
    __pyx_t_3 = __pyx_v_pStream;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46432, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46433
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46433, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46431
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46434
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_pStream); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46435
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46435, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46434
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46437
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphicsResource *cypCudaResource
 *     if pCudaResource is None:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46437, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46437, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46439
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
 *     cdef cydriver.CUgraphicsResource *cypCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_pCudaResource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46440
 *     cdef cydriver.CUgraphicsResource *cypCudaResource
 *     if pCudaResource is None:
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = pCudaResource.getPtr()
*/
    __pyx_v_cypCudaResource = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46439
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
 *     cdef cydriver.CUgraphicsResource *cypCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46441
 *     if pCudaResource is None:
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = pCudaResource.getPtr()
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>ppCudaResource
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pCudaResource, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46442
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = pCudaResource.getPtr()             # <<<<<<<<<<<<<<
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):
*/
    __pyx_t_6 = __pyx_v_pCudaResource;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46442, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppCudaResource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46443
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = pCudaResource.getPtr()
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>ppCudaResource             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (int)):
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>pCudaResource
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppCudaResource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46443, __pyx_L1_error)
    __pyx_v_cypCudaResource = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46441
 *     if pCudaResource is None:
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = pCudaResource.getPtr()
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>ppCudaResource
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46444
 *         ppCudaResource = pCudaResource.getPtr()
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):             # <<<<<<<<<<<<<<
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>pCudaResource
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_pCudaResource); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46445
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>pCudaResource             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(pCudaResource)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pCudaResource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46445, __pyx_L1_error)
    __pyx_v_cypCudaResource = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46444
 *         ppCudaResource = pCudaResource.getPtr()
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):             # <<<<<<<<<<<<<<
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>pCudaResource
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46447
 *         cypCudaResource = <cydriver.CUgraphicsResource*><void_ptr>pCudaResource
 *     else:
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(pCudaResource)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
*/
  /*else*/ {
    __pyx_t_6 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_8 = __pyx_builtin_TypeError; 
    __pyx_t_3 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pCudaResource))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pCudaResource_is_not_in, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46447, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46447, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":46449
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(pCudaResource)))
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46450
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
*/
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46449
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, driver.CUgraphicsResource'>, found " + str(type(pCudaResource)))
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":46451
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46452
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
*/
    __pyx_t_8 = __pyx_v_conn;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46453
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46453, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46451
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":46454
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46455
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46455, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46454
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":46457
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerAcquireFrame(cyconn, cypCudaResource, cypStream, timeout)
*/
  /*else*/ {
    __pyx_t_8 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_7 = __pyx_builtin_TypeError; 
    __pyx_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46457, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46457, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":46458
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerAcquireFrame(cyconn, cypCudaResource, cypStream, timeout)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46459
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerAcquireFrame(cyconn, cypCudaResource, cypStream, timeout)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerAcquireFrame(__pyx_v_cyconn, __pyx_v_cypCudaResource, __pyx_v_cypStream, __pyx_v_timeout); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46459, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":46458
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerAcquireFrame(cyconn, cypCudaResource, cypStream, timeout)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":46460
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerAcquireFrame(cyconn, cypCudaResource, cypStream, timeout)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 46460, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46393
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout):
 *     """ Acquire an image frame from the EGLStream with CUDA as a consumer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerAcquireFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppStream);
  __Pyx_XDECREF(__pyx_v_ppCudaResource);
  __Pyx_XDECREF(__pyx_v_pconn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46462
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):
 *     """ Releases the last frame acquired from the EGLStream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_919cuEGLStreamConsumerReleaseFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_918cuEGLStreamConsumerReleaseFrame, "cuEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream)\n\nReleases the last frame acquired from the EGLStream.\n\nRelease the acquired image frame specified by `pCudaResource` to\nEGLStreamKHR. If EGL_SUPPORT_REUSE_NV flag is set to EGL_TRUE, at the\ntime of EGL creation this API doesn't release the last frame acquired\non the EGLStream. By default, EGLStream is created with this flag set\nto EGL_TRUE.\n\nParameters\n----------\nconn : :py:obj:`~.CUeglStreamConnection`\n    Connection on which to release\npCudaResource : :py:obj:`~.CUgraphicsResource`\n    CUDA resource whose corresponding frame is to be released\npStream : :py:obj:`~.CUstream`\n    CUDA stream on which release will be done.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`,\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerReleaseFrame`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_919cuEGLStreamConsumerReleaseFrame = {"cuEGLStreamConsumerReleaseFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_919cuEGLStreamConsumerReleaseFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_918cuEGLStreamConsumerReleaseFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_919cuEGLStreamConsumerReleaseFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_conn = 0;
  PyObject *__pyx_v_pCudaResource = 0;
  PyObject *__pyx_v_pStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerReleaseFrame (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conn,&__pyx_mstate_global->__pyx_n_u_pCudaResource,&__pyx_mstate_global->__pyx_n_u_pStream,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46462, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46462, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46462, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46462, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamConsumerReleaseFrame", 0) < (0)) __PYX_ERR(0, 46462, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerReleaseFrame", 1, 3, 3, i); __PYX_ERR(0, 46462, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46462, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46462, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46462, __pyx_L3_error)
    }
    __pyx_v_conn = values[0];
    __pyx_v_pCudaResource = values[1];
    __pyx_v_pStream = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerReleaseFrame", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 46462, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerReleaseFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_918cuEGLStreamConsumerReleaseFrame(__pyx_self, __pyx_v_conn, __pyx_v_pCudaResource, __pyx_v_pStream);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_918cuEGLStreamConsumerReleaseFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream) {
  CUstream *__pyx_v_cypStream;
  PyObject *__pyx_v_ppStream = NULL;
  CUgraphicsResource __pyx_v_cypCudaResource;
  PyObject *__pyx_v_ppCudaResource = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *__pyx_v_cyconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerReleaseFrame", 0);

  /* "cuda/bindings/driver.pyx":46491
 *     """
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46492
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
*/
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46491
 *     """
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46493
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46494
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
*/
    __pyx_t_3 = __pyx_v_pStream;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46494, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46495
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46495, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46493
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46496
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_pStream); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46497
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46497, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46496
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46499
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphicsResource cypCudaResource
 *     if pCudaResource is None:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46499, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46499, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46501
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
 *     cdef cydriver.CUgraphicsResource cypCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         ppCudaResource = 0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_pCudaResource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46502
 *     cdef cydriver.CUgraphicsResource cypCudaResource
 *     if pCudaResource is None:
 *         ppCudaResource = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = int(pCudaResource)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ppCudaResource = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46501
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
 *     cdef cydriver.CUgraphicsResource cypCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         ppCudaResource = 0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46503
 *     if pCudaResource is None:
 *         ppCudaResource = 0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = int(pCudaResource)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pCudaResource, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46504
 *         ppCudaResource = 0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = int(pCudaResource)             # <<<<<<<<<<<<<<
 *     else:
 *         ppCudaResource = int(CUgraphicsResource(pCudaResource))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pCudaResource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppCudaResource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46503
 *     if pCudaResource is None:
 *         ppCudaResource = 0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = int(pCudaResource)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46506
 *         ppCudaResource = int(pCudaResource)
 *     else:
 *         ppCudaResource = int(CUgraphicsResource(pCudaResource))             # <<<<<<<<<<<<<<
 *     cypCudaResource = <cydriver.CUgraphicsResource><void_ptr>ppCudaResource
 *     cdef cydriver.CUeglStreamConnection *cyconn
*/
  /*else*/ {
    __pyx_t_6 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
    __pyx_t_8 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_pCudaResource};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46506, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_8 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppCudaResource = ((PyObject*)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":46507
 *     else:
 *         ppCudaResource = int(CUgraphicsResource(pCudaResource))
 *     cypCudaResource = <cydriver.CUgraphicsResource><void_ptr>ppCudaResource             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppCudaResource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46507, __pyx_L1_error)
  __pyx_v_cypCudaResource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46509
 *     cypCudaResource = <cydriver.CUgraphicsResource><void_ptr>ppCudaResource
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46510
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
*/
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46509
 *     cypCudaResource = <cydriver.CUgraphicsResource><void_ptr>ppCudaResource
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":46511
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46512
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
*/
    __pyx_t_2 = __pyx_v_conn;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46512, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __pyx_v_pconn = __pyx_t_8;
    __pyx_t_8 = 0;

    /* "cuda/bindings/driver.pyx":46513
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46513, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46511
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":46514
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46515
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46515, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46514
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":46517
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerReleaseFrame(cyconn, cypCudaResource, cypStream)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_3 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_Raise(__pyx_t_8, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __PYX_ERR(0, 46517, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":46518
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerReleaseFrame(cyconn, cypCudaResource, cypStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46519
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerReleaseFrame(cyconn, cypCudaResource, cypStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerReleaseFrame(__pyx_v_cyconn, __pyx_v_cypCudaResource, __pyx_v_cypStream); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46519, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":46518
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamConsumerReleaseFrame(cyconn, cypCudaResource, cypStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":46520
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerReleaseFrame(cyconn, cypCudaResource, cypStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46520, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46462
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):
 *     """ Releases the last frame acquired from the EGLStream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamConsumerReleaseFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppStream);
  __Pyx_XDECREF(__pyx_v_ppCudaResource);
  __Pyx_XDECREF(__pyx_v_pconn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46522
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerConnect(stream, width, height):
 *     """ Connect CUDA to EGLStream as a producer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_921cuEGLStreamProducerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_920cuEGLStreamProducerConnect, "cuEGLStreamProducerConnect(stream, width, height)\n\nConnect CUDA to EGLStream as a producer.\n\nConnect CUDA as a producer to EGLStreamKHR specified by `stream`.\n\nThe EGLStreamKHR is an EGL object that transfers a sequence of image\nframes from one API to another.\n\nParameters\n----------\nstream : :py:obj:`~.EGLStreamKHR`\n    EGLStreamKHR handle\nwidth : :py:obj:`~.EGLint`\n    width of the image to be submitted to the stream\nheight : :py:obj:`~.EGLint`\n    height of the image to be submitted to the stream\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\nconn : :py:obj:`~.CUeglStreamConnection`\n    Pointer to the returned connection handle\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamProducerConnect`, :py:obj:`~.cuEGLStreamProducerDisconnect`, :py:obj:`~.cuEGLStreamProducerPresentFrame`, :py:obj:`~.cudaEGLStreamProducerConnect`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_921cuEGLStreamProducerConnect = {"cuEGLStreamProducerConnect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_921cuEGLStreamProducerConnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_920cuEGLStreamProducerConnect};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_921cuEGLStreamProducerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_width = 0;
  PyObject *__pyx_v_height = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamProducerConnect (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_stream,&__pyx_mstate_global->__pyx_n_u_width_2,&__pyx_mstate_global->__pyx_n_u_height_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46522, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46522, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46522, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46522, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamProducerConnect", 0) < (0)) __PYX_ERR(0, 46522, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerConnect", 1, 3, 3, i); __PYX_ERR(0, 46522, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46522, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46522, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46522, __pyx_L3_error)
    }
    __pyx_v_stream = values[0];
    __pyx_v_width = values[1];
    __pyx_v_height = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerConnect", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 46522, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamProducerConnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_920cuEGLStreamProducerConnect(__pyx_self, __pyx_v_stream, __pyx_v_width, __pyx_v_height);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_920cuEGLStreamProducerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_width, PyObject *__pyx_v_height) {
  __pyx_t_4cuda_8bindings_8cydriver_EGLint __pyx_v_cyheight;
  PyObject *__pyx_v_pheight = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_EGLint __pyx_v_cywidth;
  PyObject *__pyx_v_pwidth = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR __pyx_v_cystream;
  PyObject *__pyx_v_pstream = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_conn = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamProducerConnect", 0);

  /* "cuda/bindings/driver.pyx":46552
 *     """
 *     cdef cydriver.EGLint cyheight
 *     if height is None:             # <<<<<<<<<<<<<<
 *         pheight = 0
 *     elif isinstance(height, (EGLint,)):
*/
  __pyx_t_1 = (__pyx_v_height == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46553
 *     cdef cydriver.EGLint cyheight
 *     if height is None:
 *         pheight = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(height, (EGLint,)):
 *         pheight = int(height)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pheight = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46552
 *     """
 *     cdef cydriver.EGLint cyheight
 *     if height is None:             # <<<<<<<<<<<<<<
 *         pheight = 0
 *     elif isinstance(height, (EGLint,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46554
 *     if height is None:
 *         pheight = 0
 *     elif isinstance(height, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pheight = int(height)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_height, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46555
 *         pheight = 0
 *     elif isinstance(height, (EGLint,)):
 *         pheight = int(height)             # <<<<<<<<<<<<<<
 *     else:
 *         pheight = int(EGLint(height))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_height); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pheight = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46554
 *     if height is None:
 *         pheight = 0
 *     elif isinstance(height, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pheight = int(height)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46557
 *         pheight = int(height)
 *     else:
 *         pheight = int(EGLint(height))             # <<<<<<<<<<<<<<
 *     cyheight = <cydriver.EGLint><void_ptr>pheight
 *     cdef cydriver.EGLint cywidth
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_height};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46557, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pheight = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46558
 *     else:
 *         pheight = int(EGLint(height))
 *     cyheight = <cydriver.EGLint><void_ptr>pheight             # <<<<<<<<<<<<<<
 *     cdef cydriver.EGLint cywidth
 *     if width is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pheight); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46558, __pyx_L1_error)
  __pyx_v_cyheight = ((__pyx_t_4cuda_8bindings_8cydriver_EGLint)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46560
 *     cyheight = <cydriver.EGLint><void_ptr>pheight
 *     cdef cydriver.EGLint cywidth
 *     if width is None:             # <<<<<<<<<<<<<<
 *         pwidth = 0
 *     elif isinstance(width, (EGLint,)):
*/
  __pyx_t_1 = (__pyx_v_width == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46561
 *     cdef cydriver.EGLint cywidth
 *     if width is None:
 *         pwidth = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(width, (EGLint,)):
 *         pwidth = int(width)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pwidth = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46560
 *     cyheight = <cydriver.EGLint><void_ptr>pheight
 *     cdef cydriver.EGLint cywidth
 *     if width is None:             # <<<<<<<<<<<<<<
 *         pwidth = 0
 *     elif isinstance(width, (EGLint,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46562
 *     if width is None:
 *         pwidth = 0
 *     elif isinstance(width, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pwidth = int(width)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_width, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46563
 *         pwidth = 0
 *     elif isinstance(width, (EGLint,)):
 *         pwidth = int(width)             # <<<<<<<<<<<<<<
 *     else:
 *         pwidth = int(EGLint(width))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_width); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pwidth = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":46562
 *     if width is None:
 *         pwidth = 0
 *     elif isinstance(width, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pwidth = int(width)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46565
 *         pwidth = int(width)
 *     else:
 *         pwidth = int(EGLint(width))             # <<<<<<<<<<<<<<
 *     cywidth = <cydriver.EGLint><void_ptr>pwidth
 *     cdef cydriver.EGLStreamKHR cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_width};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46565, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pwidth = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":46566
 *     else:
 *         pwidth = int(EGLint(width))
 *     cywidth = <cydriver.EGLint><void_ptr>pwidth             # <<<<<<<<<<<<<<
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pwidth); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46566, __pyx_L1_error)
  __pyx_v_cywidth = ((__pyx_t_4cuda_8bindings_8cydriver_EGLint)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46568
 *     cywidth = <cydriver.EGLint><void_ptr>pwidth
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
*/
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46569
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:
 *         pstream = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pstream = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46568
 *     cywidth = <cydriver.EGLint><void_ptr>pwidth
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":46570
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46571
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":46570
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":46573
 *         pstream = int(stream)
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR);
    __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_stream};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46573, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":46574
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46574, __pyx_L1_error)
  __pyx_v_cystream = ((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46575
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, cywidth, cyheight)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection);
  __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46575, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_conn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":46576
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamProducerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, cywidth, cyheight)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46577
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, cywidth, cyheight)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerConnect(((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)__pyx_v_conn->_pvt_ptr), __pyx_v_cystream, __pyx_v_cywidth, __pyx_v_cyheight); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46577, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46576
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamProducerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, cywidth, cyheight)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":46578
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, cywidth, cyheight)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46579
 *         err = cydriver.cuEGLStreamProducerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, cywidth, cyheight)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], conn)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 46579, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None) != (0)) __PYX_ERR(0, 46579, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46578
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerConnect(<cydriver.CUeglStreamConnection*>conn._pvt_ptr, cystream, cywidth, cyheight)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)
*/
  }

  /* "cuda/bindings/driver.pyx":46580
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 46580, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_conn)) != (0)) __PYX_ERR(0, 46580, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46522
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerConnect(stream, width, height):
 *     """ Connect CUDA to EGLStream as a producer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamProducerConnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pheight);
  __Pyx_XDECREF(__pyx_v_pwidth);
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF((PyObject *)__pyx_v_conn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46582
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerDisconnect(conn):
 *     """ Disconnect CUDA as a producer to EGLStream .
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_923cuEGLStreamProducerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_922cuEGLStreamProducerDisconnect, "cuEGLStreamProducerDisconnect(conn)\n\nDisconnect CUDA as a producer to EGLStream .\n\nDisconnect CUDA as a producer to EGLStreamKHR.\n\nParameters\n----------\nconn : :py:obj:`~.CUeglStreamConnection`\n    Conection to disconnect.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamProducerConnect`, :py:obj:`~.cuEGLStreamProducerDisconnect`, :py:obj:`~.cuEGLStreamProducerPresentFrame`, :py:obj:`~.cudaEGLStreamProducerDisconnect`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_923cuEGLStreamProducerDisconnect = {"cuEGLStreamProducerDisconnect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_923cuEGLStreamProducerDisconnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_922cuEGLStreamProducerDisconnect};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_923cuEGLStreamProducerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_conn = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamProducerDisconnect (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conn,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46582, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46582, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamProducerDisconnect", 0) < (0)) __PYX_ERR(0, 46582, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerDisconnect", 1, 1, 1, i); __PYX_ERR(0, 46582, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46582, __pyx_L3_error)
    }
    __pyx_v_conn = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerDisconnect", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 46582, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamProducerDisconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_922cuEGLStreamProducerDisconnect(__pyx_self, __pyx_v_conn);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_922cuEGLStreamProducerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn) {
  __pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *__pyx_v_cyconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamProducerDisconnect", 0);

  /* "cuda/bindings/driver.pyx":46603
 *     """
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46604
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
*/
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46603
 *     """
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46605
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46606
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
*/
    __pyx_t_3 = __pyx_v_conn;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46606, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46607
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46607, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46605
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46608
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46609
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46609, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46608
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46611
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerDisconnect(cyconn)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46611, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46611, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46612
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamProducerDisconnect(cyconn)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46613
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerDisconnect(cyconn)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerDisconnect(__pyx_v_cyconn); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46613, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":46612
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamProducerDisconnect(cyconn)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46614
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerDisconnect(cyconn)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 46614, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46582
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerDisconnect(conn):
 *     """ Disconnect CUDA as a producer to EGLStream .
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamProducerDisconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pconn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46616
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerPresentFrame(conn, eglframe not None : CUeglFrame, pStream):
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_925cuEGLStreamProducerPresentFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_924cuEGLStreamProducerPresentFrame, "cuEGLStreamProducerPresentFrame(conn, CUeglFrame eglframe: CUeglFrame, pStream)\n\nPresent a CUDA eglFrame to the EGLStream with CUDA as a producer.\n\nWhen a frame is presented by the producer, it gets associated with the\nEGLStream and thus it is illegal to free the frame before the producer\nis disconnected. If a frame is freed and reused it may lead to\nundefined behavior.\n\nIf producer and consumer are on different GPUs (iGPU and dGPU) then\nframetype :py:obj:`~.CU_EGL_FRAME_TYPE_ARRAY` is not supported.\n:py:obj:`~.CU_EGL_FRAME_TYPE_PITCH` can be used for such cross-device\napplications.\n\nThe :py:obj:`~.CUeglFrame` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nFor :py:obj:`~.CUeglFrame` of type :py:obj:`~.CU_EGL_FRAME_TYPE_PITCH`,\nthe application may present sub-region of a memory allocation. In that\ncase, the pitched pointer will specify the start address of the sub-\nregion in the allocation and corresponding :py:obj:`~.CUeglFrame`\nfields will specify the dimensions of the sub-region.\n\nParameters\n----------\nconn : :py:obj:`~.CUeglStreamConnection`\n    Connection on which to present the CUDA array\neglframe : :py:obj:`~.CUeglFrame`\n    CUDA Eglstream Proucer Frame handle to be sent to the consumer over\n    EglStream.\npStream : :py:obj:`~.CUstream`\n    CUDA stream on which to present the frame.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`,\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamProducerConnect`, :py:obj:`~.cuEGLStreamProducerDisconnect`, :py:obj:`~.cuEGLStreamProducerReturnFrame`, :py:obj:`~.cudaEGLStreamProducerPresentFrame`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_925cuEGLStreamProducerPresentFrame = {"cuEGLStreamProducerPresentFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_925cuEGLStreamProducerPresentFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_924cuEGLStreamProducerPresentFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_925cuEGLStreamProducerPresentFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_conn = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *__pyx_v_eglframe = 0;
  PyObject *__pyx_v_pStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamProducerPresentFrame (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conn,&__pyx_mstate_global->__pyx_n_u_eglframe,&__pyx_mstate_global->__pyx_n_u_pStream,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46616, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamProducerPresentFrame", 0) < (0)) __PYX_ERR(0, 46616, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerPresentFrame", 1, 3, 3, i); __PYX_ERR(0, 46616, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46616, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46616, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46616, __pyx_L3_error)
    }
    __pyx_v_conn = values[0];
    __pyx_v_eglframe = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *)values[1]);
    __pyx_v_pStream = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerPresentFrame", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 46616, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamProducerPresentFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eglframe), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame, 0, "eglframe", 0))) __PYX_ERR(0, 46617, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_924cuEGLStreamProducerPresentFrame(__pyx_self, __pyx_v_conn, __pyx_v_eglframe, __pyx_v_pStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_924cuEGLStreamProducerPresentFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream) {
  CUstream *__pyx_v_cypStream;
  PyObject *__pyx_v_ppStream = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *__pyx_v_cyconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamProducerPresentFrame", 0);

  /* "cuda/bindings/driver.pyx":46660
 *     """
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46661
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
*/
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46660
 *     """
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46662
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46663
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
*/
    __pyx_t_3 = __pyx_v_pStream;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46663, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46664
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46664, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46662
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46665
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_pStream); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46666
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46666, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46665
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46668
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46668, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46668, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46670
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46671
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
*/
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46670
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46672
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46673
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
*/
    __pyx_t_6 = __pyx_v_conn;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46673, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46674
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46674, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46672
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46675
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46676
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46676, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46675
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46678
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerPresentFrame(cyconn, eglframe._pvt_ptr[0], cypStream)
*/
  /*else*/ {
    __pyx_t_6 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_8 = __pyx_builtin_TypeError; 
    __pyx_t_3 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46678, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46678, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":46679
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamProducerPresentFrame(cyconn, eglframe._pvt_ptr[0], cypStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46680
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerPresentFrame(cyconn, eglframe._pvt_ptr[0], cypStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerPresentFrame(__pyx_v_cyconn, (__pyx_v_eglframe->__pyx_base.__pyx_base._pvt_ptr[0]), __pyx_v_cypStream); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46680, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":46679
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamProducerPresentFrame(cyconn, eglframe._pvt_ptr[0], cypStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":46681
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerPresentFrame(cyconn, eglframe._pvt_ptr[0], cypStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46681, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46616
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerPresentFrame(conn, eglframe not None : CUeglFrame, pStream):
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamProducerPresentFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppStream);
  __Pyx_XDECREF(__pyx_v_pconn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46683
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerReturnFrame(conn, eglframe : Optional[CUeglFrame], pStream):
 *     """ Return the CUDA eglFrame to the EGLStream released by the consumer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_927cuEGLStreamProducerReturnFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_926cuEGLStreamProducerReturnFrame, "cuEGLStreamProducerReturnFrame(conn, CUeglFrame eglframe: Optional[CUeglFrame], pStream)\n\nReturn the CUDA eglFrame to the EGLStream released by the consumer.\n\nThis API can potentially return CUDA_ERROR_LAUNCH_TIMEOUT if the\nconsumer has not returned a frame to EGL stream. If timeout is returned\nthe application can retry.\n\nParameters\n----------\nconn : :py:obj:`~.CUeglStreamConnection`\n    Connection on which to return\neglframe : :py:obj:`~.CUeglFrame`\n    CUDA Eglstream Proucer Frame handle returned from the consumer over\n    EglStream.\npStream : :py:obj:`~.CUstream`\n    CUDA stream on which to return the frame.\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`\n\nSee Also\n--------\n:py:obj:`~.cuEGLStreamProducerConnect`, :py:obj:`~.cuEGLStreamProducerDisconnect`, :py:obj:`~.cuEGLStreamProducerPresentFrame`, :py:obj:`~.cudaEGLStreamProducerReturnFrame`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_927cuEGLStreamProducerReturnFrame = {"cuEGLStreamProducerReturnFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_927cuEGLStreamProducerReturnFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_926cuEGLStreamProducerReturnFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_927cuEGLStreamProducerReturnFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_conn = 0;
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *__pyx_v_eglframe = 0;
  PyObject *__pyx_v_pStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEGLStreamProducerReturnFrame (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conn,&__pyx_mstate_global->__pyx_n_u_eglframe,&__pyx_mstate_global->__pyx_n_u_pStream,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46683, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46683, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46683, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46683, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEGLStreamProducerReturnFrame", 0) < (0)) __PYX_ERR(0, 46683, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerReturnFrame", 1, 3, 3, i); __PYX_ERR(0, 46683, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46683, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46683, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46683, __pyx_L3_error)
    }
    __pyx_v_conn = values[0];
    __pyx_v_eglframe = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *)values[1]);
    __pyx_v_pStream = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerReturnFrame", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 46683, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamProducerReturnFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eglframe), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame, 1, "eglframe", 0))) __PYX_ERR(0, 46684, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_926cuEGLStreamProducerReturnFrame(__pyx_self, __pyx_v_conn, __pyx_v_eglframe, __pyx_v_pStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_926cuEGLStreamProducerReturnFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream) {
  CUstream *__pyx_v_cypStream;
  PyObject *__pyx_v_ppStream = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *__pyx_v_cyconn;
  PyObject *__pyx_v_pconn = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame *__pyx_v_cyeglframe_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *__pyx_t_9;
  CUresult __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamProducerReturnFrame", 0);

  /* "cuda/bindings/driver.pyx":46711
 *     """
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
*/
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46712
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
*/
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46711
 *     """
 *     cdef cydriver.CUstream *cypStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46713
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46714
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
*/
    __pyx_t_3 = __pyx_v_pStream;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46714, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46715
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46715, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46713
 *     if pStream is None:
 *         cypStream = <cydriver.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46716
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_pStream); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46717
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46717, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46716
 *         ppStream = pStream.getPtr()
 *         cypStream = <cydriver.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46719
 *         cypStream = <cydriver.CUstream*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46719, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46719, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46721
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46722
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
*/
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":46721
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, driver.CUstream'>, found " + str(type(pStream)))
 *     cdef cydriver.CUeglStreamConnection *cyconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46723
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46724
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
*/
    __pyx_t_6 = __pyx_v_conn;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46724, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46725
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46725, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46723
 *     if conn is None:
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46726
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":46727
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46727, __pyx_L1_error)
    __pyx_v_cyconn = ((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":46726
 *         pconn = conn.getPtr()
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46729
 *         cyconn = <cydriver.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUeglFrame* cyeglframe_ptr = eglframe._pvt_ptr if eglframe is not None else NULL
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_6 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_8 = __pyx_builtin_TypeError; 
    __pyx_t_3 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46729, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 46729, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":46730
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     cdef cydriver.CUeglFrame* cyeglframe_ptr = eglframe._pvt_ptr if eglframe is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerReturnFrame(cyconn, cyeglframe_ptr, cypStream)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_eglframe) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_9 = __pyx_v_eglframe->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_9 = NULL;
  }
  __pyx_v_cyeglframe_ptr = __pyx_t_9;

  /* "cuda/bindings/driver.pyx":46731
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     cdef cydriver.CUeglFrame* cyeglframe_ptr = eglframe._pvt_ptr if eglframe is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamProducerReturnFrame(cyconn, cyeglframe_ptr, cypStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46732
 *     cdef cydriver.CUeglFrame* cyeglframe_ptr = eglframe._pvt_ptr if eglframe is not None else NULL
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerReturnFrame(cyconn, cyeglframe_ptr, cypStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerReturnFrame(__pyx_v_cyconn, __pyx_v_cyeglframe_ptr, __pyx_v_cypStream); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46732, __pyx_L6_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":46731
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, driver.CUeglStreamConnection'>, found " + str(type(conn)))
 *     cdef cydriver.CUeglFrame* cyeglframe_ptr = eglframe._pvt_ptr if eglframe is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEGLStreamProducerReturnFrame(cyconn, cyeglframe_ptr, cypStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":46733
 *     with nogil:
 *         err = cydriver.cuEGLStreamProducerReturnFrame(cyconn, cyeglframe_ptr, cypStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46733, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46683
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerReturnFrame(conn, eglframe : Optional[CUeglFrame], pStream):
 *     """ Return the CUDA eglFrame to the EGLStream released by the consumer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEGLStreamProducerReturnFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppStream);
  __Pyx_XDECREF(__pyx_v_pconn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46735
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel):
 *     """ Get an eglFrame through which to access a registered EGL graphics resource.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_929cuGraphicsResourceGetMappedEglFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_928cuGraphicsResourceGetMappedEglFrame, "cuGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel)\n\nGet an eglFrame through which to access a registered EGL graphics resource.\n\nReturns in `*eglFrame` an eglFrame pointer through which the registered\ngraphics resource `resource` may be accessed. This API can only be\ncalled for registered EGL graphics resources.\n\nThe :py:obj:`~.CUeglFrame` is defined as:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nIf `resource` is not registered then :py:obj:`~.CUDA_ERROR_NOT_MAPPED`\nis returned.\n\nParameters\n----------\nresource : :py:obj:`~.CUgraphicsResource`\n    None\nindex : unsigned int\n    None\nmipLevel : unsigned int\n    None\n\nReturns\n-------\nCUresult\n\neglFrame : :py:obj:`~.CUeglFrame`\n    None");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_929cuGraphicsResourceGetMappedEglFrame = {"cuGraphicsResourceGetMappedEglFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_929cuGraphicsResourceGetMappedEglFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_928cuGraphicsResourceGetMappedEglFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_929cuGraphicsResourceGetMappedEglFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_resource = 0;
  unsigned int __pyx_v_index;
  unsigned int __pyx_v_mipLevel;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedEglFrame (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_resource_2,&__pyx_mstate_global->__pyx_n_u_index,&__pyx_mstate_global->__pyx_n_u_mipLevel,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46735, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46735, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46735, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46735, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsResourceGetMappedEglFrame", 0) < (0)) __PYX_ERR(0, 46735, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedEglFrame", 1, 3, 3, i); __PYX_ERR(0, 46735, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46735, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46735, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46735, __pyx_L3_error)
    }
    __pyx_v_resource = values[0];
    __pyx_v_index = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46736, __pyx_L3_error)
    __pyx_v_mipLevel = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_mipLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46736, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedEglFrame", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 46735, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsResourceGetMappedEglFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_928cuGraphicsResourceGetMappedEglFrame(__pyx_self, __pyx_v_resource, __pyx_v_index, __pyx_v_mipLevel);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_928cuGraphicsResourceGetMappedEglFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_index, unsigned int __pyx_v_mipLevel) {
  CUgraphicsResource __pyx_v_cyresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *__pyx_v_eglFrame = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedEglFrame", 0);

  /* "cuda/bindings/driver.pyx":46767
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46768
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:
 *         presource = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_presource = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46767
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46769
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46770
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46769
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46772
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUeglFrame eglFrame = CUeglFrame()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46772, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46773
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46773, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46774
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUeglFrame eglFrame = CUeglFrame()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedEglFrame(<cydriver.CUeglFrame*>eglFrame._pvt_ptr, cyresource, index, mipLevel)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46774, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_eglFrame = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":46775
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceGetMappedEglFrame(<cydriver.CUeglFrame*>eglFrame._pvt_ptr, cyresource, index, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46776
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedEglFrame(<cydriver.CUeglFrame*>eglFrame._pvt_ptr, cyresource, index, mipLevel)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedEglFrame(((__pyx_t_4cuda_8bindings_8cydriver_CUeglFrame *)__pyx_v_eglFrame->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyresource, __pyx_v_index, __pyx_v_mipLevel); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46776, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46775
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceGetMappedEglFrame(<cydriver.CUeglFrame*>eglFrame._pvt_ptr, cyresource, index, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46777
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedEglFrame(<cydriver.CUeglFrame*>eglFrame._pvt_ptr, cyresource, index, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], eglFrame)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46778
 *         err = cydriver.cuGraphicsResourceGetMappedEglFrame(<cydriver.CUeglFrame*>eglFrame._pvt_ptr, cyresource, index, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], eglFrame)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 46778, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 46778, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46777
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceGetMappedEglFrame(<cydriver.CUeglFrame*>eglFrame._pvt_ptr, cyresource, index, mipLevel)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], eglFrame)
*/
  }

  /* "cuda/bindings/driver.pyx":46779
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], eglFrame)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46779, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_eglFrame);
  __Pyx_GIVEREF((PyObject *)__pyx_v_eglFrame);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_eglFrame)) != (0)) __PYX_ERR(0, 46779, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46735
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel):
 *     """ Get an eglFrame through which to access a registered EGL graphics resource.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsResourceGetMappedEglFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XDECREF((PyObject *)__pyx_v_eglFrame);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46781
 *     return (_dict_CUresult[err], eglFrame)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreateFromEGLSync(eglSync, unsigned int flags):
 *     """ Creates an event from EGLSync object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_931cuEventCreateFromEGLSync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_930cuEventCreateFromEGLSync, "cuEventCreateFromEGLSync(eglSync, unsigned int flags)\n\nCreates an event from EGLSync object.\n\nCreates an event *phEvent from an EGLSyncKHR eglSync with the flags\nspecified via `flags`. Valid flags include:\n\n- :py:obj:`~.CU_EVENT_DEFAULT`: Default event creation flag.\n\n- :py:obj:`~.CU_EVENT_BLOCKING_SYNC`: Specifies that the created event\n  should use blocking synchronization. A CPU thread that uses\n  :py:obj:`~.cuEventSynchronize()` to wait on an event created with\n  this flag will block until the event has actually been completed.\n\nOnce the `eglSync` gets destroyed, :py:obj:`~.cuEventDestroy` is the\nonly API that can be invoked on the event.\n\n:py:obj:`~.cuEventRecord` and TimingData are not supported for events\ncreated from EGLSync.\n\nThe EGLSyncKHR is an opaque handle to an EGL sync object. typedef void*\nEGLSyncKHR\n\nParameters\n----------\neglSync : :py:obj:`~.EGLSyncKHR`\n    Opaque handle to EGLSync object\nflags : unsigned int\n    Event creation flags\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\nphEvent : :py:obj:`~.CUevent`\n    Returns newly created event\n\nSee Also\n--------\n:py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_931cuEventCreateFromEGLSync = {"cuEventCreateFromEGLSync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_931cuEventCreateFromEGLSync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_930cuEventCreateFromEGLSync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_931cuEventCreateFromEGLSync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_eglSync = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuEventCreateFromEGLSync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_eglSync,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46781, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46781, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46781, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuEventCreateFromEGLSync", 0) < (0)) __PYX_ERR(0, 46781, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuEventCreateFromEGLSync", 1, 2, 2, i); __PYX_ERR(0, 46781, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46781, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46781, __pyx_L3_error)
    }
    __pyx_v_eglSync = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46782, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventCreateFromEGLSync", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46781, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventCreateFromEGLSync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_930cuEventCreateFromEGLSync(__pyx_self, __pyx_v_eglSync, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_930cuEventCreateFromEGLSync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglSync, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR __pyx_v_cyeglSync;
  PyObject *__pyx_v_peglSync = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_phEvent = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventCreateFromEGLSync", 0);

  /* "cuda/bindings/driver.pyx":46823
 *     """
 *     cdef cydriver.EGLSyncKHR cyeglSync
 *     if eglSync is None:             # <<<<<<<<<<<<<<
 *         peglSync = 0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
*/
  __pyx_t_1 = (__pyx_v_eglSync == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46824
 *     cdef cydriver.EGLSyncKHR cyeglSync
 *     if eglSync is None:
 *         peglSync = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
 *         peglSync = int(eglSync)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_peglSync = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46823
 *     """
 *     cdef cydriver.EGLSyncKHR cyeglSync
 *     if eglSync is None:             # <<<<<<<<<<<<<<
 *         peglSync = 0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46825
 *     if eglSync is None:
 *         peglSync = 0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):             # <<<<<<<<<<<<<<
 *         peglSync = int(eglSync)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_eglSync, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46826
 *         peglSync = 0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
 *         peglSync = int(eglSync)             # <<<<<<<<<<<<<<
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_eglSync); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_peglSync = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46825
 *     if eglSync is None:
 *         peglSync = 0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):             # <<<<<<<<<<<<<<
 *         peglSync = int(eglSync)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46828
 *         peglSync = int(eglSync)
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))             # <<<<<<<<<<<<<<
 *     cyeglSync = <cydriver.EGLSyncKHR><void_ptr>peglSync
 *     cdef CUevent phEvent = CUevent()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_eglSync};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46828, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_peglSync = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46829
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))
 *     cyeglSync = <cydriver.EGLSyncKHR><void_ptr>peglSync             # <<<<<<<<<<<<<<
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_peglSync); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46829, __pyx_L1_error)
  __pyx_v_cyeglSync = ((__pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46830
 *         peglSync = int(EGLSyncKHR(eglSync))
 *     cyeglSync = <cydriver.EGLSyncKHR><void_ptr>peglSync
 *     cdef CUevent phEvent = CUevent()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventCreateFromEGLSync(<cydriver.CUevent*>phEvent._pvt_ptr, cyeglSync, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46830, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_phEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":46831
 *     cyeglSync = <cydriver.EGLSyncKHR><void_ptr>peglSync
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventCreateFromEGLSync(<cydriver.CUevent*>phEvent._pvt_ptr, cyeglSync, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46832
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:
 *         err = cydriver.cuEventCreateFromEGLSync(<cydriver.CUevent*>phEvent._pvt_ptr, cyeglSync, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuEventCreateFromEGLSync(((CUevent *)__pyx_v_phEvent->_pvt_ptr), __pyx_v_cyeglSync, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46832, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46831
 *     cyeglSync = <cydriver.EGLSyncKHR><void_ptr>peglSync
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventCreateFromEGLSync(<cydriver.CUevent*>phEvent._pvt_ptr, cyeglSync, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46833
 *     with nogil:
 *         err = cydriver.cuEventCreateFromEGLSync(<cydriver.CUevent*>phEvent._pvt_ptr, cyeglSync, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46834
 *         err = cydriver.cuEventCreateFromEGLSync(<cydriver.CUevent*>phEvent._pvt_ptr, cyeglSync, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], phEvent)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 46834, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 46834, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46833
 *     with nogil:
 *         err = cydriver.cuEventCreateFromEGLSync(<cydriver.CUevent*>phEvent._pvt_ptr, cyeglSync, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)
*/
  }

  /* "cuda/bindings/driver.pyx":46835
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], phEvent)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46835, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phEvent)) != (0)) __PYX_ERR(0, 46835, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46781
 *     return (_dict_CUresult[err], eglFrame)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreateFromEGLSync(eglSync, unsigned int flags):
 *     """ Creates an event from EGLSync object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuEventCreateFromEGLSync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_peglSync);
  __Pyx_XDECREF((PyObject *)__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46837
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterBuffer(buffer, unsigned int Flags):
 *     """ Registers an OpenGL buffer object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_933cuGraphicsGLRegisterBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_932cuGraphicsGLRegisterBuffer, "cuGraphicsGLRegisterBuffer(buffer, unsigned int Flags)\n\nRegisters an OpenGL buffer object.\n\nRegisters the buffer object specified by `buffer` for access by CUDA. A\nhandle to the registered object is returned as `pCudaResource`. The\nregister flags `Flags` specify the intended usage, as follows:\n\n- :py:obj:`~.CU_GRAPHICS_REGISTER_FLAGS_NONE`: Specifies no hints about\n  how this resource will be used. It is therefore assumed that this\n  resource will be read from and written to by CUDA. This is the\n  default value.\n\n- :py:obj:`~.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY`: Specifies that CUDA\n  will not write to this resource.\n\n- :py:obj:`~.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD`: Specifies that\n  CUDA will not read from this resource and will write over the entire\n  contents of the resource, so none of the data previously stored in\n  the resource will be preserved.\n\nParameters\n----------\nbuffer : :py:obj:`~.GLuint`\n    name of buffer object to be registered\nFlags : unsigned int\n    Register flags\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_OPERATING_SYSTEM`\npCudaResource : :py:obj:`~.CUgraphicsResource`\n    Pointer to the returned object handle\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsResourceGetMappedPointer`, :py:obj:`~.cudaGraphicsGLRegisterBuffer`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_933cuGraphicsGLRegisterBuffer = {"cuGraphicsGLRegisterBuffer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_933cuGraphicsGLRegisterBuffer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_932cuGraphicsGLRegisterBuffer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_933cuGraphicsGLRegisterBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_buffer = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsGLRegisterBuffer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_buffer,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46837, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46837, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46837, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsGLRegisterBuffer", 0) < (0)) __PYX_ERR(0, 46837, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterBuffer", 1, 2, 2, i); __PYX_ERR(0, 46837, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46837, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46837, __pyx_L3_error)
    }
    __pyx_v_buffer = values[0];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46838, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterBuffer", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46837, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsGLRegisterBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_932cuGraphicsGLRegisterBuffer(__pyx_self, __pyx_v_buffer, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_932cuGraphicsGLRegisterBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buffer, unsigned int __pyx_v_Flags) {
  __pyx_t_4cuda_8bindings_8cydriver_GLuint __pyx_v_cybuffer;
  PyObject *__pyx_v_pbuffer = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsGLRegisterBuffer", 0);

  /* "cuda/bindings/driver.pyx":46877
 *     """
 *     cdef cydriver.GLuint cybuffer
 *     if buffer is None:             # <<<<<<<<<<<<<<
 *         pbuffer = 0
 *     elif isinstance(buffer, (GLuint,)):
*/
  __pyx_t_1 = (__pyx_v_buffer == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46878
 *     cdef cydriver.GLuint cybuffer
 *     if buffer is None:
 *         pbuffer = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(buffer, (GLuint,)):
 *         pbuffer = int(buffer)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pbuffer = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46877
 *     """
 *     cdef cydriver.GLuint cybuffer
 *     if buffer is None:             # <<<<<<<<<<<<<<
 *         pbuffer = 0
 *     elif isinstance(buffer, (GLuint,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46879
 *     if buffer is None:
 *         pbuffer = 0
 *     elif isinstance(buffer, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pbuffer = int(buffer)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_buffer, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46880
 *         pbuffer = 0
 *     elif isinstance(buffer, (GLuint,)):
 *         pbuffer = int(buffer)             # <<<<<<<<<<<<<<
 *     else:
 *         pbuffer = int(GLuint(buffer))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pbuffer = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46879
 *     if buffer is None:
 *         pbuffer = 0
 *     elif isinstance(buffer, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pbuffer = int(buffer)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46882
 *         pbuffer = int(buffer)
 *     else:
 *         pbuffer = int(GLuint(buffer))             # <<<<<<<<<<<<<<
 *     cybuffer = <cydriver.GLuint><void_ptr>pbuffer
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_buffer};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46882, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pbuffer = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46883
 *     else:
 *         pbuffer = int(GLuint(buffer))
 *     cybuffer = <cydriver.GLuint><void_ptr>pbuffer             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pbuffer); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46883, __pyx_L1_error)
  __pyx_v_cybuffer = ((__pyx_t_4cuda_8bindings_8cydriver_GLuint)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46884
 *         pbuffer = int(GLuint(buffer))
 *     cybuffer = <cydriver.GLuint><void_ptr>pbuffer
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsGLRegisterBuffer(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cybuffer, Flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46884, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":46885
 *     cybuffer = <cydriver.GLuint><void_ptr>pbuffer
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsGLRegisterBuffer(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cybuffer, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46886
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
 *         err = cydriver.cuGraphicsGLRegisterBuffer(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cybuffer, Flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsGLRegisterBuffer(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cybuffer, __pyx_v_Flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46886, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46885
 *     cybuffer = <cydriver.GLuint><void_ptr>pbuffer
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsGLRegisterBuffer(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cybuffer, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46887
 *     with nogil:
 *         err = cydriver.cuGraphicsGLRegisterBuffer(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cybuffer, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46888
 *         err = cydriver.cuGraphicsGLRegisterBuffer(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cybuffer, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pCudaResource)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46888, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46888, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46888, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46888, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 46888, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 46888, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46887
 *     with nogil:
 *         err = cydriver.cuGraphicsGLRegisterBuffer(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cybuffer, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  }

  /* "cuda/bindings/driver.pyx":46889
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46889, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 46889, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46837
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterBuffer(buffer, unsigned int Flags):
 *     """ Registers an OpenGL buffer object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsGLRegisterBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pbuffer);
  __Pyx_XDECREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46891
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterImage(image, target, unsigned int Flags):
 *     """ Register an OpenGL texture or renderbuffer object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_935cuGraphicsGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_934cuGraphicsGLRegisterImage, "cuGraphicsGLRegisterImage(image, target, unsigned int Flags)\n\nRegister an OpenGL texture or renderbuffer object.\n\nRegisters the texture or renderbuffer object specified by `image` for\naccess by CUDA.   A handle to the registered object is returned as\n`pCudaResource`.\n\n`target` must match the type of the object, and must be one of\n:py:obj:`~.GL_TEXTURE_2D`, :py:obj:`~.GL_TEXTURE_RECTANGLE`,\n:py:obj:`~.GL_TEXTURE_CUBE_MAP`, :py:obj:`~.GL_TEXTURE_3D`,\n:py:obj:`~.GL_TEXTURE_2D_ARRAY`, or :py:obj:`~.GL_RENDERBUFFER`.\n\nThe register flags `Flags` specify the intended usage, as follows:\n\n- :py:obj:`~.CU_GRAPHICS_REGISTER_FLAGS_NONE`: Specifies no hints about\n  how this resource will be used. It is therefore assumed that this\n  resource will be read from and written to by CUDA. This is the\n  default value.\n\n- :py:obj:`~.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY`: Specifies that CUDA\n  will not write to this resource.\n\n- :py:obj:`~.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD`: Specifies that\n  CUDA will not read from this resource and will write over the entire\n  contents of the resource, so none of the data previously stored in\n  the resource will be preserved.\n\n- :py:obj:`~.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST`: Specifies that\n  CUDA will bind this resource to a surface reference.\n\n- :py:obj:`~.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER`: Specifies that\n  CUDA will perform texture gather operations on this resource.\n\nThe following image formats are supported. For brevity's sake, the list\nis abbreviated. For ex., {GL_R, GL_RG} X {8, 16} would expand to the\nfollowing 4 formats {GL_R8, GL_R16, GL_RG8, GL_RG16} :\n\n- GL_RED, GL_RG, GL_RGBA, GL_LUMINANCE, GL_ALPHA, GL_LUMINANCE_ALPHA,\n  GL_INTENSITY\n\n- {GL_R, GL_RG, GL_RGBA} X {8, 16, 16F, 32F, 8UI, 16UI, 32UI, 8I, 16I,\n  32I}\n\n- {GL_LUMINANCE, GL_ALPHA, GL_LUMINANCE_ALPHA, GL_INTENSITY} X {8, 16,\n  16F_ARB, 32F_ARB, 8UI_EXT, 16UI_EXT, 32UI_EXT, 8I_EXT, 16I_EXT,\n  32I_EXT}\n\nThe following ""image classes are currently disallowed:\n\n- Textures with borders\n\n- Multisampled renderbuffers\n\nParameters\n----------\nimage : :py:obj:`~.GLuint`\n    name of texture or renderbuffer object to be registered\ntarget : :py:obj:`~.GLenum`\n    Identifies the type of object specified by `image`\nFlags : unsigned int\n    Register flags\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_OPERATING_SYSTEM`\npCudaResource : :py:obj:`~.CUgraphicsResource`\n    Pointer to the returned object handle\n\nSee Also\n--------\n:py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, :py:obj:`~.cudaGraphicsGLRegisterImage`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_935cuGraphicsGLRegisterImage = {"cuGraphicsGLRegisterImage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_935cuGraphicsGLRegisterImage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_934cuGraphicsGLRegisterImage};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_935cuGraphicsGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_image = 0;
  PyObject *__pyx_v_target = 0;
  unsigned int __pyx_v_Flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsGLRegisterImage (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_image,&__pyx_mstate_global->__pyx_n_u_target,&__pyx_mstate_global->__pyx_n_u_Flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46891, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46891, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46891, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46891, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsGLRegisterImage", 0) < (0)) __PYX_ERR(0, 46891, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterImage", 1, 3, 3, i); __PYX_ERR(0, 46891, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46891, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46891, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46891, __pyx_L3_error)
    }
    __pyx_v_image = values[0];
    __pyx_v_target = values[1];
    __pyx_v_Flags = __Pyx_PyLong_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46892, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterImage", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 46891, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsGLRegisterImage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_934cuGraphicsGLRegisterImage(__pyx_self, __pyx_v_image, __pyx_v_target, __pyx_v_Flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_934cuGraphicsGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, PyObject *__pyx_v_target, unsigned int __pyx_v_Flags) {
  __pyx_t_4cuda_8bindings_8cydriver_GLenum __pyx_v_cytarget;
  PyObject *__pyx_v_ptarget = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_GLuint __pyx_v_cyimage;
  PyObject *__pyx_v_pimage = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsGLRegisterImage", 0);

  /* "cuda/bindings/driver.pyx":46966
 *     """
 *     cdef cydriver.GLenum cytarget
 *     if target is None:             # <<<<<<<<<<<<<<
 *         ptarget = 0
 *     elif isinstance(target, (GLenum,)):
*/
  __pyx_t_1 = (__pyx_v_target == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46967
 *     cdef cydriver.GLenum cytarget
 *     if target is None:
 *         ptarget = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(target, (GLenum,)):
 *         ptarget = int(target)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_ptarget = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46966
 *     """
 *     cdef cydriver.GLenum cytarget
 *     if target is None:             # <<<<<<<<<<<<<<
 *         ptarget = 0
 *     elif isinstance(target, (GLenum,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46968
 *     if target is None:
 *         ptarget = 0
 *     elif isinstance(target, (GLenum,)):             # <<<<<<<<<<<<<<
 *         ptarget = int(target)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_target, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLenum); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46969
 *         ptarget = 0
 *     elif isinstance(target, (GLenum,)):
 *         ptarget = int(target)             # <<<<<<<<<<<<<<
 *     else:
 *         ptarget = int(GLenum(target))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptarget = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46968
 *     if target is None:
 *         ptarget = 0
 *     elif isinstance(target, (GLenum,)):             # <<<<<<<<<<<<<<
 *         ptarget = int(target)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46971
 *         ptarget = int(target)
 *     else:
 *         ptarget = int(GLenum(target))             # <<<<<<<<<<<<<<
 *     cytarget = <cydriver.GLenum><void_ptr>ptarget
 *     cdef cydriver.GLuint cyimage
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLenum);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLenum); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_target};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46971, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptarget = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46972
 *     else:
 *         ptarget = int(GLenum(target))
 *     cytarget = <cydriver.GLenum><void_ptr>ptarget             # <<<<<<<<<<<<<<
 *     cdef cydriver.GLuint cyimage
 *     if image is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptarget); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46972, __pyx_L1_error)
  __pyx_v_cytarget = ((__pyx_t_4cuda_8bindings_8cydriver_GLenum)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46974
 *     cytarget = <cydriver.GLenum><void_ptr>ptarget
 *     cdef cydriver.GLuint cyimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         pimage = 0
 *     elif isinstance(image, (GLuint,)):
*/
  __pyx_t_1 = (__pyx_v_image == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46975
 *     cdef cydriver.GLuint cyimage
 *     if image is None:
 *         pimage = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(image, (GLuint,)):
 *         pimage = int(image)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pimage = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":46974
 *     cytarget = <cydriver.GLenum><void_ptr>ptarget
 *     cdef cydriver.GLuint cyimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         pimage = 0
 *     elif isinstance(image, (GLuint,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46976
 *     if image is None:
 *         pimage = 0
 *     elif isinstance(image, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_image, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46977
 *         pimage = 0
 *     elif isinstance(image, (GLuint,)):
 *         pimage = int(image)             # <<<<<<<<<<<<<<
 *     else:
 *         pimage = int(GLuint(image))
*/
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_image); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pimage = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":46976
 *     if image is None:
 *         pimage = 0
 *     elif isinstance(image, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46979
 *         pimage = int(image)
 *     else:
 *         pimage = int(GLuint(image))             # <<<<<<<<<<<<<<
 *     cyimage = <cydriver.GLuint><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint);
    __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_image};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46979, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pimage = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":46980
 *     else:
 *         pimage = int(GLuint(image))
 *     cyimage = <cydriver.GLuint><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46980, __pyx_L1_error)
  __pyx_v_cyimage = ((__pyx_t_4cuda_8bindings_8cydriver_GLuint)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":46981
 *         pimage = int(GLuint(image))
 *     cyimage = <cydriver.GLuint><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, cytarget, Flags)
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46981, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":46982
 *     cyimage = <cydriver.GLuint><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, cytarget, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46983
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
 *         err = cydriver.cuGraphicsGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, cytarget, Flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsGLRegisterImage(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cyimage, __pyx_v_cytarget, __pyx_v_Flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46983, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46982
 *     cyimage = <cydriver.GLuint><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, cytarget, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":46984
 *     with nogil:
 *         err = cydriver.cuGraphicsGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, cytarget, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46985
 *         err = cydriver.cuGraphicsGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, cytarget, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pCudaResource)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 46985, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 46985, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46984
 *     with nogil:
 *         err = cydriver.cuGraphicsGLRegisterImage(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyimage, cytarget, Flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  }

  /* "cuda/bindings/driver.pyx":46986
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 46986, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 46986, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46891
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterImage(image, target, unsigned int Flags):
 *     """ Register an OpenGL texture or renderbuffer object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsGLRegisterImage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ptarget);
  __Pyx_XDECREF(__pyx_v_pimage);
  __Pyx_XDECREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46988
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : CUGLDeviceList):
 *     """ Gets the CUDA devices associated with the current OpenGL context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_937cuGLGetDevices(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_936cuGLGetDevices, "cuGLGetDevices(unsigned int cudaDeviceCount, deviceList: CUGLDeviceList)\n\nGets the CUDA devices associated with the current OpenGL context.\n\nReturns in `*pCudaDeviceCount` the number of CUDA-compatible devices\ncorresponding to the current OpenGL context. Also returns in\n`*pCudaDevices` at most cudaDeviceCount of the CUDA-compatible devices\ncorresponding to the current OpenGL context. If any of the GPUs being\nused by the current OpenGL context are not CUDA capable then the call\nwill return CUDA_ERROR_NO_DEVICE.\n\nThe `deviceList` argument may be any of the following:\nCU_GL_DEVICE_LIST_ALL: Query all devices used by the current OpenGL\ncontext. CU_GL_DEVICE_LIST_CURRENT_FRAME: Query the devices used by the\ncurrent OpenGL context to render the current frame (in SLI).\nCU_GL_DEVICE_LIST_NEXT_FRAME: Query the devices used by the current\nOpenGL context to render the next frame (in SLI). Note that this is a\nprediction, it can't be guaranteed that this is correct in all cases.\n\nParameters\n----------\ncudaDeviceCount : unsigned int\n    The size of the output device array pCudaDevices.\ndeviceList : CUGLDeviceList\n    The set of devices to return.\n\nReturns\n-------\nCUresult\n    CUDA_SUCCESS\n    CUDA_ERROR_NO_DEVICE\n    CUDA_ERROR_INVALID_VALUE\n    CUDA_ERROR_INVALID_CONTEXT\n    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT\npCudaDeviceCount : unsigned int\n    Returned number of CUDA devices.\npCudaDevices : list[CUdevice]\n    Returned CUDA devices.\n\nSee Also\n--------\n~.cudaGLGetDevices\n\nNotes\n-----\nThis function is not supported on Mac OS X.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_937cuGLGetDevices = {"cuGLGetDevices", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_937cuGLGetDevices, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_936cuGLGetDevices};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_937cuGLGetDevices(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_cudaDeviceCount;
  PyObject *__pyx_v_deviceList = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGLGetDevices (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cudaDeviceCount,&__pyx_mstate_global->__pyx_n_u_deviceList,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46988, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46988, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46988, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGLGetDevices", 0) < (0)) __PYX_ERR(0, 46988, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGLGetDevices", 1, 2, 2, i); __PYX_ERR(0, 46988, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46988, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46988, __pyx_L3_error)
    }
    __pyx_v_cudaDeviceCount = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_cudaDeviceCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46989, __pyx_L3_error)
    __pyx_v_deviceList = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGLGetDevices", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46988, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGLGetDevices", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_deviceList) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "deviceList"); __PYX_ERR(0, 46989, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_936cuGLGetDevices(__pyx_self, __pyx_v_cudaDeviceCount, __pyx_v_deviceList);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_936cuGLGetDevices(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_cudaDeviceCount, PyObject *__pyx_v_deviceList) {
  unsigned int __pyx_v_pCudaDeviceCount;
  CUdevice *__pyx_v_cypCudaDevices;
  PyObject *__pyx_v_pypCudaDevices = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList __pyx_v_cydeviceList;
  CUresult __pyx_v_err;
  unsigned int __pyx_10genexpr345__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList __pyx_t_9;
  CUresult __pyx_t_10;
  unsigned int __pyx_t_11;
  unsigned int __pyx_t_12;
  unsigned int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGLGetDevices", 0);

  /* "cuda/bindings/driver.pyx":47036
 * 
 *     """
 *     cdef unsigned int pCudaDeviceCount = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice* cypCudaDevices = NULL
 *     pypCudaDevices = []
*/
  __pyx_v_pCudaDeviceCount = 0;

  /* "cuda/bindings/driver.pyx":47037
 *     """
 *     cdef unsigned int pCudaDeviceCount = 0
 *     cdef cydriver.CUdevice* cypCudaDevices = NULL             # <<<<<<<<<<<<<<
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:
*/
  __pyx_v_cypCudaDevices = NULL;

  /* "cuda/bindings/driver.pyx":47038
 *     cdef unsigned int pCudaDeviceCount = 0
 *     cdef cydriver.CUdevice* cypCudaDevices = NULL
 *     pypCudaDevices = []             # <<<<<<<<<<<<<<
 *     if cudaDeviceCount != 0:
 *         cypCudaDevices = <cydriver.CUdevice*>calloc(cudaDeviceCount, sizeof(cydriver.CUdevice))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pypCudaDevices = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":47039
 *     cdef cydriver.CUdevice* cypCudaDevices = NULL
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:             # <<<<<<<<<<<<<<
 *         cypCudaDevices = <cydriver.CUdevice*>calloc(cudaDeviceCount, sizeof(cydriver.CUdevice))
 *         if cypCudaDevices is NULL:
*/
  __pyx_t_2 = (__pyx_v_cudaDeviceCount != 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47040
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:
 *         cypCudaDevices = <cydriver.CUdevice*>calloc(cudaDeviceCount, sizeof(cydriver.CUdevice))             # <<<<<<<<<<<<<<
 *         if cypCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(cydriver.CUdevice)))
*/
    __pyx_v_cypCudaDevices = ((CUdevice *)calloc(__pyx_v_cudaDeviceCount, (sizeof(CUdevice))));

    /* "cuda/bindings/driver.pyx":47041
 *     if cudaDeviceCount != 0:
 *         cypCudaDevices = <cydriver.CUdevice*>calloc(cudaDeviceCount, sizeof(cydriver.CUdevice))
 *         if cypCudaDevices is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(cydriver.CUdevice)))
 *     cdef cydriver.CUGLDeviceList cydeviceList = deviceList.value
*/
    __pyx_t_2 = (__pyx_v_cypCudaDevices == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/bindings/driver.pyx":47042
 *         cypCudaDevices = <cydriver.CUdevice*>calloc(cudaDeviceCount, sizeof(cydriver.CUdevice))
 *         if cypCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(cydriver.CUdevice)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUGLDeviceList cydeviceList = deviceList.value
 *     with nogil:
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_builtin_MemoryError);
      __pyx_t_4 = __pyx_builtin_MemoryError; 
      __pyx_t_5 = __Pyx_PyLong_From_unsigned_int(__pyx_v_cudaDeviceCount); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyLong_FromSize_t((sizeof(CUdevice))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47042, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 47042, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":47041
 *     if cudaDeviceCount != 0:
 *         cypCudaDevices = <cydriver.CUdevice*>calloc(cudaDeviceCount, sizeof(cydriver.CUdevice))
 *         if cypCudaDevices is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(cydriver.CUdevice)))
 *     cdef cydriver.CUGLDeviceList cydeviceList = deviceList.value
*/
    }

    /* "cuda/bindings/driver.pyx":47039
 *     cdef cydriver.CUdevice* cypCudaDevices = NULL
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:             # <<<<<<<<<<<<<<
 *         cypCudaDevices = <cydriver.CUdevice*>calloc(cudaDeviceCount, sizeof(cydriver.CUdevice))
 *         if cypCudaDevices is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":47043
 *         if cypCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(cydriver.CUdevice)))
 *     cdef cydriver.CUGLDeviceList cydeviceList = deviceList.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGLGetDevices(&pCudaDeviceCount, cypCudaDevices, cudaDeviceCount, cydeviceList)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_deviceList, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = ((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)__Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 47043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cydeviceList = __pyx_t_9;

  /* "cuda/bindings/driver.pyx":47044
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(cydriver.CUdevice)))
 *     cdef cydriver.CUGLDeviceList cydeviceList = deviceList.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGLGetDevices(&pCudaDeviceCount, cypCudaDevices, cudaDeviceCount, cydeviceList)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47045
 *     cdef cydriver.CUGLDeviceList cydeviceList = deviceList.value
 *     with nogil:
 *         err = cydriver.cuGLGetDevices(&pCudaDeviceCount, cypCudaDevices, cudaDeviceCount, cydeviceList)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cypCudaDevices[idx]) for idx in range(cudaDeviceCount)]
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuGLGetDevices((&__pyx_v_pCudaDeviceCount), __pyx_v_cypCudaDevices, __pyx_v_cudaDeviceCount, __pyx_v_cydeviceList); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47045, __pyx_L6_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":47044
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(cydriver.CUdevice)))
 *     cdef cydriver.CUGLDeviceList cydeviceList = deviceList.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGLGetDevices(&pCudaDeviceCount, cypCudaDevices, cudaDeviceCount, cydeviceList)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":47046
 *     with nogil:
 *         err = cydriver.cuGLGetDevices(&pCudaDeviceCount, cypCudaDevices, cudaDeviceCount, cydeviceList)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cypCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cypCudaDevices is not NULL:
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47047
 *         err = cydriver.cuGLGetDevices(&pCudaDeviceCount, cypCudaDevices, cudaDeviceCount, cydeviceList)
 *     if CUresult(err) == CUresult(0):
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cypCudaDevices[idx]) for idx in range(cudaDeviceCount)]             # <<<<<<<<<<<<<<
 *     if cypCudaDevices is not NULL:
 *         free(cypCudaDevices)
*/
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47047, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_11 = __pyx_v_cudaDeviceCount;
      __pyx_t_12 = __pyx_t_11;
      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
        __pyx_10genexpr345__pyx_v_idx = __pyx_t_13;
        __pyx_t_1 = NULL;
        __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
        __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
        __pyx_t_7 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cypCudaDevices[__pyx_10genexpr345__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47047, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_8 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, NULL};
          __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47047, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 47047, __pyx_L1_error)
          __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_3, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47047, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_5);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 47047, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypCudaDevices, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":47046
 *     with nogil:
 *         err = cydriver.cuGLGetDevices(&pCudaDeviceCount, cypCudaDevices, cudaDeviceCount, cydeviceList)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cypCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cypCudaDevices is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":47048
 *     if CUresult(err) == CUresult(0):
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cypCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cypCudaDevices is not NULL:             # <<<<<<<<<<<<<<
 *         free(cypCudaDevices)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_2 = (__pyx_v_cypCudaDevices != NULL);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47049
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cypCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cypCudaDevices is not NULL:
 *         free(cypCudaDevices)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
*/
    free(__pyx_v_cypCudaDevices);

    /* "cuda/bindings/driver.pyx":47048
 *     if CUresult(err) == CUresult(0):
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cypCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cypCudaDevices is not NULL:             # <<<<<<<<<<<<<<
 *         free(cypCudaDevices)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":47050
 *     if cypCudaDevices is not NULL:
 *         free(cypCudaDevices)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pCudaDeviceCount, pypCudaDevices)
*/
  __pyx_t_2 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47051
 *         free(cypCudaDevices)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pCudaDeviceCount, pypCudaDevices)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 47051, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_None) != (0)) __PYX_ERR(0, 47051, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, Py_None) != (0)) __PYX_ERR(0, 47051, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47050
 *     if cypCudaDevices is not NULL:
 *         free(cypCudaDevices)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pCudaDeviceCount, pypCudaDevices)
*/
  }

  /* "cuda/bindings/driver.pyx":47052
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pCudaDeviceCount, pypCudaDevices)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_int(__pyx_v_pCudaDeviceCount); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 47052, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 47052, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pypCudaDevices);
  __Pyx_GIVEREF(__pyx_v_pypCudaDevices);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_pypCudaDevices) != (0)) __PYX_ERR(0, 47052, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46988
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : CUGLDeviceList):
 *     """ Gets the CUDA devices associated with the current OpenGL context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGLGetDevices", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pypCudaDevices);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47054
 *     return (_dict_CUresult[err], pCudaDeviceCount, pypCudaDevices)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUGetDevice(vdpDevice, vdpGetProcAddress):
 *     """ Gets the CUDA device associated with a VDPAU device.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_939cuVDPAUGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_938cuVDPAUGetDevice, "cuVDPAUGetDevice(vdpDevice, vdpGetProcAddress)\n\nGets the CUDA device associated with a VDPAU device.\n\nReturns in `*pDevice` the CUDA device associated with a `vdpDevice`, if\napplicable.\n\nParameters\n----------\nvdpDevice : :py:obj:`~.VdpDevice`\n    A VdpDevice handle\nvdpGetProcAddress : :py:obj:`~.VdpGetProcAddress`\n    VDPAU's VdpGetProcAddress function pointer\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\npDevice : :py:obj:`~.CUdevice`\n    Device associated with vdpDevice\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuVDPAUCtxCreate`, :py:obj:`~.cuGraphicsVDPAURegisterVideoSurface`, :py:obj:`~.cuGraphicsVDPAURegisterOutputSurface`, :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsResourceSetMapFlags`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, :py:obj:`~.cudaVDPAUGetDevice`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_939cuVDPAUGetDevice = {"cuVDPAUGetDevice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_939cuVDPAUGetDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_938cuVDPAUGetDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_939cuVDPAUGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vdpDevice = 0;
  PyObject *__pyx_v_vdpGetProcAddress = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuVDPAUGetDevice (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vdpDevice,&__pyx_mstate_global->__pyx_n_u_vdpGetProcAddress,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47054, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47054, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47054, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuVDPAUGetDevice", 0) < (0)) __PYX_ERR(0, 47054, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuVDPAUGetDevice", 1, 2, 2, i); __PYX_ERR(0, 47054, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47054, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47054, __pyx_L3_error)
    }
    __pyx_v_vdpDevice = values[0];
    __pyx_v_vdpGetProcAddress = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuVDPAUGetDevice", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 47054, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuVDPAUGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_938cuVDPAUGetDevice(__pyx_self, __pyx_v_vdpDevice, __pyx_v_vdpGetProcAddress);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_938cuVDPAUGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress) {
  __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *__pyx_v_cyvdpGetProcAddress;
  PyObject *__pyx_v_pvdpGetProcAddress = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_VdpDevice __pyx_v_cyvdpDevice;
  PyObject *__pyx_v_pvdpDevice = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *__pyx_v_pDevice = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuVDPAUGetDevice", 0);

  /* "cuda/bindings/driver.pyx":47080
 *     """
 *     cdef cydriver.VdpGetProcAddress *cyvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
*/
  __pyx_t_1 = (__pyx_v_vdpGetProcAddress == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47081
 *     cdef cydriver.VdpGetProcAddress *cyvdpGetProcAddress
 *     if vdpGetProcAddress is None:
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
*/
    __pyx_v_cyvdpGetProcAddress = ((__pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":47080
 *     """
 *     cdef cydriver.VdpGetProcAddress *cyvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47082
 *     if vdpGetProcAddress is None:
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpGetProcAddress, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47083
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
*/
    __pyx_t_3 = __pyx_v_vdpGetProcAddress;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47083, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pvdpGetProcAddress = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47084
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpGetProcAddress); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47084, __pyx_L1_error)
    __pyx_v_cyvdpGetProcAddress = ((__pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47082
 *     if vdpGetProcAddress is None:
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47085
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_vdpGetProcAddress); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":47086
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_vdpGetProcAddress); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47086, __pyx_L1_error)
    __pyx_v_cyvdpGetProcAddress = ((__pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47085
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47088
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.VdpDevice cyvdpDevice
 *     if vdpDevice is None:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_vdpGetProcAddress))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47088, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 47088, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47090
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 *     cdef cydriver.VdpDevice cyvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
*/
  __pyx_t_1 = (__pyx_v_vdpDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47091
 *     cdef cydriver.VdpDevice cyvdpDevice
 *     if vdpDevice is None:
 *         pvdpDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pvdpDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":47090
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 *     cdef cydriver.VdpDevice cyvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47092
 *     if vdpDevice is None:
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47093
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_vdpDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47092
 *     if vdpDevice is None:
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47095
 *         pvdpDevice = int(vdpDevice)
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))             # <<<<<<<<<<<<<<
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef CUdevice pDevice = CUdevice()
*/
  /*else*/ {
    __pyx_t_6 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice);
    __pyx_t_8 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice); 
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_vdpDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47095, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_8 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpDevice = ((PyObject*)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47096
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice             # <<<<<<<<<<<<<<
 *     cdef CUdevice pDevice = CUdevice()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47096, __pyx_L1_error)
  __pyx_v_cyvdpDevice = ((__pyx_t_4cuda_8bindings_8cydriver_VdpDevice)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47097
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef CUdevice pDevice = CUdevice()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuVDPAUGetDevice(<cydriver.CUdevice*>pDevice._pvt_ptr, cyvdpDevice, cyvdpGetProcAddress)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
  __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47097, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_8);
  }
  __pyx_v_pDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_8);
  __pyx_t_8 = 0;

  /* "cuda/bindings/driver.pyx":47098
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef CUdevice pDevice = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuVDPAUGetDevice(<cydriver.CUdevice*>pDevice._pvt_ptr, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47099
 *     cdef CUdevice pDevice = CUdevice()
 *     with nogil:
 *         err = cydriver.cuVDPAUGetDevice(<cydriver.CUdevice*>pDevice._pvt_ptr, cyvdpDevice, cyvdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuVDPAUGetDevice(((CUdevice *)__pyx_v_pDevice->_pvt_ptr), __pyx_v_cyvdpDevice, __pyx_v_cyvdpGetProcAddress); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47099, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":47098
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef CUdevice pDevice = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuVDPAUGetDevice(<cydriver.CUdevice*>pDevice._pvt_ptr, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":47100
 *     with nogil:
 *         err = cydriver.cuVDPAUGetDevice(<cydriver.CUdevice*>pDevice._pvt_ptr, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pDevice)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47101
 *         err = cydriver.cuVDPAUGetDevice(<cydriver.CUdevice*>pDevice._pvt_ptr, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pDevice)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 47101, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, Py_None) != (0)) __PYX_ERR(0, 47101, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47100
 *     with nogil:
 *         err = cydriver.cuVDPAUGetDevice(<cydriver.CUdevice*>pDevice._pvt_ptr, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pDevice)
*/
  }

  /* "cuda/bindings/driver.pyx":47102
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pDevice)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 47102, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pDevice);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pDevice);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pDevice)) != (0)) __PYX_ERR(0, 47102, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47054
 *     return (_dict_CUresult[err], pCudaDeviceCount, pypCudaDevices)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUGetDevice(vdpDevice, vdpGetProcAddress):
 *     """ Gets the CUDA device associated with a VDPAU device.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuVDPAUGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvdpGetProcAddress);
  __Pyx_XDECREF(__pyx_v_pvdpDevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_pDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47104
 *     return (_dict_CUresult[err], pDevice)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUCtxCreate(unsigned int flags, device, vdpDevice, vdpGetProcAddress):
 *     """ Create a CUDA context for interoperability with VDPAU.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_941cuVDPAUCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_940cuVDPAUCtxCreate, "cuVDPAUCtxCreate(unsigned int flags, device, vdpDevice, vdpGetProcAddress)\n\nCreate a CUDA context for interoperability with VDPAU.\n\nCreates a new CUDA context, initializes VDPAU interoperability, and\nassociates the CUDA context with the calling thread. It must be called\nbefore performing any other VDPAU interoperability operations. It may\nfail if the needed VDPAU driver facilities are not available. For usage\nof the `flags` parameter, see :py:obj:`~.cuCtxCreate()`.\n\nParameters\n----------\nflags : unsigned int\n    Options for CUDA context creation\ndevice : :py:obj:`~.CUdevice`\n    Device on which to create the context\nvdpDevice : :py:obj:`~.VdpDevice`\n    The VdpDevice to interop with\nvdpGetProcAddress : :py:obj:`~.VdpGetProcAddress`\n    VDPAU's VdpGetProcAddress function pointer\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\npCtx : :py:obj:`~.CUcontext`\n    Returned CUDA context\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuGraphicsVDPAURegisterVideoSurface`, :py:obj:`~.cuGraphicsVDPAURegisterOutputSurface`, :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsResourceSetMapFlags`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, :py:obj:`~.cuVDPAUGetDevice`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_941cuVDPAUCtxCreate = {"cuVDPAUCtxCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_941cuVDPAUCtxCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_940cuVDPAUCtxCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_941cuVDPAUCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_device = 0;
  PyObject *__pyx_v_vdpDevice = 0;
  PyObject *__pyx_v_vdpGetProcAddress = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuVDPAUCtxCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_flags_2,&__pyx_mstate_global->__pyx_n_u_device,&__pyx_mstate_global->__pyx_n_u_vdpDevice,&__pyx_mstate_global->__pyx_n_u_vdpGetProcAddress,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47104, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 47104, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47104, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47104, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47104, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuVDPAUCtxCreate", 0) < (0)) __PYX_ERR(0, 47104, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuVDPAUCtxCreate", 1, 4, 4, i); __PYX_ERR(0, 47104, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47104, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47104, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47104, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 47104, __pyx_L3_error)
    }
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 47105, __pyx_L3_error)
    __pyx_v_device = values[1];
    __pyx_v_vdpDevice = values[2];
    __pyx_v_vdpGetProcAddress = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuVDPAUCtxCreate", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 47104, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuVDPAUCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_940cuVDPAUCtxCreate(__pyx_self, __pyx_v_flags, __pyx_v_device, __pyx_v_vdpDevice, __pyx_v_vdpGetProcAddress);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_940cuVDPAUCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, PyObject *__pyx_v_device, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress) {
  __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *__pyx_v_cyvdpGetProcAddress;
  PyObject *__pyx_v_pvdpGetProcAddress = NULL;
  __pyx_t_4cuda_8bindings_8cydriver_VdpDevice __pyx_v_cyvdpDevice;
  PyObject *__pyx_v_pvdpDevice = NULL;
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_pCtx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  CUdevice __pyx_t_9;
  CUresult __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuVDPAUCtxCreate", 0);

  /* "cuda/bindings/driver.pyx":47137
 *     """
 *     cdef cydriver.VdpGetProcAddress *cyvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
*/
  __pyx_t_1 = (__pyx_v_vdpGetProcAddress == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47138
 *     cdef cydriver.VdpGetProcAddress *cyvdpGetProcAddress
 *     if vdpGetProcAddress is None:
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
*/
    __pyx_v_cyvdpGetProcAddress = ((__pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)NULL));

    /* "cuda/bindings/driver.pyx":47137
 *     """
 *     cdef cydriver.VdpGetProcAddress *cyvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47139
 *     if vdpGetProcAddress is None:
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpGetProcAddress, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47140
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
*/
    __pyx_t_3 = __pyx_v_vdpGetProcAddress;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_getPtr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pvdpGetProcAddress = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47141
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpGetProcAddress); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47141, __pyx_L1_error)
    __pyx_v_cyvdpGetProcAddress = ((__pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47139
 *     if vdpGetProcAddress is None:
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47142
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
*/
  __pyx_t_1 = PyLong_Check(__pyx_v_vdpGetProcAddress); 
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":47143
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_vdpGetProcAddress); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47143, __pyx_L1_error)
    __pyx_v_cyvdpGetProcAddress = ((__pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47142
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47145
 *         cyvdpGetProcAddress = <cydriver.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))             # <<<<<<<<<<<<<<
 *     cdef cydriver.VdpDevice cyvdpDevice
 *     if vdpDevice is None:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_builtin_TypeError);
    __pyx_t_6 = __pyx_builtin_TypeError; 
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_vdpGetProcAddress))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 47145, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47147
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 *     cdef cydriver.VdpDevice cyvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
*/
  __pyx_t_1 = (__pyx_v_vdpDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47148
 *     cdef cydriver.VdpDevice cyvdpDevice
 *     if vdpDevice is None:
 *         pvdpDevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pvdpDevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":47147
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, driver.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 *     cdef cydriver.VdpDevice cyvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47149
 *     if vdpDevice is None:
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpDevice, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47150
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_vdpDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47149
 *     if vdpDevice is None:
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47152
 *         pvdpDevice = int(vdpDevice)
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))             # <<<<<<<<<<<<<<
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef cydriver.CUdevice cydevice
*/
  /*else*/ {
    __pyx_t_6 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice);
    __pyx_t_8 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice); 
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_vdpDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47152, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_8 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpDevice = ((PyObject*)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47153
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47153, __pyx_L1_error)
  __pyx_v_cyvdpDevice = ((__pyx_t_4cuda_8bindings_8cydriver_VdpDevice)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47155
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47156
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
 *         pdevice = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pdevice = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":47155
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":47157
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47158
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_8 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_8);
    __pyx_t_8 = 0;

    /* "cuda/bindings/driver.pyx":47157
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":47160
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUcontext pCtx = CUcontext()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
    __pyx_t_6 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice); 
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_device};
      __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47160, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_8);
    }
    __pyx_t_6 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_8)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF((PyObject *)__pyx_t_8); __pyx_t_8 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_6);
    __pyx_t_6 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":47161
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef CUcontext pCtx = CUcontext()
 *     with nogil:
*/
  __pyx_t_9 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_9 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 47161, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_9);

  /* "cuda/bindings/driver.pyx":47162
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUcontext pCtx = CUcontext()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuVDPAUCtxCreate(<cydriver.CUcontext*>pCtx._pvt_ptr, flags, cydevice, cyvdpDevice, cyvdpGetProcAddress)
*/
  __pyx_t_8 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  __pyx_t_2 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext); 
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47162, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_6);
  }
  __pyx_v_pCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/bindings/driver.pyx":47163
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUcontext pCtx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuVDPAUCtxCreate(<cydriver.CUcontext*>pCtx._pvt_ptr, flags, cydevice, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47164
 *     cdef CUcontext pCtx = CUcontext()
 *     with nogil:
 *         err = cydriver.cuVDPAUCtxCreate(<cydriver.CUcontext*>pCtx._pvt_ptr, flags, cydevice, cyvdpDevice, cyvdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_10 = __pyx_f_4cuda_8bindings_8cydriver_cuVDPAUCtxCreate(((CUcontext *)__pyx_v_pCtx->_pvt_ptr), __pyx_v_flags, __pyx_v_cydevice, __pyx_v_cyvdpDevice, __pyx_v_cyvdpGetProcAddress); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47164, __pyx_L7_error)
        __pyx_v_err = __pyx_t_10;
      }

      /* "cuda/bindings/driver.pyx":47163
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUcontext pCtx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuVDPAUCtxCreate(<cydriver.CUcontext*>pCtx._pvt_ptr, flags, cydevice, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":47165
 *     with nogil:
 *         err = cydriver.cuVDPAUCtxCreate(<cydriver.CUcontext*>pCtx._pvt_ptr, flags, cydevice, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCtx)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47166
 *         err = cydriver.cuVDPAUCtxCreate(<cydriver.CUcontext*>pCtx._pvt_ptr, flags, cydevice, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pCtx)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_8);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 47166, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 47166, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47165
 *     with nogil:
 *         err = cydriver.cuVDPAUCtxCreate(<cydriver.CUcontext*>pCtx._pvt_ptr, flags, cydevice, cyvdpDevice, cyvdpGetProcAddress)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCtx)
*/
  }

  /* "cuda/bindings/driver.pyx":47167
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCtx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 47167, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pCtx)) != (0)) __PYX_ERR(0, 47167, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47104
 *     return (_dict_CUresult[err], pDevice)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUCtxCreate(unsigned int flags, device, vdpDevice, vdpGetProcAddress):
 *     """ Create a CUDA context for interoperability with VDPAU.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuVDPAUCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvdpGetProcAddress);
  __Pyx_XDECREF(__pyx_v_pvdpDevice);
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_pCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47169
 *     return (_dict_CUresult[err], pCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpVideoSurface object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_943cuGraphicsVDPAURegisterVideoSurface(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_942cuGraphicsVDPAURegisterVideoSurface, "cuGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags)\n\nRegisters a VDPAU VdpVideoSurface object.\n\nRegisters the VdpVideoSurface specified by `vdpSurface` for access by\nCUDA. A handle to the registered object is returned as `pCudaResource`.\nThe surface's intended usage is specified using `flags`, as follows:\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE`: Specifies no hints\n  about how this resource will be used. It is therefore assumed that\n  this resource will be read from and written to by CUDA. This is the\n  default value.\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY`: Specifies that\n  CUDA will not write to this resource.\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD`: Specifies\n  that CUDA will not read from this resource and will write over the\n  entire contents of the resource, so none of the data previously\n  stored in the resource will be preserved.\n\nThe VdpVideoSurface is presented as an array of subresources that may\nbe accessed using pointers returned by\n:py:obj:`~.cuGraphicsSubResourceGetMappedArray`. The exact number of\nvalid `arrayIndex` values depends on the VDPAU surface format. The\nmapping is shown in the table below. `mipLevel` must be 0.\n\nParameters\n----------\nvdpSurface : :py:obj:`~.VdpVideoSurface`\n    The VdpVideoSurface to be registered\nflags : unsigned int\n    Map flags\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\npCudaResource : :py:obj:`~.CUgraphicsResource`\n    Pointer to the returned object handle\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuVDPAUCtxCreate`, :py:obj:`~.cuGraphicsVDPAURegisterOutputSurface`, :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsResourceSetMapFlags`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, :py:o""bj:`~.cuVDPAUGetDevice`, :py:obj:`~.cudaGraphicsVDPAURegisterVideoSurface`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_943cuGraphicsVDPAURegisterVideoSurface = {"cuGraphicsVDPAURegisterVideoSurface", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_943cuGraphicsVDPAURegisterVideoSurface, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_942cuGraphicsVDPAURegisterVideoSurface};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_943cuGraphicsVDPAURegisterVideoSurface(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vdpSurface = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsVDPAURegisterVideoSurface (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vdpSurface,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47169, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47169, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47169, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsVDPAURegisterVideoSurface", 0) < (0)) __PYX_ERR(0, 47169, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterVideoSurface", 1, 2, 2, i); __PYX_ERR(0, 47169, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47169, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47169, __pyx_L3_error)
    }
    __pyx_v_vdpSurface = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 47170, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterVideoSurface", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 47169, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsVDPAURegisterVideoSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_942cuGraphicsVDPAURegisterVideoSurface(__pyx_self, __pyx_v_vdpSurface, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_942cuGraphicsVDPAURegisterVideoSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface __pyx_v_cyvdpSurface;
  PyObject *__pyx_v_pvdpSurface = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsVDPAURegisterVideoSurface", 0);

  /* "cuda/bindings/driver.pyx":47215
 *     """
 *     cdef cydriver.VdpVideoSurface cyvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
*/
  __pyx_t_1 = (__pyx_v_vdpSurface == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47216
 *     cdef cydriver.VdpVideoSurface cyvdpSurface
 *     if vdpSurface is None:
 *         pvdpSurface = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
 *         pvdpSurface = int(vdpSurface)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pvdpSurface = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":47215
 *     """
 *     cdef cydriver.VdpVideoSurface cyvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47217
 *     if vdpSurface is None:
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpSurface, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47218
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
 *         pvdpSurface = int(vdpSurface)             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_vdpSurface); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpSurface = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47217
 *     if vdpSurface is None:
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47220
 *         pvdpSurface = int(vdpSurface)
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))             # <<<<<<<<<<<<<<
 *     cyvdpSurface = <cydriver.VdpVideoSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_vdpSurface};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47220, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpSurface = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47221
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
 *     cyvdpSurface = <cydriver.VdpVideoSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47221, __pyx_L1_error)
  __pyx_v_cyvdpSurface = ((__pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":47222
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
 *     cyvdpSurface = <cydriver.VdpVideoSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsVDPAURegisterVideoSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47222, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":47223
 *     cyvdpSurface = <cydriver.VdpVideoSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsVDPAURegisterVideoSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47224
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
 *         err = cydriver.cuGraphicsVDPAURegisterVideoSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsVDPAURegisterVideoSurface(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cyvdpSurface, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47224, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":47223
 *     cyvdpSurface = <cydriver.VdpVideoSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsVDPAURegisterVideoSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47225
 *     with nogil:
 *         err = cydriver.cuGraphicsVDPAURegisterVideoSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47226
 *         err = cydriver.cuGraphicsVDPAURegisterVideoSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pCudaResource)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 47226, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 47226, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47225
 *     with nogil:
 *         err = cydriver.cuGraphicsVDPAURegisterVideoSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  }

  /* "cuda/bindings/driver.pyx":47227
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 47227, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 47227, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47169
 *     return (_dict_CUresult[err], pCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpVideoSurface object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsVDPAURegisterVideoSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvdpSurface);
  __Pyx_XDECREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47229
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpOutputSurface object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_945cuGraphicsVDPAURegisterOutputSurface(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_944cuGraphicsVDPAURegisterOutputSurface, "cuGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags)\n\nRegisters a VDPAU VdpOutputSurface object.\n\nRegisters the VdpOutputSurface specified by `vdpSurface` for access by\nCUDA. A handle to the registered object is returned as `pCudaResource`.\nThe surface's intended usage is specified using `flags`, as follows:\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE`: Specifies no hints\n  about how this resource will be used. It is therefore assumed that\n  this resource will be read from and written to by CUDA. This is the\n  default value.\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY`: Specifies that\n  CUDA will not write to this resource.\n\n- :py:obj:`~.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD`: Specifies\n  that CUDA will not read from this resource and will write over the\n  entire contents of the resource, so none of the data previously\n  stored in the resource will be preserved.\n\nThe VdpOutputSurface is presented as an array of subresources that may\nbe accessed using pointers returned by\n:py:obj:`~.cuGraphicsSubResourceGetMappedArray`. The exact number of\nvalid `arrayIndex` values depends on the VDPAU surface format. The\nmapping is shown in the table below. `mipLevel` must be 0.\n\nParameters\n----------\nvdpSurface : :py:obj:`~.VdpOutputSurface`\n    The VdpOutputSurface to be registered\nflags : unsigned int\n    Map flags\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\npCudaResource : :py:obj:`~.CUgraphicsResource`\n    Pointer to the returned object handle\n\nSee Also\n--------\n:py:obj:`~.cuCtxCreate`, :py:obj:`~.cuVDPAUCtxCreate`, :py:obj:`~.cuGraphicsVDPAURegisterVideoSurface`, :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsResourceSetMapFlags`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, "":py:obj:`~.cuVDPAUGetDevice`, :py:obj:`~.cudaGraphicsVDPAURegisterOutputSurface`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_945cuGraphicsVDPAURegisterOutputSurface = {"cuGraphicsVDPAURegisterOutputSurface", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_945cuGraphicsVDPAURegisterOutputSurface, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_944cuGraphicsVDPAURegisterOutputSurface};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_945cuGraphicsVDPAURegisterOutputSurface(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vdpSurface = 0;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphicsVDPAURegisterOutputSurface (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vdpSurface,&__pyx_mstate_global->__pyx_n_u_flags_2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47229, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47229, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47229, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphicsVDPAURegisterOutputSurface", 0) < (0)) __PYX_ERR(0, 47229, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterOutputSurface", 1, 2, 2, i); __PYX_ERR(0, 47229, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47229, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47229, __pyx_L3_error)
    }
    __pyx_v_vdpSurface = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 47230, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterOutputSurface", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 47229, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsVDPAURegisterOutputSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_944cuGraphicsVDPAURegisterOutputSurface(__pyx_self, __pyx_v_vdpSurface, __pyx_v_flags);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_944cuGraphicsVDPAURegisterOutputSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface __pyx_v_cyvdpSurface;
  PyObject *__pyx_v_pvdpSurface = NULL;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUresult __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsVDPAURegisterOutputSurface", 0);

  /* "cuda/bindings/driver.pyx":47275
 *     """
 *     cdef cydriver.VdpOutputSurface cyvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
*/
  __pyx_t_1 = (__pyx_v_vdpSurface == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47276
 *     cdef cydriver.VdpOutputSurface cyvdpSurface
 *     if vdpSurface is None:
 *         pvdpSurface = 0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
 *         pvdpSurface = int(vdpSurface)
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_pvdpSurface = __pyx_mstate_global->__pyx_int_0;

    /* "cuda/bindings/driver.pyx":47275
 *     """
 *     cdef cydriver.VdpOutputSurface cyvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47277
 *     if vdpSurface is None:
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *     else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpSurface, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47278
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
 *         pvdpSurface = int(vdpSurface)             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_vdpSurface); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpSurface = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47277
 *     if vdpSurface is None:
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47280
 *         pvdpSurface = int(vdpSurface)
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))             # <<<<<<<<<<<<<<
 *     cyvdpSurface = <cydriver.VdpOutputSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface);
    __pyx_t_4 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface); 
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_vdpSurface};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47280, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpSurface = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47281
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
 *     cyvdpSurface = <cydriver.VdpOutputSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47281, __pyx_L1_error)
  __pyx_v_cyvdpSurface = ((__pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":47282
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
 *     cyvdpSurface = <cydriver.VdpOutputSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsVDPAURegisterOutputSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource); 
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47282, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/bindings/driver.pyx":47283
 *     cyvdpSurface = <cydriver.VdpOutputSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsVDPAURegisterOutputSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47284
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
 *         err = cydriver.cuGraphicsVDPAURegisterOutputSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsVDPAURegisterOutputSurface(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cyvdpSurface, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47284, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":47283
 *     cyvdpSurface = <cydriver.VdpOutputSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsVDPAURegisterOutputSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47285
 *     with nogil:
 *         err = cydriver.cuGraphicsVDPAURegisterOutputSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":47286
 *         err = cydriver.cuGraphicsVDPAURegisterOutputSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pCudaResource)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 47286, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None) != (0)) __PYX_ERR(0, 47286, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47285
 *     with nogil:
 *         err = cydriver.cuGraphicsVDPAURegisterOutputSurface(<cydriver.CUgraphicsResource*>pCudaResource._pvt_ptr, cyvdpSurface, flags)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)
*/
  }

  /* "cuda/bindings/driver.pyx":47287
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4) != (0)) __PYX_ERR(0, 47287, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 47287, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47229
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpOutputSurface object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphicsVDPAURegisterOutputSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvdpSurface);
  __Pyx_XDECREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47293
 *     cdef map[void_ptr, void*] _allocated
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         for item in self._allocated:
 *             free(item.second)
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_1__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_1__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal___dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal___dealloc__(struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *__pyx_v_self) {
  std::pair<__pyx_t_4cuda_8bindings_6driver_void_ptr,void *>  __pyx_v_item;
  std::map<__pyx_t_4cuda_8bindings_6driver_void_ptr,void *> ::iterator __pyx_t_1;
  std::pair<__pyx_t_4cuda_8bindings_6driver_void_ptr,void *>  __pyx_t_2;

  /* "cuda/bindings/driver.pyx":47294
 * 
 *     def __dealloc__(self):
 *         for item in self._allocated:             # <<<<<<<<<<<<<<
 *             free(item.second)
 *         self._allocated.clear()
*/
  __pyx_t_1 = __pyx_v_self->_allocated.begin();
  for (; __pyx_t_1 != __pyx_v_self->_allocated.end(); ++__pyx_t_1) {
    __pyx_t_2 = *__pyx_t_1;
    __pyx_v_item = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_2);

    /* "cuda/bindings/driver.pyx":47295
 *     def __dealloc__(self):
 *         for item in self._allocated:
 *             free(item.second)             # <<<<<<<<<<<<<<
 *         self._allocated.clear()
 * 
*/
    free(__pyx_v_item.second);

    /* "cuda/bindings/driver.pyx":47294
 * 
 *     def __dealloc__(self):
 *         for item in self._allocated:             # <<<<<<<<<<<<<<
 *             free(item.second)
 *         self._allocated.clear()
*/
  }

  /* "cuda/bindings/driver.pyx":47296
 *         for item in self._allocated:
 *             free(item.second)
 *         self._allocated.clear()             # <<<<<<<<<<<<<<
 * 
 * cdef cudaBindingsDriverGlobal m_global = cudaBindingsDriverGlobal()
*/
  __pyx_v_self->_allocated.clear();

  /* "cuda/bindings/driver.pyx":47293
 *     cdef map[void_ptr, void*] _allocated
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         for item in self._allocated:
 *             free(item.second)
*/

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_3__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_2__reduce_cython__, "cudaBindingsDriverGlobal.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_2__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_3__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_2__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_self__allocated_cannot_be_conver, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cudaBindingsDriverGlobal.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_5__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_4__setstate_cython__, "cudaBindingsDriverGlobal.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_4__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_5__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(2, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(2, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cudaBindingsDriverGlobal.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_4__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_mstate_global->__pyx_kp_u_self__allocated_cannot_be_conver, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cudaBindingsDriverGlobal.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47301
 * 
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def sizeof(objType):
 *     """ Returns the size of provided CUDA Python structure in bytes
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_947sizeof(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_946sizeof, "sizeof(objType)\n\nReturns the size of provided CUDA Python structure in bytes\n\nParameters\n----------\nobjType : Any\n    CUDA Python object\n\nReturns\n-------\nlowered_name : int\n    The size of `objType` in bytes");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_947sizeof = {"sizeof", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_947sizeof, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_946sizeof};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_947sizeof(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_objType = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sizeof (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_objType,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47301, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47301, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "sizeof", 0) < (0)) __PYX_ERR(0, 47301, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("sizeof", 1, 1, 1, i); __PYX_ERR(0, 47301, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47301, __pyx_L3_error)
    }
    __pyx_v_objType = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sizeof", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47301, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.sizeof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_946sizeof(__pyx_self, __pyx_v_objType);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_946sizeof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objType) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sizeof", 0);

  /* "cuda/bindings/driver.pyx":47315
 *         The size of `objType` in bytes
 *     """
 *     if objType == cuuint32_t:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.cuuint32_t)
 *     if objType == cuuint64_t:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47315, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47316
 *     """
 *     if objType == cuuint32_t:
 *         return sizeof(cydriver.cuuint32_t)             # <<<<<<<<<<<<<<
 *     if objType == cuuint64_t:
 *         return sizeof(cydriver.cuuint64_t)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47315
 *         The size of `objType` in bytes
 *     """
 *     if objType == cuuint32_t:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.cuuint32_t)
 *     if objType == cuuint64_t:
*/
  }

  /* "cuda/bindings/driver.pyx":47317
 *     if objType == cuuint32_t:
 *         return sizeof(cydriver.cuuint32_t)
 *     if objType == cuuint64_t:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.cuuint64_t)
 *     if objType == CUdeviceptr_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47317, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47318
 *         return sizeof(cydriver.cuuint32_t)
 *     if objType == cuuint64_t:
 *         return sizeof(cydriver.cuuint64_t)             # <<<<<<<<<<<<<<
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(cydriver.CUdeviceptr_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47317
 *     if objType == cuuint32_t:
 *         return sizeof(cydriver.cuuint32_t)
 *     if objType == cuuint64_t:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.cuuint64_t)
 *     if objType == CUdeviceptr_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47319
 *     if objType == cuuint64_t:
 *         return sizeof(cydriver.cuuint64_t)
 *     if objType == CUdeviceptr_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47319, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47320
 *         return sizeof(cydriver.cuuint64_t)
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(cydriver.CUdeviceptr_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUdeviceptr:
 *         return sizeof(cydriver.CUdeviceptr)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdeviceptr_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47319
 *     if objType == cuuint64_t:
 *         return sizeof(cydriver.cuuint64_t)
 *     if objType == CUdeviceptr_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:
*/
  }

  /* "cuda/bindings/driver.pyx":47321
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(cydriver.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdeviceptr)
 *     if objType == CUdevice_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47321, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47322
 *         return sizeof(cydriver.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:
 *         return sizeof(cydriver.CUdeviceptr)             # <<<<<<<<<<<<<<
 *     if objType == CUdevice_v1:
 *         return sizeof(cydriver.CUdevice_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdeviceptr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47321
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(cydriver.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdeviceptr)
 *     if objType == CUdevice_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47323
 *     if objType == CUdeviceptr:
 *         return sizeof(cydriver.CUdeviceptr)
 *     if objType == CUdevice_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevice_v1)
 *     if objType == CUdevice:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47323, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47324
 *         return sizeof(cydriver.CUdeviceptr)
 *     if objType == CUdevice_v1:
 *         return sizeof(cydriver.CUdevice_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUdevice:
 *         return sizeof(cydriver.CUdevice)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevice_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47323
 *     if objType == CUdeviceptr:
 *         return sizeof(cydriver.CUdeviceptr)
 *     if objType == CUdevice_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevice_v1)
 *     if objType == CUdevice:
*/
  }

  /* "cuda/bindings/driver.pyx":47325
 *     if objType == CUdevice_v1:
 *         return sizeof(cydriver.CUdevice_v1)
 *     if objType == CUdevice:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevice)
 *     if objType == CUcontext:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47325, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47326
 *         return sizeof(cydriver.CUdevice_v1)
 *     if objType == CUdevice:
 *         return sizeof(cydriver.CUdevice)             # <<<<<<<<<<<<<<
 *     if objType == CUcontext:
 *         return sizeof(cydriver.CUcontext)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevice))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47325
 *     if objType == CUdevice_v1:
 *         return sizeof(cydriver.CUdevice_v1)
 *     if objType == CUdevice:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevice)
 *     if objType == CUcontext:
*/
  }

  /* "cuda/bindings/driver.pyx":47327
 *     if objType == CUdevice:
 *         return sizeof(cydriver.CUdevice)
 *     if objType == CUcontext:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcontext)
 *     if objType == CUmodule:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47327, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47328
 *         return sizeof(cydriver.CUdevice)
 *     if objType == CUcontext:
 *         return sizeof(cydriver.CUcontext)             # <<<<<<<<<<<<<<
 *     if objType == CUmodule:
 *         return sizeof(cydriver.CUmodule)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUcontext))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47327
 *     if objType == CUdevice:
 *         return sizeof(cydriver.CUdevice)
 *     if objType == CUcontext:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcontext)
 *     if objType == CUmodule:
*/
  }

  /* "cuda/bindings/driver.pyx":47329
 *     if objType == CUcontext:
 *         return sizeof(cydriver.CUcontext)
 *     if objType == CUmodule:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmodule)
 *     if objType == CUfunction:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47329, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47330
 *         return sizeof(cydriver.CUcontext)
 *     if objType == CUmodule:
 *         return sizeof(cydriver.CUmodule)             # <<<<<<<<<<<<<<
 *     if objType == CUfunction:
 *         return sizeof(cydriver.CUfunction)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmodule))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47329
 *     if objType == CUcontext:
 *         return sizeof(cydriver.CUcontext)
 *     if objType == CUmodule:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmodule)
 *     if objType == CUfunction:
*/
  }

  /* "cuda/bindings/driver.pyx":47331
 *     if objType == CUmodule:
 *         return sizeof(cydriver.CUmodule)
 *     if objType == CUfunction:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUfunction)
 *     if objType == CUlibrary:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47331, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47332
 *         return sizeof(cydriver.CUmodule)
 *     if objType == CUfunction:
 *         return sizeof(cydriver.CUfunction)             # <<<<<<<<<<<<<<
 *     if objType == CUlibrary:
 *         return sizeof(cydriver.CUlibrary)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUfunction))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47331
 *     if objType == CUmodule:
 *         return sizeof(cydriver.CUmodule)
 *     if objType == CUfunction:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUfunction)
 *     if objType == CUlibrary:
*/
  }

  /* "cuda/bindings/driver.pyx":47333
 *     if objType == CUfunction:
 *         return sizeof(cydriver.CUfunction)
 *     if objType == CUlibrary:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibrary)
 *     if objType == CUkernel:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47333, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47334
 *         return sizeof(cydriver.CUfunction)
 *     if objType == CUlibrary:
 *         return sizeof(cydriver.CUlibrary)             # <<<<<<<<<<<<<<
 *     if objType == CUkernel:
 *         return sizeof(cydriver.CUkernel)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlibrary))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47333
 *     if objType == CUfunction:
 *         return sizeof(cydriver.CUfunction)
 *     if objType == CUlibrary:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibrary)
 *     if objType == CUkernel:
*/
  }

  /* "cuda/bindings/driver.pyx":47335
 *     if objType == CUlibrary:
 *         return sizeof(cydriver.CUlibrary)
 *     if objType == CUkernel:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernel)
 *     if objType == CUarray:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47335, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47336
 *         return sizeof(cydriver.CUlibrary)
 *     if objType == CUkernel:
 *         return sizeof(cydriver.CUkernel)             # <<<<<<<<<<<<<<
 *     if objType == CUarray:
 *         return sizeof(cydriver.CUarray)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUkernel))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47335
 *     if objType == CUlibrary:
 *         return sizeof(cydriver.CUlibrary)
 *     if objType == CUkernel:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernel)
 *     if objType == CUarray:
*/
  }

  /* "cuda/bindings/driver.pyx":47337
 *     if objType == CUkernel:
 *         return sizeof(cydriver.CUkernel)
 *     if objType == CUarray:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarray)
 *     if objType == CUmipmappedArray:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47337, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47338
 *         return sizeof(cydriver.CUkernel)
 *     if objType == CUarray:
 *         return sizeof(cydriver.CUarray)             # <<<<<<<<<<<<<<
 *     if objType == CUmipmappedArray:
 *         return sizeof(cydriver.CUmipmappedArray)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUarray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47337
 *     if objType == CUkernel:
 *         return sizeof(cydriver.CUkernel)
 *     if objType == CUarray:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarray)
 *     if objType == CUmipmappedArray:
*/
  }

  /* "cuda/bindings/driver.pyx":47339
 *     if objType == CUarray:
 *         return sizeof(cydriver.CUarray)
 *     if objType == CUmipmappedArray:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmipmappedArray)
 *     if objType == CUtexref:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47339, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47340
 *         return sizeof(cydriver.CUarray)
 *     if objType == CUmipmappedArray:
 *         return sizeof(cydriver.CUmipmappedArray)             # <<<<<<<<<<<<<<
 *     if objType == CUtexref:
 *         return sizeof(cydriver.CUtexref)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmipmappedArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47339
 *     if objType == CUarray:
 *         return sizeof(cydriver.CUarray)
 *     if objType == CUmipmappedArray:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmipmappedArray)
 *     if objType == CUtexref:
*/
  }

  /* "cuda/bindings/driver.pyx":47341
 *     if objType == CUmipmappedArray:
 *         return sizeof(cydriver.CUmipmappedArray)
 *     if objType == CUtexref:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexref)
 *     if objType == CUsurfref:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47341, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47342
 *         return sizeof(cydriver.CUmipmappedArray)
 *     if objType == CUtexref:
 *         return sizeof(cydriver.CUtexref)             # <<<<<<<<<<<<<<
 *     if objType == CUsurfref:
 *         return sizeof(cydriver.CUsurfref)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUtexref))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47341
 *     if objType == CUmipmappedArray:
 *         return sizeof(cydriver.CUmipmappedArray)
 *     if objType == CUtexref:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexref)
 *     if objType == CUsurfref:
*/
  }

  /* "cuda/bindings/driver.pyx":47343
 *     if objType == CUtexref:
 *         return sizeof(cydriver.CUtexref)
 *     if objType == CUsurfref:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfref)
 *     if objType == CUevent:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47343, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47344
 *         return sizeof(cydriver.CUtexref)
 *     if objType == CUsurfref:
 *         return sizeof(cydriver.CUsurfref)             # <<<<<<<<<<<<<<
 *     if objType == CUevent:
 *         return sizeof(cydriver.CUevent)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUsurfref))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47343
 *     if objType == CUtexref:
 *         return sizeof(cydriver.CUtexref)
 *     if objType == CUsurfref:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfref)
 *     if objType == CUevent:
*/
  }

  /* "cuda/bindings/driver.pyx":47345
 *     if objType == CUsurfref:
 *         return sizeof(cydriver.CUsurfref)
 *     if objType == CUevent:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUevent)
 *     if objType == CUstream:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47345, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47345, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47346
 *         return sizeof(cydriver.CUsurfref)
 *     if objType == CUevent:
 *         return sizeof(cydriver.CUevent)             # <<<<<<<<<<<<<<
 *     if objType == CUstream:
 *         return sizeof(cydriver.CUstream)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUevent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47345
 *     if objType == CUsurfref:
 *         return sizeof(cydriver.CUsurfref)
 *     if objType == CUevent:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUevent)
 *     if objType == CUstream:
*/
  }

  /* "cuda/bindings/driver.pyx":47347
 *     if objType == CUevent:
 *         return sizeof(cydriver.CUevent)
 *     if objType == CUstream:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstream)
 *     if objType == CUgraphicsResource:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47347, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47348
 *         return sizeof(cydriver.CUevent)
 *     if objType == CUstream:
 *         return sizeof(cydriver.CUstream)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphicsResource:
 *         return sizeof(cydriver.CUgraphicsResource)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUstream))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47347
 *     if objType == CUevent:
 *         return sizeof(cydriver.CUevent)
 *     if objType == CUstream:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstream)
 *     if objType == CUgraphicsResource:
*/
  }

  /* "cuda/bindings/driver.pyx":47349
 *     if objType == CUstream:
 *         return sizeof(cydriver.CUstream)
 *     if objType == CUgraphicsResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphicsResource)
 *     if objType == CUtexObject_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47349, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47350
 *         return sizeof(cydriver.CUstream)
 *     if objType == CUgraphicsResource:
 *         return sizeof(cydriver.CUgraphicsResource)             # <<<<<<<<<<<<<<
 *     if objType == CUtexObject_v1:
 *         return sizeof(cydriver.CUtexObject_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphicsResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47349
 *     if objType == CUstream:
 *         return sizeof(cydriver.CUstream)
 *     if objType == CUgraphicsResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphicsResource)
 *     if objType == CUtexObject_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47351
 *     if objType == CUgraphicsResource:
 *         return sizeof(cydriver.CUgraphicsResource)
 *     if objType == CUtexObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexObject_v1)
 *     if objType == CUtexObject:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47351, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47352
 *         return sizeof(cydriver.CUgraphicsResource)
 *     if objType == CUtexObject_v1:
 *         return sizeof(cydriver.CUtexObject_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUtexObject:
 *         return sizeof(cydriver.CUtexObject)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUtexObject_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47351
 *     if objType == CUgraphicsResource:
 *         return sizeof(cydriver.CUgraphicsResource)
 *     if objType == CUtexObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexObject_v1)
 *     if objType == CUtexObject:
*/
  }

  /* "cuda/bindings/driver.pyx":47353
 *     if objType == CUtexObject_v1:
 *         return sizeof(cydriver.CUtexObject_v1)
 *     if objType == CUtexObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexObject)
 *     if objType == CUsurfObject_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47353, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47354
 *         return sizeof(cydriver.CUtexObject_v1)
 *     if objType == CUtexObject:
 *         return sizeof(cydriver.CUtexObject)             # <<<<<<<<<<<<<<
 *     if objType == CUsurfObject_v1:
 *         return sizeof(cydriver.CUsurfObject_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUtexObject))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47353
 *     if objType == CUtexObject_v1:
 *         return sizeof(cydriver.CUtexObject_v1)
 *     if objType == CUtexObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexObject)
 *     if objType == CUsurfObject_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47355
 *     if objType == CUtexObject:
 *         return sizeof(cydriver.CUtexObject)
 *     if objType == CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfObject_v1)
 *     if objType == CUsurfObject:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47355, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47356
 *         return sizeof(cydriver.CUtexObject)
 *     if objType == CUsurfObject_v1:
 *         return sizeof(cydriver.CUsurfObject_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUsurfObject:
 *         return sizeof(cydriver.CUsurfObject)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUsurfObject_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47355
 *     if objType == CUtexObject:
 *         return sizeof(cydriver.CUtexObject)
 *     if objType == CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfObject_v1)
 *     if objType == CUsurfObject:
*/
  }

  /* "cuda/bindings/driver.pyx":47357
 *     if objType == CUsurfObject_v1:
 *         return sizeof(cydriver.CUsurfObject_v1)
 *     if objType == CUsurfObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfObject)
 *     if objType == CUexternalMemory:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47357, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47358
 *         return sizeof(cydriver.CUsurfObject_v1)
 *     if objType == CUsurfObject:
 *         return sizeof(cydriver.CUsurfObject)             # <<<<<<<<<<<<<<
 *     if objType == CUexternalMemory:
 *         return sizeof(cydriver.CUexternalMemory)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUsurfObject))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47357
 *     if objType == CUsurfObject_v1:
 *         return sizeof(cydriver.CUsurfObject_v1)
 *     if objType == CUsurfObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfObject)
 *     if objType == CUexternalMemory:
*/
  }

  /* "cuda/bindings/driver.pyx":47359
 *     if objType == CUsurfObject:
 *         return sizeof(cydriver.CUsurfObject)
 *     if objType == CUexternalMemory:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexternalMemory)
 *     if objType == CUexternalSemaphore:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47359, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47360
 *         return sizeof(cydriver.CUsurfObject)
 *     if objType == CUexternalMemory:
 *         return sizeof(cydriver.CUexternalMemory)             # <<<<<<<<<<<<<<
 *     if objType == CUexternalSemaphore:
 *         return sizeof(cydriver.CUexternalSemaphore)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUexternalMemory))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47359
 *     if objType == CUsurfObject:
 *         return sizeof(cydriver.CUsurfObject)
 *     if objType == CUexternalMemory:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexternalMemory)
 *     if objType == CUexternalSemaphore:
*/
  }

  /* "cuda/bindings/driver.pyx":47361
 *     if objType == CUexternalMemory:
 *         return sizeof(cydriver.CUexternalMemory)
 *     if objType == CUexternalSemaphore:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexternalSemaphore)
 *     if objType == CUgraph:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47361, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47362
 *         return sizeof(cydriver.CUexternalMemory)
 *     if objType == CUexternalSemaphore:
 *         return sizeof(cydriver.CUexternalSemaphore)             # <<<<<<<<<<<<<<
 *     if objType == CUgraph:
 *         return sizeof(cydriver.CUgraph)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47361
 *     if objType == CUexternalMemory:
 *         return sizeof(cydriver.CUexternalMemory)
 *     if objType == CUexternalSemaphore:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexternalSemaphore)
 *     if objType == CUgraph:
*/
  }

  /* "cuda/bindings/driver.pyx":47363
 *     if objType == CUexternalSemaphore:
 *         return sizeof(cydriver.CUexternalSemaphore)
 *     if objType == CUgraph:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraph)
 *     if objType == CUgraphNode:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47363, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47364
 *         return sizeof(cydriver.CUexternalSemaphore)
 *     if objType == CUgraph:
 *         return sizeof(cydriver.CUgraph)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphNode:
 *         return sizeof(cydriver.CUgraphNode)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraph))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47363
 *     if objType == CUexternalSemaphore:
 *         return sizeof(cydriver.CUexternalSemaphore)
 *     if objType == CUgraph:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraph)
 *     if objType == CUgraphNode:
*/
  }

  /* "cuda/bindings/driver.pyx":47365
 *     if objType == CUgraph:
 *         return sizeof(cydriver.CUgraph)
 *     if objType == CUgraphNode:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphNode)
 *     if objType == CUgraphExec:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47365, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47366
 *         return sizeof(cydriver.CUgraph)
 *     if objType == CUgraphNode:
 *         return sizeof(cydriver.CUgraphNode)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphExec:
 *         return sizeof(cydriver.CUgraphExec)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47366, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47365
 *     if objType == CUgraph:
 *         return sizeof(cydriver.CUgraph)
 *     if objType == CUgraphNode:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphNode)
 *     if objType == CUgraphExec:
*/
  }

  /* "cuda/bindings/driver.pyx":47367
 *     if objType == CUgraphNode:
 *         return sizeof(cydriver.CUgraphNode)
 *     if objType == CUgraphExec:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExec)
 *     if objType == CUmemoryPool:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47367, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47368
 *         return sizeof(cydriver.CUgraphNode)
 *     if objType == CUgraphExec:
 *         return sizeof(cydriver.CUgraphExec)             # <<<<<<<<<<<<<<
 *     if objType == CUmemoryPool:
 *         return sizeof(cydriver.CUmemoryPool)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphExec))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47367
 *     if objType == CUgraphNode:
 *         return sizeof(cydriver.CUgraphNode)
 *     if objType == CUgraphExec:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExec)
 *     if objType == CUmemoryPool:
*/
  }

  /* "cuda/bindings/driver.pyx":47369
 *     if objType == CUgraphExec:
 *         return sizeof(cydriver.CUgraphExec)
 *     if objType == CUmemoryPool:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemoryPool)
 *     if objType == CUuserObject:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47369, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47370
 *         return sizeof(cydriver.CUgraphExec)
 *     if objType == CUmemoryPool:
 *         return sizeof(cydriver.CUmemoryPool)             # <<<<<<<<<<<<<<
 *     if objType == CUuserObject:
 *         return sizeof(cydriver.CUuserObject)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemoryPool))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47369
 *     if objType == CUgraphExec:
 *         return sizeof(cydriver.CUgraphExec)
 *     if objType == CUmemoryPool:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemoryPool)
 *     if objType == CUuserObject:
*/
  }

  /* "cuda/bindings/driver.pyx":47371
 *     if objType == CUmemoryPool:
 *         return sizeof(cydriver.CUmemoryPool)
 *     if objType == CUuserObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuserObject)
 *     if objType == CUgraphConditionalHandle:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47371, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47372
 *         return sizeof(cydriver.CUmemoryPool)
 *     if objType == CUuserObject:
 *         return sizeof(cydriver.CUuserObject)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(cydriver.CUgraphConditionalHandle)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUuserObject))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47371
 *     if objType == CUmemoryPool:
 *         return sizeof(cydriver.CUmemoryPool)
 *     if objType == CUuserObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuserObject)
 *     if objType == CUgraphConditionalHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":47373
 *     if objType == CUuserObject:
 *         return sizeof(cydriver.CUuserObject)
 *     if objType == CUgraphConditionalHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47373, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47374
 *         return sizeof(cydriver.CUuserObject)
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(cydriver.CUgraphConditionalHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(cydriver.CUgraphDeviceNode)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphConditionalHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47373
 *     if objType == CUuserObject:
 *         return sizeof(cydriver.CUuserObject)
 *     if objType == CUgraphConditionalHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:
*/
  }

  /* "cuda/bindings/driver.pyx":47375
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(cydriver.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47375, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47376
 *         return sizeof(cydriver.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(cydriver.CUgraphDeviceNode)             # <<<<<<<<<<<<<<
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(cydriver.CUasyncCallbackHandle)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphDeviceNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47375
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(cydriver.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":47377
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(cydriver.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncCallbackHandle)
 *     if objType == CUgreenCtx:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47377, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47378
 *         return sizeof(cydriver.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(cydriver.CUasyncCallbackHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUgreenCtx:
 *         return sizeof(cydriver.CUgreenCtx)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUasyncCallbackHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47377
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(cydriver.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncCallbackHandle)
 *     if objType == CUgreenCtx:
*/
  }

  /* "cuda/bindings/driver.pyx":47379
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(cydriver.CUasyncCallbackHandle)
 *     if objType == CUgreenCtx:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgreenCtx)
 *     if objType == CUuuid_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47379, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47380
 *         return sizeof(cydriver.CUasyncCallbackHandle)
 *     if objType == CUgreenCtx:
 *         return sizeof(cydriver.CUgreenCtx)             # <<<<<<<<<<<<<<
 *     if objType == CUuuid_st:
 *         return sizeof(cydriver.CUuuid_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgreenCtx))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47379
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(cydriver.CUasyncCallbackHandle)
 *     if objType == CUgreenCtx:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgreenCtx)
 *     if objType == CUuuid_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47381
 *     if objType == CUgreenCtx:
 *         return sizeof(cydriver.CUgreenCtx)
 *     if objType == CUuuid_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuuid_st)
 *     if objType == CUuuid:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47381, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47382
 *         return sizeof(cydriver.CUgreenCtx)
 *     if objType == CUuuid_st:
 *         return sizeof(cydriver.CUuuid_st)             # <<<<<<<<<<<<<<
 *     if objType == CUuuid:
 *         return sizeof(cydriver.CUuuid)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUuuid_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47381
 *     if objType == CUgreenCtx:
 *         return sizeof(cydriver.CUgreenCtx)
 *     if objType == CUuuid_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuuid_st)
 *     if objType == CUuuid:
*/
  }

  /* "cuda/bindings/driver.pyx":47383
 *     if objType == CUuuid_st:
 *         return sizeof(cydriver.CUuuid_st)
 *     if objType == CUuuid:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuuid)
 *     if objType == CUmemFabricHandle_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47383, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47384
 *         return sizeof(cydriver.CUuuid_st)
 *     if objType == CUuuid:
 *         return sizeof(cydriver.CUuuid)             # <<<<<<<<<<<<<<
 *     if objType == CUmemFabricHandle_st:
 *         return sizeof(cydriver.CUmemFabricHandle_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUuuid))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47383
 *     if objType == CUuuid_st:
 *         return sizeof(cydriver.CUuuid_st)
 *     if objType == CUuuid:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuuid)
 *     if objType == CUmemFabricHandle_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47385
 *     if objType == CUuuid:
 *         return sizeof(cydriver.CUuuid)
 *     if objType == CUmemFabricHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47385, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47386
 *         return sizeof(cydriver.CUuuid)
 *     if objType == CUmemFabricHandle_st:
 *         return sizeof(cydriver.CUmemFabricHandle_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(cydriver.CUmemFabricHandle_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemFabricHandle_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47385
 *     if objType == CUuuid:
 *         return sizeof(cydriver.CUuuid)
 *     if objType == CUmemFabricHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47387
 *     if objType == CUmemFabricHandle_st:
 *         return sizeof(cydriver.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47387, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47388
 *         return sizeof(cydriver.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(cydriver.CUmemFabricHandle_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemFabricHandle:
 *         return sizeof(cydriver.CUmemFabricHandle)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemFabricHandle_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47387
 *     if objType == CUmemFabricHandle_st:
 *         return sizeof(cydriver.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":47389
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(cydriver.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47389, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47390
 *         return sizeof(cydriver.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:
 *         return sizeof(cydriver.CUmemFabricHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUipcEventHandle_st:
 *         return sizeof(cydriver.CUipcEventHandle_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemFabricHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47389
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(cydriver.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47391
 *     if objType == CUmemFabricHandle:
 *         return sizeof(cydriver.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47391, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47392
 *         return sizeof(cydriver.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:
 *         return sizeof(cydriver.CUipcEventHandle_st)             # <<<<<<<<<<<<<<
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(cydriver.CUipcEventHandle_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUipcEventHandle_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47391
 *     if objType == CUmemFabricHandle:
 *         return sizeof(cydriver.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47393
 *     if objType == CUipcEventHandle_st:
 *         return sizeof(cydriver.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47393, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47394
 *         return sizeof(cydriver.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(cydriver.CUipcEventHandle_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUipcEventHandle:
 *         return sizeof(cydriver.CUipcEventHandle)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUipcEventHandle_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47393
 *     if objType == CUipcEventHandle_st:
 *         return sizeof(cydriver.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":47395
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(cydriver.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47395, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47396
 *         return sizeof(cydriver.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:
 *         return sizeof(cydriver.CUipcEventHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUipcMemHandle_st:
 *         return sizeof(cydriver.CUipcMemHandle_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUipcEventHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47395
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(cydriver.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47397
 *     if objType == CUipcEventHandle:
 *         return sizeof(cydriver.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47397, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47398
 *         return sizeof(cydriver.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:
 *         return sizeof(cydriver.CUipcMemHandle_st)             # <<<<<<<<<<<<<<
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(cydriver.CUipcMemHandle_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUipcMemHandle_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47397
 *     if objType == CUipcEventHandle:
 *         return sizeof(cydriver.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47399
 *     if objType == CUipcMemHandle_st:
 *         return sizeof(cydriver.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47399, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47400
 *         return sizeof(cydriver.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(cydriver.CUipcMemHandle_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUipcMemHandle:
 *         return sizeof(cydriver.CUipcMemHandle)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUipcMemHandle_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47399
 *     if objType == CUipcMemHandle_st:
 *         return sizeof(cydriver.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":47401
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(cydriver.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47401, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47402
 *         return sizeof(cydriver.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:
 *         return sizeof(cydriver.CUipcMemHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamBatchMemOpParams_union:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_union)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUipcMemHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47401
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(cydriver.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:
*/
  }

  /* "cuda/bindings/driver.pyx":47403
 *     if objType == CUipcMemHandle:
 *         return sizeof(cydriver.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47403, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47404
 *         return sizeof(cydriver.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_union)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamBatchMemOpParams_v1:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(union CUstreamBatchMemOpParams_union))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47403
 *     if objType == CUipcMemHandle:
 *         return sizeof(cydriver.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47405
 *     if objType == CUstreamBatchMemOpParams_union:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47405, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47406
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamBatchMemOpParams:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUstreamBatchMemOpParams_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47405
 *     if objType == CUstreamBatchMemOpParams_union:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:
*/
  }

  /* "cuda/bindings/driver.pyx":47407
 *     if objType == CUstreamBatchMemOpParams_v1:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47407, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47408
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47407
 *     if objType == CUstreamBatchMemOpParams_v1:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47409
 *     if objType == CUstreamBatchMemOpParams:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47409, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47410
 *         return sizeof(cydriver.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47409
 *     if objType == CUstreamBatchMemOpParams:
 *         return sizeof(cydriver.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47411
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47411, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47412
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_BATCH_MEM_OP_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47411
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47413
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47413, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47413, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47414
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_BATCH_MEM_OP_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47413
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47415
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47415, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47416
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47415
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47417
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47417, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47418
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(cydriver.CUasyncNotificationInfo_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_BATCH_MEM_OP_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47417
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47419
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47419, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47420
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(cydriver.CUasyncNotificationInfo_st)             # <<<<<<<<<<<<<<
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(cydriver.CUasyncNotificationInfo)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUasyncNotificationInfo_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47419
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:
*/
  }

  /* "cuda/bindings/driver.pyx":47421
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(cydriver.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47421, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47422
 *         return sizeof(cydriver.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(cydriver.CUasyncNotificationInfo)             # <<<<<<<<<<<<<<
 *     if objType == CUasyncCallback:
 *         return sizeof(cydriver.CUasyncCallback)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUasyncNotificationInfo))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47421
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(cydriver.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:
*/
  }

  /* "cuda/bindings/driver.pyx":47423
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(cydriver.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncCallback)
 *     if objType == CUdevprop_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47423, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47424
 *         return sizeof(cydriver.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:
 *         return sizeof(cydriver.CUasyncCallback)             # <<<<<<<<<<<<<<
 *     if objType == CUdevprop_st:
 *         return sizeof(cydriver.CUdevprop_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUasyncCallback))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47423
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(cydriver.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncCallback)
 *     if objType == CUdevprop_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47425
 *     if objType == CUasyncCallback:
 *         return sizeof(cydriver.CUasyncCallback)
 *     if objType == CUdevprop_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevprop_st)
 *     if objType == CUdevprop_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47425, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47426
 *         return sizeof(cydriver.CUasyncCallback)
 *     if objType == CUdevprop_st:
 *         return sizeof(cydriver.CUdevprop_st)             # <<<<<<<<<<<<<<
 *     if objType == CUdevprop_v1:
 *         return sizeof(cydriver.CUdevprop_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUdevprop_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47425
 *     if objType == CUasyncCallback:
 *         return sizeof(cydriver.CUasyncCallback)
 *     if objType == CUdevprop_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevprop_st)
 *     if objType == CUdevprop_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47427
 *     if objType == CUdevprop_st:
 *         return sizeof(cydriver.CUdevprop_st)
 *     if objType == CUdevprop_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevprop_v1)
 *     if objType == CUdevprop:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47427, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47428
 *         return sizeof(cydriver.CUdevprop_st)
 *     if objType == CUdevprop_v1:
 *         return sizeof(cydriver.CUdevprop_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUdevprop:
 *         return sizeof(cydriver.CUdevprop)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevprop_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47427
 *     if objType == CUdevprop_st:
 *         return sizeof(cydriver.CUdevprop_st)
 *     if objType == CUdevprop_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevprop_v1)
 *     if objType == CUdevprop:
*/
  }

  /* "cuda/bindings/driver.pyx":47429
 *     if objType == CUdevprop_v1:
 *         return sizeof(cydriver.CUdevprop_v1)
 *     if objType == CUdevprop:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevprop)
 *     if objType == CUlinkState:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47429, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47430
 *         return sizeof(cydriver.CUdevprop_v1)
 *     if objType == CUdevprop:
 *         return sizeof(cydriver.CUdevprop)             # <<<<<<<<<<<<<<
 *     if objType == CUlinkState:
 *         return sizeof(cydriver.CUlinkState)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevprop))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47429
 *     if objType == CUdevprop_v1:
 *         return sizeof(cydriver.CUdevprop_v1)
 *     if objType == CUdevprop:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevprop)
 *     if objType == CUlinkState:
*/
  }

  /* "cuda/bindings/driver.pyx":47431
 *     if objType == CUdevprop:
 *         return sizeof(cydriver.CUdevprop)
 *     if objType == CUlinkState:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlinkState)
 *     if objType == CUhostFn:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47431, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47432
 *         return sizeof(cydriver.CUdevprop)
 *     if objType == CUlinkState:
 *         return sizeof(cydriver.CUlinkState)             # <<<<<<<<<<<<<<
 *     if objType == CUhostFn:
 *         return sizeof(cydriver.CUhostFn)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlinkState))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47431
 *     if objType == CUdevprop:
 *         return sizeof(cydriver.CUdevprop)
 *     if objType == CUlinkState:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlinkState)
 *     if objType == CUhostFn:
*/
  }

  /* "cuda/bindings/driver.pyx":47433
 *     if objType == CUlinkState:
 *         return sizeof(cydriver.CUlinkState)
 *     if objType == CUhostFn:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47433, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47434
 *         return sizeof(cydriver.CUlinkState)
 *     if objType == CUhostFn:
 *         return sizeof(cydriver.CUhostFn)             # <<<<<<<<<<<<<<
 *     if objType == CUaccessPolicyWindow_st:
 *         return sizeof(cydriver.CUaccessPolicyWindow_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUhostFn))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47433
 *     if objType == CUlinkState:
 *         return sizeof(cydriver.CUlinkState)
 *     if objType == CUhostFn:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47435
 *     if objType == CUhostFn:
 *         return sizeof(cydriver.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47435, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47436
 *         return sizeof(cydriver.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:
 *         return sizeof(cydriver.CUaccessPolicyWindow_st)             # <<<<<<<<<<<<<<
 *     if objType == CUaccessPolicyWindow_v1:
 *         return sizeof(cydriver.CUaccessPolicyWindow_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUaccessPolicyWindow_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47435
 *     if objType == CUhostFn:
 *         return sizeof(cydriver.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47437
 *     if objType == CUaccessPolicyWindow_st:
 *         return sizeof(cydriver.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47437, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47438
 *         return sizeof(cydriver.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:
 *         return sizeof(cydriver.CUaccessPolicyWindow_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUaccessPolicyWindow:
 *         return sizeof(cydriver.CUaccessPolicyWindow)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUaccessPolicyWindow_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47437
 *     if objType == CUaccessPolicyWindow_st:
 *         return sizeof(cydriver.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:
*/
  }

  /* "cuda/bindings/driver.pyx":47439
 *     if objType == CUaccessPolicyWindow_v1:
 *         return sizeof(cydriver.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47439, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47440
 *         return sizeof(cydriver.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:
 *         return sizeof(cydriver.CUaccessPolicyWindow)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUaccessPolicyWindow))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47439
 *     if objType == CUaccessPolicyWindow_v1:
 *         return sizeof(cydriver.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47441
 *     if objType == CUaccessPolicyWindow:
 *         return sizeof(cydriver.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47441, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47442
 *         return sizeof(cydriver.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_KERNEL_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47441
 *     if objType == CUaccessPolicyWindow:
 *         return sizeof(cydriver.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47443
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47443, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47444
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_KERNEL_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47443
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47445
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47445, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47445, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47446
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_KERNEL_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47445
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47447
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47447, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47448
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_KERNEL_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47447
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47449
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47449, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47450
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_KERNEL_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47449
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47451
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47451, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47452
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_KERNEL_NODE_PARAMS_v3_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47451
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
*/
  }

  /* "cuda/bindings/driver.pyx":47453
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47453, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47454
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_KERNEL_NODE_PARAMS_v3))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47453
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47455
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47455, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47455, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47456
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEMSET_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47455
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 *         return sizeof(cydriver.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47457
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47457, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47458
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMSET_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47457
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47459
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47459, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47460
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMSET_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47459
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47461
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47461, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47462
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEMSET_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47461
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47463
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47463, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47464
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMSET_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47463
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47465
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47465, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47466
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_HOST_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47465
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47467
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47467, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47468
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_HOST_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47467
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47469
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47469, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47470
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_HOST_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47469
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47471
 *     if objType == CUDA_HOST_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47471, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47472
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_HOST_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47471
 *     if objType == CUDA_HOST_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47473
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47473, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47474
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_CONDITIONAL_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_HOST_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47473
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47475
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47475, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47476
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_CONDITIONAL_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphEdgeData_st:
 *         return sizeof(cydriver.CUgraphEdgeData_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_CONDITIONAL_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47475
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47477
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47477, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47478
 *         return sizeof(cydriver.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:
 *         return sizeof(cydriver.CUgraphEdgeData_st)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphEdgeData:
 *         return sizeof(cydriver.CUgraphEdgeData)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUgraphEdgeData_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47477
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:
*/
  }

  /* "cuda/bindings/driver.pyx":47479
 *     if objType == CUgraphEdgeData_st:
 *         return sizeof(cydriver.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47479, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47480
 *         return sizeof(cydriver.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:
 *         return sizeof(cydriver.CUgraphEdgeData)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47479
 *     if objType == CUgraphEdgeData_st:
 *         return sizeof(cydriver.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47481
 *     if objType == CUgraphEdgeData:
 *         return sizeof(cydriver.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47481, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47482
 *         return sizeof(cydriver.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_GRAPH_INSTANTIATE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47481
 *     if objType == CUgraphEdgeData:
 *         return sizeof(cydriver.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47483
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47483, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47484
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_GRAPH_INSTANTIATE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47483
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47485
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47485, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47486
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap_st)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUlaunchMemSyncDomainMap_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47485
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 *         return sizeof(cydriver.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:
*/
  }

  /* "cuda/bindings/driver.pyx":47487
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47487, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47488
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlaunchMemSyncDomainMap))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47487
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:
*/
  }

  /* "cuda/bindings/driver.pyx":47489
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47489, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47490
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(cydriver.CUlaunchAttributeValue)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(union CUlaunchAttributeValue_union))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47489
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:
*/
  }

  /* "cuda/bindings/driver.pyx":47491
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47491, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47492
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(cydriver.CUlaunchAttributeValue)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(cydriver.CUlaunchAttribute_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlaunchAttributeValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47491
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47493
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(cydriver.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47493, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47494
 *         return sizeof(cydriver.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(cydriver.CUlaunchAttribute_st)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchAttribute:
 *         return sizeof(cydriver.CUlaunchAttribute)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUlaunchAttribute_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47493
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(cydriver.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:
*/
  }

  /* "cuda/bindings/driver.pyx":47495
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(cydriver.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47495, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47496
 *         return sizeof(cydriver.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:
 *         return sizeof(cydriver.CUlaunchAttribute)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(cydriver.CUlaunchConfig_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlaunchAttribute))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47495
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(cydriver.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47497
 *     if objType == CUlaunchAttribute:
 *         return sizeof(cydriver.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47497, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47498
 *         return sizeof(cydriver.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(cydriver.CUlaunchConfig_st)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchConfig:
 *         return sizeof(cydriver.CUlaunchConfig)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUlaunchConfig_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47497
 *     if objType == CUlaunchAttribute:
 *         return sizeof(cydriver.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:
*/
  }

  /* "cuda/bindings/driver.pyx":47499
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(cydriver.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47499, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47500
 *         return sizeof(cydriver.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:
 *         return sizeof(cydriver.CUlaunchConfig)             # <<<<<<<<<<<<<<
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlaunchConfig))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47499
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(cydriver.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47501
 *     if objType == CUlaunchConfig:
 *         return sizeof(cydriver.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47501, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47502
 *         return sizeof(cydriver.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(cydriver.CUkernelNodeAttrValue)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUkernelNodeAttrValue_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47501
 *     if objType == CUlaunchConfig:
 *         return sizeof(cydriver.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:
*/
  }

  /* "cuda/bindings/driver.pyx":47503
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47503, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47504
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(cydriver.CUkernelNodeAttrValue)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(cydriver.CUstreamAttrValue_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUkernelNodeAttrValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47503
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47505
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(cydriver.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47505, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47506
 *         return sizeof(cydriver.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(cydriver.CUstreamAttrValue_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamAttrValue:
 *         return sizeof(cydriver.CUstreamAttrValue)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUstreamAttrValue_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47505
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(cydriver.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:
*/
  }

  /* "cuda/bindings/driver.pyx":47507
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(cydriver.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47507, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47508
 *         return sizeof(cydriver.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:
 *         return sizeof(cydriver.CUstreamAttrValue)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinitySmCount_st:
 *         return sizeof(cydriver.CUexecAffinitySmCount_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUstreamAttrValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47507
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(cydriver.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47509
 *     if objType == CUstreamAttrValue:
 *         return sizeof(cydriver.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47509, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47510
 *         return sizeof(cydriver.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:
 *         return sizeof(cydriver.CUexecAffinitySmCount_st)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(cydriver.CUexecAffinitySmCount_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUexecAffinitySmCount_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47509
 *     if objType == CUstreamAttrValue:
 *         return sizeof(cydriver.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47511
 *     if objType == CUexecAffinitySmCount_st:
 *         return sizeof(cydriver.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47511, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47512
 *         return sizeof(cydriver.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(cydriver.CUexecAffinitySmCount_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(cydriver.CUexecAffinitySmCount)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUexecAffinitySmCount_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47511
 *     if objType == CUexecAffinitySmCount_st:
 *         return sizeof(cydriver.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:
*/
  }

  /* "cuda/bindings/driver.pyx":47513
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(cydriver.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47513, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47514
 *         return sizeof(cydriver.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(cydriver.CUexecAffinitySmCount)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinityParam_st:
 *         return sizeof(cydriver.CUexecAffinityParam_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUexecAffinitySmCount))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47513
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(cydriver.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47515
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(cydriver.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47515, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47516
 *         return sizeof(cydriver.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:
 *         return sizeof(cydriver.CUexecAffinityParam_st)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(cydriver.CUexecAffinityParam_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUexecAffinityParam_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47515
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(cydriver.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47517
 *     if objType == CUexecAffinityParam_st:
 *         return sizeof(cydriver.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47517, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47517, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47518
 *         return sizeof(cydriver.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(cydriver.CUexecAffinityParam_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinityParam:
 *         return sizeof(cydriver.CUexecAffinityParam)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUexecAffinityParam_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47517
 *     if objType == CUexecAffinityParam_st:
 *         return sizeof(cydriver.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:
*/
  }

  /* "cuda/bindings/driver.pyx":47519
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(cydriver.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinityParam)
 *     if objType == CUctxCigParam_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47519, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47520
 *         return sizeof(cydriver.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:
 *         return sizeof(cydriver.CUexecAffinityParam)             # <<<<<<<<<<<<<<
 *     if objType == CUctxCigParam_st:
 *         return sizeof(cydriver.CUctxCigParam_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUexecAffinityParam))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47519
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(cydriver.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinityParam)
 *     if objType == CUctxCigParam_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47521
 *     if objType == CUexecAffinityParam:
 *         return sizeof(cydriver.CUexecAffinityParam)
 *     if objType == CUctxCigParam_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCigParam_st)
 *     if objType == CUctxCigParam:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47521, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47522
 *         return sizeof(cydriver.CUexecAffinityParam)
 *     if objType == CUctxCigParam_st:
 *         return sizeof(cydriver.CUctxCigParam_st)             # <<<<<<<<<<<<<<
 *     if objType == CUctxCigParam:
 *         return sizeof(cydriver.CUctxCigParam)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUctxCigParam_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47521
 *     if objType == CUexecAffinityParam:
 *         return sizeof(cydriver.CUexecAffinityParam)
 *     if objType == CUctxCigParam_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCigParam_st)
 *     if objType == CUctxCigParam:
*/
  }

  /* "cuda/bindings/driver.pyx":47523
 *     if objType == CUctxCigParam_st:
 *         return sizeof(cydriver.CUctxCigParam_st)
 *     if objType == CUctxCigParam:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCigParam)
 *     if objType == CUctxCreateParams_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47523, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47524
 *         return sizeof(cydriver.CUctxCigParam_st)
 *     if objType == CUctxCigParam:
 *         return sizeof(cydriver.CUctxCigParam)             # <<<<<<<<<<<<<<
 *     if objType == CUctxCreateParams_st:
 *         return sizeof(cydriver.CUctxCreateParams_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUctxCigParam))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47523
 *     if objType == CUctxCigParam_st:
 *         return sizeof(cydriver.CUctxCigParam_st)
 *     if objType == CUctxCigParam:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCigParam)
 *     if objType == CUctxCreateParams_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47525
 *     if objType == CUctxCigParam:
 *         return sizeof(cydriver.CUctxCigParam)
 *     if objType == CUctxCreateParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCreateParams_st)
 *     if objType == CUctxCreateParams:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47525, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47526
 *         return sizeof(cydriver.CUctxCigParam)
 *     if objType == CUctxCreateParams_st:
 *         return sizeof(cydriver.CUctxCreateParams_st)             # <<<<<<<<<<<<<<
 *     if objType == CUctxCreateParams:
 *         return sizeof(cydriver.CUctxCreateParams)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUctxCreateParams_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47525
 *     if objType == CUctxCigParam:
 *         return sizeof(cydriver.CUctxCigParam)
 *     if objType == CUctxCreateParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCreateParams_st)
 *     if objType == CUctxCreateParams:
*/
  }

  /* "cuda/bindings/driver.pyx":47527
 *     if objType == CUctxCreateParams_st:
 *         return sizeof(cydriver.CUctxCreateParams_st)
 *     if objType == CUctxCreateParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCreateParams)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47527, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47528
 *         return sizeof(cydriver.CUctxCreateParams_st)
 *     if objType == CUctxCreateParams:
 *         return sizeof(cydriver.CUctxCreateParams)             # <<<<<<<<<<<<<<
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUctxCreateParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47527
 *     if objType == CUctxCreateParams_st:
 *         return sizeof(cydriver.CUctxCreateParams_st)
 *     if objType == CUctxCreateParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCreateParams)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47529
 *     if objType == CUctxCreateParams:
 *         return sizeof(cydriver.CUctxCreateParams)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47529, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47530
 *         return sizeof(cydriver.CUctxCreateParams)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)             # <<<<<<<<<<<<<<
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUlibraryHostUniversalFunctionAndDataTable_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47529
 *     if objType == CUctxCreateParams:
 *         return sizeof(cydriver.CUctxCreateParams)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
*/
  }

  /* "cuda/bindings/driver.pyx":47531
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47531, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47532
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamCallback:
 *         return sizeof(cydriver.CUstreamCallback)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlibraryHostUniversalFunctionAndDataTable))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47531
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:
*/
  }

  /* "cuda/bindings/driver.pyx":47533
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47533, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47534
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:
 *         return sizeof(cydriver.CUstreamCallback)             # <<<<<<<<<<<<<<
 *     if objType == CUoccupancyB2DSize:
 *         return sizeof(cydriver.CUoccupancyB2DSize)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUstreamCallback))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47533
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:
*/
  }

  /* "cuda/bindings/driver.pyx":47535
 *     if objType == CUstreamCallback:
 *         return sizeof(cydriver.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47535, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47536
 *         return sizeof(cydriver.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:
 *         return sizeof(cydriver.CUoccupancyB2DSize)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY2D_st:
 *         return sizeof(cydriver.CUDA_MEMCPY2D_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUoccupancyB2DSize))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47535
 *     if objType == CUstreamCallback:
 *         return sizeof(cydriver.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47537
 *     if objType == CUoccupancyB2DSize:
 *         return sizeof(cydriver.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47537, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47538
 *         return sizeof(cydriver.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:
 *         return sizeof(cydriver.CUDA_MEMCPY2D_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY2D_v2:
 *         return sizeof(cydriver.CUDA_MEMCPY2D_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEMCPY2D_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47537
 *     if objType == CUoccupancyB2DSize:
 *         return sizeof(cydriver.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47539
 *     if objType == CUDA_MEMCPY2D_st:
 *         return sizeof(cydriver.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47539, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47540
 *         return sizeof(cydriver.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:
 *         return sizeof(cydriver.CUDA_MEMCPY2D_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY2D:
 *         return sizeof(cydriver.CUDA_MEMCPY2D)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY2D_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47539
 *     if objType == CUDA_MEMCPY2D_st:
 *         return sizeof(cydriver.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:
*/
  }

  /* "cuda/bindings/driver.pyx":47541
 *     if objType == CUDA_MEMCPY2D_v2:
 *         return sizeof(cydriver.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47541, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47541, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47542
 *         return sizeof(cydriver.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:
 *         return sizeof(cydriver.CUDA_MEMCPY2D)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY2D))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47541
 *     if objType == CUDA_MEMCPY2D_v2:
 *         return sizeof(cydriver.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47543
 *     if objType == CUDA_MEMCPY2D:
 *         return sizeof(cydriver.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47543, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47544
 *         return sizeof(cydriver.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_v2:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEMCPY3D_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47543
 *     if objType == CUDA_MEMCPY2D:
 *         return sizeof(cydriver.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47545
 *     if objType == CUDA_MEMCPY3D_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47545, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47546
 *         return sizeof(cydriver.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D:
 *         return sizeof(cydriver.CUDA_MEMCPY3D)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY3D_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47545
 *     if objType == CUDA_MEMCPY3D_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:
*/
  }

  /* "cuda/bindings/driver.pyx":47547
 *     if objType == CUDA_MEMCPY3D_v2:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47547, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47548
 *         return sizeof(cydriver.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:
 *         return sizeof(cydriver.CUDA_MEMCPY3D)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY3D))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47547
 *     if objType == CUDA_MEMCPY3D_v2:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47549
 *     if objType == CUDA_MEMCPY3D:
 *         return sizeof(cydriver.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47549, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47549, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47550
 *         return sizeof(cydriver.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEMCPY3D_PEER_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47549
 *     if objType == CUDA_MEMCPY3D:
 *         return sizeof(cydriver.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47551
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47551, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47552
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_PEER:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY3D_PEER_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47551
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:
*/
  }

  /* "cuda/bindings/driver.pyx":47553
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47553, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47553, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47554
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY3D_PEER))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47553
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47555
 *     if objType == CUDA_MEMCPY3D_PEER:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47555, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47556
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEMCPY_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47555
 *     if objType == CUDA_MEMCPY3D_PEER:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47557
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47557, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47558
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47557
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47559
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47559, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47560
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_ARRAY_DESCRIPTOR_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47559
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47561
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47561, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47562
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_ARRAY_DESCRIPTOR_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47561
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
*/
  }

  /* "cuda/bindings/driver.pyx":47563
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47563, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47564
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_ARRAY_DESCRIPTOR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47563
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47565
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47565, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47566
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_ARRAY3D_DESCRIPTOR_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47565
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 *         return sizeof(cydriver.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47567
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47567, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47568
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_ARRAY3D_DESCRIPTOR_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47567
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
*/
  }

  /* "cuda/bindings/driver.pyx":47569
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47569, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47570
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_ARRAY3D_DESCRIPTOR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47569
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47571
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47571, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47572
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_ARRAY_SPARSE_PROPERTIES_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47571
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 *         return sizeof(cydriver.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47573
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47573, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47574
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_ARRAY_SPARSE_PROPERTIES_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47573
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
*/
  }

  /* "cuda/bindings/driver.pyx":47575
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47575, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47576
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_ARRAY_SPARSE_PROPERTIES))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47575
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47577
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47577, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47578
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47577
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 *         return sizeof(cydriver.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47579
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47579, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47580
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_ARRAY_MEMORY_REQUIREMENTS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47579
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
*/
  }

  /* "cuda/bindings/driver.pyx":47581
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47581, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47582
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_DESC_st:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_ARRAY_MEMORY_REQUIREMENTS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47581
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47583
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47583, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47584
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_DESC_v1:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_RESOURCE_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47583
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 *         return sizeof(cydriver.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47585
 *     if objType == CUDA_RESOURCE_DESC_st:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47585, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47586
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_DESC:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_RESOURCE_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47585
 *     if objType == CUDA_RESOURCE_DESC_st:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:
*/
  }

  /* "cuda/bindings/driver.pyx":47587
 *     if objType == CUDA_RESOURCE_DESC_v1:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47587, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47588
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_TEXTURE_DESC_st:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_RESOURCE_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47587
 *     if objType == CUDA_RESOURCE_DESC_v1:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47589
 *     if objType == CUDA_RESOURCE_DESC:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47589, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47590
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_TEXTURE_DESC_v1:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_TEXTURE_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47589
 *     if objType == CUDA_RESOURCE_DESC:
 *         return sizeof(cydriver.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47591
 *     if objType == CUDA_TEXTURE_DESC_st:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47591, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47592
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_TEXTURE_DESC:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_TEXTURE_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47591
 *     if objType == CUDA_TEXTURE_DESC_st:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:
*/
  }

  /* "cuda/bindings/driver.pyx":47593
 *     if objType == CUDA_TEXTURE_DESC_v1:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47593, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47594
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_TEXTURE_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47593
 *     if objType == CUDA_TEXTURE_DESC_v1:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47595
 *     if objType == CUDA_TEXTURE_DESC:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47595, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47596
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_RESOURCE_VIEW_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47595
 *     if objType == CUDA_TEXTURE_DESC:
 *         return sizeof(cydriver.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47597
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47597, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47598
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_RESOURCE_VIEW_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47598, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47597
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
*/
  }

  /* "cuda/bindings/driver.pyx":47599
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47599, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47600
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUtensorMap_st:
 *         return sizeof(cydriver.CUtensorMap_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_RESOURCE_VIEW_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47599
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47601
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtensorMap_st)
 *     if objType == CUtensorMap:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47601, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47602
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:
 *         return sizeof(cydriver.CUtensorMap_st)             # <<<<<<<<<<<<<<
 *     if objType == CUtensorMap:
 *         return sizeof(cydriver.CUtensorMap)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUtensorMap_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47601
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 *         return sizeof(cydriver.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtensorMap_st)
 *     if objType == CUtensorMap:
*/
  }

  /* "cuda/bindings/driver.pyx":47603
 *     if objType == CUtensorMap_st:
 *         return sizeof(cydriver.CUtensorMap_st)
 *     if objType == CUtensorMap:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47603, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47603, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47604
 *         return sizeof(cydriver.CUtensorMap_st)
 *     if objType == CUtensorMap:
 *         return sizeof(cydriver.CUtensorMap)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUtensorMap))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47603
 *     if objType == CUtensorMap_st:
 *         return sizeof(cydriver.CUtensorMap_st)
 *     if objType == CUtensorMap:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47605
 *     if objType == CUtensorMap:
 *         return sizeof(cydriver.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47605, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47606
 *         return sizeof(cydriver.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47605
 *     if objType == CUtensorMap:
 *         return sizeof(cydriver.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47607
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47607, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47608
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47607
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
*/
  }

  /* "cuda/bindings/driver.pyx":47609
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47609, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47609, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47610
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47609
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47611
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47611, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47612
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_LAUNCH_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47611
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 *         return sizeof(cydriver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47613
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47613, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47614
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_LAUNCH_PARAMS:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_LAUNCH_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47613
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47615
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47615, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47616
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_LAUNCH_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47615
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47617
 *     if objType == CUDA_LAUNCH_PARAMS:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47617, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47618
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47617
 *     if objType == CUDA_LAUNCH_PARAMS:
 *         return sizeof(cydriver.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47619
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47619, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47619, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47620
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47619
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
*/
  }

  /* "cuda/bindings/driver.pyx":47621
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47621, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47622
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_HANDLE_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47621
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47623
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47623, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47623, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47624
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47623
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47625
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47625, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47626
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47625
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
*/
  }

  /* "cuda/bindings/driver.pyx":47627
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47627, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47628
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_BUFFER_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47627
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47629
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47629, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47630
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47629
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47631
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47631, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47632
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47631
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
*/
  }

  /* "cuda/bindings/driver.pyx":47633
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47633, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47634
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47633
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47635
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47635, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47636
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47635
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47637
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47637, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47637, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47638
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47637
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
*/
  }

  /* "cuda/bindings/driver.pyx":47639
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47639, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47640
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47639
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47641
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47641, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47642
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47641
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47643
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47643, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47644
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47643
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47645
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47645, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47646
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47645
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47647
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47647, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47648
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47647
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47649
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47649, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47650
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47649
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47651
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47651, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47652
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47651
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47653
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47653, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47654
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47653
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 *         return sizeof(cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47655
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47655, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47656
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47655
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47657
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47657, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47658
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47657
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47659
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47659, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47660
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47660, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47659
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47661
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47661, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47662
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47661
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47663
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47663, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47664
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47663
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47665
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47665, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47666
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47665
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47667
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47667, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47668
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXT_SEM_WAIT_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47667
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47669
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47669, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47670
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47669
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47671
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47671, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47672
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47671
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47673
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47673, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47674
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemGenericAllocationHandle_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47673
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":47675
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47675, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47676
 *         return sizeof(cydriver.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUarrayMapInfo_st:
 *         return sizeof(cydriver.CUarrayMapInfo_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemGenericAllocationHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47675
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47677
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47677, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47678
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:
 *         return sizeof(cydriver.CUarrayMapInfo_st)             # <<<<<<<<<<<<<<
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(cydriver.CUarrayMapInfo_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUarrayMapInfo_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47677
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47679
 *     if objType == CUarrayMapInfo_st:
 *         return sizeof(cydriver.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47679, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47680
 *         return sizeof(cydriver.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(cydriver.CUarrayMapInfo_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUarrayMapInfo:
 *         return sizeof(cydriver.CUarrayMapInfo)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUarrayMapInfo_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47679
 *     if objType == CUarrayMapInfo_st:
 *         return sizeof(cydriver.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:
*/
  }

  /* "cuda/bindings/driver.pyx":47681
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(cydriver.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47681, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47681, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47682
 *         return sizeof(cydriver.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:
 *         return sizeof(cydriver.CUarrayMapInfo)             # <<<<<<<<<<<<<<
 *     if objType == CUmemLocation_st:
 *         return sizeof(cydriver.CUmemLocation_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUarrayMapInfo))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47681
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(cydriver.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47683
 *     if objType == CUarrayMapInfo:
 *         return sizeof(cydriver.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47683, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47684
 *         return sizeof(cydriver.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:
 *         return sizeof(cydriver.CUmemLocation_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemLocation_v1:
 *         return sizeof(cydriver.CUmemLocation_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemLocation_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47683
 *     if objType == CUarrayMapInfo:
 *         return sizeof(cydriver.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47685
 *     if objType == CUmemLocation_st:
 *         return sizeof(cydriver.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemLocation_v1)
 *     if objType == CUmemLocation:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47685, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47686
 *         return sizeof(cydriver.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:
 *         return sizeof(cydriver.CUmemLocation_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemLocation:
 *         return sizeof(cydriver.CUmemLocation)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemLocation_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47685
 *     if objType == CUmemLocation_st:
 *         return sizeof(cydriver.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemLocation_v1)
 *     if objType == CUmemLocation:
*/
  }

  /* "cuda/bindings/driver.pyx":47687
 *     if objType == CUmemLocation_v1:
 *         return sizeof(cydriver.CUmemLocation_v1)
 *     if objType == CUmemLocation:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47687, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47688
 *         return sizeof(cydriver.CUmemLocation_v1)
 *     if objType == CUmemLocation:
 *         return sizeof(cydriver.CUmemLocation)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAllocationProp_st:
 *         return sizeof(cydriver.CUmemAllocationProp_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemLocation))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47687
 *     if objType == CUmemLocation_v1:
 *         return sizeof(cydriver.CUmemLocation_v1)
 *     if objType == CUmemLocation:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47689
 *     if objType == CUmemLocation:
 *         return sizeof(cydriver.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47689, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47689, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47690
 *         return sizeof(cydriver.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:
 *         return sizeof(cydriver.CUmemAllocationProp_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(cydriver.CUmemAllocationProp_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemAllocationProp_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47689
 *     if objType == CUmemLocation:
 *         return sizeof(cydriver.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47691
 *     if objType == CUmemAllocationProp_st:
 *         return sizeof(cydriver.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47691, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47692
 *         return sizeof(cydriver.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(cydriver.CUmemAllocationProp_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAllocationProp:
 *         return sizeof(cydriver.CUmemAllocationProp)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemAllocationProp_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47691
 *     if objType == CUmemAllocationProp_st:
 *         return sizeof(cydriver.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:
*/
  }

  /* "cuda/bindings/driver.pyx":47693
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(cydriver.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47693, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47694
 *         return sizeof(cydriver.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:
 *         return sizeof(cydriver.CUmemAllocationProp)             # <<<<<<<<<<<<<<
 *     if objType == CUmulticastObjectProp_st:
 *         return sizeof(cydriver.CUmulticastObjectProp_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemAllocationProp))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47694, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47693
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(cydriver.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47695
 *     if objType == CUmemAllocationProp:
 *         return sizeof(cydriver.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47695, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47696
 *         return sizeof(cydriver.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:
 *         return sizeof(cydriver.CUmulticastObjectProp_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(cydriver.CUmulticastObjectProp_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmulticastObjectProp_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47695
 *     if objType == CUmemAllocationProp:
 *         return sizeof(cydriver.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47697
 *     if objType == CUmulticastObjectProp_st:
 *         return sizeof(cydriver.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47697, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47698
 *         return sizeof(cydriver.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(cydriver.CUmulticastObjectProp_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(cydriver.CUmulticastObjectProp)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmulticastObjectProp_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47697
 *     if objType == CUmulticastObjectProp_st:
 *         return sizeof(cydriver.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:
*/
  }

  /* "cuda/bindings/driver.pyx":47699
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(cydriver.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47699, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47700
 *         return sizeof(cydriver.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(cydriver.CUmulticastObjectProp)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAccessDesc_st:
 *         return sizeof(cydriver.CUmemAccessDesc_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmulticastObjectProp))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47699
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(cydriver.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47701
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(cydriver.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47701, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47702
 *         return sizeof(cydriver.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:
 *         return sizeof(cydriver.CUmemAccessDesc_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(cydriver.CUmemAccessDesc_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemAccessDesc_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47701
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(cydriver.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47703
 *     if objType == CUmemAccessDesc_st:
 *         return sizeof(cydriver.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47703, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47704
 *         return sizeof(cydriver.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(cydriver.CUmemAccessDesc_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAccessDesc:
 *         return sizeof(cydriver.CUmemAccessDesc)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemAccessDesc_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47703
 *     if objType == CUmemAccessDesc_st:
 *         return sizeof(cydriver.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:
*/
  }

  /* "cuda/bindings/driver.pyx":47705
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(cydriver.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47705, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47706
 *         return sizeof(cydriver.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:
 *         return sizeof(cydriver.CUmemAccessDesc)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphExecUpdateResultInfo_st:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47705
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(cydriver.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47707
 *     if objType == CUmemAccessDesc:
 *         return sizeof(cydriver.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47707, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47708
 *         return sizeof(cydriver.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_st)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUgraphExecUpdateResultInfo_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47707
 *     if objType == CUmemAccessDesc:
 *         return sizeof(cydriver.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47709
 *     if objType == CUgraphExecUpdateResultInfo_st:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47709, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47710
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphExecUpdateResultInfo_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47709
 *     if objType == CUgraphExecUpdateResultInfo_st:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:
*/
  }

  /* "cuda/bindings/driver.pyx":47711
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47711, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47712
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolProps_st:
 *         return sizeof(cydriver.CUmemPoolProps_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphExecUpdateResultInfo))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47711
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47713
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47713, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47714
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:
 *         return sizeof(cydriver.CUmemPoolProps_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(cydriver.CUmemPoolProps_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemPoolProps_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47713
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47715
 *     if objType == CUmemPoolProps_st:
 *         return sizeof(cydriver.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47715, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47716
 *         return sizeof(cydriver.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(cydriver.CUmemPoolProps_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolProps:
 *         return sizeof(cydriver.CUmemPoolProps)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemPoolProps_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47715
 *     if objType == CUmemPoolProps_st:
 *         return sizeof(cydriver.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:
*/
  }

  /* "cuda/bindings/driver.pyx":47717
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(cydriver.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47717, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47718
 *         return sizeof(cydriver.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:
 *         return sizeof(cydriver.CUmemPoolProps)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolPtrExportData_st:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemPoolProps))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47717
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(cydriver.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47719
 *     if objType == CUmemPoolProps:
 *         return sizeof(cydriver.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47719, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47720
 *         return sizeof(cydriver.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemPoolPtrExportData_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47719
 *     if objType == CUmemPoolProps:
 *         return sizeof(cydriver.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47721
 *     if objType == CUmemPoolPtrExportData_st:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47721, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47722
 *         return sizeof(cydriver.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(cydriver.CUmemPoolPtrExportData)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemPoolPtrExportData_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47721
 *     if objType == CUmemPoolPtrExportData_st:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:
*/
  }

  /* "cuda/bindings/driver.pyx":47723
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolPtrExportData)
 *     if objType == CUmemcpyAttributes_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47723, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47723, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47724
 *         return sizeof(cydriver.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(cydriver.CUmemPoolPtrExportData)             # <<<<<<<<<<<<<<
 *     if objType == CUmemcpyAttributes_st:
 *         return sizeof(cydriver.CUmemcpyAttributes_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemPoolPtrExportData))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47723
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolPtrExportData)
 *     if objType == CUmemcpyAttributes_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47725
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(cydriver.CUmemPoolPtrExportData)
 *     if objType == CUmemcpyAttributes_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpyAttributes_st)
 *     if objType == CUmemcpyAttributes_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47725, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47726
 *         return sizeof(cydriver.CUmemPoolPtrExportData)
 *     if objType == CUmemcpyAttributes_st:
 *         return sizeof(cydriver.CUmemcpyAttributes_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemcpyAttributes_v1:
 *         return sizeof(cydriver.CUmemcpyAttributes_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemcpyAttributes_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47725
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(cydriver.CUmemPoolPtrExportData)
 *     if objType == CUmemcpyAttributes_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpyAttributes_st)
 *     if objType == CUmemcpyAttributes_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47727
 *     if objType == CUmemcpyAttributes_st:
 *         return sizeof(cydriver.CUmemcpyAttributes_st)
 *     if objType == CUmemcpyAttributes_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpyAttributes_v1)
 *     if objType == CUmemcpyAttributes:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47727, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47728
 *         return sizeof(cydriver.CUmemcpyAttributes_st)
 *     if objType == CUmemcpyAttributes_v1:
 *         return sizeof(cydriver.CUmemcpyAttributes_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemcpyAttributes:
 *         return sizeof(cydriver.CUmemcpyAttributes)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemcpyAttributes_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47727
 *     if objType == CUmemcpyAttributes_st:
 *         return sizeof(cydriver.CUmemcpyAttributes_st)
 *     if objType == CUmemcpyAttributes_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpyAttributes_v1)
 *     if objType == CUmemcpyAttributes:
*/
  }

  /* "cuda/bindings/driver.pyx":47729
 *     if objType == CUmemcpyAttributes_v1:
 *         return sizeof(cydriver.CUmemcpyAttributes_v1)
 *     if objType == CUmemcpyAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpyAttributes)
 *     if objType == CUoffset3D_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47729, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47730
 *         return sizeof(cydriver.CUmemcpyAttributes_v1)
 *     if objType == CUmemcpyAttributes:
 *         return sizeof(cydriver.CUmemcpyAttributes)             # <<<<<<<<<<<<<<
 *     if objType == CUoffset3D_st:
 *         return sizeof(cydriver.CUoffset3D_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemcpyAttributes))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47729
 *     if objType == CUmemcpyAttributes_v1:
 *         return sizeof(cydriver.CUmemcpyAttributes_v1)
 *     if objType == CUmemcpyAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpyAttributes)
 *     if objType == CUoffset3D_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47731
 *     if objType == CUmemcpyAttributes:
 *         return sizeof(cydriver.CUmemcpyAttributes)
 *     if objType == CUoffset3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoffset3D_st)
 *     if objType == CUoffset3D_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47731, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47732
 *         return sizeof(cydriver.CUmemcpyAttributes)
 *     if objType == CUoffset3D_st:
 *         return sizeof(cydriver.CUoffset3D_st)             # <<<<<<<<<<<<<<
 *     if objType == CUoffset3D_v1:
 *         return sizeof(cydriver.CUoffset3D_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUoffset3D_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47731
 *     if objType == CUmemcpyAttributes:
 *         return sizeof(cydriver.CUmemcpyAttributes)
 *     if objType == CUoffset3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoffset3D_st)
 *     if objType == CUoffset3D_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47733
 *     if objType == CUoffset3D_st:
 *         return sizeof(cydriver.CUoffset3D_st)
 *     if objType == CUoffset3D_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoffset3D_v1)
 *     if objType == CUoffset3D:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47733, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47734
 *         return sizeof(cydriver.CUoffset3D_st)
 *     if objType == CUoffset3D_v1:
 *         return sizeof(cydriver.CUoffset3D_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUoffset3D:
 *         return sizeof(cydriver.CUoffset3D)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUoffset3D_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47733
 *     if objType == CUoffset3D_st:
 *         return sizeof(cydriver.CUoffset3D_st)
 *     if objType == CUoffset3D_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoffset3D_v1)
 *     if objType == CUoffset3D:
*/
  }

  /* "cuda/bindings/driver.pyx":47735
 *     if objType == CUoffset3D_v1:
 *         return sizeof(cydriver.CUoffset3D_v1)
 *     if objType == CUoffset3D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoffset3D)
 *     if objType == CUextent3D_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47735, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47736
 *         return sizeof(cydriver.CUoffset3D_v1)
 *     if objType == CUoffset3D:
 *         return sizeof(cydriver.CUoffset3D)             # <<<<<<<<<<<<<<
 *     if objType == CUextent3D_st:
 *         return sizeof(cydriver.CUextent3D_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUoffset3D))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47735
 *     if objType == CUoffset3D_v1:
 *         return sizeof(cydriver.CUoffset3D_v1)
 *     if objType == CUoffset3D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoffset3D)
 *     if objType == CUextent3D_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47737
 *     if objType == CUoffset3D:
 *         return sizeof(cydriver.CUoffset3D)
 *     if objType == CUextent3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUextent3D_st)
 *     if objType == CUextent3D_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47737, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47738
 *         return sizeof(cydriver.CUoffset3D)
 *     if objType == CUextent3D_st:
 *         return sizeof(cydriver.CUextent3D_st)             # <<<<<<<<<<<<<<
 *     if objType == CUextent3D_v1:
 *         return sizeof(cydriver.CUextent3D_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUextent3D_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47737
 *     if objType == CUoffset3D:
 *         return sizeof(cydriver.CUoffset3D)
 *     if objType == CUextent3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUextent3D_st)
 *     if objType == CUextent3D_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47739
 *     if objType == CUextent3D_st:
 *         return sizeof(cydriver.CUextent3D_st)
 *     if objType == CUextent3D_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUextent3D_v1)
 *     if objType == CUextent3D:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47739, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47739, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47740
 *         return sizeof(cydriver.CUextent3D_st)
 *     if objType == CUextent3D_v1:
 *         return sizeof(cydriver.CUextent3D_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUextent3D:
 *         return sizeof(cydriver.CUextent3D)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUextent3D_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47739
 *     if objType == CUextent3D_st:
 *         return sizeof(cydriver.CUextent3D_st)
 *     if objType == CUextent3D_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUextent3D_v1)
 *     if objType == CUextent3D:
*/
  }

  /* "cuda/bindings/driver.pyx":47741
 *     if objType == CUextent3D_v1:
 *         return sizeof(cydriver.CUextent3D_v1)
 *     if objType == CUextent3D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUextent3D)
 *     if objType == CUmemcpy3DOperand_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47741, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47742
 *         return sizeof(cydriver.CUextent3D_v1)
 *     if objType == CUextent3D:
 *         return sizeof(cydriver.CUextent3D)             # <<<<<<<<<<<<<<
 *     if objType == CUmemcpy3DOperand_st:
 *         return sizeof(cydriver.CUmemcpy3DOperand_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUextent3D))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47741
 *     if objType == CUextent3D_v1:
 *         return sizeof(cydriver.CUextent3D_v1)
 *     if objType == CUextent3D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUextent3D)
 *     if objType == CUmemcpy3DOperand_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47743
 *     if objType == CUextent3D:
 *         return sizeof(cydriver.CUextent3D)
 *     if objType == CUmemcpy3DOperand_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpy3DOperand_st)
 *     if objType == CUmemcpy3DOperand_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47743, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47744
 *         return sizeof(cydriver.CUextent3D)
 *     if objType == CUmemcpy3DOperand_st:
 *         return sizeof(cydriver.CUmemcpy3DOperand_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemcpy3DOperand_v1:
 *         return sizeof(cydriver.CUmemcpy3DOperand_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemcpy3DOperand_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47743
 *     if objType == CUextent3D:
 *         return sizeof(cydriver.CUextent3D)
 *     if objType == CUmemcpy3DOperand_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpy3DOperand_st)
 *     if objType == CUmemcpy3DOperand_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47745
 *     if objType == CUmemcpy3DOperand_st:
 *         return sizeof(cydriver.CUmemcpy3DOperand_st)
 *     if objType == CUmemcpy3DOperand_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpy3DOperand_v1)
 *     if objType == CUmemcpy3DOperand:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47745, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47746
 *         return sizeof(cydriver.CUmemcpy3DOperand_st)
 *     if objType == CUmemcpy3DOperand_v1:
 *         return sizeof(cydriver.CUmemcpy3DOperand_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemcpy3DOperand:
 *         return sizeof(cydriver.CUmemcpy3DOperand)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemcpy3DOperand_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47745
 *     if objType == CUmemcpy3DOperand_st:
 *         return sizeof(cydriver.CUmemcpy3DOperand_st)
 *     if objType == CUmemcpy3DOperand_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpy3DOperand_v1)
 *     if objType == CUmemcpy3DOperand:
*/
  }

  /* "cuda/bindings/driver.pyx":47747
 *     if objType == CUmemcpy3DOperand_v1:
 *         return sizeof(cydriver.CUmemcpy3DOperand_v1)
 *     if objType == CUmemcpy3DOperand:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpy3DOperand)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47747, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47748
 *         return sizeof(cydriver.CUmemcpy3DOperand_v1)
 *     if objType == CUmemcpy3DOperand:
 *         return sizeof(cydriver.CUmemcpy3DOperand)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemcpy3DOperand))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47747
 *     if objType == CUmemcpy3DOperand_v1:
 *         return sizeof(cydriver.CUmemcpy3DOperand_v1)
 *     if objType == CUmemcpy3DOperand:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpy3DOperand)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47749
 *     if objType == CUmemcpy3DOperand:
 *         return sizeof(cydriver.CUmemcpy3DOperand)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_st)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47749, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47750
 *         return sizeof(cydriver.CUmemcpy3DOperand)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_v1:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEMCPY3D_BATCH_OP_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47749
 *     if objType == CUmemcpy3DOperand:
 *         return sizeof(cydriver.CUmemcpy3DOperand)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_st)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47751
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_st)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_v1)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47751, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47752
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_st)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_v1:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_BATCH_OP:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY3D_BATCH_OP_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47751
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_st:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_st)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_v1)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP:
*/
  }

  /* "cuda/bindings/driver.pyx":47753
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_v1:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_v1)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47753, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47754
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_v1)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEMCPY3D_BATCH_OP))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47753
 *     if objType == CUDA_MEMCPY3D_BATCH_OP_v1:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP_v1)
 *     if objType == CUDA_MEMCPY3D_BATCH_OP:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47755
 *     if objType == CUDA_MEMCPY3D_BATCH_OP:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47755, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47755, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47756
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47755
 *     if objType == CUDA_MEMCPY3D_BATCH_OP:
 *         return sizeof(cydriver.CUDA_MEMCPY3D_BATCH_OP)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47757
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47757, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47757, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47758
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEM_ALLOC_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47757
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47759
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47759, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47760
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEM_ALLOC_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47759
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47761
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47761, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47761, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47762
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47761
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
*/
  }

  /* "cuda/bindings/driver.pyx":47763
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47763, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47764
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEM_ALLOC_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47763
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47765
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47765, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47766
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_MEM_FREE_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47765
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 *         return sizeof(cydriver.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47767
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47767, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47768
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_MEM_FREE_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47767
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47769
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47769, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47770
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_CHILD_GRAPH_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47769
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47771
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47771, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47772
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_CHILD_GRAPH_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47771
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47773
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47773, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47774
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EVENT_RECORD_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47773
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47775
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47775, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47776
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EVENT_RECORD_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47775
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47777
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47777, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47778
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUDA_EVENT_WAIT_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47777
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":47779
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47779, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47779, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47780
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(cydriver.CUgraphNodeParams_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EVENT_WAIT_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47779
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47781
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47781, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47781, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47782
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(cydriver.CUgraphNodeParams_st)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphNodeParams:
 *         return sizeof(cydriver.CUgraphNodeParams)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUgraphNodeParams_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47781
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 *         return sizeof(cydriver.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:
*/
  }

  /* "cuda/bindings/driver.pyx":47783
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(cydriver.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphNodeParams)
 *     if objType == CUcheckpointLockArgs_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47783, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47784
 *         return sizeof(cydriver.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:
 *         return sizeof(cydriver.CUgraphNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointLockArgs_st:
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUgraphNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47783
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(cydriver.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphNodeParams)
 *     if objType == CUcheckpointLockArgs_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47785
 *     if objType == CUgraphNodeParams:
 *         return sizeof(cydriver.CUgraphNodeParams)
 *     if objType == CUcheckpointLockArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)
 *     if objType == CUcheckpointLockArgs:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47785, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47786
 *         return sizeof(cydriver.CUgraphNodeParams)
 *     if objType == CUcheckpointLockArgs_st:
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointLockArgs:
 *         return sizeof(cydriver.CUcheckpointLockArgs)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUcheckpointLockArgs_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47785
 *     if objType == CUgraphNodeParams:
 *         return sizeof(cydriver.CUgraphNodeParams)
 *     if objType == CUcheckpointLockArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)
 *     if objType == CUcheckpointLockArgs:
*/
  }

  /* "cuda/bindings/driver.pyx":47787
 *     if objType == CUcheckpointLockArgs_st:
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)
 *     if objType == CUcheckpointLockArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointLockArgs)
 *     if objType == CUcheckpointCheckpointArgs_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47787, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47788
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)
 *     if objType == CUcheckpointLockArgs:
 *         return sizeof(cydriver.CUcheckpointLockArgs)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointCheckpointArgs_st:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUcheckpointLockArgs))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47787
 *     if objType == CUcheckpointLockArgs_st:
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)
 *     if objType == CUcheckpointLockArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointLockArgs)
 *     if objType == CUcheckpointCheckpointArgs_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47789
 *     if objType == CUcheckpointLockArgs:
 *         return sizeof(cydriver.CUcheckpointLockArgs)
 *     if objType == CUcheckpointCheckpointArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47789, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47790
 *         return sizeof(cydriver.CUcheckpointLockArgs)
 *     if objType == CUcheckpointCheckpointArgs_st:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointCheckpointArgs:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUcheckpointCheckpointArgs_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47789
 *     if objType == CUcheckpointLockArgs:
 *         return sizeof(cydriver.CUcheckpointLockArgs)
 *     if objType == CUcheckpointCheckpointArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:
*/
  }

  /* "cuda/bindings/driver.pyx":47791
 *     if objType == CUcheckpointCheckpointArgs_st:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointRestoreArgs_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47791, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47792
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointRestoreArgs_st:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUcheckpointCheckpointArgs))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47792, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47791
 *     if objType == CUcheckpointCheckpointArgs_st:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointRestoreArgs_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47793
 *     if objType == CUcheckpointCheckpointArgs:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointRestoreArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
 *     if objType == CUcheckpointRestoreArgs:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47793, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47794
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointRestoreArgs_st:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointRestoreArgs:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUcheckpointRestoreArgs_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47793
 *     if objType == CUcheckpointCheckpointArgs:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointRestoreArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
 *     if objType == CUcheckpointRestoreArgs:
*/
  }

  /* "cuda/bindings/driver.pyx":47795
 *     if objType == CUcheckpointRestoreArgs_st:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
 *     if objType == CUcheckpointRestoreArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)
 *     if objType == CUcheckpointUnlockArgs_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47795, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47796
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
 *     if objType == CUcheckpointRestoreArgs:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointUnlockArgs_st:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUcheckpointRestoreArgs))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47795
 *     if objType == CUcheckpointRestoreArgs_st:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
 *     if objType == CUcheckpointRestoreArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)
 *     if objType == CUcheckpointUnlockArgs_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47797
 *     if objType == CUcheckpointRestoreArgs:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)
 *     if objType == CUcheckpointUnlockArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)
 *     if objType == CUcheckpointUnlockArgs:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47797, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47798
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)
 *     if objType == CUcheckpointUnlockArgs_st:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointUnlockArgs:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUcheckpointUnlockArgs_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47797
 *     if objType == CUcheckpointRestoreArgs:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)
 *     if objType == CUcheckpointUnlockArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)
 *     if objType == CUcheckpointUnlockArgs:
*/
  }

  /* "cuda/bindings/driver.pyx":47799
 *     if objType == CUcheckpointUnlockArgs_st:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)
 *     if objType == CUcheckpointUnlockArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)
 *     if objType == CUmemDecompressParams_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47799, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47800
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)
 *     if objType == CUcheckpointUnlockArgs:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)             # <<<<<<<<<<<<<<
 *     if objType == CUmemDecompressParams_st:
 *         return sizeof(cydriver.CUmemDecompressParams_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUcheckpointUnlockArgs))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47799
 *     if objType == CUcheckpointUnlockArgs_st:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)
 *     if objType == CUcheckpointUnlockArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)
 *     if objType == CUmemDecompressParams_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47801
 *     if objType == CUcheckpointUnlockArgs:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)
 *     if objType == CUmemDecompressParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemDecompressParams_st)
 *     if objType == CUmemDecompressParams:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47801, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47802
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)
 *     if objType == CUmemDecompressParams_st:
 *         return sizeof(cydriver.CUmemDecompressParams_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemDecompressParams:
 *         return sizeof(cydriver.CUmemDecompressParams)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUmemDecompressParams_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47801
 *     if objType == CUcheckpointUnlockArgs:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)
 *     if objType == CUmemDecompressParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemDecompressParams_st)
 *     if objType == CUmemDecompressParams:
*/
  }

  /* "cuda/bindings/driver.pyx":47803
 *     if objType == CUmemDecompressParams_st:
 *         return sizeof(cydriver.CUmemDecompressParams_st)
 *     if objType == CUmemDecompressParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemDecompressParams)
 *     if objType == CUdevResourceDesc:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47803, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47803, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47804
 *         return sizeof(cydriver.CUmemDecompressParams_st)
 *     if objType == CUmemDecompressParams:
 *         return sizeof(cydriver.CUmemDecompressParams)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResourceDesc:
 *         return sizeof(cydriver.CUdevResourceDesc)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUmemDecompressParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47803
 *     if objType == CUmemDecompressParams_st:
 *         return sizeof(cydriver.CUmemDecompressParams_st)
 *     if objType == CUmemDecompressParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemDecompressParams)
 *     if objType == CUdevResourceDesc:
*/
  }

  /* "cuda/bindings/driver.pyx":47805
 *     if objType == CUmemDecompressParams:
 *         return sizeof(cydriver.CUmemDecompressParams)
 *     if objType == CUdevResourceDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47805, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47806
 *         return sizeof(cydriver.CUmemDecompressParams)
 *     if objType == CUdevResourceDesc:
 *         return sizeof(cydriver.CUdevResourceDesc)             # <<<<<<<<<<<<<<
 *     if objType == CUdevSmResource_st:
 *         return sizeof(cydriver.CUdevSmResource_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevResourceDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47805
 *     if objType == CUmemDecompressParams:
 *         return sizeof(cydriver.CUmemDecompressParams)
 *     if objType == CUdevResourceDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47807
 *     if objType == CUdevResourceDesc:
 *         return sizeof(cydriver.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47807, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47807, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47808
 *         return sizeof(cydriver.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:
 *         return sizeof(cydriver.CUdevSmResource_st)             # <<<<<<<<<<<<<<
 *     if objType == CUdevSmResource:
 *         return sizeof(cydriver.CUdevSmResource)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUdevSmResource_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47807
 *     if objType == CUdevResourceDesc:
 *         return sizeof(cydriver.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:
*/
  }

  /* "cuda/bindings/driver.pyx":47809
 *     if objType == CUdevSmResource_st:
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevResource_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47809, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47810
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:
 *         return sizeof(cydriver.CUdevSmResource)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResource_st:
 *         return sizeof(cydriver.CUdevResource_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevSmResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47809
 *     if objType == CUdevSmResource_st:
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevResource_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47811
 *     if objType == CUdevSmResource:
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResource_st)
 *     if objType == CUdevResource_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47811, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47812
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevResource_st:
 *         return sizeof(cydriver.CUdevResource_st)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResource_v1:
 *         return sizeof(cydriver.CUdevResource_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUdevResource_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47811
 *     if objType == CUdevSmResource:
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResource_st)
 *     if objType == CUdevResource_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47813
 *     if objType == CUdevResource_st:
 *         return sizeof(cydriver.CUdevResource_st)
 *     if objType == CUdevResource_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResource_v1)
 *     if objType == CUdevResource:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47813, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47814
 *         return sizeof(cydriver.CUdevResource_st)
 *     if objType == CUdevResource_v1:
 *         return sizeof(cydriver.CUdevResource_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResource:
 *         return sizeof(cydriver.CUdevResource)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevResource_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47813
 *     if objType == CUdevResource_st:
 *         return sizeof(cydriver.CUdevResource_st)
 *     if objType == CUdevResource_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResource_v1)
 *     if objType == CUdevResource:
*/
  }

  /* "cuda/bindings/driver.pyx":47815
 *     if objType == CUdevResource_v1:
 *         return sizeof(cydriver.CUdevResource_v1)
 *     if objType == CUdevResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResource)
 *     if objType == CUlogsCallbackHandle:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47815, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47816
 *         return sizeof(cydriver.CUdevResource_v1)
 *     if objType == CUdevResource:
 *         return sizeof(cydriver.CUdevResource)             # <<<<<<<<<<<<<<
 *     if objType == CUlogsCallbackHandle:
 *         return sizeof(cydriver.CUlogsCallbackHandle)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47815
 *     if objType == CUdevResource_v1:
 *         return sizeof(cydriver.CUdevResource_v1)
 *     if objType == CUdevResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResource)
 *     if objType == CUlogsCallbackHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":47817
 *     if objType == CUdevResource:
 *         return sizeof(cydriver.CUdevResource)
 *     if objType == CUlogsCallbackHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogsCallbackHandle)
 *     if objType == CUlogsCallback:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47817, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47817, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47818
 *         return sizeof(cydriver.CUdevResource)
 *     if objType == CUlogsCallbackHandle:
 *         return sizeof(cydriver.CUlogsCallbackHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUlogsCallback:
 *         return sizeof(cydriver.CUlogsCallback)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlogsCallbackHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47817
 *     if objType == CUdevResource:
 *         return sizeof(cydriver.CUdevResource)
 *     if objType == CUlogsCallbackHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogsCallbackHandle)
 *     if objType == CUlogsCallback:
*/
  }

  /* "cuda/bindings/driver.pyx":47819
 *     if objType == CUlogsCallbackHandle:
 *         return sizeof(cydriver.CUlogsCallbackHandle)
 *     if objType == CUlogsCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogsCallback)
 *     if objType == CUlogIterator:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47819, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47820
 *         return sizeof(cydriver.CUlogsCallbackHandle)
 *     if objType == CUlogsCallback:
 *         return sizeof(cydriver.CUlogsCallback)             # <<<<<<<<<<<<<<
 *     if objType == CUlogIterator:
 *         return sizeof(cydriver.CUlogIterator)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlogsCallback))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47819
 *     if objType == CUlogsCallbackHandle:
 *         return sizeof(cydriver.CUlogsCallbackHandle)
 *     if objType == CUlogsCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogsCallback)
 *     if objType == CUlogIterator:
*/
  }

  /* "cuda/bindings/driver.pyx":47821
 *     if objType == CUlogsCallback:
 *         return sizeof(cydriver.CUlogsCallback)
 *     if objType == CUlogIterator:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogIterator)
 *     if objType == CUeglFrame_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47821, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47822
 *         return sizeof(cydriver.CUlogsCallback)
 *     if objType == CUlogIterator:
 *         return sizeof(cydriver.CUlogIterator)             # <<<<<<<<<<<<<<
 *     if objType == CUeglFrame_st:
 *         return sizeof(cydriver.CUeglFrame_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUlogIterator))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47821
 *     if objType == CUlogsCallback:
 *         return sizeof(cydriver.CUlogsCallback)
 *     if objType == CUlogIterator:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogIterator)
 *     if objType == CUeglFrame_st:
*/
  }

  /* "cuda/bindings/driver.pyx":47823
 *     if objType == CUlogIterator:
 *         return sizeof(cydriver.CUlogIterator)
 *     if objType == CUeglFrame_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47823, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47824
 *         return sizeof(cydriver.CUlogIterator)
 *     if objType == CUeglFrame_st:
 *         return sizeof(cydriver.CUeglFrame_st)             # <<<<<<<<<<<<<<
 *     if objType == CUeglFrame_v1:
 *         return sizeof(cydriver.CUeglFrame_v1)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47823
 *     if objType == CUlogIterator:
 *         return sizeof(cydriver.CUlogIterator)
 *     if objType == CUeglFrame_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47825
 *     if objType == CUeglFrame_st:
 *         return sizeof(cydriver.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglFrame_v1)
 *     if objType == CUeglFrame:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47825, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47826
 *         return sizeof(cydriver.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:
 *         return sizeof(cydriver.CUeglFrame_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUeglFrame:
 *         return sizeof(cydriver.CUeglFrame)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47825
 *     if objType == CUeglFrame_st:
 *         return sizeof(cydriver.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglFrame_v1)
 *     if objType == CUeglFrame:
*/
  }

  /* "cuda/bindings/driver.pyx":47827
 *     if objType == CUeglFrame_v1:
 *         return sizeof(cydriver.CUeglFrame_v1)
 *     if objType == CUeglFrame:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglFrame)
 *     if objType == CUeglStreamConnection:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47827, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47828
 *         return sizeof(cydriver.CUeglFrame_v1)
 *     if objType == CUeglFrame:
 *         return sizeof(cydriver.CUeglFrame)             # <<<<<<<<<<<<<<
 *     if objType == CUeglStreamConnection:
 *         return sizeof(cydriver.CUeglStreamConnection)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_CUeglFrame))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47827
 *     if objType == CUeglFrame_v1:
 *         return sizeof(cydriver.CUeglFrame_v1)
 *     if objType == CUeglFrame:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglFrame)
 *     if objType == CUeglStreamConnection:
*/
  }

  /* "cuda/bindings/driver.pyx":47829
 *     if objType == CUeglFrame:
 *         return sizeof(cydriver.CUeglFrame)
 *     if objType == CUeglStreamConnection:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglStreamConnection)
 *     if objType == GLenum:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47829, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47829, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47830
 *         return sizeof(cydriver.CUeglFrame)
 *     if objType == CUeglStreamConnection:
 *         return sizeof(cydriver.CUeglStreamConnection)             # <<<<<<<<<<<<<<
 *     if objType == GLenum:
 *         return sizeof(cydriver.GLenum)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47829
 *     if objType == CUeglFrame:
 *         return sizeof(cydriver.CUeglFrame)
 *     if objType == CUeglStreamConnection:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglStreamConnection)
 *     if objType == GLenum:
*/
  }

  /* "cuda/bindings/driver.pyx":47831
 *     if objType == CUeglStreamConnection:
 *         return sizeof(cydriver.CUeglStreamConnection)
 *     if objType == GLenum:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.GLenum)
 *     if objType == GLuint:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLenum), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47831, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47832
 *         return sizeof(cydriver.CUeglStreamConnection)
 *     if objType == GLenum:
 *         return sizeof(cydriver.GLenum)             # <<<<<<<<<<<<<<
 *     if objType == GLuint:
 *         return sizeof(cydriver.GLuint)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_GLenum))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47831
 *     if objType == CUeglStreamConnection:
 *         return sizeof(cydriver.CUeglStreamConnection)
 *     if objType == GLenum:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.GLenum)
 *     if objType == GLuint:
*/
  }

  /* "cuda/bindings/driver.pyx":47833
 *     if objType == GLenum:
 *         return sizeof(cydriver.GLenum)
 *     if objType == GLuint:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.GLuint)
 *     if objType == EGLImageKHR:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47833, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47834
 *         return sizeof(cydriver.GLenum)
 *     if objType == GLuint:
 *         return sizeof(cydriver.GLuint)             # <<<<<<<<<<<<<<
 *     if objType == EGLImageKHR:
 *         return sizeof(cydriver.EGLImageKHR)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_GLuint))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47833
 *     if objType == GLenum:
 *         return sizeof(cydriver.GLenum)
 *     if objType == GLuint:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.GLuint)
 *     if objType == EGLImageKHR:
*/
  }

  /* "cuda/bindings/driver.pyx":47835
 *     if objType == GLuint:
 *         return sizeof(cydriver.GLuint)
 *     if objType == EGLImageKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLImageKHR)
 *     if objType == EGLStreamKHR:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47835, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47836
 *         return sizeof(cydriver.GLuint)
 *     if objType == EGLImageKHR:
 *         return sizeof(cydriver.EGLImageKHR)             # <<<<<<<<<<<<<<
 *     if objType == EGLStreamKHR:
 *         return sizeof(cydriver.EGLStreamKHR)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47836, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47835
 *     if objType == GLuint:
 *         return sizeof(cydriver.GLuint)
 *     if objType == EGLImageKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLImageKHR)
 *     if objType == EGLStreamKHR:
*/
  }

  /* "cuda/bindings/driver.pyx":47837
 *     if objType == EGLImageKHR:
 *         return sizeof(cydriver.EGLImageKHR)
 *     if objType == EGLStreamKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLStreamKHR)
 *     if objType == EGLint:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47837, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47838
 *         return sizeof(cydriver.EGLImageKHR)
 *     if objType == EGLStreamKHR:
 *         return sizeof(cydriver.EGLStreamKHR)             # <<<<<<<<<<<<<<
 *     if objType == EGLint:
 *         return sizeof(cydriver.EGLint)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47837
 *     if objType == EGLImageKHR:
 *         return sizeof(cydriver.EGLImageKHR)
 *     if objType == EGLStreamKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLStreamKHR)
 *     if objType == EGLint:
*/
  }

  /* "cuda/bindings/driver.pyx":47839
 *     if objType == EGLStreamKHR:
 *         return sizeof(cydriver.EGLStreamKHR)
 *     if objType == EGLint:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLint)
 *     if objType == EGLSyncKHR:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47839, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47840
 *         return sizeof(cydriver.EGLStreamKHR)
 *     if objType == EGLint:
 *         return sizeof(cydriver.EGLint)             # <<<<<<<<<<<<<<
 *     if objType == EGLSyncKHR:
 *         return sizeof(cydriver.EGLSyncKHR)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_EGLint))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47839
 *     if objType == EGLStreamKHR:
 *         return sizeof(cydriver.EGLStreamKHR)
 *     if objType == EGLint:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLint)
 *     if objType == EGLSyncKHR:
*/
  }

  /* "cuda/bindings/driver.pyx":47841
 *     if objType == EGLint:
 *         return sizeof(cydriver.EGLint)
 *     if objType == EGLSyncKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLSyncKHR)
 *     if objType == VdpDevice:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47841, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47842
 *         return sizeof(cydriver.EGLint)
 *     if objType == EGLSyncKHR:
 *         return sizeof(cydriver.EGLSyncKHR)             # <<<<<<<<<<<<<<
 *     if objType == VdpDevice:
 *         return sizeof(cydriver.VdpDevice)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47841
 *     if objType == EGLint:
 *         return sizeof(cydriver.EGLint)
 *     if objType == EGLSyncKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLSyncKHR)
 *     if objType == VdpDevice:
*/
  }

  /* "cuda/bindings/driver.pyx":47843
 *     if objType == EGLSyncKHR:
 *         return sizeof(cydriver.EGLSyncKHR)
 *     if objType == VdpDevice:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpDevice)
 *     if objType == VdpGetProcAddress:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47843, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47844
 *         return sizeof(cydriver.EGLSyncKHR)
 *     if objType == VdpDevice:
 *         return sizeof(cydriver.VdpDevice)             # <<<<<<<<<<<<<<
 *     if objType == VdpGetProcAddress:
 *         return sizeof(cydriver.VdpGetProcAddress)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_VdpDevice))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47843
 *     if objType == EGLSyncKHR:
 *         return sizeof(cydriver.EGLSyncKHR)
 *     if objType == VdpDevice:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpDevice)
 *     if objType == VdpGetProcAddress:
*/
  }

  /* "cuda/bindings/driver.pyx":47845
 *     if objType == VdpDevice:
 *         return sizeof(cydriver.VdpDevice)
 *     if objType == VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47845, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47846
 *         return sizeof(cydriver.VdpDevice)
 *     if objType == VdpGetProcAddress:
 *         return sizeof(cydriver.VdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     if objType == VdpVideoSurface:
 *         return sizeof(cydriver.VdpVideoSurface)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47845
 *     if objType == VdpDevice:
 *         return sizeof(cydriver.VdpDevice)
 *     if objType == VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
*/
  }

  /* "cuda/bindings/driver.pyx":47847
 *     if objType == VdpGetProcAddress:
 *         return sizeof(cydriver.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47847, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47847, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47848
 *         return sizeof(cydriver.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
 *         return sizeof(cydriver.VdpVideoSurface)             # <<<<<<<<<<<<<<
 *     if objType == VdpOutputSurface:
 *         return sizeof(cydriver.VdpOutputSurface)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47848, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47847
 *     if objType == VdpGetProcAddress:
 *         return sizeof(cydriver.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
*/
  }

  /* "cuda/bindings/driver.pyx":47849
 *     if objType == VdpVideoSurface:
 *         return sizeof(cydriver.VdpVideoSurface)
 *     if objType == VdpOutputSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpOutputSurface)
 *     raise TypeError("Unknown type: " + str(objType))
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47849, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47849, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47850
 *         return sizeof(cydriver.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
 *         return sizeof(cydriver.VdpOutputSurface)             # <<<<<<<<<<<<<<
 *     raise TypeError("Unknown type: " + str(objType))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47849
 *     if objType == VdpVideoSurface:
 *         return sizeof(cydriver.VdpVideoSurface)
 *     if objType == VdpOutputSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpOutputSurface)
 *     raise TypeError("Unknown type: " + str(objType))
*/
  }

  /* "cuda/bindings/driver.pyx":47851
 *     if objType == VdpOutputSurface:
 *         return sizeof(cydriver.VdpOutputSurface)
 *     raise TypeError("Unknown type: " + str(objType))             # <<<<<<<<<<<<<<
 * 
 * cdef int _add_native_handle_getters() except?-1:
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_builtin_TypeError);
  __pyx_t_4 = __pyx_builtin_TypeError; 
  __pyx_t_5 = __Pyx_PyObject_Unicode(__pyx_v_objType); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unknown_type, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(0, 47851, __pyx_L1_error)

  /* "cuda/bindings/driver.pyx":47301
 * 
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def sizeof(objType):
 *     """ Returns the size of provided CUDA Python structure in bytes
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.bindings.driver.sizeof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47855
 * cdef int _add_native_handle_getters() except?-1:
 *     from cuda.bindings.utils import _add_cuda_native_handle_getter
 *     def CUcontext_getter(CUcontext x): return <uintptr_t><void*><cydriver.CUcontext>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUcontext, CUcontext_getter)
 *     def CUmodule_getter(CUmodule x): return <uintptr_t><void*><cydriver.CUmodule>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_1CUcontext_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_1CUcontext_getter = {"CUcontext_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_1CUcontext_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_1CUcontext_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUcontext_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47855, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47855, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUcontext_getter", 0) < (0)) __PYX_ERR(0, 47855, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUcontext_getter", 1, 1, 1, i); __PYX_ERR(0, 47855, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47855, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUcontext_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47855, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUcontext_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, 1, "x", 0))) __PYX_ERR(0, 47855, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_CUcontext_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_CUcontext_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUcontext_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUcontext)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUcontext_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47857
 *     def CUcontext_getter(CUcontext x): return <uintptr_t><void*><cydriver.CUcontext>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUcontext, CUcontext_getter)
 *     def CUmodule_getter(CUmodule x): return <uintptr_t><void*><cydriver.CUmodule>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUmodule, CUmodule_getter)
 *     def CUfunction_getter(CUfunction x): return <uintptr_t><void*><cydriver.CUfunction>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_3CUmodule_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_3CUmodule_getter = {"CUmodule_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_3CUmodule_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_3CUmodule_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUmodule_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47857, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47857, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUmodule_getter", 0) < (0)) __PYX_ERR(0, 47857, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUmodule_getter", 1, 1, 1, i); __PYX_ERR(0, 47857, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47857, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUmodule_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47857, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUmodule_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, 1, "x", 0))) __PYX_ERR(0, 47857, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_2CUmodule_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_2CUmodule_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUmodule_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUmodule)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUmodule_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47859
 *     def CUmodule_getter(CUmodule x): return <uintptr_t><void*><cydriver.CUmodule>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmodule, CUmodule_getter)
 *     def CUfunction_getter(CUfunction x): return <uintptr_t><void*><cydriver.CUfunction>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUfunction, CUfunction_getter)
 *     def CUlibrary_getter(CUlibrary x): return <uintptr_t><void*><cydriver.CUlibrary>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_5CUfunction_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_5CUfunction_getter = {"CUfunction_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_5CUfunction_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_5CUfunction_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUfunction_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47859, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUfunction_getter", 0) < (0)) __PYX_ERR(0, 47859, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUfunction_getter", 1, 1, 1, i); __PYX_ERR(0, 47859, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47859, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUfunction_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47859, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUfunction_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, 1, "x", 0))) __PYX_ERR(0, 47859, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_4CUfunction_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_4CUfunction_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUfunction_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUfunction)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUfunction_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47861
 *     def CUfunction_getter(CUfunction x): return <uintptr_t><void*><cydriver.CUfunction>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUfunction, CUfunction_getter)
 *     def CUlibrary_getter(CUlibrary x): return <uintptr_t><void*><cydriver.CUlibrary>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUlibrary, CUlibrary_getter)
 *     def CUkernel_getter(CUkernel x): return <uintptr_t><void*><cydriver.CUkernel>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_7CUlibrary_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_7CUlibrary_getter = {"CUlibrary_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_7CUlibrary_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_7CUlibrary_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUlibrary_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47861, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47861, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUlibrary_getter", 0) < (0)) __PYX_ERR(0, 47861, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUlibrary_getter", 1, 1, 1, i); __PYX_ERR(0, 47861, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47861, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUlibrary_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47861, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUlibrary_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, 1, "x", 0))) __PYX_ERR(0, 47861, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_6CUlibrary_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_6CUlibrary_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUlibrary_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUlibrary)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUlibrary_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47863
 *     def CUlibrary_getter(CUlibrary x): return <uintptr_t><void*><cydriver.CUlibrary>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlibrary, CUlibrary_getter)
 *     def CUkernel_getter(CUkernel x): return <uintptr_t><void*><cydriver.CUkernel>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUkernel, CUkernel_getter)
 *     def CUarray_getter(CUarray x): return <uintptr_t><void*><cydriver.CUarray>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_9CUkernel_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_9CUkernel_getter = {"CUkernel_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_9CUkernel_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_9CUkernel_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUkernel_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47863, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47863, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUkernel_getter", 0) < (0)) __PYX_ERR(0, 47863, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUkernel_getter", 1, 1, 1, i); __PYX_ERR(0, 47863, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47863, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUkernel_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47863, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUkernel_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, 1, "x", 0))) __PYX_ERR(0, 47863, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_8CUkernel_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_8CUkernel_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUkernel_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUkernel)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUkernel_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47865
 *     def CUkernel_getter(CUkernel x): return <uintptr_t><void*><cydriver.CUkernel>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUkernel, CUkernel_getter)
 *     def CUarray_getter(CUarray x): return <uintptr_t><void*><cydriver.CUarray>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUarray, CUarray_getter)
 *     def CUmipmappedArray_getter(CUmipmappedArray x): return <uintptr_t><void*><cydriver.CUmipmappedArray>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_11CUarray_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_11CUarray_getter = {"CUarray_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_11CUarray_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_11CUarray_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUarray_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47865, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUarray_getter", 0) < (0)) __PYX_ERR(0, 47865, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUarray_getter", 1, 1, 1, i); __PYX_ERR(0, 47865, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47865, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUarray_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47865, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUarray_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, 1, "x", 0))) __PYX_ERR(0, 47865, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_10CUarray_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_10CUarray_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUarray *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUarray_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUarray)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUarray_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47867
 *     def CUarray_getter(CUarray x): return <uintptr_t><void*><cydriver.CUarray>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUarray, CUarray_getter)
 *     def CUmipmappedArray_getter(CUmipmappedArray x): return <uintptr_t><void*><cydriver.CUmipmappedArray>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUmipmappedArray, CUmipmappedArray_getter)
 *     def CUtexref_getter(CUtexref x): return <uintptr_t><void*><cydriver.CUtexref>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_13CUmipmappedArray_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_13CUmipmappedArray_getter = {"CUmipmappedArray_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_13CUmipmappedArray_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_13CUmipmappedArray_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUmipmappedArray_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47867, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47867, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUmipmappedArray_getter", 0) < (0)) __PYX_ERR(0, 47867, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUmipmappedArray_getter", 1, 1, 1, i); __PYX_ERR(0, 47867, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47867, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUmipmappedArray_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47867, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUmipmappedArray_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, 1, "x", 0))) __PYX_ERR(0, 47867, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_12CUmipmappedArray_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_12CUmipmappedArray_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUmipmappedArray_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUmipmappedArray)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUmipmappedArray_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47869
 *     def CUmipmappedArray_getter(CUmipmappedArray x): return <uintptr_t><void*><cydriver.CUmipmappedArray>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmipmappedArray, CUmipmappedArray_getter)
 *     def CUtexref_getter(CUtexref x): return <uintptr_t><void*><cydriver.CUtexref>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUtexref, CUtexref_getter)
 *     def CUsurfref_getter(CUsurfref x): return <uintptr_t><void*><cydriver.CUsurfref>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_15CUtexref_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_15CUtexref_getter = {"CUtexref_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_15CUtexref_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_15CUtexref_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUtexref_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47869, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47869, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUtexref_getter", 0) < (0)) __PYX_ERR(0, 47869, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUtexref_getter", 1, 1, 1, i); __PYX_ERR(0, 47869, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47869, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUtexref_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47869, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUtexref_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, 1, "x", 0))) __PYX_ERR(0, 47869, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_14CUtexref_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_14CUtexref_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUtexref_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUtexref)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUtexref_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47871
 *     def CUtexref_getter(CUtexref x): return <uintptr_t><void*><cydriver.CUtexref>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUtexref, CUtexref_getter)
 *     def CUsurfref_getter(CUsurfref x): return <uintptr_t><void*><cydriver.CUsurfref>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUsurfref, CUsurfref_getter)
 *     def CUevent_getter(CUevent x): return <uintptr_t><void*><cydriver.CUevent>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_17CUsurfref_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_17CUsurfref_getter = {"CUsurfref_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_17CUsurfref_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_17CUsurfref_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUsurfref_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47871, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47871, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUsurfref_getter", 0) < (0)) __PYX_ERR(0, 47871, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUsurfref_getter", 1, 1, 1, i); __PYX_ERR(0, 47871, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47871, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUsurfref_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47871, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUsurfref_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref, 1, "x", 0))) __PYX_ERR(0, 47871, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_16CUsurfref_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_16CUsurfref_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUsurfref_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUsurfref)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUsurfref_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47873
 *     def CUsurfref_getter(CUsurfref x): return <uintptr_t><void*><cydriver.CUsurfref>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUsurfref, CUsurfref_getter)
 *     def CUevent_getter(CUevent x): return <uintptr_t><void*><cydriver.CUevent>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUevent, CUevent_getter)
 *     def CUstream_getter(CUstream x): return <uintptr_t><void*><cydriver.CUstream>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_19CUevent_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_19CUevent_getter = {"CUevent_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_19CUevent_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_19CUevent_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUevent_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47873, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUevent_getter", 0) < (0)) __PYX_ERR(0, 47873, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUevent_getter", 1, 1, 1, i); __PYX_ERR(0, 47873, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47873, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUevent_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47873, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUevent_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, 1, "x", 0))) __PYX_ERR(0, 47873, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_18CUevent_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_18CUevent_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUevent *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUevent_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUevent)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUevent_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47875
 *     def CUevent_getter(CUevent x): return <uintptr_t><void*><cydriver.CUevent>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUevent, CUevent_getter)
 *     def CUstream_getter(CUstream x): return <uintptr_t><void*><cydriver.CUstream>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUstream, CUstream_getter)
 *     def CUgraphicsResource_getter(CUgraphicsResource x): return <uintptr_t><void*><cydriver.CUgraphicsResource>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_21CUstream_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_21CUstream_getter = {"CUstream_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_21CUstream_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_21CUstream_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUstream_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47875, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47875, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUstream_getter", 0) < (0)) __PYX_ERR(0, 47875, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUstream_getter", 1, 1, 1, i); __PYX_ERR(0, 47875, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47875, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUstream_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47875, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUstream_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, 1, "x", 0))) __PYX_ERR(0, 47875, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_20CUstream_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_20CUstream_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUstream_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUstream)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUstream_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47877
 *     def CUstream_getter(CUstream x): return <uintptr_t><void*><cydriver.CUstream>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUstream, CUstream_getter)
 *     def CUgraphicsResource_getter(CUgraphicsResource x): return <uintptr_t><void*><cydriver.CUgraphicsResource>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraphicsResource, CUgraphicsResource_getter)
 *     def CUexternalMemory_getter(CUexternalMemory x): return <uintptr_t><void*><cydriver.CUexternalMemory>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_23CUgraphicsResource_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_23CUgraphicsResource_getter = {"CUgraphicsResource_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_23CUgraphicsResource_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_23CUgraphicsResource_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUgraphicsResource_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47877, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47877, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUgraphicsResource_getter", 0) < (0)) __PYX_ERR(0, 47877, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUgraphicsResource_getter", 1, 1, 1, i); __PYX_ERR(0, 47877, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47877, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUgraphicsResource_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47877, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraphicsResource_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, 1, "x", 0))) __PYX_ERR(0, 47877, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_22CUgraphicsResource_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_22CUgraphicsResource_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUgraphicsResource_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUgraphicsResource)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraphicsResource_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47879
 *     def CUgraphicsResource_getter(CUgraphicsResource x): return <uintptr_t><void*><cydriver.CUgraphicsResource>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphicsResource, CUgraphicsResource_getter)
 *     def CUexternalMemory_getter(CUexternalMemory x): return <uintptr_t><void*><cydriver.CUexternalMemory>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUexternalMemory, CUexternalMemory_getter)
 *     def CUexternalSemaphore_getter(CUexternalSemaphore x): return <uintptr_t><void*><cydriver.CUexternalSemaphore>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_25CUexternalMemory_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_25CUexternalMemory_getter = {"CUexternalMemory_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_25CUexternalMemory_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_25CUexternalMemory_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUexternalMemory_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47879, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47879, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUexternalMemory_getter", 0) < (0)) __PYX_ERR(0, 47879, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUexternalMemory_getter", 1, 1, 1, i); __PYX_ERR(0, 47879, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47879, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUexternalMemory_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47879, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUexternalMemory_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory, 1, "x", 0))) __PYX_ERR(0, 47879, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_24CUexternalMemory_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_24CUexternalMemory_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUexternalMemory_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUexternalMemory)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUexternalMemory_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47881
 *     def CUexternalMemory_getter(CUexternalMemory x): return <uintptr_t><void*><cydriver.CUexternalMemory>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUexternalMemory, CUexternalMemory_getter)
 *     def CUexternalSemaphore_getter(CUexternalSemaphore x): return <uintptr_t><void*><cydriver.CUexternalSemaphore>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUexternalSemaphore, CUexternalSemaphore_getter)
 *     def CUgraph_getter(CUgraph x): return <uintptr_t><void*><cydriver.CUgraph>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_27CUexternalSemaphore_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_27CUexternalSemaphore_getter = {"CUexternalSemaphore_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_27CUexternalSemaphore_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_27CUexternalSemaphore_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUexternalSemaphore_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47881, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47881, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUexternalSemaphore_getter", 0) < (0)) __PYX_ERR(0, 47881, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUexternalSemaphore_getter", 1, 1, 1, i); __PYX_ERR(0, 47881, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47881, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUexternalSemaphore_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47881, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUexternalSemaphore_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore, 1, "x", 0))) __PYX_ERR(0, 47881, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_26CUexternalSemaphore_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_26CUexternalSemaphore_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUexternalSemaphore_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUexternalSemaphore)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUexternalSemaphore_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47883
 *     def CUexternalSemaphore_getter(CUexternalSemaphore x): return <uintptr_t><void*><cydriver.CUexternalSemaphore>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUexternalSemaphore, CUexternalSemaphore_getter)
 *     def CUgraph_getter(CUgraph x): return <uintptr_t><void*><cydriver.CUgraph>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraph, CUgraph_getter)
 *     def CUgraphNode_getter(CUgraphNode x): return <uintptr_t><void*><cydriver.CUgraphNode>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_29CUgraph_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_29CUgraph_getter = {"CUgraph_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_29CUgraph_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_29CUgraph_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUgraph_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47883, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47883, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUgraph_getter", 0) < (0)) __PYX_ERR(0, 47883, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUgraph_getter", 1, 1, 1, i); __PYX_ERR(0, 47883, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47883, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUgraph_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47883, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraph_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, 1, "x", 0))) __PYX_ERR(0, 47883, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_28CUgraph_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_28CUgraph_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUgraph_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUgraph)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraph_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47885
 *     def CUgraph_getter(CUgraph x): return <uintptr_t><void*><cydriver.CUgraph>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraph, CUgraph_getter)
 *     def CUgraphNode_getter(CUgraphNode x): return <uintptr_t><void*><cydriver.CUgraphNode>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraphNode, CUgraphNode_getter)
 *     def CUgraphExec_getter(CUgraphExec x): return <uintptr_t><void*><cydriver.CUgraphExec>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_31CUgraphNode_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_31CUgraphNode_getter = {"CUgraphNode_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_31CUgraphNode_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_31CUgraphNode_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUgraphNode_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47885, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47885, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUgraphNode_getter", 0) < (0)) __PYX_ERR(0, 47885, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUgraphNode_getter", 1, 1, 1, i); __PYX_ERR(0, 47885, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47885, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUgraphNode_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47885, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraphNode_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, 1, "x", 0))) __PYX_ERR(0, 47885, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_30CUgraphNode_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_30CUgraphNode_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUgraphNode_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUgraphNode)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraphNode_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47887
 *     def CUgraphNode_getter(CUgraphNode x): return <uintptr_t><void*><cydriver.CUgraphNode>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphNode, CUgraphNode_getter)
 *     def CUgraphExec_getter(CUgraphExec x): return <uintptr_t><void*><cydriver.CUgraphExec>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraphExec, CUgraphExec_getter)
 *     def CUmemoryPool_getter(CUmemoryPool x): return <uintptr_t><void*><cydriver.CUmemoryPool>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_33CUgraphExec_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_33CUgraphExec_getter = {"CUgraphExec_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_33CUgraphExec_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_33CUgraphExec_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUgraphExec_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47887, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47887, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUgraphExec_getter", 0) < (0)) __PYX_ERR(0, 47887, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUgraphExec_getter", 1, 1, 1, i); __PYX_ERR(0, 47887, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47887, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUgraphExec_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47887, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraphExec_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, 1, "x", 0))) __PYX_ERR(0, 47887, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_32CUgraphExec_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_32CUgraphExec_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUgraphExec_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUgraphExec)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraphExec_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47889
 *     def CUgraphExec_getter(CUgraphExec x): return <uintptr_t><void*><cydriver.CUgraphExec>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphExec, CUgraphExec_getter)
 *     def CUmemoryPool_getter(CUmemoryPool x): return <uintptr_t><void*><cydriver.CUmemoryPool>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUmemoryPool, CUmemoryPool_getter)
 *     def CUuserObject_getter(CUuserObject x): return <uintptr_t><void*><cydriver.CUuserObject>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_35CUmemoryPool_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_35CUmemoryPool_getter = {"CUmemoryPool_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_35CUmemoryPool_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_35CUmemoryPool_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUmemoryPool_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47889, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47889, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUmemoryPool_getter", 0) < (0)) __PYX_ERR(0, 47889, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUmemoryPool_getter", 1, 1, 1, i); __PYX_ERR(0, 47889, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47889, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUmemoryPool_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47889, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUmemoryPool_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, 1, "x", 0))) __PYX_ERR(0, 47889, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_34CUmemoryPool_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_34CUmemoryPool_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUmemoryPool_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUmemoryPool)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUmemoryPool_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47891
 *     def CUmemoryPool_getter(CUmemoryPool x): return <uintptr_t><void*><cydriver.CUmemoryPool>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmemoryPool, CUmemoryPool_getter)
 *     def CUuserObject_getter(CUuserObject x): return <uintptr_t><void*><cydriver.CUuserObject>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUuserObject, CUuserObject_getter)
 *     def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return <uintptr_t><void*><cydriver.CUgraphDeviceNode>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_37CUuserObject_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_37CUuserObject_getter = {"CUuserObject_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_37CUuserObject_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_37CUuserObject_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUuserObject_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47891, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47891, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUuserObject_getter", 0) < (0)) __PYX_ERR(0, 47891, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUuserObject_getter", 1, 1, 1, i); __PYX_ERR(0, 47891, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47891, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUuserObject_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47891, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUuserObject_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject, 1, "x", 0))) __PYX_ERR(0, 47891, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_36CUuserObject_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_36CUuserObject_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUuserObject_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUuserObject)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUuserObject_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47893
 *     def CUuserObject_getter(CUuserObject x): return <uintptr_t><void*><cydriver.CUuserObject>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUuserObject, CUuserObject_getter)
 *     def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return <uintptr_t><void*><cydriver.CUgraphDeviceNode>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraphDeviceNode, CUgraphDeviceNode_getter)
 *     def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return <uintptr_t><void*><cydriver.CUasyncCallbackHandle>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_39CUgraphDeviceNode_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_39CUgraphDeviceNode_getter = {"CUgraphDeviceNode_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_39CUgraphDeviceNode_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_39CUgraphDeviceNode_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUgraphDeviceNode_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47893, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47893, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUgraphDeviceNode_getter", 0) < (0)) __PYX_ERR(0, 47893, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUgraphDeviceNode_getter", 1, 1, 1, i); __PYX_ERR(0, 47893, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47893, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUgraphDeviceNode_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47893, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraphDeviceNode_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode, 1, "x", 0))) __PYX_ERR(0, 47893, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_38CUgraphDeviceNode_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_38CUgraphDeviceNode_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUgraphDeviceNode_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUgraphDeviceNode)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgraphDeviceNode_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47895
 *     def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return <uintptr_t><void*><cydriver.CUgraphDeviceNode>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphDeviceNode, CUgraphDeviceNode_getter)
 *     def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return <uintptr_t><void*><cydriver.CUasyncCallbackHandle>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUasyncCallbackHandle, CUasyncCallbackHandle_getter)
 *     def CUgreenCtx_getter(CUgreenCtx x): return <uintptr_t><void*><cydriver.CUgreenCtx>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_41CUasyncCallbackHandle_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_41CUasyncCallbackHandle_getter = {"CUasyncCallbackHandle_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_41CUasyncCallbackHandle_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_41CUasyncCallbackHandle_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUasyncCallbackHandle_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47895, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUasyncCallbackHandle_getter", 0) < (0)) __PYX_ERR(0, 47895, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUasyncCallbackHandle_getter", 1, 1, 1, i); __PYX_ERR(0, 47895, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47895, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUasyncCallbackHandle_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47895, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUasyncCallbackHandle_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle, 1, "x", 0))) __PYX_ERR(0, 47895, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_40CUasyncCallbackHandle_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_40CUasyncCallbackHandle_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUasyncCallbackHandle_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUasyncCallbackHandle)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUasyncCallbackHandle_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47897
 *     def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return <uintptr_t><void*><cydriver.CUasyncCallbackHandle>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUasyncCallbackHandle, CUasyncCallbackHandle_getter)
 *     def CUgreenCtx_getter(CUgreenCtx x): return <uintptr_t><void*><cydriver.CUgreenCtx>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgreenCtx, CUgreenCtx_getter)
 *     def CUlinkState_getter(CUlinkState x): return <uintptr_t><void*><cydriver.CUlinkState>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_43CUgreenCtx_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_43CUgreenCtx_getter = {"CUgreenCtx_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_43CUgreenCtx_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_43CUgreenCtx_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUgreenCtx_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47897, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47897, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUgreenCtx_getter", 0) < (0)) __PYX_ERR(0, 47897, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUgreenCtx_getter", 1, 1, 1, i); __PYX_ERR(0, 47897, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47897, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUgreenCtx_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47897, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgreenCtx_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, 1, "x", 0))) __PYX_ERR(0, 47897, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_42CUgreenCtx_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_42CUgreenCtx_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUgreenCtx_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUgreenCtx)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUgreenCtx_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47899
 *     def CUgreenCtx_getter(CUgreenCtx x): return <uintptr_t><void*><cydriver.CUgreenCtx>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgreenCtx, CUgreenCtx_getter)
 *     def CUlinkState_getter(CUlinkState x): return <uintptr_t><void*><cydriver.CUlinkState>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUlinkState, CUlinkState_getter)
 *     def CUdevResourceDesc_getter(CUdevResourceDesc x): return <uintptr_t><void*><cydriver.CUdevResourceDesc>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_45CUlinkState_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_45CUlinkState_getter = {"CUlinkState_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_45CUlinkState_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_45CUlinkState_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUlinkState_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47899, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47899, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUlinkState_getter", 0) < (0)) __PYX_ERR(0, 47899, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUlinkState_getter", 1, 1, 1, i); __PYX_ERR(0, 47899, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47899, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUlinkState_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47899, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUlinkState_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState, 1, "x", 0))) __PYX_ERR(0, 47899, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_44CUlinkState_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_44CUlinkState_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUlinkState_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUlinkState)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUlinkState_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47901
 *     def CUlinkState_getter(CUlinkState x): return <uintptr_t><void*><cydriver.CUlinkState>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlinkState, CUlinkState_getter)
 *     def CUdevResourceDesc_getter(CUdevResourceDesc x): return <uintptr_t><void*><cydriver.CUdevResourceDesc>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUdevResourceDesc, CUdevResourceDesc_getter)
 *     def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return <uintptr_t><void*><cydriver.CUlogsCallbackHandle>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_47CUdevResourceDesc_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_47CUdevResourceDesc_getter = {"CUdevResourceDesc_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_47CUdevResourceDesc_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_47CUdevResourceDesc_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUdevResourceDesc_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47901, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47901, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUdevResourceDesc_getter", 0) < (0)) __PYX_ERR(0, 47901, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUdevResourceDesc_getter", 1, 1, 1, i); __PYX_ERR(0, 47901, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47901, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUdevResourceDesc_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47901, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUdevResourceDesc_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc, 1, "x", 0))) __PYX_ERR(0, 47901, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_46CUdevResourceDesc_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_46CUdevResourceDesc_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUdevResourceDesc_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUdevResourceDesc)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUdevResourceDesc_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47903
 *     def CUdevResourceDesc_getter(CUdevResourceDesc x): return <uintptr_t><void*><cydriver.CUdevResourceDesc>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUdevResourceDesc, CUdevResourceDesc_getter)
 *     def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return <uintptr_t><void*><cydriver.CUlogsCallbackHandle>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUlogsCallbackHandle, CUlogsCallbackHandle_getter)
 *     def CUeglStreamConnection_getter(CUeglStreamConnection x): return <uintptr_t><void*><cydriver.CUeglStreamConnection>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_49CUlogsCallbackHandle_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_49CUlogsCallbackHandle_getter = {"CUlogsCallbackHandle_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_49CUlogsCallbackHandle_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_49CUlogsCallbackHandle_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUlogsCallbackHandle_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47903, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47903, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUlogsCallbackHandle_getter", 0) < (0)) __PYX_ERR(0, 47903, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUlogsCallbackHandle_getter", 1, 1, 1, i); __PYX_ERR(0, 47903, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47903, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUlogsCallbackHandle_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47903, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUlogsCallbackHandle_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle, 1, "x", 0))) __PYX_ERR(0, 47903, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_48CUlogsCallbackHandle_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_48CUlogsCallbackHandle_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUlogsCallbackHandle_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((CUlogsCallbackHandle)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUlogsCallbackHandle_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47905
 *     def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return <uintptr_t><void*><cydriver.CUlogsCallbackHandle>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlogsCallbackHandle, CUlogsCallbackHandle_getter)
 *     def CUeglStreamConnection_getter(CUeglStreamConnection x): return <uintptr_t><void*><cydriver.CUeglStreamConnection>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUeglStreamConnection, CUeglStreamConnection_getter)
 *     def EGLImageKHR_getter(EGLImageKHR x): return <uintptr_t><void*><cydriver.EGLImageKHR>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_51CUeglStreamConnection_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_51CUeglStreamConnection_getter = {"CUeglStreamConnection_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_51CUeglStreamConnection_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_51CUeglStreamConnection_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CUeglStreamConnection_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47905, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47905, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "CUeglStreamConnection_getter", 0) < (0)) __PYX_ERR(0, 47905, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("CUeglStreamConnection_getter", 1, 1, 1, i); __PYX_ERR(0, 47905, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47905, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CUeglStreamConnection_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47905, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUeglStreamConnection_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection, 1, "x", 0))) __PYX_ERR(0, 47905, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_50CUeglStreamConnection_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_50CUeglStreamConnection_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("CUeglStreamConnection_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.CUeglStreamConnection_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47907
 *     def CUeglStreamConnection_getter(CUeglStreamConnection x): return <uintptr_t><void*><cydriver.CUeglStreamConnection>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUeglStreamConnection, CUeglStreamConnection_getter)
 *     def EGLImageKHR_getter(EGLImageKHR x): return <uintptr_t><void*><cydriver.EGLImageKHR>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter)
 *     def EGLStreamKHR_getter(EGLStreamKHR x): return <uintptr_t><void*><cydriver.EGLStreamKHR>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_53EGLImageKHR_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_53EGLImageKHR_getter = {"EGLImageKHR_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_53EGLImageKHR_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_53EGLImageKHR_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("EGLImageKHR_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47907, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47907, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "EGLImageKHR_getter", 0) < (0)) __PYX_ERR(0, 47907, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("EGLImageKHR_getter", 1, 1, 1, i); __PYX_ERR(0, 47907, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47907, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("EGLImageKHR_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47907, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.EGLImageKHR_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR, 1, "x", 0))) __PYX_ERR(0, 47907, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_52EGLImageKHR_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_52EGLImageKHR_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("EGLImageKHR_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((__pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.EGLImageKHR_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47909
 *     def EGLImageKHR_getter(EGLImageKHR x): return <uintptr_t><void*><cydriver.EGLImageKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter)
 *     def EGLStreamKHR_getter(EGLStreamKHR x): return <uintptr_t><void*><cydriver.EGLStreamKHR>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter)
 *     def EGLSyncKHR_getter(EGLSyncKHR x): return <uintptr_t><void*><cydriver.EGLSyncKHR>(x._pvt_ptr[0])
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_55EGLStreamKHR_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_55EGLStreamKHR_getter = {"EGLStreamKHR_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_55EGLStreamKHR_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_55EGLStreamKHR_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("EGLStreamKHR_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47909, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47909, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "EGLStreamKHR_getter", 0) < (0)) __PYX_ERR(0, 47909, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("EGLStreamKHR_getter", 1, 1, 1, i); __PYX_ERR(0, 47909, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47909, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("EGLStreamKHR_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47909, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.EGLStreamKHR_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR, 1, "x", 0))) __PYX_ERR(0, 47909, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_54EGLStreamKHR_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_54EGLStreamKHR_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("EGLStreamKHR_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.EGLStreamKHR_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47911
 *     def EGLStreamKHR_getter(EGLStreamKHR x): return <uintptr_t><void*><cydriver.EGLStreamKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter)
 *     def EGLSyncKHR_getter(EGLSyncKHR x): return <uintptr_t><void*><cydriver.EGLSyncKHR>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(EGLSyncKHR, EGLSyncKHR_getter)
 *     return 0
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_57EGLSyncKHR_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_57EGLSyncKHR_getter = {"EGLSyncKHR_getter", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_57EGLSyncKHR_getter, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26_add_native_handle_getters_57EGLSyncKHR_getter(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("EGLSyncKHR_getter (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 47911, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47911, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "EGLSyncKHR_getter", 0) < (0)) __PYX_ERR(0, 47911, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("EGLSyncKHR_getter", 1, 1, 1, i); __PYX_ERR(0, 47911, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47911, __pyx_L3_error)
    }
    __pyx_v_x = ((struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("EGLSyncKHR_getter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 47911, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.EGLSyncKHR_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR, 1, "x", 0))) __PYX_ERR(0, 47911, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_56EGLSyncKHR_getter(__pyx_self, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_26_add_native_handle_getters_56EGLSyncKHR_getter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("EGLSyncKHR_getter", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((void *)((__pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR)(__pyx_v_x->_pvt_ptr[0]))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters.EGLSyncKHR_getter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":47853
 *     raise TypeError("Unknown type: " + str(objType))
 * 
 * cdef int _add_native_handle_getters() except?-1:             # <<<<<<<<<<<<<<
 *     from cuda.bindings.utils import _add_cuda_native_handle_getter
 *     def CUcontext_getter(CUcontext x): return <uintptr_t><void*><cydriver.CUcontext>(x._pvt_ptr[0])
*/

static int __pyx_f_4cuda_8bindings_6driver__add_native_handle_getters(void) {
  PyObject *__pyx_v__add_cuda_native_handle_getter = NULL;
  PyObject *__pyx_v_CUcontext_getter = 0;
  PyObject *__pyx_v_CUmodule_getter = 0;
  PyObject *__pyx_v_CUfunction_getter = 0;
  PyObject *__pyx_v_CUlibrary_getter = 0;
  PyObject *__pyx_v_CUkernel_getter = 0;
  PyObject *__pyx_v_CUarray_getter = 0;
  PyObject *__pyx_v_CUmipmappedArray_getter = 0;
  PyObject *__pyx_v_CUtexref_getter = 0;
  PyObject *__pyx_v_CUsurfref_getter = 0;
  PyObject *__pyx_v_CUevent_getter = 0;
  PyObject *__pyx_v_CUstream_getter = 0;
  PyObject *__pyx_v_CUgraphicsResource_getter = 0;
  PyObject *__pyx_v_CUexternalMemory_getter = 0;
  PyObject *__pyx_v_CUexternalSemaphore_getter = 0;
  PyObject *__pyx_v_CUgraph_getter = 0;
  PyObject *__pyx_v_CUgraphNode_getter = 0;
  PyObject *__pyx_v_CUgraphExec_getter = 0;
  PyObject *__pyx_v_CUmemoryPool_getter = 0;
  PyObject *__pyx_v_CUuserObject_getter = 0;
  PyObject *__pyx_v_CUgraphDeviceNode_getter = 0;
  PyObject *__pyx_v_CUasyncCallbackHandle_getter = 0;
  PyObject *__pyx_v_CUgreenCtx_getter = 0;
  PyObject *__pyx_v_CUlinkState_getter = 0;
  PyObject *__pyx_v_CUdevResourceDesc_getter = 0;
  PyObject *__pyx_v_CUlogsCallbackHandle_getter = 0;
  PyObject *__pyx_v_CUeglStreamConnection_getter = 0;
  PyObject *__pyx_v_EGLImageKHR_getter = 0;
  PyObject *__pyx_v_EGLStreamKHR_getter = 0;
  PyObject *__pyx_v_EGLSyncKHR_getter = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_add_native_handle_getters", 0);

  /* "cuda/bindings/driver.pyx":47854
 * 
 * cdef int _add_native_handle_getters() except?-1:
 *     from cuda.bindings.utils import _add_cuda_native_handle_getter             # <<<<<<<<<<<<<<
 *     def CUcontext_getter(CUcontext x): return <uintptr_t><void*><cydriver.CUcontext>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUcontext, CUcontext_getter)
*/
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_add_cuda_native_handle_getter);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_add_cuda_native_handle_getter);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_mstate_global->__pyx_n_u_add_cuda_native_handle_getter) != (0)) __PYX_ERR(0, 47854, __pyx_L1_error);
  __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_cuda_bindings_utils, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_add_cuda_native_handle_getter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v__add_cuda_native_handle_getter = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47855
 * cdef int _add_native_handle_getters() except?-1:
 *     from cuda.bindings.utils import _add_cuda_native_handle_getter
 *     def CUcontext_getter(CUcontext x): return <uintptr_t><void*><cydriver.CUcontext>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUcontext, CUcontext_getter)
 *     def CUmodule_getter(CUmodule x): return <uintptr_t><void*><cydriver.CUmodule>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_1CUcontext_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[185])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUcontext_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47856
 *     from cuda.bindings.utils import _add_cuda_native_handle_getter
 *     def CUcontext_getter(CUcontext x): return <uintptr_t><void*><cydriver.CUcontext>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUcontext, CUcontext_getter)             # <<<<<<<<<<<<<<
 *     def CUmodule_getter(CUmodule x): return <uintptr_t><void*><cydriver.CUmodule>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmodule, CUmodule_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext), __pyx_v_CUcontext_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47857
 *     def CUcontext_getter(CUcontext x): return <uintptr_t><void*><cydriver.CUcontext>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUcontext, CUcontext_getter)
 *     def CUmodule_getter(CUmodule x): return <uintptr_t><void*><cydriver.CUmodule>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUmodule, CUmodule_getter)
 *     def CUfunction_getter(CUfunction x): return <uintptr_t><void*><cydriver.CUfunction>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_3CUmodule_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[186])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUmodule_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47858
 *     _add_cuda_native_handle_getter(CUcontext, CUcontext_getter)
 *     def CUmodule_getter(CUmodule x): return <uintptr_t><void*><cydriver.CUmodule>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmodule, CUmodule_getter)             # <<<<<<<<<<<<<<
 *     def CUfunction_getter(CUfunction x): return <uintptr_t><void*><cydriver.CUfunction>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUfunction, CUfunction_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule), __pyx_v_CUmodule_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47859
 *     def CUmodule_getter(CUmodule x): return <uintptr_t><void*><cydriver.CUmodule>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmodule, CUmodule_getter)
 *     def CUfunction_getter(CUfunction x): return <uintptr_t><void*><cydriver.CUfunction>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUfunction, CUfunction_getter)
 *     def CUlibrary_getter(CUlibrary x): return <uintptr_t><void*><cydriver.CUlibrary>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_5CUfunction_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[187])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUfunction_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47860
 *     _add_cuda_native_handle_getter(CUmodule, CUmodule_getter)
 *     def CUfunction_getter(CUfunction x): return <uintptr_t><void*><cydriver.CUfunction>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUfunction, CUfunction_getter)             # <<<<<<<<<<<<<<
 *     def CUlibrary_getter(CUlibrary x): return <uintptr_t><void*><cydriver.CUlibrary>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlibrary, CUlibrary_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction), __pyx_v_CUfunction_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47861
 *     def CUfunction_getter(CUfunction x): return <uintptr_t><void*><cydriver.CUfunction>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUfunction, CUfunction_getter)
 *     def CUlibrary_getter(CUlibrary x): return <uintptr_t><void*><cydriver.CUlibrary>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUlibrary, CUlibrary_getter)
 *     def CUkernel_getter(CUkernel x): return <uintptr_t><void*><cydriver.CUkernel>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_7CUlibrary_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[188])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUlibrary_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47862
 *     _add_cuda_native_handle_getter(CUfunction, CUfunction_getter)
 *     def CUlibrary_getter(CUlibrary x): return <uintptr_t><void*><cydriver.CUlibrary>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlibrary, CUlibrary_getter)             # <<<<<<<<<<<<<<
 *     def CUkernel_getter(CUkernel x): return <uintptr_t><void*><cydriver.CUkernel>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUkernel, CUkernel_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary), __pyx_v_CUlibrary_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47863
 *     def CUlibrary_getter(CUlibrary x): return <uintptr_t><void*><cydriver.CUlibrary>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlibrary, CUlibrary_getter)
 *     def CUkernel_getter(CUkernel x): return <uintptr_t><void*><cydriver.CUkernel>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUkernel, CUkernel_getter)
 *     def CUarray_getter(CUarray x): return <uintptr_t><void*><cydriver.CUarray>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_9CUkernel_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[189])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUkernel_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47864
 *     _add_cuda_native_handle_getter(CUlibrary, CUlibrary_getter)
 *     def CUkernel_getter(CUkernel x): return <uintptr_t><void*><cydriver.CUkernel>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUkernel, CUkernel_getter)             # <<<<<<<<<<<<<<
 *     def CUarray_getter(CUarray x): return <uintptr_t><void*><cydriver.CUarray>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUarray, CUarray_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel), __pyx_v_CUkernel_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47865
 *     def CUkernel_getter(CUkernel x): return <uintptr_t><void*><cydriver.CUkernel>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUkernel, CUkernel_getter)
 *     def CUarray_getter(CUarray x): return <uintptr_t><void*><cydriver.CUarray>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUarray, CUarray_getter)
 *     def CUmipmappedArray_getter(CUmipmappedArray x): return <uintptr_t><void*><cydriver.CUmipmappedArray>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_11CUarray_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[190])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUarray_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47866
 *     _add_cuda_native_handle_getter(CUkernel, CUkernel_getter)
 *     def CUarray_getter(CUarray x): return <uintptr_t><void*><cydriver.CUarray>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUarray, CUarray_getter)             # <<<<<<<<<<<<<<
 *     def CUmipmappedArray_getter(CUmipmappedArray x): return <uintptr_t><void*><cydriver.CUmipmappedArray>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmipmappedArray, CUmipmappedArray_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray), __pyx_v_CUarray_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47867
 *     def CUarray_getter(CUarray x): return <uintptr_t><void*><cydriver.CUarray>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUarray, CUarray_getter)
 *     def CUmipmappedArray_getter(CUmipmappedArray x): return <uintptr_t><void*><cydriver.CUmipmappedArray>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUmipmappedArray, CUmipmappedArray_getter)
 *     def CUtexref_getter(CUtexref x): return <uintptr_t><void*><cydriver.CUtexref>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_13CUmipmappedArray_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_7, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[191])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUmipmappedArray_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47868
 *     _add_cuda_native_handle_getter(CUarray, CUarray_getter)
 *     def CUmipmappedArray_getter(CUmipmappedArray x): return <uintptr_t><void*><cydriver.CUmipmappedArray>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmipmappedArray, CUmipmappedArray_getter)             # <<<<<<<<<<<<<<
 *     def CUtexref_getter(CUtexref x): return <uintptr_t><void*><cydriver.CUtexref>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUtexref, CUtexref_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray), __pyx_v_CUmipmappedArray_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47869
 *     def CUmipmappedArray_getter(CUmipmappedArray x): return <uintptr_t><void*><cydriver.CUmipmappedArray>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmipmappedArray, CUmipmappedArray_getter)
 *     def CUtexref_getter(CUtexref x): return <uintptr_t><void*><cydriver.CUtexref>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUtexref, CUtexref_getter)
 *     def CUsurfref_getter(CUsurfref x): return <uintptr_t><void*><cydriver.CUsurfref>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_15CUtexref_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_8, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[192])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUtexref_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47870
 *     _add_cuda_native_handle_getter(CUmipmappedArray, CUmipmappedArray_getter)
 *     def CUtexref_getter(CUtexref x): return <uintptr_t><void*><cydriver.CUtexref>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUtexref, CUtexref_getter)             # <<<<<<<<<<<<<<
 *     def CUsurfref_getter(CUsurfref x): return <uintptr_t><void*><cydriver.CUsurfref>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUsurfref, CUsurfref_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref), __pyx_v_CUtexref_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47871
 *     def CUtexref_getter(CUtexref x): return <uintptr_t><void*><cydriver.CUtexref>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUtexref, CUtexref_getter)
 *     def CUsurfref_getter(CUsurfref x): return <uintptr_t><void*><cydriver.CUsurfref>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUsurfref, CUsurfref_getter)
 *     def CUevent_getter(CUevent x): return <uintptr_t><void*><cydriver.CUevent>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_17CUsurfref_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_9, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[193])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUsurfref_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47872
 *     _add_cuda_native_handle_getter(CUtexref, CUtexref_getter)
 *     def CUsurfref_getter(CUsurfref x): return <uintptr_t><void*><cydriver.CUsurfref>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUsurfref, CUsurfref_getter)             # <<<<<<<<<<<<<<
 *     def CUevent_getter(CUevent x): return <uintptr_t><void*><cydriver.CUevent>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUevent, CUevent_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref), __pyx_v_CUsurfref_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47873
 *     def CUsurfref_getter(CUsurfref x): return <uintptr_t><void*><cydriver.CUsurfref>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUsurfref, CUsurfref_getter)
 *     def CUevent_getter(CUevent x): return <uintptr_t><void*><cydriver.CUevent>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUevent, CUevent_getter)
 *     def CUstream_getter(CUstream x): return <uintptr_t><void*><cydriver.CUstream>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_19CUevent_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_10, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[194])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUevent_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47874
 *     _add_cuda_native_handle_getter(CUsurfref, CUsurfref_getter)
 *     def CUevent_getter(CUevent x): return <uintptr_t><void*><cydriver.CUevent>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUevent, CUevent_getter)             # <<<<<<<<<<<<<<
 *     def CUstream_getter(CUstream x): return <uintptr_t><void*><cydriver.CUstream>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUstream, CUstream_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent), __pyx_v_CUevent_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47875
 *     def CUevent_getter(CUevent x): return <uintptr_t><void*><cydriver.CUevent>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUevent, CUevent_getter)
 *     def CUstream_getter(CUstream x): return <uintptr_t><void*><cydriver.CUstream>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUstream, CUstream_getter)
 *     def CUgraphicsResource_getter(CUgraphicsResource x): return <uintptr_t><void*><cydriver.CUgraphicsResource>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_21CUstream_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_11, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[195])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUstream_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47876
 *     _add_cuda_native_handle_getter(CUevent, CUevent_getter)
 *     def CUstream_getter(CUstream x): return <uintptr_t><void*><cydriver.CUstream>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUstream, CUstream_getter)             # <<<<<<<<<<<<<<
 *     def CUgraphicsResource_getter(CUgraphicsResource x): return <uintptr_t><void*><cydriver.CUgraphicsResource>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphicsResource, CUgraphicsResource_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream), __pyx_v_CUstream_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47876, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47877
 *     def CUstream_getter(CUstream x): return <uintptr_t><void*><cydriver.CUstream>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUstream, CUstream_getter)
 *     def CUgraphicsResource_getter(CUgraphicsResource x): return <uintptr_t><void*><cydriver.CUgraphicsResource>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraphicsResource, CUgraphicsResource_getter)
 *     def CUexternalMemory_getter(CUexternalMemory x): return <uintptr_t><void*><cydriver.CUexternalMemory>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_23CUgraphicsResource_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_12, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[196])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUgraphicsResource_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47878
 *     _add_cuda_native_handle_getter(CUstream, CUstream_getter)
 *     def CUgraphicsResource_getter(CUgraphicsResource x): return <uintptr_t><void*><cydriver.CUgraphicsResource>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphicsResource, CUgraphicsResource_getter)             # <<<<<<<<<<<<<<
 *     def CUexternalMemory_getter(CUexternalMemory x): return <uintptr_t><void*><cydriver.CUexternalMemory>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUexternalMemory, CUexternalMemory_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource), __pyx_v_CUgraphicsResource_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47879
 *     def CUgraphicsResource_getter(CUgraphicsResource x): return <uintptr_t><void*><cydriver.CUgraphicsResource>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphicsResource, CUgraphicsResource_getter)
 *     def CUexternalMemory_getter(CUexternalMemory x): return <uintptr_t><void*><cydriver.CUexternalMemory>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUexternalMemory, CUexternalMemory_getter)
 *     def CUexternalSemaphore_getter(CUexternalSemaphore x): return <uintptr_t><void*><cydriver.CUexternalSemaphore>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_25CUexternalMemory_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_13, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[197])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUexternalMemory_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47880
 *     _add_cuda_native_handle_getter(CUgraphicsResource, CUgraphicsResource_getter)
 *     def CUexternalMemory_getter(CUexternalMemory x): return <uintptr_t><void*><cydriver.CUexternalMemory>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUexternalMemory, CUexternalMemory_getter)             # <<<<<<<<<<<<<<
 *     def CUexternalSemaphore_getter(CUexternalSemaphore x): return <uintptr_t><void*><cydriver.CUexternalSemaphore>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUexternalSemaphore, CUexternalSemaphore_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory), __pyx_v_CUexternalMemory_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47881
 *     def CUexternalMemory_getter(CUexternalMemory x): return <uintptr_t><void*><cydriver.CUexternalMemory>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUexternalMemory, CUexternalMemory_getter)
 *     def CUexternalSemaphore_getter(CUexternalSemaphore x): return <uintptr_t><void*><cydriver.CUexternalSemaphore>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUexternalSemaphore, CUexternalSemaphore_getter)
 *     def CUgraph_getter(CUgraph x): return <uintptr_t><void*><cydriver.CUgraph>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_27CUexternalSemaphore_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_14, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[198])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUexternalSemaphore_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47882
 *     _add_cuda_native_handle_getter(CUexternalMemory, CUexternalMemory_getter)
 *     def CUexternalSemaphore_getter(CUexternalSemaphore x): return <uintptr_t><void*><cydriver.CUexternalSemaphore>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUexternalSemaphore, CUexternalSemaphore_getter)             # <<<<<<<<<<<<<<
 *     def CUgraph_getter(CUgraph x): return <uintptr_t><void*><cydriver.CUgraph>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraph, CUgraph_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore), __pyx_v_CUexternalSemaphore_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47883
 *     def CUexternalSemaphore_getter(CUexternalSemaphore x): return <uintptr_t><void*><cydriver.CUexternalSemaphore>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUexternalSemaphore, CUexternalSemaphore_getter)
 *     def CUgraph_getter(CUgraph x): return <uintptr_t><void*><cydriver.CUgraph>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraph, CUgraph_getter)
 *     def CUgraphNode_getter(CUgraphNode x): return <uintptr_t><void*><cydriver.CUgraphNode>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_29CUgraph_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_15, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[199])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUgraph_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47884
 *     _add_cuda_native_handle_getter(CUexternalSemaphore, CUexternalSemaphore_getter)
 *     def CUgraph_getter(CUgraph x): return <uintptr_t><void*><cydriver.CUgraph>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraph, CUgraph_getter)             # <<<<<<<<<<<<<<
 *     def CUgraphNode_getter(CUgraphNode x): return <uintptr_t><void*><cydriver.CUgraphNode>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphNode, CUgraphNode_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph), __pyx_v_CUgraph_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47885
 *     def CUgraph_getter(CUgraph x): return <uintptr_t><void*><cydriver.CUgraph>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraph, CUgraph_getter)
 *     def CUgraphNode_getter(CUgraphNode x): return <uintptr_t><void*><cydriver.CUgraphNode>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraphNode, CUgraphNode_getter)
 *     def CUgraphExec_getter(CUgraphExec x): return <uintptr_t><void*><cydriver.CUgraphExec>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_31CUgraphNode_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_16, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[200])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUgraphNode_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47886
 *     _add_cuda_native_handle_getter(CUgraph, CUgraph_getter)
 *     def CUgraphNode_getter(CUgraphNode x): return <uintptr_t><void*><cydriver.CUgraphNode>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphNode, CUgraphNode_getter)             # <<<<<<<<<<<<<<
 *     def CUgraphExec_getter(CUgraphExec x): return <uintptr_t><void*><cydriver.CUgraphExec>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphExec, CUgraphExec_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode), __pyx_v_CUgraphNode_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47887
 *     def CUgraphNode_getter(CUgraphNode x): return <uintptr_t><void*><cydriver.CUgraphNode>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphNode, CUgraphNode_getter)
 *     def CUgraphExec_getter(CUgraphExec x): return <uintptr_t><void*><cydriver.CUgraphExec>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraphExec, CUgraphExec_getter)
 *     def CUmemoryPool_getter(CUmemoryPool x): return <uintptr_t><void*><cydriver.CUmemoryPool>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_33CUgraphExec_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_17, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[201])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUgraphExec_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47888
 *     _add_cuda_native_handle_getter(CUgraphNode, CUgraphNode_getter)
 *     def CUgraphExec_getter(CUgraphExec x): return <uintptr_t><void*><cydriver.CUgraphExec>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphExec, CUgraphExec_getter)             # <<<<<<<<<<<<<<
 *     def CUmemoryPool_getter(CUmemoryPool x): return <uintptr_t><void*><cydriver.CUmemoryPool>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmemoryPool, CUmemoryPool_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec), __pyx_v_CUgraphExec_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47888, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47889
 *     def CUgraphExec_getter(CUgraphExec x): return <uintptr_t><void*><cydriver.CUgraphExec>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphExec, CUgraphExec_getter)
 *     def CUmemoryPool_getter(CUmemoryPool x): return <uintptr_t><void*><cydriver.CUmemoryPool>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUmemoryPool, CUmemoryPool_getter)
 *     def CUuserObject_getter(CUuserObject x): return <uintptr_t><void*><cydriver.CUuserObject>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_35CUmemoryPool_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_18, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[202])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUmemoryPool_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47890
 *     _add_cuda_native_handle_getter(CUgraphExec, CUgraphExec_getter)
 *     def CUmemoryPool_getter(CUmemoryPool x): return <uintptr_t><void*><cydriver.CUmemoryPool>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmemoryPool, CUmemoryPool_getter)             # <<<<<<<<<<<<<<
 *     def CUuserObject_getter(CUuserObject x): return <uintptr_t><void*><cydriver.CUuserObject>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUuserObject, CUuserObject_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool), __pyx_v_CUmemoryPool_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47890, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47891
 *     def CUmemoryPool_getter(CUmemoryPool x): return <uintptr_t><void*><cydriver.CUmemoryPool>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUmemoryPool, CUmemoryPool_getter)
 *     def CUuserObject_getter(CUuserObject x): return <uintptr_t><void*><cydriver.CUuserObject>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUuserObject, CUuserObject_getter)
 *     def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return <uintptr_t><void*><cydriver.CUgraphDeviceNode>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_37CUuserObject_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_19, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[203])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUuserObject_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47892
 *     _add_cuda_native_handle_getter(CUmemoryPool, CUmemoryPool_getter)
 *     def CUuserObject_getter(CUuserObject x): return <uintptr_t><void*><cydriver.CUuserObject>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUuserObject, CUuserObject_getter)             # <<<<<<<<<<<<<<
 *     def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return <uintptr_t><void*><cydriver.CUgraphDeviceNode>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphDeviceNode, CUgraphDeviceNode_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject), __pyx_v_CUuserObject_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47893
 *     def CUuserObject_getter(CUuserObject x): return <uintptr_t><void*><cydriver.CUuserObject>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUuserObject, CUuserObject_getter)
 *     def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return <uintptr_t><void*><cydriver.CUgraphDeviceNode>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgraphDeviceNode, CUgraphDeviceNode_getter)
 *     def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return <uintptr_t><void*><cydriver.CUasyncCallbackHandle>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_39CUgraphDeviceNode_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_20, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[204])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUgraphDeviceNode_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47894
 *     _add_cuda_native_handle_getter(CUuserObject, CUuserObject_getter)
 *     def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return <uintptr_t><void*><cydriver.CUgraphDeviceNode>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphDeviceNode, CUgraphDeviceNode_getter)             # <<<<<<<<<<<<<<
 *     def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return <uintptr_t><void*><cydriver.CUasyncCallbackHandle>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUasyncCallbackHandle, CUasyncCallbackHandle_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode), __pyx_v_CUgraphDeviceNode_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47895
 *     def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return <uintptr_t><void*><cydriver.CUgraphDeviceNode>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgraphDeviceNode, CUgraphDeviceNode_getter)
 *     def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return <uintptr_t><void*><cydriver.CUasyncCallbackHandle>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUasyncCallbackHandle, CUasyncCallbackHandle_getter)
 *     def CUgreenCtx_getter(CUgreenCtx x): return <uintptr_t><void*><cydriver.CUgreenCtx>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_41CUasyncCallbackHandle_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_21, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[205])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUasyncCallbackHandle_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47896
 *     _add_cuda_native_handle_getter(CUgraphDeviceNode, CUgraphDeviceNode_getter)
 *     def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return <uintptr_t><void*><cydriver.CUasyncCallbackHandle>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUasyncCallbackHandle, CUasyncCallbackHandle_getter)             # <<<<<<<<<<<<<<
 *     def CUgreenCtx_getter(CUgreenCtx x): return <uintptr_t><void*><cydriver.CUgreenCtx>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgreenCtx, CUgreenCtx_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle), __pyx_v_CUasyncCallbackHandle_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47897
 *     def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return <uintptr_t><void*><cydriver.CUasyncCallbackHandle>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUasyncCallbackHandle, CUasyncCallbackHandle_getter)
 *     def CUgreenCtx_getter(CUgreenCtx x): return <uintptr_t><void*><cydriver.CUgreenCtx>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUgreenCtx, CUgreenCtx_getter)
 *     def CUlinkState_getter(CUlinkState x): return <uintptr_t><void*><cydriver.CUlinkState>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_43CUgreenCtx_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_22, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[206])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUgreenCtx_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47898
 *     _add_cuda_native_handle_getter(CUasyncCallbackHandle, CUasyncCallbackHandle_getter)
 *     def CUgreenCtx_getter(CUgreenCtx x): return <uintptr_t><void*><cydriver.CUgreenCtx>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgreenCtx, CUgreenCtx_getter)             # <<<<<<<<<<<<<<
 *     def CUlinkState_getter(CUlinkState x): return <uintptr_t><void*><cydriver.CUlinkState>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlinkState, CUlinkState_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx), __pyx_v_CUgreenCtx_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47899
 *     def CUgreenCtx_getter(CUgreenCtx x): return <uintptr_t><void*><cydriver.CUgreenCtx>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUgreenCtx, CUgreenCtx_getter)
 *     def CUlinkState_getter(CUlinkState x): return <uintptr_t><void*><cydriver.CUlinkState>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUlinkState, CUlinkState_getter)
 *     def CUdevResourceDesc_getter(CUdevResourceDesc x): return <uintptr_t><void*><cydriver.CUdevResourceDesc>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_45CUlinkState_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_23, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[207])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUlinkState_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47900
 *     _add_cuda_native_handle_getter(CUgreenCtx, CUgreenCtx_getter)
 *     def CUlinkState_getter(CUlinkState x): return <uintptr_t><void*><cydriver.CUlinkState>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlinkState, CUlinkState_getter)             # <<<<<<<<<<<<<<
 *     def CUdevResourceDesc_getter(CUdevResourceDesc x): return <uintptr_t><void*><cydriver.CUdevResourceDesc>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUdevResourceDesc, CUdevResourceDesc_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState), __pyx_v_CUlinkState_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47901
 *     def CUlinkState_getter(CUlinkState x): return <uintptr_t><void*><cydriver.CUlinkState>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlinkState, CUlinkState_getter)
 *     def CUdevResourceDesc_getter(CUdevResourceDesc x): return <uintptr_t><void*><cydriver.CUdevResourceDesc>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUdevResourceDesc, CUdevResourceDesc_getter)
 *     def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return <uintptr_t><void*><cydriver.CUlogsCallbackHandle>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_47CUdevResourceDesc_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_24, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[208])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUdevResourceDesc_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47902
 *     _add_cuda_native_handle_getter(CUlinkState, CUlinkState_getter)
 *     def CUdevResourceDesc_getter(CUdevResourceDesc x): return <uintptr_t><void*><cydriver.CUdevResourceDesc>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUdevResourceDesc, CUdevResourceDesc_getter)             # <<<<<<<<<<<<<<
 *     def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return <uintptr_t><void*><cydriver.CUlogsCallbackHandle>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlogsCallbackHandle, CUlogsCallbackHandle_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc), __pyx_v_CUdevResourceDesc_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47903
 *     def CUdevResourceDesc_getter(CUdevResourceDesc x): return <uintptr_t><void*><cydriver.CUdevResourceDesc>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUdevResourceDesc, CUdevResourceDesc_getter)
 *     def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return <uintptr_t><void*><cydriver.CUlogsCallbackHandle>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUlogsCallbackHandle, CUlogsCallbackHandle_getter)
 *     def CUeglStreamConnection_getter(CUeglStreamConnection x): return <uintptr_t><void*><cydriver.CUeglStreamConnection>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_49CUlogsCallbackHandle_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_25, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[209])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUlogsCallbackHandle_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47904
 *     _add_cuda_native_handle_getter(CUdevResourceDesc, CUdevResourceDesc_getter)
 *     def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return <uintptr_t><void*><cydriver.CUlogsCallbackHandle>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlogsCallbackHandle, CUlogsCallbackHandle_getter)             # <<<<<<<<<<<<<<
 *     def CUeglStreamConnection_getter(CUeglStreamConnection x): return <uintptr_t><void*><cydriver.CUeglStreamConnection>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUeglStreamConnection, CUeglStreamConnection_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle), __pyx_v_CUlogsCallbackHandle_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47905
 *     def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return <uintptr_t><void*><cydriver.CUlogsCallbackHandle>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUlogsCallbackHandle, CUlogsCallbackHandle_getter)
 *     def CUeglStreamConnection_getter(CUeglStreamConnection x): return <uintptr_t><void*><cydriver.CUeglStreamConnection>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(CUeglStreamConnection, CUeglStreamConnection_getter)
 *     def EGLImageKHR_getter(EGLImageKHR x): return <uintptr_t><void*><cydriver.EGLImageKHR>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_51CUeglStreamConnection_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_26, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[210])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_CUeglStreamConnection_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47906
 *     _add_cuda_native_handle_getter(CUlogsCallbackHandle, CUlogsCallbackHandle_getter)
 *     def CUeglStreamConnection_getter(CUeglStreamConnection x): return <uintptr_t><void*><cydriver.CUeglStreamConnection>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUeglStreamConnection, CUeglStreamConnection_getter)             # <<<<<<<<<<<<<<
 *     def EGLImageKHR_getter(EGLImageKHR x): return <uintptr_t><void*><cydriver.EGLImageKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection), __pyx_v_CUeglStreamConnection_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47907
 *     def CUeglStreamConnection_getter(CUeglStreamConnection x): return <uintptr_t><void*><cydriver.CUeglStreamConnection>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(CUeglStreamConnection, CUeglStreamConnection_getter)
 *     def EGLImageKHR_getter(EGLImageKHR x): return <uintptr_t><void*><cydriver.EGLImageKHR>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter)
 *     def EGLStreamKHR_getter(EGLStreamKHR x): return <uintptr_t><void*><cydriver.EGLStreamKHR>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_53EGLImageKHR_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_27, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[211])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_EGLImageKHR_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47908
 *     _add_cuda_native_handle_getter(CUeglStreamConnection, CUeglStreamConnection_getter)
 *     def EGLImageKHR_getter(EGLImageKHR x): return <uintptr_t><void*><cydriver.EGLImageKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter)             # <<<<<<<<<<<<<<
 *     def EGLStreamKHR_getter(EGLStreamKHR x): return <uintptr_t><void*><cydriver.EGLStreamKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter)
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR), __pyx_v_EGLImageKHR_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47909
 *     def EGLImageKHR_getter(EGLImageKHR x): return <uintptr_t><void*><cydriver.EGLImageKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter)
 *     def EGLStreamKHR_getter(EGLStreamKHR x): return <uintptr_t><void*><cydriver.EGLStreamKHR>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter)
 *     def EGLSyncKHR_getter(EGLSyncKHR x): return <uintptr_t><void*><cydriver.EGLSyncKHR>(x._pvt_ptr[0])
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_55EGLStreamKHR_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_28, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[212])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_EGLStreamKHR_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47910
 *     _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter)
 *     def EGLStreamKHR_getter(EGLStreamKHR x): return <uintptr_t><void*><cydriver.EGLStreamKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter)             # <<<<<<<<<<<<<<
 *     def EGLSyncKHR_getter(EGLSyncKHR x): return <uintptr_t><void*><cydriver.EGLSyncKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLSyncKHR, EGLSyncKHR_getter)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_1 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR), __pyx_v_EGLStreamKHR_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47911
 *     def EGLStreamKHR_getter(EGLStreamKHR x): return <uintptr_t><void*><cydriver.EGLStreamKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter)
 *     def EGLSyncKHR_getter(EGLSyncKHR x): return <uintptr_t><void*><cydriver.EGLSyncKHR>(x._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     _add_cuda_native_handle_getter(EGLSyncKHR, EGLSyncKHR_getter)
 *     return 0
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_add_native_handle_getters_57EGLSyncKHR_getter, 0, __pyx_mstate_global->__pyx_n_u_add_native_handle_getters_local_29, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[213])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_EGLSyncKHR_getter = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47912
 *     _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter)
 *     def EGLSyncKHR_getter(EGLSyncKHR x): return <uintptr_t><void*><cydriver.EGLSyncKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLSyncKHR, EGLSyncKHR_getter)             # <<<<<<<<<<<<<<
 *     return 0
 * _add_native_handle_getters()
*/
  __pyx_t_1 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_3 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR), __pyx_v_EGLSyncKHR_getter};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47913
 *     def EGLSyncKHR_getter(EGLSyncKHR x): return <uintptr_t><void*><cydriver.EGLSyncKHR>(x._pvt_ptr[0])
 *     _add_cuda_native_handle_getter(EGLSyncKHR, EGLSyncKHR_getter)
 *     return 0             # <<<<<<<<<<<<<<
 * _add_native_handle_getters()
 * 
*/
  __pyx_r = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47853
 *     raise TypeError("Unknown type: " + str(objType))
 * 
 * cdef int _add_native_handle_getters() except?-1:             # <<<<<<<<<<<<<<
 *     from cuda.bindings.utils import _add_cuda_native_handle_getter
 *     def CUcontext_getter(CUcontext x): return <uintptr_t><void*><cydriver.CUcontext>(x._pvt_ptr[0])
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.bindings.driver._add_native_handle_getters", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__add_cuda_native_handle_getter);
  __Pyx_XDECREF(__pyx_v_CUcontext_getter);
  __Pyx_XDECREF(__pyx_v_CUmodule_getter);
  __Pyx_XDECREF(__pyx_v_CUfunction_getter);
  __Pyx_XDECREF(__pyx_v_CUlibrary_getter);
  __Pyx_XDECREF(__pyx_v_CUkernel_getter);
  __Pyx_XDECREF(__pyx_v_CUarray_getter);
  __Pyx_XDECREF(__pyx_v_CUmipmappedArray_getter);
  __Pyx_XDECREF(__pyx_v_CUtexref_getter);
  __Pyx_XDECREF(__pyx_v_CUsurfref_getter);
  __Pyx_XDECREF(__pyx_v_CUevent_getter);
  __Pyx_XDECREF(__pyx_v_CUstream_getter);
  __Pyx_XDECREF(__pyx_v_CUgraphicsResource_getter);
  __Pyx_XDECREF(__pyx_v_CUexternalMemory_getter);
  __Pyx_XDECREF(__pyx_v_CUexternalSemaphore_getter);
  __Pyx_XDECREF(__pyx_v_CUgraph_getter);
  __Pyx_XDECREF(__pyx_v_CUgraphNode_getter);
  __Pyx_XDECREF(__pyx_v_CUgraphExec_getter);
  __Pyx_XDECREF(__pyx_v_CUmemoryPool_getter);
  __Pyx_XDECREF(__pyx_v_CUuserObject_getter);
  __Pyx_XDECREF(__pyx_v_CUgraphDeviceNode_getter);
  __Pyx_XDECREF(__pyx_v_CUasyncCallbackHandle_getter);
  __Pyx_XDECREF(__pyx_v_CUgreenCtx_getter);
  __Pyx_XDECREF(__pyx_v_CUlinkState_getter);
  __Pyx_XDECREF(__pyx_v_CUdevResourceDesc_getter);
  __Pyx_XDECREF(__pyx_v_CUlogsCallbackHandle_getter);
  __Pyx_XDECREF(__pyx_v_CUeglStreamConnection_getter);
  __Pyx_XDECREF(__pyx_v_EGLImageKHR_getter);
  __Pyx_XDECREF(__pyx_v_EGLStreamKHR_getter);
  __Pyx_XDECREF(__pyx_v_EGLSyncKHR_getter);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* #### Code section: module_exttypes ### */

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperKernelParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)o);
  p->_pybuffer.obj = NULL;
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperKernelParams(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperKernelParams) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_19_HelperKernelParams_ckernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_13ckernelParams_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperKernelParams[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_6__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperKernelParams_5__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperKernelParams_8__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperKernelParams_7__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperKernelParams[] = {
  {"ckernelParams", __pyx_getprop_4cuda_8bindings_6driver_19_HelperKernelParams_ckernelParams, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperKernelParams_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperKernelParams},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperKernelParams},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperKernelParams},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperKernelParams},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperKernelParams_spec = {
  "cuda.bindings.driver._HelperKernelParams",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver__HelperKernelParams_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperKernelParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperKernelParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperKernelParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperKernelParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperKernelParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperKernelParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperInputVoidPtr(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)o);
  p->_pybuffer.obj = NULL;
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperInputVoidPtr(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperInputVoidPtr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_19_HelperInputVoidPtr_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperInputVoidPtr[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperInputVoidPtr_4__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperInputVoidPtr_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperInputVoidPtr_6__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperInputVoidPtr[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_19_HelperInputVoidPtr_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperInputVoidPtr},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperInputVoidPtr},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperInputVoidPtr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperInputVoidPtr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr_spec = {
  "cuda.bindings.driver._HelperInputVoidPtr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperInputVoidPtr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperInputVoidPtr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperInputVoidPtr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperInputVoidPtr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperInputVoidPtr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmemPool_attribute(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)o);
  p->_cuuint64_t_val = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmemPool_attribute(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmemPool_attribute) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_cuuint64_t_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUmemPool_attribute(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_cuuint64_t_val) {
    e = (*v)(((PyObject *)p->_cuuint64_t_val), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUmemPool_attribute(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)o;
  tmp = ((PyObject*)p->_cuuint64_t_val);
  p->_cuuint64_t_val = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCUmemPool_attribute[] = {
  {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_4pyObj},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_6__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_8__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCUmemPool_attribute[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmemPool_attribute},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUmemPool_attribute},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver__HelperCUmemPool_attribute},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCUmemPool_attribute},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCUmemPool_attribute},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmemPool_attribute},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute_spec = {
  "cuda.bindings.driver._HelperCUmemPool_attribute",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCUmemPool_attribute", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmemPool_attribute, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUmemPool_attribute, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUmemPool_attribute, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCUmemPool_attribute, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCUmemPool_attribute, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCUmemPool_attribute, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmem_range_attribute(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmem_range_attribute(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmem_range_attribute) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCUmem_range_attribute[] = {
  {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_4pyObj},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_6__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_8__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCUmem_range_attribute[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmem_range_attribute},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCUmem_range_attribute},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCUmem_range_attribute},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmem_range_attribute},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute_spec = {
  "cuda.bindings.driver._HelperCUmem_range_attribute",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCUmem_range_attribute", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmem_range_attribute, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCUmem_range_attribute, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCUmem_range_attribute, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCUmem_range_attribute, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUpointer_attribute(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)o);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  p->_devptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_token = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS *)Py_None); Py_INCREF(Py_None);
  p->_mempool = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUpointer_attribute(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUpointer_attribute) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_ctx);
  Py_CLEAR(p->_devptr);
  Py_CLEAR(p->_token);
  Py_CLEAR(p->_mempool);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUpointer_attribute(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  if (p->_devptr) {
    e = (*v)(((PyObject *)p->_devptr), a); if (e) return e;
  }
  if (p->_token) {
    e = (*v)(((PyObject *)p->_token), a); if (e) return e;
  }
  if (p->_mempool) {
    e = (*v)(((PyObject *)p->_mempool), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUpointer_attribute(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)o;
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_devptr);
  p->_devptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_token);
  p->_token = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_mempool);
  p->_mempool = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCUpointer_attribute[] = {
  {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_4pyObj},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_6__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_8__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCUpointer_attribute[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUpointer_attribute},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUpointer_attribute},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver__HelperCUpointer_attribute},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCUpointer_attribute},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCUpointer_attribute},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCUpointer_attribute},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute_spec = {
  "cuda.bindings.driver._HelperCUpointer_attribute",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCUpointer_attribute", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUpointer_attribute, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUpointer_attribute, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUpointer_attribute, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCUpointer_attribute, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCUpointer_attribute, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCUpointer_attribute, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUgraphMem_attribute(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)o);
  p->_cuuint64_t_val = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUgraphMem_attribute(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUgraphMem_attribute) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_cuuint64_t_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUgraphMem_attribute(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_cuuint64_t_val) {
    e = (*v)(((PyObject *)p->_cuuint64_t_val), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUgraphMem_attribute(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)o;
  tmp = ((PyObject*)p->_cuuint64_t_val);
  p->_cuuint64_t_val = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCUgraphMem_attribute[] = {
  {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_4pyObj},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_6__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_8__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCUgraphMem_attribute[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUgraphMem_attribute},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUgraphMem_attribute},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver__HelperCUgraphMem_attribute},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCUgraphMem_attribute},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCUgraphMem_attribute},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCUgraphMem_attribute},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute_spec = {
  "cuda.bindings.driver._HelperCUgraphMem_attribute",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCUgraphMem_attribute", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUjit_option(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)o);
  __Pyx_default_placement_construct(&(p->_charstarstar));
  p->_voidstarstar = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUjit_option(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUjit_option) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_charstarstar);
  Py_CLEAR(p->_voidstarstar);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUjit_option(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_voidstarstar) {
    e = (*v)(((PyObject *)p->_voidstarstar), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUjit_option(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option *)o;
  tmp = ((PyObject*)p->_voidstarstar);
  p->_voidstarstar = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_19_HelperCUjit_option_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCUjit_option[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperCUjit_option_4__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19_HelperCUjit_option_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19_HelperCUjit_option_6__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCUjit_option[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_19_HelperCUjit_option_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCUjit_option_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUjit_option},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUjit_option},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver__HelperCUjit_option},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCUjit_option},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCUjit_option},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCUjit_option},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCUjit_option_spec = {
  "cuda.bindings.driver._HelperCUjit_option",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver__HelperCUjit_option_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCUjit_option = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCUjit_option", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUjit_option), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUjit_option, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUjit_option, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUjit_option, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCUjit_option, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCUjit_option, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCUjit_option, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCudaJitOption(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCudaJitOption(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCudaJitOption) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20_HelperCudaJitOption_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCudaJitOption[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20_HelperCudaJitOption_4__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20_HelperCudaJitOption_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20_HelperCudaJitOption_6__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCudaJitOption[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_20_HelperCudaJitOption_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCudaJitOption},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCudaJitOption},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCudaJitOption},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCudaJitOption},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption_spec = {
  "cuda.bindings.driver._HelperCudaJitOption",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCudaJitOption", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaJitOption), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCudaJitOption, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCudaJitOption, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCudaJitOption, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCudaJitOption, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUlibraryOption(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUlibraryOption(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUlibraryOption) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22_HelperCUlibraryOption_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCUlibraryOption[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22_HelperCUlibraryOption_4__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22_HelperCUlibraryOption_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22_HelperCUlibraryOption_6__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCUlibraryOption[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_22_HelperCUlibraryOption_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUlibraryOption},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCUlibraryOption},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCUlibraryOption},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCUlibraryOption},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption_spec = {
  "cuda.bindings.driver._HelperCUlibraryOption",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCUlibraryOption", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUlibraryOption), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUlibraryOption, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCUlibraryOption, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCUlibraryOption, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCUlibraryOption, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCudaLibraryOption(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCudaLibraryOption(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCudaLibraryOption) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCudaLibraryOption[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_4__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_6__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCudaLibraryOption[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCudaLibraryOption},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCudaLibraryOption},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCudaLibraryOption},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCudaLibraryOption},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption_spec = {
  "cuda.bindings.driver._HelperCudaLibraryOption",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCudaLibraryOption", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCudaLibraryOption), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCudaLibraryOption, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCudaLibraryOption, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCudaLibraryOption, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCudaLibraryOption, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)o);
  p->_mem_fabric_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_mem_fabric_handle);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_mem_fabric_handle) {
    e = (*v)(((PyObject *)p->_mem_fabric_handle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *p = (struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)o;
  tmp = ((PyObject*)p->_mem_fabric_handle);
  p->_mem_fabric_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType[] = {
  {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_5pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_4pyObj},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_6__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_8__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType_spec = {
  "cuda.bindings.driver._HelperCUmemAllocationHandleType",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCUmemAllocationHandleType", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__InputVoidPtrPtrHelper(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__InputVoidPtrPtrHelper(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__InputVoidPtrPtrHelper) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__InputVoidPtrPtrHelper[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_4__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_6__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__InputVoidPtrPtrHelper[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__InputVoidPtrPtrHelper},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__InputVoidPtrPtrHelper},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__InputVoidPtrPtrHelper},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__InputVoidPtrPtrHelper},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper_spec = {
  "cuda.bindings.driver._InputVoidPtrPtrHelper",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_InputVoidPtrPtrHelper", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver__HelperCUcoredumpSettings(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUcoredumpSettings(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUcoredumpSettings) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_cptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4cptr_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver__HelperCUcoredumpSettings[] = {
  {"size", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_5size, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_4size},
  {"pyObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_7pyObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_6pyObj},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver__HelperCUcoredumpSettings[] = {
  {"cptr", __pyx_getprop_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_cptr, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUcoredumpSettings},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver__HelperCUcoredumpSettings},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver__HelperCUcoredumpSettings},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver__HelperCUcoredumpSettings},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings_spec = {
  "cuda.bindings.driver._HelperCUcoredumpSettings",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""_HelperCUcoredumpSettings", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver__HelperCUcoredumpSettings), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver__HelperCUcoredumpSettings, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver__HelperCUcoredumpSettings, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver__HelperCUcoredumpSettings, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver__HelperCUcoredumpSettings, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcontext(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_9CUcontext_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcontext(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcontext) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUcontext(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_9CUcontext_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_9CUcontext_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUcontext[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUcontext_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUcontext_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUcontext_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcontext_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcontext},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUcontext(*args, **kwargs)\n\nA regular context handle\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUcontext},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUcontext},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUcontext_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcontext},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcontext_spec = {
  "cuda.bindings.driver.CUcontext",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUcontext_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUcontext = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_9CUcontext_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_9CUcontext_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcontext = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcontext", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcontext), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcontext, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_9CUcontext_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUcontext, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_9CUcontext_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUcontext(*args, **kwargs)\n\nA regular context handle\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUcontext, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUcontext, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_9CUcontext_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcontext, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmodule(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_8CUmodule_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmodule(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmodule) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUmodule(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_8CUmodule_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_8CUmodule_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmodule[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUmodule_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUmodule_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUmodule_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmodule_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmodule},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmodule(*args, **kwargs)\n\nCUDA module\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUmodule},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmodule},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUmodule_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmodule},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmodule_spec = {
  "cuda.bindings.driver.CUmodule",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmodule_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmodule = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_8CUmodule_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_8CUmodule_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmodule = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmodule", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmodule), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmodule, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_8CUmodule_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUmodule, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_8CUmodule_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUmodule(*args, **kwargs)\n\nCUDA module\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUmodule, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmodule, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_8CUmodule_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmodule, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUfunction(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_10CUfunction_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUfunction(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUfunction) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUfunction(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_10CUfunction_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_10CUfunction_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUfunction[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUfunction_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUfunction_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUfunction_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUfunction_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUfunction},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUfunction(*args, **kwargs)\n\nCUDA function\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUfunction},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUfunction},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUfunction_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUfunction},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUfunction_spec = {
  "cuda.bindings.driver.CUfunction",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUfunction_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUfunction = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_10CUfunction_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_10CUfunction_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUfunction = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUfunction", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUfunction), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUfunction, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_10CUfunction_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUfunction, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_10CUfunction_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUfunction(*args, **kwargs)\n\nCUDA function\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUfunction, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUfunction, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_10CUfunction_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUfunction, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlibrary(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibrary(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibrary) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUlibrary(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlibrary[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUlibrary_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUlibrary_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUlibrary_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlibrary_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibrary},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlibrary(*args, **kwargs)\n\nCUDA library\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUlibrary},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlibrary},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUlibrary_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlibrary},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlibrary_spec = {
  "cuda.bindings.driver.CUlibrary",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUlibrary_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUlibrary = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlibrary = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlibrary", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibrary, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUlibrary, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUlibrary(*args, **kwargs)\n\nCUDA library\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUlibrary, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlibrary, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_9CUlibrary_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlibrary, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUkernel(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_8CUkernel_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUkernel(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUkernel) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUkernel(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_8CUkernel_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_8CUkernel_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUkernel[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUkernel_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUkernel_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUkernel_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUkernel_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUkernel},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUkernel(*args, **kwargs)\n\nCUDA kernel\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUkernel},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUkernel},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUkernel_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUkernel},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUkernel_spec = {
  "cuda.bindings.driver.CUkernel",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUkernel_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUkernel = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_8CUkernel_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_8CUkernel_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUkernel = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUkernel", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUkernel), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUkernel, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_8CUkernel_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUkernel, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_8CUkernel_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUkernel(*args, **kwargs)\n\nCUDA kernel\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUkernel, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUkernel, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_8CUkernel_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUkernel, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUarray(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_7CUarray_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUarray(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUarray) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUarray(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_7CUarray_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_7CUarray_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUarray[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUarray_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUarray_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUarray_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUarray_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUarray_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUarray_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUarray_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUarray},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUarray_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUarray_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUarray_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUarray_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUarray(*args, **kwargs)\n\nCUDA array\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUarray},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUarray},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUarray_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUarray},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUarray_spec = {
  "cuda.bindings.driver.CUarray",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUarray),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUarray_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUarray = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_7CUarray_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_7CUarray_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUarray = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUarray", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUarray), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUarray, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_7CUarray_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUarray, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_7CUarray_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUarray(*args, **kwargs)\n\nCUDA array\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUarray, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUarray, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_7CUarray_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUarray, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmipmappedArray(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmipmappedArray(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmipmappedArray) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUmipmappedArray(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmipmappedArray[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmipmappedArray_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmipmappedArray_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmipmappedArray},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmipmappedArray(*args, **kwargs)\n\nCUDA mipmapped array\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUmipmappedArray},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmipmappedArray},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmipmappedArray},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmipmappedArray_spec = {
  "cuda.bindings.driver.CUmipmappedArray",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmipmappedArray_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmipmappedArray = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmipmappedArray = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmipmappedArray", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmipmappedArray, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUmipmappedArray, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUmipmappedArray(*args, **kwargs)\n\nCUDA mipmapped array\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUmipmappedArray, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmipmappedArray, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_16CUmipmappedArray_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmipmappedArray, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUtexref(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_8CUtexref_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexref(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexref) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUtexref(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_8CUtexref_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_8CUtexref_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUtexref[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUtexref_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUtexref_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUtexref_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUtexref_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexref},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUtexref(*args, **kwargs)\n\nCUDA texture reference\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUtexref},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUtexref},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUtexref_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUtexref},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUtexref_spec = {
  "cuda.bindings.driver.CUtexref",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUtexref_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUtexref = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_8CUtexref_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_8CUtexref_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUtexref = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUtexref", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtexref), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexref, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_8CUtexref_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUtexref, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_8CUtexref_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUtexref(*args, **kwargs)\n\nCUDA texture reference\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUtexref, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUtexref, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_8CUtexref_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUtexref, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUsurfref(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfref(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfref) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUsurfref(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUsurfref[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUsurfref_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUsurfref_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUsurfref_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUsurfref_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfref},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUsurfref(*args, **kwargs)\n\nCUDA surface reference\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUsurfref},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUsurfref},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUsurfref_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUsurfref},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUsurfref_spec = {
  "cuda.bindings.driver.CUsurfref",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUsurfref_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUsurfref = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUsurfref = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUsurfref", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfref, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUsurfref, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUsurfref(*args, **kwargs)\n\nCUDA surface reference\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUsurfref, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUsurfref, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_9CUsurfref_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUsurfref, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUevent(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_7CUevent_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUevent(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUevent) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUevent(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_7CUevent_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_7CUevent_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUevent[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUevent_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUevent_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUevent_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUevent_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUevent_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUevent_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUevent_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUevent},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUevent_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUevent_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUevent_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUevent_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUevent(*args, **kwargs)\n\nCUDA event\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUevent},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUevent},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUevent_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUevent},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUevent_spec = {
  "cuda.bindings.driver.CUevent",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUevent),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUevent_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUevent = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_7CUevent_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_7CUevent_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUevent = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUevent", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUevent), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUevent, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_7CUevent_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUevent, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_7CUevent_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUevent(*args, **kwargs)\n\nCUDA event\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUevent, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUevent, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_7CUevent_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUevent, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstream(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_8CUstream_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstream(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstream) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUstream(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_8CUstream_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_8CUstream_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUstream[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstream_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstream},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUstream_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUstream_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUstream_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUstream_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstream(*args, **kwargs)\n\nCUDA stream\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUstream},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUstream},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUstream_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstream},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstream_spec = {
  "cuda.bindings.driver.CUstream",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstream),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUstream_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUstream = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_8CUstream_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_8CUstream_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstream = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstream", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstream), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstream, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_8CUstream_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUstream, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_8CUstream_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUstream(*args, **kwargs)\n\nCUDA stream\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUstream, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUstream, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_8CUstream_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstream, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphicsResource(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphicsResource(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphicsResource) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphicsResource(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraphicsResource[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphicsResource_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphicsResource_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphicsResource},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphicsResource(*args, **kwargs)\n\nCUDA graphics interop resource\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphicsResource},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraphicsResource},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphicsResource},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphicsResource_spec = {
  "cuda.bindings.driver.CUgraphicsResource",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphicsResource_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphicsResource = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphicsResource = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphicsResource", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphicsResource, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphicsResource, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUgraphicsResource(*args, **kwargs)\n\nCUDA graphics interop resource\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphicsResource, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraphicsResource, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphicsResource_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphicsResource, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUexternalMemory(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexternalMemory(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexternalMemory) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUexternalMemory(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUexternalMemory[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUexternalMemory_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUexternalMemory_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUexternalMemory},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUexternalMemory(*args, **kwargs)\n\nCUDA external memory\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUexternalMemory},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUexternalMemory},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUexternalMemory},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUexternalMemory_spec = {
  "cuda.bindings.driver.CUexternalMemory",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUexternalMemory_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUexternalMemory = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUexternalMemory = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUexternalMemory", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalMemory), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexternalMemory, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUexternalMemory, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUexternalMemory(*args, **kwargs)\n\nCUDA external memory\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUexternalMemory, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUexternalMemory, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_16CUexternalMemory_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUexternalMemory, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUexternalSemaphore(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexternalSemaphore(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexternalSemaphore) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUexternalSemaphore(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUexternalSemaphore[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUexternalSemaphore_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUexternalSemaphore},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUexternalSemaphore(*args, **kwargs)\n\nCUDA external semaphore\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUexternalSemaphore},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUexternalSemaphore},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUexternalSemaphore},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore_spec = {
  "cuda.bindings.driver.CUexternalSemaphore",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUexternalSemaphore = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUexternalSemaphore", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexternalSemaphore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexternalSemaphore, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUexternalSemaphore, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUexternalSemaphore(*args, **kwargs)\n\nCUDA external semaphore\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUexternalSemaphore, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUexternalSemaphore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_19CUexternalSemaphore_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUexternalSemaphore, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraph(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_7CUgraph_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraph(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraph) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraph(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_7CUgraph_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_7CUgraph_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraph[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUgraph_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUgraph_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_7CUgraph_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraph_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraph},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraph(*args, **kwargs)\n\nCUDA graph\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraph},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraph},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_7CUgraph_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraph},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraph_spec = {
  "cuda.bindings.driver.CUgraph",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUgraph_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraph = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_7CUgraph_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_7CUgraph_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraph = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraph", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraph), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraph, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_7CUgraph_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraph, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_7CUgraph_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUgraph(*args, **kwargs)\n\nCUDA graph\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraph, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraph, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_7CUgraph_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraph, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphNode(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNode(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNode) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphNode(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraphNode[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphNode_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphNode_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNode},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphNode(*args, **kwargs)\n\nCUDA graph node\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphNode},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraphNode},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphNode},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphNode_spec = {
  "cuda.bindings.driver.CUgraphNode",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphNode_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphNode = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphNode, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUgraphNode(*args, **kwargs)\n\nCUDA graph node\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphNode, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraphNode, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphNode_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphExec(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExec(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExec) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphExec(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraphExec[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUgraphExec_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphExec_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExec},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphExec(*args, **kwargs)\n\nCUDA executable graph\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphExec},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraphExec},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphExec},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphExec_spec = {
  "cuda.bindings.driver.CUgraphExec",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphExec_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphExec = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphExec = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphExec", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExec, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphExec, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUgraphExec(*args, **kwargs)\n\nCUDA executable graph\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphExec, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraphExec, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11CUgraphExec_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphExec, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemoryPool(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemoryPool(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemoryPool) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUmemoryPool(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemoryPool[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUmemoryPool_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemoryPool_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemoryPool},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemoryPool(*args, **kwargs)\n\nCUDA memory pool\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUmemoryPool},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemoryPool},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemoryPool},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemoryPool_spec = {
  "cuda.bindings.driver.CUmemoryPool",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmemoryPool_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmemoryPool = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemoryPool = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemoryPool", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemoryPool, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUmemoryPool, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUmemoryPool(*args, **kwargs)\n\nCUDA memory pool\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUmemoryPool, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemoryPool, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12CUmemoryPool_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemoryPool, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUuserObject(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUuserObject(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUuserObject) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUuserObject(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUuserObject[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUuserObject_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUuserObject_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUuserObject_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUuserObject_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUuserObject},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUuserObject(*args, **kwargs)\n\nCUDA user object for graphs\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUuserObject},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUuserObject},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUuserObject_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUuserObject},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUuserObject_spec = {
  "cuda.bindings.driver.CUuserObject",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUuserObject_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUuserObject = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUuserObject = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUuserObject", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUuserObject, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUuserObject, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUuserObject(*args, **kwargs)\n\nCUDA user object for graphs\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUuserObject, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUuserObject, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12CUuserObject_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUuserObject, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphDeviceNode(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphDeviceNode(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphDeviceNode) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphDeviceNode(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraphDeviceNode[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUgraphDeviceNode_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphDeviceNode},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphDeviceNode(*args, **kwargs)\n\nCUDA graph device node handle\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphDeviceNode},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraphDeviceNode},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphDeviceNode},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode_spec = {
  "cuda.bindings.driver.CUgraphDeviceNode",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphDeviceNode = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphDeviceNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphDeviceNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphDeviceNode, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUgraphDeviceNode(*args, **kwargs)\n\nCUDA graph device node handle\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUgraphDeviceNode, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraphDeviceNode, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_17CUgraphDeviceNode_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphDeviceNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUasyncCallbackHandle(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncCallbackHandle(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncCallbackHandle) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUasyncCallbackHandle(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUasyncCallbackHandle[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUasyncCallbackHandle_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncCallbackHandle},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUasyncCallbackHandle(*args, **kwargs)\n\nCUDA async notification callback handle\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUasyncCallbackHandle},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUasyncCallbackHandle},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUasyncCallbackHandle},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle_spec = {
  "cuda.bindings.driver.CUasyncCallbackHandle",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUasyncCallbackHandle = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUasyncCallbackHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncCallbackHandle, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUasyncCallbackHandle, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUasyncCallbackHandle(*args, **kwargs)\n\nCUDA async notification callback handle\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUasyncCallbackHandle, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUasyncCallbackHandle, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_21CUasyncCallbackHandle_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUasyncCallbackHandle, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgreenCtx(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgreenCtx(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgreenCtx) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgreenCtx(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgreenCtx[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10CUgreenCtx_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgreenCtx_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgreenCtx},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgreenCtx(*args, **kwargs)\n\nA green context handle. This handle can be used safely from only one CPU thread at a time. Created via cuGreenCtxCreate\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUgreenCtx},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgreenCtx},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgreenCtx},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgreenCtx_spec = {
  "cuda.bindings.driver.CUgreenCtx",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUgreenCtx_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgreenCtx = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgreenCtx = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgreenCtx", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgreenCtx, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgreenCtx, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUgreenCtx(*args, **kwargs)\n\nA green context handle. This handle can be used safely from only one CPU thread at a time. Created via cuGreenCtxCreate\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUgreenCtx, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgreenCtx, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_10CUgreenCtx_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgreenCtx, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlinkState(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)o);
  p->_keepalive = ((PyObject*)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlinkState(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlinkState) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_keepalive);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUlinkState(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_keepalive) {
    e = (*v)(p->_keepalive, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUlinkState(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState *)o;
  tmp = ((PyObject*)p->_keepalive);
  p->_keepalive = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUlinkState(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlinkState[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUlinkState_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUlinkState_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUlinkState_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlinkState_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlinkState},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlinkState(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlinkState},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlinkState},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUlinkState},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlinkState},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUlinkState_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlinkState},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlinkState_spec = {
  "cuda.bindings.driver.CUlinkState",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUlinkState_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUlinkState = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlinkState = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlinkState", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlinkState), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlinkState, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUlinkState, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUlinkState(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlinkState, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlinkState, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUlinkState, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlinkState, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11CUlinkState_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlinkState, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevResourceDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResourceDesc(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResourceDesc) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUdevResourceDesc(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdevResourceDesc[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUdevResourceDesc_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResourceDesc},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevResourceDesc(*args, **kwargs)\n\nAn opaque descriptor handle. The descriptor encapsulates multiple created and configured resources. Created via cuDevResourceGenerateDesc\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUdevResourceDesc},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdevResourceDesc},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevResourceDesc},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc_spec = {
  "cuda.bindings.driver.CUdevResourceDesc",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdevResourceDesc = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevResourceDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResourceDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResourceDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUdevResourceDesc, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUdevResourceDesc(*args, **kwargs)\n\nAn opaque descriptor handle. The descriptor encapsulates multiple created and configured resources. Created via cuDevResourceGenerateDesc\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUdevResourceDesc, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdevResourceDesc, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_17CUdevResourceDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevResourceDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlogsCallbackHandle(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogsCallbackHandle(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogsCallbackHandle) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUlogsCallbackHandle(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlogsCallbackHandle[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlogsCallbackHandle_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogsCallbackHandle},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlogsCallbackHandle(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUlogsCallbackHandle},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlogsCallbackHandle},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlogsCallbackHandle},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle_spec = {
  "cuda.bindings.driver.CUlogsCallbackHandle",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUlogsCallbackHandle = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlogsCallbackHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogsCallbackHandle, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUlogsCallbackHandle, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUlogsCallbackHandle(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUlogsCallbackHandle, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlogsCallbackHandle, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_20CUlogsCallbackHandle_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlogsCallbackHandle, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUeglStreamConnection(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglStreamConnection(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglStreamConnection) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_CUeglStreamConnection(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUeglStreamConnection[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUeglStreamConnection_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglStreamConnection},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("CUeglStreamConnection(*args, **kwargs)\n\nCUDA EGLSream Connection\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_CUeglStreamConnection},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUeglStreamConnection},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUeglStreamConnection},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection_spec = {
  "cuda.bindings.driver.CUeglStreamConnection",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUeglStreamConnection = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUeglStreamConnection", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglStreamConnection, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUeglStreamConnection, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUeglStreamConnection(*args, **kwargs)\n\nCUDA EGLSream Connection\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_CUeglStreamConnection, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUeglStreamConnection, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_21CUeglStreamConnection_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUeglStreamConnection, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_EGLImageKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLImageKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLImageKHR) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_EGLImageKHR(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_EGLImageKHR[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11EGLImageKHR_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_EGLImageKHR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_EGLImageKHR},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("EGLImageKHR(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_EGLImageKHR},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_EGLImageKHR},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_EGLImageKHR},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_EGLImageKHR_spec = {
  "cuda.bindings.driver.EGLImageKHR",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_EGLImageKHR_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_EGLImageKHR = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_EGLImageKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""EGLImageKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_EGLImageKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLImageKHR, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_EGLImageKHR, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("EGLImageKHR(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_EGLImageKHR, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_EGLImageKHR, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11EGLImageKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_EGLImageKHR, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_EGLStreamKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLStreamKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLStreamKHR) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_EGLStreamKHR(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_EGLStreamKHR[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12EGLStreamKHR_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_EGLStreamKHR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_EGLStreamKHR},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("EGLStreamKHR(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_EGLStreamKHR},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_EGLStreamKHR},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_EGLStreamKHR},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_EGLStreamKHR_spec = {
  "cuda.bindings.driver.EGLStreamKHR",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_EGLStreamKHR_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_EGLStreamKHR = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_EGLStreamKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""EGLStreamKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_EGLStreamKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLStreamKHR, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_EGLStreamKHR, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("EGLStreamKHR(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_EGLStreamKHR, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_EGLStreamKHR, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12EGLStreamKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_EGLStreamKHR, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_EGLSyncKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLSyncKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLSyncKHR) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_tp_richcompare_4cuda_8bindings_6driver_EGLSyncKHR(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_EGLSyncKHR[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_15getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_14getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_16__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10EGLSyncKHR_18__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_EGLSyncKHR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_EGLSyncKHR},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_13__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_7__index__},
  {Py_tp_hash, (void *)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("EGLSyncKHR(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_4cuda_8bindings_6driver_EGLSyncKHR},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_EGLSyncKHR},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_EGLSyncKHR},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_EGLSyncKHR_spec = {
  "cuda.bindings.driver.EGLSyncKHR",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_EGLSyncKHR_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_EGLSyncKHR = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_13__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_EGLSyncKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""EGLSyncKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_EGLSyncKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLSyncKHR, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_EGLSyncKHR, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("EGLSyncKHR(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_4cuda_8bindings_6driver_EGLSyncKHR, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_EGLSyncKHR, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_10EGLSyncKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_EGLSyncKHR, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUasyncCallback(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncCallback(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncCallback) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUasyncCallback[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUasyncCallback_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUasyncCallback_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncCallback},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_9__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUasyncCallback(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUasyncCallback},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUasyncCallback},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUasyncCallback_spec = {
  "cuda.bindings.driver.CUasyncCallback",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUasyncCallback_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUasyncCallback = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_9__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUasyncCallback = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUasyncCallback", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallback), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncCallback, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUasyncCallback, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUasyncCallback(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUasyncCallback, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_15CUasyncCallback_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUasyncCallback, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUhostFn(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUhostFn(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUhostFn) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUhostFn[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUhostFn_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUhostFn_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUhostFn_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUhostFn_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUhostFn},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_9__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUhostFn(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUhostFn},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUhostFn_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUhostFn},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUhostFn_spec = {
  "cuda.bindings.driver.CUhostFn",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUhostFn_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUhostFn = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_8CUhostFn_9__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_8CUhostFn_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUhostFn = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUhostFn", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUhostFn, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_8CUhostFn_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUhostFn, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUhostFn(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUhostFn, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_8CUhostFn_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUhostFn, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamCallback(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamCallback(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamCallback) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUstreamCallback[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUstreamCallback_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamCallback_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamCallback},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_9__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamCallback(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUstreamCallback},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamCallback},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamCallback_spec = {
  "cuda.bindings.driver.CUstreamCallback",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUstreamCallback_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUstreamCallback = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_9__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamCallback = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamCallback", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamCallback), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamCallback, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUstreamCallback, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUstreamCallback(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUstreamCallback, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_16CUstreamCallback_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamCallback, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUoccupancyB2DSize(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUoccupancyB2DSize(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUoccupancyB2DSize) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUoccupancyB2DSize[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUoccupancyB2DSize_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUoccupancyB2DSize},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_9__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUoccupancyB2DSize(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUoccupancyB2DSize},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUoccupancyB2DSize},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize_spec = {
  "cuda.bindings.driver.CUoccupancyB2DSize",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUoccupancyB2DSize = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_9__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUoccupancyB2DSize", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUoccupancyB2DSize), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUoccupancyB2DSize, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUoccupancyB2DSize, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUoccupancyB2DSize(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUoccupancyB2DSize, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_18CUoccupancyB2DSize_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUoccupancyB2DSize, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlogsCallback(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogsCallback(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogsCallback) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlogsCallback[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUlogsCallback_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlogsCallback_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogsCallback},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_9__int__},
  {Py_nb_index, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlogsCallback(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlogsCallback},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlogsCallback},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlogsCallback_spec = {
  "cuda.bindings.driver.CUlogsCallback",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUlogsCallback_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUlogsCallback = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_9__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  __pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_7__index__, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlogsCallback = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlogsCallback", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallback), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogsCallback, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUlogsCallback, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUlogsCallback(*args, **kwargs)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlogsCallback, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_14CUlogsCallback_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlogsCallback, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUuuid_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUuuid_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUuuid_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_9CUuuid_st_bytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_5bytes_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUuuid_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9CUuuid_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUuuid_st[] = {
  {"bytes", __pyx_getprop_4cuda_8bindings_6driver_9CUuuid_st_bytes, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUuuid_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUuuid_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUuuid_st(void_ptr _ptr=0)\n\nAttributes\n----------\nbytes : bytes\n    < CUDA definition of UUID\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUuuid_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUuuid_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUuuid_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUuuid_st_spec = {
  "cuda.bindings.driver.CUuuid_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUuuid_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUuuid_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUuuid_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUuuid_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUuuid_st(void_ptr _ptr=0)\n\nAttributes\n----------\nbytes : bytes\n    < CUDA definition of UUID\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUuuid_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUuuid_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUuuid_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemFabricHandle_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemFabricHandle_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemFabricHandle_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUmemFabricHandle_st_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUmemFabricHandle_st_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_4data_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemFabricHandle_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemFabricHandle_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemFabricHandle_st[] = {
  {"data", __pyx_getprop_4cuda_8bindings_6driver_20CUmemFabricHandle_st_data, __pyx_setprop_4cuda_8bindings_6driver_20CUmemFabricHandle_st_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemFabricHandle_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemFabricHandle_st(void_ptr _ptr=0)\n\nFabric handle - An opaque handle representing a memory allocation\nthat can be exported to processes in same or different nodes. For\nIPC between processes on different nodes they must be connected via\nthe NVSwitch fabric.\n\nAttributes\n----------\ndata : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemFabricHandle_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemFabricHandle_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemFabricHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st_spec = {
  "cuda.bindings.driver.CUmemFabricHandle_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemFabricHandle_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemFabricHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUmemFabricHandle_st(void_ptr _ptr=0)\n\nFabric handle - An opaque handle representing a memory allocation\nthat can be exported to processes in same or different nodes. For\nIPC between processes on different nodes they must be connected via\nthe NVSwitch fabric.\n\nAttributes\n----------\ndata : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemFabricHandle_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemFabricHandle_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemFabricHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUipcEventHandle_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcEventHandle_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcEventHandle_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_19CUipcEventHandle_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_19CUipcEventHandle_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUipcEventHandle_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_19CUipcEventHandle_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUipcEventHandle_st[] = {
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_19CUipcEventHandle_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_19CUipcEventHandle_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcEventHandle_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUipcEventHandle_st(void_ptr _ptr=0)\n\nCUDA IPC event handle\n\nAttributes\n----------\nreserved : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUipcEventHandle_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUipcEventHandle_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUipcEventHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st_spec = {
  "cuda.bindings.driver.CUipcEventHandle_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUipcEventHandle_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcEventHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUipcEventHandle_st(void_ptr _ptr=0)\n\nCUDA IPC event handle\n\nAttributes\n----------\nreserved : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUipcEventHandle_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUipcEventHandle_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUipcEventHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUipcMemHandle_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcMemHandle_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcMemHandle_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUipcMemHandle_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUipcMemHandle_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUipcMemHandle_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUipcMemHandle_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUipcMemHandle_st[] = {
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_17CUipcMemHandle_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_17CUipcMemHandle_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcMemHandle_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUipcMemHandle_st(void_ptr _ptr=0)\n\nCUDA IPC mem handle\n\nAttributes\n----------\nreserved : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUipcMemHandle_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUipcMemHandle_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUipcMemHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st_spec = {
  "cuda.bindings.driver.CUipcMemHandle_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUipcMemHandle_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcMemHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUipcMemHandle_st(void_ptr _ptr=0)\n\nCUDA IPC mem handle\n\nAttributes\n----------\nreserved : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUipcMemHandle_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUipcMemHandle_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUipcMemHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)o);
  p->_address = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)Py_None); Py_INCREF(Py_None);
  p->_value64 = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  p->_alias = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_address);
  Py_CLEAR(p->_value);
  Py_CLEAR(p->_value64);
  Py_CLEAR(p->_alias);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_address) {
    e = (*v)(((PyObject *)p->_address), a); if (e) return e;
  }
  if (p->_value) {
    e = (*v)(((PyObject *)p->_value), a); if (e) return e;
  }
  if (p->_value64) {
    e = (*v)(((PyObject *)p->_value64), a); if (e) return e;
  }
  if (p->_alias) {
    e = (*v)(((PyObject *)p->_alias), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)o;
  tmp = ((PyObject*)p->_address);
  p->_address = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value);
  p->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value64);
  p->_value64 = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_alias);
  p->_alias = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_address(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_address(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7address_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_value64(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_value64(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7value64_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_alias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_alias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_5alias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st[] = {
  {"operation", __pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_operation, __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_operation, 0, 0},
  {"address", __pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_address, __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_address, 0, 0},
  {"value", __pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_value, __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_value, 0, 0},
  {"value64", __pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_value64, __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_value64, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_flags, __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_flags, 0, 0},
  {"alias", __pyx_getprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_alias, __pyx_setprop_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_alias, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpWaitValueParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\naddress : CUdeviceptr\n\nvalue : cuuint32_t\n\nvalue64 : cuuint64_t\n\nflags : unsigned int\n\nalias : CUdeviceptr\n    For driver internal use. Initial value is unimportant.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st_spec = {
  "cuda.bindings.driver.CUstreamMemOpWaitValueParams_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamMemOpWaitValueParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUstreamMemOpWaitValueParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\naddress : CUdeviceptr\n\nvalue : cuuint32_t\n\nvalue64 : cuuint64_t\n\nflags : unsigned int\n\nalias : CUdeviceptr\n    For driver internal use. Initial value is unimportant.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)o);
  p->_address = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)Py_None); Py_INCREF(Py_None);
  p->_value64 = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  p->_alias = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_address);
  Py_CLEAR(p->_value);
  Py_CLEAR(p->_value64);
  Py_CLEAR(p->_alias);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_address) {
    e = (*v)(((PyObject *)p->_address), a); if (e) return e;
  }
  if (p->_value) {
    e = (*v)(((PyObject *)p->_value), a); if (e) return e;
  }
  if (p->_value64) {
    e = (*v)(((PyObject *)p->_value64), a); if (e) return e;
  }
  if (p->_alias) {
    e = (*v)(((PyObject *)p->_alias), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)o;
  tmp = ((PyObject*)p->_address);
  p->_address = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value);
  p->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value64);
  p->_value64 = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_alias);
  p->_alias = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_address(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_address(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7address_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_value64(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_value64(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7value64_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_alias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_alias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_5alias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st[] = {
  {"operation", __pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_operation, __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_operation, 0, 0},
  {"address", __pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_address, __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_address, 0, 0},
  {"value", __pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_value, __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_value, 0, 0},
  {"value64", __pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_value64, __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_value64, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_flags, __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_flags, 0, 0},
  {"alias", __pyx_getprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_alias, __pyx_setprop_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_alias, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpWriteValueParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\naddress : CUdeviceptr\n\nvalue : cuuint32_t\n\nvalue64 : cuuint64_t\n\nflags : unsigned int\n\nalias : CUdeviceptr\n    For driver internal use. Initial value is unimportant.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st_spec = {
  "cuda.bindings.driver.CUstreamMemOpWriteValueParams_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamMemOpWriteValueParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUstreamMemOpWriteValueParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\naddress : CUdeviceptr\n\nvalue : cuuint32_t\n\nvalue64 : cuuint64_t\n\nflags : unsigned int\n\nalias : CUdeviceptr\n    For driver internal use. Initial value is unimportant.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st[] = {
  {"operation", __pyx_getprop_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_operation, __pyx_setprop_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_operation, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_flags, __pyx_setprop_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpFlushRemoteWritesParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\nflags : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st_spec = {
  "cuda.bindings.driver.CUstreamMemOpFlushRemoteWritesParams_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamMemOpFlushRemoteWritesParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUstreamMemOpFlushRemoteWritesParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\nflags : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st[] = {
  {"operation", __pyx_getprop_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_operation, __pyx_setprop_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_operation, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_flags, __pyx_setprop_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpMemoryBarrierParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n    < Only supported in the _v2 API\nflags : unsigned int\n    See CUstreamMemoryBarrier_flags\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st_spec = {
  "cuda.bindings.driver.CUstreamMemOpMemoryBarrierParams_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamMemOpMemoryBarrierParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUstreamMemOpMemoryBarrierParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n    < Only supported in the _v2 API\nflags : unsigned int\n    See CUstreamMemoryBarrier_flags\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)o);
  p->_waitValue = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)Py_None); Py_INCREF(Py_None);
  p->_writeValue = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)Py_None); Py_INCREF(Py_None);
  p->_flushRemoteWrites = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)Py_None); Py_INCREF(Py_None);
  p->_memoryBarrier = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_waitValue);
  Py_CLEAR(p->_writeValue);
  Py_CLEAR(p->_flushRemoteWrites);
  Py_CLEAR(p->_memoryBarrier);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_waitValue) {
    e = (*v)(((PyObject *)p->_waitValue), a); if (e) return e;
  }
  if (p->_writeValue) {
    e = (*v)(((PyObject *)p->_writeValue), a); if (e) return e;
  }
  if (p->_flushRemoteWrites) {
    e = (*v)(((PyObject *)p->_flushRemoteWrites), a); if (e) return e;
  }
  if (p->_memoryBarrier) {
    e = (*v)(((PyObject *)p->_memoryBarrier), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)o;
  tmp = ((PyObject*)p->_waitValue);
  p->_waitValue = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_writeValue);
  p->_writeValue = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_flushRemoteWrites);
  p->_flushRemoteWrites = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memoryBarrier);
  p->_memoryBarrier = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_waitValue(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_waitValue(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9waitValue_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_writeValue(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_writeValue(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10writeValue_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_flushRemoteWrites(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_flushRemoteWrites(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_memoryBarrier(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_memoryBarrier(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13memoryBarrier_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_pad(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_pad(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3pad_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union[] = {
  {"operation", __pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_operation, __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_operation, 0, 0},
  {"waitValue", __pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_waitValue, __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_waitValue, 0, 0},
  {"writeValue", __pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_writeValue, __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_writeValue, 0, 0},
  {"flushRemoteWrites", __pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_flushRemoteWrites, __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_flushRemoteWrites, 0, 0},
  {"memoryBarrier", __pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_memoryBarrier, __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_memoryBarrier, 0, 0},
  {"pad", __pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_pad, __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_pad, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamBatchMemOpParams_union(void_ptr _ptr=0)\n\nPer-operation parameters for cuStreamBatchMemOp\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\nwaitValue : CUstreamMemOpWaitValueParams_st\n\nwriteValue : CUstreamMemOpWriteValueParams_st\n\nflushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\nmemoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\npad : list[cuuint64_t]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union_spec = {
  "cuda.bindings.driver.CUstreamBatchMemOpParams_union",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamBatchMemOpParams_union", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUstreamBatchMemOpParams_union(void_ptr _ptr=0)\n\nPer-operation parameters for cuStreamBatchMemOp\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\nwaitValue : CUstreamMemOpWaitValueParams_st\n\nwriteValue : CUstreamMemOpWriteValueParams_st\n\nflushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\nmemoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\npad : list[cuuint64_t]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)o;
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_count(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_count(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_paramArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_paramArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st[] = {
  {"ctx", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_ctx, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_ctx, 0, 0},
  {"count", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_count, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_count, 0, 0},
  {"paramArray", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_paramArray, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_paramArray, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_flags, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(void_ptr _ptr=0)\n\nAttributes\n----------\nctx : CUcontext\n\ncount : unsigned int\n\nparamArray : CUstreamBatchMemOpParams\n\nflags : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_spec = {
  "cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(void_ptr _ptr=0)\n\nAttributes\n----------\nctx : CUcontext\n\ncount : unsigned int\n\nparamArray : CUstreamBatchMemOpParams\n\nflags : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_count(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_count(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_paramArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_paramArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st[] = {
  {"ctx", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_ctx, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_ctx, 0, 0},
  {"count", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_count, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_count, 0, 0},
  {"paramArray", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_paramArray, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_paramArray, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_flags, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nBatch memory operation node parameters\n\nAttributes\n----------\nctx : CUcontext\n    Context to use for the operations.\ncount : unsigned int\n    Number of operations in paramArray.\nparamArray : CUstreamBatchMemOpParams\n    Array of batch memory operations.\nflags : unsigned int\n    Flags to control the node.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_spec = {
  "cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nBatch memory operation node parameters\n\nAttributes\n----------\nctx : CUcontext\n    Context to use for the operations.\ncount : unsigned int\n    Number of operations in paramArray.\nparamArray : CUstreamBatchMemOpParams\n    Array of batch memory operations.\nflags : unsigned int\n    Flags to control the node.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct0(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct0(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct0) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct0_bytesOverBudget(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct0_bytesOverBudget(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_15bytesOverBudget_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct0[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct0_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct0_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct0_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct0[] = {
  {"bytesOverBudget", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct0_bytesOverBudget, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct0_bytesOverBudget, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct0_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct0},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct0(void_ptr _ptr)\n\nAttributes\n----------\nbytesOverBudget : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct0},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct0},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct0_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct0},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct0_spec = {
  "cuda.bindings.driver.anon_struct0",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct0_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct0 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct0", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct0, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct0(void_ptr _ptr)\n\nAttributes\n----------\nbytesOverBudget : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct0, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct0_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct0, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union2(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)o);
  p->_overBudget = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11anon_union2_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union2(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union2) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11anon_union2_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_overBudget);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union2(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_overBudget) {
    e = (*v)(((PyObject *)p->_overBudget), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union2(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)o;
  tmp = ((PyObject*)p->_overBudget);
  p->_overBudget = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct0 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union2_overBudget(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union2_10overBudget_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union2_overBudget(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union2_10overBudget_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union2[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union2_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union2_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union2_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union2_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union2[] = {
  {"overBudget", __pyx_getprop_4cuda_8bindings_6driver_11anon_union2_overBudget, __pyx_setprop_4cuda_8bindings_6driver_11anon_union2_overBudget, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union2},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union2_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union2(void_ptr _ptr)\n\nAttributes\n----------\noverBudget : anon_struct0\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union2},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union2},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union2},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union2},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union2_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union2},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union2_spec = {
  "cuda.bindings.driver.anon_union2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union2, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11anon_union2_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union2(void_ptr _ptr)\n\nAttributes\n----------\noverBudget : anon_struct0\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union2, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union2, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union2, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union2, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11anon_union2_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union2, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUasyncNotificationInfo_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)o);
  p->_info = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncNotificationInfo_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncNotificationInfo_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_info);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUasyncNotificationInfo_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_info) {
    e = (*v)(((PyObject *)p->_info), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUasyncNotificationInfo_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st *)o;
  tmp = ((PyObject*)p->_info);
  p->_info = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_info(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_info(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_4info_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUasyncNotificationInfo_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUasyncNotificationInfo_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_type, __pyx_setprop_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_type, 0, 0},
  {"info", __pyx_getprop_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_info, __pyx_setprop_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_info, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUasyncNotificationInfo_st(void_ptr _ptr=0)\n\nInformation passed to the user via the async notification callback\n\nAttributes\n----------\ntype : CUasyncNotificationType\n    The type of notification being sent\ninfo : anon_union2\n    Information about the notification. `typename` must be checked in\n    order to interpret this field.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st_spec = {
  "cuda.bindings.driver.CUasyncNotificationInfo_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUasyncNotificationInfo_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUasyncNotificationInfo_st(void_ptr _ptr=0)\n\nInformation passed to the user via the async notification callback\n\nAttributes\n----------\ntype : CUasyncNotificationType\n    The type of notification being sent\ninfo : anon_union2\n    Information about the notification. `typename` must be checked in\n    order to interpret this field.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevprop_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevprop_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevprop_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_maxThreadsPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_maxThreadsPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_18maxThreadsPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_maxThreadsDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_maxThreadsDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13maxThreadsDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_maxGridSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_maxGridSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11maxGridSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_sharedMemPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_sharedMemPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_17sharedMemPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_totalConstantMemory(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_totalConstantMemory(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_19totalConstantMemory_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_SIMDWidth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_SIMDWidth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9SIMDWidth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_memPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_memPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_8memPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_regsPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_regsPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12regsPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_clockRate(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_clockRate(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9clockRate_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_textureAlign(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_textureAlign(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_12textureAlign_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdevprop_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUdevprop_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUdevprop_st[] = {
  {"maxThreadsPerBlock", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_maxThreadsPerBlock, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_maxThreadsPerBlock, 0, 0},
  {"maxThreadsDim", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_maxThreadsDim, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_maxThreadsDim, 0, 0},
  {"maxGridSize", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_maxGridSize, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_maxGridSize, 0, 0},
  {"sharedMemPerBlock", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_sharedMemPerBlock, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_sharedMemPerBlock, 0, 0},
  {"totalConstantMemory", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_totalConstantMemory, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_totalConstantMemory, 0, 0},
  {"SIMDWidth", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_SIMDWidth, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_SIMDWidth, 0, 0},
  {"memPitch", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_memPitch, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_memPitch, 0, 0},
  {"regsPerBlock", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_regsPerBlock, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_regsPerBlock, 0, 0},
  {"clockRate", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_clockRate, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_clockRate, 0, 0},
  {"textureAlign", __pyx_getprop_4cuda_8bindings_6driver_12CUdevprop_st_textureAlign, __pyx_setprop_4cuda_8bindings_6driver_12CUdevprop_st_textureAlign, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevprop_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevprop_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevprop_st(void_ptr _ptr=0)\n\nLegacy device properties\n\nAttributes\n----------\nmaxThreadsPerBlock : int\n    Maximum number of threads per block\nmaxThreadsDim : list[int]\n    Maximum size of each dimension of a block\nmaxGridSize : list[int]\n    Maximum size of each dimension of a grid\nsharedMemPerBlock : int\n    Shared memory available per block in bytes\ntotalConstantMemory : int\n    Constant memory available on device in bytes\nSIMDWidth : int\n    Warp size in threads\nmemPitch : int\n    Maximum pitch in bytes allowed by memory copies\nregsPerBlock : int\n    32-bit registers available per block\nclockRate : int\n    Clock frequency in kilohertz\ntextureAlign : int\n    Alignment requirement for textures\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdevprop_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUdevprop_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevprop_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevprop_st_spec = {
  "cuda.bindings.driver.CUdevprop_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUdevprop_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevprop_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevprop_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevprop_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUdevprop_st(void_ptr _ptr=0)\n\nLegacy device properties\n\nAttributes\n----------\nmaxThreadsPerBlock : int\n    Maximum number of threads per block\nmaxThreadsDim : list[int]\n    Maximum size of each dimension of a block\nmaxGridSize : list[int]\n    Maximum size of each dimension of a grid\nsharedMemPerBlock : int\n    Shared memory available per block in bytes\ntotalConstantMemory : int\n    Constant memory available on device in bytes\nSIMDWidth : int\n    Warp size in threads\nmemPitch : int\n    Maximum pitch in bytes allowed by memory copies\nregsPerBlock : int\n    32-bit registers available per block\nclockRate : int\n    Clock frequency in kilohertz\ntextureAlign : int\n    Alignment requirement for textures\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdevprop_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUdevprop_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevprop_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUaccessPolicyWindow_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUaccessPolicyWindow_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUaccessPolicyWindow_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_base_ptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_base_ptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8base_ptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_num_bytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_num_bytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9num_bytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_hitRatio(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_hitRatio(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8hitRatio_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_hitProp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_hitProp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7hitProp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_missProp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_missProp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_8missProp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUaccessPolicyWindow_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUaccessPolicyWindow_st[] = {
  {"base_ptr", __pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_base_ptr, __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_base_ptr, 0, 0},
  {"num_bytes", __pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_num_bytes, __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_num_bytes, 0, 0},
  {"hitRatio", __pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_hitRatio, __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_hitRatio, 0, 0},
  {"hitProp", __pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_hitProp, __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_hitProp, 0, 0},
  {"missProp", __pyx_getprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_missProp, __pyx_setprop_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_missProp, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUaccessPolicyWindow_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUaccessPolicyWindow_st(void_ptr _ptr=0)\n\nSpecifies an access policy for a window, a contiguous extent of\nmemory beginning at base_ptr and ending at base_ptr + num_bytes.\nnum_bytes is limited by\nCU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into\nmany segments and assign segments such that: sum of \"hit segments\"\n/ window == approx. ratio. sum of \"miss segments\" / window ==\napprox 1-ratio. Segments and ratio specifications are fitted to the\ncapabilities of the architecture. Accesses in a hit segment apply\nthe hitProp access policy. Accesses in a miss segment apply the\nmissProp access policy.\n\nAttributes\n----------\nbase_ptr : Any\n    Starting address of the access policy window. CUDA driver may align\n    it.\nnum_bytes : size_t\n    Size in bytes of the window policy. CUDA driver may restrict the\n    maximum size and alignment.\nhitRatio : float\n    hitRatio specifies percentage of lines assigned hitProp, rest are\n    assigned missProp.\nhitProp : CUaccessProperty\n    CUaccessProperty set for hit.\nmissProp : CUaccessProperty\n    CUaccessProperty set for miss. Must be either NORMAL or STREAMING\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUaccessPolicyWindow_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUaccessPolicyWindow_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUaccessPolicyWindow_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st_spec = {
  "cuda.bindings.driver.CUaccessPolicyWindow_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUaccessPolicyWindow_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUaccessPolicyWindow_st(void_ptr _ptr=0)\n\nSpecifies an access policy for a window, a contiguous extent of\nmemory beginning at base_ptr and ending at base_ptr + num_bytes.\nnum_bytes is limited by\nCU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into\nmany segments and assign segments such that: sum of \"hit segments\"\n/ window == approx. ratio. sum of \"miss segments\" / window ==\napprox 1-ratio. Segments and ratio specifications are fitted to the\ncapabilities of the architecture. Accesses in a hit segment apply\nthe hitProp access policy. Accesses in a miss segment apply the\nmissProp access policy.\n\nAttributes\n----------\nbase_ptr : Any\n    Starting address of the access policy window. CUDA driver may align\n    it.\nnum_bytes : size_t\n    Size in bytes of the window policy. CUDA driver may restrict the\n    maximum size and alignment.\nhitRatio : float\n    hitRatio specifies percentage of lines assigned hitProp, rest are\n    assigned missProp.\nhitProp : CUaccessProperty\n    CUaccessProperty set for hit.\nmissProp : CUaccessProperty\n    CUaccessProperty set for miss. Must be either NORMAL or STREAMING\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)Py_None); Py_INCREF(Py_None);
  p->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_func);
  Py_CLEAR(p->_cykernelParams);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_func) {
    e = (*v)(((PyObject *)p->_func), a); if (e) return e;
  }
  if (p->_cykernelParams) {
    e = (*v)(((PyObject *)p->_cykernelParams), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_func);
  p->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cykernelParams);
  p->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_func(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_func(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_4func_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_extra(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_extra(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_5extra_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st[] = {
  {"func", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_func, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_func, 0, 0},
  {"gridDimX", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimX, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimX, 0, 0},
  {"gridDimY", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimY, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimY, 0, 0},
  {"gridDimZ", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimZ, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_gridDimZ, 0, 0},
  {"blockDimX", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimX, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimX, 0, 0},
  {"blockDimY", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimY, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimY, 0, 0},
  {"blockDimZ", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimZ, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_blockDimZ, 0, 0},
  {"sharedMemBytes", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_sharedMemBytes, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_sharedMemBytes, 0, 0},
  {"kernelParams", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_kernelParams, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_kernelParams, 0, 0},
  {"extra", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_extra, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_extra, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_KERNEL_NODE_PARAMS_st(void_ptr _ptr=0)\n\nGPU kernel node parameters\n\nAttributes\n----------\nfunc : CUfunction\n    Kernel to launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nkernelParams : Any\n    Array of pointers to kernel parameters\nextra : Any\n    Extra options\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_KERNEL_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_KERNEL_NODE_PARAMS_st(void_ptr _ptr=0)\n\nGPU kernel node parameters\n\nAttributes\n----------\nfunc : CUfunction\n    Kernel to launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nkernelParams : Any\n    Array of pointers to kernel parameters\nextra : Any\n    Extra options\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)Py_None); Py_INCREF(Py_None);
  p->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  p->_kern = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)Py_None); Py_INCREF(Py_None);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_func);
  Py_CLEAR(p->_cykernelParams);
  Py_CLEAR(p->_kern);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_func) {
    e = (*v)(((PyObject *)p->_func), a); if (e) return e;
  }
  if (p->_cykernelParams) {
    e = (*v)(((PyObject *)p->_cykernelParams), a); if (e) return e;
  }
  if (p->_kern) {
    e = (*v)(((PyObject *)p->_kern), a); if (e) return e;
  }
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_func);
  p->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cykernelParams);
  p->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_kern);
  p->_kern = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_func(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_func(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_extra(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_extra(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_kern(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_kern(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st[] = {
  {"func", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_func, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_func, 0, 0},
  {"gridDimX", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimX, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimX, 0, 0},
  {"gridDimY", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimY, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimY, 0, 0},
  {"gridDimZ", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimZ, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimZ, 0, 0},
  {"blockDimX", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimX, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimX, 0, 0},
  {"blockDimY", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimY, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimY, 0, 0},
  {"blockDimZ", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimZ, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimZ, 0, 0},
  {"sharedMemBytes", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_sharedMemBytes, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_sharedMemBytes, 0, 0},
  {"kernelParams", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_kernelParams, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_kernelParams, 0, 0},
  {"extra", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_extra, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_extra, 0, 0},
  {"kern", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_kern, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_kern, 0, 0},
  {"ctx", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_ctx, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_ctx, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_KERNEL_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nGPU kernel node parameters\n\nAttributes\n----------\nfunc : CUfunction\n    Kernel to launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nkernelParams : Any\n    Array of pointers to kernel parameters\nextra : Any\n    Extra options\nkern : CUkernel\n    Kernel to launch, will only be referenced if func is NULL\nctx : CUcontext\n    Context for the kernel task to run in. The value NULL will indicate\n    the current context should be used by the api. This field is\n    ignored if func is set.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st_spec = {
  "cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_KERNEL_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_KERNEL_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nGPU kernel node parameters\n\nAttributes\n----------\nfunc : CUfunction\n    Kernel to launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nkernelParams : Any\n    Array of pointers to kernel parameters\nextra : Any\n    Extra options\nkern : CUkernel\n    Kernel to launch, will only be referenced if func is NULL\nctx : CUcontext\n    Context for the kernel task to run in. The value NULL will indicate\n    the current context should be used by the api. This field is\n    ignored if func is set.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)Py_None); Py_INCREF(Py_None);
  p->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  p->_kern = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)Py_None); Py_INCREF(Py_None);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_func);
  Py_CLEAR(p->_cykernelParams);
  Py_CLEAR(p->_kern);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_func) {
    e = (*v)(((PyObject *)p->_func), a); if (e) return e;
  }
  if (p->_cykernelParams) {
    e = (*v)(((PyObject *)p->_cykernelParams), a); if (e) return e;
  }
  if (p->_kern) {
    e = (*v)(((PyObject *)p->_kern), a); if (e) return e;
  }
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st *)o;
  tmp = ((PyObject*)p->_func);
  p->_func = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cykernelParams);
  p->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_kern);
  p->_kern = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_func(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_func(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_extra(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_extra(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_kern(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_kern(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st[] = {
  {"func", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_func, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_func, 0, 0},
  {"gridDimX", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimX, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimX, 0, 0},
  {"gridDimY", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimY, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimY, 0, 0},
  {"gridDimZ", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimZ, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimZ, 0, 0},
  {"blockDimX", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimX, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimX, 0, 0},
  {"blockDimY", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimY, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimY, 0, 0},
  {"blockDimZ", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimZ, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimZ, 0, 0},
  {"sharedMemBytes", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_sharedMemBytes, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_sharedMemBytes, 0, 0},
  {"kernelParams", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_kernelParams, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_kernelParams, 0, 0},
  {"extra", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_extra, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_extra, 0, 0},
  {"kern", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_kern, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_kern, 0, 0},
  {"ctx", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_ctx, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_ctx, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_KERNEL_NODE_PARAMS_v3_st(void_ptr _ptr=0)\n\nGPU kernel node parameters\n\nAttributes\n----------\nfunc : CUfunction\n    Kernel to launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nkernelParams : Any\n    Array of pointers to kernel parameters\nextra : Any\n    Extra options\nkern : CUkernel\n    Kernel to launch, will only be referenced if func is NULL\nctx : CUcontext\n    Context for the kernel task to run in. The value NULL will indicate\n    the current context should be used by the api. This field is\n    ignored if func is set.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st_spec = {
  "cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_KERNEL_NODE_PARAMS_v3_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_KERNEL_NODE_PARAMS_v3_st(void_ptr _ptr=0)\n\nGPU kernel node parameters\n\nAttributes\n----------\nfunc : CUfunction\n    Kernel to launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nkernelParams : Any\n    Array of pointers to kernel parameters\nextra : Any\n    Extra options\nkern : CUkernel\n    Kernel to launch, will only be referenced if func is NULL\nctx : CUcontext\n    Context for the kernel task to run in. The value NULL will indicate\n    the current context should be used by the api. This field is\n    ignored if func is set.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_dst);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_dst) {
    e = (*v)(((PyObject *)p->_dst), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_dst);
  p->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_dst(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_dst(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3dst_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_elementSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_elementSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st[] = {
  {"dst", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_dst, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_dst, 0, 0},
  {"pitch", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_pitch, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_pitch, 0, 0},
  {"value", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_value, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_value, 0, 0},
  {"elementSize", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_elementSize, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_elementSize, 0, 0},
  {"width", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_width, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_width, 0, 0},
  {"height", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_height, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_height, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMSET_NODE_PARAMS_st(void_ptr _ptr=0)\n\nMemset node parameters\n\nAttributes\n----------\ndst : CUdeviceptr\n    Destination device pointer\npitch : size_t\n    Pitch of destination device pointer. Unused if height is 1\nvalue : unsigned int\n    Value to be set\nelementSize : unsigned int\n    Size of each element in bytes. Must be 1, 2, or 4.\nwidth : size_t\n    Width of the row in elements\nheight : size_t\n    Number of rows\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMSET_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEMSET_NODE_PARAMS_st(void_ptr _ptr=0)\n\nMemset node parameters\n\nAttributes\n----------\ndst : CUdeviceptr\n    Destination device pointer\npitch : size_t\n    Pitch of destination device pointer. Unused if height is 1\nvalue : unsigned int\n    Value to be set\nelementSize : unsigned int\n    Size of each element in bytes. Must be 1, 2, or 4.\nwidth : size_t\n    Width of the row in elements\nheight : size_t\n    Number of rows\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_dst);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_dst) {
    e = (*v)(((PyObject *)p->_dst), a); if (e) return e;
  }
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_dst);
  p->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_dst(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_dst(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_elementSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_elementSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st[] = {
  {"dst", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_dst, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_dst, 0, 0},
  {"pitch", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_pitch, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_pitch, 0, 0},
  {"value", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_value, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_value, 0, 0},
  {"elementSize", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_elementSize, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_elementSize, 0, 0},
  {"width", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_width, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_width, 0, 0},
  {"height", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_height, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_height, 0, 0},
  {"ctx", __pyx_getprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_ctx, __pyx_setprop_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_ctx, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMSET_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nMemset node parameters\n\nAttributes\n----------\ndst : CUdeviceptr\n    Destination device pointer\npitch : size_t\n    Pitch of destination device pointer. Unused if height is 1\nvalue : unsigned int\n    Value to be set\nelementSize : unsigned int\n    Size of each element in bytes. Must be 1, 2, or 4.\nwidth : size_t\n    Width of the row in elements\nheight : size_t\n    Number of rows\nctx : CUcontext\n    Context on which to run the node\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st_spec = {
  "cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMSET_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEMSET_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nMemset node parameters\n\nAttributes\n----------\ndst : CUdeviceptr\n    Destination device pointer\npitch : size_t\n    Pitch of destination device pointer. Unused if height is 1\nvalue : unsigned int\n    Value to be set\nelementSize : unsigned int\n    Size of each element in bytes. Must be 1, 2, or 4.\nwidth : size_t\n    Width of the row in elements\nheight : size_t\n    Number of rows\nctx : CUcontext\n    Context on which to run the node\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_fn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_fn);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_fn) {
    e = (*v)(((PyObject *)p->_fn), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_fn);
  p->_fn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_fn(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_fn(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_2fn_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_userData(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_userData(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_8userData_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st[] = {
  {"fn", __pyx_getprop_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_fn, __pyx_setprop_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_fn, 0, 0},
  {"userData", __pyx_getprop_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_userData, __pyx_setprop_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_userData, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_HOST_NODE_PARAMS_st(void_ptr _ptr=0)\n\nHost node parameters\n\nAttributes\n----------\nfn : CUhostFn\n    The function to call when the node executes\nuserData : Any\n    Argument to pass to the function\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_HOST_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_HOST_NODE_PARAMS_st(void_ptr _ptr=0)\n\nHost node parameters\n\nAttributes\n----------\nfn : CUhostFn\n    The function to call when the node executes\nuserData : Any\n    Argument to pass to the function\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_fn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_fn);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_fn) {
    e = (*v)(((PyObject *)p->_fn), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_fn);
  p->_fn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUhostFn *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_fn(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_fn(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_userData(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_userData(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st[] = {
  {"fn", __pyx_getprop_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_fn, __pyx_setprop_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_fn, 0, 0},
  {"userData", __pyx_getprop_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_userData, __pyx_setprop_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_userData, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_HOST_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nHost node parameters\n\nAttributes\n----------\nfn : CUhostFn\n    The function to call when the node executes\nuserData : Any\n    Argument to pass to the function\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st_spec = {
  "cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_HOST_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_HOST_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nHost node parameters\n\nAttributes\n----------\nfn : CUhostFn\n    The function to call when the node executes\nuserData : Any\n    Argument to pass to the function\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)Py_None); Py_INCREF(Py_None);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_handle);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_handle) {
    e = (*v)(((PyObject *)p->_handle), a); if (e) return e;
  }
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)o;
  tmp = ((PyObject*)p->_handle);
  p->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_phGraph_out(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out_1__get__(o);
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS[] = {
  {"handle", __pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_handle, __pyx_setprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_handle, 0, 0},
  {"type", __pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_type, __pyx_setprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_type, 0, 0},
  {"size", __pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_size, __pyx_setprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_size, 0, 0},
  {"phGraph_out", __pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_phGraph_out, 0, 0, 0},
  {"ctx", __pyx_getprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_ctx, __pyx_setprop_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_ctx, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_CONDITIONAL_NODE_PARAMS(void_ptr _ptr=0)\n\nConditional node parameters\n\nAttributes\n----------\nhandle : CUgraphConditionalHandle\n    Conditional node handle. Handles must be created in advance of\n    creating the node using cuGraphConditionalHandleCreate.\ntype : CUgraphConditionalNodeType\n    Type of conditional node.\nsize : unsigned int\n    Size of graph output array. Allowed values are 1 for\n    CU_GRAPH_COND_TYPE_WHILE, 1 or 2 for CU_GRAPH_COND_TYPE_IF, or any\n    value greater than zero for CU_GRAPH_COND_TYPE_SWITCH.\nphGraph_out : CUgraph\n    CUDA-owned array populated with conditional node child graphs\n    during creation of the node. Valid for the lifetime of the\n    conditional node. The contents of the graph(s) are subject to the\n    following constraints:   - Allowed node types are kernel nodes,\n    empty nodes, child graphs, memsets, memcopies, and conditionals.\n    This applies recursively to child graphs and conditional bodies.\n    - All kernels, including kernels in nested conditionals or child\n    graphs at any level, must belong to the same CUDA context.\n    These graphs may be populated using graph node creation APIs or\n    cuStreamBeginCaptureToGraph.  CU_GRAPH_COND_TYPE_IF: phGraph_out[0]\n    is executed when the condition is non-zero. If `size` == 2,\n    phGraph_out[1] will be executed when the condition is zero.\n    CU_GRAPH_COND_TYPE_WHILE: phGraph_out[0] is executed as long as the\n    condition is non-zero. CU_GRAPH_COND_TYPE_SWITCH: phGraph_out[n] is\n    executed when the condition is equal to n. If the condition >=\n    `size`, no body graph is executed.\nctx : CUcontext\n    Context on which to run the node. Must match context used to create\n    the handle and all body nodes.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_CONDITIONAL_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_CONDITIONAL_NODE_PARAMS(void_ptr _ptr=0)\n\nConditional node parameters\n\nAttributes\n----------\nhandle : CUgraphConditionalHandle\n    Conditional node handle. Handles must be created in advance of\n    creating the node using cuGraphConditionalHandleCreate.\ntype : CUgraphConditionalNodeType\n    Type of conditional node.\nsize : unsigned int\n    Size of graph output array. Allowed values are 1 for\n    CU_GRAPH_COND_TYPE_WHILE, 1 or 2 for CU_GRAPH_COND_TYPE_IF, or any\n    value greater than zero for CU_GRAPH_COND_TYPE_SWITCH.\nphGraph_out : CUgraph\n    CUDA-owned array populated with conditional node child graphs\n    during creation of the node. Valid for the lifetime of the\n    conditional node. The contents of the graph(s) are subject to the\n    following constraints:   - Allowed node types are kernel nodes,\n    empty nodes, child graphs, memsets, memcopies, and conditionals.\n    This applies recursively to child graphs and conditional bodies.\n    - All kernels, including kernels in nested conditionals or child\n    graphs at any level, must belong to the same CUDA context.\n    These graphs may be populated using graph node creation APIs or\n    cuStreamBeginCaptureToGraph.  CU_GRAPH_COND_TYPE_IF: phGraph_out[0]\n    is executed when the condition is non-zero. If `size` == 2,\n    phGraph_out[1] will be executed when the condition is zero.\n    CU_GRAPH_COND_TYPE_WHILE: phGraph_out[0] is executed as long as the\n    condition is non-zero. CU_GRAPH_COND_TYPE_SWITCH: phGraph_out[n] is\n    executed when the condition is equal to n. If the condition >=\n    `size`, no body graph is executed.\nctx : CUcontext\n    Context on which to run the node. Must match context used to create\n    the handle and all body nodes.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphEdgeData_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphEdgeData_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphEdgeData_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_from_port(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_from_port(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9from_port_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_to_port(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_to_port(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7to_port_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraphEdgeData_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUgraphEdgeData_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUgraphEdgeData_st[] = {
  {"from_port", __pyx_getprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_from_port, __pyx_setprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_from_port, 0, 0},
  {"to_port", __pyx_getprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_to_port, __pyx_setprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_to_port, 0, 0},
  {"type", __pyx_getprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_type, __pyx_setprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_type, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_18CUgraphEdgeData_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphEdgeData_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphEdgeData_st(void_ptr _ptr=0)\n\nOptional annotation for edges in a CUDA graph. Note, all edges\nimplicitly have annotations and default to a zero-initialized value\nif not specified. A zero-initialized struct indicates a standard\nfull serialization of two nodes with memory visibility.\n\nAttributes\n----------\nfrom_port : bytes\n    This indicates when the dependency is triggered from the upstream\n    node on the edge. The meaning is specfic to the node type. A value\n    of 0 in all cases means full completion of the upstream node, with\n    memory visibility to the downstream node or portion thereof\n    (indicated by `to_port`).   Only kernel nodes define non-zero\n    ports. A kernel node can use the following output port types:\n    CU_GRAPH_KERNEL_NODE_PORT_DEFAULT,\n    CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC, or\n    CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER.\nto_port : bytes\n    This indicates what portion of the downstream node is dependent on\n    the upstream node or portion thereof (indicated by `from_port`).\n    The meaning is specific to the node type. A value of 0 in all cases\n    means the entirety of the downstream node is dependent on the\n    upstream work.   Currently no node types define non-zero ports.\n    Accordingly, this field must be set to zero.\ntype : bytes\n    This should be populated with a value from CUgraphDependencyType.\n    (It is typed as char due to compiler-specific layout of bitfields.)\n    See CUgraphDependencyType.\nreserved : bytes\n    These bytes are unused and must be zeroed. This ensures\n    compatibility if additional fields are added in the future.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraphEdgeData_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUgraphEdgeData_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphEdgeData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st_spec = {
  "cuda.bindings.driver.CUgraphEdgeData_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphEdgeData_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphEdgeData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUgraphEdgeData_st(void_ptr _ptr=0)\n\nOptional annotation for edges in a CUDA graph. Note, all edges\nimplicitly have annotations and default to a zero-initialized value\nif not specified. A zero-initialized struct indicates a standard\nfull serialization of two nodes with memory visibility.\n\nAttributes\n----------\nfrom_port : bytes\n    This indicates when the dependency is triggered from the upstream\n    node on the edge. The meaning is specfic to the node type. A value\n    of 0 in all cases means full completion of the upstream node, with\n    memory visibility to the downstream node or portion thereof\n    (indicated by `to_port`).   Only kernel nodes define non-zero\n    ports. A kernel node can use the following output port types:\n    CU_GRAPH_KERNEL_NODE_PORT_DEFAULT,\n    CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC, or\n    CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER.\nto_port : bytes\n    This indicates what portion of the downstream node is dependent on\n    the upstream node or portion thereof (indicated by `from_port`).\n    The meaning is specific to the node type. A value of 0 in all cases\n    means the entirety of the downstream node is dependent on the\n    upstream work.   Currently no node types define non-zero ports.\n    Accordingly, this field must be set to zero.\ntype : bytes\n    This should be populated with a value from CUgraphDependencyType.\n    (It is typed as char due to compiler-specific layout of bitfields.)\n    See CUgraphDependencyType.\nreserved : bytes\n    These bytes are unused and must be zeroed. This ensures\n    compatibility if additional fields are added in the future.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraphEdgeData_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUgraphEdgeData_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphEdgeData_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_flags = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  p->_hUploadStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)Py_None); Py_INCREF(Py_None);
  p->_hErrNode_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_flags);
  Py_CLEAR(p->_hUploadStream);
  Py_CLEAR(p->_hErrNode_out);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_flags) {
    e = (*v)(((PyObject *)p->_flags), a); if (e) return e;
  }
  if (p->_hUploadStream) {
    e = (*v)(((PyObject *)p->_hUploadStream), a); if (e) return e;
  }
  if (p->_hErrNode_out) {
    e = (*v)(((PyObject *)p->_hErrNode_out), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_flags);
  p->_flags = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_hUploadStream);
  p->_hUploadStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_hErrNode_out);
  p->_hErrNode_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hUploadStream(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hUploadStream(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hErrNode_out(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hErrNode_out(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_result_out(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_result_out(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st[] = {
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_flags, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_flags, 0, 0},
  {"hUploadStream", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hUploadStream, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hUploadStream, 0, 0},
  {"hErrNode_out", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hErrNode_out, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hErrNode_out, 0, 0},
  {"result_out", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_result_out, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_result_out, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_GRAPH_INSTANTIATE_PARAMS_st(void_ptr _ptr=0)\n\nGraph instantiation parameters\n\nAttributes\n----------\nflags : cuuint64_t\n    Instantiation flags\nhUploadStream : CUstream\n    Upload stream\nhErrNode_out : CUgraphNode\n    The node which caused instantiation to fail, if any\nresult_out : CUgraphInstantiateResult\n    Whether instantiation was successful. If it failed, the reason why\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_GRAPH_INSTANTIATE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_GRAPH_INSTANTIATE_PARAMS_st(void_ptr _ptr=0)\n\nGraph instantiation parameters\n\nAttributes\n----------\nflags : cuuint64_t\n    Instantiation flags\nhUploadStream : CUstream\n    Upload stream\nhErrNode_out : CUgraphNode\n    The node which caused instantiation to fail, if any\nresult_out : CUgraphInstantiateResult\n    Whether instantiation was successful. If it failed, the reason why\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_default_(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_default_(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_8default__3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_remote(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_remote(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6remote_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st[] = {
  {"default_", __pyx_getprop_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_default_, __pyx_setprop_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_default_, 0, 0},
  {"remote", __pyx_getprop_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_remote, __pyx_setprop_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_remote, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlaunchMemSyncDomainMap_st(void_ptr _ptr=0)\n\nMemory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.\nBy default, kernels are launched in domain 0. Kernel launched with\nCU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE will have a different domain ID.\nUser may also alter the domain ID with CUlaunchMemSyncDomainMap for\na specific stream / graph node / kernel launch. See\nCU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.  Domain ID range is\navailable through CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT.\n\nAttributes\n----------\ndefault_ : bytes\n    The default domain ID to use for designated kernels\nremote : bytes\n    The remote domain ID to use for designated kernels\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st_spec = {
  "cuda.bindings.driver.CUlaunchMemSyncDomainMap_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlaunchMemSyncDomainMap_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUlaunchMemSyncDomainMap_st(void_ptr _ptr=0)\n\nMemory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.\nBy default, kernels are launched in domain 0. Kernel launched with\nCU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE will have a different domain ID.\nUser may also alter the domain ID with CUlaunchMemSyncDomainMap for\na specific stream / graph node / kernel launch. See\nCU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.  Domain ID range is\navailable through CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT.\n\nAttributes\n----------\ndefault_ : bytes\n    The default domain ID to use for designated kernels\nremote : bytes\n    The remote domain ID to use for designated kernels\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct1) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct1_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1x_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct1_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct1_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1y_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct1_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct1_z(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1z_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct1_z(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_1z_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct1[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct1_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct1_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct1[] = {
  {"x", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct1_x, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct1_x, 0, 0},
  {"y", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct1_y, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct1_y, 0, 0},
  {"z", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct1_z, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct1_z, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct1(void_ptr _ptr)\n\nAttributes\n----------\nx : unsigned int\n\ny : unsigned int\n\nz : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct1},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct1},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct1_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct1_spec = {
  "cuda.bindings.driver.anon_struct1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct1(void_ptr _ptr)\n\nAttributes\n----------\nx : unsigned int\n\ny : unsigned int\n\nz : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct1, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct1, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct1_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct1, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct2(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)o);
  p->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct2(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct2) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_event);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct2(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct2(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct2_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct2_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct2_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct2_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct2_triggerAtBlockStart(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct2_triggerAtBlockStart(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_19triggerAtBlockStart_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct2[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct2_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct2_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct2_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct2[] = {
  {"event", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct2_event, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct2_event, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct2_flags, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct2_flags, 0, 0},
  {"triggerAtBlockStart", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct2_triggerAtBlockStart, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct2_triggerAtBlockStart, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct2},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct2(void_ptr _ptr)\n\nAttributes\n----------\nevent : CUevent\n\nflags : int\n\ntriggerAtBlockStart : int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct2},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct2},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct2},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct2},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct2_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct2},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct2_spec = {
  "cuda.bindings.driver.anon_struct2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct2, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct2(void_ptr _ptr)\n\nAttributes\n----------\nevent : CUevent\n\nflags : int\n\ntriggerAtBlockStart : int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct2, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct2, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct2, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct2, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct2_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct2, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct3(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)o);
  p->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct3(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct3) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_event);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct3(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct3(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct3_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct3_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct3_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct3_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct3[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct3_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct3_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct3_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct3[] = {
  {"event", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct3_event, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct3_event, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct3_flags, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct3_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct3_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct3},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct3(void_ptr _ptr)\n\nAttributes\n----------\nevent : CUevent\n\nflags : int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct3},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct3},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct3},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct3},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct3_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct3},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct3_spec = {
  "cuda.bindings.driver.anon_struct3",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct3_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct3 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct3", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct3, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct3(void_ptr _ptr)\n\nAttributes\n----------\nevent : CUevent\n\nflags : int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct3, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct3, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct3, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct3, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct3_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct3, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct4(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct4(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct4) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct4_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1x_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct4_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct4_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1y_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct4_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct4_z(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1z_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct4_z(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_1z_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct4[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct4_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct4_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct4_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct4[] = {
  {"x", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct4_x, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct4_x, 0, 0},
  {"y", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct4_y, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct4_y, 0, 0},
  {"z", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct4_z, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct4_z, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct4_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct4},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct4(void_ptr _ptr)\n\nAttributes\n----------\nx : unsigned int\n\ny : unsigned int\n\nz : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct4},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct4},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct4_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct4},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct4_spec = {
  "cuda.bindings.driver.anon_struct4",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct4_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct4 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct4", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct4, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct4(void_ptr _ptr)\n\nAttributes\n----------\nx : unsigned int\n\ny : unsigned int\n\nz : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct4, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct4, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct4_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct4, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct5(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)o);
  p->_devNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct5(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct5) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_devNode);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct5(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_devNode) {
    e = (*v)(((PyObject *)p->_devNode), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct5(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)o;
  tmp = ((PyObject*)p->_devNode);
  p->_devNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphDeviceNode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct5_deviceUpdatable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct5_deviceUpdatable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_15deviceUpdatable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct5_devNode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7devNode_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct5_devNode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7devNode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct5[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct5_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct5_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct5_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct5[] = {
  {"deviceUpdatable", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct5_deviceUpdatable, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct5_deviceUpdatable, 0, 0},
  {"devNode", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct5_devNode, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct5_devNode, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct5_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct5},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct5(void_ptr _ptr)\n\nAttributes\n----------\ndeviceUpdatable : int\n\ndevNode : CUgraphDeviceNode\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct5},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct5},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct5},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct5},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct5_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct5},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct5_spec = {
  "cuda.bindings.driver.anon_struct5",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct5_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct5 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct5", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct5, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct5(void_ptr _ptr)\n\nAttributes\n----------\ndeviceUpdatable : int\n\ndevNode : CUgraphDeviceNode\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct5, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct5, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct5, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct5, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct5_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct5, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)o);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  p->_clusterDim = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)Py_None); Py_INCREF(Py_None);
  p->_programmaticEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)Py_None); Py_INCREF(Py_None);
  p->_launchCompletionEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)Py_None); Py_INCREF(Py_None);
  p->_memSyncDomainMap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap *)Py_None); Py_INCREF(Py_None);
  p->_preferredClusterDim = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)Py_None); Py_INCREF(Py_None);
  p->_deviceUpdatableKernelNode = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_accessPolicyWindow);
  Py_CLEAR(p->_clusterDim);
  Py_CLEAR(p->_programmaticEvent);
  Py_CLEAR(p->_launchCompletionEvent);
  Py_CLEAR(p->_memSyncDomainMap);
  Py_CLEAR(p->_preferredClusterDim);
  Py_CLEAR(p->_deviceUpdatableKernelNode);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_accessPolicyWindow) {
    e = (*v)(((PyObject *)p->_accessPolicyWindow), a); if (e) return e;
  }
  if (p->_clusterDim) {
    e = (*v)(((PyObject *)p->_clusterDim), a); if (e) return e;
  }
  if (p->_programmaticEvent) {
    e = (*v)(((PyObject *)p->_programmaticEvent), a); if (e) return e;
  }
  if (p->_launchCompletionEvent) {
    e = (*v)(((PyObject *)p->_launchCompletionEvent), a); if (e) return e;
  }
  if (p->_memSyncDomainMap) {
    e = (*v)(((PyObject *)p->_memSyncDomainMap), a); if (e) return e;
  }
  if (p->_preferredClusterDim) {
    e = (*v)(((PyObject *)p->_preferredClusterDim), a); if (e) return e;
  }
  if (p->_deviceUpdatableKernelNode) {
    e = (*v)(((PyObject *)p->_deviceUpdatableKernelNode), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)o;
  tmp = ((PyObject*)p->_accessPolicyWindow);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_clusterDim);
  p->_clusterDim = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct1 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_programmaticEvent);
  p->_programmaticEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_launchCompletionEvent);
  p->_launchCompletionEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct3 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memSyncDomainMap);
  p->_memSyncDomainMap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_preferredClusterDim);
  p->_preferredClusterDim = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct4 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_deviceUpdatableKernelNode);
  p->_deviceUpdatableKernelNode = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct5 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_pad(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_pad(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3pad_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_accessPolicyWindow(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_accessPolicyWindow(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_18accessPolicyWindow_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_cooperative(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_cooperative(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11cooperative_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_syncPolicy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_syncPolicy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10syncPolicy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_clusterDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_clusterDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10clusterDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_clusterSchedulingPolicyPreference(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_clusterSchedulingPolicyPreference(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_programmaticStreamSerializationAllowed(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_programmaticStreamSerializationAllowed(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_programmaticEvent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_programmaticEvent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17programmaticEvent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_launchCompletionEvent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_launchCompletionEvent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_21launchCompletionEvent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_priority(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_priority(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_8priority_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_memSyncDomainMap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_memSyncDomainMap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_16memSyncDomainMap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_memSyncDomain(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_memSyncDomain(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13memSyncDomain_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_preferredClusterDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_preferredClusterDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_19preferredClusterDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_deviceUpdatableKernelNode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_deviceUpdatableKernelNode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_sharedMemCarveout(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_sharedMemCarveout(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_17sharedMemCarveout_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlaunchAttributeValue_union[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUlaunchAttributeValue_union[] = {
  {"pad", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_pad, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_pad, 0, 0},
  {"accessPolicyWindow", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_accessPolicyWindow, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_accessPolicyWindow, 0, 0},
  {"cooperative", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_cooperative, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_cooperative, 0, 0},
  {"syncPolicy", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_syncPolicy, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_syncPolicy, 0, 0},
  {"clusterDim", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_clusterDim, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_clusterDim, 0, 0},
  {"clusterSchedulingPolicyPreference", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_clusterSchedulingPolicyPreference, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_clusterSchedulingPolicyPreference, 0, 0},
  {"programmaticStreamSerializationAllowed", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_programmaticStreamSerializationAllowed, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_programmaticStreamSerializationAllowed, 0, 0},
  {"programmaticEvent", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_programmaticEvent, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_programmaticEvent, 0, 0},
  {"launchCompletionEvent", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_launchCompletionEvent, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_launchCompletionEvent, 0, 0},
  {"priority", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_priority, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_priority, 0, 0},
  {"memSyncDomainMap", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_memSyncDomainMap, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_memSyncDomainMap, 0, 0},
  {"memSyncDomain", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_memSyncDomain, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_memSyncDomain, 0, 0},
  {"preferredClusterDim", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_preferredClusterDim, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_preferredClusterDim, 0, 0},
  {"deviceUpdatableKernelNode", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_deviceUpdatableKernelNode, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_deviceUpdatableKernelNode, 0, 0},
  {"sharedMemCarveout", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_sharedMemCarveout, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_sharedMemCarveout, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlaunchAttributeValue_union(void_ptr _ptr=0)\n\nLaunch attributes union; used as value field of CUlaunchAttribute\n\nAttributes\n----------\npad : bytes\n\naccessPolicyWindow : CUaccessPolicyWindow\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\ncooperative : int\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n    indicates a cooperative kernel (see cuLaunchCooperativeKernel).\nsyncPolicy : CUsynchronizationPolicy\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n    ::CUsynchronizationPolicy for work queued up in this stream\nclusterDim : anon_struct1\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n    that represents the desired cluster dimensions for the kernel.\n    Opaque type with the following fields: - `x` - The X dimension of\n    the cluster, in blocks. Must be a divisor of the grid X dimension.\n    - `y` - The Y dimension of the cluster, in blocks. Must be a\n    divisor of the grid Y dimension.    - `z` - The Z dimension of the\n    cluster, in blocks. Must be a divisor of the grid Z dimension.\nclusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n    scheduling policy preference for the kernel.\nprogrammaticStreamSerializationAllowed : int\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\nprogrammaticEvent : anon_struct2\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n    with the following fields: - `CUevent` event - Event to fire when\n    all blocks trigger it.    - `Event` record flags, see\n    cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n    - `triggerAtBlockStart` - If this is set to non-0, each block\n    launch will automatically trigger the event.\nlaunchCompletionEvent : anon_struct3\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_LAU""NCH_COMPLETION_EVENT with the following\n    fields: - `CUevent` event - Event to fire when the last block\n    launches    - `int` flags; - Event record flags, see\n    cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\npriority : int\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n    priority of the kernel.\nmemSyncDomainMap : CUlaunchMemSyncDomainMap\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n    See CUlaunchMemSyncDomainMap.\nmemSyncDomain : CUlaunchMemSyncDomain\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n    See::CUlaunchMemSyncDomain\npreferredClusterDim : anon_struct4\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n    desired preferred cluster dimensions for the kernel. Opaque type\n    with the following fields: - `x` - The X dimension of the preferred\n    cluster, in blocks. Must be a divisor of the grid X dimension, and\n    must be a multiple of the `x` field of\n    CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n    the preferred cluster, in blocks. Must be a divisor of the grid Y\n    dimension, and must be a multiple of the `y` field of\n    CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n    the preferred cluster, in blocks. Must be equal to the `z` field of\n    CUlaunchAttributeValue::clusterDim.\ndeviceUpdatableKernelNode : anon_struct5\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n    following fields: - `int` deviceUpdatable - Whether or not the\n    resulting kernel node should be device-updatable.    -\n    `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n    various device-side update functions.\nsharedMemCarveout : unsigned int\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union_spec = {
  "cuda.bindings.driver.CUlaunchAttributeValue_union",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlaunchAttributeValue_union", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUlaunchAttributeValue_union(void_ptr _ptr=0)\n\nLaunch attributes union; used as value field of CUlaunchAttribute\n\nAttributes\n----------\npad : bytes\n\naccessPolicyWindow : CUaccessPolicyWindow\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\ncooperative : int\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n    indicates a cooperative kernel (see cuLaunchCooperativeKernel).\nsyncPolicy : CUsynchronizationPolicy\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n    ::CUsynchronizationPolicy for work queued up in this stream\nclusterDim : anon_struct1\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n    that represents the desired cluster dimensions for the kernel.\n    Opaque type with the following fields: - `x` - The X dimension of\n    the cluster, in blocks. Must be a divisor of the grid X dimension.\n    - `y` - The Y dimension of the cluster, in blocks. Must be a\n    divisor of the grid Y dimension.    - `z` - The Z dimension of the\n    cluster, in blocks. Must be a divisor of the grid Z dimension.\nclusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n    scheduling policy preference for the kernel.\nprogrammaticStreamSerializationAllowed : int\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\nprogrammaticEvent : anon_struct2\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n    with the following fields: - `CUevent` event - Event to fire when\n    all blocks trigger it.    - `Event` record flags, see\n    cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n    - `triggerAtBlockStart` - If this is set to non-0, each block\n    launch will automatically trigger the event.\nlaunchCompletionEvent : anon_struct3\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_LAU""NCH_COMPLETION_EVENT with the following\n    fields: - `CUevent` event - Event to fire when the last block\n    launches    - `int` flags; - Event record flags, see\n    cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\npriority : int\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n    priority of the kernel.\nmemSyncDomainMap : CUlaunchMemSyncDomainMap\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n    See CUlaunchMemSyncDomainMap.\nmemSyncDomain : CUlaunchMemSyncDomain\n    Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n    See::CUlaunchMemSyncDomain\npreferredClusterDim : anon_struct4\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n    desired preferred cluster dimensions for the kernel. Opaque type\n    with the following fields: - `x` - The X dimension of the preferred\n    cluster, in blocks. Must be a divisor of the grid X dimension, and\n    must be a multiple of the `x` field of\n    CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n    the preferred cluster, in blocks. Must be a divisor of the grid Y\n    dimension, and must be a multiple of the `y` field of\n    CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n    the preferred cluster, in blocks. Must be equal to the `z` field of\n    CUlaunchAttributeValue::clusterDim.\ndeviceUpdatableKernelNode : anon_struct5\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n    following fields: - `int` deviceUpdatable - Whether or not the\n    resulting kernel node should be device-updatable.    -\n    `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n    various device-side update functions.\nsharedMemCarveout : unsigned int\n    Value of launch attribute\n    CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttribute_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttribute_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttribute_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_value);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttribute_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_value) {
    e = (*v)(((PyObject *)p->_value), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttribute_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st *)o;
  tmp = ((PyObject*)p->_value);
  p->_value = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUlaunchAttribute_st_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUlaunchAttribute_st_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_2id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUlaunchAttribute_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUlaunchAttribute_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlaunchAttribute_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUlaunchAttribute_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUlaunchAttribute_st[] = {
  {"id", __pyx_getprop_4cuda_8bindings_6driver_20CUlaunchAttribute_st_id, __pyx_setprop_4cuda_8bindings_6driver_20CUlaunchAttribute_st_id, 0, 0},
  {"value", __pyx_getprop_4cuda_8bindings_6driver_20CUlaunchAttribute_st_value, __pyx_setprop_4cuda_8bindings_6driver_20CUlaunchAttribute_st_value, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlaunchAttribute_st(void_ptr _ptr=0)\n\nLaunch attribute\n\nAttributes\n----------\nid : CUlaunchAttributeID\n    Attribute to set\nvalue : CUlaunchAttributeValue\n    Value of the attribute\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st_spec = {
  "cuda.bindings.driver.CUlaunchAttribute_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlaunchAttribute_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUlaunchAttribute_st(void_ptr _ptr=0)\n\nLaunch attribute\n\nAttributes\n----------\nid : CUlaunchAttributeID\n    Attribute to set\nvalue : CUlaunchAttributeValue\n    Value of the attribute\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchConfig_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_hStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchConfig_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchConfig_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_hStream);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchConfig_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_hStream) {
    e = (*v)(((PyObject *)p->_hStream), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchConfig_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st *)o;
  tmp = ((PyObject*)p->_hStream);
  p->_hStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_hStream(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_hStream(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7hStream_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_attrs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_attrs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_5attrs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_numAttrs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_numAttrs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_8numAttrs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlaunchConfig_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUlaunchConfig_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUlaunchConfig_st[] = {
  {"gridDimX", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimX, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimX, 0, 0},
  {"gridDimY", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimY, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimY, 0, 0},
  {"gridDimZ", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimZ, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_gridDimZ, 0, 0},
  {"blockDimX", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimX, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimX, 0, 0},
  {"blockDimY", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimY, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimY, 0, 0},
  {"blockDimZ", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimZ, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_blockDimZ, 0, 0},
  {"sharedMemBytes", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_sharedMemBytes, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_sharedMemBytes, 0, 0},
  {"hStream", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_hStream, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_hStream, 0, 0},
  {"attrs", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_attrs, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_attrs, 0, 0},
  {"numAttrs", __pyx_getprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_numAttrs, __pyx_setprop_4cuda_8bindings_6driver_17CUlaunchConfig_st_numAttrs, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlaunchConfig_st(void_ptr _ptr=0)\n\nCUDA extensible launch configuration\n\nAttributes\n----------\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nhStream : CUstream\n    Stream identifier\nattrs : CUlaunchAttribute\n    List of attributes; nullable if CUlaunchConfig::numAttrs == 0\nnumAttrs : unsigned int\n    Number of attributes populated in CUlaunchConfig::attrs\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st_spec = {
  "cuda.bindings.driver.CUlaunchConfig_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlaunchConfig_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUlaunchConfig_st(void_ptr _ptr=0)\n\nCUDA extensible launch configuration\n\nAttributes\n----------\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nhStream : CUstream\n    Stream identifier\nattrs : CUlaunchAttribute\n    List of attributes; nullable if CUlaunchConfig::numAttrs == 0\nnumAttrs : unsigned int\n    Number of attributes populated in CUlaunchConfig::attrs\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinitySmCount_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinitySmCount_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinitySmCount_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_val(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_val(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3val_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUexecAffinitySmCount_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUexecAffinitySmCount_st[] = {
  {"val", __pyx_getprop_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_val, __pyx_setprop_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_val, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinitySmCount_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUexecAffinitySmCount_st(void_ptr _ptr=0)\n\nValue for CU_EXEC_AFFINITY_TYPE_SM_COUNT\n\nAttributes\n----------\nval : unsigned int\n    The number of SMs the context is limited to use.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUexecAffinitySmCount_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUexecAffinitySmCount_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinitySmCount_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st_spec = {
  "cuda.bindings.driver.CUexecAffinitySmCount_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUexecAffinitySmCount_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUexecAffinitySmCount_st(void_ptr _ptr=0)\n\nValue for CU_EXEC_AFFINITY_TYPE_SM_COUNT\n\nAttributes\n----------\nval : unsigned int\n    The number of SMs the context is limited to use.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union3(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)o);
  p->_smCount = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11anon_union3_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union3(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union3) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11anon_union3_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_smCount);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union3(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_smCount) {
    e = (*v)(((PyObject *)p->_smCount), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union3(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)o;
  tmp = ((PyObject*)p->_smCount);
  p->_smCount = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union3_smCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union3_7smCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union3_smCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union3_7smCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union3[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union3_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union3_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union3_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union3_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union3_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union3_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union3[] = {
  {"smCount", __pyx_getprop_4cuda_8bindings_6driver_11anon_union3_smCount, __pyx_setprop_4cuda_8bindings_6driver_11anon_union3_smCount, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union3_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union3},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union3_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union3(void_ptr _ptr)\n\nAttributes\n----------\nsmCount : CUexecAffinitySmCount\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union3},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union3},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union3},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union3},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union3_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union3},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union3_spec = {
  "cuda.bindings.driver.anon_union3",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union3_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union3 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union3", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union3), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union3, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11anon_union3_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union3(void_ptr _ptr)\n\nAttributes\n----------\nsmCount : CUexecAffinitySmCount\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union3, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union3, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union3, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union3, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11anon_union3_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union3, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinityParam_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)o);
  p->_param = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinityParam_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinityParam_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_param);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUexecAffinityParam_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_param) {
    e = (*v)(((PyObject *)p->_param), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUexecAffinityParam_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st *)o;
  tmp = ((PyObject*)p->_param);
  p->_param = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union3 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUexecAffinityParam_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUexecAffinityParam_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUexecAffinityParam_st_param(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUexecAffinityParam_st_param(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_5param_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUexecAffinityParam_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUexecAffinityParam_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUexecAffinityParam_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_22CUexecAffinityParam_st_type, __pyx_setprop_4cuda_8bindings_6driver_22CUexecAffinityParam_st_type, 0, 0},
  {"param", __pyx_getprop_4cuda_8bindings_6driver_22CUexecAffinityParam_st_param, __pyx_setprop_4cuda_8bindings_6driver_22CUexecAffinityParam_st_param, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUexecAffinityParam_st(void_ptr _ptr=0)\n\nExecution Affinity Parameters\n\nAttributes\n----------\ntype : CUexecAffinityType\n\nparam : anon_union3\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st_spec = {
  "cuda.bindings.driver.CUexecAffinityParam_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUexecAffinityParam_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUexecAffinityParam_st(void_ptr _ptr=0)\n\nExecution Affinity Parameters\n\nAttributes\n----------\ntype : CUexecAffinityType\n\nparam : anon_union3\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUctxCigParam_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCigParam_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCigParam_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUctxCigParam_st_sharedDataType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUctxCigParam_st_sharedDataType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_14sharedDataType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUctxCigParam_st_sharedData(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUctxCigParam_st_sharedData(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_10sharedData_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUctxCigParam_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUctxCigParam_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUctxCigParam_st[] = {
  {"sharedDataType", __pyx_getprop_4cuda_8bindings_6driver_16CUctxCigParam_st_sharedDataType, __pyx_setprop_4cuda_8bindings_6driver_16CUctxCigParam_st_sharedDataType, 0, 0},
  {"sharedData", __pyx_getprop_4cuda_8bindings_6driver_16CUctxCigParam_st_sharedData, __pyx_setprop_4cuda_8bindings_6driver_16CUctxCigParam_st_sharedData, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCigParam_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUctxCigParam_st(void_ptr _ptr=0)\n\nCIG Context Create Params\n\nAttributes\n----------\nsharedDataType : CUcigDataType\n\nsharedData : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUctxCigParam_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUctxCigParam_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUctxCigParam_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st_spec = {
  "cuda.bindings.driver.CUctxCigParam_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUctxCigParam_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCigParam_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUctxCigParam_st(void_ptr _ptr=0)\n\nCIG Context Create Params\n\nAttributes\n----------\nsharedDataType : CUcigDataType\n\nsharedData : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUctxCigParam_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUctxCigParam_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUctxCigParam_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUctxCreateParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCreateParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCreateParams_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_execAffinityParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_execAffinityParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_18execAffinityParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_numExecAffinityParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_numExecAffinityParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_21numExecAffinityParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_cigParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_cigParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9cigParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUctxCreateParams_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUctxCreateParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUctxCreateParams_st[] = {
  {"execAffinityParams", __pyx_getprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_execAffinityParams, __pyx_setprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_execAffinityParams, 0, 0},
  {"numExecAffinityParams", __pyx_getprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_numExecAffinityParams, __pyx_setprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_numExecAffinityParams, 0, 0},
  {"cigParams", __pyx_getprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_cigParams, __pyx_setprop_4cuda_8bindings_6driver_20CUctxCreateParams_st_cigParams, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCreateParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUctxCreateParams_st(void_ptr _ptr=0)\n\nParams for creating CUDA context Exactly one of execAffinityParams\nand cigParams must be non-NULL.\n\nAttributes\n----------\nexecAffinityParams : CUexecAffinityParam\n\nnumExecAffinityParams : int\n\ncigParams : CUctxCigParam\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUctxCreateParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUctxCreateParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUctxCreateParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st_spec = {
  "cuda.bindings.driver.CUctxCreateParams_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUctxCreateParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCreateParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUctxCreateParams_st(void_ptr _ptr=0)\n\nParams for creating CUDA context Exactly one of execAffinityParams\nand cigParams must be non-NULL.\n\nAttributes\n----------\nexecAffinityParams : CUexecAffinityParam\n\nnumExecAffinityParams : int\n\ncigParams : CUctxCigParam\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUctxCreateParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUctxCreateParams_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUctxCreateParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_functionTable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_functionTable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_functionWindowSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_functionWindowSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_dataTable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_dataTable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_dataWindowSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_dataWindowSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st[] = {
  {"functionTable", __pyx_getprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_functionTable, __pyx_setprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_functionTable, 0, 0},
  {"functionWindowSize", __pyx_getprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_functionWindowSize, __pyx_setprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_functionWindowSize, 0, 0},
  {"dataTable", __pyx_getprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_dataTable, __pyx_setprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_dataTable, 0, 0},
  {"dataWindowSize", __pyx_getprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_dataWindowSize, __pyx_setprop_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_dataWindowSize, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlibraryHostUniversalFunctionAndDataTable_st(void_ptr _ptr=0)\n\nAttributes\n----------\nfunctionTable : Any\n\nfunctionWindowSize : size_t\n\ndataTable : Any\n\ndataWindowSize : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st_spec = {
  "cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlibraryHostUniversalFunctionAndDataTable_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUlibraryHostUniversalFunctionAndDataTable_st(void_ptr _ptr=0)\n\nAttributes\n----------\nfunctionTable : Any\n\nfunctionWindowSize : size_t\n\ndataTable : Any\n\ndataWindowSize : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_srcDevice);
  Py_CLEAR(p->_srcArray);
  Py_CLEAR(p->_dstDevice);
  Py_CLEAR(p->_dstArray);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_srcDevice) {
    e = (*v)(((PyObject *)p->_srcDevice), a); if (e) return e;
  }
  if (p->_srcArray) {
    e = (*v)(((PyObject *)p->_srcArray), a); if (e) return e;
  }
  if (p->_dstDevice) {
    e = (*v)(((PyObject *)p->_dstDevice), a); if (e) return e;
  }
  if (p->_dstArray) {
    e = (*v)(((PyObject *)p->_dstArray), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st *)o;
  tmp = ((PyObject*)p->_srcDevice);
  p->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcArray);
  p->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstDevice);
  p->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstArray);
  p->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11srcXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4srcY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13srcMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7srcHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9srcDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8srcPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11dstXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_4dstY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13dstMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7dstHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9dstDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_8dstPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_WidthInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_WidthInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12WidthInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st[] = {
  {"srcXInBytes", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcXInBytes, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcXInBytes, 0, 0},
  {"srcY", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcY, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcY, 0, 0},
  {"srcMemoryType", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcMemoryType, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcMemoryType, 0, 0},
  {"srcHost", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcHost, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcHost, 0, 0},
  {"srcDevice", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcDevice, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcDevice, 0, 0},
  {"srcArray", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcArray, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcArray, 0, 0},
  {"srcPitch", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcPitch, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_srcPitch, 0, 0},
  {"dstXInBytes", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstXInBytes, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstXInBytes, 0, 0},
  {"dstY", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstY, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstY, 0, 0},
  {"dstMemoryType", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstMemoryType, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstMemoryType, 0, 0},
  {"dstHost", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstHost, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstHost, 0, 0},
  {"dstDevice", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstDevice, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstDevice, 0, 0},
  {"dstArray", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstArray, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstArray, 0, 0},
  {"dstPitch", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstPitch, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_dstPitch, 0, 0},
  {"WidthInBytes", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_WidthInBytes, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_WidthInBytes, 0, 0},
  {"Height", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_Height, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_Height, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY2D_st(void_ptr _ptr=0)\n\n2D memory copy parameters\n\nAttributes\n----------\nsrcXInBytes : size_t\n    Source X in bytes\nsrcY : size_t\n    Source Y\nsrcMemoryType : CUmemorytype\n    Source memory type (host, device, array)\nsrcHost : Any\n    Source host pointer\nsrcDevice : CUdeviceptr\n    Source device pointer\nsrcArray : CUarray\n    Source array reference\nsrcPitch : size_t\n    Source pitch (ignored when src is array)\ndstXInBytes : size_t\n    Destination X in bytes\ndstY : size_t\n    Destination Y\ndstMemoryType : CUmemorytype\n    Destination memory type (host, device, array)\ndstHost : Any\n    Destination host pointer\ndstDevice : CUdeviceptr\n    Destination device pointer\ndstArray : CUarray\n    Destination array reference\ndstPitch : size_t\n    Destination pitch (ignored when dst is array)\nWidthInBytes : size_t\n    Width of 2D memory copy in bytes\nHeight : size_t\n    Height of 2D memory copy\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY2D_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY2D_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEMCPY2D_st(void_ptr _ptr=0)\n\n2D memory copy parameters\n\nAttributes\n----------\nsrcXInBytes : size_t\n    Source X in bytes\nsrcY : size_t\n    Source Y\nsrcMemoryType : CUmemorytype\n    Source memory type (host, device, array)\nsrcHost : Any\n    Source host pointer\nsrcDevice : CUdeviceptr\n    Source device pointer\nsrcArray : CUarray\n    Source array reference\nsrcPitch : size_t\n    Source pitch (ignored when src is array)\ndstXInBytes : size_t\n    Destination X in bytes\ndstY : size_t\n    Destination Y\ndstMemoryType : CUmemorytype\n    Destination memory type (host, device, array)\ndstHost : Any\n    Destination host pointer\ndstDevice : CUdeviceptr\n    Destination device pointer\ndstArray : CUarray\n    Destination array reference\ndstPitch : size_t\n    Destination pitch (ignored when dst is array)\nWidthInBytes : size_t\n    Width of 2D memory copy in bytes\nHeight : size_t\n    Height of 2D memory copy\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_srcDevice);
  Py_CLEAR(p->_srcArray);
  Py_CLEAR(p->_dstDevice);
  Py_CLEAR(p->_dstArray);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_srcDevice) {
    e = (*v)(((PyObject *)p->_srcDevice), a); if (e) return e;
  }
  if (p->_srcArray) {
    e = (*v)(((PyObject *)p->_srcArray), a); if (e) return e;
  }
  if (p->_dstDevice) {
    e = (*v)(((PyObject *)p->_dstDevice), a); if (e) return e;
  }
  if (p->_dstArray) {
    e = (*v)(((PyObject *)p->_dstArray), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st *)o;
  tmp = ((PyObject*)p->_srcDevice);
  p->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcArray);
  p->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstDevice);
  p->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstArray);
  p->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11srcXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4srcZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcLOD(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcLOD(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6srcLOD_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13srcMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7srcHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_reserved0(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_reserved0(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved0_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8srcPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9srcHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11dstXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_4dstZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstLOD(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstLOD(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6dstLOD_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13dstMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7dstHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_reserved1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_reserved1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9reserved1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_8dstPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9dstHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_WidthInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_WidthInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12WidthInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_Depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_Depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_5Depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st[] = {
  {"srcXInBytes", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcXInBytes, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcXInBytes, 0, 0},
  {"srcY", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcY, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcY, 0, 0},
  {"srcZ", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcZ, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcZ, 0, 0},
  {"srcLOD", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcLOD, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcLOD, 0, 0},
  {"srcMemoryType", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcMemoryType, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcMemoryType, 0, 0},
  {"srcHost", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcHost, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcHost, 0, 0},
  {"srcDevice", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcDevice, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcDevice, 0, 0},
  {"srcArray", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcArray, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcArray, 0, 0},
  {"reserved0", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_reserved0, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_reserved0, 0, 0},
  {"srcPitch", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcPitch, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcPitch, 0, 0},
  {"srcHeight", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcHeight, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_srcHeight, 0, 0},
  {"dstXInBytes", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstXInBytes, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstXInBytes, 0, 0},
  {"dstY", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstY, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstY, 0, 0},
  {"dstZ", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstZ, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstZ, 0, 0},
  {"dstLOD", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstLOD, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstLOD, 0, 0},
  {"dstMemoryType", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstMemoryType, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstMemoryType, 0, 0},
  {"dstHost", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstHost, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstHost, 0, 0},
  {"dstDevice", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstDevice, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstDevice, 0, 0},
  {"dstArray", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstArray, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstArray, 0, 0},
  {"reserved1", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_reserved1, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_reserved1, 0, 0},
  {"dstPitch", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstPitch, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstPitch, 0, 0},
  {"dstHeight", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstHeight, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_dstHeight, 0, 0},
  {"WidthInBytes", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_WidthInBytes, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_WidthInBytes, 0, 0},
  {"Height", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_Height, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_Height, 0, 0},
  {"Depth", __pyx_getprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_Depth, __pyx_setprop_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_Depth, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY3D_st(void_ptr _ptr=0)\n\n3D memory copy parameters\n\nAttributes\n----------\nsrcXInBytes : size_t\n    Source X in bytes\nsrcY : size_t\n    Source Y\nsrcZ : size_t\n    Source Z\nsrcLOD : size_t\n    Source LOD\nsrcMemoryType : CUmemorytype\n    Source memory type (host, device, array)\nsrcHost : Any\n    Source host pointer\nsrcDevice : CUdeviceptr\n    Source device pointer\nsrcArray : CUarray\n    Source array reference\nreserved0 : Any\n    Must be NULL\nsrcPitch : size_t\n    Source pitch (ignored when src is array)\nsrcHeight : size_t\n    Source height (ignored when src is array; may be 0 if Depth==1)\ndstXInBytes : size_t\n    Destination X in bytes\ndstY : size_t\n    Destination Y\ndstZ : size_t\n    Destination Z\ndstLOD : size_t\n    Destination LOD\ndstMemoryType : CUmemorytype\n    Destination memory type (host, device, array)\ndstHost : Any\n    Destination host pointer\ndstDevice : CUdeviceptr\n    Destination device pointer\ndstArray : CUarray\n    Destination array reference\nreserved1 : Any\n    Must be NULL\ndstPitch : size_t\n    Destination pitch (ignored when dst is array)\ndstHeight : size_t\n    Destination height (ignored when dst is array; may be 0 if\n    Depth==1)\nWidthInBytes : size_t\n    Width of 3D memory copy in bytes\nHeight : size_t\n    Height of 3D memory copy\nDepth : size_t\n    Depth of 3D memory copy\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEMCPY3D_st(void_ptr _ptr=0)\n\n3D memory copy parameters\n\nAttributes\n----------\nsrcXInBytes : size_t\n    Source X in bytes\nsrcY : size_t\n    Source Y\nsrcZ : size_t\n    Source Z\nsrcLOD : size_t\n    Source LOD\nsrcMemoryType : CUmemorytype\n    Source memory type (host, device, array)\nsrcHost : Any\n    Source host pointer\nsrcDevice : CUdeviceptr\n    Source device pointer\nsrcArray : CUarray\n    Source array reference\nreserved0 : Any\n    Must be NULL\nsrcPitch : size_t\n    Source pitch (ignored when src is array)\nsrcHeight : size_t\n    Source height (ignored when src is array; may be 0 if Depth==1)\ndstXInBytes : size_t\n    Destination X in bytes\ndstY : size_t\n    Destination Y\ndstZ : size_t\n    Destination Z\ndstLOD : size_t\n    Destination LOD\ndstMemoryType : CUmemorytype\n    Destination memory type (host, device, array)\ndstHost : Any\n    Destination host pointer\ndstDevice : CUdeviceptr\n    Destination device pointer\ndstArray : CUarray\n    Destination array reference\nreserved1 : Any\n    Must be NULL\ndstPitch : size_t\n    Destination pitch (ignored when dst is array)\ndstHeight : size_t\n    Destination height (ignored when dst is array; may be 0 if\n    Depth==1)\nWidthInBytes : size_t\n    Width of 3D memory copy in bytes\nHeight : size_t\n    Height of 3D memory copy\nDepth : size_t\n    Depth of 3D memory copy\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_srcContext = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  p->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_dstContext = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_srcDevice);
  Py_CLEAR(p->_srcArray);
  Py_CLEAR(p->_srcContext);
  Py_CLEAR(p->_dstDevice);
  Py_CLEAR(p->_dstArray);
  Py_CLEAR(p->_dstContext);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_srcDevice) {
    e = (*v)(((PyObject *)p->_srcDevice), a); if (e) return e;
  }
  if (p->_srcArray) {
    e = (*v)(((PyObject *)p->_srcArray), a); if (e) return e;
  }
  if (p->_srcContext) {
    e = (*v)(((PyObject *)p->_srcContext), a); if (e) return e;
  }
  if (p->_dstDevice) {
    e = (*v)(((PyObject *)p->_dstDevice), a); if (e) return e;
  }
  if (p->_dstArray) {
    e = (*v)(((PyObject *)p->_dstArray), a); if (e) return e;
  }
  if (p->_dstContext) {
    e = (*v)(((PyObject *)p->_dstContext), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st *)o;
  tmp = ((PyObject*)p->_srcDevice);
  p->_srcDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcArray);
  p->_srcArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcContext);
  p->_srcContext = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstDevice);
  p->_dstDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstArray);
  p->_dstArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstContext);
  p->_dstContext = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4srcZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcLOD(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcLOD(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6srcLOD_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7srcHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcContext(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcContext(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10srcContext_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8srcPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9srcHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_4dstZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstLOD(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstLOD(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6dstLOD_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7dstHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstContext(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstContext(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10dstContext_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_8dstPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9dstHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_WidthInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_WidthInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_Depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_Depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_5Depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st[] = {
  {"srcXInBytes", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcXInBytes, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcXInBytes, 0, 0},
  {"srcY", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcY, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcY, 0, 0},
  {"srcZ", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcZ, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcZ, 0, 0},
  {"srcLOD", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcLOD, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcLOD, 0, 0},
  {"srcMemoryType", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcMemoryType, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcMemoryType, 0, 0},
  {"srcHost", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcHost, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcHost, 0, 0},
  {"srcDevice", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcDevice, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcDevice, 0, 0},
  {"srcArray", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcArray, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcArray, 0, 0},
  {"srcContext", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcContext, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcContext, 0, 0},
  {"srcPitch", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcPitch, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcPitch, 0, 0},
  {"srcHeight", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcHeight, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_srcHeight, 0, 0},
  {"dstXInBytes", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstXInBytes, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstXInBytes, 0, 0},
  {"dstY", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstY, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstY, 0, 0},
  {"dstZ", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstZ, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstZ, 0, 0},
  {"dstLOD", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstLOD, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstLOD, 0, 0},
  {"dstMemoryType", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstMemoryType, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstMemoryType, 0, 0},
  {"dstHost", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstHost, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstHost, 0, 0},
  {"dstDevice", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstDevice, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstDevice, 0, 0},
  {"dstArray", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstArray, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstArray, 0, 0},
  {"dstContext", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstContext, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstContext, 0, 0},
  {"dstPitch", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstPitch, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstPitch, 0, 0},
  {"dstHeight", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstHeight, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_dstHeight, 0, 0},
  {"WidthInBytes", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_WidthInBytes, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_WidthInBytes, 0, 0},
  {"Height", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_Height, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_Height, 0, 0},
  {"Depth", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_Depth, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_Depth, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY3D_PEER_st(void_ptr _ptr=0)\n\n3D memory cross-context copy parameters\n\nAttributes\n----------\nsrcXInBytes : size_t\n    Source X in bytes\nsrcY : size_t\n    Source Y\nsrcZ : size_t\n    Source Z\nsrcLOD : size_t\n    Source LOD\nsrcMemoryType : CUmemorytype\n    Source memory type (host, device, array)\nsrcHost : Any\n    Source host pointer\nsrcDevice : CUdeviceptr\n    Source device pointer\nsrcArray : CUarray\n    Source array reference\nsrcContext : CUcontext\n    Source context (ignored with srcMemoryType is CU_MEMORYTYPE_ARRAY)\nsrcPitch : size_t\n    Source pitch (ignored when src is array)\nsrcHeight : size_t\n    Source height (ignored when src is array; may be 0 if Depth==1)\ndstXInBytes : size_t\n    Destination X in bytes\ndstY : size_t\n    Destination Y\ndstZ : size_t\n    Destination Z\ndstLOD : size_t\n    Destination LOD\ndstMemoryType : CUmemorytype\n    Destination memory type (host, device, array)\ndstHost : Any\n    Destination host pointer\ndstDevice : CUdeviceptr\n    Destination device pointer\ndstArray : CUarray\n    Destination array reference\ndstContext : CUcontext\n    Destination context (ignored with dstMemoryType is\n    CU_MEMORYTYPE_ARRAY)\ndstPitch : size_t\n    Destination pitch (ignored when dst is array)\ndstHeight : size_t\n    Destination height (ignored when dst is array; may be 0 if\n    Depth==1)\nWidthInBytes : size_t\n    Width of 3D memory copy in bytes\nHeight : size_t\n    Height of 3D memory copy\nDepth : size_t\n    Depth of 3D memory copy\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D_PEER_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEMCPY3D_PEER_st(void_ptr _ptr=0)\n\n3D memory cross-context copy parameters\n\nAttributes\n----------\nsrcXInBytes : size_t\n    Source X in bytes\nsrcY : size_t\n    Source Y\nsrcZ : size_t\n    Source Z\nsrcLOD : size_t\n    Source LOD\nsrcMemoryType : CUmemorytype\n    Source memory type (host, device, array)\nsrcHost : Any\n    Source host pointer\nsrcDevice : CUdeviceptr\n    Source device pointer\nsrcArray : CUarray\n    Source array reference\nsrcContext : CUcontext\n    Source context (ignored with srcMemoryType is CU_MEMORYTYPE_ARRAY)\nsrcPitch : size_t\n    Source pitch (ignored when src is array)\nsrcHeight : size_t\n    Source height (ignored when src is array; may be 0 if Depth==1)\ndstXInBytes : size_t\n    Destination X in bytes\ndstY : size_t\n    Destination Y\ndstZ : size_t\n    Destination Z\ndstLOD : size_t\n    Destination LOD\ndstMemoryType : CUmemorytype\n    Destination memory type (host, device, array)\ndstHost : Any\n    Destination host pointer\ndstDevice : CUdeviceptr\n    Destination device pointer\ndstArray : CUarray\n    Destination array reference\ndstContext : CUcontext\n    Destination context (ignored with dstMemoryType is\n    CU_MEMORYTYPE_ARRAY)\ndstPitch : size_t\n    Destination pitch (ignored when dst is array)\ndstHeight : size_t\n    Destination height (ignored when dst is array; may be 0 if\n    Depth==1)\nWidthInBytes : size_t\n    Width of 3D memory copy in bytes\nHeight : size_t\n    Height of 3D memory copy\nDepth : size_t\n    Depth of 3D memory copy\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_copyCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  p->_copyParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_copyCtx);
  Py_CLEAR(p->_copyParams);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_copyCtx) {
    e = (*v)(((PyObject *)p->_copyCtx), a); if (e) return e;
  }
  if (p->_copyParams) {
    e = (*v)(((PyObject *)p->_copyParams), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_copyCtx);
  p->_copyCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_copyParams);
  p->_copyParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_copyCtx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_copyCtx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_copyParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_copyParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st[] = {
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_flags, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_reserved, 0, 0},
  {"copyCtx", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_copyCtx, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_copyCtx, 0, 0},
  {"copyParams", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_copyParams, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_copyParams, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY_NODE_PARAMS_st(void_ptr _ptr=0)\n\nMemcpy node parameters\n\nAttributes\n----------\nflags : int\n    Must be zero\nreserved : int\n    Must be zero\ncopyCtx : CUcontext\n    Context on which to run the node\ncopyParams : CUDA_MEMCPY3D\n    Parameters for the memory copy\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEMCPY_NODE_PARAMS_st(void_ptr _ptr=0)\n\nMemcpy node parameters\n\nAttributes\n----------\nflags : int\n    Must be zero\nreserved : int\n    Must be zero\ncopyCtx : CUcontext\n    Context on which to run the node\ncopyParams : CUDA_MEMCPY3D\n    Parameters for the memory copy\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_5Width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6Format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_NumChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_NumChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st[] = {
  {"Width", __pyx_getprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Width, __pyx_setprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Width, 0, 0},
  {"Height", __pyx_getprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Height, __pyx_setprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Height, 0, 0},
  {"Format", __pyx_getprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Format, __pyx_setprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_Format, 0, 0},
  {"NumChannels", __pyx_getprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_NumChannels, __pyx_setprop_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_NumChannels, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_ARRAY_DESCRIPTOR_st(void_ptr _ptr=0)\n\nArray descriptor\n\nAttributes\n----------\nWidth : size_t\n    Width of array\nHeight : size_t\n    Height of array\nFormat : CUarray_format\n    Array format\nNumChannels : unsigned int\n    Channels per array element\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_DESCRIPTOR_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_ARRAY_DESCRIPTOR_st(void_ptr _ptr=0)\n\nArray descriptor\n\nAttributes\n----------\nWidth : size_t\n    Width of array\nHeight : size_t\n    Height of array\nFormat : CUarray_format\n    Array format\nNumChannels : unsigned int\n    Channels per array element\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_NumChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_NumChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st[] = {
  {"Width", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Width, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Width, 0, 0},
  {"Height", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Height, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Height, 0, 0},
  {"Depth", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Depth, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Depth, 0, 0},
  {"Format", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Format, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Format, 0, 0},
  {"NumChannels", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_NumChannels, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_NumChannels, 0, 0},
  {"Flags", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Flags, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_Flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_ARRAY3D_DESCRIPTOR_st(void_ptr _ptr=0)\n\n3D array descriptor\n\nAttributes\n----------\nWidth : size_t\n    Width of 3D array\nHeight : size_t\n    Height of 3D array\nDepth : size_t\n    Depth of 3D array\nFormat : CUarray_format\n    Array format\nNumChannels : unsigned int\n    Channels per array element\nFlags : unsigned int\n    Flags\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st_spec = {
  "cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY3D_DESCRIPTOR_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_ARRAY3D_DESCRIPTOR_st(void_ptr _ptr=0)\n\n3D array descriptor\n\nAttributes\n----------\nWidth : size_t\n    Width of 3D array\nHeight : size_t\n    Height of 3D array\nDepth : size_t\n    Depth of 3D array\nFormat : CUarray_format\n    Array format\nNumChannels : unsigned int\n    Channels per array element\nFlags : unsigned int\n    Flags\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct6(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct6(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct6) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct6_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct6_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct6_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct6_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct6_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct6_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct6[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct6_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct6_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct6_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct6[] = {
  {"width", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct6_width, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct6_width, 0, 0},
  {"height", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct6_height, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct6_height, 0, 0},
  {"depth", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct6_depth, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct6_depth, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct6_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct6},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct6(void_ptr _ptr)\n\nAttributes\n----------\nwidth : unsigned int\n\nheight : unsigned int\n\ndepth : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct6},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct6},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct6_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct6},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct6_spec = {
  "cuda.bindings.driver.anon_struct6",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct6_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct6 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct6", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct6, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct6(void_ptr _ptr)\n\nAttributes\n----------\nwidth : unsigned int\n\nheight : unsigned int\n\ndepth : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct6, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct6, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct6_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct6, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_tileExtent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_tileExtent);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_tileExtent) {
    e = (*v)(((PyObject *)p->_tileExtent), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st *)o;
  tmp = ((PyObject*)p->_tileExtent);
  p->_tileExtent = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct6 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailFirstLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailFirstLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st[] = {
  {"tileExtent", __pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent, __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent, 0, 0},
  {"miptailFirstLevel", __pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailFirstLevel, __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailFirstLevel, 0, 0},
  {"miptailSize", __pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailSize, __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailSize, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_flags, __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_ARRAY_SPARSE_PROPERTIES_st(void_ptr _ptr=0)\n\nCUDA array sparse properties\n\nAttributes\n----------\ntileExtent : anon_struct6\n\nmiptailFirstLevel : unsigned int\n    First mip level at which the mip tail begins.\nmiptailSize : unsigned long long\n    Total size of the mip tail.\nflags : unsigned int\n    Flags will either be zero or\n    CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_SPARSE_PROPERTIES_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_ARRAY_SPARSE_PROPERTIES_st(void_ptr _ptr=0)\n\nCUDA array sparse properties\n\nAttributes\n----------\ntileExtent : anon_struct6\n\nmiptailFirstLevel : unsigned int\n    First mip level at which the mip tail begins.\nmiptailSize : unsigned long long\n    Total size of the mip tail.\nflags : unsigned int\n    Flags will either be zero or\n    CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_alignment(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_alignment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st[] = {
  {"size", __pyx_getprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_size, __pyx_setprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_size, 0, 0},
  {"alignment", __pyx_getprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_alignment, __pyx_setprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_alignment, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_ARRAY_MEMORY_REQUIREMENTS_st(void_ptr _ptr=0)\n\nCUDA array memory requirements\n\nAttributes\n----------\nsize : size_t\n    Total required memory size\nalignment : size_t\n    alignment requirement\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_MEMORY_REQUIREMENTS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_ARRAY_MEMORY_REQUIREMENTS_st(void_ptr _ptr=0)\n\nCUDA array memory requirements\n\nAttributes\n----------\nsize : size_t\n    Total required memory size\nalignment : size_t\n    alignment requirement\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct7(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)o);
  p->_hArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct7(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct7) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_hArray);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct7(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_hArray) {
    e = (*v)(((PyObject *)p->_hArray), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct7(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)o;
  tmp = ((PyObject*)p->_hArray);
  p->_hArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct7_hArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_6hArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct7_hArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_6hArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct7[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct7_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct7_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct7_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct7[] = {
  {"hArray", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct7_hArray, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct7_hArray, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct7_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct7},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct7(void_ptr _ptr)\n\nAttributes\n----------\nhArray : CUarray\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct7},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct7},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct7},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct7},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct7_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct7},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct7_spec = {
  "cuda.bindings.driver.anon_struct7",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct7_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct7 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct7", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct7, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct7(void_ptr _ptr)\n\nAttributes\n----------\nhArray : CUarray\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct7, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct7, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct7, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct7, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct7_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct7, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct8(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)o);
  p->_hMipmappedArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct8(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct8) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_hMipmappedArray);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct8(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_hMipmappedArray) {
    e = (*v)(((PyObject *)p->_hMipmappedArray), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct8(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)o;
  tmp = ((PyObject*)p->_hMipmappedArray);
  p->_hMipmappedArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct8_hMipmappedArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct8_hMipmappedArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_15hMipmappedArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct8[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct8_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct8_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct8_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct8[] = {
  {"hMipmappedArray", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct8_hMipmappedArray, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct8_hMipmappedArray, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct8_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct8},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct8(void_ptr _ptr)\n\nAttributes\n----------\nhMipmappedArray : CUmipmappedArray\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct8},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct8},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct8},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct8},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct8_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct8},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct8_spec = {
  "cuda.bindings.driver.anon_struct8",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct8_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct8 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct8", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct8, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct8(void_ptr _ptr)\n\nAttributes\n----------\nhMipmappedArray : CUmipmappedArray\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct8, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct8, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct8, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct8, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct8_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct8, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct9(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)o);
  p->_devPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct9(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct9) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_devPtr);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct9(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_devPtr) {
    e = (*v)(((PyObject *)p->_devPtr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct9(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)o;
  tmp = ((PyObject*)p->_devPtr);
  p->_devPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct9_devPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6devPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct9_devPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6devPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct9_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6format_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct9_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct9_numChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11numChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct9_numChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11numChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_struct9_sizeInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_struct9_sizeInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11sizeInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct9[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct9_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct9_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_struct9_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct9[] = {
  {"devPtr", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct9_devPtr, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct9_devPtr, 0, 0},
  {"format", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct9_format, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct9_format, 0, 0},
  {"numChannels", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct9_numChannels, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct9_numChannels, 0, 0},
  {"sizeInBytes", __pyx_getprop_4cuda_8bindings_6driver_12anon_struct9_sizeInBytes, __pyx_setprop_4cuda_8bindings_6driver_12anon_struct9_sizeInBytes, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct9_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct9},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct9(void_ptr _ptr)\n\nAttributes\n----------\ndevPtr : CUdeviceptr\n\nformat : CUarray_format\n\nnumChannels : unsigned int\n\nsizeInBytes : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct9},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct9},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct9},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct9},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_struct9_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct9},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct9_spec = {
  "cuda.bindings.driver.anon_struct9",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct9_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct9 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct9", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct9, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct9(void_ptr _ptr)\n\nAttributes\n----------\ndevPtr : CUdeviceptr\n\nformat : CUarray_format\n\nnumChannels : unsigned int\n\nsizeInBytes : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct9, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct9, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct9, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct9, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_struct9_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct9, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct10(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)o);
  p->_devPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct10(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct10) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_devPtr);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct10(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_devPtr) {
    e = (*v)(((PyObject *)p->_devPtr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct10(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)o;
  tmp = ((PyObject*)p->_devPtr);
  p->_devPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_devPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6devPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_devPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6devPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6format_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_numChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11numChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_numChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11numChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_pitchInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_pitchInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_12pitchInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct10[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct10_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct10_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct10_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct10[] = {
  {"devPtr", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_devPtr, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_devPtr, 0, 0},
  {"format", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_format, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_format, 0, 0},
  {"numChannels", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_numChannels, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_numChannels, 0, 0},
  {"width", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_width, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_width, 0, 0},
  {"height", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_height, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_height, 0, 0},
  {"pitchInBytes", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct10_pitchInBytes, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct10_pitchInBytes, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct10_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct10},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct10(void_ptr _ptr)\n\nAttributes\n----------\ndevPtr : CUdeviceptr\n\nformat : CUarray_format\n\nnumChannels : unsigned int\n\nwidth : size_t\n\nheight : size_t\n\npitchInBytes : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct10},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct10},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct10},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct10},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct10_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct10},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct10_spec = {
  "cuda.bindings.driver.anon_struct10",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct10_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct10 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct10", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct10, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct10(void_ptr _ptr)\n\nAttributes\n----------\ndevPtr : CUdeviceptr\n\nformat : CUarray_format\n\nnumChannels : unsigned int\n\nwidth : size_t\n\nheight : size_t\n\npitchInBytes : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct10, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct10, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct10, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct10, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct10_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct10, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct11(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct11(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct11) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct11_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct11_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct11[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct11_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct11_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct11_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct11[] = {
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct11_reserved, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct11_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct11_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct11},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct11(void_ptr _ptr)\n\nAttributes\n----------\nreserved : list[int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct11},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct11},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct11_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct11},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct11_spec = {
  "cuda.bindings.driver.anon_struct11",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct11_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct11 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct11", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct11, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct11(void_ptr _ptr)\n\nAttributes\n----------\nreserved : list[int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct11, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct11, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct11_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct11, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union4(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)o);
  p->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)Py_None); Py_INCREF(Py_None);
  p->_mipmap = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)Py_None); Py_INCREF(Py_None);
  p->_linear = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)Py_None); Py_INCREF(Py_None);
  p->_pitch2D = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)Py_None); Py_INCREF(Py_None);
  p->_reserved = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11anon_union4_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union4(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union4) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11anon_union4_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_array);
  Py_CLEAR(p->_mipmap);
  Py_CLEAR(p->_linear);
  Py_CLEAR(p->_pitch2D);
  Py_CLEAR(p->_reserved);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union4(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_array) {
    e = (*v)(((PyObject *)p->_array), a); if (e) return e;
  }
  if (p->_mipmap) {
    e = (*v)(((PyObject *)p->_mipmap), a); if (e) return e;
  }
  if (p->_linear) {
    e = (*v)(((PyObject *)p->_linear), a); if (e) return e;
  }
  if (p->_pitch2D) {
    e = (*v)(((PyObject *)p->_pitch2D), a); if (e) return e;
  }
  if (p->_reserved) {
    e = (*v)(((PyObject *)p->_reserved), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union4(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)o;
  tmp = ((PyObject*)p->_array);
  p->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct7 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_mipmap);
  p->_mipmap = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct8 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_linear);
  p->_linear = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct9 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_pitch2D);
  p->_pitch2D = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct10 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_reserved);
  p->_reserved = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct11 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union4_array(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_5array_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_array(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_5array_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union4_mipmap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_6mipmap_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_mipmap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_6mipmap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union4_linear(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_6linear_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_linear(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_6linear_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union4_pitch2D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_7pitch2D_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_pitch2D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_7pitch2D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union4_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union4_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union4[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union4_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union4_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union4_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union4_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union4_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union4_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union4[] = {
  {"array", __pyx_getprop_4cuda_8bindings_6driver_11anon_union4_array, __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_array, 0, 0},
  {"mipmap", __pyx_getprop_4cuda_8bindings_6driver_11anon_union4_mipmap, __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_mipmap, 0, 0},
  {"linear", __pyx_getprop_4cuda_8bindings_6driver_11anon_union4_linear, __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_linear, 0, 0},
  {"pitch2D", __pyx_getprop_4cuda_8bindings_6driver_11anon_union4_pitch2D, __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_pitch2D, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_11anon_union4_reserved, __pyx_setprop_4cuda_8bindings_6driver_11anon_union4_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union4_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union4},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union4_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union4(void_ptr _ptr)\n\nAttributes\n----------\narray : anon_struct7\n\nmipmap : anon_struct8\n\nlinear : anon_struct9\n\npitch2D : anon_struct10\n\nreserved : anon_struct11\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union4},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union4},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union4},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union4},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union4_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union4},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union4_spec = {
  "cuda.bindings.driver.anon_union4",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union4_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union4 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union4", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union4), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union4, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11anon_union4_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union4(void_ptr _ptr)\n\nAttributes\n----------\narray : anon_struct7\n\nmipmap : anon_struct8\n\nlinear : anon_struct9\n\npitch2D : anon_struct10\n\nreserved : anon_struct11\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union4, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union4, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union4, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union4, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11anon_union4_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union4, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)o);
  p->_res = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_res);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_res) {
    e = (*v)(((PyObject *)p->_res), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st *)o;
  tmp = ((PyObject*)p->_res);
  p->_res = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union4 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_resType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_resType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7resType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_res(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_res(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3res_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st[] = {
  {"resType", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_resType, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_resType, 0, 0},
  {"res", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_res, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_res, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_flags, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_RESOURCE_DESC_st(void_ptr _ptr=0)\n\nCUDA Resource descriptor\n\nAttributes\n----------\nresType : CUresourcetype\n    Resource type\nres : anon_union4\n\nflags : unsigned int\n    Flags (must be zero)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st_spec = {
  "cuda.bindings.driver.CUDA_RESOURCE_DESC_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_RESOURCE_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_RESOURCE_DESC_st(void_ptr _ptr=0)\n\nCUDA Resource descriptor\n\nAttributes\n----------\nresType : CUresourcetype\n    Resource type\nres : anon_union4\n\nflags : unsigned int\n    Flags (must be zero)\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_addressMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_addressMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11addressMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_filterMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_filterMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10filterMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_maxAnisotropy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_maxAnisotropy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_mipmapFilterMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_mipmapFilterMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_mipmapLevelBias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_mipmapLevelBias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_minMipmapLevelClamp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_minMipmapLevelClamp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_maxMipmapLevelClamp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_maxMipmapLevelClamp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_borderColor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_borderColor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11borderColor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st[] = {
  {"addressMode", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_addressMode, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_addressMode, 0, 0},
  {"filterMode", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_filterMode, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_filterMode, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_flags, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_flags, 0, 0},
  {"maxAnisotropy", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_maxAnisotropy, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_maxAnisotropy, 0, 0},
  {"mipmapFilterMode", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_mipmapFilterMode, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_mipmapFilterMode, 0, 0},
  {"mipmapLevelBias", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_mipmapLevelBias, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_mipmapLevelBias, 0, 0},
  {"minMipmapLevelClamp", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_minMipmapLevelClamp, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_minMipmapLevelClamp, 0, 0},
  {"maxMipmapLevelClamp", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_maxMipmapLevelClamp, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_maxMipmapLevelClamp, 0, 0},
  {"borderColor", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_borderColor, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_borderColor, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_TEXTURE_DESC_st(void_ptr _ptr=0)\n\nTexture descriptor\n\nAttributes\n----------\naddressMode : list[CUaddress_mode]\n    Address modes\nfilterMode : CUfilter_mode\n    Filter mode\nflags : unsigned int\n    Flags\nmaxAnisotropy : unsigned int\n    Maximum anisotropy ratio\nmipmapFilterMode : CUfilter_mode\n    Mipmap filter mode\nmipmapLevelBias : float\n    Mipmap level bias\nminMipmapLevelClamp : float\n    Mipmap minimum level clamp\nmaxMipmapLevelClamp : float\n    Mipmap maximum level clamp\nborderColor : list[float]\n    Border Color\nreserved : list[int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st_spec = {
  "cuda.bindings.driver.CUDA_TEXTURE_DESC_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_TEXTURE_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_TEXTURE_DESC_st(void_ptr _ptr=0)\n\nTexture descriptor\n\nAttributes\n----------\naddressMode : list[CUaddress_mode]\n    Address modes\nfilterMode : CUfilter_mode\n    Filter mode\nflags : unsigned int\n    Flags\nmaxAnisotropy : unsigned int\n    Maximum anisotropy ratio\nmipmapFilterMode : CUfilter_mode\n    Mipmap filter mode\nmipmapLevelBias : float\n    Mipmap level bias\nminMipmapLevelClamp : float\n    Mipmap minimum level clamp\nmaxMipmapLevelClamp : float\n    Mipmap maximum level clamp\nborderColor : list[float]\n    Border Color\nreserved : list[int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_firstMipmapLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_firstMipmapLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_lastMipmapLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_lastMipmapLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_firstLayer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_firstLayer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_lastLayer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_lastLayer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st[] = {
  {"format", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_format, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_format, 0, 0},
  {"width", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_width, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_width, 0, 0},
  {"height", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_height, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_height, 0, 0},
  {"depth", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_depth, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_depth, 0, 0},
  {"firstMipmapLevel", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_firstMipmapLevel, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_firstMipmapLevel, 0, 0},
  {"lastMipmapLevel", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_lastMipmapLevel, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_lastMipmapLevel, 0, 0},
  {"firstLayer", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_firstLayer, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_firstLayer, 0, 0},
  {"lastLayer", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_lastLayer, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_lastLayer, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_RESOURCE_VIEW_DESC_st(void_ptr _ptr=0)\n\nResource view descriptor\n\nAttributes\n----------\nformat : CUresourceViewFormat\n    Resource view format\nwidth : size_t\n    Width of the resource view\nheight : size_t\n    Height of the resource view\ndepth : size_t\n    Depth of the resource view\nfirstMipmapLevel : unsigned int\n    First defined mipmap level\nlastMipmapLevel : unsigned int\n    Last defined mipmap level\nfirstLayer : unsigned int\n    First layer index\nlastLayer : unsigned int\n    Last layer index\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st_spec = {
  "cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_RESOURCE_VIEW_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_RESOURCE_VIEW_DESC_st(void_ptr _ptr=0)\n\nResource view descriptor\n\nAttributes\n----------\nformat : CUresourceViewFormat\n    Resource view format\nwidth : size_t\n    Width of the resource view\nheight : size_t\n    Height of the resource view\ndepth : size_t\n    Depth of the resource view\nfirstMipmapLevel : unsigned int\n    First defined mipmap level\nlastMipmapLevel : unsigned int\n    Last defined mipmap level\nfirstLayer : unsigned int\n    First layer index\nlastLayer : unsigned int\n    Last layer index\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUtensorMap_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtensorMap_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtensorMap_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_14CUtensorMap_st_opaque(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_14CUtensorMap_st_opaque(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_6opaque_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUtensorMap_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtensorMap_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUtensorMap_st[] = {
  {"opaque", __pyx_getprop_4cuda_8bindings_6driver_14CUtensorMap_st_opaque, __pyx_setprop_4cuda_8bindings_6driver_14CUtensorMap_st_opaque, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUtensorMap_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUtensorMap_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUtensorMap_st(void_ptr _ptr=0)\n\nTensor map descriptor. Requires compiler support for aligning to 64\nbytes.\n\nAttributes\n----------\nopaque : list[cuuint64_t]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUtensorMap_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUtensorMap_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUtensorMap_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUtensorMap_st_spec = {
  "cuda.bindings.driver.CUtensorMap_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUtensorMap_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUtensorMap_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUtensorMap_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtensorMap_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUtensorMap_st(void_ptr _ptr=0)\n\nTensor map descriptor. Requires compiler support for aligning to 64\nbytes.\n\nAttributes\n----------\nopaque : list[cuuint64_t]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUtensorMap_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUtensorMap_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUtensorMap_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_p2pToken(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_p2pToken(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_vaSpaceToken(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_vaSpaceToken(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st[] = {
  {"p2pToken", __pyx_getprop_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_p2pToken, __pyx_setprop_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_p2pToken, 0, 0},
  {"vaSpaceToken", __pyx_getprop_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_vaSpaceToken, __pyx_setprop_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_vaSpaceToken, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(void_ptr _ptr=0)\n\nGPU Direct v3 tokens\n\nAttributes\n----------\np2pToken : unsigned long long\n\nvaSpaceToken : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_spec = {
  "cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(void_ptr _ptr=0)\n\nGPU Direct v3 tokens\n\nAttributes\n----------\np2pToken : unsigned long long\n\nvaSpaceToken : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_function = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)Py_None); Py_INCREF(Py_None);
  p->_hStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)Py_None); Py_INCREF(Py_None);
  p->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_function);
  Py_CLEAR(p->_hStream);
  Py_CLEAR(p->_cykernelParams);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_function) {
    e = (*v)(((PyObject *)p->_function), a); if (e) return e;
  }
  if (p->_hStream) {
    e = (*v)(((PyObject *)p->_hStream), a); if (e) return e;
  }
  if (p->_cykernelParams) {
    e = (*v)(((PyObject *)p->_cykernelParams), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st *)o;
  tmp = ((PyObject*)p->_function);
  p->_function = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_hStream);
  p->_hStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cykernelParams);
  p->_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_function(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_function(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8function_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_hStream(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_hStream(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7hStream_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st[] = {
  {"function", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_function, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_function, 0, 0},
  {"gridDimX", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimX, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimX, 0, 0},
  {"gridDimY", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimY, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimY, 0, 0},
  {"gridDimZ", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimZ, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_gridDimZ, 0, 0},
  {"blockDimX", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimX, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimX, 0, 0},
  {"blockDimY", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimY, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimY, 0, 0},
  {"blockDimZ", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimZ, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_blockDimZ, 0, 0},
  {"sharedMemBytes", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_sharedMemBytes, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_sharedMemBytes, 0, 0},
  {"hStream", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_hStream, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_hStream, 0, 0},
  {"kernelParams", __pyx_getprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_kernelParams, __pyx_setprop_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_kernelParams, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_LAUNCH_PARAMS_st(void_ptr _ptr=0)\n\nKernel launch parameters\n\nAttributes\n----------\nfunction : CUfunction\n    Kernel to launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nhStream : CUstream\n    Stream identifier\nkernelParams : Any\n    Array of pointers to kernel parameters\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_LAUNCH_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_LAUNCH_PARAMS_st(void_ptr _ptr=0)\n\nKernel launch parameters\n\nAttributes\n----------\nfunction : CUfunction\n    Kernel to launch\ngridDimX : unsigned int\n    Width of grid in blocks\ngridDimY : unsigned int\n    Height of grid in blocks\ngridDimZ : unsigned int\n    Depth of grid in blocks\nblockDimX : unsigned int\n    X dimension of each thread block\nblockDimY : unsigned int\n    Y dimension of each thread block\nblockDimZ : unsigned int\n    Z dimension of each thread block\nsharedMemBytes : unsigned int\n    Dynamic shared-memory size per thread block in bytes\nhStream : CUstream\n    Stream identifier\nkernelParams : Any\n    Array of pointers to kernel parameters\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct12(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct12(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct12) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct12_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct12_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct12_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_4name_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct12_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_4name_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct12[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct12_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct12_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct12_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct12[] = {
  {"handle", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct12_handle, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct12_handle, 0, 0},
  {"name", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct12_name, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct12_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct12_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct12},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct12(void_ptr _ptr)\n\nAttributes\n----------\nhandle : Any\n\nname : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct12},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct12},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct12_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct12},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct12_spec = {
  "cuda.bindings.driver.anon_struct12",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct12_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct12 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct12", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct12, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct12(void_ptr _ptr)\n\nAttributes\n----------\nhandle : Any\n\nname : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct12, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct12, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct12_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct12, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union5(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)o);
  p->_win32 = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11anon_union5_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union5(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union5) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11anon_union5_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_win32);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union5(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_win32) {
    e = (*v)(((PyObject *)p->_win32), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union5(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)o;
  tmp = ((PyObject*)p->_win32);
  p->_win32 = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct12 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union5_fd(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union5_2fd_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union5_fd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union5_2fd_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union5_win32(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union5_5win32_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union5_win32(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union5_5win32_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union5_nvSciBufObject(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union5_nvSciBufObject(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union5_14nvSciBufObject_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union5[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union5_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union5_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union5_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union5_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union5_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union5_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union5[] = {
  {"fd", __pyx_getprop_4cuda_8bindings_6driver_11anon_union5_fd, __pyx_setprop_4cuda_8bindings_6driver_11anon_union5_fd, 0, 0},
  {"win32", __pyx_getprop_4cuda_8bindings_6driver_11anon_union5_win32, __pyx_setprop_4cuda_8bindings_6driver_11anon_union5_win32, 0, 0},
  {"nvSciBufObject", __pyx_getprop_4cuda_8bindings_6driver_11anon_union5_nvSciBufObject, __pyx_setprop_4cuda_8bindings_6driver_11anon_union5_nvSciBufObject, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union5_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union5},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union5_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union5(void_ptr _ptr)\n\nAttributes\n----------\nfd : int\n\nwin32 : anon_struct12\n\nnvSciBufObject : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union5},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union5},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union5},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union5},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union5_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union5},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union5_spec = {
  "cuda.bindings.driver.anon_union5",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union5_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union5 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union5", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union5), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union5, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11anon_union5_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union5(void_ptr _ptr)\n\nAttributes\n----------\nfd : int\n\nwin32 : anon_struct12\n\nnvSciBufObject : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union5, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union5, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union5, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union5, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11anon_union5_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union5, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)o);
  p->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_handle);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_handle) {
    e = (*v)(((PyObject *)p->_handle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)o;
  tmp = ((PyObject*)p->_handle);
  p->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union5 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_type, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_type, 0, 0},
  {"handle", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle, 0, 0},
  {"size", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_size, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_size, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_flags, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(void_ptr _ptr=0)\n\nExternal memory handle descriptor\n\nAttributes\n----------\ntype : CUexternalMemoryHandleType\n    Type of the handle\nhandle : anon_union5\n\nsize : unsigned long long\n    Size of the memory allocation\nflags : unsigned int\n    Flags must either be zero or CUDA_EXTERNAL_MEMORY_DEDICATED\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(void_ptr _ptr=0)\n\nExternal memory handle descriptor\n\nAttributes\n----------\ntype : CUexternalMemoryHandleType\n    Type of the handle\nhandle : anon_union5\n\nsize : unsigned long long\n    Size of the memory allocation\nflags : unsigned int\n    Flags must either be zero or CUDA_EXTERNAL_MEMORY_DEDICATED\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st[] = {
  {"offset", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_offset, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_offset, 0, 0},
  {"size", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_size, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_size, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_flags, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(void_ptr _ptr=0)\n\nExternal memory buffer descriptor\n\nAttributes\n----------\noffset : unsigned long long\n    Offset into the memory object where the buffer's base is\nsize : unsigned long long\n    Size of the buffer\nflags : unsigned int\n    Flags reserved for future use. Must be zero.\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(void_ptr _ptr=0)\n\nExternal memory buffer descriptor\n\nAttributes\n----------\noffset : unsigned long long\n    Offset into the memory object where the buffer's base is\nsize : unsigned long long\n    Size of the buffer\nflags : unsigned int\n    Flags reserved for future use. Must be zero.\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_arrayDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_arrayDesc);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_arrayDesc) {
    e = (*v)(((PyObject *)p->_arrayDesc), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)o;
  tmp = ((PyObject*)p->_arrayDesc);
  p->_arrayDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_arrayDesc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_arrayDesc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_numLevels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_numLevels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st[] = {
  {"offset", __pyx_getprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_offset, __pyx_setprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_offset, 0, 0},
  {"arrayDesc", __pyx_getprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_arrayDesc, __pyx_setprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_arrayDesc, 0, 0},
  {"numLevels", __pyx_getprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_numLevels, __pyx_setprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_numLevels, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(void_ptr _ptr=0)\n\nExternal memory mipmap descriptor\n\nAttributes\n----------\noffset : unsigned long long\n    Offset into the memory object where the base level of the mipmap\n    chain is.\narrayDesc : CUDA_ARRAY3D_DESCRIPTOR\n    Format, dimension and type of base level of the mipmap chain\nnumLevels : unsigned int\n    Total number of levels in the mipmap chain\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(void_ptr _ptr=0)\n\nExternal memory mipmap descriptor\n\nAttributes\n----------\noffset : unsigned long long\n    Offset into the memory object where the base level of the mipmap\n    chain is.\narrayDesc : CUDA_ARRAY3D_DESCRIPTOR\n    Format, dimension and type of base level of the mipmap chain\nnumLevels : unsigned int\n    Total number of levels in the mipmap chain\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct13(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct13(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct13) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct13_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct13_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct13_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_4name_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct13_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_4name_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct13[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct13_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct13_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct13_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct13[] = {
  {"handle", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct13_handle, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct13_handle, 0, 0},
  {"name", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct13_name, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct13_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct13_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct13},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct13(void_ptr _ptr)\n\nAttributes\n----------\nhandle : Any\n\nname : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct13},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct13},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct13_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct13},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct13_spec = {
  "cuda.bindings.driver.anon_struct13",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct13_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct13 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct13", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct13, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct13(void_ptr _ptr)\n\nAttributes\n----------\nhandle : Any\n\nname : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct13, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct13, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct13_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct13, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union6(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)o);
  p->_win32 = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11anon_union6_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union6(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union6) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11anon_union6_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_win32);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union6(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_win32) {
    e = (*v)(((PyObject *)p->_win32), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union6(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)o;
  tmp = ((PyObject*)p->_win32);
  p->_win32 = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct13 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union6_fd(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union6_2fd_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union6_fd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union6_2fd_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union6_win32(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union6_5win32_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union6_win32(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union6_5win32_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union6_nvSciSyncObj(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union6_nvSciSyncObj(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union6_12nvSciSyncObj_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union6[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union6_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union6_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union6_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union6_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union6_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union6_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union6[] = {
  {"fd", __pyx_getprop_4cuda_8bindings_6driver_11anon_union6_fd, __pyx_setprop_4cuda_8bindings_6driver_11anon_union6_fd, 0, 0},
  {"win32", __pyx_getprop_4cuda_8bindings_6driver_11anon_union6_win32, __pyx_setprop_4cuda_8bindings_6driver_11anon_union6_win32, 0, 0},
  {"nvSciSyncObj", __pyx_getprop_4cuda_8bindings_6driver_11anon_union6_nvSciSyncObj, __pyx_setprop_4cuda_8bindings_6driver_11anon_union6_nvSciSyncObj, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union6_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union6},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union6_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union6(void_ptr _ptr)\n\nAttributes\n----------\nfd : int\n\nwin32 : anon_struct13\n\nnvSciSyncObj : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union6},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union6},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union6},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union6},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union6_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union6},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union6_spec = {
  "cuda.bindings.driver.anon_union6",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union6_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union6 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union6", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union6), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union6, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11anon_union6_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union6(void_ptr _ptr)\n\nAttributes\n----------\nfd : int\n\nwin32 : anon_struct13\n\nnvSciSyncObj : Any\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union6, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union6, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union6, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union6, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11anon_union6_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union6, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)o);
  p->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_handle);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_handle) {
    e = (*v)(((PyObject *)p->_handle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)o;
  tmp = ((PyObject*)p->_handle);
  p->_handle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union6 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_type, __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_type, 0, 0},
  {"handle", __pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle, __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_flags, __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(void_ptr _ptr=0)\n\nExternal semaphore handle descriptor\n\nAttributes\n----------\ntype : CUexternalSemaphoreHandleType\n    Type of the handle\nhandle : anon_union6\n\nflags : unsigned int\n    Flags reserved for the future. Must be zero.\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(void_ptr _ptr=0)\n\nExternal semaphore handle descriptor\n\nAttributes\n----------\ntype : CUexternalSemaphoreHandleType\n    Type of the handle\nhandle : anon_union6\n\nflags : unsigned int\n    Flags reserved for the future. Must be zero.\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct14(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct14(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct14) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct14_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct14_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct14[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct14_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct14_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct14_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct14[] = {
  {"value", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct14_value, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct14_value, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct14_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct14},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct14(void_ptr _ptr)\n\nAttributes\n----------\nvalue : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct14},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct14},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct14_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct14},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct14_spec = {
  "cuda.bindings.driver.anon_struct14",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct14_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct14 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct14", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct14, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct14(void_ptr _ptr)\n\nAttributes\n----------\nvalue : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct14, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct14, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct14_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct14, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union7(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11anon_union7_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union7(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union7) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11anon_union7_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union7_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union7_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union7_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union7_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union7_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union7_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union7_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union7_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union7[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union7_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union7_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union7_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union7_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union7_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union7_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union7[] = {
  {"fence", __pyx_getprop_4cuda_8bindings_6driver_11anon_union7_fence, __pyx_setprop_4cuda_8bindings_6driver_11anon_union7_fence, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_11anon_union7_reserved, __pyx_setprop_4cuda_8bindings_6driver_11anon_union7_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union7_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union7},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union7_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union7(void_ptr _ptr)\n\nAttributes\n----------\nfence : Any\n\nreserved : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union7},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union7},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union7_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union7},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union7_spec = {
  "cuda.bindings.driver.anon_union7",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_union7_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union7 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union7", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union7), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union7, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11anon_union7_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_union7(void_ptr _ptr)\n\nAttributes\n----------\nfence : Any\n\nreserved : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union7, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union7, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11anon_union7_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union7, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct15(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct15(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct15) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct15_key(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3key_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct15_key(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3key_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct15[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct15_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct15_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct15_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct15[] = {
  {"key", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct15_key, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct15_key, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct15_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct15},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct15(void_ptr _ptr)\n\nAttributes\n----------\nkey : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct15},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct15},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct15},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct15_spec = {
  "cuda.bindings.driver.anon_struct15",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct15_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct15 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct15", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct15, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct15(void_ptr _ptr)\n\nAttributes\n----------\nkey : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct15, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct15, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct15_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct15, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct16(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)o);
  p->_fence = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)Py_None); Py_INCREF(Py_None);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)Py_None); Py_INCREF(Py_None);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct16(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct16) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_fence);
  Py_CLEAR(p->_nvSciSync);
  Py_CLEAR(p->_keyedMutex);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct16(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_fence) {
    e = (*v)(((PyObject *)p->_fence), a); if (e) return e;
  }
  if (p->_nvSciSync) {
    e = (*v)(((PyObject *)p->_nvSciSync), a); if (e) return e;
  }
  if (p->_keyedMutex) {
    e = (*v)(((PyObject *)p->_keyedMutex), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct16(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)o;
  tmp = ((PyObject*)p->_fence);
  p->_fence = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct14 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_nvSciSync);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union7 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_keyedMutex);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct15 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct16_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct16_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct16_nvSciSync(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct16_nvSciSync(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9nvSciSync_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct16_keyedMutex(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct16_keyedMutex(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_10keyedMutex_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct16_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct16_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct16[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct16_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct16_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct16_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct16[] = {
  {"fence", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct16_fence, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct16_fence, 0, 0},
  {"nvSciSync", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct16_nvSciSync, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct16_nvSciSync, 0, 0},
  {"keyedMutex", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct16_keyedMutex, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct16_keyedMutex, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct16_reserved, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct16_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct16_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct16},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct16(void_ptr _ptr)\n\nAttributes\n----------\nfence : anon_struct14\n\nnvSciSync : anon_union7\n\nkeyedMutex : anon_struct15\n\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct16},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct16},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct16},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct16},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct16_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct16},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct16_spec = {
  "cuda.bindings.driver.anon_struct16",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct16_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct16 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct16", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct16, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct16(void_ptr _ptr)\n\nAttributes\n----------\nfence : anon_struct14\n\nnvSciSync : anon_union7\n\nkeyedMutex : anon_struct15\n\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct16, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct16, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct16, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct16, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct16_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct16, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_params = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_params);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_params) {
    e = (*v)(((PyObject *)p->_params), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)o;
  tmp = ((PyObject*)p->_params);
  p->_params = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct16 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st[] = {
  {"params", __pyx_getprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params, __pyx_setprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_flags, __pyx_setprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(void_ptr _ptr=0)\n\nExternal semaphore signal parameters\n\nAttributes\n----------\nparams : anon_struct16\n\nflags : unsigned int\n    Only when ::CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS is used to signal\n    a CUexternalSemaphore of type\n    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n    CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC which\n    indicates that while signaling the CUexternalSemaphore, no memory\n    synchronization operations should be performed for any external\n    memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n    For all other types of CUexternalSemaphore, flags must be zero.\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(void_ptr _ptr=0)\n\nExternal semaphore signal parameters\n\nAttributes\n----------\nparams : anon_struct16\n\nflags : unsigned int\n    Only when ::CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS is used to signal\n    a CUexternalSemaphore of type\n    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n    CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC which\n    indicates that while signaling the CUexternalSemaphore, no memory\n    synchronization operations should be performed for any external\n    memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n    For all other types of CUexternalSemaphore, flags must be zero.\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct17(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct17(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct17) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct17_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct17_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct17[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct17_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct17_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct17_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct17[] = {
  {"value", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct17_value, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct17_value, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct17_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct17},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct17(void_ptr _ptr)\n\nAttributes\n----------\nvalue : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct17},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct17},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct17_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct17},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct17_spec = {
  "cuda.bindings.driver.anon_struct17",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct17_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct17 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct17", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct17, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct17(void_ptr _ptr)\n\nAttributes\n----------\nvalue : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct17, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct17, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct17_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct17, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union8(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11anon_union8_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union8(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union8) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11anon_union8_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union8_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union8_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union8_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union8_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union8_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union8_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union8_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union8_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union8[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union8_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union8_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union8_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union8_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union8_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union8_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union8[] = {
  {"fence", __pyx_getprop_4cuda_8bindings_6driver_11anon_union8_fence, __pyx_setprop_4cuda_8bindings_6driver_11anon_union8_fence, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_11anon_union8_reserved, __pyx_setprop_4cuda_8bindings_6driver_11anon_union8_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union8_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union8},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union8_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union8(void_ptr _ptr)\n\nAttributes\n----------\nfence : Any\n\nreserved : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union8},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union8},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union8_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union8},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union8_spec = {
  "cuda.bindings.driver.anon_union8",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_union8_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union8 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union8", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union8), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union8, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11anon_union8_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_union8(void_ptr _ptr)\n\nAttributes\n----------\nfence : Any\n\nreserved : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union8, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union8, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11anon_union8_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union8, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct18(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct18(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct18) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct18_key(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3key_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct18_key(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3key_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct18_timeoutMs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct18_timeoutMs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9timeoutMs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct18[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct18_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct18_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct18_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct18[] = {
  {"key", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct18_key, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct18_key, 0, 0},
  {"timeoutMs", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct18_timeoutMs, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct18_timeoutMs, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct18_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct18},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct18(void_ptr _ptr)\n\nAttributes\n----------\nkey : unsigned long long\n\ntimeoutMs : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct18},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct18},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct18},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct18_spec = {
  "cuda.bindings.driver.anon_struct18",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct18_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct18 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct18", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct18, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct18(void_ptr _ptr)\n\nAttributes\n----------\nkey : unsigned long long\n\ntimeoutMs : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct18, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct18, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct18_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct18, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct19(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)o);
  p->_fence = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)Py_None); Py_INCREF(Py_None);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)Py_None); Py_INCREF(Py_None);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct19(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct19) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_fence);
  Py_CLEAR(p->_nvSciSync);
  Py_CLEAR(p->_keyedMutex);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct19(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_fence) {
    e = (*v)(((PyObject *)p->_fence), a); if (e) return e;
  }
  if (p->_nvSciSync) {
    e = (*v)(((PyObject *)p->_nvSciSync), a); if (e) return e;
  }
  if (p->_keyedMutex) {
    e = (*v)(((PyObject *)p->_keyedMutex), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct19(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)o;
  tmp = ((PyObject*)p->_fence);
  p->_fence = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct17 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_nvSciSync);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union8 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_keyedMutex);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct18 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct19_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct19_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct19_nvSciSync(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct19_nvSciSync(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9nvSciSync_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct19_keyedMutex(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct19_keyedMutex(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_10keyedMutex_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct19_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct19_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct19[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct19_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct19_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct19_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct19[] = {
  {"fence", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct19_fence, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct19_fence, 0, 0},
  {"nvSciSync", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct19_nvSciSync, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct19_nvSciSync, 0, 0},
  {"keyedMutex", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct19_keyedMutex, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct19_keyedMutex, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct19_reserved, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct19_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct19_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct19},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct19(void_ptr _ptr)\n\nAttributes\n----------\nfence : anon_struct17\n\nnvSciSync : anon_union8\n\nkeyedMutex : anon_struct18\n\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct19},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct19},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct19},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct19},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct19_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct19},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct19_spec = {
  "cuda.bindings.driver.anon_struct19",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct19_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct19 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct19", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct19, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct19(void_ptr _ptr)\n\nAttributes\n----------\nfence : anon_struct17\n\nnvSciSync : anon_union8\n\nkeyedMutex : anon_struct18\n\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct19, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct19, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct19, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct19, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct19_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct19, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_params = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_params);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_params) {
    e = (*v)(((PyObject *)p->_params), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)o;
  tmp = ((PyObject*)p->_params);
  p->_params = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct19 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st[] = {
  {"params", __pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params, __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_flags, __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(void_ptr _ptr=0)\n\nExternal semaphore wait parameters\n\nAttributes\n----------\nparams : anon_struct19\n\nflags : unsigned int\n    Only when ::CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS is used to wait on\n    a CUexternalSemaphore of type\n    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n    CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC which indicates\n    that while waiting for the CUexternalSemaphore, no memory\n    synchronization operations should be performed for any external\n    memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n    For all other types of CUexternalSemaphore, flags must be zero.\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(void_ptr _ptr=0)\n\nExternal semaphore wait parameters\n\nAttributes\n----------\nparams : anon_struct19\n\nflags : unsigned int\n    Only when ::CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS is used to wait on\n    a CUexternalSemaphore of type\n    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n    CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC which indicates\n    that while waiting for the CUexternalSemaphore, no memory\n    synchronization operations should be performed for any external\n    memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n    For all other types of CUexternalSemaphore, flags must be zero.\nreserved : list[unsigned int]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st[] = {
  {"extSemArray", __pyx_getprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_extSemArray, __pyx_setprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_extSemArray, 0, 0},
  {"paramsArray", __pyx_getprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_paramsArray, __pyx_setprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_paramsArray, 0, 0},
  {"numExtSems", __pyx_getprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_numExtSems, __pyx_setprop_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_numExtSems, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(void_ptr _ptr=0)\n\nSemaphore signal node parameters\n\nAttributes\n----------\nextSemArray : CUexternalSemaphore\n    Array of external semaphore handles.\nparamsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n    Array of external semaphore signal parameters.\nnumExtSems : unsigned int\n    Number of handles and parameters supplied in extSemArray and\n    paramsArray.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(void_ptr _ptr=0)\n\nSemaphore signal node parameters\n\nAttributes\n----------\nextSemArray : CUexternalSemaphore\n    Array of external semaphore handles.\nparamsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n    Array of external semaphore signal parameters.\nnumExtSems : unsigned int\n    Number of handles and parameters supplied in extSemArray and\n    paramsArray.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st[] = {
  {"extSemArray", __pyx_getprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_extSemArray, __pyx_setprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_extSemArray, 0, 0},
  {"paramsArray", __pyx_getprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_paramsArray, __pyx_setprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_paramsArray, 0, 0},
  {"numExtSems", __pyx_getprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_numExtSems, __pyx_setprop_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_numExtSems, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nSemaphore signal node parameters\n\nAttributes\n----------\nextSemArray : CUexternalSemaphore\n    Array of external semaphore handles.\nparamsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n    Array of external semaphore signal parameters.\nnumExtSems : unsigned int\n    Number of handles and parameters supplied in extSemArray and\n    paramsArray.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nSemaphore signal node parameters\n\nAttributes\n----------\nextSemArray : CUexternalSemaphore\n    Array of external semaphore handles.\nparamsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n    Array of external semaphore signal parameters.\nnumExtSems : unsigned int\n    Number of handles and parameters supplied in extSemArray and\n    paramsArray.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st[] = {
  {"extSemArray", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_extSemArray, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_extSemArray, 0, 0},
  {"paramsArray", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_paramsArray, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_paramsArray, 0, 0},
  {"numExtSems", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_numExtSems, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_numExtSems, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(void_ptr _ptr=0)\n\nSemaphore wait node parameters\n\nAttributes\n----------\nextSemArray : CUexternalSemaphore\n    Array of external semaphore handles.\nparamsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n    Array of external semaphore wait parameters.\nnumExtSems : unsigned int\n    Number of handles and parameters supplied in extSemArray and\n    paramsArray.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_WAIT_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(void_ptr _ptr=0)\n\nSemaphore wait node parameters\n\nAttributes\n----------\nextSemArray : CUexternalSemaphore\n    Array of external semaphore handles.\nparamsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n    Array of external semaphore wait parameters.\nnumExtSems : unsigned int\n    Number of handles and parameters supplied in extSemArray and\n    paramsArray.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st[] = {
  {"extSemArray", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_extSemArray, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_extSemArray, 0, 0},
  {"paramsArray", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_paramsArray, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_paramsArray, 0, 0},
  {"numExtSems", __pyx_getprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_numExtSems, __pyx_setprop_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_numExtSems, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nSemaphore wait node parameters\n\nAttributes\n----------\nextSemArray : CUexternalSemaphore\n    Array of external semaphore handles.\nparamsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n    Array of external semaphore wait parameters.\nnumExtSems : unsigned int\n    Number of handles and parameters supplied in extSemArray and\n    paramsArray.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nSemaphore wait node parameters\n\nAttributes\n----------\nextSemArray : CUexternalSemaphore\n    Array of external semaphore handles.\nparamsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n    Array of external semaphore wait parameters.\nnumExtSems : unsigned int\n    Number of handles and parameters supplied in extSemArray and\n    paramsArray.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union9(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)o);
  p->_mipmap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)Py_None); Py_INCREF(Py_None);
  p->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11anon_union9_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union9(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union9) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11anon_union9_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_mipmap);
  Py_CLEAR(p->_array);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union9(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_mipmap) {
    e = (*v)(((PyObject *)p->_mipmap), a); if (e) return e;
  }
  if (p->_array) {
    e = (*v)(((PyObject *)p->_array), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union9(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)o;
  tmp = ((PyObject*)p->_mipmap);
  p->_mipmap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_array);
  p->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union9_mipmap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union9_6mipmap_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union9_mipmap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union9_6mipmap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_11anon_union9_array(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_11anon_union9_5array_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_11anon_union9_array(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_11anon_union9_5array_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union9[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union9_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union9_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union9_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union9_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11anon_union9_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11anon_union9_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union9[] = {
  {"mipmap", __pyx_getprop_4cuda_8bindings_6driver_11anon_union9_mipmap, __pyx_setprop_4cuda_8bindings_6driver_11anon_union9_mipmap, 0, 0},
  {"array", __pyx_getprop_4cuda_8bindings_6driver_11anon_union9_array, __pyx_setprop_4cuda_8bindings_6driver_11anon_union9_array, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union9_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union9},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union9_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union9(void_ptr _ptr)\n\nAttributes\n----------\nmipmap : CUmipmappedArray\n\narray : CUarray\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union9},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union9},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union9},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union9},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_11anon_union9_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union9},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union9_spec = {
  "cuda.bindings.driver.anon_union9",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union9_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union9 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union9", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union9), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union9, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11anon_union9_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union9(void_ptr _ptr)\n\nAttributes\n----------\nmipmap : CUmipmappedArray\n\narray : CUarray\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union9, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union9, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union9, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union9, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_11anon_union9_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union9, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct20(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct20(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct20) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_level(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5level_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_level(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5level_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_layer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5layer_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_layer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_5layer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_offsetX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetX_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_offsetX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_offsetY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetY_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_offsetY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_offsetZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_offsetZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7offsetZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_extentWidth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_extentWidth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentWidth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_extentHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_extentHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_12extentHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_extentDepth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_extentDepth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11extentDepth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct20[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct20_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct20_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct20_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct20[] = {
  {"level", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_level, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_level, 0, 0},
  {"layer", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_layer, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_layer, 0, 0},
  {"offsetX", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_offsetX, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_offsetX, 0, 0},
  {"offsetY", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_offsetY, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_offsetY, 0, 0},
  {"offsetZ", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_offsetZ, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_offsetZ, 0, 0},
  {"extentWidth", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_extentWidth, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_extentWidth, 0, 0},
  {"extentHeight", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_extentHeight, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_extentHeight, 0, 0},
  {"extentDepth", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct20_extentDepth, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct20_extentDepth, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct20_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct20},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct20(void_ptr _ptr)\n\nAttributes\n----------\nlevel : unsigned int\n\nlayer : unsigned int\n\noffsetX : unsigned int\n\noffsetY : unsigned int\n\noffsetZ : unsigned int\n\nextentWidth : unsigned int\n\nextentHeight : unsigned int\n\nextentDepth : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct20},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct20},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct20_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct20},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct20_spec = {
  "cuda.bindings.driver.anon_struct20",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct20_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct20 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct20", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct20, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct20(void_ptr _ptr)\n\nAttributes\n----------\nlevel : unsigned int\n\nlayer : unsigned int\n\noffsetX : unsigned int\n\noffsetY : unsigned int\n\noffsetZ : unsigned int\n\nextentWidth : unsigned int\n\nextentHeight : unsigned int\n\nextentDepth : unsigned int\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct20, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct20, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct20_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct20, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct21(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct21(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct21) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct21_layer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5layer_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct21_layer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_5layer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct21_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct21_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct21_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct21_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct21[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct21_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct21_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct21_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct21[] = {
  {"layer", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct21_layer, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct21_layer, 0, 0},
  {"offset", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct21_offset, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct21_offset, 0, 0},
  {"size", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct21_size, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct21_size, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct21_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct21},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct21(void_ptr _ptr)\n\nAttributes\n----------\nlayer : unsigned int\n\noffset : unsigned long long\n\nsize : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct21},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct21},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct21_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct21},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct21_spec = {
  "cuda.bindings.driver.anon_struct21",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct21_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct21 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct21", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct21, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct21(void_ptr _ptr)\n\nAttributes\n----------\nlayer : unsigned int\n\noffset : unsigned long long\n\nsize : unsigned long long\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct21, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct21, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct21_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct21, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union10(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)o);
  p->_sparseLevel = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)Py_None); Py_INCREF(Py_None);
  p->_miptail = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_union10_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union10(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union10) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_union10_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_sparseLevel);
  Py_CLEAR(p->_miptail);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union10(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_sparseLevel) {
    e = (*v)(((PyObject *)p->_sparseLevel), a); if (e) return e;
  }
  if (p->_miptail) {
    e = (*v)(((PyObject *)p->_miptail), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union10(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)o;
  tmp = ((PyObject*)p->_sparseLevel);
  p->_sparseLevel = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct20 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_miptail);
  p->_miptail = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct21 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_union10_sparseLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_union10_sparseLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_union10_11sparseLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_union10_miptail(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_union10_7miptail_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_union10_miptail(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_union10_7miptail_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union10[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union10_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union10_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union10_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union10_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union10_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union10_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union10[] = {
  {"sparseLevel", __pyx_getprop_4cuda_8bindings_6driver_12anon_union10_sparseLevel, __pyx_setprop_4cuda_8bindings_6driver_12anon_union10_sparseLevel, 0, 0},
  {"miptail", __pyx_getprop_4cuda_8bindings_6driver_12anon_union10_miptail, __pyx_setprop_4cuda_8bindings_6driver_12anon_union10_miptail, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union10_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union10},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_union10_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union10(void_ptr _ptr)\n\nAttributes\n----------\nsparseLevel : anon_struct20\n\nmiptail : anon_struct21\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union10},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union10},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union10},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union10},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_union10_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union10},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union10_spec = {
  "cuda.bindings.driver.anon_union10",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union10_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union10 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union10", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union10), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union10, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_union10_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union10(void_ptr _ptr)\n\nAttributes\n----------\nsparseLevel : anon_struct20\n\nmiptail : anon_struct21\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union10, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union10, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union10, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union10, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_union10_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union10, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union11(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)o);
  p->_memHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_union11_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union11(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union11) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_union11_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_memHandle);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union11(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_memHandle) {
    e = (*v)(((PyObject *)p->_memHandle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union11(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)o;
  tmp = ((PyObject*)p->_memHandle);
  p->_memHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_union11_memHandle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_union11_9memHandle_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_union11_memHandle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_union11_9memHandle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union11[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union11_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union11_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union11_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union11_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union11_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union11_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union11[] = {
  {"memHandle", __pyx_getprop_4cuda_8bindings_6driver_12anon_union11_memHandle, __pyx_setprop_4cuda_8bindings_6driver_12anon_union11_memHandle, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union11_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union11},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_union11_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union11(void_ptr _ptr)\n\nAttributes\n----------\nmemHandle : CUmemGenericAllocationHandle\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union11},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union11},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union11},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union11},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_union11_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union11},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union11_spec = {
  "cuda.bindings.driver.anon_union11",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union11_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union11 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union11", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union11), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union11, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_union11_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union11(void_ptr _ptr)\n\nAttributes\n----------\nmemHandle : CUmemGenericAllocationHandle\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union11, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union11, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union11, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union11, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_union11_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union11, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUarrayMapInfo_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)o);
  p->_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)Py_None); Py_INCREF(Py_None);
  p->_subresource = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)Py_None); Py_INCREF(Py_None);
  p->_memHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUarrayMapInfo_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUarrayMapInfo_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_resource);
  Py_CLEAR(p->_subresource);
  Py_CLEAR(p->_memHandle);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUarrayMapInfo_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_resource) {
    e = (*v)(((PyObject *)p->_resource), a); if (e) return e;
  }
  if (p->_subresource) {
    e = (*v)(((PyObject *)p->_subresource), a); if (e) return e;
  }
  if (p->_memHandle) {
    e = (*v)(((PyObject *)p->_memHandle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUarrayMapInfo_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st *)o;
  tmp = ((PyObject*)p->_resource);
  p->_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union9 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_subresource);
  p->_subresource = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union10 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memHandle);
  p->_memHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union11 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_resourceType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_resourceType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12resourceType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_resource(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_resource(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8resource_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_subresourceType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_subresourceType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_15subresourceType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_subresource(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_subresource(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11subresource_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memOperationType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memOperationType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_16memOperationType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memHandleType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memHandleType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13memHandleType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memHandle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memHandle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9memHandle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_deviceBitMask(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_deviceBitMask(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13deviceBitMask_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUarrayMapInfo_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUarrayMapInfo_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUarrayMapInfo_st[] = {
  {"resourceType", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_resourceType, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_resourceType, 0, 0},
  {"resource", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_resource, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_resource, 0, 0},
  {"subresourceType", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_subresourceType, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_subresourceType, 0, 0},
  {"subresource", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_subresource, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_subresource, 0, 0},
  {"memOperationType", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memOperationType, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memOperationType, 0, 0},
  {"memHandleType", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memHandleType, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memHandleType, 0, 0},
  {"memHandle", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memHandle, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_memHandle, 0, 0},
  {"offset", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_offset, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_offset, 0, 0},
  {"deviceBitMask", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_deviceBitMask, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_deviceBitMask, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_flags, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_17CUarrayMapInfo_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUarrayMapInfo_st(void_ptr _ptr=0)\n\nSpecifies the CUDA array or CUDA mipmapped array memory mapping\ninformation\n\nAttributes\n----------\nresourceType : CUresourcetype\n    Resource type\nresource : anon_union9\n\nsubresourceType : CUarraySparseSubresourceType\n    Sparse subresource type\nsubresource : anon_union10\n\nmemOperationType : CUmemOperationType\n    Memory operation type\nmemHandleType : CUmemHandleType\n    Memory handle type\nmemHandle : anon_union11\n\noffset : unsigned long long\n    Offset within mip tail  Offset within the memory\ndeviceBitMask : unsigned int\n    Device ordinal bit mask\nflags : unsigned int\n    flags for future use, must be zero now.\nreserved : list[unsigned int]\n    Reserved for future use, must be zero now.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st_spec = {
  "cuda.bindings.driver.CUarrayMapInfo_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUarrayMapInfo_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUarrayMapInfo_st(void_ptr _ptr=0)\n\nSpecifies the CUDA array or CUDA mipmapped array memory mapping\ninformation\n\nAttributes\n----------\nresourceType : CUresourcetype\n    Resource type\nresource : anon_union9\n\nsubresourceType : CUarraySparseSubresourceType\n    Sparse subresource type\nsubresource : anon_union10\n\nmemOperationType : CUmemOperationType\n    Memory operation type\nmemHandleType : CUmemHandleType\n    Memory handle type\nmemHandle : anon_union11\n\noffset : unsigned long long\n    Offset within mip tail  Offset within the memory\ndeviceBitMask : unsigned int\n    Device ordinal bit mask\nflags : unsigned int\n    flags for future use, must be zero now.\nreserved : list[unsigned int]\n    Reserved for future use, must be zero now.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemLocation_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemLocation_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemLocation_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUmemLocation_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUmemLocation_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUmemLocation_st_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_2id_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUmemLocation_st_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_2id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemLocation_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUmemLocation_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemLocation_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_16CUmemLocation_st_type, __pyx_setprop_4cuda_8bindings_6driver_16CUmemLocation_st_type, 0, 0},
  {"id", __pyx_getprop_4cuda_8bindings_6driver_16CUmemLocation_st_id, __pyx_setprop_4cuda_8bindings_6driver_16CUmemLocation_st_id, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemLocation_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemLocation_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemLocation_st(void_ptr _ptr=0)\n\nSpecifies a memory location.\n\nAttributes\n----------\ntype : CUmemLocationType\n    Specifies the location type, which modifies the meaning of id.\nid : int\n    identifier for a given this location's CUmemLocationType.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemLocation_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemLocation_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemLocation_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemLocation_st_spec = {
  "cuda.bindings.driver.CUmemLocation_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmemLocation_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemLocation_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemLocation_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemLocation_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUmemLocation_st(void_ptr _ptr=0)\n\nSpecifies a memory location.\n\nAttributes\n----------\ntype : CUmemLocationType\n    Specifies the location type, which modifies the meaning of id.\nid : int\n    identifier for a given this location's CUmemLocationType.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemLocation_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemLocation_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemLocation_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct22(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct22(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct22) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct22_compressionType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_15compressionType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct22_compressionType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_15compressionType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct22_gpuDirectRDMACapable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct22_gpuDirectRDMACapable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_20gpuDirectRDMACapable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct22_usage(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5usage_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct22_usage(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_5usage_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct22_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct22_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct22[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct22_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct22_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct22_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct22[] = {
  {"compressionType", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct22_compressionType, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct22_compressionType, 0, 0},
  {"gpuDirectRDMACapable", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct22_gpuDirectRDMACapable, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct22_gpuDirectRDMACapable, 0, 0},
  {"usage", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct22_usage, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct22_usage, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct22_reserved, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct22_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct22_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct22},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct22(void_ptr _ptr)\n\nAttributes\n----------\ncompressionType : bytes\n\ngpuDirectRDMACapable : bytes\n\nusage : unsigned short\n\nreserved : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct22},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct22},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct22_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct22},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct22_spec = {
  "cuda.bindings.driver.anon_struct22",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_struct22_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct22 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct22", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct22, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_struct22(void_ptr _ptr)\n\nAttributes\n----------\ncompressionType : bytes\n\ngpuDirectRDMACapable : bytes\n\nusage : unsigned short\n\nreserved : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct22, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct22, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct22_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct22, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemAllocationProp_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  p->_allocFlags = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAllocationProp_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAllocationProp_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_location);
  Py_CLEAR(p->_allocFlags);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAllocationProp_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_location) {
    e = (*v)(((PyObject *)p->_location), a); if (e) return e;
  }
  if (p->_allocFlags) {
    e = (*v)(((PyObject *)p->_allocFlags), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUmemAllocationProp_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st *)o;
  tmp = ((PyObject*)p->_location);
  p->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_allocFlags);
  p->_allocFlags = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct22 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_requestedHandleTypes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_requestedHandleTypes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_20requestedHandleTypes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_win32HandleMetaData(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_win32HandleMetaData(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_19win32HandleMetaData_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_allocFlags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_allocFlags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10allocFlags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemAllocationProp_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUmemAllocationProp_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemAllocationProp_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_type, __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_type, 0, 0},
  {"requestedHandleTypes", __pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_requestedHandleTypes, __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_requestedHandleTypes, 0, 0},
  {"location", __pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_location, __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_location, 0, 0},
  {"win32HandleMetaData", __pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_win32HandleMetaData, __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_win32HandleMetaData, 0, 0},
  {"allocFlags", __pyx_getprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_allocFlags, __pyx_setprop_4cuda_8bindings_6driver_22CUmemAllocationProp_st_allocFlags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemAllocationProp_st(void_ptr _ptr=0)\n\nSpecifies the allocation properties for a allocation.\n\nAttributes\n----------\ntype : CUmemAllocationType\n    Allocation type\nrequestedHandleTypes : CUmemAllocationHandleType\n    requested CUmemAllocationHandleType\nlocation : CUmemLocation\n    Location of allocation\nwin32HandleMetaData : Any\n    Windows-specific POBJECT_ATTRIBUTES required when\n    CU_MEM_HANDLE_TYPE_WIN32 is specified. This object attributes\n    structure includes security attributes that define the scope of\n    which exported allocations may be transferred to other processes.\n    In all other cases, this field is required to be zero.\nallocFlags : anon_struct22\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st_spec = {
  "cuda.bindings.driver.CUmemAllocationProp_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemAllocationProp_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUmemAllocationProp_st(void_ptr _ptr=0)\n\nSpecifies the allocation properties for a allocation.\n\nAttributes\n----------\ntype : CUmemAllocationType\n    Allocation type\nrequestedHandleTypes : CUmemAllocationHandleType\n    requested CUmemAllocationHandleType\nlocation : CUmemLocation\n    Location of allocation\nwin32HandleMetaData : Any\n    Windows-specific POBJECT_ATTRIBUTES required when\n    CU_MEM_HANDLE_TYPE_WIN32 is specified. This object attributes\n    structure includes security attributes that define the scope of\n    which exported allocations may be transferred to other processes.\n    In all other cases, this field is required to be zero.\nallocFlags : anon_struct22\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmulticastObjectProp_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmulticastObjectProp_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmulticastObjectProp_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_numDevices(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_numDevices(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10numDevices_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_handleTypes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_handleTypes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11handleTypes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmulticastObjectProp_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmulticastObjectProp_st[] = {
  {"numDevices", __pyx_getprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_numDevices, __pyx_setprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_numDevices, 0, 0},
  {"size", __pyx_getprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_size, __pyx_setprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_size, 0, 0},
  {"handleTypes", __pyx_getprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_handleTypes, __pyx_setprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_handleTypes, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_flags, __pyx_setprop_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmulticastObjectProp_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmulticastObjectProp_st(void_ptr _ptr=0)\n\nSpecifies the properties for a multicast object.\n\nAttributes\n----------\nnumDevices : unsigned int\n    The number of devices in the multicast team that will bind memory\n    to this object\nsize : size_t\n    The maximum amount of memory that can be bound to this multicast\n    object per device\nhandleTypes : unsigned long long\n    Bitmask of exportable handle types (see CUmemAllocationHandleType)\n    for this object\nflags : unsigned long long\n    Flags for future use, must be zero now\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmulticastObjectProp_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmulticastObjectProp_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmulticastObjectProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st_spec = {
  "cuda.bindings.driver.CUmulticastObjectProp_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmulticastObjectProp_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmulticastObjectProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUmulticastObjectProp_st(void_ptr _ptr=0)\n\nSpecifies the properties for a multicast object.\n\nAttributes\n----------\nnumDevices : unsigned int\n    The number of devices in the multicast team that will bind memory\n    to this object\nsize : size_t\n    The maximum amount of memory that can be bound to this multicast\n    object per device\nhandleTypes : unsigned long long\n    Bitmask of exportable handle types (see CUmemAllocationHandleType)\n    for this object\nflags : unsigned long long\n    Flags for future use, must be zero now\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmulticastObjectProp_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmulticastObjectProp_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmulticastObjectProp_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemAccessDesc_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAccessDesc_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAccessDesc_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_location);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAccessDesc_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_location) {
    e = (*v)(((PyObject *)p->_location), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUmemAccessDesc_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st *)o;
  tmp = ((PyObject*)p->_location);
  p->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUmemAccessDesc_st_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUmemAccessDesc_st_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUmemAccessDesc_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUmemAccessDesc_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemAccessDesc_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUmemAccessDesc_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemAccessDesc_st[] = {
  {"location", __pyx_getprop_4cuda_8bindings_6driver_18CUmemAccessDesc_st_location, __pyx_setprop_4cuda_8bindings_6driver_18CUmemAccessDesc_st_location, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_18CUmemAccessDesc_st_flags, __pyx_setprop_4cuda_8bindings_6driver_18CUmemAccessDesc_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemAccessDesc_st(void_ptr _ptr=0)\n\nMemory access descriptor\n\nAttributes\n----------\nlocation : CUmemLocation\n    Location on which the request is to change it's accessibility\nflags : CUmemAccess_flags\n    ::CUmemProt accessibility flags to set on the request\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st_spec = {
  "cuda.bindings.driver.CUmemAccessDesc_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemAccessDesc_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUmemAccessDesc_st(void_ptr _ptr=0)\n\nMemory access descriptor\n\nAttributes\n----------\nlocation : CUmemLocation\n    Location on which the request is to change it's accessibility\nflags : CUmemAccess_flags\n    ::CUmemProt accessibility flags to set on the request\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_errorNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  p->_errorFromNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_errorNode);
  Py_CLEAR(p->_errorFromNode);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_errorNode) {
    e = (*v)(((PyObject *)p->_errorNode), a); if (e) return e;
  }
  if (p->_errorFromNode) {
    e = (*v)(((PyObject *)p->_errorFromNode), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st *)o;
  tmp = ((PyObject*)p->_errorNode);
  p->_errorNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_errorFromNode);
  p->_errorFromNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_result(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_result(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6result_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_errorNode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_errorNode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9errorNode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_errorFromNode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_errorFromNode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13errorFromNode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st[] = {
  {"result", __pyx_getprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_result, __pyx_setprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_result, 0, 0},
  {"errorNode", __pyx_getprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_errorNode, __pyx_setprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_errorNode, 0, 0},
  {"errorFromNode", __pyx_getprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_errorFromNode, __pyx_setprop_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_errorFromNode, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphExecUpdateResultInfo_st(void_ptr _ptr=0)\n\nResult information returned by cuGraphExecUpdate\n\nAttributes\n----------\nresult : CUgraphExecUpdateResult\n    Gives more specific detail when a cuda graph update fails.\nerrorNode : CUgraphNode\n    The \"to node\" of the error edge when the topologies do not match.\n    The error node when the error is associated with a specific node.\n    NULL when the error is generic.\nerrorFromNode : CUgraphNode\n    The from node of error edge when the topologies do not match.\n    Otherwise NULL.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st_spec = {
  "cuda.bindings.driver.CUgraphExecUpdateResultInfo_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphExecUpdateResultInfo_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUgraphExecUpdateResultInfo_st(void_ptr _ptr=0)\n\nResult information returned by cuGraphExecUpdate\n\nAttributes\n----------\nresult : CUgraphExecUpdateResult\n    Gives more specific detail when a cuda graph update fails.\nerrorNode : CUgraphNode\n    The \"to node\" of the error edge when the topologies do not match.\n    The error node when the error is associated with a specific node.\n    NULL when the error is generic.\nerrorFromNode : CUgraphNode\n    The from node of error edge when the topologies do not match.\n    Otherwise NULL.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolProps_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolProps_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolProps_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_location);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemPoolProps_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_location) {
    e = (*v)(((PyObject *)p->_location), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUmemPoolProps_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st *)o;
  tmp = ((PyObject*)p->_location);
  p->_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_allocType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_allocType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9allocType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_handleTypes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_handleTypes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11handleTypes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_win32SecurityAttributes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_win32SecurityAttributes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_23win32SecurityAttributes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_maxSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_maxSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7maxSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_usage(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_usage(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_5usage_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemPoolProps_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17CUmemPoolProps_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemPoolProps_st[] = {
  {"allocType", __pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_allocType, __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_allocType, 0, 0},
  {"handleTypes", __pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_handleTypes, __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_handleTypes, 0, 0},
  {"location", __pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_location, __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_location, 0, 0},
  {"win32SecurityAttributes", __pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_win32SecurityAttributes, __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_win32SecurityAttributes, 0, 0},
  {"maxSize", __pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_maxSize, __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_maxSize, 0, 0},
  {"usage", __pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_usage, __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_usage, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_17CUmemPoolProps_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemPoolProps_st(void_ptr _ptr=0)\n\nSpecifies the properties of allocations made from the pool.\n\nAttributes\n----------\nallocType : CUmemAllocationType\n    Allocation type. Currently must be specified as\n    CU_MEM_ALLOCATION_TYPE_PINNED\nhandleTypes : CUmemAllocationHandleType\n    Handle types that will be supported by allocations from the pool.\nlocation : CUmemLocation\n    Location where allocations should reside.\nwin32SecurityAttributes : Any\n    Windows-specific LPSECURITYATTRIBUTES required when\n    CU_MEM_HANDLE_TYPE_WIN32 is specified. This security attribute\n    defines the scope of which exported allocations may be transferred\n    to other processes. In all other cases, this field is required to\n    be zero.\nmaxSize : size_t\n    Maximum pool size. When set to 0, defaults to a system dependent\n    value.\nusage : unsigned short\n    Bitmask indicating intended usage for the pool.\nreserved : bytes\n    reserved for future use, must be 0\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st_spec = {
  "cuda.bindings.driver.CUmemPoolProps_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemPoolProps_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUmemPoolProps_st(void_ptr _ptr=0)\n\nSpecifies the properties of allocations made from the pool.\n\nAttributes\n----------\nallocType : CUmemAllocationType\n    Allocation type. Currently must be specified as\n    CU_MEM_ALLOCATION_TYPE_PINNED\nhandleTypes : CUmemAllocationHandleType\n    Handle types that will be supported by allocations from the pool.\nlocation : CUmemLocation\n    Location where allocations should reside.\nwin32SecurityAttributes : Any\n    Windows-specific LPSECURITYATTRIBUTES required when\n    CU_MEM_HANDLE_TYPE_WIN32 is specified. This security attribute\n    defines the scope of which exported allocations may be transferred\n    to other processes. In all other cases, this field is required to\n    be zero.\nmaxSize : size_t\n    Maximum pool size. When set to 0, defaults to a system dependent\n    value.\nusage : unsigned short\n    Bitmask indicating intended usage for the pool.\nreserved : bytes\n    reserved for future use, must be 0\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st[] = {
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemPoolPtrExportData_st(void_ptr _ptr=0)\n\nOpaque data for exporting a pool allocation\n\nAttributes\n----------\nreserved : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st_spec = {
  "cuda.bindings.driver.CUmemPoolPtrExportData_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemPoolPtrExportData_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUmemPoolPtrExportData_st(void_ptr _ptr=0)\n\nOpaque data for exporting a pool allocation\n\nAttributes\n----------\nreserved : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpyAttributes_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_srcLocHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  p->_dstLocHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpyAttributes_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpyAttributes_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_srcLocHint);
  Py_CLEAR(p->_dstLocHint);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpyAttributes_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_srcLocHint) {
    e = (*v)(((PyObject *)p->_srcLocHint), a); if (e) return e;
  }
  if (p->_dstLocHint) {
    e = (*v)(((PyObject *)p->_dstLocHint), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpyAttributes_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st *)o;
  tmp = ((PyObject*)p->_srcLocHint);
  p->_srcLocHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstLocHint);
  p->_dstLocHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_srcAccessOrder(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_srcAccessOrder(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_14srcAccessOrder_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_srcLocHint(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_srcLocHint(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10srcLocHint_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_dstLocHint(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_dstLocHint(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10dstLocHint_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemcpyAttributes_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemcpyAttributes_st[] = {
  {"srcAccessOrder", __pyx_getprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_srcAccessOrder, __pyx_setprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_srcAccessOrder, 0, 0},
  {"srcLocHint", __pyx_getprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_srcLocHint, __pyx_setprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_srcLocHint, 0, 0},
  {"dstLocHint", __pyx_getprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_dstLocHint, __pyx_setprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_dstLocHint, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_flags, __pyx_setprop_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemcpyAttributes_st(void_ptr _ptr=0)\n\nAttributes specific to copies within a batch. For more details on\nusage see cuMemcpyBatchAsync.\n\nAttributes\n----------\nsrcAccessOrder : CUmemcpySrcAccessOrder\n    Source access ordering to be observed for copies with this\n    attribute.\nsrcLocHint : CUmemLocation\n    Hint location for the source operand. Ignored when the pointers are\n    not managed memory or memory allocated outside CUDA.\ndstLocHint : CUmemLocation\n    Hint location for the destination operand. Ignored when the\n    pointers are not managed memory or memory allocated outside CUDA.\nflags : unsigned int\n    Additional flags for copies with this attribute. See CUmemcpyFlags\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st_spec = {
  "cuda.bindings.driver.CUmemcpyAttributes_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemcpyAttributes_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUmemcpyAttributes_st(void_ptr _ptr=0)\n\nAttributes specific to copies within a batch. For more details on\nusage see cuMemcpyBatchAsync.\n\nAttributes\n----------\nsrcAccessOrder : CUmemcpySrcAccessOrder\n    Source access ordering to be observed for copies with this\n    attribute.\nsrcLocHint : CUmemLocation\n    Hint location for the source operand. Ignored when the pointers are\n    not managed memory or memory allocated outside CUDA.\ndstLocHint : CUmemLocation\n    Hint location for the destination operand. Ignored when the\n    pointers are not managed memory or memory allocated outside CUDA.\nflags : unsigned int\n    Additional flags for copies with this attribute. See CUmemcpyFlags\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUoffset3D_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUoffset3D_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUoffset3D_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUoffset3D_st_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1x_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUoffset3D_st_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUoffset3D_st_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1y_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUoffset3D_st_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUoffset3D_st_z(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1z_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUoffset3D_st_z(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_1z_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUoffset3D_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUoffset3D_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUoffset3D_st[] = {
  {"x", __pyx_getprop_4cuda_8bindings_6driver_13CUoffset3D_st_x, __pyx_setprop_4cuda_8bindings_6driver_13CUoffset3D_st_x, 0, 0},
  {"y", __pyx_getprop_4cuda_8bindings_6driver_13CUoffset3D_st_y, __pyx_setprop_4cuda_8bindings_6driver_13CUoffset3D_st_y, 0, 0},
  {"z", __pyx_getprop_4cuda_8bindings_6driver_13CUoffset3D_st_z, __pyx_setprop_4cuda_8bindings_6driver_13CUoffset3D_st_z, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUoffset3D_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUoffset3D_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUoffset3D_st(void_ptr _ptr=0)\n\nStruct representing offset into a CUarray in elements\n\nAttributes\n----------\nx : size_t\n\ny : size_t\n\nz : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUoffset3D_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUoffset3D_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUoffset3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUoffset3D_st_spec = {
  "cuda.bindings.driver.CUoffset3D_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUoffset3D_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUoffset3D_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUoffset3D_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUoffset3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUoffset3D_st(void_ptr _ptr=0)\n\nStruct representing offset into a CUarray in elements\n\nAttributes\n----------\nx : size_t\n\ny : size_t\n\nz : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUoffset3D_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUoffset3D_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUoffset3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUextent3D_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUextent3D_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUextent3D_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUextent3D_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUextent3D_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUextent3D_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUextent3D_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUextent3D_st_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUextent3D_st_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUextent3D_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUextent3D_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUextent3D_st[] = {
  {"width", __pyx_getprop_4cuda_8bindings_6driver_13CUextent3D_st_width, __pyx_setprop_4cuda_8bindings_6driver_13CUextent3D_st_width, 0, 0},
  {"height", __pyx_getprop_4cuda_8bindings_6driver_13CUextent3D_st_height, __pyx_setprop_4cuda_8bindings_6driver_13CUextent3D_st_height, 0, 0},
  {"depth", __pyx_getprop_4cuda_8bindings_6driver_13CUextent3D_st_depth, __pyx_setprop_4cuda_8bindings_6driver_13CUextent3D_st_depth, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUextent3D_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUextent3D_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUextent3D_st(void_ptr _ptr=0)\n\nStruct representing width/height/depth of a CUarray in elements\n\nAttributes\n----------\nwidth : size_t\n\nheight : size_t\n\ndepth : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUextent3D_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUextent3D_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUextent3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUextent3D_st_spec = {
  "cuda.bindings.driver.CUextent3D_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUextent3D_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUextent3D_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUextent3D_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUextent3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUextent3D_st(void_ptr _ptr=0)\n\nStruct representing width/height/depth of a CUarray in elements\n\nAttributes\n----------\nwidth : size_t\n\nheight : size_t\n\ndepth : size_t\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUextent3D_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUextent3D_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUextent3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct23(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)o);
  p->_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_locHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct23(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct23) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_ptr);
  Py_CLEAR(p->_locHint);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct23(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_ptr) {
    e = (*v)(((PyObject *)p->_ptr), a); if (e) return e;
  }
  if (p->_locHint) {
    e = (*v)(((PyObject *)p->_locHint), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct23(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)o;
  tmp = ((PyObject*)p->_ptr);
  p->_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_locHint);
  p->_locHint = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct23_ptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3ptr_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct23_ptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3ptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct23_rowLength(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9rowLength_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct23_rowLength(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9rowLength_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct23_layerHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct23_layerHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11layerHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct23_locHint(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7locHint_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct23_locHint(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7locHint_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct23[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct23_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct23_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct23_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct23[] = {
  {"ptr", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct23_ptr, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct23_ptr, 0, 0},
  {"rowLength", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct23_rowLength, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct23_rowLength, 0, 0},
  {"layerHeight", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct23_layerHeight, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct23_layerHeight, 0, 0},
  {"locHint", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct23_locHint, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct23_locHint, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct23_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct23},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct23(void_ptr _ptr)\n\nAttributes\n----------\nptr : CUdeviceptr\n\nrowLength : size_t\n\nlayerHeight : size_t\n\nlocHint : CUmemLocation\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct23},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct23},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct23},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct23},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct23},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct23_spec = {
  "cuda.bindings.driver.anon_struct23",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct23_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct23 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct23", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct23, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct23(void_ptr _ptr)\n\nAttributes\n----------\nptr : CUdeviceptr\n\nrowLength : size_t\n\nlayerHeight : size_t\n\nlocHint : CUmemLocation\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct23, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct23, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct23, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct23, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct23_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct23, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_struct24(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)o);
  p->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_offset = ((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct24(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct24) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_array);
  Py_CLEAR(p->_offset);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct24(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_array) {
    e = (*v)(((PyObject *)p->_array), a); if (e) return e;
  }
  if (p->_offset) {
    e = (*v)(((PyObject *)p->_offset), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct24(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)o;
  tmp = ((PyObject*)p->_array);
  p->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_offset);
  p->_offset = ((struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct24_array(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5array_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct24_array(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_5array_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13anon_struct24_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13anon_struct24_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_struct24[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct24_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct24_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13anon_struct24_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_struct24[] = {
  {"array", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct24_array, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct24_array, 0, 0},
  {"offset", __pyx_getprop_4cuda_8bindings_6driver_13anon_struct24_offset, __pyx_setprop_4cuda_8bindings_6driver_13anon_struct24_offset, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_struct24_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct24},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct24(void_ptr _ptr)\n\nAttributes\n----------\narray : CUarray\n\noffset : CUoffset3D\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct24},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_struct24},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_struct24},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_struct24},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13anon_struct24_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_struct24},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_struct24_spec = {
  "cuda.bindings.driver.anon_struct24",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_struct24_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_struct24 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_struct24", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_struct24, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct24(void_ptr _ptr)\n\nAttributes\n----------\narray : CUarray\n\noffset : CUoffset3D\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_struct24, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_struct24, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_struct24, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_struct24, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13anon_struct24_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_struct24, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union12(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)o);
  p->_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)Py_None); Py_INCREF(Py_None);
  p->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_union12_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union12(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union12) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_union12_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_ptr);
  Py_CLEAR(p->_array);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union12(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_ptr) {
    e = (*v)(((PyObject *)p->_ptr), a); if (e) return e;
  }
  if (p->_array) {
    e = (*v)(((PyObject *)p->_array), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_anon_union12(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *p = (struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)o;
  tmp = ((PyObject*)p->_ptr);
  p->_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct23 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_array);
  p->_array = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_struct24 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_union12_ptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_union12_3ptr_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_union12_ptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_union12_3ptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_union12_array(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_union12_5array_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_union12_array(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_union12_5array_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union12[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union12_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union12_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union12_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union12_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union12_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union12_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union12[] = {
  {"ptr", __pyx_getprop_4cuda_8bindings_6driver_12anon_union12_ptr, __pyx_setprop_4cuda_8bindings_6driver_12anon_union12_ptr, 0, 0},
  {"array", __pyx_getprop_4cuda_8bindings_6driver_12anon_union12_array, __pyx_setprop_4cuda_8bindings_6driver_12anon_union12_array, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union12_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union12},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_union12_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union12(void_ptr _ptr)\n\nAttributes\n----------\nptr : anon_struct23\n\narray : anon_struct24\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_anon_union12},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_anon_union12},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union12},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union12},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_union12_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union12},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union12_spec = {
  "cuda.bindings.driver.anon_union12",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_anon_union12_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union12 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union12", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union12), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union12, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_union12_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_union12(void_ptr _ptr)\n\nAttributes\n----------\nptr : anon_struct23\n\narray : anon_struct24\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_anon_union12, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_anon_union12, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union12, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union12, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_union12_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union12, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpy3DOperand_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)o);
  p->_op = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpy3DOperand_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpy3DOperand_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_op);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpy3DOperand_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_op) {
    e = (*v)(((PyObject *)p->_op), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpy3DOperand_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st *)o;
  tmp = ((PyObject*)p->_op);
  p->_op = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union12 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_op(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_op(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_2op_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemcpy3DOperand_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemcpy3DOperand_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_type, __pyx_setprop_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_type, 0, 0},
  {"op", __pyx_getprop_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_op, __pyx_setprop_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_op, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemcpy3DOperand_st(void_ptr _ptr=0)\n\nStruct representing an operand for copy with cuMemcpy3DBatchAsync\n\nAttributes\n----------\ntype : CUmemcpy3DOperandType\n\nop : anon_union12\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st_spec = {
  "cuda.bindings.driver.CUmemcpy3DOperand_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemcpy3DOperand_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUmemcpy3DOperand_st(void_ptr _ptr=0)\n\nStruct representing an operand for copy with cuMemcpy3DBatchAsync\n\nAttributes\n----------\ntype : CUmemcpy3DOperandType\n\nop : anon_union12\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_src = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *)Py_None); Py_INCREF(Py_None);
  p->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *)Py_None); Py_INCREF(Py_None);
  p->_extent = ((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_src);
  Py_CLEAR(p->_dst);
  Py_CLEAR(p->_extent);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_src) {
    e = (*v)(((PyObject *)p->_src), a); if (e) return e;
  }
  if (p->_dst) {
    e = (*v)(((PyObject *)p->_dst), a); if (e) return e;
  }
  if (p->_extent) {
    e = (*v)(((PyObject *)p->_extent), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st *)o;
  tmp = ((PyObject*)p->_src);
  p->_src = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dst);
  p->_dst = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_extent);
  p->_extent = ((struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_src(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_src(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3src_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_dst(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_dst(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3dst_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_extent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_extent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6extent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_srcAccessOrder(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_srcAccessOrder(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_14srcAccessOrder_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st[] = {
  {"src", __pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_src, __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_src, 0, 0},
  {"dst", __pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_dst, __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_dst, 0, 0},
  {"extent", __pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_extent, __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_extent, 0, 0},
  {"srcAccessOrder", __pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_srcAccessOrder, __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_srcAccessOrder, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_flags, __pyx_setprop_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_flags, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY3D_BATCH_OP_st(void_ptr _ptr=0)\n\nAttributes\n----------\nsrc : CUmemcpy3DOperand\n    Source memcpy operand.\ndst : CUmemcpy3DOperand\n    Destination memcpy operand.\nextent : CUextent3D\n    Extents of the memcpy between src and dst. The width, height and\n    depth components must not be 0.\nsrcAccessOrder : CUmemcpySrcAccessOrder\n    Source access ordering to be observed for copy from src to dst.\nflags : unsigned int\n    Additional flags for copies with this attribute. See CUmemcpyFlags\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D_BATCH_OP_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEMCPY3D_BATCH_OP_st(void_ptr _ptr=0)\n\nAttributes\n----------\nsrc : CUmemcpy3DOperand\n    Source memcpy operand.\ndst : CUmemcpy3DOperand\n    Destination memcpy operand.\nextent : CUextent3D\n    Extents of the memcpy between src and dst. The width, height and\n    depth components must not be 0.\nsrcAccessOrder : CUmemcpySrcAccessOrder\n    Source access ordering to be observed for copy from src to dst.\nflags : unsigned int\n    Additional flags for copies with this attribute. See CUmemcpyFlags\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_poolProps = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)Py_None); Py_INCREF(Py_None);
  p->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_poolProps);
  Py_CLEAR(p->_dptr);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_poolProps) {
    e = (*v)(((PyObject *)p->_poolProps), a); if (e) return e;
  }
  if (p->_dptr) {
    e = (*v)(((PyObject *)p->_dptr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)o;
  tmp = ((PyObject*)p->_poolProps);
  p->_poolProps = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dptr);
  p->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_poolProps(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_poolProps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_bytesize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_bytesize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_dptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_dptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st[] = {
  {"poolProps", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_poolProps, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_poolProps, 0, 0},
  {"accessDescs", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescs, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescs, 0, 0},
  {"accessDescCount", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescCount, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescCount, 0, 0},
  {"bytesize", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_bytesize, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_bytesize, 0, 0},
  {"dptr", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_dptr, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_dptr, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(void_ptr _ptr=0)\n\nMemory allocation node parameters\n\nAttributes\n----------\npoolProps : CUmemPoolProps\n    in: location where the allocation should reside (specified in\n    ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n    not supported.\naccessDescs : CUmemAccessDesc\n    in: array of memory access descriptors. Used to describe peer GPU\n    access\naccessDescCount : size_t\n    in: number of memory access descriptors. Must not exceed the number\n    of GPUs.\nbytesize : size_t\n    in: size in bytes of the requested allocation\ndptr : CUdeviceptr\n    out: address of the allocation returned by CUDA\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_spec = {
  "cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEM_ALLOC_NODE_PARAMS_v1_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(void_ptr _ptr=0)\n\nMemory allocation node parameters\n\nAttributes\n----------\npoolProps : CUmemPoolProps\n    in: location where the allocation should reside (specified in\n    ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n    not supported.\naccessDescs : CUmemAccessDesc\n    in: array of memory access descriptors. Used to describe peer GPU\n    access\naccessDescCount : size_t\n    in: number of memory access descriptors. Must not exceed the number\n    of GPUs.\nbytesize : size_t\n    in: size in bytes of the requested allocation\ndptr : CUdeviceptr\n    out: address of the allocation returned by CUDA\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_poolProps = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)Py_None); Py_INCREF(Py_None);
  p->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_poolProps);
  Py_CLEAR(p->_dptr);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_poolProps) {
    e = (*v)(((PyObject *)p->_poolProps), a); if (e) return e;
  }
  if (p->_dptr) {
    e = (*v)(((PyObject *)p->_dptr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_poolProps);
  p->_poolProps = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dptr);
  p->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_poolProps(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_poolProps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_bytesize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_bytesize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_dptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_dptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st[] = {
  {"poolProps", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_poolProps, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_poolProps, 0, 0},
  {"accessDescs", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescs, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescs, 0, 0},
  {"accessDescCount", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescCount, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescCount, 0, 0},
  {"bytesize", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_bytesize, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_bytesize, 0, 0},
  {"dptr", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_dptr, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_dptr, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nMemory allocation node parameters\n\nAttributes\n----------\npoolProps : CUmemPoolProps\n    in: location where the allocation should reside (specified in\n    ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n    not supported.\naccessDescs : CUmemAccessDesc\n    in: array of memory access descriptors. Used to describe peer GPU\n    access\naccessDescCount : size_t\n    in: number of memory access descriptors. Must not exceed the number\n    of GPUs.\nbytesize : size_t\n    in: size in bytes of the requested allocation\ndptr : CUdeviceptr\n    out: address of the allocation returned by CUDA\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_spec = {
  "cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEM_ALLOC_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(void_ptr _ptr=0)\n\nMemory allocation node parameters\n\nAttributes\n----------\npoolProps : CUmemPoolProps\n    in: location where the allocation should reside (specified in\n    ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n    not supported.\naccessDescs : CUmemAccessDesc\n    in: array of memory access descriptors. Used to describe peer GPU\n    access\naccessDescCount : size_t\n    in: number of memory access descriptors. Must not exceed the number\n    of GPUs.\nbytesize : size_t\n    in: size in bytes of the requested allocation\ndptr : CUdeviceptr\n    out: address of the allocation returned by CUDA\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_dptr);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_dptr) {
    e = (*v)(((PyObject *)p->_dptr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_dptr);
  p->_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_dptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_dptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st[] = {
  {"dptr", __pyx_getprop_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_dptr, __pyx_setprop_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_dptr, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEM_FREE_NODE_PARAMS_st(void_ptr _ptr=0)\n\nMemory free node parameters\n\nAttributes\n----------\ndptr : CUdeviceptr\n    in: the pointer to free\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEM_FREE_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_MEM_FREE_NODE_PARAMS_st(void_ptr _ptr=0)\n\nMemory free node parameters\n\nAttributes\n----------\ndptr : CUdeviceptr\n    in: the pointer to free\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_graph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_graph);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_graph) {
    e = (*v)(((PyObject *)p->_graph), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_graph);
  p->_graph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_graph(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_graph(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_ownership(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_ownership(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9ownership_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st[] = {
  {"graph", __pyx_getprop_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_graph, __pyx_setprop_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_graph, 0, 0},
  {"ownership", __pyx_getprop_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_ownership, __pyx_setprop_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_ownership, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_CHILD_GRAPH_NODE_PARAMS_st(void_ptr _ptr=0)\n\nChild graph node parameters\n\nAttributes\n----------\ngraph : CUgraph\n    The child graph to clone into the node for node creation, or a\n    handle to the graph owned by the node for node query. The graph\n    must not contain conditional nodes. Graphs containing memory\n    allocation or memory free nodes must set the ownership to be moved\n    to the parent.\nownership : CUgraphChildGraphNodeOwnership\n    The ownership relationship of the child graph node.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_CHILD_GRAPH_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_CHILD_GRAPH_NODE_PARAMS_st(void_ptr _ptr=0)\n\nChild graph node parameters\n\nAttributes\n----------\ngraph : CUgraph\n    The child graph to clone into the node for node creation, or a\n    handle to the graph owned by the node for node query. The graph\n    must not contain conditional nodes. Graphs containing memory\n    allocation or memory free nodes must set the ownership to be moved\n    to the parent.\nownership : CUgraphChildGraphNodeOwnership\n    The ownership relationship of the child graph node.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_event);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st[] = {
  {"event", __pyx_getprop_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_event, __pyx_setprop_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_event, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EVENT_RECORD_NODE_PARAMS_st(void_ptr _ptr=0)\n\nEvent record node parameters\n\nAttributes\n----------\nevent : CUevent\n    The event to record when the node executes\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EVENT_RECORD_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_EVENT_RECORD_NODE_PARAMS_st(void_ptr _ptr=0)\n\nEvent record node parameters\n\nAttributes\n----------\nevent : CUevent\n    The event to record when the node executes\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  Py_CLEAR(p->_event);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st[] = {
  {"event", __pyx_getprop_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_event, __pyx_setprop_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_event, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_EVENT_WAIT_NODE_PARAMS_st(void_ptr _ptr=0)\n\nEvent wait node parameters\n\nAttributes\n----------\nevent : CUevent\n    The event to wait on from the node\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st_spec = {
  "cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EVENT_WAIT_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUDA_EVENT_WAIT_NODE_PARAMS_st(void_ptr _ptr=0)\n\nEvent wait node parameters\n\nAttributes\n----------\nevent : CUevent\n    The event to wait on from the node\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphNodeParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)o);
  p->_kernel = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 *)Py_None); Py_INCREF(Py_None);
  p->_memcpy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_memset = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_host = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_graph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_eventWait = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_eventRecord = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_extSemSignal = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_extSemWait = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_alloc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_free = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_memOp = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_conditional = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNodeParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNodeParams_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_kernel);
  Py_CLEAR(p->_memcpy);
  Py_CLEAR(p->_memset);
  Py_CLEAR(p->_host);
  Py_CLEAR(p->_graph);
  Py_CLEAR(p->_eventWait);
  Py_CLEAR(p->_eventRecord);
  Py_CLEAR(p->_extSemSignal);
  Py_CLEAR(p->_extSemWait);
  Py_CLEAR(p->_alloc);
  Py_CLEAR(p->_free);
  Py_CLEAR(p->_memOp);
  Py_CLEAR(p->_conditional);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphNodeParams_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_kernel) {
    e = (*v)(((PyObject *)p->_kernel), a); if (e) return e;
  }
  if (p->_memcpy) {
    e = (*v)(((PyObject *)p->_memcpy), a); if (e) return e;
  }
  if (p->_memset) {
    e = (*v)(((PyObject *)p->_memset), a); if (e) return e;
  }
  if (p->_host) {
    e = (*v)(((PyObject *)p->_host), a); if (e) return e;
  }
  if (p->_graph) {
    e = (*v)(((PyObject *)p->_graph), a); if (e) return e;
  }
  if (p->_eventWait) {
    e = (*v)(((PyObject *)p->_eventWait), a); if (e) return e;
  }
  if (p->_eventRecord) {
    e = (*v)(((PyObject *)p->_eventRecord), a); if (e) return e;
  }
  if (p->_extSemSignal) {
    e = (*v)(((PyObject *)p->_extSemSignal), a); if (e) return e;
  }
  if (p->_extSemWait) {
    e = (*v)(((PyObject *)p->_extSemWait), a); if (e) return e;
  }
  if (p->_alloc) {
    e = (*v)(((PyObject *)p->_alloc), a); if (e) return e;
  }
  if (p->_free) {
    e = (*v)(((PyObject *)p->_free), a); if (e) return e;
  }
  if (p->_memOp) {
    e = (*v)(((PyObject *)p->_memOp), a); if (e) return e;
  }
  if (p->_conditional) {
    e = (*v)(((PyObject *)p->_conditional), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUgraphNodeParams_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st *)o;
  tmp = ((PyObject*)p->_kernel);
  p->_kernel = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memcpy);
  p->_memcpy = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memset);
  p->_memset = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_host);
  p->_host = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_graph);
  p->_graph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_eventWait);
  p->_eventWait = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_eventRecord);
  p->_eventRecord = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_extSemSignal);
  p->_extSemSignal = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_extSemWait);
  p->_extSemWait = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_alloc);
  p->_alloc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_free);
  p->_free = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memOp);
  p->_memOp = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_conditional);
  p->_conditional = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved0(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved0(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved0_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_kernel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_kernel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6kernel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memcpy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memcpy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memcpy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6memset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_host(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_host(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4host_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_graph(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_graph(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5graph_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_eventWait(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_eventWait(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9eventWait_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_eventRecord(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_eventRecord(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11eventRecord_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_extSemSignal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_extSemSignal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12extSemSignal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_extSemWait(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_extSemWait(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10extSemWait_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_alloc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_alloc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5alloc_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_free(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_free(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_4free_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memOp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memOp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_5memOp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_conditional(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_conditional(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11conditional_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved2(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved2(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9reserved2_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraphNodeParams_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20CUgraphNodeParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUgraphNodeParams_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_type, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_type, 0, 0},
  {"reserved0", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved0, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved0, 0, 0},
  {"reserved1", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved1, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved1, 0, 0},
  {"kernel", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_kernel, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_kernel, 0, 0},
  {"memcpy", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memcpy, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memcpy, 0, 0},
  {"memset", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memset, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memset, 0, 0},
  {"host", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_host, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_host, 0, 0},
  {"graph", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_graph, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_graph, 0, 0},
  {"eventWait", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_eventWait, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_eventWait, 0, 0},
  {"eventRecord", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_eventRecord, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_eventRecord, 0, 0},
  {"extSemSignal", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_extSemSignal, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_extSemSignal, 0, 0},
  {"extSemWait", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_extSemWait, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_extSemWait, 0, 0},
  {"alloc", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_alloc, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_alloc, 0, 0},
  {"free", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_free, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_free, 0, 0},
  {"memOp", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memOp, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_memOp, 0, 0},
  {"conditional", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_conditional, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_conditional, 0, 0},
  {"reserved2", __pyx_getprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved2, __pyx_setprop_4cuda_8bindings_6driver_20CUgraphNodeParams_st_reserved2, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphNodeParams_st(void_ptr _ptr=0)\n\nGraph node parameters. See cuGraphAddNode.\n\nAttributes\n----------\ntype : CUgraphNodeType\n    Type of the node\nreserved0 : list[int]\n    Reserved. Must be zero.\nreserved1 : list[long long]\n    Padding. Unused bytes must be zero.\nkernel : CUDA_KERNEL_NODE_PARAMS_v3\n    Kernel node parameters.\nmemcpy : CUDA_MEMCPY_NODE_PARAMS\n    Memcpy node parameters.\nmemset : CUDA_MEMSET_NODE_PARAMS_v2\n    Memset node parameters.\nhost : CUDA_HOST_NODE_PARAMS_v2\n    Host node parameters.\ngraph : CUDA_CHILD_GRAPH_NODE_PARAMS\n    Child graph node parameters.\neventWait : CUDA_EVENT_WAIT_NODE_PARAMS\n    Event wait node parameters.\neventRecord : CUDA_EVENT_RECORD_NODE_PARAMS\n    Event record node parameters.\nextSemSignal : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2\n    External semaphore signal node parameters.\nextSemWait : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2\n    External semaphore wait node parameters.\nalloc : CUDA_MEM_ALLOC_NODE_PARAMS_v2\n    Memory allocation node parameters.\nfree : CUDA_MEM_FREE_NODE_PARAMS\n    Memory free node parameters.\nmemOp : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2\n    MemOp node parameters.\nconditional : CUDA_CONDITIONAL_NODE_PARAMS\n    Conditional node parameters.\nreserved2 : long long\n    Reserved bytes. Must be zero.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st_spec = {
  "cuda.bindings.driver.CUgraphNodeParams_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphNodeParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUgraphNodeParams_st(void_ptr _ptr=0)\n\nGraph node parameters. See cuGraphAddNode.\n\nAttributes\n----------\ntype : CUgraphNodeType\n    Type of the node\nreserved0 : list[int]\n    Reserved. Must be zero.\nreserved1 : list[long long]\n    Padding. Unused bytes must be zero.\nkernel : CUDA_KERNEL_NODE_PARAMS_v3\n    Kernel node parameters.\nmemcpy : CUDA_MEMCPY_NODE_PARAMS\n    Memcpy node parameters.\nmemset : CUDA_MEMSET_NODE_PARAMS_v2\n    Memset node parameters.\nhost : CUDA_HOST_NODE_PARAMS_v2\n    Host node parameters.\ngraph : CUDA_CHILD_GRAPH_NODE_PARAMS\n    Child graph node parameters.\neventWait : CUDA_EVENT_WAIT_NODE_PARAMS\n    Event wait node parameters.\neventRecord : CUDA_EVENT_RECORD_NODE_PARAMS\n    Event record node parameters.\nextSemSignal : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2\n    External semaphore signal node parameters.\nextSemWait : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2\n    External semaphore wait node parameters.\nalloc : CUDA_MEM_ALLOC_NODE_PARAMS_v2\n    Memory allocation node parameters.\nfree : CUDA_MEM_FREE_NODE_PARAMS\n    Memory free node parameters.\nmemOp : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2\n    MemOp node parameters.\nconditional : CUDA_CONDITIONAL_NODE_PARAMS\n    Conditional node parameters.\nreserved2 : long long\n    Reserved bytes. Must be zero.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointLockArgs_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointLockArgs_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointLockArgs_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_timeoutMs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_timeoutMs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9timeoutMs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_reserved0(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_reserved0(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved0_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_reserved1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_reserved1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9reserved1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUcheckpointLockArgs_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointLockArgs_st[] = {
  {"timeoutMs", __pyx_getprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_timeoutMs, __pyx_setprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_timeoutMs, 0, 0},
  {"reserved0", __pyx_getprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_reserved0, __pyx_setprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_reserved0, 0, 0},
  {"reserved1", __pyx_getprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_reserved1, __pyx_setprop_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_reserved1, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointLockArgs_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUcheckpointLockArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional lock arguments\n\nAttributes\n----------\ntimeoutMs : unsigned int\n    Timeout in milliseconds to attempt to lock the process, 0 indicates\n    no timeout\nreserved0 : unsigned int\n    Reserved for future use, must be zero\nreserved1 : list[cuuint64_t]\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUcheckpointLockArgs_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUcheckpointLockArgs_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointLockArgs_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st_spec = {
  "cuda.bindings.driver.CUcheckpointLockArgs_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointLockArgs_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointLockArgs_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUcheckpointLockArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional lock arguments\n\nAttributes\n----------\ntimeoutMs : unsigned int\n    Timeout in milliseconds to attempt to lock the process, 0 indicates\n    no timeout\nreserved0 : unsigned int\n    Reserved for future use, must be zero\nreserved1 : list[cuuint64_t]\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUcheckpointLockArgs_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointLockArgs_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointLockArgs_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st[] = {
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUcheckpointCheckpointArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional checkpoint arguments\n\nAttributes\n----------\nreserved : list[cuuint64_t]\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st_spec = {
  "cuda.bindings.driver.CUcheckpointCheckpointArgs_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointCheckpointArgs_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUcheckpointCheckpointArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional checkpoint arguments\n\nAttributes\n----------\nreserved : list[cuuint64_t]\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st[] = {
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUcheckpointRestoreArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional restore arguments\n\nAttributes\n----------\nreserved : list[cuuint64_t]\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st_spec = {
  "cuda.bindings.driver.CUcheckpointRestoreArgs_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointRestoreArgs_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUcheckpointRestoreArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional restore arguments\n\nAttributes\n----------\nreserved : list[cuuint64_t]\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st[] = {
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUcheckpointUnlockArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional unlock arguments\n\nAttributes\n----------\nreserved : list[cuuint64_t]\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st_spec = {
  "cuda.bindings.driver.CUcheckpointUnlockArgs_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointUnlockArgs_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUcheckpointUnlockArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional unlock arguments\n\nAttributes\n----------\nreserved : list[cuuint64_t]\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemDecompressParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemDecompressParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemDecompressParams_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_srcNumBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_srcNumBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11srcNumBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dstNumBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dstNumBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstNumBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dstActBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11dstActBytes_1__get__(o);
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_src(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_src(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3src_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dst(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dst(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3dst_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_algo(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_algo(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_4algo_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_padding(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_padding(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7padding_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemDecompressParams_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUmemDecompressParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUmemDecompressParams_st[] = {
  {"srcNumBytes", __pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_srcNumBytes, __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_srcNumBytes, 0, 0},
  {"dstNumBytes", __pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dstNumBytes, __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dstNumBytes, 0, 0},
  {"dstActBytes", __pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dstActBytes, 0, 0, 0},
  {"src", __pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_src, __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_src, 0, 0},
  {"dst", __pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dst, __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_dst, 0, 0},
  {"algo", __pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_algo, __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_algo, 0, 0},
  {"padding", __pyx_getprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_padding, __pyx_setprop_4cuda_8bindings_6driver_24CUmemDecompressParams_st_padding, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemDecompressParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemDecompressParams_st(void_ptr _ptr=0)\n\nStructure describing the parameters that compose a single\ndecompression operation.\n\nAttributes\n----------\nsrcNumBytes : size_t\n    The number of bytes to be read and decompressed from\n    CUmemDecompressParams_st.src.\ndstNumBytes : size_t\n    The number of bytes that the decompression operation will be\n    expected to write to CUmemDecompressParams_st.dst. This value is\n    optional; if present, it may be used by the CUDA driver as a\n    heuristic for scheduling the individual decompression operations.\ndstActBytes : cuuint32_t\n    After the decompression operation has completed, the actual number\n    of bytes written to CUmemDecompressParams.dst will be recorded as a\n    32-bit unsigned integer in the memory at this address.\nsrc : Any\n    Pointer to a buffer of at least\n    CUmemDecompressParams_st.srcNumBytes compressed bytes.\ndst : Any\n    Pointer to a buffer where the decompressed data will be written.\n    The number of bytes written to this location will be recorded in\n    the memory pointed to by CUmemDecompressParams_st.dstActBytes\nalgo : CUmemDecompressAlgorithm\n    The decompression algorithm to use.\npadding : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemDecompressParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUmemDecompressParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemDecompressParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st_spec = {
  "cuda.bindings.driver.CUmemDecompressParams_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemDecompressParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemDecompressParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUmemDecompressParams_st(void_ptr _ptr=0)\n\nStructure describing the parameters that compose a single\ndecompression operation.\n\nAttributes\n----------\nsrcNumBytes : size_t\n    The number of bytes to be read and decompressed from\n    CUmemDecompressParams_st.src.\ndstNumBytes : size_t\n    The number of bytes that the decompression operation will be\n    expected to write to CUmemDecompressParams_st.dst. This value is\n    optional; if present, it may be used by the CUDA driver as a\n    heuristic for scheduling the individual decompression operations.\ndstActBytes : cuuint32_t\n    After the decompression operation has completed, the actual number\n    of bytes written to CUmemDecompressParams.dst will be recorded as a\n    32-bit unsigned integer in the memory at this address.\nsrc : Any\n    Pointer to a buffer of at least\n    CUmemDecompressParams_st.srcNumBytes compressed bytes.\ndst : Any\n    Pointer to a buffer where the decompressed data will be written.\n    The number of bytes written to this location will be recorded in\n    the memory pointed to by CUmemDecompressParams_st.dstActBytes\nalgo : CUmemDecompressAlgorithm\n    The decompression algorithm to use.\npadding : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemDecompressParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUmemDecompressParams_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemDecompressParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevSmResource_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevSmResource_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevSmResource_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUdevSmResource_st_smCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUdevSmResource_st_smCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7smCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdevSmResource_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18CUdevSmResource_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUdevSmResource_st[] = {
  {"smCount", __pyx_getprop_4cuda_8bindings_6driver_18CUdevSmResource_st_smCount, __pyx_setprop_4cuda_8bindings_6driver_18CUdevSmResource_st_smCount, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevSmResource_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevSmResource_st(void_ptr _ptr=0)\n\nAttributes\n----------\nsmCount : unsigned int\n    The amount of streaming multiprocessors available in this resource.\n    This is an output parameter only, do not write to this field.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdevSmResource_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUdevSmResource_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevSmResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st_spec = {
  "cuda.bindings.driver.CUdevSmResource_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevSmResource_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevSmResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("CUdevSmResource_st(void_ptr _ptr=0)\n\nAttributes\n----------\nsmCount : unsigned int\n    The amount of streaming multiprocessors available in this resource.\n    This is an output parameter only, do not write to this field.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdevSmResource_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUdevSmResource_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevSmResource_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevResource_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)o);
  p->_sm = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResource_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResource_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_sm);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUdevResource_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_sm) {
    e = (*v)(((PyObject *)p->_sm), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUdevResource_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)o;
  tmp = ((PyObject*)p->_sm);
  p->_sm = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st__internal_padding(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st__internal_padding(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_17_internal_padding_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_sm(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2sm_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_sm(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2sm_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st__oversize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st__oversize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9_oversize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdevResource_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16CUdevResource_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUdevResource_st[] = {
  {"type", __pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_type, __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_type, 0, 0},
  {"_internal_padding", __pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st__internal_padding, __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st__internal_padding, 0, 0},
  {"sm", __pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_sm, __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_sm, 0, 0},
  {"_oversize", __pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st__oversize, __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st__oversize, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevResource_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevResource_st(void_ptr _ptr=0)\n\nAttributes\n----------\ntype : CUdevResourceType\n    Type of resource, dictates which union field was last set\n_internal_padding : bytes\n\nsm : CUdevSmResource\n    Resource corresponding to CU_DEV_RESOURCE_TYPE_SM `typename`.\n_oversize : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevResource_st_spec = {
  "cuda.bindings.driver.CUdevResource_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUdevResource_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevResource_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevResource_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUdevResource_st(void_ptr _ptr=0)\n\nAttributes\n----------\ntype : CUdevResourceType\n    Type of resource, dictates which union field was last set\n_internal_padding : bytes\n\nsm : CUdevSmResource\n    Resource corresponding to CU_DEV_RESOURCE_TYPE_SM `typename`.\n_oversize : bytes\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUdevResource_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUdevResource_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdevResource_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUdevResource_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevResource_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_anon_union15(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12anon_union15_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union15(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union15) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12anon_union15_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_union15_pArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pArray_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_union15_pArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_12anon_union15_pPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_12anon_union15_pPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_12anon_union15_6pPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_anon_union15[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union15_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union15_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union15_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union15_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12anon_union15_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12anon_union15_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_anon_union15[] = {
  {"pArray", __pyx_getprop_4cuda_8bindings_6driver_12anon_union15_pArray, __pyx_setprop_4cuda_8bindings_6driver_12anon_union15_pArray, 0, 0},
  {"pPitch", __pyx_getprop_4cuda_8bindings_6driver_12anon_union15_pPitch, __pyx_setprop_4cuda_8bindings_6driver_12anon_union15_pPitch, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_anon_union15_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union15},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_union15_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union15(void_ptr _ptr)\n\nAttributes\n----------\npArray : list[CUarray]\n\npPitch : list[Any]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_anon_union15},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_anon_union15},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_12anon_union15_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_anon_union15},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_anon_union15_spec = {
  "cuda.bindings.driver.anon_union15",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_anon_union15_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_anon_union15 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""anon_union15", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_anon_union15), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_anon_union15, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12anon_union15_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("anon_union15(void_ptr _ptr)\n\nAttributes\n----------\npArray : list[CUarray]\n\npPitch : list[Any]\n\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_anon_union15, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_anon_union15, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_12anon_union15_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_anon_union15, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUeglFrame_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)o);
  p->_frame = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglFrame_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglFrame_st) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_frame);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUeglFrame_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_frame) {
    e = (*v)(((PyObject *)p->_frame), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUeglFrame_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st *)o;
  tmp = ((PyObject*)p->_frame);
  p->_frame = ((struct __pyx_obj_4cuda_8bindings_6driver_anon_union15 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_frame(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_frame(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5frame_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_planeCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_planeCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_10planeCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_numChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_numChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11numChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_frameType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_frameType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9frameType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_eglColorFormat(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_eglColorFormat(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_14eglColorFormat_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_cuFormat(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_cuFormat(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_8cuFormat_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUeglFrame_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUeglFrame_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUeglFrame_st[] = {
  {"frame", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_frame, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_frame, 0, 0},
  {"width", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_width, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_width, 0, 0},
  {"height", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_height, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_height, 0, 0},
  {"depth", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_depth, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_depth, 0, 0},
  {"pitch", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_pitch, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_pitch, 0, 0},
  {"planeCount", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_planeCount, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_planeCount, 0, 0},
  {"numChannels", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_numChannels, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_numChannels, 0, 0},
  {"frameType", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_frameType, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_frameType, 0, 0},
  {"eglColorFormat", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_eglColorFormat, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_eglColorFormat, 0, 0},
  {"cuFormat", __pyx_getprop_4cuda_8bindings_6driver_13CUeglFrame_st_cuFormat, __pyx_setprop_4cuda_8bindings_6driver_13CUeglFrame_st_cuFormat, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUeglFrame_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUeglFrame_st(void_ptr _ptr=0)\n\nCUDA EGLFrame structure Descriptor - structure defining one frame\nof EGL.  Each frame may contain one or more planes depending on\nwhether the surface * is Multiplanar or not.\n\nAttributes\n----------\nframe : anon_union15\n\nwidth : unsigned int\n    Width of first plane\nheight : unsigned int\n    Height of first plane\ndepth : unsigned int\n    Depth of first plane\npitch : unsigned int\n    Pitch of first plane\nplaneCount : unsigned int\n    Number of planes\nnumChannels : unsigned int\n    Number of channels for the plane\nframeType : CUeglFrameType\n    Array or Pitch\neglColorFormat : CUeglColorFormat\n    CUDA EGL Color Format\ncuFormat : CUarray_format\n    CUDA Array Format\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUeglFrame_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUeglFrame_st_spec = {
  "cuda.bindings.driver.CUeglFrame_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver_CUeglFrame_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUeglFrame_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUeglFrame_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUeglFrame_st(void_ptr _ptr=0)\n\nCUDA EGLFrame structure Descriptor - structure defining one frame\nof EGL.  Each frame may contain one or more planes depending on\nwhether the surface * is Multiplanar or not.\n\nAttributes\n----------\nframe : anon_union15\n\nwidth : unsigned int\n    Width of first plane\nheight : unsigned int\n    Height of first plane\ndepth : unsigned int\n    Depth of first plane\npitch : unsigned int\n    Pitch of first plane\nplaneCount : unsigned int\n    Number of planes\nnumChannels : unsigned int\n    Number of channels for the plane\nframeType : CUeglFrameType\n    Array or Pitch\neglColorFormat : CUeglColorFormat\n    CUDA EGL Color Format\ncuFormat : CUarray_format\n    CUDA Array Format\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdeviceptr(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdeviceptr(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdeviceptr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdeviceptr[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdeviceptr_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdeviceptr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdeviceptr},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    CUDA device pointer CUdeviceptr is defined as an unsigned integer type whose size matches the size of a pointer on the target platform.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdeviceptr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdeviceptr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdeviceptr_spec = {
  "cuda.bindings.driver.CUdeviceptr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUdeviceptr_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdeviceptr = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdeviceptr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdeviceptr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdeviceptr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11CUdeviceptr_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUdeviceptr, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    CUDA device pointer CUdeviceptr is defined as an unsigned integer type whose size matches the size of a pointer on the target platform.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdeviceptr, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdeviceptr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevice(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_8CUdevice_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevice(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevice) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_8CUdevice_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdevice[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUdevice_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUdevice_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUdevice_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUdevice_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUdevice_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUdevice_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevice_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevice},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUdevice_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_8CUdevice_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    CUDA device\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdevice},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevice},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevice_spec = {
  "cuda.bindings.driver.CUdevice",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUdevice_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdevice = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_8CUdevice_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevice = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevice", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevice, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_8CUdevice_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUdevice, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    CUDA device\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdevice, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevice, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUtexObject(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexObject(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexObject) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11CUtexObject_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUtexObject[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUtexObject_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUtexObject_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUtexObject_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUtexObject_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexObject},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUtexObject_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    An opaque value that represents a CUDA texture object\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUtexObject},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUtexObject},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUtexObject_spec = {
  "cuda.bindings.driver.CUtexObject",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUtexObject_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUtexObject = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_11CUtexObject_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUtexObject = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUtexObject", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexObject, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11CUtexObject_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUtexObject, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    An opaque value that represents a CUDA texture object\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUtexObject, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUtexObject, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUsurfObject(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfObject(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfObject) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUsurfObject[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_12CUsurfObject_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUsurfObject_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfObject},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    An opaque value that represents a CUDA surface object\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUsurfObject},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUsurfObject},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUsurfObject_spec = {
  "cuda.bindings.driver.CUsurfObject",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUsurfObject_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUsurfObject = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUsurfObject = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUsurfObject", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfObject, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_12CUsurfObject_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUsurfObject, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    An opaque value that represents a CUDA surface object\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUsurfObject, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUsurfObject, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUgraphConditionalHandle(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphConditionalHandle(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphConditionalHandle) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUgraphConditionalHandle[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24CUgraphConditionalHandle_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphConditionalHandle},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUgraphConditionalHandle},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphConditionalHandle},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle_spec = {
  "cuda.bindings.driver.CUgraphConditionalHandle",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphConditionalHandle = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphConditionalHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphConditionalHandle, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_24CUgraphConditionalHandle_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphConditionalHandle, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUgraphConditionalHandle, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphConditionalHandle, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUuuid_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUuuid_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    bytes : bytes\n        < CUDA definition of UUID\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUuuid_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUuuid_spec = {
  "cuda.bindings.driver.CUuuid",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUuuid_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUuuid = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUuuid", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUuuid), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUuuid_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    bytes : bytes\n        < CUDA definition of UUID\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_9CUuuid_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUuuid_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemFabricHandle_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Fabric handle - An opaque handle representing a memory allocation\n    that can be exported to processes in same or different nodes. For\n    IPC between processes on different nodes they must be connected via\n    the NVSwitch fabric.\n\n    Attributes\n    ----------\n    data : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemFabricHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1_spec = {
  "cuda.bindings.driver.CUmemFabricHandle_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemFabricHandle_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemFabricHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Fabric handle - An opaque handle representing a memory allocation\n    that can be exported to processes in same or different nodes. For\n    IPC between processes on different nodes they must be connected via\n    the NVSwitch fabric.\n\n    Attributes\n    ----------\n    data : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemFabricHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemFabricHandle_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Fabric handle - An opaque handle representing a memory allocation\n    that can be exported to processes in same or different nodes. For\n    IPC between processes on different nodes they must be connected via\n    the NVSwitch fabric.\n\n    Attributes\n    ----------\n    data : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemFabricHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_spec = {
  "cuda.bindings.driver.CUmemFabricHandle",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemFabricHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemFabricHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemFabricHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Fabric handle - An opaque handle representing a memory allocation\n    that can be exported to processes in same or different nodes. For\n    IPC between processes on different nodes they must be connected via\n    the NVSwitch fabric.\n\n    Attributes\n    ----------\n    data : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUmemFabricHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemFabricHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcEventHandle_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA IPC event handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUipcEventHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1_spec = {
  "cuda.bindings.driver.CUipcEventHandle_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUipcEventHandle_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcEventHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA IPC event handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUipcEventHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcEventHandle_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA IPC event handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUipcEventHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_spec = {
  "cuda.bindings.driver.CUipcEventHandle",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUipcEventHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUipcEventHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcEventHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA IPC event handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_19CUipcEventHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUipcEventHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcMemHandle_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA IPC mem handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUipcMemHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1_spec = {
  "cuda.bindings.driver.CUipcMemHandle_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUipcMemHandle_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcMemHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA IPC mem handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUipcMemHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcMemHandle_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA IPC mem handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUipcMemHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_spec = {
  "cuda.bindings.driver.CUipcMemHandle",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUipcMemHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUipcMemHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUipcMemHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA IPC mem handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUipcMemHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUipcMemHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : list[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1_spec = {
  "cuda.bindings.driver.CUstreamBatchMemOpParams_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamBatchMemOpParams_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : list[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : list[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_spec = {
  "cuda.bindings.driver.CUstreamBatchMemOpParams",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamBatchMemOpParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : list[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    ctx : CUcontext\n\n    count : unsigned int\n\n    paramArray : CUstreamBatchMemOpParams\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_BATCH_MEM_OP_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    ctx : CUcontext\n\n    count : unsigned int\n\n    paramArray : CUstreamBatchMemOpParams\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    ctx : CUcontext\n\n    count : unsigned int\n\n    paramArray : CUstreamBatchMemOpParams\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_BATCH_MEM_OP_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    ctx : CUcontext\n\n    count : unsigned int\n\n    paramArray : CUstreamBatchMemOpParams\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Batch memory operation node parameters\n\n    Attributes\n    ----------\n    ctx : CUcontext\n        Context to use for the operations.\n    count : unsigned int\n        Number of operations in paramArray.\n    paramArray : CUstreamBatchMemOpParams\n        Array of batch memory operations.\n    flags : unsigned int\n        Flags to control the node.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_spec = {
  "cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_BATCH_MEM_OP_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Batch memory operation node parameters\n\n    Attributes\n    ----------\n    ctx : CUcontext\n        Context to use for the operations.\n    count : unsigned int\n        Number of operations in paramArray.\n    paramArray : CUstreamBatchMemOpParams\n        Array of batch memory operations.\n    flags : unsigned int\n        Flags to control the node.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Information passed to the user via the async notification callback\n\n    Attributes\n    ----------\n    type : CUasyncNotificationType\n        The type of notification being sent\n    info : anon_union2\n        Information about the notification. `typename` must be checked in\n        order to interpret this field.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUasyncNotificationInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_spec = {
  "cuda.bindings.driver.CUasyncNotificationInfo",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUasyncNotificationInfo", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUasyncNotificationInfo), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Information passed to the user via the async notification callback\n\n    Attributes\n    ----------\n    type : CUasyncNotificationType\n        The type of notification being sent\n    info : anon_union2\n        Information about the notification. `typename` must be checked in\n        order to interpret this field.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevprop_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevprop_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Legacy device properties\n\n    Attributes\n    ----------\n    maxThreadsPerBlock : int\n        Maximum number of threads per block\n    maxThreadsDim : list[int]\n        Maximum size of each dimension of a block\n    maxGridSize : list[int]\n        Maximum size of each dimension of a grid\n    sharedMemPerBlock : int\n        Shared memory available per block in bytes\n    totalConstantMemory : int\n        Constant memory available on device in bytes\n    SIMDWidth : int\n        Warp size in threads\n    memPitch : int\n        Maximum pitch in bytes allowed by memory copies\n    regsPerBlock : int\n        32-bit registers available per block\n    clockRate : int\n        Clock frequency in kilohertz\n    textureAlign : int\n        Alignment requirement for textures\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevprop_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevprop_v1_spec = {
  "cuda.bindings.driver.CUdevprop_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUdevprop_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevprop_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevprop_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevprop_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Legacy device properties\n\n    Attributes\n    ----------\n    maxThreadsPerBlock : int\n        Maximum number of threads per block\n    maxThreadsDim : list[int]\n        Maximum size of each dimension of a block\n    maxGridSize : list[int]\n        Maximum size of each dimension of a grid\n    sharedMemPerBlock : int\n        Shared memory available per block in bytes\n    totalConstantMemory : int\n        Constant memory available on device in bytes\n    SIMDWidth : int\n        Warp size in threads\n    memPitch : int\n        Maximum pitch in bytes allowed by memory copies\n    regsPerBlock : int\n        32-bit registers available per block\n    clockRate : int\n        Clock frequency in kilohertz\n    textureAlign : int\n        Alignment requirement for textures\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevprop_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevprop_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevprop_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Legacy device properties\n\n    Attributes\n    ----------\n    maxThreadsPerBlock : int\n        Maximum number of threads per block\n    maxThreadsDim : list[int]\n        Maximum size of each dimension of a block\n    maxGridSize : list[int]\n        Maximum size of each dimension of a grid\n    sharedMemPerBlock : int\n        Shared memory available per block in bytes\n    totalConstantMemory : int\n        Constant memory available on device in bytes\n    SIMDWidth : int\n        Warp size in threads\n    memPitch : int\n        Maximum pitch in bytes allowed by memory copies\n    regsPerBlock : int\n        32-bit registers available per block\n    clockRate : int\n        Clock frequency in kilohertz\n    textureAlign : int\n        Alignment requirement for textures\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevprop_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevprop_spec = {
  "cuda.bindings.driver.CUdevprop",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUdevprop_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevprop = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevprop", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevprop_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Legacy device properties\n\n    Attributes\n    ----------\n    maxThreadsPerBlock : int\n        Maximum number of threads per block\n    maxThreadsDim : list[int]\n        Maximum size of each dimension of a block\n    maxGridSize : list[int]\n        Maximum size of each dimension of a grid\n    sharedMemPerBlock : int\n        Shared memory available per block in bytes\n    totalConstantMemory : int\n        Constant memory available on device in bytes\n    SIMDWidth : int\n        Warp size in threads\n    memPitch : int\n        Maximum pitch in bytes allowed by memory copies\n    regsPerBlock : int\n        32-bit registers available per block\n    clockRate : int\n        Clock frequency in kilohertz\n    textureAlign : int\n        Alignment requirement for textures\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_12CUdevprop_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevprop_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUaccessPolicyWindow_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies an access policy for a window, a contiguous extent of\n    memory beginning at base_ptr and ending at base_ptr + num_bytes.\n    num_bytes is limited by\n    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into\n    many segments and assign segments such that: sum of \"hit segments\"\n    / window == approx. ratio. sum of \"miss segments\" / window ==\n    approx 1-ratio. Segments and ratio specifications are fitted to the\n    capabilities of the architecture. Accesses in a hit segment apply\n    the hitProp access policy. Accesses in a miss segment apply the\n    missProp access policy.\n\n    Attributes\n    ----------\n    base_ptr : Any\n        Starting address of the access policy window. CUDA driver may align\n        it.\n    num_bytes : size_t\n        Size in bytes of the window policy. CUDA driver may restrict the\n        maximum size and alignment.\n    hitRatio : float\n        hitRatio specifies percentage of lines assigned hitProp, rest are\n        assigned missProp.\n    hitProp : CUaccessProperty\n        CUaccessProperty set for hit.\n    missProp : CUaccessProperty\n        CUaccessProperty set for miss. Must be either NORMAL or STREAMING\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUaccessPolicyWindow_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1_spec = {
  "cuda.bindings.driver.CUaccessPolicyWindow_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUaccessPolicyWindow_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies an access policy for a window, a contiguous extent of\n    memory beginning at base_ptr and ending at base_ptr + num_bytes.\n    num_bytes is limited by\n    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into\n    many segments and assign segments such that: sum of \"hit segments\"\n    / window == approx. ratio. sum of \"miss segments\" / window ==\n    approx 1-ratio. Segments and ratio specifications are fitted to the\n    capabilities of the architecture. Accesses in a hit segment apply\n    the hitProp access policy. Accesses in a miss segment apply the\n    missProp access policy.\n\n    Attributes\n    ----------\n    base_ptr : Any\n        Starting address of the access policy window. CUDA driver may align\n        it.\n    num_bytes : size_t\n        Size in bytes of the window policy. CUDA driver may restrict the\n        maximum size and alignment.\n    hitRatio : float\n        hitRatio specifies percentage of lines assigned hitProp, rest are\n        assigned missProp.\n    hitProp : CUaccessProperty\n        CUaccessProperty set for hit.\n    missProp : CUaccessProperty\n        CUaccessProperty set for miss. Must be either NORMAL or STREAMING\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUaccessPolicyWindow_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies an access policy for a window, a contiguous extent of\n    memory beginning at base_ptr and ending at base_ptr + num_bytes.\n    num_bytes is limited by\n    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into\n    many segments and assign segments such that: sum of \"hit segments\"\n    / window == approx. ratio. sum of \"miss segments\" / window ==\n    approx 1-ratio. Segments and ratio specifications are fitted to the\n    capabilities of the architecture. Accesses in a hit segment apply\n    the hitProp access policy. Accesses in a miss segment apply the\n    missProp access policy.\n\n    Attributes\n    ----------\n    base_ptr : Any\n        Starting address of the access policy window. CUDA driver may align\n        it.\n    num_bytes : size_t\n        Size in bytes of the window policy. CUDA driver may restrict the\n        maximum size and alignment.\n    hitRatio : float\n        hitRatio specifies percentage of lines assigned hitProp, rest are\n        assigned missProp.\n    hitProp : CUaccessProperty\n        CUaccessProperty set for hit.\n    missProp : CUaccessProperty\n        CUaccessProperty set for miss. Must be either NORMAL or STREAMING\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUaccessPolicyWindow_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_spec = {
  "cuda.bindings.driver.CUaccessPolicyWindow",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUaccessPolicyWindow", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUaccessPolicyWindow), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies an access policy for a window, a contiguous extent of\n    memory beginning at base_ptr and ending at base_ptr + num_bytes.\n    num_bytes is limited by\n    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into\n    many segments and assign segments such that: sum of \"hit segments\"\n    / window == approx. ratio. sum of \"miss segments\" / window ==\n    approx 1-ratio. Segments and ratio specifications are fitted to the\n    capabilities of the architecture. Accesses in a hit segment apply\n    the hitProp access policy. Accesses in a miss segment apply the\n    missProp access policy.\n\n    Attributes\n    ----------\n    base_ptr : Any\n        Starting address of the access policy window. CUDA driver may align\n        it.\n    num_bytes : size_t\n        Size in bytes of the window policy. CUDA driver may restrict the\n        maximum size and alignment.\n    hitRatio : float\n        hitRatio specifies percentage of lines assigned hitProp, rest are\n        assigned missProp.\n    hitProp : CUaccessProperty\n        CUaccessProperty set for hit.\n    missProp : CUaccessProperty\n        CUaccessProperty set for miss. Must be either NORMAL or STREAMING\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_KERNEL_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_spec = {
  "cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_KERNEL_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_KERNEL_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_spec = {
  "cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_KERNEL_NODE_PARAMS_v3", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMSET_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMSET_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n    ctx : CUcontext\n        Context on which to run the node\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_spec = {
  "cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMSET_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n    ctx : CUcontext\n        Context on which to run the node\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_HOST_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_HOST_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_HOST_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_spec = {
  "cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_HOST_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphEdgeData_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Optional annotation for edges in a CUDA graph. Note, all edges\n    implicitly have annotations and default to a zero-initialized value\n    if not specified. A zero-initialized struct indicates a standard\n    full serialization of two nodes with memory visibility.\n\n    Attributes\n    ----------\n    from_port : bytes\n        This indicates when the dependency is triggered from the upstream\n        node on the edge. The meaning is specfic to the node type. A value\n        of 0 in all cases means full completion of the upstream node, with\n        memory visibility to the downstream node or portion thereof\n        (indicated by `to_port`).   Only kernel nodes define non-zero\n        ports. A kernel node can use the following output port types:\n        CU_GRAPH_KERNEL_NODE_PORT_DEFAULT,\n        CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC, or\n        CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER.\n    to_port : bytes\n        This indicates what portion of the downstream node is dependent on\n        the upstream node or portion thereof (indicated by `from_port`).\n        The meaning is specific to the node type. A value of 0 in all cases\n        means the entirety of the downstream node is dependent on the\n        upstream work.   Currently no node types define non-zero ports.\n        Accordingly, this field must be set to zero.\n    type : bytes\n        This should be populated with a value from CUgraphDependencyType.\n        (It is typed as char due to compiler-specific layout of bitfields.)\n        See CUgraphDependencyType.\n    reserved : bytes\n        These bytes are unused and must be zeroed. This ensures\n        compatibility if additional fields are added in the future.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphEdgeData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_spec = {
  "cuda.bindings.driver.CUgraphEdgeData",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphEdgeData", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphEdgeData), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphEdgeData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Optional annotation for edges in a CUDA graph. Note, all edges\n    implicitly have annotations and default to a zero-initialized value\n    if not specified. A zero-initialized struct indicates a standard\n    full serialization of two nodes with memory visibility.\n\n    Attributes\n    ----------\n    from_port : bytes\n        This indicates when the dependency is triggered from the upstream\n        node on the edge. The meaning is specfic to the node type. A value\n        of 0 in all cases means full completion of the upstream node, with\n        memory visibility to the downstream node or portion thereof\n        (indicated by `to_port`).   Only kernel nodes define non-zero\n        ports. A kernel node can use the following output port types:\n        CU_GRAPH_KERNEL_NODE_PORT_DEFAULT,\n        CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC, or\n        CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER.\n    to_port : bytes\n        This indicates what portion of the downstream node is dependent on\n        the upstream node or portion thereof (indicated by `from_port`).\n        The meaning is specific to the node type. A value of 0 in all cases\n        means the entirety of the downstream node is dependent on the\n        upstream work.   Currently no node types define non-zero ports.\n        Accordingly, this field must be set to zero.\n    type : bytes\n        This should be populated with a value from CUgraphDependencyType.\n        (It is typed as char due to compiler-specific layout of bitfields.)\n        See CUgraphDependencyType.\n    reserved : bytes\n        These bytes are unused and must be zeroed. This ensures\n        compatibility if additional fields are added in the future.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_18CUgraphEdgeData_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphEdgeData_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Graph instantiation parameters\n\n    Attributes\n    ----------\n    flags : cuuint64_t\n        Instantiation flags\n    hUploadStream : CUstream\n        Upload stream\n    hErrNode_out : CUgraphNode\n        The node which caused instantiation to fail, if any\n    result_out : CUgraphInstantiateResult\n        Whether instantiation was successful. If it failed, the reason why\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_GRAPH_INSTANTIATE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Graph instantiation parameters\n\n    Attributes\n    ----------\n    flags : cuuint64_t\n        Instantiation flags\n    hUploadStream : CUstream\n        Upload stream\n    hErrNode_out : CUgraphNode\n        The node which caused instantiation to fail, if any\n    result_out : CUgraphInstantiateResult\n        Whether instantiation was successful. If it failed, the reason why\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.\n    By default, kernels are launched in domain 0. Kernel launched with\n    CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE will have a different domain ID.\n    User may also alter the domain ID with CUlaunchMemSyncDomainMap for\n    a specific stream / graph node / kernel launch. See\n    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.  Domain ID range is\n    available through CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT.\n\n    Attributes\n    ----------\n    default_ : bytes\n        The default domain ID to use for designated kernels\n    remote : bytes\n        The remote domain ID to use for designated kernels\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_spec = {
  "cuda.bindings.driver.CUlaunchMemSyncDomainMap",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlaunchMemSyncDomainMap", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.\n    By default, kernels are launched in domain 0. Kernel launched with\n    CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE will have a different domain ID.\n    User may also alter the domain ID with CUlaunchMemSyncDomainMap for\n    a specific stream / graph node / kernel launch. See\n    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.  Domain ID range is\n    available through CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT.\n\n    Attributes\n    ----------\n    default_ : bytes\n        The default domain ID to use for designated kernels\n    remote : bytes\n        The remote domain ID to use for designated kernels\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_spec = {
  "cuda.bindings.driver.CUlaunchAttributeValue",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlaunchAttributeValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Launch attribute\n\n    Attributes\n    ----------\n    id : CUlaunchAttributeID\n        Attribute to set\n    value : CUlaunchAttributeValue\n        Value of the attribute\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttribute_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_spec = {
  "cuda.bindings.driver.CUlaunchAttribute",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlaunchAttribute", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttribute), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attribute\n\n    Attributes\n    ----------\n    id : CUlaunchAttributeID\n        Attribute to set\n    value : CUlaunchAttributeValue\n        Value of the attribute\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUlaunchAttribute_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttribute_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA extensible launch configuration\n\n    Attributes\n    ----------\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    attrs : CUlaunchAttribute\n        List of attributes; nullable if CUlaunchConfig::numAttrs == 0\n    numAttrs : unsigned int\n        Number of attributes populated in CUlaunchConfig::attrs\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchConfig_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_spec = {
  "cuda.bindings.driver.CUlaunchConfig",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlaunchConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlaunchConfig", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA extensible launch configuration\n\n    Attributes\n    ----------\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    attrs : CUlaunchAttribute\n        List of attributes; nullable if CUlaunchConfig::numAttrs == 0\n    numAttrs : unsigned int\n        Number of attributes populated in CUlaunchConfig::attrs\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUlaunchConfig_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchConfig_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1_spec = {
  "cuda.bindings.driver.CUkernelNodeAttrValue_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUkernelNodeAttrValue_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_spec = {
  "cuda.bindings.driver.CUkernelNodeAttrValue",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUkernelNodeAttrValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1_spec = {
  "cuda.bindings.driver.CUstreamAttrValue_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamAttrValue_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_spec = {
  "cuda.bindings.driver.CUstreamAttrValue",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamAttrValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT\n        with the following fields: - `CUevent` event - Event to fire when\n        all blocks trigger it.    - `Event` record flags, see\n        cuEventRecordWithFlags. Does not accept :CU_EVENT_RECORD_EXTERNAL.\n        - `triggerAtBlockStart` - If this is set to non-0, each block\n        launch will automatically trigger the event.\n   "" launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the following\n        fields: - `CUevent` event - Event to fire when the last block\n        launches    - `int` flags; - Event record flags, see\n        cuEventRecordWithFlags. Does not accept CU_EVENT_RECORD_EXTERNAL.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemSyncDomainMap\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.\n        See CUlaunchMemSyncDomainMap.\n    memSyncDomain : CUlaunchMemSyncDomain\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.\n        See::CUlaunchMemSyncDomain\n    preferredClusterDim : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION that represents the\n        desired preferred cluster dimensions for the kernel. Opaque type\n        with the following fields: - `x` - The X dimension of the preferred\n        cluster, in blocks. Must be a divisor of the grid X dimension, and\n        must be a multiple of the `x` field of\n        CUlaunchAttributeValue::clusterDim.    - `y` - The Y dimension of\n        the preferred cluster, in blocks. Must be a divisor of the grid Y\n        dimension, and must be a multiple of the `y` field of\n        CUlaunchAttributeValue::clusterDim.    - `z` - The Z dimension of\n        the preferred cluster, in blocks. Must be equal to the `z` field of\n        CUlaunchAttributeValue::clusterDim.\n    deviceUpdatableKernelNode : anon_struct5\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE. with the\n        following fields: - `int` deviceUpdatable - Whether or not the\n        resulting kernel node should be device-updatable.    -\n        `CUgraphDeviceNode` devNode - Returns a handle to pass to the\n        va""rious device-side update functions.\n    sharedMemCarveout : unsigned int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinitySmCount_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT\n\n    Attributes\n    ----------\n    val : unsigned int\n        The number of SMs the context is limited to use.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinitySmCount_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1_spec = {
  "cuda.bindings.driver.CUexecAffinitySmCount_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUexecAffinitySmCount_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT\n\n    Attributes\n    ----------\n    val : unsigned int\n        The number of SMs the context is limited to use.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinitySmCount_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT\n\n    Attributes\n    ----------\n    val : unsigned int\n        The number of SMs the context is limited to use.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinitySmCount_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_spec = {
  "cuda.bindings.driver.CUexecAffinitySmCount",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUexecAffinitySmCount", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinitySmCount), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT\n\n    Attributes\n    ----------\n    val : unsigned int\n        The number of SMs the context is limited to use.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Execution Affinity Parameters\n\n    Attributes\n    ----------\n    type : CUexecAffinityType\n\n    param : anon_union3\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1_spec = {
  "cuda.bindings.driver.CUexecAffinityParam_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUexecAffinityParam_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Execution Affinity Parameters\n\n    Attributes\n    ----------\n    type : CUexecAffinityType\n\n    param : anon_union3\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Execution Affinity Parameters\n\n    Attributes\n    ----------\n    type : CUexecAffinityType\n\n    param : anon_union3\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinityParam_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_spec = {
  "cuda.bindings.driver.CUexecAffinityParam",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUexecAffinityParam", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUexecAffinityParam), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Execution Affinity Parameters\n\n    Attributes\n    ----------\n    type : CUexecAffinityType\n\n    param : anon_union3\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUexecAffinityParam_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUexecAffinityParam_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUctxCigParam_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCigParam_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CIG Context Create Params\n\n    Attributes\n    ----------\n    sharedDataType : CUcigDataType\n\n    sharedData : Any\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUctxCigParam_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUctxCigParam_spec = {
  "cuda.bindings.driver.CUctxCigParam",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUctxCigParam_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUctxCigParam = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUctxCigParam", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCigParam), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCigParam_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CIG Context Create Params\n\n    Attributes\n    ----------\n    sharedDataType : CUcigDataType\n\n    sharedData : Any\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUctxCigParam_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUctxCigParam_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCreateParams_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Params for creating CUDA context Exactly one of execAffinityParams\n    and cigParams must be non-NULL.\n\n    Attributes\n    ----------\n    execAffinityParams : CUexecAffinityParam\n\n    numExecAffinityParams : int\n\n    cigParams : CUctxCigParam\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUctxCreateParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_spec = {
  "cuda.bindings.driver.CUctxCreateParams",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUctxCreateParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUctxCreateParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUctxCreateParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUctxCreateParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Params for creating CUDA context Exactly one of execAffinityParams\n    and cigParams must be non-NULL.\n\n    Attributes\n    ----------\n    execAffinityParams : CUexecAffinityParam\n\n    numExecAffinityParams : int\n\n    cigParams : CUctxCigParam\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUctxCreateParams_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUctxCreateParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    functionTable : Any\n\n    functionWindowSize : size_t\n\n    dataTable : Any\n\n    dataWindowSize : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_spec = {
  "cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlibraryHostUniversalFunctionAndDataTable", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    functionTable : Any\n\n    functionWindowSize : size_t\n\n    dataTable : Any\n\n    dataWindowSize : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    2D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    WidthInBytes : size_t\n        Width of 2D memory copy in bytes\n    Height : size_t\n        Height of 2D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY2D_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY2D_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    2D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    WidthInBytes : size_t\n        Width of 2D memory copy in bytes\n    Height : size_t\n        Height of 2D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    2D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    WidthInBytes : size_t\n        Width of 2D memory copy in bytes\n    Height : size_t\n        Height of 2D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY2D",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY2D", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY2D), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    2D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    WidthInBytes : size_t\n        Width of 2D memory copy in bytes\n    Height : size_t\n        Height of 2D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    3D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    reserved0 : Any\n        Must be NULL\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    reserved1 : Any\n        Must be NULL\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    reserved0 : Any\n        Must be NULL\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    reserved1 : Any\n        Must be NULL\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    3D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    reserved0 : Any\n        Must be NULL\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    reserved1 : Any\n        Must be NULL\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    reserved0 : Any\n        Must be NULL\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    reserved1 : Any\n        Must be NULL\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    3D memory cross-context copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcContext : CUcontext\n        Source context (ignored with srcMemoryType is CU_MEMORYTYPE_ARRAY)\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstContext : CUcontext\n        Destination context (ignored with dstMemoryType is\n        CU_MEMORYTYPE_ARRAY)\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D_PEER_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D_PEER_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D memory cross-context copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcContext : CUcontext\n        Source context (ignored with srcMemoryType is CU_MEMORYTYPE_ARRAY)\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstContext : CUcontext\n        Destination context (ignored with dstMemoryType is\n        CU_MEMORYTYPE_ARRAY)\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    3D memory cross-context copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcContext : CUcontext\n        Source context (ignored with srcMemoryType is CU_MEMORYTYPE_ARRAY)\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstContext : CUcontext\n        Destination context (ignored with dstMemoryType is\n        CU_MEMORYTYPE_ARRAY)\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D_PEER",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D_PEER", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D memory cross-context copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcContext : CUcontext\n        Source context (ignored with srcMemoryType is CU_MEMORYTYPE_ARRAY)\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstContext : CUcontext\n        Destination context (ignored with dstMemoryType is\n        CU_MEMORYTYPE_ARRAY)\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memcpy node parameters\n\n    Attributes\n    ----------\n    flags : int\n        Must be zero\n    reserved : int\n        Must be zero\n    copyCtx : CUcontext\n        Context on which to run the node\n    copyParams : CUDA_MEMCPY3D\n        Parameters for the memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memcpy node parameters\n\n    Attributes\n    ----------\n    flags : int\n        Must be zero\n    reserved : int\n        Must be zero\n    copyCtx : CUcontext\n        Context on which to run the node\n    copyParams : CUDA_MEMCPY3D\n        Parameters for the memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of array\n    Height : size_t\n        Height of array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_DESCRIPTOR_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of array\n    Height : size_t\n        Height of array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of array\n    Height : size_t\n        Height of array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_DESCRIPTOR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of array\n    Height : size_t\n        Height of array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    3D array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of 3D array\n    Height : size_t\n        Height of 3D array\n    Depth : size_t\n        Depth of 3D array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n    Flags : unsigned int\n        Flags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2_spec = {
  "cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY3D_DESCRIPTOR_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of 3D array\n    Height : size_t\n        Height of 3D array\n    Depth : size_t\n        Depth of 3D array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n    Flags : unsigned int\n        Flags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    3D array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of 3D array\n    Height : size_t\n        Height of 3D array\n    Depth : size_t\n        Depth of 3D array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n    Flags : unsigned int\n        Flags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_spec = {
  "cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY3D_DESCRIPTOR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of 3D array\n    Height : size_t\n        Height of 3D array\n    Depth : size_t\n        Depth of 3D array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n    Flags : unsigned int\n        Flags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct6\n\n    miptailFirstLevel : unsigned int\n        First mip level at which the mip tail begins.\n    miptailSize : unsigned long long\n        Total size of the mip tail.\n    flags : unsigned int\n        Flags will either be zero or\n        CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_SPARSE_PROPERTIES_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct6\n\n    miptailFirstLevel : unsigned int\n        First mip level at which the mip tail begins.\n    miptailSize : unsigned long long\n        Total size of the mip tail.\n    flags : unsigned int\n        Flags will either be zero or\n        CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct6\n\n    miptailFirstLevel : unsigned int\n        First mip level at which the mip tail begins.\n    miptailSize : unsigned long long\n        Total size of the mip tail.\n    flags : unsigned int\n        Flags will either be zero or\n        CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_SPARSE_PROPERTIES", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct6\n\n    miptailFirstLevel : unsigned int\n        First mip level at which the mip tail begins.\n    miptailSize : unsigned long long\n        Total size of the mip tail.\n    flags : unsigned int\n        Flags will either be zero or\n        CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA array memory requirements\n\n    Attributes\n    ----------\n    size : size_t\n        Total required memory size\n    alignment : size_t\n        alignment requirement\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_MEMORY_REQUIREMENTS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA array memory requirements\n\n    Attributes\n    ----------\n    size : size_t\n        Total required memory size\n    alignment : size_t\n        alignment requirement\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA array memory requirements\n\n    Attributes\n    ----------\n    size : size_t\n        Total required memory size\n    alignment : size_t\n        alignment requirement\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_spec = {
  "cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_ARRAY_MEMORY_REQUIREMENTS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA array memory requirements\n\n    Attributes\n    ----------\n    size : size_t\n        Total required memory size\n    alignment : size_t\n        alignment requirement\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA Resource descriptor\n\n    Attributes\n    ----------\n    resType : CUresourcetype\n        Resource type\n    res : anon_union4\n\n    flags : unsigned int\n        Flags (must be zero)\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1_spec = {
  "cuda.bindings.driver.CUDA_RESOURCE_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_RESOURCE_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA Resource descriptor\n\n    Attributes\n    ----------\n    resType : CUresourcetype\n        Resource type\n    res : anon_union4\n\n    flags : unsigned int\n        Flags (must be zero)\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA Resource descriptor\n\n    Attributes\n    ----------\n    resType : CUresourcetype\n        Resource type\n    res : anon_union4\n\n    flags : unsigned int\n        Flags (must be zero)\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_spec = {
  "cuda.bindings.driver.CUDA_RESOURCE_DESC",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_RESOURCE_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA Resource descriptor\n\n    Attributes\n    ----------\n    resType : CUresourcetype\n        Resource type\n    res : anon_union4\n\n    flags : unsigned int\n        Flags (must be zero)\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Texture descriptor\n\n    Attributes\n    ----------\n    addressMode : list[CUaddress_mode]\n        Address modes\n    filterMode : CUfilter_mode\n        Filter mode\n    flags : unsigned int\n        Flags\n    maxAnisotropy : unsigned int\n        Maximum anisotropy ratio\n    mipmapFilterMode : CUfilter_mode\n        Mipmap filter mode\n    mipmapLevelBias : float\n        Mipmap level bias\n    minMipmapLevelClamp : float\n        Mipmap minimum level clamp\n    maxMipmapLevelClamp : float\n        Mipmap maximum level clamp\n    borderColor : list[float]\n        Border Color\n    reserved : list[int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1_spec = {
  "cuda.bindings.driver.CUDA_TEXTURE_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_TEXTURE_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Texture descriptor\n\n    Attributes\n    ----------\n    addressMode : list[CUaddress_mode]\n        Address modes\n    filterMode : CUfilter_mode\n        Filter mode\n    flags : unsigned int\n        Flags\n    maxAnisotropy : unsigned int\n        Maximum anisotropy ratio\n    mipmapFilterMode : CUfilter_mode\n        Mipmap filter mode\n    mipmapLevelBias : float\n        Mipmap level bias\n    minMipmapLevelClamp : float\n        Mipmap minimum level clamp\n    maxMipmapLevelClamp : float\n        Mipmap maximum level clamp\n    borderColor : list[float]\n        Border Color\n    reserved : list[int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Texture descriptor\n\n    Attributes\n    ----------\n    addressMode : list[CUaddress_mode]\n        Address modes\n    filterMode : CUfilter_mode\n        Filter mode\n    flags : unsigned int\n        Flags\n    maxAnisotropy : unsigned int\n        Maximum anisotropy ratio\n    mipmapFilterMode : CUfilter_mode\n        Mipmap filter mode\n    mipmapLevelBias : float\n        Mipmap level bias\n    minMipmapLevelClamp : float\n        Mipmap minimum level clamp\n    maxMipmapLevelClamp : float\n        Mipmap maximum level clamp\n    borderColor : list[float]\n        Border Color\n    reserved : list[int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_spec = {
  "cuda.bindings.driver.CUDA_TEXTURE_DESC",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_TEXTURE_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Texture descriptor\n\n    Attributes\n    ----------\n    addressMode : list[CUaddress_mode]\n        Address modes\n    filterMode : CUfilter_mode\n        Filter mode\n    flags : unsigned int\n        Flags\n    maxAnisotropy : unsigned int\n        Maximum anisotropy ratio\n    mipmapFilterMode : CUfilter_mode\n        Mipmap filter mode\n    mipmapLevelBias : float\n        Mipmap level bias\n    minMipmapLevelClamp : float\n        Mipmap minimum level clamp\n    maxMipmapLevelClamp : float\n        Mipmap maximum level clamp\n    borderColor : list[float]\n        Border Color\n    reserved : list[int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Resource view descriptor\n\n    Attributes\n    ----------\n    format : CUresourceViewFormat\n        Resource view format\n    width : size_t\n        Width of the resource view\n    height : size_t\n        Height of the resource view\n    depth : size_t\n        Depth of the resource view\n    firstMipmapLevel : unsigned int\n        First defined mipmap level\n    lastMipmapLevel : unsigned int\n        Last defined mipmap level\n    firstLayer : unsigned int\n        First layer index\n    lastLayer : unsigned int\n        Last layer index\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1_spec = {
  "cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_RESOURCE_VIEW_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Resource view descriptor\n\n    Attributes\n    ----------\n    format : CUresourceViewFormat\n        Resource view format\n    width : size_t\n        Width of the resource view\n    height : size_t\n        Height of the resource view\n    depth : size_t\n        Depth of the resource view\n    firstMipmapLevel : unsigned int\n        First defined mipmap level\n    lastMipmapLevel : unsigned int\n        Last defined mipmap level\n    firstLayer : unsigned int\n        First layer index\n    lastLayer : unsigned int\n        Last layer index\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Resource view descriptor\n\n    Attributes\n    ----------\n    format : CUresourceViewFormat\n        Resource view format\n    width : size_t\n        Width of the resource view\n    height : size_t\n        Height of the resource view\n    depth : size_t\n        Depth of the resource view\n    firstMipmapLevel : unsigned int\n        First defined mipmap level\n    lastMipmapLevel : unsigned int\n        Last defined mipmap level\n    firstLayer : unsigned int\n        First layer index\n    lastLayer : unsigned int\n        Last layer index\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_spec = {
  "cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_RESOURCE_VIEW_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Resource view descriptor\n\n    Attributes\n    ----------\n    format : CUresourceViewFormat\n        Resource view format\n    width : size_t\n        Width of the resource view\n    height : size_t\n        Height of the resource view\n    depth : size_t\n        Depth of the resource view\n    firstMipmapLevel : unsigned int\n        First defined mipmap level\n    lastMipmapLevel : unsigned int\n        Last defined mipmap level\n    firstLayer : unsigned int\n        First layer index\n    lastLayer : unsigned int\n        Last layer index\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUtensorMap_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUtensorMap_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Tensor map descriptor. Requires compiler support for aligning to 64\n    bytes.\n\n    Attributes\n    ----------\n    opaque : list[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUtensorMap_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUtensorMap_spec = {
  "cuda.bindings.driver.CUtensorMap",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUtensorMap_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUtensorMap = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUtensorMap", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtensorMap_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Tensor map descriptor. Requires compiler support for aligning to 64\n    bytes.\n\n    Attributes\n    ----------\n    opaque : list[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_14CUtensorMap_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUtensorMap_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    GPU Direct v3 tokens\n\n    Attributes\n    ----------\n    p2pToken : unsigned long long\n\n    vaSpaceToken : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_spec = {
  "cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU Direct v3 tokens\n\n    Attributes\n    ----------\n    p2pToken : unsigned long long\n\n    vaSpaceToken : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    GPU Direct v3 tokens\n\n    Attributes\n    ----------\n    p2pToken : unsigned long long\n\n    vaSpaceToken : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_spec = {
  "cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_POINTER_ATTRIBUTE_P2P_TOKENS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU Direct v3 tokens\n\n    Attributes\n    ----------\n    p2pToken : unsigned long long\n\n    vaSpaceToken : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Kernel launch parameters\n\n    Attributes\n    ----------\n    function : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    kernelParams : Any\n        Array of pointers to kernel parameters\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_LAUNCH_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_LAUNCH_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Kernel launch parameters\n\n    Attributes\n    ----------\n    function : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    kernelParams : Any\n        Array of pointers to kernel parameters\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Kernel launch parameters\n\n    Attributes\n    ----------\n    function : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    kernelParams : Any\n        Array of pointers to kernel parameters\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_LAUNCH_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_LAUNCH_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Kernel launch parameters\n\n    Attributes\n    ----------\n    function : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    kernelParams : Any\n        Array of pointers to kernel parameters\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External memory handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalMemoryHandleType\n        Type of the handle\n    handle : anon_union5\n\n    size : unsigned long long\n        Size of the memory allocation\n    flags : unsigned int\n        Flags must either be zero or CUDA_EXTERNAL_MEMORY_DEDICATED\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalMemoryHandleType\n        Type of the handle\n    handle : anon_union5\n\n    size : unsigned long long\n        Size of the memory allocation\n    flags : unsigned int\n        Flags must either be zero or CUDA_EXTERNAL_MEMORY_DEDICATED\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External memory handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalMemoryHandleType\n        Type of the handle\n    handle : anon_union5\n\n    size : unsigned long long\n        Size of the memory allocation\n    flags : unsigned int\n        Flags must either be zero or CUDA_EXTERNAL_MEMORY_DEDICATED\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_HANDLE_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalMemoryHandleType\n        Type of the handle\n    handle : anon_union5\n\n    size : unsigned long long\n        Size of the memory allocation\n    flags : unsigned int\n        Flags must either be zero or CUDA_EXTERNAL_MEMORY_DEDICATED\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External memory buffer descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the buffer's base is\n    size : unsigned long long\n        Size of the buffer\n    flags : unsigned int\n        Flags reserved for future use. Must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory buffer descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the buffer's base is\n    size : unsigned long long\n        Size of the buffer\n    flags : unsigned int\n        Flags reserved for future use. Must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External memory buffer descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the buffer's base is\n    size : unsigned long long\n        Size of the buffer\n    flags : unsigned int\n        Flags reserved for future use. Must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_BUFFER_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory buffer descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the buffer's base is\n    size : unsigned long long\n        Size of the buffer\n    flags : unsigned int\n        Flags reserved for future use. Must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External memory mipmap descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the base level of the mipmap\n        chain is.\n    arrayDesc : CUDA_ARRAY3D_DESCRIPTOR\n        Format, dimension and type of base level of the mipmap chain\n    numLevels : unsigned int\n        Total number of levels in the mipmap chain\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory mipmap descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the base level of the mipmap\n        chain is.\n    arrayDesc : CUDA_ARRAY3D_DESCRIPTOR\n        Format, dimension and type of base level of the mipmap chain\n    numLevels : unsigned int\n        Total number of levels in the mipmap chain\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External memory mipmap descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the base level of the mipmap\n        chain is.\n    arrayDesc : CUDA_ARRAY3D_DESCRIPTOR\n        Format, dimension and type of base level of the mipmap chain\n    numLevels : unsigned int\n        Total number of levels in the mipmap chain\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory mipmap descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the base level of the mipmap\n        chain is.\n    arrayDesc : CUDA_ARRAY3D_DESCRIPTOR\n        Format, dimension and type of base level of the mipmap chain\n    numLevels : unsigned int\n        Total number of levels in the mipmap chain\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalSemaphoreHandleType\n        Type of the handle\n    handle : anon_union6\n\n    flags : unsigned int\n        Flags reserved for the future. Must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalSemaphoreHandleType\n        Type of the handle\n    handle : anon_union6\n\n    flags : unsigned int\n        Flags reserved for the future. Must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalSemaphoreHandleType\n        Type of the handle\n    handle : anon_union6\n\n    flags : unsigned int\n        Flags reserved for the future. Must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalSemaphoreHandleType\n        Type of the handle\n    handle : anon_union6\n\n    flags : unsigned int\n        Flags reserved for the future. Must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct16\n\n    flags : unsigned int\n        Only when ::CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS is used to signal\n        a CUexternalSemaphore of type\n        CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n        CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC which\n        indicates that while signaling the CUexternalSemaphore, no memory\n        synchronization operations should be performed for any external\n        memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n        For all other types of CUexternalSemaphore, flags must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct16\n\n    flags : unsigned int\n        Only when ::CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS is used to signal\n        a CUexternalSemaphore of type\n        CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n        CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC which\n        indicates that while signaling the CUexternalSemaphore, no memory\n        synchronization operations should be performed for any external\n        memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n        For all other types of CUexternalSemaphore, flags must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct16\n\n    flags : unsigned int\n        Only when ::CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS is used to signal\n        a CUexternalSemaphore of type\n        CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n        CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC which\n        indicates that while signaling the CUexternalSemaphore, no memory\n        synchronization operations should be performed for any external\n        memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n        For all other types of CUexternalSemaphore, flags must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct16\n\n    flags : unsigned int\n        Only when ::CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS is used to signal\n        a CUexternalSemaphore of type\n        CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n        CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC which\n        indicates that while signaling the CUexternalSemaphore, no memory\n        synchronization operations should be performed for any external\n        memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n        For all other types of CUexternalSemaphore, flags must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct19\n\n    flags : unsigned int\n        Only when ::CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS is used to wait on\n        a CUexternalSemaphore of type\n        CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n        CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC which indicates\n        that while waiting for the CUexternalSemaphore, no memory\n        synchronization operations should be performed for any external\n        memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n        For all other types of CUexternalSemaphore, flags must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct19\n\n    flags : unsigned int\n        Only when ::CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS is used to wait on\n        a CUexternalSemaphore of type\n        CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n        CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC which indicates\n        that while waiting for the CUexternalSemaphore, no memory\n        synchronization operations should be performed for any external\n        memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n        For all other types of CUexternalSemaphore, flags must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct19\n\n    flags : unsigned int\n        Only when ::CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS is used to wait on\n        a CUexternalSemaphore of type\n        CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n        CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC which indicates\n        that while waiting for the CUexternalSemaphore, no memory\n        synchronization operations should be performed for any external\n        memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n        For all other types of CUexternalSemaphore, flags must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct19\n\n    flags : unsigned int\n        Only when ::CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS is used to wait on\n        a CUexternalSemaphore of type\n        CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC, the valid flag is\n        CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC which indicates\n        that while waiting for the CUexternalSemaphore, no memory\n        synchronization operations should be performed for any external\n        memory object imported as CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF.\n        For all other types of CUexternalSemaphore, flags must be zero.\n    reserved : list[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_WAIT_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_spec = {
  "cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemGenericAllocationHandle(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemGenericAllocationHandle(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemGenericAllocationHandle) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemGenericAllocationHandle[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemGenericAllocationHandle},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemGenericAllocationHandle},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemGenericAllocationHandle},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_spec = {
  "cuda.bindings.driver.CUmemGenericAllocationHandle",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmemGenericAllocationHandle = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemGenericAllocationHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUmemGenericAllocationHandle, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies the CUDA array or CUDA mipmapped array memory mapping\n    information\n\n    Attributes\n    ----------\n    resourceType : CUresourcetype\n        Resource type\n    resource : anon_union9\n\n    subresourceType : CUarraySparseSubresourceType\n        Sparse subresource type\n    subresource : anon_union10\n\n    memOperationType : CUmemOperationType\n        Memory operation type\n    memHandleType : CUmemHandleType\n        Memory handle type\n    memHandle : anon_union11\n\n    offset : unsigned long long\n        Offset within mip tail  Offset within the memory\n    deviceBitMask : unsigned int\n        Device ordinal bit mask\n    flags : unsigned int\n        flags for future use, must be zero now.\n    reserved : list[unsigned int]\n        Reserved for future use, must be zero now.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1_spec = {
  "cuda.bindings.driver.CUarrayMapInfo_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUarrayMapInfo_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the CUDA array or CUDA mipmapped array memory mapping\n    information\n\n    Attributes\n    ----------\n    resourceType : CUresourcetype\n        Resource type\n    resource : anon_union9\n\n    subresourceType : CUarraySparseSubresourceType\n        Sparse subresource type\n    subresource : anon_union10\n\n    memOperationType : CUmemOperationType\n        Memory operation type\n    memHandleType : CUmemHandleType\n        Memory handle type\n    memHandle : anon_union11\n\n    offset : unsigned long long\n        Offset within mip tail  Offset within the memory\n    deviceBitMask : unsigned int\n        Device ordinal bit mask\n    flags : unsigned int\n        flags for future use, must be zero now.\n    reserved : list[unsigned int]\n        Reserved for future use, must be zero now.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies the CUDA array or CUDA mipmapped array memory mapping\n    information\n\n    Attributes\n    ----------\n    resourceType : CUresourcetype\n        Resource type\n    resource : anon_union9\n\n    subresourceType : CUarraySparseSubresourceType\n        Sparse subresource type\n    subresource : anon_union10\n\n    memOperationType : CUmemOperationType\n        Memory operation type\n    memHandleType : CUmemHandleType\n        Memory handle type\n    memHandle : anon_union11\n\n    offset : unsigned long long\n        Offset within mip tail  Offset within the memory\n    deviceBitMask : unsigned int\n        Device ordinal bit mask\n    flags : unsigned int\n        flags for future use, must be zero now.\n    reserved : list[unsigned int]\n        Reserved for future use, must be zero now.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUarrayMapInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_spec = {
  "cuda.bindings.driver.CUarrayMapInfo",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUarrayMapInfo", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUarrayMapInfo), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the CUDA array or CUDA mipmapped array memory mapping\n    information\n\n    Attributes\n    ----------\n    resourceType : CUresourcetype\n        Resource type\n    resource : anon_union9\n\n    subresourceType : CUarraySparseSubresourceType\n        Sparse subresource type\n    subresource : anon_union10\n\n    memOperationType : CUmemOperationType\n        Memory operation type\n    memHandleType : CUmemHandleType\n        Memory handle type\n    memHandle : anon_union11\n\n    offset : unsigned long long\n        Offset within mip tail  Offset within the memory\n    deviceBitMask : unsigned int\n        Device ordinal bit mask\n    flags : unsigned int\n        flags for future use, must be zero now.\n    reserved : list[unsigned int]\n        Reserved for future use, must be zero now.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUarrayMapInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUarrayMapInfo_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemLocation_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies a memory location.\n\n    Attributes\n    ----------\n    type : CUmemLocationType\n        Specifies the location type, which modifies the meaning of id.\n    id : int\n        identifier for a given this location's CUmemLocationType.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemLocation_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1_spec = {
  "cuda.bindings.driver.CUmemLocation_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemLocation_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemLocation_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies a memory location.\n\n    Attributes\n    ----------\n    type : CUmemLocationType\n        Specifies the location type, which modifies the meaning of id.\n    id : int\n        identifier for a given this location's CUmemLocationType.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemLocation_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemLocation_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemLocation_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies a memory location.\n\n    Attributes\n    ----------\n    type : CUmemLocationType\n        Specifies the location type, which modifies the meaning of id.\n    id : int\n        identifier for a given this location's CUmemLocationType.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemLocation_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemLocation_spec = {
  "cuda.bindings.driver.CUmemLocation",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemLocation_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemLocation = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemLocation", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemLocation_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies a memory location.\n\n    Attributes\n    ----------\n    type : CUmemLocationType\n        Specifies the location type, which modifies the meaning of id.\n    id : int\n        identifier for a given this location's CUmemLocationType.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUmemLocation_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemLocation_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies the allocation properties for a allocation.\n\n    Attributes\n    ----------\n    type : CUmemAllocationType\n        Allocation type\n    requestedHandleTypes : CUmemAllocationHandleType\n        requested CUmemAllocationHandleType\n    location : CUmemLocation\n        Location of allocation\n    win32HandleMetaData : Any\n        Windows-specific POBJECT_ATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This object attributes\n        structure includes security attributes that define the scope of\n        which exported allocations may be transferred to other processes.\n        In all other cases, this field is required to be zero.\n    allocFlags : anon_struct22\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1_spec = {
  "cuda.bindings.driver.CUmemAllocationProp_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemAllocationProp_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the allocation properties for a allocation.\n\n    Attributes\n    ----------\n    type : CUmemAllocationType\n        Allocation type\n    requestedHandleTypes : CUmemAllocationHandleType\n        requested CUmemAllocationHandleType\n    location : CUmemLocation\n        Location of allocation\n    win32HandleMetaData : Any\n        Windows-specific POBJECT_ATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This object attributes\n        structure includes security attributes that define the scope of\n        which exported allocations may be transferred to other processes.\n        In all other cases, this field is required to be zero.\n    allocFlags : anon_struct22\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies the allocation properties for a allocation.\n\n    Attributes\n    ----------\n    type : CUmemAllocationType\n        Allocation type\n    requestedHandleTypes : CUmemAllocationHandleType\n        requested CUmemAllocationHandleType\n    location : CUmemLocation\n        Location of allocation\n    win32HandleMetaData : Any\n        Windows-specific POBJECT_ATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This object attributes\n        structure includes security attributes that define the scope of\n        which exported allocations may be transferred to other processes.\n        In all other cases, this field is required to be zero.\n    allocFlags : anon_struct22\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemAllocationProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_spec = {
  "cuda.bindings.driver.CUmemAllocationProp",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemAllocationProp", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the allocation properties for a allocation.\n\n    Attributes\n    ----------\n    type : CUmemAllocationType\n        Allocation type\n    requestedHandleTypes : CUmemAllocationHandleType\n        requested CUmemAllocationHandleType\n    location : CUmemLocation\n        Location of allocation\n    win32HandleMetaData : Any\n        Windows-specific POBJECT_ATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This object attributes\n        structure includes security attributes that define the scope of\n        which exported allocations may be transferred to other processes.\n        In all other cases, this field is required to be zero.\n    allocFlags : anon_struct22\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUmemAllocationProp_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemAllocationProp_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmulticastObjectProp_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies the properties for a multicast object.\n\n    Attributes\n    ----------\n    numDevices : unsigned int\n        The number of devices in the multicast team that will bind memory\n        to this object\n    size : size_t\n        The maximum amount of memory that can be bound to this multicast\n        object per device\n    handleTypes : unsigned long long\n        Bitmask of exportable handle types (see CUmemAllocationHandleType)\n        for this object\n    flags : unsigned long long\n        Flags for future use, must be zero now\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmulticastObjectProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1_spec = {
  "cuda.bindings.driver.CUmulticastObjectProp_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmulticastObjectProp_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmulticastObjectProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the properties for a multicast object.\n\n    Attributes\n    ----------\n    numDevices : unsigned int\n        The number of devices in the multicast team that will bind memory\n        to this object\n    size : size_t\n        The maximum amount of memory that can be bound to this multicast\n        object per device\n    handleTypes : unsigned long long\n        Bitmask of exportable handle types (see CUmemAllocationHandleType)\n        for this object\n    flags : unsigned long long\n        Flags for future use, must be zero now\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmulticastObjectProp_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmulticastObjectProp_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies the properties for a multicast object.\n\n    Attributes\n    ----------\n    numDevices : unsigned int\n        The number of devices in the multicast team that will bind memory\n        to this object\n    size : size_t\n        The maximum amount of memory that can be bound to this multicast\n        object per device\n    handleTypes : unsigned long long\n        Bitmask of exportable handle types (see CUmemAllocationHandleType)\n        for this object\n    flags : unsigned long long\n        Flags for future use, must be zero now\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmulticastObjectProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_spec = {
  "cuda.bindings.driver.CUmulticastObjectProp",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmulticastObjectProp", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmulticastObjectProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the properties for a multicast object.\n\n    Attributes\n    ----------\n    numDevices : unsigned int\n        The number of devices in the multicast team that will bind memory\n        to this object\n    size : size_t\n        The maximum amount of memory that can be bound to this multicast\n        object per device\n    handleTypes : unsigned long long\n        Bitmask of exportable handle types (see CUmemAllocationHandleType)\n        for this object\n    flags : unsigned long long\n        Flags for future use, must be zero now\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmulticastObjectProp_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memory access descriptor\n\n    Attributes\n    ----------\n    location : CUmemLocation\n        Location on which the request is to change it's accessibility\n    flags : CUmemAccess_flags\n        ::CUmemProt accessibility flags to set on the request\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1_spec = {
  "cuda.bindings.driver.CUmemAccessDesc_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemAccessDesc_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory access descriptor\n\n    Attributes\n    ----------\n    location : CUmemLocation\n        Location on which the request is to change it's accessibility\n    flags : CUmemAccess_flags\n        ::CUmemProt accessibility flags to set on the request\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memory access descriptor\n\n    Attributes\n    ----------\n    location : CUmemLocation\n        Location on which the request is to change it's accessibility\n    flags : CUmemAccess_flags\n        ::CUmemProt accessibility flags to set on the request\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemAccessDesc_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_spec = {
  "cuda.bindings.driver.CUmemAccessDesc",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemAccessDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemAccessDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory access descriptor\n\n    Attributes\n    ----------\n    location : CUmemLocation\n        Location on which the request is to change it's accessibility\n    flags : CUmemAccess_flags\n        ::CUmemProt accessibility flags to set on the request\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_18CUmemAccessDesc_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemAccessDesc_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Result information returned by cuGraphExecUpdate\n\n    Attributes\n    ----------\n    result : CUgraphExecUpdateResult\n        Gives more specific detail when a cuda graph update fails.\n    errorNode : CUgraphNode\n        The \"to node\" of the error edge when the topologies do not match.\n        The error node when the error is associated with a specific node.\n        NULL when the error is generic.\n    errorFromNode : CUgraphNode\n        The from node of error edge when the topologies do not match.\n        Otherwise NULL.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1_spec = {
  "cuda.bindings.driver.CUgraphExecUpdateResultInfo_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphExecUpdateResultInfo_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Result information returned by cuGraphExecUpdate\n\n    Attributes\n    ----------\n    result : CUgraphExecUpdateResult\n        Gives more specific detail when a cuda graph update fails.\n    errorNode : CUgraphNode\n        The \"to node\" of the error edge when the topologies do not match.\n        The error node when the error is associated with a specific node.\n        NULL when the error is generic.\n    errorFromNode : CUgraphNode\n        The from node of error edge when the topologies do not match.\n        Otherwise NULL.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Result information returned by cuGraphExecUpdate\n\n    Attributes\n    ----------\n    result : CUgraphExecUpdateResult\n        Gives more specific detail when a cuda graph update fails.\n    errorNode : CUgraphNode\n        The \"to node\" of the error edge when the topologies do not match.\n        The error node when the error is associated with a specific node.\n        NULL when the error is generic.\n    errorFromNode : CUgraphNode\n        The from node of error edge when the topologies do not match.\n        Otherwise NULL.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_spec = {
  "cuda.bindings.driver.CUgraphExecUpdateResultInfo",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphExecUpdateResultInfo", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Result information returned by cuGraphExecUpdate\n\n    Attributes\n    ----------\n    result : CUgraphExecUpdateResult\n        Gives more specific detail when a cuda graph update fails.\n    errorNode : CUgraphNode\n        The \"to node\" of the error edge when the topologies do not match.\n        The error node when the error is associated with a specific node.\n        NULL when the error is generic.\n    errorFromNode : CUgraphNode\n        The from node of error edge when the topologies do not match.\n        Otherwise NULL.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies the properties of allocations made from the pool.\n\n    Attributes\n    ----------\n    allocType : CUmemAllocationType\n        Allocation type. Currently must be specified as\n        CU_MEM_ALLOCATION_TYPE_PINNED\n    handleTypes : CUmemAllocationHandleType\n        Handle types that will be supported by allocations from the pool.\n    location : CUmemLocation\n        Location where allocations should reside.\n    win32SecurityAttributes : Any\n        Windows-specific LPSECURITYATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This security attribute\n        defines the scope of which exported allocations may be transferred\n        to other processes. In all other cases, this field is required to\n        be zero.\n    maxSize : size_t\n        Maximum pool size. When set to 0, defaults to a system dependent\n        value.\n    usage : unsigned short\n        Bitmask indicating intended usage for the pool.\n    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1_spec = {
  "cuda.bindings.driver.CUmemPoolProps_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemPoolProps_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the properties of allocations made from the pool.\n\n    Attributes\n    ----------\n    allocType : CUmemAllocationType\n        Allocation type. Currently must be specified as\n        CU_MEM_ALLOCATION_TYPE_PINNED\n    handleTypes : CUmemAllocationHandleType\n        Handle types that will be supported by allocations from the pool.\n    location : CUmemLocation\n        Location where allocations should reside.\n    win32SecurityAttributes : Any\n        Windows-specific LPSECURITYATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This security attribute\n        defines the scope of which exported allocations may be transferred\n        to other processes. In all other cases, this field is required to\n        be zero.\n    maxSize : size_t\n        Maximum pool size. When set to 0, defaults to a system dependent\n        value.\n    usage : unsigned short\n        Bitmask indicating intended usage for the pool.\n    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Specifies the properties of allocations made from the pool.\n\n    Attributes\n    ----------\n    allocType : CUmemAllocationType\n        Allocation type. Currently must be specified as\n        CU_MEM_ALLOCATION_TYPE_PINNED\n    handleTypes : CUmemAllocationHandleType\n        Handle types that will be supported by allocations from the pool.\n    location : CUmemLocation\n        Location where allocations should reside.\n    win32SecurityAttributes : Any\n        Windows-specific LPSECURITYATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This security attribute\n        defines the scope of which exported allocations may be transferred\n        to other processes. In all other cases, this field is required to\n        be zero.\n    maxSize : size_t\n        Maximum pool size. When set to 0, defaults to a system dependent\n        value.\n    usage : unsigned short\n        Bitmask indicating intended usage for the pool.\n    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolProps_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_spec = {
  "cuda.bindings.driver.CUmemPoolProps",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemPoolProps = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemPoolProps", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolProps), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the properties of allocations made from the pool.\n\n    Attributes\n    ----------\n    allocType : CUmemAllocationType\n        Allocation type. Currently must be specified as\n        CU_MEM_ALLOCATION_TYPE_PINNED\n    handleTypes : CUmemAllocationHandleType\n        Handle types that will be supported by allocations from the pool.\n    location : CUmemLocation\n        Location where allocations should reside.\n    win32SecurityAttributes : Any\n        Windows-specific LPSECURITYATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This security attribute\n        defines the scope of which exported allocations may be transferred\n        to other processes. In all other cases, this field is required to\n        be zero.\n    maxSize : size_t\n        Maximum pool size. When set to 0, defaults to a system dependent\n        value.\n    usage : unsigned short\n        Bitmask indicating intended usage for the pool.\n    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_17CUmemPoolProps_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolProps_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Opaque data for exporting a pool allocation\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1_spec = {
  "cuda.bindings.driver.CUmemPoolPtrExportData_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemPoolPtrExportData_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Opaque data for exporting a pool allocation\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Opaque data for exporting a pool allocation\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_spec = {
  "cuda.bindings.driver.CUmemPoolPtrExportData",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemPoolPtrExportData", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Opaque data for exporting a pool allocation\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes specific to copies within a batch. For more details on\n    usage see cuMemcpyBatchAsync.\n\n    Attributes\n    ----------\n    srcAccessOrder : CUmemcpySrcAccessOrder\n        Source access ordering to be observed for copies with this\n        attribute.\n    srcLocHint : CUmemLocation\n        Hint location for the source operand. Ignored when the pointers are\n        not managed memory or memory allocated outside CUDA.\n    dstLocHint : CUmemLocation\n        Hint location for the destination operand. Ignored when the\n        pointers are not managed memory or memory allocated outside CUDA.\n    flags : unsigned int\n        Additional flags for copies with this attribute. See CUmemcpyFlags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1_spec = {
  "cuda.bindings.driver.CUmemcpyAttributes_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemcpyAttributes_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes specific to copies within a batch. For more details on\n    usage see cuMemcpyBatchAsync.\n\n    Attributes\n    ----------\n    srcAccessOrder : CUmemcpySrcAccessOrder\n        Source access ordering to be observed for copies with this\n        attribute.\n    srcLocHint : CUmemLocation\n        Hint location for the source operand. Ignored when the pointers are\n        not managed memory or memory allocated outside CUDA.\n    dstLocHint : CUmemLocation\n        Hint location for the destination operand. Ignored when the\n        pointers are not managed memory or memory allocated outside CUDA.\n    flags : unsigned int\n        Additional flags for copies with this attribute. See CUmemcpyFlags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes specific to copies within a batch. For more details on\n    usage see cuMemcpyBatchAsync.\n\n    Attributes\n    ----------\n    srcAccessOrder : CUmemcpySrcAccessOrder\n        Source access ordering to be observed for copies with this\n        attribute.\n    srcLocHint : CUmemLocation\n        Hint location for the source operand. Ignored when the pointers are\n        not managed memory or memory allocated outside CUDA.\n    dstLocHint : CUmemLocation\n        Hint location for the destination operand. Ignored when the\n        pointers are not managed memory or memory allocated outside CUDA.\n    flags : unsigned int\n        Additional flags for copies with this attribute. See CUmemcpyFlags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpyAttributes_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_spec = {
  "cuda.bindings.driver.CUmemcpyAttributes",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemcpyAttributes", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes specific to copies within a batch. For more details on\n    usage see cuMemcpyBatchAsync.\n\n    Attributes\n    ----------\n    srcAccessOrder : CUmemcpySrcAccessOrder\n        Source access ordering to be observed for copies with this\n        attribute.\n    srcLocHint : CUmemLocation\n        Hint location for the source operand. Ignored when the pointers are\n        not managed memory or memory allocated outside CUDA.\n    dstLocHint : CUmemLocation\n        Hint location for the destination operand. Ignored when the\n        pointers are not managed memory or memory allocated outside CUDA.\n    flags : unsigned int\n        Additional flags for copies with this attribute. See CUmemcpyFlags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemcpyAttributes_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUoffset3D_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Struct representing offset into a CUarray in elements\n\n    Attributes\n    ----------\n    x : size_t\n\n    y : size_t\n\n    z : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUoffset3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1_spec = {
  "cuda.bindings.driver.CUoffset3D_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUoffset3D_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUoffset3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Struct representing offset into a CUarray in elements\n\n    Attributes\n    ----------\n    x : size_t\n\n    y : size_t\n\n    z : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUoffset3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUoffset3D_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUoffset3D_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Struct representing offset into a CUarray in elements\n\n    Attributes\n    ----------\n    x : size_t\n\n    y : size_t\n\n    z : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUoffset3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUoffset3D_spec = {
  "cuda.bindings.driver.CUoffset3D",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUoffset3D_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUoffset3D = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUoffset3D", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUoffset3D), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUoffset3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Struct representing offset into a CUarray in elements\n\n    Attributes\n    ----------\n    x : size_t\n\n    y : size_t\n\n    z : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUoffset3D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUoffset3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUextent3D_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUextent3D_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Struct representing width/height/depth of a CUarray in elements\n\n    Attributes\n    ----------\n    width : size_t\n\n    height : size_t\n\n    depth : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUextent3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUextent3D_v1_spec = {
  "cuda.bindings.driver.CUextent3D_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUextent3D_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUextent3D_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUextent3D_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUextent3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Struct representing width/height/depth of a CUarray in elements\n\n    Attributes\n    ----------\n    width : size_t\n\n    height : size_t\n\n    depth : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUextent3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUextent3D_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUextent3D_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Struct representing width/height/depth of a CUarray in elements\n\n    Attributes\n    ----------\n    width : size_t\n\n    height : size_t\n\n    depth : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUextent3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUextent3D_spec = {
  "cuda.bindings.driver.CUextent3D",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUextent3D_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUextent3D = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUextent3D", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUextent3D), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUextent3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Struct representing width/height/depth of a CUarray in elements\n\n    Attributes\n    ----------\n    width : size_t\n\n    height : size_t\n\n    depth : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUextent3D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUextent3D_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Struct representing an operand for copy with cuMemcpy3DBatchAsync\n\n    Attributes\n    ----------\n    type : CUmemcpy3DOperandType\n\n    op : anon_union12\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1_spec = {
  "cuda.bindings.driver.CUmemcpy3DOperand_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemcpy3DOperand_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Struct representing an operand for copy with cuMemcpy3DBatchAsync\n\n    Attributes\n    ----------\n    type : CUmemcpy3DOperandType\n\n    op : anon_union12\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Struct representing an operand for copy with cuMemcpy3DBatchAsync\n\n    Attributes\n    ----------\n    type : CUmemcpy3DOperandType\n\n    op : anon_union12\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemcpy3DOperand_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_spec = {
  "cuda.bindings.driver.CUmemcpy3DOperand",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemcpy3DOperand", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpy3DOperand), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Struct representing an operand for copy with cuMemcpy3DBatchAsync\n\n    Attributes\n    ----------\n    type : CUmemcpy3DOperandType\n\n    op : anon_union12\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    src : CUmemcpy3DOperand\n        Source memcpy operand.\n    dst : CUmemcpy3DOperand\n        Destination memcpy operand.\n    extent : CUextent3D\n        Extents of the memcpy between src and dst. The width, height and\n        depth components must not be 0.\n    srcAccessOrder : CUmemcpySrcAccessOrder\n        Source access ordering to be observed for copy from src to dst.\n    flags : unsigned int\n        Additional flags for copies with this attribute. See CUmemcpyFlags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D_BATCH_OP_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    src : CUmemcpy3DOperand\n        Source memcpy operand.\n    dst : CUmemcpy3DOperand\n        Destination memcpy operand.\n    extent : CUextent3D\n        Extents of the memcpy between src and dst. The width, height and\n        depth components must not be 0.\n    srcAccessOrder : CUmemcpySrcAccessOrder\n        Source access ordering to be observed for copy from src to dst.\n    flags : unsigned int\n        Additional flags for copies with this attribute. See CUmemcpyFlags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    src : CUmemcpy3DOperand\n        Source memcpy operand.\n    dst : CUmemcpy3DOperand\n        Destination memcpy operand.\n    extent : CUextent3D\n        Extents of the memcpy between src and dst. The width, height and\n        depth components must not be 0.\n    srcAccessOrder : CUmemcpySrcAccessOrder\n        Source access ordering to be observed for copy from src to dst.\n    flags : unsigned int\n        Additional flags for copies with this attribute. See CUmemcpyFlags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_spec = {
  "cuda.bindings.driver.CUDA_MEMCPY3D_BATCH_OP",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEMCPY3D_BATCH_OP", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    src : CUmemcpy3DOperand\n        Source memcpy operand.\n    dst : CUmemcpy3DOperand\n        Destination memcpy operand.\n    extent : CUextent3D\n        Extents of the memcpy between src and dst. The width, height and\n        depth components must not be 0.\n    srcAccessOrder : CUmemcpySrcAccessOrder\n        Source access ordering to be observed for copy from src to dst.\n    flags : unsigned int\n        Additional flags for copies with this attribute. See CUmemcpyFlags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_spec = {
  "cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEM_ALLOC_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEM_ALLOC_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_spec = {
  "cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEM_ALLOC_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Memory free node parameters\n\n    Attributes\n    ----------\n    dptr : CUdeviceptr\n        in: the pointer to free\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_MEM_FREE_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory free node parameters\n\n    Attributes\n    ----------\n    dptr : CUdeviceptr\n        in: the pointer to free\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Child graph node parameters\n\n    Attributes\n    ----------\n    graph : CUgraph\n        The child graph to clone into the node for node creation, or a\n        handle to the graph owned by the node for node query. The graph\n        must not contain conditional nodes. Graphs containing memory\n        allocation or memory free nodes must set the ownership to be moved\n        to the parent.\n    ownership : CUgraphChildGraphNodeOwnership\n        The ownership relationship of the child graph node.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_CHILD_GRAPH_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Child graph node parameters\n\n    Attributes\n    ----------\n    graph : CUgraph\n        The child graph to clone into the node for node creation, or a\n        handle to the graph owned by the node for node query. The graph\n        must not contain conditional nodes. Graphs containing memory\n        allocation or memory free nodes must set the ownership to be moved\n        to the parent.\n    ownership : CUgraphChildGraphNodeOwnership\n        The ownership relationship of the child graph node.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Event record node parameters\n\n    Attributes\n    ----------\n    event : CUevent\n        The event to record when the node executes\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EVENT_RECORD_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Event record node parameters\n\n    Attributes\n    ----------\n    event : CUevent\n        The event to record when the node executes\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Event wait node parameters\n\n    Attributes\n    ----------\n    event : CUevent\n        The event to wait on from the node\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_spec = {
  "cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUDA_EVENT_WAIT_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Event wait node parameters\n\n    Attributes\n    ----------\n    event : CUevent\n        The event to wait on from the node\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Graph node parameters. See cuGraphAddNode.\n\n    Attributes\n    ----------\n    type : CUgraphNodeType\n        Type of the node\n    reserved0 : list[int]\n        Reserved. Must be zero.\n    reserved1 : list[long long]\n        Padding. Unused bytes must be zero.\n    kernel : CUDA_KERNEL_NODE_PARAMS_v3\n        Kernel node parameters.\n    memcpy : CUDA_MEMCPY_NODE_PARAMS\n        Memcpy node parameters.\n    memset : CUDA_MEMSET_NODE_PARAMS_v2\n        Memset node parameters.\n    host : CUDA_HOST_NODE_PARAMS_v2\n        Host node parameters.\n    graph : CUDA_CHILD_GRAPH_NODE_PARAMS\n        Child graph node parameters.\n    eventWait : CUDA_EVENT_WAIT_NODE_PARAMS\n        Event wait node parameters.\n    eventRecord : CUDA_EVENT_RECORD_NODE_PARAMS\n        Event record node parameters.\n    extSemSignal : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2\n        External semaphore signal node parameters.\n    extSemWait : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2\n        External semaphore wait node parameters.\n    alloc : CUDA_MEM_ALLOC_NODE_PARAMS_v2\n        Memory allocation node parameters.\n    free : CUDA_MEM_FREE_NODE_PARAMS\n        Memory free node parameters.\n    memOp : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2\n        MemOp node parameters.\n    conditional : CUDA_CONDITIONAL_NODE_PARAMS\n        Conditional node parameters.\n    reserved2 : long long\n        Reserved bytes. Must be zero.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUgraphNodeParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_spec = {
  "cuda.bindings.driver.CUgraphNodeParams",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUgraphNodeParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNodeParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Graph node parameters. See cuGraphAddNode.\n\n    Attributes\n    ----------\n    type : CUgraphNodeType\n        Type of the node\n    reserved0 : list[int]\n        Reserved. Must be zero.\n    reserved1 : list[long long]\n        Padding. Unused bytes must be zero.\n    kernel : CUDA_KERNEL_NODE_PARAMS_v3\n        Kernel node parameters.\n    memcpy : CUDA_MEMCPY_NODE_PARAMS\n        Memcpy node parameters.\n    memset : CUDA_MEMSET_NODE_PARAMS_v2\n        Memset node parameters.\n    host : CUDA_HOST_NODE_PARAMS_v2\n        Host node parameters.\n    graph : CUDA_CHILD_GRAPH_NODE_PARAMS\n        Child graph node parameters.\n    eventWait : CUDA_EVENT_WAIT_NODE_PARAMS\n        Event wait node parameters.\n    eventRecord : CUDA_EVENT_RECORD_NODE_PARAMS\n        Event record node parameters.\n    extSemSignal : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2\n        External semaphore signal node parameters.\n    extSemWait : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2\n        External semaphore wait node parameters.\n    alloc : CUDA_MEM_ALLOC_NODE_PARAMS_v2\n        Memory allocation node parameters.\n    free : CUDA_MEM_FREE_NODE_PARAMS\n        Memory free node parameters.\n    memOp : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2\n        MemOp node parameters.\n    conditional : CUDA_CONDITIONAL_NODE_PARAMS\n        Conditional node parameters.\n    reserved2 : long long\n        Reserved bytes. Must be zero.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_20CUgraphNodeParams_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUgraphNodeParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointLockArgs_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA checkpoint optional lock arguments\n\n    Attributes\n    ----------\n    timeoutMs : unsigned int\n        Timeout in milliseconds to attempt to lock the process, 0 indicates\n        no timeout\n    reserved0 : unsigned int\n        Reserved for future use, must be zero\n    reserved1 : list[cuuint64_t]\n        Reserved for future use, must be zeroed\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointLockArgs_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_spec = {
  "cuda.bindings.driver.CUcheckpointLockArgs",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointLockArgs", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointLockArgs), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointLockArgs_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA checkpoint optional lock arguments\n\n    Attributes\n    ----------\n    timeoutMs : unsigned int\n        Timeout in milliseconds to attempt to lock the process, 0 indicates\n        no timeout\n    reserved0 : unsigned int\n        Reserved for future use, must be zero\n    reserved1 : list[cuuint64_t]\n        Reserved for future use, must be zeroed\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointLockArgs_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA checkpoint optional checkpoint arguments\n\n    Attributes\n    ----------\n    reserved : list[cuuint64_t]\n        Reserved for future use, must be zeroed\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_spec = {
  "cuda.bindings.driver.CUcheckpointCheckpointArgs",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointCheckpointArgs", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA checkpoint optional checkpoint arguments\n\n    Attributes\n    ----------\n    reserved : list[cuuint64_t]\n        Reserved for future use, must be zeroed\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA checkpoint optional restore arguments\n\n    Attributes\n    ----------\n    reserved : list[cuuint64_t]\n        Reserved for future use, must be zeroed\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_spec = {
  "cuda.bindings.driver.CUcheckpointRestoreArgs",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointRestoreArgs", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA checkpoint optional restore arguments\n\n    Attributes\n    ----------\n    reserved : list[cuuint64_t]\n        Reserved for future use, must be zeroed\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA checkpoint optional unlock arguments\n\n    Attributes\n    ----------\n    reserved : list[cuuint64_t]\n        Reserved for future use, must be zeroed\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_spec = {
  "cuda.bindings.driver.CUcheckpointUnlockArgs",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointUnlockArgs", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointUnlockArgs), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA checkpoint optional unlock arguments\n\n    Attributes\n    ----------\n    reserved : list[cuuint64_t]\n        Reserved for future use, must be zeroed\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemDecompressParams_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Structure describing the parameters that compose a single\n    decompression operation.\n\n    Attributes\n    ----------\n    srcNumBytes : size_t\n        The number of bytes to be read and decompressed from\n        CUmemDecompressParams_st.src.\n    dstNumBytes : size_t\n        The number of bytes that the decompression operation will be\n        expected to write to CUmemDecompressParams_st.dst. This value is\n        optional; if present, it may be used by the CUDA driver as a\n        heuristic for scheduling the individual decompression operations.\n    dstActBytes : cuuint32_t\n        After the decompression operation has completed, the actual number\n        of bytes written to CUmemDecompressParams.dst will be recorded as a\n        32-bit unsigned integer in the memory at this address.\n    src : Any\n        Pointer to a buffer of at least\n        CUmemDecompressParams_st.srcNumBytes compressed bytes.\n    dst : Any\n        Pointer to a buffer where the decompressed data will be written.\n        The number of bytes written to this location will be recorded in\n        the memory pointed to by CUmemDecompressParams_st.dstActBytes\n    algo : CUmemDecompressAlgorithm\n        The decompression algorithm to use.\n    padding : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemDecompressParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_spec = {
  "cuda.bindings.driver.CUmemDecompressParams",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemDecompressParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemDecompressParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemDecompressParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Structure describing the parameters that compose a single\n    decompression operation.\n\n    Attributes\n    ----------\n    srcNumBytes : size_t\n        The number of bytes to be read and decompressed from\n        CUmemDecompressParams_st.src.\n    dstNumBytes : size_t\n        The number of bytes that the decompression operation will be\n        expected to write to CUmemDecompressParams_st.dst. This value is\n        optional; if present, it may be used by the CUDA driver as a\n        heuristic for scheduling the individual decompression operations.\n    dstActBytes : cuuint32_t\n        After the decompression operation has completed, the actual number\n        of bytes written to CUmemDecompressParams.dst will be recorded as a\n        32-bit unsigned integer in the memory at this address.\n    src : Any\n        Pointer to a buffer of at least\n        CUmemDecompressParams_st.srcNumBytes compressed bytes.\n    dst : Any\n        Pointer to a buffer where the decompressed data will be written.\n        The number of bytes written to this location will be recorded in\n        the memory pointed to by CUmemDecompressParams_st.dstActBytes\n    algo : CUmemDecompressAlgorithm\n        The decompression algorithm to use.\n    padding : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_24CUmemDecompressParams_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemDecompressParams_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevSmResource_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevSmResource_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of streaming multiprocessors available in this resource.\n        This is an output parameter only, do not write to this field.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevSmResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevSmResource_spec = {
  "cuda.bindings.driver.CUdevSmResource",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUdevSmResource_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevSmResource = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevSmResource", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevSmResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of streaming multiprocessors available in this resource.\n        This is an output parameter only, do not write to this field.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevSmResource_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevResource_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    type : CUdevResourceType\n        Type of resource, dictates which union field was last set\n    _internal_padding : bytes\n\n    sm : CUdevSmResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_SM `typename`.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevResource_v1_spec = {
  "cuda.bindings.driver.CUdevResource_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUdevResource_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevResource_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevResource_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    type : CUdevResourceType\n        Type of resource, dictates which union field was last set\n    _internal_padding : bytes\n\n    sm : CUdevSmResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_SM `typename`.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUdevResource_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUdevResource_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevResource_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevResource_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    type : CUdevResourceType\n        Type of resource, dictates which union field was last set\n    _internal_padding : bytes\n\n    sm : CUdevSmResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_SM `typename`.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUdevResource_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevResource_spec = {
  "cuda.bindings.driver.CUdevResource",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUdevResource_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevResource = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevResource", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    type : CUdevResourceType\n        Type of resource, dictates which union field was last set\n    _internal_padding : bytes\n\n    sm : CUdevSmResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_SM `typename`.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUdevResource_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUdevResource_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevResource_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA EGLFrame structure Descriptor - structure defining one frame\n    of EGL.  Each frame may contain one or more planes depending on\n    whether the surface * is Multiplanar or not.\n\n    Attributes\n    ----------\n    frame : anon_union15\n\n    width : unsigned int\n        Width of first plane\n    height : unsigned int\n        Height of first plane\n    depth : unsigned int\n        Depth of first plane\n    pitch : unsigned int\n        Pitch of first plane\n    planeCount : unsigned int\n        Number of planes\n    numChannels : unsigned int\n        Number of channels for the plane\n    frameType : CUeglFrameType\n        Array or Pitch\n    eglColorFormat : CUeglColorFormat\n        CUDA EGL Color Format\n    cuFormat : CUarray_format\n        CUDA Array Format\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUeglFrame_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1_spec = {
  "cuda.bindings.driver.CUeglFrame_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUeglFrame_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA EGLFrame structure Descriptor - structure defining one frame\n    of EGL.  Each frame may contain one or more planes depending on\n    whether the surface * is Multiplanar or not.\n\n    Attributes\n    ----------\n    frame : anon_union15\n\n    width : unsigned int\n        Width of first plane\n    height : unsigned int\n        Height of first plane\n    depth : unsigned int\n        Depth of first plane\n    pitch : unsigned int\n        Pitch of first plane\n    planeCount : unsigned int\n        Number of planes\n    numChannels : unsigned int\n        Number of channels for the plane\n    frameType : CUeglFrameType\n        Array or Pitch\n    eglColorFormat : CUeglColorFormat\n        CUDA EGL Color Format\n    cuFormat : CUarray_format\n        CUDA Array Format\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUeglFrame_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA EGLFrame structure Descriptor - structure defining one frame\n    of EGL.  Each frame may contain one or more planes depending on\n    whether the surface * is Multiplanar or not.\n\n    Attributes\n    ----------\n    frame : anon_union15\n\n    width : unsigned int\n        Width of first plane\n    height : unsigned int\n        Height of first plane\n    depth : unsigned int\n        Depth of first plane\n    pitch : unsigned int\n        Pitch of first plane\n    planeCount : unsigned int\n        Number of planes\n    numChannels : unsigned int\n        Number of channels for the plane\n    frameType : CUeglFrameType\n        Array or Pitch\n    eglColorFormat : CUeglColorFormat\n        CUDA EGL Color Format\n    cuFormat : CUarray_format\n        CUDA Array Format\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUeglFrame_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUeglFrame_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUeglFrame_spec = {
  "cuda.bindings.driver.CUeglFrame",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver_CUeglFrame_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUeglFrame = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUeglFrame", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA EGLFrame structure Descriptor - structure defining one frame\n    of EGL.  Each frame may contain one or more planes depending on\n    whether the surface * is Multiplanar or not.\n\n    Attributes\n    ----------\n    frame : anon_union15\n\n    width : unsigned int\n        Width of first plane\n    height : unsigned int\n        Height of first plane\n    depth : unsigned int\n        Depth of first plane\n    pitch : unsigned int\n        Pitch of first plane\n    planeCount : unsigned int\n        Number of planes\n    numChannels : unsigned int\n        Number of channels for the plane\n    frameType : CUeglFrameType\n        Array or Pitch\n    eglColorFormat : CUeglColorFormat\n        CUDA EGL Color Format\n    cuFormat : CUarray_format\n        CUDA Array Format\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_13CUeglFrame_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUeglFrame_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_cuuint32_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_cuuint32_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_cuuint32_t) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_cuuint32_t[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint32_t_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_cuuint32_t_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_cuuint32_t},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_cuuint32_t},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_cuuint32_t},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_cuuint32_t_spec = {
  "cuda.bindings.driver.cuuint32_t",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_cuuint32_t_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_cuuint32_t = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_cuuint32_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""cuuint32_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_cuuint32_t, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_10cuuint32_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cuuint32_t, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_cuuint32_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_cuuint32_t, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_cuuint64_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_cuuint64_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_cuuint64_t) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_cuuint64_t[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_10cuuint64_t_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_cuuint64_t_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_cuuint64_t},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_cuuint64_t},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_cuuint64_t},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_cuuint64_t_spec = {
  "cuda.bindings.driver.cuuint64_t",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_cuuint64_t_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_cuuint64_t = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_cuuint64_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""cuuint64_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_cuuint64_t, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_10cuuint64_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cuuint64_t, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_cuuint64_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_cuuint64_t, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdeviceptr_v2(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdeviceptr_v2(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdeviceptr_v2) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdeviceptr_v2[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUdeviceptr_v2_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdeviceptr_v2},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    CUDA device pointer CUdeviceptr is defined as an unsigned integer type whose size matches the size of a pointer on the target platform.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdeviceptr_v2},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdeviceptr_v2},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2_spec = {
  "cuda.bindings.driver.CUdeviceptr_v2",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdeviceptr_v2 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdeviceptr_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdeviceptr_v2, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_14CUdeviceptr_v2_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUdeviceptr_v2, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    CUDA device pointer CUdeviceptr is defined as an unsigned integer type whose size matches the size of a pointer on the target platform.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdeviceptr_v2, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdeviceptr_v2, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevice_v1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevice_v1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevice_v1) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdevice_v1[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_11CUdevice_v1_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevice_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevice_v1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    CUDA device\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdevice_v1},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevice_v1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevice_v1_spec = {
  "cuda.bindings.driver.CUdevice_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUdevice_v1_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdevice_v1 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevice_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevice_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevice_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevice_v1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_11CUdevice_v1_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUdevice_v1, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    CUDA device\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdevice_v1, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevice_v1, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUtexObject_v1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexObject_v1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexObject_v1) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUtexObject_v1[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_14CUtexObject_v1_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUtexObject_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexObject_v1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    An opaque value that represents a CUDA texture object\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUtexObject_v1},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUtexObject_v1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUtexObject_v1_spec = {
  "cuda.bindings.driver.CUtexObject_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUtexObject_v1_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUtexObject_v1 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUtexObject_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUtexObject_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUtexObject_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUtexObject_v1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_14CUtexObject_v1_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUtexObject_v1, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    An opaque value that represents a CUDA texture object\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUtexObject_v1, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUtexObject_v1, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUsurfObject_v1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfObject_v1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfObject_v1) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUsurfObject_v1[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15CUsurfObject_v1_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfObject_v1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    An opaque value that represents a CUDA surface object\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUsurfObject_v1},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUsurfObject_v1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1_spec = {
  "cuda.bindings.driver.CUsurfObject_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUsurfObject_v1 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUsurfObject_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUsurfObject_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUsurfObject_v1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_15CUsurfObject_v1_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUsurfObject_v1, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    An opaque value that represents a CUDA surface object\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUsurfObject_v1, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUsurfObject_v1, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1_spec = {
  "cuda.bindings.driver.CUmemGenericAllocationHandle_v1",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmemGenericAllocationHandle_v1 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUmemGenericAllocationHandle_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUmemGenericAllocationHandle_v1, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUlogIterator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogIterator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogIterator) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUlogIterator[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_13CUlogIterator_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUlogIterator_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogIterator},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUlogIterator},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUlogIterator},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUlogIterator_spec = {
  "cuda.bindings.driver.CUlogIterator",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUlogIterator_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUlogIterator = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUlogIterator = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUlogIterator", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUlogIterator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUlogIterator, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_13CUlogIterator_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUlogIterator, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUlogIterator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUlogIterator, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_GLenum(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_6GLenum_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_GLenum(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_GLenum) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_6GLenum_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_GLenum[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLenum_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLenum_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLenum_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLenum_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLenum_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLenum_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_GLenum_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_GLenum},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_6GLenum_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_6GLenum_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_GLenum},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_GLenum},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_GLenum_spec = {
  "cuda.bindings.driver.GLenum",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_GLenum),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_GLenum_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_GLenum = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_6GLenum_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_GLenum = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""GLenum", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_GLenum), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_GLenum, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_6GLenum_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_GLenum, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_GLenum, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_GLenum, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_GLuint(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_6GLuint_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_GLuint(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_GLuint) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_6GLuint_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_GLuint[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLuint_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLuint_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLuint_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLuint_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6GLuint_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6GLuint_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_GLuint_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_GLuint},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_6GLuint_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_6GLuint_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_GLuint},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_GLuint},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_GLuint_spec = {
  "cuda.bindings.driver.GLuint",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_GLuint),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_GLuint_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_GLuint = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_6GLuint_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_GLuint = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""GLuint", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_GLuint), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_GLuint, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_6GLuint_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_GLuint, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_GLuint, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_GLuint, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_EGLint(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_6EGLint_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLint(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLint) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_6EGLint_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_EGLint[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6EGLint_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6EGLint_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6EGLint_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6EGLint_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_6EGLint_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_6EGLint_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_EGLint_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_EGLint},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_6EGLint_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_6EGLint_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_EGLint},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_EGLint},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_EGLint_spec = {
  "cuda.bindings.driver.EGLint",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_EGLint),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_EGLint_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_EGLint = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_6EGLint_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_EGLint = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""EGLint", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_EGLint), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_EGLint, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_6EGLint_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_EGLint, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_EGLint, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_EGLint, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_VdpDevice(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpDevice(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpDevice) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_9VdpDevice_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_VdpDevice[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9VdpDevice_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9VdpDevice_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_9VdpDevice_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_VdpDevice_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_VdpDevice},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_9VdpDevice_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_VdpDevice},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_VdpDevice},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_VdpDevice_spec = {
  "cuda.bindings.driver.VdpDevice",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_VdpDevice_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_VdpDevice = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_9VdpDevice_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_VdpDevice = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""VdpDevice", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_VdpDevice), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpDevice, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_9VdpDevice_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_VdpDevice, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_VdpDevice, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_VdpDevice, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_VdpGetProcAddress(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpGetProcAddress(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpGetProcAddress) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_VdpGetProcAddress[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_17VdpGetProcAddress_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_VdpGetProcAddress},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_VdpGetProcAddress},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_VdpGetProcAddress},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress_spec = {
  "cuda.bindings.driver.VdpGetProcAddress",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_VdpGetProcAddress = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""VdpGetProcAddress", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_VdpGetProcAddress), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpGetProcAddress, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_17VdpGetProcAddress_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_VdpGetProcAddress, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_VdpGetProcAddress, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_VdpGetProcAddress, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_VdpVideoSurface(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpVideoSurface(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpVideoSurface) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_VdpVideoSurface[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_15VdpVideoSurface_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_VdpVideoSurface_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_VdpVideoSurface},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_VdpVideoSurface},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_VdpVideoSurface},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_VdpVideoSurface_spec = {
  "cuda.bindings.driver.VdpVideoSurface",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_VdpVideoSurface_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_VdpVideoSurface = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_VdpVideoSurface = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""VdpVideoSurface", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_VdpVideoSurface), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpVideoSurface, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_15VdpVideoSurface_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_VdpVideoSurface, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_VdpVideoSurface, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_VdpVideoSurface, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_VdpOutputSurface(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpOutputSurface(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpOutputSurface) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_VdpOutputSurface[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16VdpOutputSurface_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_VdpOutputSurface_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_VdpOutputSurface},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_7__int__},
  {Py_tp_doc, (void *)PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_VdpOutputSurface},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_VdpOutputSurface},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_VdpOutputSurface_spec = {
  "cuda.bindings.driver.VdpOutputSurface",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_VdpOutputSurface_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_VdpOutputSurface = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  __pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_7__int__, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_VdpOutputSurface = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""VdpOutputSurface", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_VdpOutputSurface), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_VdpOutputSurface, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_16VdpOutputSurface_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_VdpOutputSurface, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_VdpOutputSurface, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_VdpOutputSurface, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_cudaBindingsDriverGlobal(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *)o);
  __Pyx_default_placement_construct(&(p->_allocated));
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver_cudaBindingsDriverGlobal(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *p = (struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_cudaBindingsDriverGlobal) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_1__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_allocated);
  #if CYTHON_USE_TYPE_SLOTS
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_cudaBindingsDriverGlobal[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_2__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_4__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_cudaBindingsDriverGlobal},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_cudaBindingsDriverGlobal},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_cudaBindingsDriverGlobal},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal_spec = {
  "cuda.bindings.driver.cudaBindingsDriverGlobal",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""cudaBindingsDriverGlobal", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_cudaBindingsDriverGlobal, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_cudaBindingsDriverGlobal, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_cudaBindingsDriverGlobal, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct__genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct__genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct__genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct__genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct__genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct__genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct__genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct__genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct__genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct__genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct__genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct__genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct__genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct__genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct__genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct__genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct__genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct__genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_1_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_1_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_2_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_2_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_3_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_3_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_4_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_4_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_5_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_5_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_6_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_6_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_7_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_7_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_8_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_8_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_9_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_9_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_10_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_10_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_11_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_11_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_12_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_12_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_13_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_13_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_14_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_14_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_15_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_15_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_16_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_16_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_17_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_17_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_18_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_18_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_19_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_19_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_20_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_20_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_21_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_21_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_22_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_22_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_23_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_23_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_24_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_24_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_25_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_25_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_26_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_26_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_27_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_27_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_28_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_28_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_29_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_29_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_30_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_30_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_31_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_31_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_32_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_32_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_33_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_33_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_34_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_34_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_35_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_35_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_36_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_36_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_37_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_37_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_38_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_38_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_39_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_39_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_40_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_40_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_41_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_41_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_42_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_42_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_43_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_43_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_44_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_44_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_45_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_45_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_46_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_46_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_47_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_47_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_48_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_48_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_49_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_49_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_50_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_50_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_51_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_51_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_52_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_52_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_53_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_53_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_54_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_54_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_55_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_55_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_56_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_56_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_57_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_57_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_58_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_58_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_59_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_59_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_60_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_60_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_61_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_61_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_62_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_62_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_63_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_63_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_64_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_64_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_65_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_65_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_66_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_66_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_67_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_67_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_68_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_68_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_69_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_69_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_70_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_70_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_71_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_71_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_72_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_72_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_73_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_73_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_74_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_74_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_75_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_75_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_76_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_76_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_77_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_77_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_78_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_78_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_79_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_79_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_80_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_80_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_81_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_81_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_82_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_82_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_83_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_83_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_84_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_84_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_85_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_85_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_86_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_86_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_87_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_87_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_88_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_88_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_89_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_89_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_90_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_90_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_91_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_91_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_92_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_92_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_93_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_93_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_94_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_94_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_95_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_95_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_96_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_96_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_97_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_97_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_98_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_98_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_99_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_99_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_100_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_100_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_101_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_101_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_102_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_102_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_103_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_103_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_104_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_104_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_105_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_105_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_106_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_106_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_107_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_107_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_108_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_108_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_109_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_109_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_110_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_110_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_111_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_111_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_112_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_112_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_113_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_113_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_114_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_114_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_115_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_115_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_116_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_116_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_117_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_117_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_118_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_118_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_119_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_119_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_120_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_120_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_121_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_121_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_122_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_122_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_123_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_123_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_124_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_124_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_125_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_125_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_126_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_126_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_127_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_127_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_128_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_128_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_129_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_129_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_130_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_130_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_131_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_131_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_132_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_132_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_133_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_133_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_134_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_134_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_135_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_135_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_136_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_136_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_137_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_137_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_138_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_138_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_139_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_139_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_140_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_140_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_141_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_141_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_142_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_142_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_143_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_143_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_144_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_144_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_145_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_145_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_146_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_146_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_147_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_147_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_148_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_148_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_149_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_149_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_150_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_150_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_151_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_151_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_152_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_152_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_153_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_153_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_154_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_154_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_155_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_155_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_156_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_156_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_157_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_157_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_158_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_158_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_159_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_159_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_160_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_160_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_161_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_161_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_162_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_162_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_163_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_163_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_164_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_164_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_165_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_165_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_166_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_166_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_167_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_167_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_168_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_168_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_169_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_169_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_170_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_170_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_171_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_171_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_172_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_172_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_173_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_173_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_174_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_174_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_175_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_175_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_176_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_176_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_177_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_177_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_178_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_178_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_179_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_179_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_180_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_180_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_181_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_181_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_182_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_182_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_183_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_183_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr)))) {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v__x);
  #if CYTHON_USE_FREELISTS
  if (((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr)))) {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_184_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_184_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};
/* #### Code section: initfunc_declarations ### */
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate); /*proto*/
/* #### Code section: init_module ### */

static int __Pyx_modinit_global_init_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
  /*--- Global init code ---*/
  __pyx_v_4cuda_8bindings_6driver_m_global = ((struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *)Py_None); Py_INCREF(Py_None);
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_export_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
  /*--- Variable export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_export_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
  /*--- Function export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
  /*--- Type init code ---*/
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperKernelParams_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams)) __PYX_ERR(1, 21, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperKernelParams_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams) < (0)) __PYX_ERR(1, 21, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams = &__pyx_type_4cuda_8bindings_6driver__HelperKernelParams;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams) < (0)) __PYX_ERR(1, 21, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperKernelParams, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams) < (0)) __PYX_ERR(1, 21, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams) < (0)) __PYX_ERR(1, 21, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr)) __PYX_ERR(1, 130, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr) < (0)) __PYX_ERR(1, 130, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr = &__pyx_type_4cuda_8bindings_6driver__HelperInputVoidPtr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr) < (0)) __PYX_ERR(1, 130, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperInputVoidPtr, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr) < (0)) __PYX_ERR(1, 130, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr) < (0)) __PYX_ERR(1, 130, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute)) __PYX_ERR(1, 158, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute) < (0)) __PYX_ERR(1, 158, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute = &__pyx_type_4cuda_8bindings_6driver__HelperCUmemPool_attribute;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute) < (0)) __PYX_ERR(1, 158, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCUmemPool_attribute, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute) < (0)) __PYX_ERR(1, 158, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute) < (0)) __PYX_ERR(1, 158, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute)) __PYX_ERR(1, 202, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute) < (0)) __PYX_ERR(1, 202, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute = &__pyx_type_4cuda_8bindings_6driver__HelperCUmem_range_attribute;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute) < (0)) __PYX_ERR(1, 202, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCUmem_range_attribute, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute) < (0)) __PYX_ERR(1, 202, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute) < (0)) __PYX_ERR(1, 202, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute)) __PYX_ERR(1, 234, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute) < (0)) __PYX_ERR(1, 234, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute = &__pyx_type_4cuda_8bindings_6driver__HelperCUpointer_attribute;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute) < (0)) __PYX_ERR(1, 234, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCUpointer_attribute, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute) < (0)) __PYX_ERR(1, 234, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute) < (0)) __PYX_ERR(1, 234, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute)) __PYX_ERR(1, 326, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute) < (0)) __PYX_ERR(1, 326, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute = &__pyx_type_4cuda_8bindings_6driver__HelperCUgraphMem_attribute;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute) < (0)) __PYX_ERR(1, 326, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCUgraphMem_attribute, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute) < (0)) __PYX_ERR(1, 326, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute) < (0)) __PYX_ERR(1, 326, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCUjit_option_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option)) __PYX_ERR(1, 359, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCUjit_option_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option) < (0)) __PYX_ERR(1, 359, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option = &__pyx_type_4cuda_8bindings_6driver__HelperCUjit_option;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option) < (0)) __PYX_ERR(1, 359, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCUjit_option, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option) < (0)) __PYX_ERR(1, 359, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option) < (0)) __PYX_ERR(1, 359, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption)) __PYX_ERR(1, 420, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption) < (0)) __PYX_ERR(1, 420, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption = &__pyx_type_4cuda_8bindings_6driver__HelperCudaJitOption;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption) < (0)) __PYX_ERR(1, 420, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCudaJitOption, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption) < (0)) __PYX_ERR(1, 420, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption) < (0)) __PYX_ERR(1, 420, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption)) __PYX_ERR(1, 462, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption) < (0)) __PYX_ERR(1, 462, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption = &__pyx_type_4cuda_8bindings_6driver__HelperCUlibraryOption;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption) < (0)) __PYX_ERR(1, 462, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCUlibraryOption, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption) < (0)) __PYX_ERR(1, 462, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption) < (0)) __PYX_ERR(1, 462, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption)) __PYX_ERR(1, 482, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption) < (0)) __PYX_ERR(1, 482, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption = &__pyx_type_4cuda_8bindings_6driver__HelperCudaLibraryOption;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption) < (0)) __PYX_ERR(1, 482, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCudaLibraryOption, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption) < (0)) __PYX_ERR(1, 482, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption) < (0)) __PYX_ERR(1, 482, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType)) __PYX_ERR(1, 502, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType) < (0)) __PYX_ERR(1, 502, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType = &__pyx_type_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType) < (0)) __PYX_ERR(1, 502, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCUmemAllocationHandleType, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType) < (0)) __PYX_ERR(1, 502, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType) < (0)) __PYX_ERR(1, 502, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper)) __PYX_ERR(1, 544, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper) < (0)) __PYX_ERR(1, 544, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper = &__pyx_type_4cuda_8bindings_6driver__InputVoidPtrPtrHelper;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper) < (0)) __PYX_ERR(1, 544, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_InputVoidPtrPtrHelper, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper) < (0)) __PYX_ERR(1, 544, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper) < (0)) __PYX_ERR(1, 544, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings)) __PYX_ERR(1, 557, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings) < (0)) __PYX_ERR(1, 557, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings = &__pyx_type_4cuda_8bindings_6driver__HelperCUcoredumpSettings;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings) < (0)) __PYX_ERR(1, 557, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_HelperCUcoredumpSettings, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings) < (0)) __PYX_ERR(1, 557, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings) < (0)) __PYX_ERR(1, 557, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcontext_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext)) __PYX_ERR(0, 5255, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcontext_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext) < (0)) __PYX_ERR(0, 5255, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext = &__pyx_type_4cuda_8bindings_6driver_CUcontext;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext) < (0)) __PYX_ERR(0, 5255, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcontext, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext) < (0)) __PYX_ERR(0, 5255, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext) < (0)) __PYX_ERR(0, 5255, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmodule_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule)) __PYX_ERR(0, 5289, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmodule_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule) < (0)) __PYX_ERR(0, 5289, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule = &__pyx_type_4cuda_8bindings_6driver_CUmodule;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule) < (0)) __PYX_ERR(0, 5289, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmodule_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule) < (0)) __PYX_ERR(0, 5289, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule) < (0)) __PYX_ERR(0, 5289, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUfunction_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction)) __PYX_ERR(0, 5323, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUfunction_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction) < (0)) __PYX_ERR(0, 5323, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction = &__pyx_type_4cuda_8bindings_6driver_CUfunction;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction) < (0)) __PYX_ERR(0, 5323, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUfunction_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction) < (0)) __PYX_ERR(0, 5323, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction) < (0)) __PYX_ERR(0, 5323, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlibrary_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary)) __PYX_ERR(0, 5357, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlibrary_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary) < (0)) __PYX_ERR(0, 5357, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary = &__pyx_type_4cuda_8bindings_6driver_CUlibrary;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary) < (0)) __PYX_ERR(0, 5357, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlibrary_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary) < (0)) __PYX_ERR(0, 5357, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary) < (0)) __PYX_ERR(0, 5357, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUkernel_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel)) __PYX_ERR(0, 5391, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUkernel_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel) < (0)) __PYX_ERR(0, 5391, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel = &__pyx_type_4cuda_8bindings_6driver_CUkernel;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel) < (0)) __PYX_ERR(0, 5391, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUkernel_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel) < (0)) __PYX_ERR(0, 5391, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel) < (0)) __PYX_ERR(0, 5391, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUarray_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray)) __PYX_ERR(0, 5425, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUarray_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray) < (0)) __PYX_ERR(0, 5425, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray = &__pyx_type_4cuda_8bindings_6driver_CUarray;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray) < (0)) __PYX_ERR(0, 5425, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUarray_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray) < (0)) __PYX_ERR(0, 5425, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray) < (0)) __PYX_ERR(0, 5425, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmipmappedArray_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray)) __PYX_ERR(0, 5459, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmipmappedArray_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray) < (0)) __PYX_ERR(0, 5459, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray = &__pyx_type_4cuda_8bindings_6driver_CUmipmappedArray;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray) < (0)) __PYX_ERR(0, 5459, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmipmappedArray_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray) < (0)) __PYX_ERR(0, 5459, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray) < (0)) __PYX_ERR(0, 5459, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUtexref_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref)) __PYX_ERR(0, 5493, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUtexref_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref) < (0)) __PYX_ERR(0, 5493, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref = &__pyx_type_4cuda_8bindings_6driver_CUtexref;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref) < (0)) __PYX_ERR(0, 5493, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUtexref_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref) < (0)) __PYX_ERR(0, 5493, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref) < (0)) __PYX_ERR(0, 5493, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUsurfref_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref)) __PYX_ERR(0, 5527, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUsurfref_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref) < (0)) __PYX_ERR(0, 5527, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref = &__pyx_type_4cuda_8bindings_6driver_CUsurfref;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref) < (0)) __PYX_ERR(0, 5527, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUsurfref_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref) < (0)) __PYX_ERR(0, 5527, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref) < (0)) __PYX_ERR(0, 5527, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUevent_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent)) __PYX_ERR(0, 5561, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUevent_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent) < (0)) __PYX_ERR(0, 5561, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent = &__pyx_type_4cuda_8bindings_6driver_CUevent;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent) < (0)) __PYX_ERR(0, 5561, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUevent_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent) < (0)) __PYX_ERR(0, 5561, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent) < (0)) __PYX_ERR(0, 5561, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstream_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream)) __PYX_ERR(0, 5595, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstream_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream) < (0)) __PYX_ERR(0, 5595, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream = &__pyx_type_4cuda_8bindings_6driver_CUstream;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream) < (0)) __PYX_ERR(0, 5595, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstream_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream) < (0)) __PYX_ERR(0, 5595, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream) < (0)) __PYX_ERR(0, 5595, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphicsResource_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource)) __PYX_ERR(0, 5629, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphicsResource_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource) < (0)) __PYX_ERR(0, 5629, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource = &__pyx_type_4cuda_8bindings_6driver_CUgraphicsResource;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource) < (0)) __PYX_ERR(0, 5629, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphicsResource_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource) < (0)) __PYX_ERR(0, 5629, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource) < (0)) __PYX_ERR(0, 5629, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUexternalMemory_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory)) __PYX_ERR(0, 5663, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUexternalMemory_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory) < (0)) __PYX_ERR(0, 5663, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory = &__pyx_type_4cuda_8bindings_6driver_CUexternalMemory;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory) < (0)) __PYX_ERR(0, 5663, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUexternalMemory_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory) < (0)) __PYX_ERR(0, 5663, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory) < (0)) __PYX_ERR(0, 5663, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore)) __PYX_ERR(0, 5697, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore) < (0)) __PYX_ERR(0, 5697, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore = &__pyx_type_4cuda_8bindings_6driver_CUexternalSemaphore;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore) < (0)) __PYX_ERR(0, 5697, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphore_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore) < (0)) __PYX_ERR(0, 5697, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore) < (0)) __PYX_ERR(0, 5697, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraph_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph)) __PYX_ERR(0, 5731, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraph_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph) < (0)) __PYX_ERR(0, 5731, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph = &__pyx_type_4cuda_8bindings_6driver_CUgraph;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph) < (0)) __PYX_ERR(0, 5731, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraph_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph) < (0)) __PYX_ERR(0, 5731, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph) < (0)) __PYX_ERR(0, 5731, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphNode_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode)) __PYX_ERR(0, 5765, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphNode_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode) < (0)) __PYX_ERR(0, 5765, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode = &__pyx_type_4cuda_8bindings_6driver_CUgraphNode;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode) < (0)) __PYX_ERR(0, 5765, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphNode_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode) < (0)) __PYX_ERR(0, 5765, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode) < (0)) __PYX_ERR(0, 5765, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphExec_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec)) __PYX_ERR(0, 5799, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphExec_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec) < (0)) __PYX_ERR(0, 5799, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec = &__pyx_type_4cuda_8bindings_6driver_CUgraphExec;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec) < (0)) __PYX_ERR(0, 5799, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphExec_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec) < (0)) __PYX_ERR(0, 5799, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec) < (0)) __PYX_ERR(0, 5799, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemoryPool_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool)) __PYX_ERR(0, 5833, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemoryPool_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool) < (0)) __PYX_ERR(0, 5833, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool = &__pyx_type_4cuda_8bindings_6driver_CUmemoryPool;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool) < (0)) __PYX_ERR(0, 5833, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemoryPool, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool) < (0)) __PYX_ERR(0, 5833, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool) < (0)) __PYX_ERR(0, 5833, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUuserObject_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject)) __PYX_ERR(0, 5867, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUuserObject_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject) < (0)) __PYX_ERR(0, 5867, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject = &__pyx_type_4cuda_8bindings_6driver_CUuserObject;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject) < (0)) __PYX_ERR(0, 5867, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUuserObject_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject) < (0)) __PYX_ERR(0, 5867, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject) < (0)) __PYX_ERR(0, 5867, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode)) __PYX_ERR(0, 5901, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode) < (0)) __PYX_ERR(0, 5901, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode = &__pyx_type_4cuda_8bindings_6driver_CUgraphDeviceNode;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode) < (0)) __PYX_ERR(0, 5901, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphDeviceNode_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode) < (0)) __PYX_ERR(0, 5901, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode) < (0)) __PYX_ERR(0, 5901, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle)) __PYX_ERR(0, 5935, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle) < (0)) __PYX_ERR(0, 5935, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle = &__pyx_type_4cuda_8bindings_6driver_CUasyncCallbackHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle) < (0)) __PYX_ERR(0, 5935, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUasyncCallbackHandle_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle) < (0)) __PYX_ERR(0, 5935, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle) < (0)) __PYX_ERR(0, 5935, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgreenCtx_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx)) __PYX_ERR(0, 5969, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgreenCtx_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx) < (0)) __PYX_ERR(0, 5969, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx = &__pyx_type_4cuda_8bindings_6driver_CUgreenCtx;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx) < (0)) __PYX_ERR(0, 5969, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgreenCtx_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx) < (0)) __PYX_ERR(0, 5969, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx) < (0)) __PYX_ERR(0, 5969, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlinkState_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState)) __PYX_ERR(0, 6003, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlinkState_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState) < (0)) __PYX_ERR(0, 6003, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState = &__pyx_type_4cuda_8bindings_6driver_CUlinkState;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState) < (0)) __PYX_ERR(0, 6003, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlinkState_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState) < (0)) __PYX_ERR(0, 6003, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState) < (0)) __PYX_ERR(0, 6003, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc)) __PYX_ERR(0, 6035, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc) < (0)) __PYX_ERR(0, 6035, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc = &__pyx_type_4cuda_8bindings_6driver_CUdevResourceDesc;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc) < (0)) __PYX_ERR(0, 6035, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevResourceDesc_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc) < (0)) __PYX_ERR(0, 6035, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc) < (0)) __PYX_ERR(0, 6035, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle)) __PYX_ERR(0, 6069, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle) < (0)) __PYX_ERR(0, 6069, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle = &__pyx_type_4cuda_8bindings_6driver_CUlogsCallbackHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle) < (0)) __PYX_ERR(0, 6069, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlogsCallbackHandle_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle) < (0)) __PYX_ERR(0, 6069, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle) < (0)) __PYX_ERR(0, 6069, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection)) __PYX_ERR(0, 6101, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection) < (0)) __PYX_ERR(0, 6101, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection = &__pyx_type_4cuda_8bindings_6driver_CUeglStreamConnection;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection) < (0)) __PYX_ERR(0, 6101, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUeglStreamConnection_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection) < (0)) __PYX_ERR(0, 6101, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection) < (0)) __PYX_ERR(0, 6101, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_EGLImageKHR_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR)) __PYX_ERR(0, 6135, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_EGLImageKHR_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR) < (0)) __PYX_ERR(0, 6135, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR = &__pyx_type_4cuda_8bindings_6driver_EGLImageKHR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR) < (0)) __PYX_ERR(0, 6135, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_EGLImageKHR_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR) < (0)) __PYX_ERR(0, 6135, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR) < (0)) __PYX_ERR(0, 6135, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_EGLStreamKHR_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR)) __PYX_ERR(0, 6167, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_EGLStreamKHR_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR) < (0)) __PYX_ERR(0, 6167, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR = &__pyx_type_4cuda_8bindings_6driver_EGLStreamKHR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR) < (0)) __PYX_ERR(0, 6167, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_EGLStreamKHR_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR) < (0)) __PYX_ERR(0, 6167, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR) < (0)) __PYX_ERR(0, 6167, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_EGLSyncKHR_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR)) __PYX_ERR(0, 6199, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_EGLSyncKHR_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR) < (0)) __PYX_ERR(0, 6199, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR = &__pyx_type_4cuda_8bindings_6driver_EGLSyncKHR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR) < (0)) __PYX_ERR(0, 6199, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_EGLSyncKHR_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR) < (0)) __PYX_ERR(0, 6199, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR) < (0)) __PYX_ERR(0, 6199, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUasyncCallback_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback)) __PYX_ERR(0, 6231, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUasyncCallback_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback) < (0)) __PYX_ERR(0, 6231, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback = &__pyx_type_4cuda_8bindings_6driver_CUasyncCallback;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback) < (0)) __PYX_ERR(0, 6231, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUasyncCallback_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback) < (0)) __PYX_ERR(0, 6231, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback) < (0)) __PYX_ERR(0, 6231, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUhostFn_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn)) __PYX_ERR(0, 6257, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUhostFn_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn) < (0)) __PYX_ERR(0, 6257, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn = &__pyx_type_4cuda_8bindings_6driver_CUhostFn;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn) < (0)) __PYX_ERR(0, 6257, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUhostFn_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn) < (0)) __PYX_ERR(0, 6257, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn) < (0)) __PYX_ERR(0, 6257, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamCallback_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback)) __PYX_ERR(0, 6283, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamCallback_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback) < (0)) __PYX_ERR(0, 6283, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback = &__pyx_type_4cuda_8bindings_6driver_CUstreamCallback;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback) < (0)) __PYX_ERR(0, 6283, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamCallback_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback) < (0)) __PYX_ERR(0, 6283, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback) < (0)) __PYX_ERR(0, 6283, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize)) __PYX_ERR(0, 6309, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize) < (0)) __PYX_ERR(0, 6309, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize = &__pyx_type_4cuda_8bindings_6driver_CUoccupancyB2DSize;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize) < (0)) __PYX_ERR(0, 6309, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUoccupancyB2DSize_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize) < (0)) __PYX_ERR(0, 6309, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize) < (0)) __PYX_ERR(0, 6309, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlogsCallback_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback)) __PYX_ERR(0, 6335, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlogsCallback_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback) < (0)) __PYX_ERR(0, 6335, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback = &__pyx_type_4cuda_8bindings_6driver_CUlogsCallback;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback) < (0)) __PYX_ERR(0, 6335, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlogsCallback_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback) < (0)) __PYX_ERR(0, 6335, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback) < (0)) __PYX_ERR(0, 6335, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUuuid_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st)) __PYX_ERR(0, 6361, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUuuid_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st) < (0)) __PYX_ERR(0, 6361, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st = &__pyx_type_4cuda_8bindings_6driver_CUuuid_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st) < (0)) __PYX_ERR(0, 6361, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUuuid_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st) < (0)) __PYX_ERR(0, 6361, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st) < (0)) __PYX_ERR(0, 6361, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st)) __PYX_ERR(0, 6398, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st) < (0)) __PYX_ERR(0, 6398, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st = &__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st) < (0)) __PYX_ERR(0, 6398, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemFabricHandle_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st) < (0)) __PYX_ERR(0, 6398, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st) < (0)) __PYX_ERR(0, 6398, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st)) __PYX_ERR(0, 6446, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st) < (0)) __PYX_ERR(0, 6446, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st = &__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st) < (0)) __PYX_ERR(0, 6446, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUipcEventHandle_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st) < (0)) __PYX_ERR(0, 6446, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st) < (0)) __PYX_ERR(0, 6446, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st)) __PYX_ERR(0, 6499, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st) < (0)) __PYX_ERR(0, 6499, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st = &__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st) < (0)) __PYX_ERR(0, 6499, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUipcMemHandle_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st) < (0)) __PYX_ERR(0, 6499, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st) < (0)) __PYX_ERR(0, 6499, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st)) __PYX_ERR(0, 6552, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st) < (0)) __PYX_ERR(0, 6552, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st = &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st) < (0)) __PYX_ERR(0, 6552, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpWaitValueParams_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st) < (0)) __PYX_ERR(0, 6552, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st) < (0)) __PYX_ERR(0, 6552, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st)) __PYX_ERR(0, 6696, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st) < (0)) __PYX_ERR(0, 6696, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st = &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st) < (0)) __PYX_ERR(0, 6696, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpWriteValueParams_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st) < (0)) __PYX_ERR(0, 6696, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st) < (0)) __PYX_ERR(0, 6696, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st)) __PYX_ERR(0, 6840, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st) < (0)) __PYX_ERR(0, 6840, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st = &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st) < (0)) __PYX_ERR(0, 6840, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpFlushRemoteWritesPa, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st) < (0)) __PYX_ERR(0, 6840, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st) < (0)) __PYX_ERR(0, 6840, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st)) __PYX_ERR(0, 6892, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st) < (0)) __PYX_ERR(0, 6892, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st = &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st) < (0)) __PYX_ERR(0, 6892, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpMemoryBarrierParams, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st) < (0)) __PYX_ERR(0, 6892, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st) < (0)) __PYX_ERR(0, 6892, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union)) __PYX_ERR(0, 6944, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union) < (0)) __PYX_ERR(0, 6944, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union = &__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union) < (0)) __PYX_ERR(0, 6944, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpParams_union, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union) < (0)) __PYX_ERR(0, 6944, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union) < (0)) __PYX_ERR(0, 6944, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)) __PYX_ERR(0, 7053, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) < (0)) __PYX_ERR(0, 7053, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) < (0)) __PYX_ERR(0, 7053, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) < (0)) __PYX_ERR(0, 7053, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) < (0)) __PYX_ERR(0, 7053, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)) __PYX_ERR(0, 7156, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 7156, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 7156, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 7156, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 7156, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct0_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0)) __PYX_ERR(0, 7261, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct0_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0) < (0)) __PYX_ERR(0, 7261, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0 = &__pyx_type_4cuda_8bindings_6driver_anon_struct0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0) < (0)) __PYX_ERR(0, 7261, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct0, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0) < (0)) __PYX_ERR(0, 7261, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0) < (0)) __PYX_ERR(0, 7261, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union2_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2)) __PYX_ERR(0, 7299, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2) < (0)) __PYX_ERR(0, 7299, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2 = &__pyx_type_4cuda_8bindings_6driver_anon_union2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2) < (0)) __PYX_ERR(0, 7299, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2) < (0)) __PYX_ERR(0, 7299, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2) < (0)) __PYX_ERR(0, 7299, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st)) __PYX_ERR(0, 7338, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st) < (0)) __PYX_ERR(0, 7338, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st = &__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st) < (0)) __PYX_ERR(0, 7338, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationInfo_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st) < (0)) __PYX_ERR(0, 7338, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st) < (0)) __PYX_ERR(0, 7338, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevprop_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st)) __PYX_ERR(0, 7398, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevprop_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st) < (0)) __PYX_ERR(0, 7398, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st = &__pyx_type_4cuda_8bindings_6driver_CUdevprop_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st) < (0)) __PYX_ERR(0, 7398, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevprop_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st) < (0)) __PYX_ERR(0, 7398, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st) < (0)) __PYX_ERR(0, 7398, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st)) __PYX_ERR(0, 7548, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st) < (0)) __PYX_ERR(0, 7548, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st = &__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st) < (0)) __PYX_ERR(0, 7548, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUaccessPolicyWindow_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st) < (0)) __PYX_ERR(0, 7548, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st) < (0)) __PYX_ERR(0, 7548, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st)) __PYX_ERR(0, 7655, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 7655, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 7655, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 7655, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 7655, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st)) __PYX_ERR(0, 7816, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 7816, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 7816, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 7816, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 7816, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st)) __PYX_ERR(0, 8023, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st) < (0)) __PYX_ERR(0, 8023, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st) < (0)) __PYX_ERR(0, 8023, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st) < (0)) __PYX_ERR(0, 8023, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st) < (0)) __PYX_ERR(0, 8023, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st)) __PYX_ERR(0, 8230, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8230, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8230, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8230, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8230, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st)) __PYX_ERR(0, 8343, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 8343, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 8343, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 8343, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 8343, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st)) __PYX_ERR(0, 8478, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8478, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8478, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8478, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8478, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st)) __PYX_ERR(0, 8543, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 8543, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 8543, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 8543, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 8543, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS)) __PYX_ERR(0, 8608, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS) < (0)) __PYX_ERR(0, 8608, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS) < (0)) __PYX_ERR(0, 8608, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS) < (0)) __PYX_ERR(0, 8608, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS) < (0)) __PYX_ERR(0, 8608, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st)) __PYX_ERR(0, 8738, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st) < (0)) __PYX_ERR(0, 8738, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st = &__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st) < (0)) __PYX_ERR(0, 8738, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphEdgeData_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st) < (0)) __PYX_ERR(0, 8738, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st) < (0)) __PYX_ERR(0, 8738, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st)) __PYX_ERR(0, 8838, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < (0)) __PYX_ERR(0, 8838, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < (0)) __PYX_ERR(0, 8838, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < (0)) __PYX_ERR(0, 8838, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < (0)) __PYX_ERR(0, 8838, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st)) __PYX_ERR(0, 8949, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st) < (0)) __PYX_ERR(0, 8949, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st = &__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st) < (0)) __PYX_ERR(0, 8949, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomainMap_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st) < (0)) __PYX_ERR(0, 8949, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st) < (0)) __PYX_ERR(0, 8949, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct1_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1)) __PYX_ERR(0, 9009, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1) < (0)) __PYX_ERR(0, 9009, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1 = &__pyx_type_4cuda_8bindings_6driver_anon_struct1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1) < (0)) __PYX_ERR(0, 9009, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1) < (0)) __PYX_ERR(0, 9009, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1) < (0)) __PYX_ERR(0, 9009, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct2_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2)) __PYX_ERR(0, 9071, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2) < (0)) __PYX_ERR(0, 9071, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2 = &__pyx_type_4cuda_8bindings_6driver_anon_struct2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2) < (0)) __PYX_ERR(0, 9071, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2) < (0)) __PYX_ERR(0, 9071, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2) < (0)) __PYX_ERR(0, 9071, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct3_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3)) __PYX_ERR(0, 9143, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct3_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3) < (0)) __PYX_ERR(0, 9143, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3 = &__pyx_type_4cuda_8bindings_6driver_anon_struct3;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3) < (0)) __PYX_ERR(0, 9143, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3) < (0)) __PYX_ERR(0, 9143, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3) < (0)) __PYX_ERR(0, 9143, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct4_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4)) __PYX_ERR(0, 9203, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct4_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4) < (0)) __PYX_ERR(0, 9203, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4 = &__pyx_type_4cuda_8bindings_6driver_anon_struct4;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4) < (0)) __PYX_ERR(0, 9203, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct4, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4) < (0)) __PYX_ERR(0, 9203, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4) < (0)) __PYX_ERR(0, 9203, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct5_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5)) __PYX_ERR(0, 9265, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct5_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5) < (0)) __PYX_ERR(0, 9265, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5 = &__pyx_type_4cuda_8bindings_6driver_anon_struct5;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5) < (0)) __PYX_ERR(0, 9265, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct5, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5) < (0)) __PYX_ERR(0, 9265, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5) < (0)) __PYX_ERR(0, 9265, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union)) __PYX_ERR(0, 9325, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union) < (0)) __PYX_ERR(0, 9325, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union = &__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_union;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union) < (0)) __PYX_ERR(0, 9325, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeValue_union, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union) < (0)) __PYX_ERR(0, 9325, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union) < (0)) __PYX_ERR(0, 9325, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st)) __PYX_ERR(0, 9600, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st) < (0)) __PYX_ERR(0, 9600, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st = &__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st) < (0)) __PYX_ERR(0, 9600, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlaunchAttribute_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st) < (0)) __PYX_ERR(0, 9600, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st) < (0)) __PYX_ERR(0, 9600, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st)) __PYX_ERR(0, 9657, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st) < (0)) __PYX_ERR(0, 9657, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st = &__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st) < (0)) __PYX_ERR(0, 9657, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlaunchConfig_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st) < (0)) __PYX_ERR(0, 9657, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st) < (0)) __PYX_ERR(0, 9657, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st)) __PYX_ERR(0, 9834, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st) < (0)) __PYX_ERR(0, 9834, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st = &__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st) < (0)) __PYX_ERR(0, 9834, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUexecAffinitySmCount_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st) < (0)) __PYX_ERR(0, 9834, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st) < (0)) __PYX_ERR(0, 9834, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union3_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3)) __PYX_ERR(0, 9876, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union3_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3) < (0)) __PYX_ERR(0, 9876, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3 = &__pyx_type_4cuda_8bindings_6driver_anon_union3;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3) < (0)) __PYX_ERR(0, 9876, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3) < (0)) __PYX_ERR(0, 9876, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3) < (0)) __PYX_ERR(0, 9876, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st)) __PYX_ERR(0, 9915, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st) < (0)) __PYX_ERR(0, 9915, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st = &__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st) < (0)) __PYX_ERR(0, 9915, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUexecAffinityParam_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st) < (0)) __PYX_ERR(0, 9915, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st) < (0)) __PYX_ERR(0, 9915, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st)) __PYX_ERR(0, 9974, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st) < (0)) __PYX_ERR(0, 9974, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st = &__pyx_type_4cuda_8bindings_6driver_CUctxCigParam_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st) < (0)) __PYX_ERR(0, 9974, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUctxCigParam_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st) < (0)) __PYX_ERR(0, 9974, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st) < (0)) __PYX_ERR(0, 9974, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st)) __PYX_ERR(0, 10031, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st) < (0)) __PYX_ERR(0, 10031, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st = &__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st) < (0)) __PYX_ERR(0, 10031, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUctxCreateParams_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st) < (0)) __PYX_ERR(0, 10031, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st) < (0)) __PYX_ERR(0, 10031, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st)) __PYX_ERR(0, 10132, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st) < (0)) __PYX_ERR(0, 10132, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st = &__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st) < (0)) __PYX_ERR(0, 10132, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlibraryHostUniversalFunctionAn, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st) < (0)) __PYX_ERR(0, 10132, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st) < (0)) __PYX_ERR(0, 10132, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st)) __PYX_ERR(0, 10210, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st) < (0)) __PYX_ERR(0, 10210, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st) < (0)) __PYX_ERR(0, 10210, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY2D_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st) < (0)) __PYX_ERR(0, 10210, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st) < (0)) __PYX_ERR(0, 10210, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st)) __PYX_ERR(0, 10480, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st) < (0)) __PYX_ERR(0, 10480, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st) < (0)) __PYX_ERR(0, 10480, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st) < (0)) __PYX_ERR(0, 10480, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st) < (0)) __PYX_ERR(0, 10480, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st)) __PYX_ERR(0, 10861, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st) < (0)) __PYX_ERR(0, 10861, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st) < (0)) __PYX_ERR(0, 10861, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_PEER_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st) < (0)) __PYX_ERR(0, 10861, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st) < (0)) __PYX_ERR(0, 10861, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st)) __PYX_ERR(0, 11261, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 11261, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 11261, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 11261, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 11261, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st)) __PYX_ERR(0, 11350, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11350, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11350, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11350, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11350, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st)) __PYX_ERR(0, 11430, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11430, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11430, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11430, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11430, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct6_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6)) __PYX_ERR(0, 11534, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct6_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6) < (0)) __PYX_ERR(0, 11534, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6 = &__pyx_type_4cuda_8bindings_6driver_anon_struct6;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6) < (0)) __PYX_ERR(0, 11534, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct6, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6) < (0)) __PYX_ERR(0, 11534, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6) < (0)) __PYX_ERR(0, 11534, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st)) __PYX_ERR(0, 11596, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st) < (0)) __PYX_ERR(0, 11596, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st) < (0)) __PYX_ERR(0, 11596, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st) < (0)) __PYX_ERR(0, 11596, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st) < (0)) __PYX_ERR(0, 11596, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st)) __PYX_ERR(0, 11688, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < (0)) __PYX_ERR(0, 11688, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < (0)) __PYX_ERR(0, 11688, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < (0)) __PYX_ERR(0, 11688, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < (0)) __PYX_ERR(0, 11688, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct7_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7)) __PYX_ERR(0, 11754, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct7_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7) < (0)) __PYX_ERR(0, 11754, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7 = &__pyx_type_4cuda_8bindings_6driver_anon_struct7;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7) < (0)) __PYX_ERR(0, 11754, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct7, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7) < (0)) __PYX_ERR(0, 11754, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7) < (0)) __PYX_ERR(0, 11754, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct8_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8)) __PYX_ERR(0, 11802, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct8_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8) < (0)) __PYX_ERR(0, 11802, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8 = &__pyx_type_4cuda_8bindings_6driver_anon_struct8;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8) < (0)) __PYX_ERR(0, 11802, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct8, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8) < (0)) __PYX_ERR(0, 11802, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8) < (0)) __PYX_ERR(0, 11802, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct9_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9)) __PYX_ERR(0, 11850, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct9_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9) < (0)) __PYX_ERR(0, 11850, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9 = &__pyx_type_4cuda_8bindings_6driver_anon_struct9;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9) < (0)) __PYX_ERR(0, 11850, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct9, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9) < (0)) __PYX_ERR(0, 11850, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9) < (0)) __PYX_ERR(0, 11850, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct10_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10)) __PYX_ERR(0, 11937, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct10_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10) < (0)) __PYX_ERR(0, 11937, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10 = &__pyx_type_4cuda_8bindings_6driver_anon_struct10;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10) < (0)) __PYX_ERR(0, 11937, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct10, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10) < (0)) __PYX_ERR(0, 11937, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10) < (0)) __PYX_ERR(0, 11937, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct11_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11)) __PYX_ERR(0, 12048, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct11_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11) < (0)) __PYX_ERR(0, 12048, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11 = &__pyx_type_4cuda_8bindings_6driver_anon_struct11;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11) < (0)) __PYX_ERR(0, 12048, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct11, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11) < (0)) __PYX_ERR(0, 12048, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11) < (0)) __PYX_ERR(0, 12048, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union4_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4)) __PYX_ERR(0, 12086, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union4_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4) < (0)) __PYX_ERR(0, 12086, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4 = &__pyx_type_4cuda_8bindings_6driver_anon_union4;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4) < (0)) __PYX_ERR(0, 12086, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union4, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4) < (0)) __PYX_ERR(0, 12086, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4) < (0)) __PYX_ERR(0, 12086, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st)) __PYX_ERR(0, 12177, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st) < (0)) __PYX_ERR(0, 12177, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st) < (0)) __PYX_ERR(0, 12177, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_DESC_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st) < (0)) __PYX_ERR(0, 12177, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st) < (0)) __PYX_ERR(0, 12177, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st)) __PYX_ERR(0, 12248, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st) < (0)) __PYX_ERR(0, 12248, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st) < (0)) __PYX_ERR(0, 12248, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_TEXTURE_DESC_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st) < (0)) __PYX_ERR(0, 12248, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st) < (0)) __PYX_ERR(0, 12248, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st)) __PYX_ERR(0, 12402, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st) < (0)) __PYX_ERR(0, 12402, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st) < (0)) __PYX_ERR(0, 12402, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st) < (0)) __PYX_ERR(0, 12402, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st) < (0)) __PYX_ERR(0, 12402, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUtensorMap_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st)) __PYX_ERR(0, 12542, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUtensorMap_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st) < (0)) __PYX_ERR(0, 12542, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st = &__pyx_type_4cuda_8bindings_6driver_CUtensorMap_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st) < (0)) __PYX_ERR(0, 12542, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUtensorMap_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st) < (0)) __PYX_ERR(0, 12542, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st) < (0)) __PYX_ERR(0, 12542, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)) __PYX_ERR(0, 12586, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) < (0)) __PYX_ERR(0, 12586, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) < (0)) __PYX_ERR(0, 12586, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) < (0)) __PYX_ERR(0, 12586, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) < (0)) __PYX_ERR(0, 12586, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st)) __PYX_ERR(0, 12640, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st) < (0)) __PYX_ERR(0, 12640, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st) < (0)) __PYX_ERR(0, 12640, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_LAUNCH_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st) < (0)) __PYX_ERR(0, 12640, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st) < (0)) __PYX_ERR(0, 12640, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct12_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12)) __PYX_ERR(0, 12811, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct12_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12) < (0)) __PYX_ERR(0, 12811, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12 = &__pyx_type_4cuda_8bindings_6driver_anon_struct12;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12) < (0)) __PYX_ERR(0, 12811, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct12, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12) < (0)) __PYX_ERR(0, 12811, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12) < (0)) __PYX_ERR(0, 12811, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union5_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5)) __PYX_ERR(0, 12863, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union5_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5) < (0)) __PYX_ERR(0, 12863, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5 = &__pyx_type_4cuda_8bindings_6driver_anon_union5;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5) < (0)) __PYX_ERR(0, 12863, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union5, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5) < (0)) __PYX_ERR(0, 12863, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5) < (0)) __PYX_ERR(0, 12863, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)) __PYX_ERR(0, 12927, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) < (0)) __PYX_ERR(0, 12927, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) < (0)) __PYX_ERR(0, 12927, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) < (0)) __PYX_ERR(0, 12927, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) < (0)) __PYX_ERR(0, 12927, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)) __PYX_ERR(0, 13022, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) < (0)) __PYX_ERR(0, 13022, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) < (0)) __PYX_ERR(0, 13022, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) < (0)) __PYX_ERR(0, 13022, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) < (0)) __PYX_ERR(0, 13022, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)) __PYX_ERR(0, 13100, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) < (0)) __PYX_ERR(0, 13100, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) < (0)) __PYX_ERR(0, 13100, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) < (0)) __PYX_ERR(0, 13100, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) < (0)) __PYX_ERR(0, 13100, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct13_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13)) __PYX_ERR(0, 13180, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct13_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13) < (0)) __PYX_ERR(0, 13180, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13 = &__pyx_type_4cuda_8bindings_6driver_anon_struct13;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13) < (0)) __PYX_ERR(0, 13180, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct13, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13) < (0)) __PYX_ERR(0, 13180, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13) < (0)) __PYX_ERR(0, 13180, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union6_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6)) __PYX_ERR(0, 13232, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union6_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6) < (0)) __PYX_ERR(0, 13232, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6 = &__pyx_type_4cuda_8bindings_6driver_anon_union6;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6) < (0)) __PYX_ERR(0, 13232, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union6, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6) < (0)) __PYX_ERR(0, 13232, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6) < (0)) __PYX_ERR(0, 13232, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)) __PYX_ERR(0, 13296, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) < (0)) __PYX_ERR(0, 13296, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) < (0)) __PYX_ERR(0, 13296, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) < (0)) __PYX_ERR(0, 13296, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) < (0)) __PYX_ERR(0, 13296, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct14_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14)) __PYX_ERR(0, 13379, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct14_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14) < (0)) __PYX_ERR(0, 13379, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14 = &__pyx_type_4cuda_8bindings_6driver_anon_struct14;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14) < (0)) __PYX_ERR(0, 13379, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct14, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14) < (0)) __PYX_ERR(0, 13379, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14) < (0)) __PYX_ERR(0, 13379, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union7_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7)) __PYX_ERR(0, 13417, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union7_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7) < (0)) __PYX_ERR(0, 13417, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7 = &__pyx_type_4cuda_8bindings_6driver_anon_union7;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7) < (0)) __PYX_ERR(0, 13417, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union7, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7) < (0)) __PYX_ERR(0, 13417, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7) < (0)) __PYX_ERR(0, 13417, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct15_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15)) __PYX_ERR(0, 13468, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct15_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15) < (0)) __PYX_ERR(0, 13468, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15 = &__pyx_type_4cuda_8bindings_6driver_anon_struct15;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15) < (0)) __PYX_ERR(0, 13468, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct15, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15) < (0)) __PYX_ERR(0, 13468, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15) < (0)) __PYX_ERR(0, 13468, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct16_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16)) __PYX_ERR(0, 13506, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct16_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16) < (0)) __PYX_ERR(0, 13506, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16 = &__pyx_type_4cuda_8bindings_6driver_anon_struct16;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16) < (0)) __PYX_ERR(0, 13506, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct16, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16) < (0)) __PYX_ERR(0, 13506, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16) < (0)) __PYX_ERR(0, 13506, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)) __PYX_ERR(0, 13583, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) < (0)) __PYX_ERR(0, 13583, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) < (0)) __PYX_ERR(0, 13583, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) < (0)) __PYX_ERR(0, 13583, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) < (0)) __PYX_ERR(0, 13583, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct17_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17)) __PYX_ERR(0, 13657, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct17_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17) < (0)) __PYX_ERR(0, 13657, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17 = &__pyx_type_4cuda_8bindings_6driver_anon_struct17;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17) < (0)) __PYX_ERR(0, 13657, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct17, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17) < (0)) __PYX_ERR(0, 13657, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17) < (0)) __PYX_ERR(0, 13657, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union8_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8)) __PYX_ERR(0, 13695, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union8_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8) < (0)) __PYX_ERR(0, 13695, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8 = &__pyx_type_4cuda_8bindings_6driver_anon_union8;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8) < (0)) __PYX_ERR(0, 13695, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union8, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8) < (0)) __PYX_ERR(0, 13695, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8) < (0)) __PYX_ERR(0, 13695, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct18_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18)) __PYX_ERR(0, 13746, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct18_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18) < (0)) __PYX_ERR(0, 13746, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18 = &__pyx_type_4cuda_8bindings_6driver_anon_struct18;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18) < (0)) __PYX_ERR(0, 13746, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct18, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18) < (0)) __PYX_ERR(0, 13746, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18) < (0)) __PYX_ERR(0, 13746, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct19_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19)) __PYX_ERR(0, 13796, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct19_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19) < (0)) __PYX_ERR(0, 13796, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19 = &__pyx_type_4cuda_8bindings_6driver_anon_struct19;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19) < (0)) __PYX_ERR(0, 13796, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct19, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19) < (0)) __PYX_ERR(0, 13796, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19) < (0)) __PYX_ERR(0, 13796, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)) __PYX_ERR(0, 13873, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) < (0)) __PYX_ERR(0, 13873, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) < (0)) __PYX_ERR(0, 13873, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) < (0)) __PYX_ERR(0, 13873, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) < (0)) __PYX_ERR(0, 13873, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)) __PYX_ERR(0, 13947, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 13947, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 13947, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 13947, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 13947, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)) __PYX_ERR(0, 14048, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 14048, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 14048, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 14048, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 14048, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)) __PYX_ERR(0, 14149, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 14149, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 14149, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 14149, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 14149, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)) __PYX_ERR(0, 14250, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 14250, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 14250, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 14250, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 14250, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union9_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9)) __PYX_ERR(0, 14351, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union9_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9) < (0)) __PYX_ERR(0, 14351, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9 = &__pyx_type_4cuda_8bindings_6driver_anon_union9;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9) < (0)) __PYX_ERR(0, 14351, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union9, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9) < (0)) __PYX_ERR(0, 14351, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9) < (0)) __PYX_ERR(0, 14351, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct20_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20)) __PYX_ERR(0, 14421, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct20_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20) < (0)) __PYX_ERR(0, 14421, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20 = &__pyx_type_4cuda_8bindings_6driver_anon_struct20;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20) < (0)) __PYX_ERR(0, 14421, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct20, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20) < (0)) __PYX_ERR(0, 14421, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20) < (0)) __PYX_ERR(0, 14421, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct21_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21)) __PYX_ERR(0, 14543, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct21_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21) < (0)) __PYX_ERR(0, 14543, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21 = &__pyx_type_4cuda_8bindings_6driver_anon_struct21;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21) < (0)) __PYX_ERR(0, 14543, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct21, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21) < (0)) __PYX_ERR(0, 14543, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21) < (0)) __PYX_ERR(0, 14543, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union10_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10)) __PYX_ERR(0, 14605, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union10_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10) < (0)) __PYX_ERR(0, 14605, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10 = &__pyx_type_4cuda_8bindings_6driver_anon_union10;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10) < (0)) __PYX_ERR(0, 14605, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union10, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10) < (0)) __PYX_ERR(0, 14605, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10) < (0)) __PYX_ERR(0, 14605, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union11_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11)) __PYX_ERR(0, 14657, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union11_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11) < (0)) __PYX_ERR(0, 14657, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11 = &__pyx_type_4cuda_8bindings_6driver_anon_union11;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11) < (0)) __PYX_ERR(0, 14657, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union11, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11) < (0)) __PYX_ERR(0, 14657, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11) < (0)) __PYX_ERR(0, 14657, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st)) __PYX_ERR(0, 14706, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st) < (0)) __PYX_ERR(0, 14706, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st = &__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st) < (0)) __PYX_ERR(0, 14706, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUarrayMapInfo_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st) < (0)) __PYX_ERR(0, 14706, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st) < (0)) __PYX_ERR(0, 14706, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemLocation_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st)) __PYX_ERR(0, 14882, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemLocation_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st) < (0)) __PYX_ERR(0, 14882, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st = &__pyx_type_4cuda_8bindings_6driver_CUmemLocation_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st) < (0)) __PYX_ERR(0, 14882, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemLocation_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st) < (0)) __PYX_ERR(0, 14882, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st) < (0)) __PYX_ERR(0, 14882, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct22_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22)) __PYX_ERR(0, 14938, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct22_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22) < (0)) __PYX_ERR(0, 14938, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22 = &__pyx_type_4cuda_8bindings_6driver_anon_struct22;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22) < (0)) __PYX_ERR(0, 14938, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct22, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22) < (0)) __PYX_ERR(0, 14938, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22) < (0)) __PYX_ERR(0, 14938, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st)) __PYX_ERR(0, 15015, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st) < (0)) __PYX_ERR(0, 15015, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st = &__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st) < (0)) __PYX_ERR(0, 15015, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemAllocationProp_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st) < (0)) __PYX_ERR(0, 15015, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st) < (0)) __PYX_ERR(0, 15015, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st)) __PYX_ERR(0, 15116, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st) < (0)) __PYX_ERR(0, 15116, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st = &__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st) < (0)) __PYX_ERR(0, 15116, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmulticastObjectProp_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st) < (0)) __PYX_ERR(0, 15116, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st) < (0)) __PYX_ERR(0, 15116, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st)) __PYX_ERR(0, 15197, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st) < (0)) __PYX_ERR(0, 15197, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st = &__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st) < (0)) __PYX_ERR(0, 15197, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemAccessDesc_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st) < (0)) __PYX_ERR(0, 15197, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st) < (0)) __PYX_ERR(0, 15197, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st)) __PYX_ERR(0, 15254, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st) < (0)) __PYX_ERR(0, 15254, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st = &__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st) < (0)) __PYX_ERR(0, 15254, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResultInfo_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st) < (0)) __PYX_ERR(0, 15254, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st) < (0)) __PYX_ERR(0, 15254, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st)) __PYX_ERR(0, 15345, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st) < (0)) __PYX_ERR(0, 15345, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st = &__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st) < (0)) __PYX_ERR(0, 15345, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemPoolProps_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st) < (0)) __PYX_ERR(0, 15345, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st) < (0)) __PYX_ERR(0, 15345, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st)) __PYX_ERR(0, 15474, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st) < (0)) __PYX_ERR(0, 15474, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st = &__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st) < (0)) __PYX_ERR(0, 15474, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemPoolPtrExportData_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st) < (0)) __PYX_ERR(0, 15474, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st) < (0)) __PYX_ERR(0, 15474, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st)) __PYX_ERR(0, 15519, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st) < (0)) __PYX_ERR(0, 15519, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st = &__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st) < (0)) __PYX_ERR(0, 15519, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemcpyAttributes_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st) < (0)) __PYX_ERR(0, 15519, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st) < (0)) __PYX_ERR(0, 15519, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUoffset3D_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st)) __PYX_ERR(0, 15605, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUoffset3D_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st) < (0)) __PYX_ERR(0, 15605, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st = &__pyx_type_4cuda_8bindings_6driver_CUoffset3D_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st) < (0)) __PYX_ERR(0, 15605, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUoffset3D_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st) < (0)) __PYX_ERR(0, 15605, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st) < (0)) __PYX_ERR(0, 15605, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUextent3D_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st)) __PYX_ERR(0, 15671, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUextent3D_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st) < (0)) __PYX_ERR(0, 15671, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st = &__pyx_type_4cuda_8bindings_6driver_CUextent3D_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st) < (0)) __PYX_ERR(0, 15671, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUextent3D_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st) < (0)) __PYX_ERR(0, 15671, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st) < (0)) __PYX_ERR(0, 15671, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct23_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23)) __PYX_ERR(0, 15737, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct23_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23) < (0)) __PYX_ERR(0, 15737, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23 = &__pyx_type_4cuda_8bindings_6driver_anon_struct23;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23) < (0)) __PYX_ERR(0, 15737, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct23, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23) < (0)) __PYX_ERR(0, 15737, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23) < (0)) __PYX_ERR(0, 15737, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_struct24_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24)) __PYX_ERR(0, 15823, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_struct24_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24) < (0)) __PYX_ERR(0, 15823, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24 = &__pyx_type_4cuda_8bindings_6driver_anon_struct24;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24) < (0)) __PYX_ERR(0, 15823, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_struct24, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24) < (0)) __PYX_ERR(0, 15823, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24) < (0)) __PYX_ERR(0, 15823, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union12_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12)) __PYX_ERR(0, 15884, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union12_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12) < (0)) __PYX_ERR(0, 15884, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12 = &__pyx_type_4cuda_8bindings_6driver_anon_union12;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12) < (0)) __PYX_ERR(0, 15884, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union12, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12) < (0)) __PYX_ERR(0, 15884, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12) < (0)) __PYX_ERR(0, 15884, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st)) __PYX_ERR(0, 15936, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st) < (0)) __PYX_ERR(0, 15936, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st = &__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st) < (0)) __PYX_ERR(0, 15936, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperand_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st) < (0)) __PYX_ERR(0, 15936, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st) < (0)) __PYX_ERR(0, 15936, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st)) __PYX_ERR(0, 15995, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st) < (0)) __PYX_ERR(0, 15995, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st) < (0)) __PYX_ERR(0, 15995, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st) < (0)) __PYX_ERR(0, 15995, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st) < (0)) __PYX_ERR(0, 15995, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)) __PYX_ERR(0, 16089, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) < (0)) __PYX_ERR(0, 16089, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) < (0)) __PYX_ERR(0, 16089, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) < (0)) __PYX_ERR(0, 16089, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) < (0)) __PYX_ERR(0, 16089, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)) __PYX_ERR(0, 16212, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 16212, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 16212, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 16212, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) < (0)) __PYX_ERR(0, 16212, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st)) __PYX_ERR(0, 16335, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16335, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16335, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16335, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16335, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st)) __PYX_ERR(0, 16388, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16388, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16388, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16388, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16388, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st)) __PYX_ERR(0, 16458, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16458, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16458, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16458, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16458, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st)) __PYX_ERR(0, 16510, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16510, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16510, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16510, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 16510, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st)) __PYX_ERR(0, 16562, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st) < (0)) __PYX_ERR(0, 16562, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st = &__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st) < (0)) __PYX_ERR(0, 16562, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphNodeParams_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st) < (0)) __PYX_ERR(0, 16562, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st) < (0)) __PYX_ERR(0, 16562, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st)) __PYX_ERR(0, 16813, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st) < (0)) __PYX_ERR(0, 16813, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st) < (0)) __PYX_ERR(0, 16813, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointLockArgs_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st) < (0)) __PYX_ERR(0, 16813, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st) < (0)) __PYX_ERR(0, 16813, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st)) __PYX_ERR(0, 16881, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st) < (0)) __PYX_ERR(0, 16881, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st) < (0)) __PYX_ERR(0, 16881, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointCheckpointArgs_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st) < (0)) __PYX_ERR(0, 16881, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st) < (0)) __PYX_ERR(0, 16881, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st)) __PYX_ERR(0, 16924, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st) < (0)) __PYX_ERR(0, 16924, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st) < (0)) __PYX_ERR(0, 16924, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointRestoreArgs_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st) < (0)) __PYX_ERR(0, 16924, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st) < (0)) __PYX_ERR(0, 16924, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st)) __PYX_ERR(0, 16967, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st) < (0)) __PYX_ERR(0, 16967, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st) < (0)) __PYX_ERR(0, 16967, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointUnlockArgs_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st) < (0)) __PYX_ERR(0, 16967, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st) < (0)) __PYX_ERR(0, 16967, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st)) __PYX_ERR(0, 17010, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st) < (0)) __PYX_ERR(0, 17010, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st = &__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st) < (0)) __PYX_ERR(0, 17010, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemDecompressParams_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st) < (0)) __PYX_ERR(0, 17010, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st) < (0)) __PYX_ERR(0, 17010, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st)) __PYX_ERR(0, 17138, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st) < (0)) __PYX_ERR(0, 17138, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st = &__pyx_type_4cuda_8bindings_6driver_CUdevSmResource_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st) < (0)) __PYX_ERR(0, 17138, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevSmResource_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st) < (0)) __PYX_ERR(0, 17138, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st) < (0)) __PYX_ERR(0, 17138, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevResource_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st)) __PYX_ERR(0, 17179, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevResource_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st) < (0)) __PYX_ERR(0, 17179, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st = &__pyx_type_4cuda_8bindings_6driver_CUdevResource_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st) < (0)) __PYX_ERR(0, 17179, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevResource_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st) < (0)) __PYX_ERR(0, 17179, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st) < (0)) __PYX_ERR(0, 17179, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_anon_union15_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15)) __PYX_ERR(0, 17266, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_anon_union15_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15) < (0)) __PYX_ERR(0, 17266, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15 = &__pyx_type_4cuda_8bindings_6driver_anon_union15;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15) < (0)) __PYX_ERR(0, 17266, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_anon_union15, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15) < (0)) __PYX_ERR(0, 17266, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15) < (0)) __PYX_ERR(0, 17266, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUeglFrame_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st)) __PYX_ERR(0, 17325, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUeglFrame_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st) < (0)) __PYX_ERR(0, 17325, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st = &__pyx_type_4cuda_8bindings_6driver_CUeglFrame_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st) < (0)) __PYX_ERR(0, 17325, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUeglFrame_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st) < (0)) __PYX_ERR(0, 17325, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st) < (0)) __PYX_ERR(0, 17325, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdeviceptr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr)) __PYX_ERR(0, 4747, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdeviceptr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr) < (0)) __PYX_ERR(0, 4747, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr = &__pyx_type_4cuda_8bindings_6driver_CUdeviceptr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr) < (0)) __PYX_ERR(0, 4747, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdeviceptr, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr) < (0)) __PYX_ERR(0, 4747, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr) < (0)) __PYX_ERR(0, 4747, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevice_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice)) __PYX_ERR(0, 4774, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevice_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice) < (0)) __PYX_ERR(0, 4774, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice = &__pyx_type_4cuda_8bindings_6driver_CUdevice;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice) < (0)) __PYX_ERR(0, 4774, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevice_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice) < (0)) __PYX_ERR(0, 4774, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice) < (0)) __PYX_ERR(0, 4774, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUtexObject_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject)) __PYX_ERR(0, 4801, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUtexObject_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject) < (0)) __PYX_ERR(0, 4801, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject = &__pyx_type_4cuda_8bindings_6driver_CUtexObject;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject) < (0)) __PYX_ERR(0, 4801, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUtexObject_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject) < (0)) __PYX_ERR(0, 4801, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject) < (0)) __PYX_ERR(0, 4801, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUsurfObject_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject)) __PYX_ERR(0, 4828, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUsurfObject_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject) < (0)) __PYX_ERR(0, 4828, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject = &__pyx_type_4cuda_8bindings_6driver_CUsurfObject;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject) < (0)) __PYX_ERR(0, 4828, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUsurfObject_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject) < (0)) __PYX_ERR(0, 4828, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject) < (0)) __PYX_ERR(0, 4828, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle)) __PYX_ERR(0, 4855, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle) < (0)) __PYX_ERR(0, 4855, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle = &__pyx_type_4cuda_8bindings_6driver_CUgraphConditionalHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle) < (0)) __PYX_ERR(0, 4855, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalHandle_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle) < (0)) __PYX_ERR(0, 4855, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle) < (0)) __PYX_ERR(0, 4855, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUuuid_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid)) __PYX_ERR(3, 3621, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUuuid_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid) < (0)) __PYX_ERR(3, 3621, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid = &__pyx_type_4cuda_8bindings_6driver_CUuuid;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid) < (0)) __PYX_ERR(3, 3621, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUuuid, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid) < (0)) __PYX_ERR(3, 3621, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1)) __PYX_ERR(3, 3635, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1) < (0)) __PYX_ERR(3, 3635, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1) < (0)) __PYX_ERR(3, 3635, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemFabricHandle_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1) < (0)) __PYX_ERR(3, 3635, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle)) __PYX_ERR(3, 3654, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle) < (0)) __PYX_ERR(3, 3654, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle = &__pyx_type_4cuda_8bindings_6driver_CUmemFabricHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle) < (0)) __PYX_ERR(3, 3654, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemFabricHandle, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle) < (0)) __PYX_ERR(3, 3654, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1)) __PYX_ERR(3, 3673, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1) < (0)) __PYX_ERR(3, 3673, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1 = &__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1) < (0)) __PYX_ERR(3, 3673, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUipcEventHandle_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1) < (0)) __PYX_ERR(3, 3673, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle)) __PYX_ERR(3, 3689, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle) < (0)) __PYX_ERR(3, 3689, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle = &__pyx_type_4cuda_8bindings_6driver_CUipcEventHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle) < (0)) __PYX_ERR(3, 3689, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUipcEventHandle, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle) < (0)) __PYX_ERR(3, 3689, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1)) __PYX_ERR(3, 3705, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1) < (0)) __PYX_ERR(3, 3705, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1 = &__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1) < (0)) __PYX_ERR(3, 3705, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUipcMemHandle_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1) < (0)) __PYX_ERR(3, 3705, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle)) __PYX_ERR(3, 3721, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle) < (0)) __PYX_ERR(3, 3721, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle = &__pyx_type_4cuda_8bindings_6driver_CUipcMemHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle) < (0)) __PYX_ERR(3, 3721, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUipcMemHandle, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle) < (0)) __PYX_ERR(3, 3721, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1)) __PYX_ERR(3, 3737, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1) < (0)) __PYX_ERR(3, 3737, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1 = &__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1) < (0)) __PYX_ERR(3, 3737, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpParams_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1) < (0)) __PYX_ERR(3, 3737, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams)) __PYX_ERR(3, 3763, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams) < (0)) __PYX_ERR(3, 3763, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams = &__pyx_type_4cuda_8bindings_6driver_CUstreamBatchMemOpParams;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams) < (0)) __PYX_ERR(3, 3763, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpParams, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams) < (0)) __PYX_ERR(3, 3763, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)) __PYX_ERR(3, 3789, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 3789, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 3789, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 3789, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS)) __PYX_ERR(3, 3809, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS) < (0)) __PYX_ERR(3, 3809, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS) < (0)) __PYX_ERR(3, 3809, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS) < (0)) __PYX_ERR(3, 3809, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)) __PYX_ERR(3, 3829, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 3829, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 3829, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 3829, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo)) __PYX_ERR(3, 3851, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo) < (0)) __PYX_ERR(3, 3851, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo = &__pyx_type_4cuda_8bindings_6driver_CUasyncNotificationInfo;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo) < (0)) __PYX_ERR(3, 3851, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationInfo, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo) < (0)) __PYX_ERR(3, 3851, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevprop_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1)) __PYX_ERR(3, 3870, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevprop_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1) < (0)) __PYX_ERR(3, 3870, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1 = &__pyx_type_4cuda_8bindings_6driver_CUdevprop_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1) < (0)) __PYX_ERR(3, 3870, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevprop_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1) < (0)) __PYX_ERR(3, 3870, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevprop_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop)) __PYX_ERR(3, 3904, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevprop_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop) < (0)) __PYX_ERR(3, 3904, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop = &__pyx_type_4cuda_8bindings_6driver_CUdevprop;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop) < (0)) __PYX_ERR(3, 3904, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevprop, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop) < (0)) __PYX_ERR(3, 3904, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1)) __PYX_ERR(3, 3938, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1) < (0)) __PYX_ERR(3, 3938, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1 = &__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1) < (0)) __PYX_ERR(3, 3938, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUaccessPolicyWindow_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1) < (0)) __PYX_ERR(3, 3938, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 3974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow)) __PYX_ERR(3, 3974, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow) < (0)) __PYX_ERR(3, 3974, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow = &__pyx_type_4cuda_8bindings_6driver_CUaccessPolicyWindow;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow) < (0)) __PYX_ERR(3, 3974, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUaccessPolicyWindow, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow) < (0)) __PYX_ERR(3, 3974, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1)) __PYX_ERR(3, 4010, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4010, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4010, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4010, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2)) __PYX_ERR(3, 4044, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4044, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4044, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4044, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS)) __PYX_ERR(3, 4084, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS) < (0)) __PYX_ERR(3, 4084, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS) < (0)) __PYX_ERR(3, 4084, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS) < (0)) __PYX_ERR(3, 4084, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3)) __PYX_ERR(3, 4124, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3) < (0)) __PYX_ERR(3, 4124, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3 = &__pyx_type_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3) < (0)) __PYX_ERR(3, 4124, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3) < (0)) __PYX_ERR(3, 4124, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1)) __PYX_ERR(3, 4164, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4164, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4164, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4164, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS)) __PYX_ERR(3, 4190, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS) < (0)) __PYX_ERR(3, 4190, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS) < (0)) __PYX_ERR(3, 4190, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS) < (0)) __PYX_ERR(3, 4190, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2)) __PYX_ERR(3, 4216, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4216, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4216, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4216, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1)) __PYX_ERR(3, 4244, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4244, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4244, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 4244, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS)) __PYX_ERR(3, 4262, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS) < (0)) __PYX_ERR(3, 4262, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS) < (0)) __PYX_ERR(3, 4262, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS) < (0)) __PYX_ERR(3, 4262, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2)) __PYX_ERR(3, 4280, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4280, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4280, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 4280, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData)) __PYX_ERR(3, 4298, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData) < (0)) __PYX_ERR(3, 4298, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData = &__pyx_type_4cuda_8bindings_6driver_CUgraphEdgeData;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData) < (0)) __PYX_ERR(3, 4298, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphEdgeData, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData) < (0)) __PYX_ERR(3, 4298, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS)) __PYX_ERR(3, 4339, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS) < (0)) __PYX_ERR(3, 4339, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS) < (0)) __PYX_ERR(3, 4339, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS) < (0)) __PYX_ERR(3, 4339, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap)) __PYX_ERR(3, 4361, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap) < (0)) __PYX_ERR(3, 4361, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap = &__pyx_type_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap) < (0)) __PYX_ERR(3, 4361, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomainMap, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap) < (0)) __PYX_ERR(3, 4361, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue)) __PYX_ERR(3, 4385, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue) < (0)) __PYX_ERR(3, 4385, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue = &__pyx_type_4cuda_8bindings_6driver_CUlaunchAttributeValue;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue) < (0)) __PYX_ERR(3, 4385, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeValue, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue) < (0)) __PYX_ERR(3, 4385, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute)) __PYX_ERR(3, 4470, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute) < (0)) __PYX_ERR(3, 4470, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute = &__pyx_type_4cuda_8bindings_6driver_CUlaunchAttribute;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute) < (0)) __PYX_ERR(3, 4470, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlaunchAttribute, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute) < (0)) __PYX_ERR(3, 4470, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig)) __PYX_ERR(3, 4488, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig) < (0)) __PYX_ERR(3, 4488, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig = &__pyx_type_4cuda_8bindings_6driver_CUlaunchConfig;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig) < (0)) __PYX_ERR(3, 4488, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlaunchConfig, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig) < (0)) __PYX_ERR(3, 4488, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1)) __PYX_ERR(3, 4522, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1) < (0)) __PYX_ERR(3, 4522, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1 = &__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1) < (0)) __PYX_ERR(3, 4522, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUkernelNodeAttrValue_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1) < (0)) __PYX_ERR(3, 4522, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue)) __PYX_ERR(3, 4607, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue) < (0)) __PYX_ERR(3, 4607, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue = &__pyx_type_4cuda_8bindings_6driver_CUkernelNodeAttrValue;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue) < (0)) __PYX_ERR(3, 4607, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUkernelNodeAttrValue, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue) < (0)) __PYX_ERR(3, 4607, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1)) __PYX_ERR(3, 4692, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1) < (0)) __PYX_ERR(3, 4692, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1 = &__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1) < (0)) __PYX_ERR(3, 4692, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamAttrValue_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1) < (0)) __PYX_ERR(3, 4692, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue)) __PYX_ERR(3, 4777, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue) < (0)) __PYX_ERR(3, 4777, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue = &__pyx_type_4cuda_8bindings_6driver_CUstreamAttrValue;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue) < (0)) __PYX_ERR(3, 4777, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamAttrValue, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue) < (0)) __PYX_ERR(3, 4777, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1)) __PYX_ERR(3, 4862, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1) < (0)) __PYX_ERR(3, 4862, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1 = &__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1) < (0)) __PYX_ERR(3, 4862, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUexecAffinitySmCount_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1) < (0)) __PYX_ERR(3, 4862, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount)) __PYX_ERR(3, 4878, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount) < (0)) __PYX_ERR(3, 4878, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount = &__pyx_type_4cuda_8bindings_6driver_CUexecAffinitySmCount;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount) < (0)) __PYX_ERR(3, 4878, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUexecAffinitySmCount, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount) < (0)) __PYX_ERR(3, 4878, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1)) __PYX_ERR(3, 4894, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1) < (0)) __PYX_ERR(3, 4894, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1 = &__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1) < (0)) __PYX_ERR(3, 4894, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUexecAffinityParam_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1) < (0)) __PYX_ERR(3, 4894, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam)) __PYX_ERR(3, 4912, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam) < (0)) __PYX_ERR(3, 4912, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam = &__pyx_type_4cuda_8bindings_6driver_CUexecAffinityParam;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam) < (0)) __PYX_ERR(3, 4912, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUexecAffinityParam, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam) < (0)) __PYX_ERR(3, 4912, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUctxCigParam_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam)) __PYX_ERR(3, 4930, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUctxCigParam_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam) < (0)) __PYX_ERR(3, 4930, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam = &__pyx_type_4cuda_8bindings_6driver_CUctxCigParam;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam) < (0)) __PYX_ERR(3, 4930, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUctxCigParam, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam) < (0)) __PYX_ERR(3, 4930, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams)) __PYX_ERR(3, 4948, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams) < (0)) __PYX_ERR(3, 4948, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams = &__pyx_type_4cuda_8bindings_6driver_CUctxCreateParams;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams) < (0)) __PYX_ERR(3, 4948, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUctxCreateParams, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams) < (0)) __PYX_ERR(3, 4948, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable)) __PYX_ERR(3, 4969, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable) < (0)) __PYX_ERR(3, 4969, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable = &__pyx_type_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable) < (0)) __PYX_ERR(3, 4969, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlibraryHostUniversalFunctionAn_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable) < (0)) __PYX_ERR(3, 4969, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2)) __PYX_ERR(3, 4989, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2) < (0)) __PYX_ERR(3, 4989, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2) < (0)) __PYX_ERR(3, 4989, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY2D_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2) < (0)) __PYX_ERR(3, 4989, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D)) __PYX_ERR(3, 5035, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D) < (0)) __PYX_ERR(3, 5035, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY2D;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D) < (0)) __PYX_ERR(3, 5035, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY2D, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D) < (0)) __PYX_ERR(3, 5035, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2)) __PYX_ERR(3, 5081, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2) < (0)) __PYX_ERR(3, 5081, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2) < (0)) __PYX_ERR(3, 5081, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2) < (0)) __PYX_ERR(3, 5081, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D)) __PYX_ERR(3, 5146, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D) < (0)) __PYX_ERR(3, 5146, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D) < (0)) __PYX_ERR(3, 5146, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D) < (0)) __PYX_ERR(3, 5146, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1)) __PYX_ERR(3, 5211, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1) < (0)) __PYX_ERR(3, 5211, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1) < (0)) __PYX_ERR(3, 5211, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_PEER_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1) < (0)) __PYX_ERR(3, 5211, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER)) __PYX_ERR(3, 5277, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER) < (0)) __PYX_ERR(3, 5277, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER) < (0)) __PYX_ERR(3, 5277, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_PEER, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER) < (0)) __PYX_ERR(3, 5277, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS)) __PYX_ERR(3, 5343, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS) < (0)) __PYX_ERR(3, 5343, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS) < (0)) __PYX_ERR(3, 5343, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS) < (0)) __PYX_ERR(3, 5343, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2)) __PYX_ERR(3, 5365, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2) < (0)) __PYX_ERR(3, 5365, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2) < (0)) __PYX_ERR(3, 5365, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_DESCRIPTOR_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2) < (0)) __PYX_ERR(3, 5365, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR)) __PYX_ERR(3, 5387, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR) < (0)) __PYX_ERR(3, 5387, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR) < (0)) __PYX_ERR(3, 5387, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_DESCRIPTOR, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR) < (0)) __PYX_ERR(3, 5387, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2)) __PYX_ERR(3, 5409, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2) < (0)) __PYX_ERR(3, 5409, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2) < (0)) __PYX_ERR(3, 5409, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2) < (0)) __PYX_ERR(3, 5409, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR)) __PYX_ERR(3, 5435, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR) < (0)) __PYX_ERR(3, 5435, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR) < (0)) __PYX_ERR(3, 5435, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR) < (0)) __PYX_ERR(3, 5435, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1)) __PYX_ERR(3, 5461, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1) < (0)) __PYX_ERR(3, 5461, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1) < (0)) __PYX_ERR(3, 5461, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1) < (0)) __PYX_ERR(3, 5461, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES)) __PYX_ERR(3, 5486, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES) < (0)) __PYX_ERR(3, 5486, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES) < (0)) __PYX_ERR(3, 5486, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES) < (0)) __PYX_ERR(3, 5486, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)) __PYX_ERR(3, 5511, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1) < (0)) __PYX_ERR(3, 5511, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1) < (0)) __PYX_ERR(3, 5511, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_v, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1) < (0)) __PYX_ERR(3, 5511, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS)) __PYX_ERR(3, 5531, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS) < (0)) __PYX_ERR(3, 5531, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS = &__pyx_type_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS) < (0)) __PYX_ERR(3, 5531, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS) < (0)) __PYX_ERR(3, 5531, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1)) __PYX_ERR(3, 5551, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1) < (0)) __PYX_ERR(3, 5551, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1) < (0)) __PYX_ERR(3, 5551, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_DESC_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1) < (0)) __PYX_ERR(3, 5551, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC)) __PYX_ERR(3, 5571, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC) < (0)) __PYX_ERR(3, 5571, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC = &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC) < (0)) __PYX_ERR(3, 5571, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_DESC, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC) < (0)) __PYX_ERR(3, 5571, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1)) __PYX_ERR(3, 5591, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1) < (0)) __PYX_ERR(3, 5591, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1) < (0)) __PYX_ERR(3, 5591, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_TEXTURE_DESC_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1) < (0)) __PYX_ERR(3, 5591, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC)) __PYX_ERR(3, 5625, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC) < (0)) __PYX_ERR(3, 5625, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC = &__pyx_type_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC) < (0)) __PYX_ERR(3, 5625, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_TEXTURE_DESC, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC) < (0)) __PYX_ERR(3, 5625, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1)) __PYX_ERR(3, 5659, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1) < (0)) __PYX_ERR(3, 5659, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1) < (0)) __PYX_ERR(3, 5659, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_VIEW_DESC_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1) < (0)) __PYX_ERR(3, 5659, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC)) __PYX_ERR(3, 5691, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC) < (0)) __PYX_ERR(3, 5691, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC = &__pyx_type_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC) < (0)) __PYX_ERR(3, 5691, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_VIEW_DESC, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC) < (0)) __PYX_ERR(3, 5691, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUtensorMap_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap)) __PYX_ERR(3, 5723, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUtensorMap_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap) < (0)) __PYX_ERR(3, 5723, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap = &__pyx_type_4cuda_8bindings_6driver_CUtensorMap;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap) < (0)) __PYX_ERR(3, 5723, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUtensorMap, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap) < (0)) __PYX_ERR(3, 5723, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)) __PYX_ERR(3, 5740, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1) < (0)) __PYX_ERR(3, 5740, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1) < (0)) __PYX_ERR(3, 5740, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1) < (0)) __PYX_ERR(3, 5740, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)) __PYX_ERR(3, 5758, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS) < (0)) __PYX_ERR(3, 5758, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = &__pyx_type_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS) < (0)) __PYX_ERR(3, 5758, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS) < (0)) __PYX_ERR(3, 5758, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1)) __PYX_ERR(3, 5776, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1) < (0)) __PYX_ERR(3, 5776, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1) < (0)) __PYX_ERR(3, 5776, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_LAUNCH_PARAMS_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1) < (0)) __PYX_ERR(3, 5776, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS)) __PYX_ERR(3, 5810, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS) < (0)) __PYX_ERR(3, 5810, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS) < (0)) __PYX_ERR(3, 5810, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_LAUNCH_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS) < (0)) __PYX_ERR(3, 5810, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)) __PYX_ERR(3, 5844, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1) < (0)) __PYX_ERR(3, 5844, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1) < (0)) __PYX_ERR(3, 5844, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1) < (0)) __PYX_ERR(3, 5844, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC)) __PYX_ERR(3, 5868, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC) < (0)) __PYX_ERR(3, 5868, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC) < (0)) __PYX_ERR(3, 5868, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC) < (0)) __PYX_ERR(3, 5868, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)) __PYX_ERR(3, 5892, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1) < (0)) __PYX_ERR(3, 5892, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1) < (0)) __PYX_ERR(3, 5892, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1) < (0)) __PYX_ERR(3, 5892, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC)) __PYX_ERR(3, 5914, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC) < (0)) __PYX_ERR(3, 5914, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC) < (0)) __PYX_ERR(3, 5914, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC) < (0)) __PYX_ERR(3, 5914, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)) __PYX_ERR(3, 5936, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1) < (0)) __PYX_ERR(3, 5936, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1) < (0)) __PYX_ERR(3, 5936, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1) < (0)) __PYX_ERR(3, 5936, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)) __PYX_ERR(3, 5959, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC) < (0)) __PYX_ERR(3, 5959, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC) < (0)) __PYX_ERR(3, 5959, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC) < (0)) __PYX_ERR(3, 5959, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 5982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)) __PYX_ERR(3, 5982, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1) < (0)) __PYX_ERR(3, 5982, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1) < (0)) __PYX_ERR(3, 5982, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1) < (0)) __PYX_ERR(3, 5982, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)) __PYX_ERR(3, 6004, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC) < (0)) __PYX_ERR(3, 6004, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC) < (0)) __PYX_ERR(3, 6004, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC) < (0)) __PYX_ERR(3, 6004, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)) __PYX_ERR(3, 6026, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1) < (0)) __PYX_ERR(3, 6026, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1) < (0)) __PYX_ERR(3, 6026, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1) < (0)) __PYX_ERR(3, 6026, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)) __PYX_ERR(3, 6053, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) < (0)) __PYX_ERR(3, 6053, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) < (0)) __PYX_ERR(3, 6053, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) < (0)) __PYX_ERR(3, 6053, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)) __PYX_ERR(3, 6080, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1) < (0)) __PYX_ERR(3, 6080, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1) < (0)) __PYX_ERR(3, 6080, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1) < (0)) __PYX_ERR(3, 6080, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)) __PYX_ERR(3, 6107, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) < (0)) __PYX_ERR(3, 6107, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) < (0)) __PYX_ERR(3, 6107, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) < (0)) __PYX_ERR(3, 6107, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)) __PYX_ERR(3, 6134, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6134, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6134, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6134, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)) __PYX_ERR(3, 6155, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS) < (0)) __PYX_ERR(3, 6155, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS) < (0)) __PYX_ERR(3, 6155, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS) < (0)) __PYX_ERR(3, 6155, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)) __PYX_ERR(3, 6176, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6176, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6176, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6176, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)) __PYX_ERR(3, 6197, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6197, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6197, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6197, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS)) __PYX_ERR(3, 6218, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS) < (0)) __PYX_ERR(3, 6218, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS) < (0)) __PYX_ERR(3, 6218, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS) < (0)) __PYX_ERR(3, 6218, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)) __PYX_ERR(3, 6239, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6239, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6239, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6239, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle)) __PYX_ERR(0, 5230, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle) < (0)) __PYX_ERR(0, 5230, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle = &__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle) < (0)) __PYX_ERR(0, 5230, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemGenericAllocationHandle_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle) < (0)) __PYX_ERR(0, 5230, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle) < (0)) __PYX_ERR(0, 5230, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1)) __PYX_ERR(3, 6272, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1) < (0)) __PYX_ERR(3, 6272, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1 = &__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1) < (0)) __PYX_ERR(3, 6272, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUarrayMapInfo_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1) < (0)) __PYX_ERR(3, 6272, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo)) __PYX_ERR(3, 6309, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo) < (0)) __PYX_ERR(3, 6309, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo = &__pyx_type_4cuda_8bindings_6driver_CUarrayMapInfo;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo) < (0)) __PYX_ERR(3, 6309, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUarrayMapInfo, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo) < (0)) __PYX_ERR(3, 6309, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1)) __PYX_ERR(3, 6346, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1) < (0)) __PYX_ERR(3, 6346, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemLocation_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1) < (0)) __PYX_ERR(3, 6346, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemLocation_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1) < (0)) __PYX_ERR(3, 6346, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemLocation_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation)) __PYX_ERR(3, 6364, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemLocation_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation) < (0)) __PYX_ERR(3, 6364, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation = &__pyx_type_4cuda_8bindings_6driver_CUmemLocation;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation) < (0)) __PYX_ERR(3, 6364, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemLocation, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation) < (0)) __PYX_ERR(3, 6364, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1)) __PYX_ERR(3, 6382, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1) < (0)) __PYX_ERR(3, 6382, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1) < (0)) __PYX_ERR(3, 6382, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemAllocationProp_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1) < (0)) __PYX_ERR(3, 6382, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp)) __PYX_ERR(3, 6410, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp) < (0)) __PYX_ERR(3, 6410, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp = &__pyx_type_4cuda_8bindings_6driver_CUmemAllocationProp;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp) < (0)) __PYX_ERR(3, 6410, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemAllocationProp, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp) < (0)) __PYX_ERR(3, 6410, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1)) __PYX_ERR(3, 6438, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1) < (0)) __PYX_ERR(3, 6438, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1) < (0)) __PYX_ERR(3, 6438, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmulticastObjectProp_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1) < (0)) __PYX_ERR(3, 6438, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp)) __PYX_ERR(3, 6463, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp) < (0)) __PYX_ERR(3, 6463, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp = &__pyx_type_4cuda_8bindings_6driver_CUmulticastObjectProp;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp) < (0)) __PYX_ERR(3, 6463, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmulticastObjectProp, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp) < (0)) __PYX_ERR(3, 6463, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1)) __PYX_ERR(3, 6488, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1) < (0)) __PYX_ERR(3, 6488, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1) < (0)) __PYX_ERR(3, 6488, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemAccessDesc_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1) < (0)) __PYX_ERR(3, 6488, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc)) __PYX_ERR(3, 6506, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc) < (0)) __PYX_ERR(3, 6506, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc = &__pyx_type_4cuda_8bindings_6driver_CUmemAccessDesc;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc) < (0)) __PYX_ERR(3, 6506, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemAccessDesc, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc) < (0)) __PYX_ERR(3, 6506, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1)) __PYX_ERR(3, 6524, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1) < (0)) __PYX_ERR(3, 6524, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1 = &__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1) < (0)) __PYX_ERR(3, 6524, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResultInfo_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1) < (0)) __PYX_ERR(3, 6524, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo)) __PYX_ERR(3, 6547, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo) < (0)) __PYX_ERR(3, 6547, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo = &__pyx_type_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo) < (0)) __PYX_ERR(3, 6547, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResultInfo, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo) < (0)) __PYX_ERR(3, 6547, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1)) __PYX_ERR(3, 6570, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1) < (0)) __PYX_ERR(3, 6570, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1) < (0)) __PYX_ERR(3, 6570, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemPoolProps_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1) < (0)) __PYX_ERR(3, 6570, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps)) __PYX_ERR(3, 6604, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps) < (0)) __PYX_ERR(3, 6604, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps = &__pyx_type_4cuda_8bindings_6driver_CUmemPoolProps;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps) < (0)) __PYX_ERR(3, 6604, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemPoolProps, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps) < (0)) __PYX_ERR(3, 6604, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1)) __PYX_ERR(3, 6638, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1) < (0)) __PYX_ERR(3, 6638, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1) < (0)) __PYX_ERR(3, 6638, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemPoolPtrExportData_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1) < (0)) __PYX_ERR(3, 6638, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData)) __PYX_ERR(3, 6654, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData) < (0)) __PYX_ERR(3, 6654, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData = &__pyx_type_4cuda_8bindings_6driver_CUmemPoolPtrExportData;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData) < (0)) __PYX_ERR(3, 6654, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemPoolPtrExportData, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData) < (0)) __PYX_ERR(3, 6654, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1)) __PYX_ERR(3, 6670, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1) < (0)) __PYX_ERR(3, 6670, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1) < (0)) __PYX_ERR(3, 6670, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemcpyAttributes_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1) < (0)) __PYX_ERR(3, 6670, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes)) __PYX_ERR(3, 6696, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes) < (0)) __PYX_ERR(3, 6696, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes = &__pyx_type_4cuda_8bindings_6driver_CUmemcpyAttributes;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes) < (0)) __PYX_ERR(3, 6696, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemcpyAttributes, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes) < (0)) __PYX_ERR(3, 6696, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1)) __PYX_ERR(3, 6722, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1) < (0)) __PYX_ERR(3, 6722, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1 = &__pyx_type_4cuda_8bindings_6driver_CUoffset3D_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1) < (0)) __PYX_ERR(3, 6722, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUoffset3D_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1) < (0)) __PYX_ERR(3, 6722, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUoffset3D_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D)) __PYX_ERR(3, 6742, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUoffset3D_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D) < (0)) __PYX_ERR(3, 6742, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D = &__pyx_type_4cuda_8bindings_6driver_CUoffset3D;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D) < (0)) __PYX_ERR(3, 6742, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUoffset3D, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D) < (0)) __PYX_ERR(3, 6742, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUextent3D_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1)) __PYX_ERR(3, 6762, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUextent3D_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1) < (0)) __PYX_ERR(3, 6762, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1 = &__pyx_type_4cuda_8bindings_6driver_CUextent3D_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1) < (0)) __PYX_ERR(3, 6762, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUextent3D_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1) < (0)) __PYX_ERR(3, 6762, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUextent3D_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D)) __PYX_ERR(3, 6782, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUextent3D_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D) < (0)) __PYX_ERR(3, 6782, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D = &__pyx_type_4cuda_8bindings_6driver_CUextent3D;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D) < (0)) __PYX_ERR(3, 6782, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUextent3D, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D) < (0)) __PYX_ERR(3, 6782, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1)) __PYX_ERR(3, 6802, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1) < (0)) __PYX_ERR(3, 6802, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1) < (0)) __PYX_ERR(3, 6802, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperand_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1) < (0)) __PYX_ERR(3, 6802, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand)) __PYX_ERR(3, 6820, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand) < (0)) __PYX_ERR(3, 6820, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand = &__pyx_type_4cuda_8bindings_6driver_CUmemcpy3DOperand;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand) < (0)) __PYX_ERR(3, 6820, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperand, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand) < (0)) __PYX_ERR(3, 6820, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1)) __PYX_ERR(3, 6838, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1) < (0)) __PYX_ERR(3, 6838, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1) < (0)) __PYX_ERR(3, 6838, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1) < (0)) __PYX_ERR(3, 6838, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP)) __PYX_ERR(3, 6861, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP) < (0)) __PYX_ERR(3, 6861, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP) < (0)) __PYX_ERR(3, 6861, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_BATCH_OP, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP) < (0)) __PYX_ERR(3, 6861, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1)) __PYX_ERR(3, 6884, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6884, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1 = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6884, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1) < (0)) __PYX_ERR(3, 6884, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS)) __PYX_ERR(3, 6912, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS) < (0)) __PYX_ERR(3, 6912, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS) < (0)) __PYX_ERR(3, 6912, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS) < (0)) __PYX_ERR(3, 6912, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2)) __PYX_ERR(3, 6940, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6940, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2 = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6940, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2) < (0)) __PYX_ERR(3, 6940, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS)) __PYX_ERR(3, 6968, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS) < (0)) __PYX_ERR(3, 6968, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS) < (0)) __PYX_ERR(3, 6968, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS) < (0)) __PYX_ERR(3, 6968, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 6984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS)) __PYX_ERR(3, 6984, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS) < (0)) __PYX_ERR(3, 6984, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS) < (0)) __PYX_ERR(3, 6984, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS) < (0)) __PYX_ERR(3, 6984, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS)) __PYX_ERR(3, 7006, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS) < (0)) __PYX_ERR(3, 7006, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS) < (0)) __PYX_ERR(3, 7006, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS) < (0)) __PYX_ERR(3, 7006, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS)) __PYX_ERR(3, 7022, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS) < (0)) __PYX_ERR(3, 7022, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS) < (0)) __PYX_ERR(3, 7022, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS) < (0)) __PYX_ERR(3, 7022, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams)) __PYX_ERR(3, 7038, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams) < (0)) __PYX_ERR(3, 7038, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams = &__pyx_type_4cuda_8bindings_6driver_CUgraphNodeParams;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams) < (0)) __PYX_ERR(3, 7038, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUgraphNodeParams, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams) < (0)) __PYX_ERR(3, 7038, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs)) __PYX_ERR(3, 7086, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs) < (0)) __PYX_ERR(3, 7086, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointLockArgs;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs) < (0)) __PYX_ERR(3, 7086, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointLockArgs, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs) < (0)) __PYX_ERR(3, 7086, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs)) __PYX_ERR(3, 7107, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs) < (0)) __PYX_ERR(3, 7107, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs) < (0)) __PYX_ERR(3, 7107, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointCheckpointArgs, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs) < (0)) __PYX_ERR(3, 7107, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs)) __PYX_ERR(3, 7123, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs) < (0)) __PYX_ERR(3, 7123, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointRestoreArgs;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs) < (0)) __PYX_ERR(3, 7123, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointRestoreArgs, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs) < (0)) __PYX_ERR(3, 7123, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs)) __PYX_ERR(3, 7139, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs) < (0)) __PYX_ERR(3, 7139, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointUnlockArgs;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs) < (0)) __PYX_ERR(3, 7139, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointUnlockArgs, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs) < (0)) __PYX_ERR(3, 7139, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams)) __PYX_ERR(3, 7155, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams) < (0)) __PYX_ERR(3, 7155, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams = &__pyx_type_4cuda_8bindings_6driver_CUmemDecompressParams;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams) < (0)) __PYX_ERR(3, 7155, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemDecompressParams, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams) < (0)) __PYX_ERR(3, 7155, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevSmResource_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource)) __PYX_ERR(3, 7193, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevSmResource_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource) < (0)) __PYX_ERR(3, 7193, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource = &__pyx_type_4cuda_8bindings_6driver_CUdevSmResource;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource) < (0)) __PYX_ERR(3, 7193, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevSmResource, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource) < (0)) __PYX_ERR(3, 7193, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevResource_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1)) __PYX_ERR(3, 7208, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevResource_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1) < (0)) __PYX_ERR(3, 7208, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1 = &__pyx_type_4cuda_8bindings_6driver_CUdevResource_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1) < (0)) __PYX_ERR(3, 7208, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevResource_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1) < (0)) __PYX_ERR(3, 7208, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevResource_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource)) __PYX_ERR(3, 7228, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevResource_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource) < (0)) __PYX_ERR(3, 7228, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource = &__pyx_type_4cuda_8bindings_6driver_CUdevResource;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource) < (0)) __PYX_ERR(3, 7228, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevResource, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource) < (0)) __PYX_ERR(3, 7228, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1)) __PYX_ERR(3, 7248, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1) < (0)) __PYX_ERR(3, 7248, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1 = &__pyx_type_4cuda_8bindings_6driver_CUeglFrame_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1) < (0)) __PYX_ERR(3, 7248, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUeglFrame_v1, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1) < (0)) __PYX_ERR(3, 7248, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUeglFrame_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame)) __PYX_ERR(3, 7284, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUeglFrame_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame) < (0)) __PYX_ERR(3, 7284, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame = &__pyx_type_4cuda_8bindings_6driver_CUeglFrame;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame) < (0)) __PYX_ERR(3, 7284, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUeglFrame, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame) < (0)) __PYX_ERR(3, 7284, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_cuuint32_t_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t)) __PYX_ERR(0, 17486, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_cuuint32_t_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t) < (0)) __PYX_ERR(0, 17486, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t = &__pyx_type_4cuda_8bindings_6driver_cuuint32_t;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t) < (0)) __PYX_ERR(0, 17486, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_cuuint32_t_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t) < (0)) __PYX_ERR(0, 17486, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t) < (0)) __PYX_ERR(0, 17486, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_cuuint64_t_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t)) __PYX_ERR(0, 17511, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_cuuint64_t_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t) < (0)) __PYX_ERR(0, 17511, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t = &__pyx_type_4cuda_8bindings_6driver_cuuint64_t;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t) < (0)) __PYX_ERR(0, 17511, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_cuuint64_t, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t) < (0)) __PYX_ERR(0, 17511, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t) < (0)) __PYX_ERR(0, 17511, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2)) __PYX_ERR(0, 17536, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2) < (0)) __PYX_ERR(0, 17536, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2 = &__pyx_type_4cuda_8bindings_6driver_CUdeviceptr_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2) < (0)) __PYX_ERR(0, 17536, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdeviceptr_v2_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2) < (0)) __PYX_ERR(0, 17536, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2) < (0)) __PYX_ERR(0, 17536, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevice_v1_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1)) __PYX_ERR(0, 17563, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevice_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1) < (0)) __PYX_ERR(0, 17563, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1 = &__pyx_type_4cuda_8bindings_6driver_CUdevice_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1) < (0)) __PYX_ERR(0, 17563, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevice_v1_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1) < (0)) __PYX_ERR(0, 17563, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1) < (0)) __PYX_ERR(0, 17563, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUtexObject_v1_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1)) __PYX_ERR(0, 17590, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUtexObject_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1) < (0)) __PYX_ERR(0, 17590, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1 = &__pyx_type_4cuda_8bindings_6driver_CUtexObject_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1) < (0)) __PYX_ERR(0, 17590, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUtexObject_v1_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1) < (0)) __PYX_ERR(0, 17590, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1) < (0)) __PYX_ERR(0, 17590, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1)) __PYX_ERR(0, 17617, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1) < (0)) __PYX_ERR(0, 17617, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1 = &__pyx_type_4cuda_8bindings_6driver_CUsurfObject_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1) < (0)) __PYX_ERR(0, 17617, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUsurfObject_v1_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1) < (0)) __PYX_ERR(0, 17617, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1) < (0)) __PYX_ERR(0, 17617, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1)) __PYX_ERR(0, 17644, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1) < (0)) __PYX_ERR(0, 17644, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1 = &__pyx_type_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1) < (0)) __PYX_ERR(0, 17644, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUmemGenericAllocationHandle_v1_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1) < (0)) __PYX_ERR(0, 17644, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1) < (0)) __PYX_ERR(0, 17644, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUlogIterator_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator)) __PYX_ERR(0, 17669, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUlogIterator_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator) < (0)) __PYX_ERR(0, 17669, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator = &__pyx_type_4cuda_8bindings_6driver_CUlogIterator;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator) < (0)) __PYX_ERR(0, 17669, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUlogIterator_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator) < (0)) __PYX_ERR(0, 17669, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator) < (0)) __PYX_ERR(0, 17669, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_GLenum_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum)) __PYX_ERR(0, 17694, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_GLenum_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum) < (0)) __PYX_ERR(0, 17694, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum = &__pyx_type_4cuda_8bindings_6driver_GLenum;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum) < (0)) __PYX_ERR(0, 17694, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_GLenum_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum) < (0)) __PYX_ERR(0, 17694, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum) < (0)) __PYX_ERR(0, 17694, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_GLuint_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint)) __PYX_ERR(0, 17719, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_GLuint_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint) < (0)) __PYX_ERR(0, 17719, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint = &__pyx_type_4cuda_8bindings_6driver_GLuint;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint) < (0)) __PYX_ERR(0, 17719, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_GLuint_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint) < (0)) __PYX_ERR(0, 17719, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint) < (0)) __PYX_ERR(0, 17719, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_EGLint_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint)) __PYX_ERR(0, 17744, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_EGLint_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint) < (0)) __PYX_ERR(0, 17744, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint = &__pyx_type_4cuda_8bindings_6driver_EGLint;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint) < (0)) __PYX_ERR(0, 17744, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_EGLint_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint) < (0)) __PYX_ERR(0, 17744, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint) < (0)) __PYX_ERR(0, 17744, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_VdpDevice_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice)) __PYX_ERR(0, 17769, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_VdpDevice_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice) < (0)) __PYX_ERR(0, 17769, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice = &__pyx_type_4cuda_8bindings_6driver_VdpDevice;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice) < (0)) __PYX_ERR(0, 17769, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VdpDevice_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice) < (0)) __PYX_ERR(0, 17769, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice) < (0)) __PYX_ERR(0, 17769, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress)) __PYX_ERR(0, 17794, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress) < (0)) __PYX_ERR(0, 17794, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress = &__pyx_type_4cuda_8bindings_6driver_VdpGetProcAddress;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress) < (0)) __PYX_ERR(0, 17794, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VdpGetProcAddress_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress) < (0)) __PYX_ERR(0, 17794, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress) < (0)) __PYX_ERR(0, 17794, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_VdpVideoSurface_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface)) __PYX_ERR(0, 17819, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_VdpVideoSurface_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface) < (0)) __PYX_ERR(0, 17819, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface = &__pyx_type_4cuda_8bindings_6driver_VdpVideoSurface;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface) < (0)) __PYX_ERR(0, 17819, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VdpVideoSurface_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface) < (0)) __PYX_ERR(0, 17819, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface) < (0)) __PYX_ERR(0, 17819, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_VdpOutputSurface_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface)) __PYX_ERR(0, 17844, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_VdpOutputSurface_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface) < (0)) __PYX_ERR(0, 17844, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface = &__pyx_type_4cuda_8bindings_6driver_VdpOutputSurface;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface) < (0)) __PYX_ERR(0, 17844, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VdpOutputSurface_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface) < (0)) __PYX_ERR(0, 17844, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface) < (0)) __PYX_ERR(0, 17844, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal)) __PYX_ERR(0, 47290, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal) < (0)) __PYX_ERR(0, 47290, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal = &__pyx_type_4cuda_8bindings_6driver_cudaBindingsDriverGlobal;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal) < (0)) __PYX_ERR(0, 47290, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_cudaBindingsDriverGlobal, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal) < (0)) __PYX_ERR(0, 47290, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal) < (0)) __PYX_ERR(0, 47290, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr)) __PYX_ERR(0, 362, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr) < (0)) __PYX_ERR(0, 362, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct__genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr) < (0)) __PYX_ERR(0, 362, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr)) __PYX_ERR(0, 379, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr) < (0)) __PYX_ERR(0, 379, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr) < (0)) __PYX_ERR(0, 379, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr)) __PYX_ERR(0, 419, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(0, 419, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(0, 419, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr)) __PYX_ERR(0, 438, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr) < (0)) __PYX_ERR(0, 438, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr) < (0)) __PYX_ERR(0, 438, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr)) __PYX_ERR(0, 457, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr) < (0)) __PYX_ERR(0, 457, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr) < (0)) __PYX_ERR(0, 457, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr)) __PYX_ERR(0, 476, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(0, 476, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(0, 476, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr)) __PYX_ERR(0, 489, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr) < (0)) __PYX_ERR(0, 489, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr) < (0)) __PYX_ERR(0, 489, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr)) __PYX_ERR(0, 509, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr) < (0)) __PYX_ERR(0, 509, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr) < (0)) __PYX_ERR(0, 509, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr)) __PYX_ERR(0, 524, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr) < (0)) __PYX_ERR(0, 524, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr) < (0)) __PYX_ERR(0, 524, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr)) __PYX_ERR(0, 538, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr) < (0)) __PYX_ERR(0, 538, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr) < (0)) __PYX_ERR(0, 538, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr)) __PYX_ERR(0, 574, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr) < (0)) __PYX_ERR(0, 574, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr) < (0)) __PYX_ERR(0, 574, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr)) __PYX_ERR(0, 592, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr) < (0)) __PYX_ERR(0, 592, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr) < (0)) __PYX_ERR(0, 592, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr)) __PYX_ERR(0, 618, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr) < (0)) __PYX_ERR(0, 618, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr) < (0)) __PYX_ERR(0, 618, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr)) __PYX_ERR(0, 631, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr) < (0)) __PYX_ERR(0, 631, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr) < (0)) __PYX_ERR(0, 631, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr)) __PYX_ERR(0, 645, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr) < (0)) __PYX_ERR(0, 645, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr) < (0)) __PYX_ERR(0, 645, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr)) __PYX_ERR(0, 658, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr) < (0)) __PYX_ERR(0, 658, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr) < (0)) __PYX_ERR(0, 658, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr)) __PYX_ERR(0, 668, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr) < (0)) __PYX_ERR(0, 668, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr) < (0)) __PYX_ERR(0, 668, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr)) __PYX_ERR(0, 843, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr) < (0)) __PYX_ERR(0, 843, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr) < (0)) __PYX_ERR(0, 843, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr)) __PYX_ERR(0, 862, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr) < (0)) __PYX_ERR(0, 862, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr) < (0)) __PYX_ERR(0, 862, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr)) __PYX_ERR(0, 875, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr) < (0)) __PYX_ERR(0, 875, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr) < (0)) __PYX_ERR(0, 875, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr)) __PYX_ERR(0, 1381, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr) < (0)) __PYX_ERR(0, 1381, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr) < (0)) __PYX_ERR(0, 1381, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr)) __PYX_ERR(0, 1466, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr) < (0)) __PYX_ERR(0, 1466, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr) < (0)) __PYX_ERR(0, 1466, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr)) __PYX_ERR(0, 1588, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr) < (0)) __PYX_ERR(0, 1588, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr) < (0)) __PYX_ERR(0, 1588, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr)) __PYX_ERR(0, 1607, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr) < (0)) __PYX_ERR(0, 1607, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr) < (0)) __PYX_ERR(0, 1607, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr)) __PYX_ERR(0, 1623, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr) < (0)) __PYX_ERR(0, 1623, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr) < (0)) __PYX_ERR(0, 1623, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr)) __PYX_ERR(0, 1640, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr) < (0)) __PYX_ERR(0, 1640, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr) < (0)) __PYX_ERR(0, 1640, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr)) __PYX_ERR(0, 1659, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr) < (0)) __PYX_ERR(0, 1659, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr) < (0)) __PYX_ERR(0, 1659, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr)) __PYX_ERR(0, 1677, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr) < (0)) __PYX_ERR(0, 1677, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr) < (0)) __PYX_ERR(0, 1677, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr)) __PYX_ERR(0, 1704, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr) < (0)) __PYX_ERR(0, 1704, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr) < (0)) __PYX_ERR(0, 1704, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr)) __PYX_ERR(0, 1737, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr) < (0)) __PYX_ERR(0, 1737, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr) < (0)) __PYX_ERR(0, 1737, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr)) __PYX_ERR(0, 1968, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr) < (0)) __PYX_ERR(0, 1968, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr) < (0)) __PYX_ERR(0, 1968, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr)) __PYX_ERR(0, 2076, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr) < (0)) __PYX_ERR(0, 2076, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr) < (0)) __PYX_ERR(0, 2076, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr)) __PYX_ERR(0, 2090, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr) < (0)) __PYX_ERR(0, 2090, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr) < (0)) __PYX_ERR(0, 2090, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr)) __PYX_ERR(0, 2106, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr) < (0)) __PYX_ERR(0, 2106, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr) < (0)) __PYX_ERR(0, 2106, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr)) __PYX_ERR(0, 2142, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr) < (0)) __PYX_ERR(0, 2142, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr) < (0)) __PYX_ERR(0, 2142, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr)) __PYX_ERR(0, 2154, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr) < (0)) __PYX_ERR(0, 2154, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr) < (0)) __PYX_ERR(0, 2154, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr)) __PYX_ERR(0, 2164, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr) < (0)) __PYX_ERR(0, 2164, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr) < (0)) __PYX_ERR(0, 2164, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr)) __PYX_ERR(0, 2189, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr) < (0)) __PYX_ERR(0, 2189, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr) < (0)) __PYX_ERR(0, 2189, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr)) __PYX_ERR(0, 2232, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr) < (0)) __PYX_ERR(0, 2232, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr) < (0)) __PYX_ERR(0, 2232, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr)) __PYX_ERR(0, 2251, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr) < (0)) __PYX_ERR(0, 2251, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr) < (0)) __PYX_ERR(0, 2251, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr)) __PYX_ERR(0, 2268, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr) < (0)) __PYX_ERR(0, 2268, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr) < (0)) __PYX_ERR(0, 2268, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr)) __PYX_ERR(0, 2289, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr) < (0)) __PYX_ERR(0, 2289, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr) < (0)) __PYX_ERR(0, 2289, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr)) __PYX_ERR(0, 2362, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr) < (0)) __PYX_ERR(0, 2362, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr) < (0)) __PYX_ERR(0, 2362, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr)) __PYX_ERR(0, 2380, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr) < (0)) __PYX_ERR(0, 2380, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr) < (0)) __PYX_ERR(0, 2380, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr)) __PYX_ERR(0, 2409, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr) < (0)) __PYX_ERR(0, 2409, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr) < (0)) __PYX_ERR(0, 2409, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr)) __PYX_ERR(0, 2420, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr) < (0)) __PYX_ERR(0, 2420, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr) < (0)) __PYX_ERR(0, 2420, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr)) __PYX_ERR(0, 2438, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr) < (0)) __PYX_ERR(0, 2438, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr) < (0)) __PYX_ERR(0, 2438, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr)) __PYX_ERR(0, 2468, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr) < (0)) __PYX_ERR(0, 2468, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr) < (0)) __PYX_ERR(0, 2468, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr)) __PYX_ERR(0, 2643, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr) < (0)) __PYX_ERR(0, 2643, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr) < (0)) __PYX_ERR(0, 2643, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr)) __PYX_ERR(0, 2661, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr) < (0)) __PYX_ERR(0, 2661, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr) < (0)) __PYX_ERR(0, 2661, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr)) __PYX_ERR(0, 2673, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr) < (0)) __PYX_ERR(0, 2673, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr) < (0)) __PYX_ERR(0, 2673, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr)) __PYX_ERR(0, 2690, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr) < (0)) __PYX_ERR(0, 2690, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr) < (0)) __PYX_ERR(0, 2690, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr)) __PYX_ERR(0, 2707, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr) < (0)) __PYX_ERR(0, 2707, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr) < (0)) __PYX_ERR(0, 2707, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr)) __PYX_ERR(0, 2718, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr) < (0)) __PYX_ERR(0, 2718, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr) < (0)) __PYX_ERR(0, 2718, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr)) __PYX_ERR(0, 2729, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr) < (0)) __PYX_ERR(0, 2729, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr) < (0)) __PYX_ERR(0, 2729, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr)) __PYX_ERR(0, 2751, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr) < (0)) __PYX_ERR(0, 2751, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr) < (0)) __PYX_ERR(0, 2751, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr)) __PYX_ERR(0, 3238, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr) < (0)) __PYX_ERR(0, 3238, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr) < (0)) __PYX_ERR(0, 3238, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr)) __PYX_ERR(0, 3261, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr) < (0)) __PYX_ERR(0, 3261, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr) < (0)) __PYX_ERR(0, 3261, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr)) __PYX_ERR(0, 3373, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr) < (0)) __PYX_ERR(0, 3373, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr) < (0)) __PYX_ERR(0, 3373, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr)) __PYX_ERR(0, 3396, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr) < (0)) __PYX_ERR(0, 3396, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr) < (0)) __PYX_ERR(0, 3396, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr)) __PYX_ERR(0, 3406, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr) < (0)) __PYX_ERR(0, 3406, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr) < (0)) __PYX_ERR(0, 3406, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr)) __PYX_ERR(0, 3420, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr) < (0)) __PYX_ERR(0, 3420, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr) < (0)) __PYX_ERR(0, 3420, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr)) __PYX_ERR(0, 3431, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr) < (0)) __PYX_ERR(0, 3431, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr) < (0)) __PYX_ERR(0, 3431, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr)) __PYX_ERR(0, 3440, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr) < (0)) __PYX_ERR(0, 3440, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr) < (0)) __PYX_ERR(0, 3440, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr)) __PYX_ERR(0, 3449, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr) < (0)) __PYX_ERR(0, 3449, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr) < (0)) __PYX_ERR(0, 3449, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr)) __PYX_ERR(0, 3470, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr) < (0)) __PYX_ERR(0, 3470, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr) < (0)) __PYX_ERR(0, 3470, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr)) __PYX_ERR(0, 3501, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr) < (0)) __PYX_ERR(0, 3501, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr) < (0)) __PYX_ERR(0, 3501, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr)) __PYX_ERR(0, 3540, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr) < (0)) __PYX_ERR(0, 3540, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr) < (0)) __PYX_ERR(0, 3540, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr)) __PYX_ERR(0, 3564, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr) < (0)) __PYX_ERR(0, 3564, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr) < (0)) __PYX_ERR(0, 3564, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr)) __PYX_ERR(0, 3581, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr) < (0)) __PYX_ERR(0, 3581, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr) < (0)) __PYX_ERR(0, 3581, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr)) __PYX_ERR(0, 3602, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr) < (0)) __PYX_ERR(0, 3602, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr) < (0)) __PYX_ERR(0, 3602, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr)) __PYX_ERR(0, 3615, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr) < (0)) __PYX_ERR(0, 3615, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr) < (0)) __PYX_ERR(0, 3615, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr)) __PYX_ERR(0, 3629, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr) < (0)) __PYX_ERR(0, 3629, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr) < (0)) __PYX_ERR(0, 3629, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr)) __PYX_ERR(0, 3638, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr) < (0)) __PYX_ERR(0, 3638, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr) < (0)) __PYX_ERR(0, 3638, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr)) __PYX_ERR(0, 3648, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr) < (0)) __PYX_ERR(0, 3648, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr) < (0)) __PYX_ERR(0, 3648, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr)) __PYX_ERR(0, 3657, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr) < (0)) __PYX_ERR(0, 3657, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr) < (0)) __PYX_ERR(0, 3657, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr)) __PYX_ERR(0, 3666, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr) < (0)) __PYX_ERR(0, 3666, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr) < (0)) __PYX_ERR(0, 3666, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr)) __PYX_ERR(0, 3674, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr) < (0)) __PYX_ERR(0, 3674, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr) < (0)) __PYX_ERR(0, 3674, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr)) __PYX_ERR(0, 3687, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr) < (0)) __PYX_ERR(0, 3687, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr) < (0)) __PYX_ERR(0, 3687, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr)) __PYX_ERR(0, 3700, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr) < (0)) __PYX_ERR(0, 3700, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr) < (0)) __PYX_ERR(0, 3700, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr)) __PYX_ERR(0, 3739, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr) < (0)) __PYX_ERR(0, 3739, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr) < (0)) __PYX_ERR(0, 3739, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr)) __PYX_ERR(0, 3787, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr) < (0)) __PYX_ERR(0, 3787, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr) < (0)) __PYX_ERR(0, 3787, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr)) __PYX_ERR(0, 3800, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr) < (0)) __PYX_ERR(0, 3800, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr) < (0)) __PYX_ERR(0, 3800, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr)) __PYX_ERR(0, 3835, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr) < (0)) __PYX_ERR(0, 3835, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr) < (0)) __PYX_ERR(0, 3835, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr)) __PYX_ERR(0, 3850, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr) < (0)) __PYX_ERR(0, 3850, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr) < (0)) __PYX_ERR(0, 3850, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr)) __PYX_ERR(0, 3875, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr) < (0)) __PYX_ERR(0, 3875, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr) < (0)) __PYX_ERR(0, 3875, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr)) __PYX_ERR(0, 3898, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr) < (0)) __PYX_ERR(0, 3898, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr) < (0)) __PYX_ERR(0, 3898, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr)) __PYX_ERR(0, 3915, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr) < (0)) __PYX_ERR(0, 3915, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr) < (0)) __PYX_ERR(0, 3915, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr)) __PYX_ERR(0, 3935, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr) < (0)) __PYX_ERR(0, 3935, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr) < (0)) __PYX_ERR(0, 3935, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr)) __PYX_ERR(0, 3949, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr) < (0)) __PYX_ERR(0, 3949, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr) < (0)) __PYX_ERR(0, 3949, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr)) __PYX_ERR(0, 3960, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr) < (0)) __PYX_ERR(0, 3960, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr) < (0)) __PYX_ERR(0, 3960, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr)) __PYX_ERR(0, 4015, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr) < (0)) __PYX_ERR(0, 4015, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr) < (0)) __PYX_ERR(0, 4015, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr)) __PYX_ERR(0, 4026, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr) < (0)) __PYX_ERR(0, 4026, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr) < (0)) __PYX_ERR(0, 4026, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr)) __PYX_ERR(0, 4037, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr) < (0)) __PYX_ERR(0, 4037, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr) < (0)) __PYX_ERR(0, 4037, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr)) __PYX_ERR(0, 4062, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr) < (0)) __PYX_ERR(0, 4062, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr) < (0)) __PYX_ERR(0, 4062, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr)) __PYX_ERR(0, 4076, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr) < (0)) __PYX_ERR(0, 4076, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr) < (0)) __PYX_ERR(0, 4076, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr)) __PYX_ERR(0, 4097, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr) < (0)) __PYX_ERR(0, 4097, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr) < (0)) __PYX_ERR(0, 4097, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr)) __PYX_ERR(0, 4110, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr) < (0)) __PYX_ERR(0, 4110, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr) < (0)) __PYX_ERR(0, 4110, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr)) __PYX_ERR(0, 4129, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr) < (0)) __PYX_ERR(0, 4129, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr) < (0)) __PYX_ERR(0, 4129, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr)) __PYX_ERR(0, 4139, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr) < (0)) __PYX_ERR(0, 4139, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr) < (0)) __PYX_ERR(0, 4139, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr)) __PYX_ERR(0, 4154, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr) < (0)) __PYX_ERR(0, 4154, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr) < (0)) __PYX_ERR(0, 4154, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr)) __PYX_ERR(0, 4169, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr) < (0)) __PYX_ERR(0, 4169, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr) < (0)) __PYX_ERR(0, 4169, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr)) __PYX_ERR(0, 4179, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr) < (0)) __PYX_ERR(0, 4179, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr) < (0)) __PYX_ERR(0, 4179, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr)) __PYX_ERR(0, 4188, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr) < (0)) __PYX_ERR(0, 4188, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr) < (0)) __PYX_ERR(0, 4188, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr)) __PYX_ERR(0, 4199, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr) < (0)) __PYX_ERR(0, 4199, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr) < (0)) __PYX_ERR(0, 4199, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr)) __PYX_ERR(0, 4208, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr) < (0)) __PYX_ERR(0, 4208, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr) < (0)) __PYX_ERR(0, 4208, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr)) __PYX_ERR(0, 4221, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr) < (0)) __PYX_ERR(0, 4221, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr) < (0)) __PYX_ERR(0, 4221, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr)) __PYX_ERR(0, 4234, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr) < (0)) __PYX_ERR(0, 4234, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr) < (0)) __PYX_ERR(0, 4234, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr)) __PYX_ERR(0, 4257, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr) < (0)) __PYX_ERR(0, 4257, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr) < (0)) __PYX_ERR(0, 4257, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr)) __PYX_ERR(0, 4717, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr) < (0)) __PYX_ERR(0, 4717, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr) < (0)) __PYX_ERR(0, 4717, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr)) __PYX_ERR(0, 4735, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr) < (0)) __PYX_ERR(0, 4735, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr) < (0)) __PYX_ERR(0, 4735, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr)) __PYX_ERR(0, 4745, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr) < (0)) __PYX_ERR(0, 4745, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr) < (0)) __PYX_ERR(0, 4745, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr)) __PYX_ERR(0, 5053, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr) < (0)) __PYX_ERR(0, 5053, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr) < (0)) __PYX_ERR(0, 5053, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr)) __PYX_ERR(0, 5228, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr) < (0)) __PYX_ERR(0, 5228, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr) < (0)) __PYX_ERR(0, 5228, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr)) __PYX_ERR(0, 19749, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr) < (0)) __PYX_ERR(0, 19749, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr) < (0)) __PYX_ERR(0, 19749, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr)) __PYX_ERR(0, 21069, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr) < (0)) __PYX_ERR(0, 21069, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr) < (0)) __PYX_ERR(0, 21069, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr)) __PYX_ERR(0, 21416, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr) < (0)) __PYX_ERR(0, 21416, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr) < (0)) __PYX_ERR(0, 21416, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr)) __PYX_ERR(0, 21482, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr) < (0)) __PYX_ERR(0, 21482, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr) < (0)) __PYX_ERR(0, 21482, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr)) __PYX_ERR(0, 21551, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr) < (0)) __PYX_ERR(0, 21551, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr) < (0)) __PYX_ERR(0, 21551, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr)) __PYX_ERR(0, 21804, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr) < (0)) __PYX_ERR(0, 21804, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr) < (0)) __PYX_ERR(0, 21804, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr)) __PYX_ERR(0, 21808, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr) < (0)) __PYX_ERR(0, 21808, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr) < (0)) __PYX_ERR(0, 21808, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr)) __PYX_ERR(0, 21900, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr) < (0)) __PYX_ERR(0, 21900, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr) < (0)) __PYX_ERR(0, 21900, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr)) __PYX_ERR(0, 21904, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr) < (0)) __PYX_ERR(0, 21904, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr) < (0)) __PYX_ERR(0, 21904, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr)) __PYX_ERR(0, 25714, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr) < (0)) __PYX_ERR(0, 25714, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr) < (0)) __PYX_ERR(0, 25714, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr)) __PYX_ERR(0, 25717, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr) < (0)) __PYX_ERR(0, 25717, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr) < (0)) __PYX_ERR(0, 25717, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr)) __PYX_ERR(0, 25719, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr) < (0)) __PYX_ERR(0, 25719, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr) < (0)) __PYX_ERR(0, 25719, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr)) __PYX_ERR(0, 25722, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr) < (0)) __PYX_ERR(0, 25722, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr) < (0)) __PYX_ERR(0, 25722, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr)) __PYX_ERR(0, 25725, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr) < (0)) __PYX_ERR(0, 25725, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr) < (0)) __PYX_ERR(0, 25725, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr)) __PYX_ERR(0, 25894, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr) < (0)) __PYX_ERR(0, 25894, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr) < (0)) __PYX_ERR(0, 25894, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr)) __PYX_ERR(0, 27847, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr) < (0)) __PYX_ERR(0, 27847, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr) < (0)) __PYX_ERR(0, 27847, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr)) __PYX_ERR(0, 27954, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr) < (0)) __PYX_ERR(0, 27954, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr) < (0)) __PYX_ERR(0, 27954, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr)) __PYX_ERR(0, 28552, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr) < (0)) __PYX_ERR(0, 28552, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr) < (0)) __PYX_ERR(0, 28552, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr)) __PYX_ERR(0, 30383, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr) < (0)) __PYX_ERR(0, 30383, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr) < (0)) __PYX_ERR(0, 30383, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr)) __PYX_ERR(0, 30385, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr) < (0)) __PYX_ERR(0, 30385, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr) < (0)) __PYX_ERR(0, 30385, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr)) __PYX_ERR(0, 30531, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr) < (0)) __PYX_ERR(0, 30531, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr) < (0)) __PYX_ERR(0, 30531, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr)) __PYX_ERR(0, 31227, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr) < (0)) __PYX_ERR(0, 31227, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr) < (0)) __PYX_ERR(0, 31227, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr)) __PYX_ERR(0, 31230, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr) < (0)) __PYX_ERR(0, 31230, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr) < (0)) __PYX_ERR(0, 31230, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr)) __PYX_ERR(0, 31678, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr) < (0)) __PYX_ERR(0, 31678, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr) < (0)) __PYX_ERR(0, 31678, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr)) __PYX_ERR(0, 31749, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr) < (0)) __PYX_ERR(0, 31749, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr) < (0)) __PYX_ERR(0, 31749, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr)) __PYX_ERR(0, 31752, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr) < (0)) __PYX_ERR(0, 31752, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr) < (0)) __PYX_ERR(0, 31752, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr)) __PYX_ERR(0, 33144, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr) < (0)) __PYX_ERR(0, 33144, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr) < (0)) __PYX_ERR(0, 33144, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr)) __PYX_ERR(0, 33147, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr) < (0)) __PYX_ERR(0, 33147, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr) < (0)) __PYX_ERR(0, 33147, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr)) __PYX_ERR(0, 33271, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr) < (0)) __PYX_ERR(0, 33271, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr) < (0)) __PYX_ERR(0, 33271, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr)) __PYX_ERR(0, 33274, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr) < (0)) __PYX_ERR(0, 33274, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr) < (0)) __PYX_ERR(0, 33274, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr)) __PYX_ERR(0, 33643, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr) < (0)) __PYX_ERR(0, 33643, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr) < (0)) __PYX_ERR(0, 33643, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr)) __PYX_ERR(0, 34789, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr) < (0)) __PYX_ERR(0, 34789, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr) < (0)) __PYX_ERR(0, 34789, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr)) __PYX_ERR(0, 35556, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr) < (0)) __PYX_ERR(0, 35556, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr) < (0)) __PYX_ERR(0, 35556, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr)) __PYX_ERR(0, 35725, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr) < (0)) __PYX_ERR(0, 35725, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr) < (0)) __PYX_ERR(0, 35725, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr)) __PYX_ERR(0, 35875, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr) < (0)) __PYX_ERR(0, 35875, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr) < (0)) __PYX_ERR(0, 35875, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr)) __PYX_ERR(0, 36015, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr) < (0)) __PYX_ERR(0, 36015, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr) < (0)) __PYX_ERR(0, 36015, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr)) __PYX_ERR(0, 36166, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr) < (0)) __PYX_ERR(0, 36166, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr) < (0)) __PYX_ERR(0, 36166, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr)) __PYX_ERR(0, 36276, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr) < (0)) __PYX_ERR(0, 36276, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr) < (0)) __PYX_ERR(0, 36276, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr)) __PYX_ERR(0, 36351, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr) < (0)) __PYX_ERR(0, 36351, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr) < (0)) __PYX_ERR(0, 36351, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr)) __PYX_ERR(0, 36507, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr) < (0)) __PYX_ERR(0, 36507, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr) < (0)) __PYX_ERR(0, 36507, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr)) __PYX_ERR(0, 36654, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr) < (0)) __PYX_ERR(0, 36654, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr) < (0)) __PYX_ERR(0, 36654, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr)) __PYX_ERR(0, 36802, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr) < (0)) __PYX_ERR(0, 36802, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr) < (0)) __PYX_ERR(0, 36802, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr)) __PYX_ERR(0, 36953, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr) < (0)) __PYX_ERR(0, 36953, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr) < (0)) __PYX_ERR(0, 36953, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr)) __PYX_ERR(0, 37210, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr) < (0)) __PYX_ERR(0, 37210, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr) < (0)) __PYX_ERR(0, 37210, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr)) __PYX_ERR(0, 37344, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr) < (0)) __PYX_ERR(0, 37344, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr) < (0)) __PYX_ERR(0, 37344, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr)) __PYX_ERR(0, 38249, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr) < (0)) __PYX_ERR(0, 38249, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr) < (0)) __PYX_ERR(0, 38249, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr)) __PYX_ERR(0, 38252, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr) < (0)) __PYX_ERR(0, 38252, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr) < (0)) __PYX_ERR(0, 38252, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr)) __PYX_ERR(0, 38325, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr) < (0)) __PYX_ERR(0, 38325, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr) < (0)) __PYX_ERR(0, 38325, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr)) __PYX_ERR(0, 38328, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr) < (0)) __PYX_ERR(0, 38328, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr) < (0)) __PYX_ERR(0, 38328, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr)) __PYX_ERR(0, 38331, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr) < (0)) __PYX_ERR(0, 38331, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr) < (0)) __PYX_ERR(0, 38331, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr)) __PYX_ERR(0, 38416, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr) < (0)) __PYX_ERR(0, 38416, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr) < (0)) __PYX_ERR(0, 38416, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr)) __PYX_ERR(0, 38419, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr) < (0)) __PYX_ERR(0, 38419, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr) < (0)) __PYX_ERR(0, 38419, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr)) __PYX_ERR(0, 38498, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr) < (0)) __PYX_ERR(0, 38498, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr) < (0)) __PYX_ERR(0, 38498, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr)) __PYX_ERR(0, 38501, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr) < (0)) __PYX_ERR(0, 38501, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr) < (0)) __PYX_ERR(0, 38501, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr)) __PYX_ERR(0, 38504, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr) < (0)) __PYX_ERR(0, 38504, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr) < (0)) __PYX_ERR(0, 38504, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr)) __PYX_ERR(0, 40366, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr) < (0)) __PYX_ERR(0, 40366, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr) < (0)) __PYX_ERR(0, 40366, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr)) __PYX_ERR(0, 40446, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr) < (0)) __PYX_ERR(0, 40446, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr) < (0)) __PYX_ERR(0, 40446, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr)) __PYX_ERR(0, 40449, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr) < (0)) __PYX_ERR(0, 40449, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr) < (0)) __PYX_ERR(0, 40449, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr)) __PYX_ERR(0, 43122, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr) < (0)) __PYX_ERR(0, 43122, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr) < (0)) __PYX_ERR(0, 43122, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr)) __PYX_ERR(0, 43125, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr) < (0)) __PYX_ERR(0, 43125, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr) < (0)) __PYX_ERR(0, 43125, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr)) __PYX_ERR(0, 43128, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr) < (0)) __PYX_ERR(0, 43128, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr) < (0)) __PYX_ERR(0, 43128, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr)) __PYX_ERR(0, 43131, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr) < (0)) __PYX_ERR(0, 43131, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr) < (0)) __PYX_ERR(0, 43131, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr)) __PYX_ERR(0, 43457, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr) < (0)) __PYX_ERR(0, 43457, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr) < (0)) __PYX_ERR(0, 43457, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr)) __PYX_ERR(0, 43476, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr) < (0)) __PYX_ERR(0, 43476, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr) < (0)) __PYX_ERR(0, 43476, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr)) __PYX_ERR(0, 43479, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr) < (0)) __PYX_ERR(0, 43479, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr) < (0)) __PYX_ERR(0, 43479, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr)) __PYX_ERR(0, 43482, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr) < (0)) __PYX_ERR(0, 43482, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr) < (0)) __PYX_ERR(0, 43482, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr)) __PYX_ERR(0, 43485, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr) < (0)) __PYX_ERR(0, 43485, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr) < (0)) __PYX_ERR(0, 43485, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr)) __PYX_ERR(0, 43788, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr) < (0)) __PYX_ERR(0, 43788, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr) < (0)) __PYX_ERR(0, 43788, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr)) __PYX_ERR(0, 43807, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr) < (0)) __PYX_ERR(0, 43807, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr) < (0)) __PYX_ERR(0, 43807, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr)) __PYX_ERR(0, 43810, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr) < (0)) __PYX_ERR(0, 43810, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr) < (0)) __PYX_ERR(0, 43810, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr)) __PYX_ERR(0, 45521, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr) < (0)) __PYX_ERR(0, 45521, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr = &__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr) < (0)) __PYX_ERR(0, 45521, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
  /*--- Type import code ---*/
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_1_5(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_5(PyTypeObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  0, 0,
  #else
  sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_5(PyHeapTypeObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_1_5); if (!__pyx_mstate->__pyx_ptype_7cpython_4type_type) __PYX_ERR(4, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_variable_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
  /*--- Variable import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
  /*--- Function import code ---*/
  __pyx_t_1 = PyImport_ImportModule("cuda.bindings.cydriver"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGetErrorString", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGetErrorString, "CUresult (CUresult, char const **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGetErrorName", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGetErrorName, "CUresult (CUresult, char const **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuInit", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuInit, "CUresult (unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDriverGetVersion", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDriverGetVersion, "CUresult (int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGet", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGet, "CUresult (CUdevice *, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetCount", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetCount, "CUresult (int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetName", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetName, "CUresult (char *, int, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetUuid", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetUuid, "CUresult (CUuuid *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetUuid_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetUuid_v2, "CUresult (CUuuid *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetLuid", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetLuid, "CUresult (char *, unsigned int *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceTotalMem", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceTotalMem, "CUresult (size_t *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetTexture1DLinearMaxWidth", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetTexture1DLinearMaxWidth, "CUresult (size_t *, CUarray_format, unsigned int, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetAttribute, "CUresult (int *, CUdevice_attribute, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetNvSciSyncAttributes", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetNvSciSyncAttributes, "CUresult (void *, CUdevice, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceSetMemPool", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceSetMemPool, "CUresult (CUdevice, CUmemoryPool)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetMemPool", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetMemPool, "CUresult (CUmemoryPool *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetDefaultMemPool", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetDefaultMemPool, "CUresult (CUmemoryPool *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetExecAffinitySupport", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetExecAffinitySupport, "CUresult (int *, CUexecAffinityType, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFlushGPUDirectRDMAWrites", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFlushGPUDirectRDMAWrites, "CUresult (CUflushGPUDirectRDMAWritesTarget, CUflushGPUDirectRDMAWritesScope)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetProperties", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetProperties, "CUresult (CUdevprop *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceComputeCapability", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceComputeCapability, "CUresult (int *, int *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDevicePrimaryCtxRetain", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxRetain, "CUresult (CUcontext *, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDevicePrimaryCtxRelease", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxRelease, "CUresult (CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDevicePrimaryCtxSetFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxSetFlags, "CUresult (CUdevice, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDevicePrimaryCtxGetState", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxGetState, "CUresult (CUdevice, unsigned int *, int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDevicePrimaryCtxReset", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxReset, "CUresult (CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate, "CUresult (CUcontext *, unsigned int, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxCreate_v3", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate_v3, "CUresult (CUcontext *, CUexecAffinityParam *, int, unsigned int, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxCreate_v4", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxCreate_v4, "CUresult (CUcontext *, CUctxCreateParams *, unsigned int, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxDestroy, "CUresult (CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxPushCurrent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxPushCurrent, "CUresult (CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxPopCurrent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxPopCurrent, "CUresult (CUcontext *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxSetCurrent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetCurrent, "CUresult (CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetCurrent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetCurrent, "CUresult (CUcontext *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetDevice", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetDevice, "CUresult (CUdevice *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetFlags, "CUresult (unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxSetFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetFlags, "CUresult (unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetId", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetId, "CUresult (CUcontext, unsigned PY_LONG_LONG *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxSynchronize", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxSynchronize, "CUresult (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxSetLimit", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetLimit, "CUresult (CUlimit, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetLimit", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetLimit, "CUresult (size_t *, CUlimit)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetCacheConfig", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetCacheConfig, "CUresult (CUfunc_cache *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetCacheConfig, "CUresult (CUfunc_cache)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetApiVersion", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetApiVersion, "CUresult (CUcontext, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetStreamPriorityRange", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetStreamPriorityRange, "CUresult (int *, int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxResetPersistingL2Cache", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxResetPersistingL2Cache, "CUresult (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetExecAffinity", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetExecAffinity, "CUresult (CUexecAffinityParam *, CUexecAffinityType)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxRecordEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxRecordEvent, "CUresult (CUcontext, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxWaitEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxWaitEvent, "CUresult (CUcontext, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxAttach", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxAttach, "CUresult (CUcontext *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxDetach", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxDetach, "CUresult (CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetSharedMemConfig, "CUresult (CUsharedconfig *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxSetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxSetSharedMemConfig, "CUresult (CUsharedconfig)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleLoad", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleLoad, "CUresult (CUmodule *, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleLoadData", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadData, "CUresult (CUmodule *, void const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleLoadDataEx", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadDataEx, "CUresult (CUmodule *, void const *, unsigned int, CUjit_option *, void **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleLoadFatBinary", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadFatBinary, "CUresult (CUmodule *, void const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleUnload", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleUnload, "CUresult (CUmodule)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleGetLoadingMode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetLoadingMode, "CUresult (CUmoduleLoadingMode *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleGetFunction", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetFunction, "CUresult (CUfunction *, CUmodule, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleGetFunctionCount", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetFunctionCount, "CUresult (unsigned int *, CUmodule)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleEnumerateFunctions", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleEnumerateFunctions, "CUresult (CUfunction *, unsigned int, CUmodule)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleGetGlobal", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetGlobal, "CUresult (CUdeviceptr *, size_t *, CUmodule, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLinkCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLinkCreate, "CUresult (unsigned int, CUjit_option *, void **, CUlinkState *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLinkAddData", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLinkAddData, "CUresult (CUlinkState, CUjitInputType, void *, size_t, char const *, unsigned int, CUjit_option *, void **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLinkAddFile", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLinkAddFile, "CUresult (CUlinkState, CUjitInputType, char const *, unsigned int, CUjit_option *, void **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLinkComplete", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLinkComplete, "CUresult (CUlinkState, void **, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLinkDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLinkDestroy, "CUresult (CUlinkState)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleGetTexRef", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetTexRef, "CUresult (CUtexref *, CUmodule, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuModuleGetSurfRef", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuModuleGetSurfRef, "CUresult (CUsurfref *, CUmodule, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryLoadData", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryLoadData, "CUresult (CUlibrary *, void const *, CUjit_option *, void **, unsigned int, CUlibraryOption *, void **, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryLoadFromFile", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryLoadFromFile, "CUresult (CUlibrary *, char const *, CUjit_option *, void **, unsigned int, CUlibraryOption *, void **, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryUnload", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryUnload, "CUresult (CUlibrary)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryGetKernel", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetKernel, "CUresult (CUkernel *, CUlibrary, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryGetKernelCount", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetKernelCount, "CUresult (unsigned int *, CUlibrary)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryEnumerateKernels", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryEnumerateKernels, "CUresult (CUkernel *, unsigned int, CUlibrary)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryGetModule", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetModule, "CUresult (CUmodule *, CUlibrary)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuKernelGetFunction", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetFunction, "CUresult (CUfunction *, CUkernel)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuKernelGetLibrary", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetLibrary, "CUresult (CUlibrary *, CUkernel)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryGetGlobal", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetGlobal, "CUresult (CUdeviceptr *, size_t *, CUlibrary, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryGetManaged", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetManaged, "CUresult (CUdeviceptr *, size_t *, CUlibrary, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLibraryGetUnifiedFunction", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetUnifiedFunction, "CUresult (void **, CUlibrary, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuKernelGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetAttribute, "CUresult (int *, CUfunction_attribute, CUkernel, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuKernelSetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuKernelSetAttribute, "CUresult (CUfunction_attribute, int, CUkernel, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuKernelSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuKernelSetCacheConfig, "CUresult (CUkernel, CUfunc_cache, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuKernelGetName", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetName, "CUresult (char const **, CUkernel)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuKernelGetParamInfo", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuKernelGetParamInfo, "CUresult (CUkernel, size_t, size_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemGetInfo", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemGetInfo, "CUresult (size_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAlloc", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAlloc, "CUresult (CUdeviceptr *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAllocPitch", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocPitch, "CUresult (CUdeviceptr *, size_t *, size_t, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemFree", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemFree, "CUresult (CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemGetAddressRange", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemGetAddressRange, "CUresult (CUdeviceptr *, size_t *, CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAllocHost", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocHost, "CUresult (void **, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemFreeHost", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemFreeHost, "CUresult (void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemHostAlloc", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemHostAlloc, "CUresult (void **, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemHostGetDevicePointer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemHostGetDevicePointer, "CUresult (CUdeviceptr *, void *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemHostGetFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemHostGetFlags, "CUresult (unsigned int *, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAllocManaged", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocManaged, "CUresult (CUdeviceptr *, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceRegisterAsyncNotification", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceRegisterAsyncNotification, "CUresult (CUdevice, CUasyncCallback, void *, CUasyncCallbackHandle *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceUnregisterAsyncNotification", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceUnregisterAsyncNotification, "CUresult (CUdevice, CUasyncCallbackHandle)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetByPCIBusId", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetByPCIBusId, "CUresult (CUdevice *, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetPCIBusId", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetPCIBusId, "CUresult (char *, int, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuIpcGetEventHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuIpcGetEventHandle, "CUresult (CUipcEventHandle *, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuIpcOpenEventHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuIpcOpenEventHandle, "CUresult (CUevent *, CUipcEventHandle)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuIpcGetMemHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuIpcGetMemHandle, "CUresult (CUipcMemHandle *, CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuIpcOpenMemHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuIpcOpenMemHandle, "CUresult (CUdeviceptr *, CUipcMemHandle, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuIpcCloseMemHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuIpcCloseMemHandle, "CUresult (CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemHostRegister", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemHostRegister, "CUresult (void *, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemHostUnregister", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemHostUnregister, "CUresult (void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy, "CUresult (CUdeviceptr, CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyPeer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyPeer, "CUresult (CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyHtoD", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoD, "CUresult (CUdeviceptr, void const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyDtoH", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoH, "CUresult (void *, CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyDtoD", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoD, "CUresult (CUdeviceptr, CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyDtoA", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoA, "CUresult (CUarray, size_t, CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyAtoD", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoD, "CUresult (CUdeviceptr, CUarray, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyHtoA", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoA, "CUresult (CUarray, size_t, void const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyAtoH", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoH, "CUresult (void *, CUarray, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyAtoA", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoA, "CUresult (CUarray, size_t, CUarray, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy2D", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2D, "CUresult (CUDA_MEMCPY2D const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy2DUnaligned", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2DUnaligned, "CUresult (CUDA_MEMCPY2D const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy3D", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3D, "CUresult (CUDA_MEMCPY3D const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy3DPeer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DPeer, "CUresult (CUDA_MEMCPY3D_PEER const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAsync, "CUresult (CUdeviceptr, CUdeviceptr, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyPeerAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyPeerAsync, "CUresult (CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyHtoDAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoDAsync, "CUresult (CUdeviceptr, void const *, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyDtoHAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoHAsync, "CUresult (void *, CUdeviceptr, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyDtoDAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoDAsync, "CUresult (CUdeviceptr, CUdeviceptr, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyHtoAAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoAAsync, "CUresult (CUarray, size_t, void const *, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyAtoHAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoHAsync, "CUresult (void *, CUarray, size_t, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy2DAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2DAsync, "CUresult (CUDA_MEMCPY2D const *, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy3DAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DAsync, "CUresult (CUDA_MEMCPY3D const *, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy3DPeerAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DPeerAsync, "CUresult (CUDA_MEMCPY3D_PEER const *, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpyBatchAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpyBatchAsync, "CUresult (CUdeviceptr *, CUdeviceptr *, size_t *, size_t, CUmemcpyAttributes *, size_t *, size_t, size_t *, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemcpy3DBatchAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DBatchAsync, "CUresult (size_t, CUDA_MEMCPY3D_BATCH_OP *, size_t *, unsigned PY_LONG_LONG, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD8", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD8, "CUresult (CUdeviceptr, unsigned char, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD16", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD16, "CUresult (CUdeviceptr, unsigned short, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD32", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD32, "CUresult (CUdeviceptr, unsigned int, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD2D8", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D8, "CUresult (CUdeviceptr, size_t, unsigned char, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD2D16", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D16, "CUresult (CUdeviceptr, size_t, unsigned short, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD2D32", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D32, "CUresult (CUdeviceptr, size_t, unsigned int, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD8Async", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD8Async, "CUresult (CUdeviceptr, unsigned char, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD16Async", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD16Async, "CUresult (CUdeviceptr, unsigned short, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD32Async", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD32Async, "CUresult (CUdeviceptr, unsigned int, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD2D8Async", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D8Async, "CUresult (CUdeviceptr, size_t, unsigned char, size_t, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD2D16Async", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D16Async, "CUresult (CUdeviceptr, size_t, unsigned short, size_t, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemsetD2D32Async", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemsetD2D32Async, "CUresult (CUdeviceptr, size_t, unsigned int, size_t, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuArrayCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuArrayCreate, "CUresult (CUarray *, CUDA_ARRAY_DESCRIPTOR const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuArrayGetDescriptor", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuArrayGetDescriptor, "CUresult (CUDA_ARRAY_DESCRIPTOR *, CUarray)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuArrayGetSparseProperties", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuArrayGetSparseProperties, "CUresult (CUDA_ARRAY_SPARSE_PROPERTIES *, CUarray)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMipmappedArrayGetSparseProperties", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetSparseProperties, "CUresult (CUDA_ARRAY_SPARSE_PROPERTIES *, CUmipmappedArray)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuArrayGetMemoryRequirements", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuArrayGetMemoryRequirements, "CUresult (CUDA_ARRAY_MEMORY_REQUIREMENTS *, CUarray, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMipmappedArrayGetMemoryRequirements", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetMemoryRequirements, "CUresult (CUDA_ARRAY_MEMORY_REQUIREMENTS *, CUmipmappedArray, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuArrayGetPlane", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuArrayGetPlane, "CUresult (CUarray *, CUarray, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuArrayDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuArrayDestroy, "CUresult (CUarray)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuArray3DCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuArray3DCreate, "CUresult (CUarray *, CUDA_ARRAY3D_DESCRIPTOR const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuArray3DGetDescriptor", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuArray3DGetDescriptor, "CUresult (CUDA_ARRAY3D_DESCRIPTOR *, CUarray)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMipmappedArrayCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayCreate, "CUresult (CUmipmappedArray *, CUDA_ARRAY3D_DESCRIPTOR const *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMipmappedArrayGetLevel", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetLevel, "CUresult (CUarray *, CUmipmappedArray, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMipmappedArrayDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayDestroy, "CUresult (CUmipmappedArray)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemGetHandleForAddressRange", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemGetHandleForAddressRange, "CUresult (void *, CUdeviceptr, size_t, CUmemRangeHandleType, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemBatchDecompressAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemBatchDecompressAsync, "CUresult (CUmemDecompressParams *, size_t, unsigned int, size_t *, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAddressReserve", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAddressReserve, "CUresult (CUdeviceptr *, size_t, size_t, CUdeviceptr, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAddressFree", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAddressFree, "CUresult (CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemCreate, "CUresult (CUmemGenericAllocationHandle *, size_t, CUmemAllocationProp const *, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemRelease", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemRelease, "CUresult (CUmemGenericAllocationHandle)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemMap", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemMap, "CUresult (CUdeviceptr, size_t, size_t, CUmemGenericAllocationHandle, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemMapArrayAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemMapArrayAsync, "CUresult (CUarrayMapInfo *, unsigned int, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemUnmap", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemUnmap, "CUresult (CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemSetAccess", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemSetAccess, "CUresult (CUdeviceptr, size_t, CUmemAccessDesc const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemGetAccess", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemGetAccess, "CUresult (unsigned PY_LONG_LONG *, CUmemLocation const *, CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemExportToShareableHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemExportToShareableHandle, "CUresult (void *, CUmemGenericAllocationHandle, CUmemAllocationHandleType, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemImportFromShareableHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemImportFromShareableHandle, "CUresult (CUmemGenericAllocationHandle *, void *, CUmemAllocationHandleType)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemGetAllocationGranularity", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemGetAllocationGranularity, "CUresult (size_t *, CUmemAllocationProp const *, CUmemAllocationGranularity_flags)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemGetAllocationPropertiesFromHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemGetAllocationPropertiesFromHandle, "CUresult (CUmemAllocationProp *, CUmemGenericAllocationHandle)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemRetainAllocationHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemRetainAllocationHandle, "CUresult (CUmemGenericAllocationHandle *, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemFreeAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemFreeAsync, "CUresult (CUdeviceptr, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAllocAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocAsync, "CUresult (CUdeviceptr *, size_t, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolTrimTo", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolTrimTo, "CUresult (CUmemoryPool, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolSetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolSetAttribute, "CUresult (CUmemoryPool, CUmemPool_attribute, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolGetAttribute, "CUresult (CUmemoryPool, CUmemPool_attribute, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolSetAccess", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolSetAccess, "CUresult (CUmemoryPool, CUmemAccessDesc const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolGetAccess", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolGetAccess, "CUresult (CUmemAccess_flags *, CUmemoryPool, CUmemLocation *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolCreate, "CUresult (CUmemoryPool *, CUmemPoolProps const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolDestroy, "CUresult (CUmemoryPool)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAllocFromPoolAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAllocFromPoolAsync, "CUresult (CUdeviceptr *, size_t, CUmemoryPool, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolExportToShareableHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolExportToShareableHandle, "CUresult (void *, CUmemoryPool, CUmemAllocationHandleType, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolImportFromShareableHandle", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolImportFromShareableHandle, "CUresult (CUmemoryPool *, void *, CUmemAllocationHandleType, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolExportPointer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolExportPointer, "CUresult (CUmemPoolPtrExportData *, CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPoolImportPointer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPoolImportPointer, "CUresult (CUdeviceptr *, CUmemoryPool, CUmemPoolPtrExportData *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMulticastCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMulticastCreate, "CUresult (CUmemGenericAllocationHandle *, CUmulticastObjectProp const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMulticastAddDevice", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMulticastAddDevice, "CUresult (CUmemGenericAllocationHandle, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMulticastBindMem", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMulticastBindMem, "CUresult (CUmemGenericAllocationHandle, size_t, CUmemGenericAllocationHandle, size_t, size_t, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMulticastBindAddr", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMulticastBindAddr, "CUresult (CUmemGenericAllocationHandle, size_t, CUdeviceptr, size_t, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMulticastUnbind", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMulticastUnbind, "CUresult (CUmemGenericAllocationHandle, CUdevice, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMulticastGetGranularity", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMulticastGetGranularity, "CUresult (size_t *, CUmulticastObjectProp const *, CUmulticastGranularity_flags)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuPointerGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuPointerGetAttribute, "CUresult (void *, CUpointer_attribute, CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPrefetchAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchAsync, "CUresult (CUdeviceptr, size_t, CUdevice, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemPrefetchAsync_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchAsync_v2, "CUresult (CUdeviceptr, size_t, CUmemLocation, unsigned int, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAdvise", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAdvise, "CUresult (CUdeviceptr, size_t, CUmem_advise, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemAdvise_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemAdvise_v2, "CUresult (CUdeviceptr, size_t, CUmem_advise, CUmemLocation)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemRangeGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemRangeGetAttribute, "CUresult (void *, size_t, CUmem_range_attribute, CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuMemRangeGetAttributes", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuMemRangeGetAttributes, "CUresult (void **, size_t *, CUmem_range_attribute *, size_t, CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuPointerSetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuPointerSetAttribute, "CUresult (void const *, CUpointer_attribute, CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuPointerGetAttributes", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuPointerGetAttributes, "CUresult (unsigned int, CUpointer_attribute *, void **, CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamCreate, "CUresult (CUstream *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamCreateWithPriority", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamCreateWithPriority, "CUresult (CUstream *, unsigned int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetPriority", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetPriority, "CUresult (CUstream, int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetDevice", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetDevice, "CUresult (CUstream, CUdevice *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetFlags, "CUresult (CUstream, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetId", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetId, "CUresult (CUstream, unsigned PY_LONG_LONG *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetCtx", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCtx, "CUresult (CUstream, CUcontext *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetCtx_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCtx_v2, "CUresult (CUstream, CUcontext *, CUgreenCtx *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamWaitEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitEvent, "CUresult (CUstream, CUevent, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamAddCallback", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamAddCallback, "CUresult (CUstream, CUstreamCallback, void *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamBeginCapture", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamBeginCapture, "CUresult (CUstream, CUstreamCaptureMode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamBeginCaptureToGraph", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamBeginCaptureToGraph, "CUresult (CUstream, CUgraph, CUgraphNode const *, CUgraphEdgeData const *, size_t, CUstreamCaptureMode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuThreadExchangeStreamCaptureMode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuThreadExchangeStreamCaptureMode, "CUresult (CUstreamCaptureMode *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamEndCapture", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamEndCapture, "CUresult (CUstream, CUgraph *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamIsCapturing", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamIsCapturing, "CUresult (CUstream, CUstreamCaptureStatus *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetCaptureInfo", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCaptureInfo, "CUresult (CUstream, CUstreamCaptureStatus *, cuuint64_t *, CUgraph *, CUgraphNode const **, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetCaptureInfo_v3", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCaptureInfo_v3, "CUresult (CUstream, CUstreamCaptureStatus *, cuuint64_t *, CUgraph *, CUgraphNode const **, CUgraphEdgeData const **, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamUpdateCaptureDependencies", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamUpdateCaptureDependencies, "CUresult (CUstream, CUgraphNode *, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamUpdateCaptureDependencies_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamUpdateCaptureDependencies_v2, "CUresult (CUstream, CUgraphNode *, CUgraphEdgeData const *, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamAttachMemAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamAttachMemAsync, "CUresult (CUstream, CUdeviceptr, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamQuery", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamQuery, "CUresult (CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamSynchronize", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamSynchronize, "CUresult (CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamDestroy, "CUresult (CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamCopyAttributes", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamCopyAttributes, "CUresult (CUstream, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetAttribute, "CUresult (CUstream, CUstreamAttrID, CUstreamAttrValue *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamSetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamSetAttribute, "CUresult (CUstream, CUstreamAttrID, CUstreamAttrValue const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventCreate, "CUresult (CUevent *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventRecord", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventRecord, "CUresult (CUevent, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventRecordWithFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventRecordWithFlags, "CUresult (CUevent, CUstream, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventQuery", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventQuery, "CUresult (CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventSynchronize", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventSynchronize, "CUresult (CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventDestroy, "CUresult (CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventElapsedTime", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventElapsedTime, "CUresult (float *, CUevent, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventElapsedTime_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventElapsedTime_v2, "CUresult (float *, CUevent, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuImportExternalMemory", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuImportExternalMemory, "CUresult (CUexternalMemory *, CUDA_EXTERNAL_MEMORY_HANDLE_DESC const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuExternalMemoryGetMappedBuffer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuExternalMemoryGetMappedBuffer, "CUresult (CUdeviceptr *, CUexternalMemory, CUDA_EXTERNAL_MEMORY_BUFFER_DESC const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuExternalMemoryGetMappedMipmappedArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuExternalMemoryGetMappedMipmappedArray, "CUresult (CUmipmappedArray *, CUexternalMemory, CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDestroyExternalMemory", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDestroyExternalMemory, "CUresult (CUexternalMemory)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuImportExternalSemaphore", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuImportExternalSemaphore, "CUresult (CUexternalSemaphore *, CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuSignalExternalSemaphoresAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuSignalExternalSemaphoresAsync, "CUresult (CUexternalSemaphore const *, CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS const *, unsigned int, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuWaitExternalSemaphoresAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuWaitExternalSemaphoresAsync, "CUresult (CUexternalSemaphore const *, CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS const *, unsigned int, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDestroyExternalSemaphore", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDestroyExternalSemaphore, "CUresult (CUexternalSemaphore)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamWaitValue32", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitValue32, "CUresult (CUstream, CUdeviceptr, cuuint32_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamWaitValue64", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitValue64, "CUresult (CUstream, CUdeviceptr, cuuint64_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamWriteValue32", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamWriteValue32, "CUresult (CUstream, CUdeviceptr, cuuint32_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamWriteValue64", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamWriteValue64, "CUresult (CUstream, CUdeviceptr, cuuint64_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamBatchMemOp", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamBatchMemOp, "CUresult (CUstream, unsigned int, CUstreamBatchMemOpParams *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncGetAttribute, "CUresult (int *, CUfunction_attribute, CUfunction)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncSetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetAttribute, "CUresult (CUfunction, CUfunction_attribute, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetCacheConfig, "CUresult (CUfunction, CUfunc_cache)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncGetModule", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncGetModule, "CUresult (CUmodule *, CUfunction)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncGetName", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncGetName, "CUresult (char const **, CUfunction)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncGetParamInfo", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncGetParamInfo, "CUresult (CUfunction, size_t, size_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncIsLoaded", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncIsLoaded, "CUresult (CUfunctionLoadingState *, CUfunction)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncLoad", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncLoad, "CUresult (CUfunction)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLaunchKernel", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLaunchKernel, "CUresult (CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, CUstream, void **, void **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLaunchKernelEx", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLaunchKernelEx, "CUresult (CUlaunchConfig const *, CUfunction, void **, void **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLaunchCooperativeKernel", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLaunchCooperativeKernel, "CUresult (CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, CUstream, void **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLaunchCooperativeKernelMultiDevice", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLaunchCooperativeKernelMultiDevice, "CUresult (CUDA_LAUNCH_PARAMS *, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLaunchHostFunc", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLaunchHostFunc, "CUresult (CUstream, CUhostFn, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncSetBlockShape", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetBlockShape, "CUresult (CUfunction, int, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncSetSharedSize", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetSharedSize, "CUresult (CUfunction, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuParamSetSize", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuParamSetSize, "CUresult (CUfunction, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuParamSeti", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuParamSeti, "CUresult (CUfunction, int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuParamSetf", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuParamSetf, "CUresult (CUfunction, int, float)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuParamSetv", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuParamSetv, "CUresult (CUfunction, int, void *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLaunch", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLaunch, "CUresult (CUfunction)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLaunchGrid", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLaunchGrid, "CUresult (CUfunction, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLaunchGridAsync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLaunchGridAsync, "CUresult (CUfunction, int, int, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuParamSetTexRef", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuParamSetTexRef, "CUresult (CUfunction, int, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuFuncSetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuFuncSetSharedMemConfig, "CUresult (CUfunction, CUsharedconfig)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphCreate, "CUresult (CUgraph *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddKernelNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddKernelNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_KERNEL_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphKernelNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeGetParams, "CUresult (CUgraphNode, CUDA_KERNEL_NODE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphKernelNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeSetParams, "CUresult (CUgraphNode, CUDA_KERNEL_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddMemcpyNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemcpyNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEMCPY3D const *, CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphMemcpyNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemcpyNodeGetParams, "CUresult (CUgraphNode, CUDA_MEMCPY3D *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphMemcpyNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemcpyNodeSetParams, "CUresult (CUgraphNode, CUDA_MEMCPY3D const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddMemsetNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemsetNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEMSET_NODE_PARAMS const *, CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphMemsetNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemsetNodeGetParams, "CUresult (CUgraphNode, CUDA_MEMSET_NODE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphMemsetNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemsetNodeSetParams, "CUresult (CUgraphNode, CUDA_MEMSET_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddHostNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddHostNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_HOST_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphHostNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphHostNodeGetParams, "CUresult (CUgraphNode, CUDA_HOST_NODE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphHostNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphHostNodeSetParams, "CUresult (CUgraphNode, CUDA_HOST_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddChildGraphNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddChildGraphNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUgraph)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphChildGraphNodeGetGraph", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphChildGraphNodeGetGraph, "CUresult (CUgraphNode, CUgraph *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddEmptyNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEmptyNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddEventRecordNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEventRecordNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphEventRecordNodeGetEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphEventRecordNodeGetEvent, "CUresult (CUgraphNode, CUevent *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphEventRecordNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphEventRecordNodeSetEvent, "CUresult (CUgraphNode, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddEventWaitNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddEventWaitNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphEventWaitNodeGetEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphEventWaitNodeGetEvent, "CUresult (CUgraphNode, CUevent *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphEventWaitNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphEventWaitNodeSetEvent, "CUresult (CUgraphNode, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddExternalSemaphoresSignalNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddExternalSemaphoresSignalNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExternalSemaphoresSignalNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresSignalNodeGetParams, "CUresult (CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExternalSemaphoresSignalNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresSignalNodeSetParams, "CUresult (CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddExternalSemaphoresWaitNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddExternalSemaphoresWaitNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExternalSemaphoresWaitNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresWaitNodeGetParams, "CUresult (CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExternalSemaphoresWaitNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresWaitNodeSetParams, "CUresult (CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddBatchMemOpNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddBatchMemOpNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_BATCH_MEM_OP_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphBatchMemOpNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphBatchMemOpNodeGetParams, "CUresult (CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphBatchMemOpNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphBatchMemOpNodeSetParams, "CUresult (CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecBatchMemOpNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecBatchMemOpNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddMemAllocNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemAllocNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEM_ALLOC_NODE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphMemAllocNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemAllocNodeGetParams, "CUresult (CUgraphNode, CUDA_MEM_ALLOC_NODE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddMemFreeNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddMemFreeNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUdeviceptr)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphMemFreeNodeGetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphMemFreeNodeGetParams, "CUresult (CUgraphNode, CUdeviceptr *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGraphMemTrim", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGraphMemTrim, "CUresult (CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetGraphMemAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetGraphMemAttribute, "CUresult (CUdevice, CUgraphMem_attribute, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceSetGraphMemAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceSetGraphMemAttribute, "CUresult (CUdevice, CUgraphMem_attribute, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphClone", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphClone, "CUresult (CUgraph *, CUgraph)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeFindInClone", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeFindInClone, "CUresult (CUgraphNode *, CUgraphNode, CUgraph)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeGetType", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetType, "CUresult (CUgraphNode, CUgraphNodeType *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphGetNodes", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetNodes, "CUresult (CUgraph, CUgraphNode *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphGetRootNodes", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetRootNodes, "CUresult (CUgraph, CUgraphNode *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphGetEdges", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetEdges, "CUresult (CUgraph, CUgraphNode *, CUgraphNode *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphGetEdges_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetEdges_v2, "CUresult (CUgraph, CUgraphNode *, CUgraphNode *, CUgraphEdgeData *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeGetDependencies", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependencies, "CUresult (CUgraphNode, CUgraphNode *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeGetDependencies_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependencies_v2, "CUresult (CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeGetDependentNodes", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependentNodes, "CUresult (CUgraphNode, CUgraphNode *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeGetDependentNodes_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependentNodes_v2, "CUresult (CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddDependencies", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddDependencies, "CUresult (CUgraph, CUgraphNode const *, CUgraphNode const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddDependencies_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddDependencies_v2, "CUresult (CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphRemoveDependencies", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphRemoveDependencies, "CUresult (CUgraph, CUgraphNode const *, CUgraphNode const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphRemoveDependencies_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphRemoveDependencies_v2, "CUresult (CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphDestroyNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphDestroyNode, "CUresult (CUgraphNode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphInstantiate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphInstantiate, "CUresult (CUgraphExec *, CUgraph, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphInstantiateWithParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphInstantiateWithParams, "CUresult (CUgraphExec *, CUgraph, CUDA_GRAPH_INSTANTIATE_PARAMS *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecGetFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecGetFlags, "CUresult (CUgraphExec, cuuint64_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecKernelNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecKernelNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_KERNEL_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecMemcpyNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecMemcpyNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_MEMCPY3D const *, CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecMemsetNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecMemsetNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_MEMSET_NODE_PARAMS const *, CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecHostNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecHostNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_HOST_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecChildGraphNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecChildGraphNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUgraph)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecEventRecordNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecEventRecordNodeSetEvent, "CUresult (CUgraphExec, CUgraphNode, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecEventWaitNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecEventWaitNodeSetEvent, "CUresult (CUgraphExec, CUgraphNode, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecExternalSemaphoresSignalNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecExternalSemaphoresSignalNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecExternalSemaphoresWaitNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecExternalSemaphoresWaitNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeSetEnabled", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeSetEnabled, "CUresult (CUgraphExec, CUgraphNode, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeGetEnabled", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetEnabled, "CUresult (CUgraphExec, CUgraphNode, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphUpload", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphUpload, "CUresult (CUgraphExec, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphLaunch", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphLaunch, "CUresult (CUgraphExec, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecDestroy, "CUresult (CUgraphExec)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphDestroy, "CUresult (CUgraph)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecUpdate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecUpdate, "CUresult (CUgraphExec, CUgraph, CUgraphExecUpdateResultInfo *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphKernelNodeCopyAttributes", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeCopyAttributes, "CUresult (CUgraphNode, CUgraphNode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphKernelNodeGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeGetAttribute, "CUresult (CUgraphNode, CUkernelNodeAttrID, CUkernelNodeAttrValue *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphKernelNodeSetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeSetAttribute, "CUresult (CUgraphNode, CUkernelNodeAttrID, CUkernelNodeAttrValue const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphDebugDotPrint", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphDebugDotPrint, "CUresult (CUgraph, char const *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuUserObjectCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuUserObjectCreate, "CUresult (CUuserObject *, void *, CUhostFn, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuUserObjectRetain", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuUserObjectRetain, "CUresult (CUuserObject, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuUserObjectRelease", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuUserObjectRelease, "CUresult (CUuserObject, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphRetainUserObject", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphRetainUserObject, "CUresult (CUgraph, CUuserObject, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphReleaseUserObject", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphReleaseUserObject, "CUresult (CUgraph, CUuserObject, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddNode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUgraphNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphAddNode_v2", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddNode_v2, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, CUgraphEdgeData const *, size_t, CUgraphNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeSetParams, "CUresult (CUgraphNode, CUgraphNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphExecNodeSetParams", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUgraphNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphConditionalHandleCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphConditionalHandleCreate, "CUresult (CUgraphConditionalHandle *, CUgraph, CUcontext, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuOccupancyMaxActiveBlocksPerMultiprocessor", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveBlocksPerMultiprocessor, "CUresult (int *, CUfunction, int, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, "CUresult (int *, CUfunction, int, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuOccupancyMaxPotentialBlockSize", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialBlockSize, "CUresult (int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuOccupancyMaxPotentialBlockSizeWithFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialBlockSizeWithFlags, "CUresult (int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuOccupancyAvailableDynamicSMemPerBlock", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyAvailableDynamicSMemPerBlock, "CUresult (size_t *, CUfunction, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuOccupancyMaxPotentialClusterSize", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialClusterSize, "CUresult (int *, CUfunction, CUlaunchConfig const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuOccupancyMaxActiveClusters", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveClusters, "CUresult (int *, CUfunction, CUlaunchConfig const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetArray, "CUresult (CUtexref, CUarray, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetMipmappedArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmappedArray, "CUresult (CUtexref, CUmipmappedArray, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetAddress", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddress, "CUresult (size_t *, CUtexref, CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetAddress2D", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddress2D, "CUresult (CUtexref, CUDA_ARRAY_DESCRIPTOR const *, CUdeviceptr, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetFormat", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFormat, "CUresult (CUtexref, CUarray_format, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetAddressMode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddressMode, "CUresult (CUtexref, int, CUaddress_mode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetFilterMode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFilterMode, "CUresult (CUtexref, CUfilter_mode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetMipmapFilterMode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapFilterMode, "CUresult (CUtexref, CUfilter_mode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetMipmapLevelBias", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapLevelBias, "CUresult (CUtexref, float)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetMipmapLevelClamp", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapLevelClamp, "CUresult (CUtexref, float, float)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetMaxAnisotropy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMaxAnisotropy, "CUresult (CUtexref, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetBorderColor", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetBorderColor, "CUresult (CUtexref, float *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefSetFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFlags, "CUresult (CUtexref, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetAddress", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetAddress, "CUresult (CUdeviceptr *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetArray, "CUresult (CUarray *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetMipmappedArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmappedArray, "CUresult (CUmipmappedArray *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetAddressMode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetAddressMode, "CUresult (CUaddress_mode *, CUtexref, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetFilterMode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFilterMode, "CUresult (CUfilter_mode *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetFormat", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFormat, "CUresult (CUarray_format *, int *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetMipmapFilterMode", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapFilterMode, "CUresult (CUfilter_mode *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetMipmapLevelBias", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapLevelBias, "CUresult (float *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetMipmapLevelClamp", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapLevelClamp, "CUresult (float *, float *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetMaxAnisotropy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMaxAnisotropy, "CUresult (int *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetBorderColor", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetBorderColor, "CUresult (float *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefGetFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFlags, "CUresult (unsigned int *, CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefCreate, "CUresult (CUtexref *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexRefDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexRefDestroy, "CUresult (CUtexref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuSurfRefSetArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuSurfRefSetArray, "CUresult (CUsurfref, CUarray, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuSurfRefGetArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuSurfRefGetArray, "CUresult (CUarray *, CUsurfref)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexObjectCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectCreate, "CUresult (CUtexObject *, CUDA_RESOURCE_DESC const *, CUDA_TEXTURE_DESC const *, CUDA_RESOURCE_VIEW_DESC const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexObjectDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectDestroy, "CUresult (CUtexObject)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexObjectGetResourceDesc", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetResourceDesc, "CUresult (CUDA_RESOURCE_DESC *, CUtexObject)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexObjectGetTextureDesc", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetTextureDesc, "CUresult (CUDA_TEXTURE_DESC *, CUtexObject)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTexObjectGetResourceViewDesc", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTexObjectGetResourceViewDesc, "CUresult (CUDA_RESOURCE_VIEW_DESC *, CUtexObject)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuSurfObjectCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectCreate, "CUresult (CUsurfObject *, CUDA_RESOURCE_DESC const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuSurfObjectDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectDestroy, "CUresult (CUsurfObject)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuSurfObjectGetResourceDesc", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectGetResourceDesc, "CUresult (CUDA_RESOURCE_DESC *, CUsurfObject)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTensorMapEncodeTiled", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeTiled, "CUresult (CUtensorMap *, CUtensorMapDataType, cuuint32_t, void *, cuuint64_t const *, cuuint64_t const *, cuuint32_t const *, cuuint32_t const *, CUtensorMapInterleave, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTensorMapEncodeIm2col", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeIm2col, "CUresult (CUtensorMap *, CUtensorMapDataType, cuuint32_t, void *, cuuint64_t const *, cuuint64_t const *, int const *, int const *, cuuint32_t, cuuint32_t, cuuint32_t const *, CUtensorMapInterleave, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTensorMapEncodeIm2colWide", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTensorMapEncodeIm2colWide, "CUresult (CUtensorMap *, CUtensorMapDataType, cuuint32_t, void *, cuuint64_t const *, cuuint64_t const *, int, int, cuuint32_t, cuuint32_t, cuuint32_t const *, CUtensorMapInterleave, CUtensorMapIm2ColWideMode, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuTensorMapReplaceAddress", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuTensorMapReplaceAddress, "CUresult (CUtensorMap *, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceCanAccessPeer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceCanAccessPeer, "CUresult (int *, CUdevice, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxEnablePeerAccess", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxEnablePeerAccess, "CUresult (CUcontext, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxDisablePeerAccess", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxDisablePeerAccess, "CUresult (CUcontext)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetP2PAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetP2PAttribute, "CUresult (int *, CUdevice_P2PAttribute, CUdevice, CUdevice)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsUnregisterResource", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsUnregisterResource, "CUresult (CUgraphicsResource)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsSubResourceGetMappedArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsSubResourceGetMappedArray, "CUresult (CUarray *, CUgraphicsResource, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsResourceGetMappedMipmappedArray", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedMipmappedArray, "CUresult (CUmipmappedArray *, CUgraphicsResource)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsResourceGetMappedPointer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedPointer, "CUresult (CUdeviceptr *, size_t *, CUgraphicsResource)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsResourceSetMapFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceSetMapFlags, "CUresult (CUgraphicsResource, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsMapResources", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsMapResources, "CUresult (unsigned int, CUgraphicsResource *, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsUnmapResources", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsUnmapResources, "CUresult (unsigned int, CUgraphicsResource *, CUstream)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGetProcAddress", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGetProcAddress, "CUresult (char const *, void **, int, cuuint64_t, CUdriverProcAddressQueryResult *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCoredumpGetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCoredumpGetAttribute, "CUresult (CUcoredumpSettings, void *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCoredumpGetAttributeGlobal", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCoredumpGetAttributeGlobal, "CUresult (CUcoredumpSettings, void *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCoredumpSetAttribute", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCoredumpSetAttribute, "CUresult (CUcoredumpSettings, void *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCoredumpSetAttributeGlobal", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCoredumpSetAttributeGlobal, "CUresult (CUcoredumpSettings, void *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGetExportTable", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGetExportTable, "CUresult (void const **, CUuuid const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGreenCtxCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxCreate, "CUresult (CUgreenCtx *, CUdevResourceDesc, CUdevice, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGreenCtxDestroy", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxDestroy, "CUresult (CUgreenCtx)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxFromGreenCtx", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxFromGreenCtx, "CUresult (CUcontext *, CUgreenCtx)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDeviceGetDevResource", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetDevResource, "CUresult (CUdevice, CUdevResource *, CUdevResourceType)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCtxGetDevResource", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCtxGetDevResource, "CUresult (CUcontext, CUdevResource *, CUdevResourceType)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGreenCtxGetDevResource", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxGetDevResource, "CUresult (CUgreenCtx, CUdevResource *, CUdevResourceType)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDevSmResourceSplitByCount", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDevSmResourceSplitByCount, "CUresult (CUdevResource *, unsigned int *, CUdevResource const *, CUdevResource *, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuDevResourceGenerateDesc", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuDevResourceGenerateDesc, "CUresult (CUdevResourceDesc *, CUdevResource *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGreenCtxRecordEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxRecordEvent, "CUresult (CUgreenCtx, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGreenCtxWaitEvent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxWaitEvent, "CUresult (CUgreenCtx, CUevent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuStreamGetGreenCtx", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetGreenCtx, "CUresult (CUstream, CUgreenCtx *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGreenCtxStreamCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxStreamCreate, "CUresult (CUstream *, CUgreenCtx, unsigned int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLogsRegisterCallback", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLogsRegisterCallback, "CUresult (CUlogsCallback, void *, CUlogsCallbackHandle *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLogsUnregisterCallback", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLogsUnregisterCallback, "CUresult (CUlogsCallbackHandle)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLogsCurrent", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLogsCurrent, "CUresult (CUlogIterator *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLogsDumpToFile", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLogsDumpToFile, "CUresult (CUlogIterator *, char const *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuLogsDumpToMemory", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuLogsDumpToMemory, "CUresult (CUlogIterator *, char *, size_t *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCheckpointProcessGetRestoreThreadId", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessGetRestoreThreadId, "CUresult (int, int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCheckpointProcessGetState", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessGetState, "CUresult (int, CUprocessState *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCheckpointProcessLock", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessLock, "CUresult (int, CUcheckpointLockArgs *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCheckpointProcessCheckpoint", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessCheckpoint, "CUresult (int, CUcheckpointCheckpointArgs *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCheckpointProcessRestore", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessRestore, "CUresult (int, CUcheckpointRestoreArgs *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuCheckpointProcessUnlock", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuCheckpointProcessUnlock, "CUresult (int, CUcheckpointUnlockArgs *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuProfilerStart", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuProfilerStart, "CUresult (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuProfilerStop", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuProfilerStop, "CUresult (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsEGLRegisterImage", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsEGLRegisterImage, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamConsumerConnect", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerConnect, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamConsumerConnectWithFlags", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerConnectWithFlags, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamConsumerDisconnect", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerDisconnect, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamConsumerAcquireFrame", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerAcquireFrame, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, CUgraphicsResource *, CUstream *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamConsumerReleaseFrame", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerReleaseFrame, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, CUgraphicsResource, CUstream *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamProducerConnect", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerConnect, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR, __pyx_t_4cuda_8bindings_8cydriver_EGLint, __pyx_t_4cuda_8bindings_8cydriver_EGLint)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamProducerDisconnect", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerDisconnect, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamProducerPresentFrame", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerPresentFrame, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame, CUstream *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEGLStreamProducerReturnFrame", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerReturnFrame, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *, __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame *, CUstream *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsResourceGetMappedEglFrame", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedEglFrame, "CUresult (__pyx_t_4cuda_8bindings_8cydriver_CUeglFrame *, CUgraphicsResource, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuEventCreateFromEGLSync", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuEventCreateFromEGLSync, "CUresult (CUevent *, __pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsGLRegisterBuffer", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsGLRegisterBuffer, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_GLuint, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsGLRegisterImage", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsGLRegisterImage, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_GLuint, __pyx_t_4cuda_8bindings_8cydriver_GLenum, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGLGetDevices", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGLGetDevices, "CUresult (unsigned int *, CUdevice *, unsigned int, __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuVDPAUGetDevice", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuVDPAUGetDevice, "CUresult (CUdevice *, __pyx_t_4cuda_8bindings_8cydriver_VdpDevice, __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuVDPAUCtxCreate", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuVDPAUCtxCreate, "CUresult (CUcontext *, unsigned int, CUdevice, __pyx_t_4cuda_8bindings_8cydriver_VdpDevice, __pyx_t_4cuda_8bindings_8cydriver_VdpGetProcAddress *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsVDPAURegisterVideoSurface", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsVDPAURegisterVideoSurface, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_1_5(__pyx_t_1, "cuGraphicsVDPAURegisterOutputSurface", (void (**)(void))&__pyx_f_4cuda_8bindings_8cydriver_cuGraphicsVDPAURegisterOutputSurface, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec_driver(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec_driver},
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  {Py_mod_gil, Py_MOD_GIL_NOT_USED},
  #endif
  #if PY_VERSION_HEX >= 0x030C0000 && CYTHON_USE_MODULE_STATE
  {Py_mod_multiple_interpreters, Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},
  #endif
  {0, NULL}
};
#endif

#ifdef __cplusplus
namespace {
  struct PyModuleDef __pyx_moduledef =
  #else
  static struct PyModuleDef __pyx_moduledef =
  #endif
  {
      PyModuleDef_HEAD_INIT,
      "driver",
      0, /* m_doc */
    #if CYTHON_USE_MODULE_STATE
      sizeof(__pyx_mstatetype), /* m_size */
    #else
      (CYTHON_PEP489_MULTI_PHASE_INIT) ? 0 : -1, /* m_size */
    #endif
      __pyx_methods /* m_methods */,
    #if CYTHON_PEP489_MULTI_PHASE_INIT
      __pyx_moduledef_slots, /* m_slots */
    #else
      NULL, /* m_reload */
    #endif
    #if CYTHON_USE_MODULE_STATE
      __pyx_m_traverse, /* m_traverse */
      __pyx_m_clear, /* m_clear */
      NULL /* m_free */
    #else
      NULL, /* m_traverse */
      NULL, /* m_clear */
      NULL /* m_free */
    #endif
  };
  #ifdef __cplusplus
} /* anonymous namespace */
#endif

/* PyModInitFuncType */
#ifndef CYTHON_NO_PYINIT_EXPORT
  #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#else
  #ifdef __cplusplus
  #define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
  #else
  #define __Pyx_PyMODINIT_FUNC PyObject *
  #endif
#endif

__Pyx_PyMODINIT_FUNC PyInit_driver(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_driver(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
  return PyModuleDef_Init(&__pyx_moduledef);
}
/* ModuleCreationPEP489 */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x03090000
static PY_INT64_T __Pyx_GetCurrentInterpreterId(void) {
    {
        PyObject *module = PyImport_ImportModule("_interpreters"); // 3.13+ I think
        if (!module) {
            PyErr_Clear(); // just try the 3.8-3.12 version
            module = PyImport_ImportModule("_xxsubinterpreters");
            if (!module) goto bad;
        }
        PyObject *current = PyObject_CallMethod(module, "get_current", NULL);
        Py_DECREF(module);
        if (!current) goto bad;
        if (PyTuple_Check(current)) {
            PyObject *new_current = PySequence_GetItem(current, 0);
            Py_DECREF(current);
            current = new_current;
            if (!new_current) goto bad;
        }
        long long as_c_int = PyLong_AsLongLong(current);
        Py_DECREF(current);
        return as_c_int;
    }
  bad:
    PySys_WriteStderr("__Pyx_GetCurrentInterpreterId failed. Try setting the C define CYTHON_PEP489_MULTI_PHASE_INIT=0\n");
    return -1;
}
#endif
#if !CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
    static PY_INT64_T main_interpreter_id = -1;
#if CYTHON_COMPILING_IN_GRAAL
    PY_INT64_T current_id = PyInterpreterState_GetIDFromThreadState(PyThreadState_Get());
#elif CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX >= 0x03090000
    PY_INT64_T current_id = PyInterpreterState_GetID(PyInterpreterState_Get());
#elif CYTHON_COMPILING_IN_LIMITED_API
    PY_INT64_T current_id = __Pyx_GetCurrentInterpreterId();
#else
    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
#endif
    if (unlikely(current_id == -1)) {
        return -1;
    }
    if (main_interpreter_id == -1) {
        main_interpreter_id = current_id;
        return 0;
    } else if (unlikely(main_interpreter_id != current_id)) {
        PyErr_SetString(
            PyExc_ImportError,
            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
        return -1;
    }
    return 0;
}
#endif
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none)
{
    PyObject *value = PyObject_GetAttrString(spec, from_name);
    int result = 0;
    if (likely(value)) {
        if (allow_none || value != Py_None) {
            result = PyDict_SetItemString(moddict, to_name, value);
        }
        Py_DECREF(value);
    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Clear();
    } else {
        result = -1;
    }
    return result;
}
static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    CYTHON_UNUSED_VAR(def);
    #if !CYTHON_USE_MODULE_STATE
    if (__Pyx_check_single_interpreter())
        return NULL;
    #endif
    if (__pyx_m)
        return __Pyx_NewRef(__pyx_m);
    modname = PyObject_GetAttrString(spec, "name");
    if (unlikely(!modname)) goto bad;
    module = PyModule_NewObject(modname);
    Py_DECREF(modname);
    if (unlikely(!module)) goto bad;
    moddict = PyModule_GetDict(module);
    if (unlikely(!moddict)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
    return module;
bad:
    Py_XDECREF(module);
    return NULL;
}


static CYTHON_SMALL_CODE int __pyx_pymod_exec_driver(PyObject *__pyx_pyinit_module)
#endif
{
  int stringtab_initialized = 0;
  #if CYTHON_USE_MODULE_STATE
  int pystate_addmodule_run = 0;
  #endif
  __pyx_mstatetype *__pyx_mstate = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  size_t __pyx_t_19;
  size_t __pyx_t_20;
  int __pyx_t_21;
  int __pyx_t_22;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m) {
    if (__pyx_m == __pyx_pyinit_module) return 0;
    PyErr_SetString(PyExc_RuntimeError, "Module 'driver' has already been imported. Re-initialisation is not supported.");
    return -1;
  }
  #else
  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
  #endif
  /*--- Module creation code ---*/
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __pyx_t_1 = __pyx_pyinit_module;
  Py_INCREF(__pyx_t_1);
  #else
  __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #if CYTHON_USE_MODULE_STATE
  {
    int add_module_result = __Pyx_State_AddModule(__pyx_t_1, &__pyx_moduledef);
    __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "driver" pseudovariable */
    if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
    pystate_addmodule_run = 1;
  }
  #else
  __pyx_m = __pyx_t_1;
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  PyUnstable_Module_SetGIL(__pyx_m, Py_MOD_GIL_NOT_USED);
  #endif
  __pyx_mstate = __pyx_mstate_global;
  CYTHON_UNUSED_VAR(__pyx_t_1);
  __pyx_mstate->__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_mstate->__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_mstate->__pyx_d);
  __pyx_mstate->__pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_mstate->__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_cython_runtime = __Pyx_PyImport_AddModuleRef("cython_runtime"); if (unlikely(!__pyx_mstate->__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_mstate->__pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /* ImportRefnannyAPI */
  #if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
if (!__Pyx_RefNanny) {
  PyErr_Clear();
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
  if (!__Pyx_RefNanny)
      Py_FatalError("failed to import 'refnanny' module");
}
#endif

__Pyx_RefNannySetupContext("PyInit_driver", 0);
  if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  #ifdef __Pxy_PyFrame_Initialize_Offsets
  __Pxy_PyFrame_Initialize_Offsets();
  #endif
  __pyx_mstate->__pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_mstate->__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  stringtab_initialized = 1;
  if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  #if 0 || defined(__Pyx_CyFunction_USED) || defined(__Pyx_FusedFunction_USED) || defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED) || defined(__Pyx_AsyncGen_USED)
  if (__pyx_CommonTypesMetaclass_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_AsyncGen_USED
  if (__pyx_AsyncGen_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  /*--- Library function declarations ---*/
  if (__pyx_module_is_main_cuda__bindings__driver) {
    if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_3, __pyx_mstate_global->__pyx_n_u_main) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  }
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "cuda.bindings.driver")) {
      if (unlikely((PyDict_SetItemString(modules, "cuda.bindings.driver", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_CreateCodeObjects(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Global type/function init code ---*/
  (void)__Pyx_modinit_global_init_code(__pyx_mstate);
  (void)__Pyx_modinit_variable_export_code(__pyx_mstate);
  (void)__Pyx_modinit_function_export_code(__pyx_mstate);
  if (unlikely((__Pyx_modinit_type_init_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
  if (unlikely((__Pyx_modinit_type_import_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
  (void)__Pyx_modinit_variable_import_code(__pyx_mstate);
  if (unlikely((__Pyx_modinit_function_import_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Execution code ---*/

  /* "cuda/bindings/driver.pyx":5
 * 
 * # This code was automatically generated with version 12.9.0. Do not modify it directly.
 * from typing import Any, Optional             # <<<<<<<<<<<<<<
 * from enum import IntEnum
 * import cython
*/
  __pyx_t_2 = __Pyx_PyList_Pack(2, __pyx_mstate_global->__pyx_n_u_Any, __pyx_mstate_global->__pyx_n_u_Optional); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_typing, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Any); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_Any, __pyx_t_2) < (0)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Optional); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_Optional, __pyx_t_2) < (0)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":6
 * # This code was automatically generated with version 12.9.0. Do not modify it directly.
 * from typing import Any, Optional
 * from enum import IntEnum             # <<<<<<<<<<<<<<
 * import cython
 * import ctypes
*/
  __pyx_t_3 = __Pyx_PyList_Pack(1, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_enum, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_IntEnum, __pyx_t_3) < (0)) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":8
 * from enum import IntEnum
 * import cython
 * import ctypes             # <<<<<<<<<<<<<<
 * from libc.stdlib cimport calloc, malloc, free
 * from libc cimport string
*/
  __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_mstate_global->__pyx_n_u_ctypes_2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ctypes_2, __pyx_t_2) < (0)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":17
 * from cpython.buffer cimport PyObject_CheckBuffer, PyObject_GetBuffer, PyBuffer_Release, PyBUF_SIMPLE, PyBUF_ANY_CONTIGUOUS
 * from cpython.bytes cimport PyBytes_FromStringAndSize
 * import cuda.bindings.driver             # <<<<<<<<<<<<<<
 * from libcpp.map cimport map
 * 
*/
  __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuda, __pyx_t_2) < (0)) __PYX_ERR(0, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":20
 * from libcpp.map cimport map
 * 
 * _driver = globals()             # <<<<<<<<<<<<<<
 * include "_lib/utils.pxi"
 * 
*/
  __pyx_t_2 = __Pyx_Globals(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_driver, __pyx_t_2) < (0)) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/bindings/_lib/utils.pxi":9
 * from libc.stddef cimport wchar_t
 * from libc.string cimport memcpy
 * from enum import Enum as _Enum             # <<<<<<<<<<<<<<
 * import ctypes as _ctypes
 * cimport cuda.bindings.cydriver as cydriver
*/
  __pyx_t_2 = __Pyx_PyList_Pack(1, __pyx_mstate_global->__pyx_n_u_Enum_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_enum, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Enum_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_Enum, __pyx_t_2) < (0)) __PYX_ERR(1, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":10
 * from libc.string cimport memcpy
 * from enum import Enum as _Enum
 * import ctypes as _ctypes             # <<<<<<<<<<<<<<
 * cimport cuda.bindings.cydriver as cydriver
 * import cuda.bindings.driver as _driver
*/
  __pyx_t_3 = __Pyx_ImportDottedModule(__pyx_mstate_global->__pyx_n_u_ctypes_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ctypes, __pyx_t_3) < (0)) __PYX_ERR(1, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":12
 * import ctypes as _ctypes
 * cimport cuda.bindings.cydriver as cydriver
 * import cuda.bindings.driver as _driver             # <<<<<<<<<<<<<<
 * cimport cuda.bindings._lib.param_packer as param_packer
 * 
*/
  __pyx_t_3 = __Pyx_ImportDottedModule(__pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_tuple[0]); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_driver, __pyx_t_3) < (0)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":23
 * cdef class _HelperKernelParams:
 *     supported_types = { # excluding void_p and None, which are handled specially
 *         _ctypes.c_bool,             # <<<<<<<<<<<<<<
 *         _ctypes.c_char,
 *         _ctypes.c_wchar,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_bool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":24
 *     supported_types = { # excluding void_p and None, which are handled specially
 *         _ctypes.c_bool,
 *         _ctypes.c_char,             # <<<<<<<<<<<<<<
 *         _ctypes.c_wchar,
 *         _ctypes.c_byte,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_char); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":25
 *         _ctypes.c_bool,
 *         _ctypes.c_char,
 *         _ctypes.c_wchar,             # <<<<<<<<<<<<<<
 *         _ctypes.c_byte,
 *         _ctypes.c_ubyte,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_wchar); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":26
 *         _ctypes.c_char,
 *         _ctypes.c_wchar,
 *         _ctypes.c_byte,             # <<<<<<<<<<<<<<
 *         _ctypes.c_ubyte,
 *         _ctypes.c_short,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_byte); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":27
 *         _ctypes.c_wchar,
 *         _ctypes.c_byte,
 *         _ctypes.c_ubyte,             # <<<<<<<<<<<<<<
 *         _ctypes.c_short,
 *         _ctypes.c_ushort,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_ubyte); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":28
 *         _ctypes.c_byte,
 *         _ctypes.c_ubyte,
 *         _ctypes.c_short,             # <<<<<<<<<<<<<<
 *         _ctypes.c_ushort,
 *         _ctypes.c_int,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_short); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":29
 *         _ctypes.c_ubyte,
 *         _ctypes.c_short,
 *         _ctypes.c_ushort,             # <<<<<<<<<<<<<<
 *         _ctypes.c_int,
 *         _ctypes.c_uint,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_ushort); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":30
 *         _ctypes.c_short,
 *         _ctypes.c_ushort,
 *         _ctypes.c_int,             # <<<<<<<<<<<<<<
 *         _ctypes.c_uint,
 *         _ctypes.c_long,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_int); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":31
 *         _ctypes.c_ushort,
 *         _ctypes.c_int,
 *         _ctypes.c_uint,             # <<<<<<<<<<<<<<
 *         _ctypes.c_long,
 *         _ctypes.c_ulong,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_uint); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":32
 *         _ctypes.c_int,
 *         _ctypes.c_uint,
 *         _ctypes.c_long,             # <<<<<<<<<<<<<<
 *         _ctypes.c_ulong,
 *         _ctypes.c_longlong,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_long); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":33
 *         _ctypes.c_uint,
 *         _ctypes.c_long,
 *         _ctypes.c_ulong,             # <<<<<<<<<<<<<<
 *         _ctypes.c_longlong,
 *         _ctypes.c_ulonglong,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_ulong); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":34
 *         _ctypes.c_long,
 *         _ctypes.c_ulong,
 *         _ctypes.c_longlong,             # <<<<<<<<<<<<<<
 *         _ctypes.c_ulonglong,
 *         _ctypes.c_size_t,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_longlong); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":35
 *         _ctypes.c_ulong,
 *         _ctypes.c_longlong,
 *         _ctypes.c_ulonglong,             # <<<<<<<<<<<<<<
 *         _ctypes.c_size_t,
 *         _ctypes.c_float,
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_ulonglong); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_15);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":36
 *         _ctypes.c_longlong,
 *         _ctypes.c_ulonglong,
 *         _ctypes.c_size_t,             # <<<<<<<<<<<<<<
 *         _ctypes.c_float,
 *         _ctypes.c_double
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_size_t); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":37
 *         _ctypes.c_ulonglong,
 *         _ctypes.c_size_t,
 *         _ctypes.c_float,             # <<<<<<<<<<<<<<
 *         _ctypes.c_double
 *     }
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_float); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":38
 *         _ctypes.c_size_t,
 *         _ctypes.c_float,
 *         _ctypes.c_double             # <<<<<<<<<<<<<<
 *     }
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_c_double); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PySet_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PySet_Add(__pyx_t_3, __pyx_t_2) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_4) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_5) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_6) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_7) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_8) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_9) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_10) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_11) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_12) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_13) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_14) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_15) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_16) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_17) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PySet_Add(__pyx_t_3, __pyx_t_18) < (0)) __PYX_ERR(1, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __pyx_mstate_global->__pyx_n_u_supported_types, __pyx_t_3) < (0)) __PYX_ERR(1, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":41
 *     }
 * 
 *     max_param_size = max(_ctypes.sizeof(max(_HelperKernelParams.supported_types, key=lambda t:_ctypes.sizeof(t))), sizeof(void_ptr))             # <<<<<<<<<<<<<<
 * 
 *     def __cinit__(self, kernelParams):
*/
  __pyx_t_19 = (sizeof(__pyx_t_4cuda_8bindings_6driver_void_ptr));
  __pyx_t_18 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_sizeof); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_15 = NULL;
  __Pyx_INCREF(__pyx_builtin_max);
  __pyx_t_14 = __pyx_builtin_max; 
  __pyx_t_13 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams), __pyx_mstate_global->__pyx_n_u_supported_types); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19_HelperKernelParams_4lambda, 0, __pyx_mstate_global->__pyx_n_u_HelperKernelParams_lambda, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[214])); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_20 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_15, __pyx_t_13};
    __pyx_t_11 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_key_2, __pyx_t_12, __pyx_t_11, __pyx_callargs+2, 0) < (0)) __PYX_ERR(1, 41, __pyx_L1_error)
    __pyx_t_17 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_14, __pyx_callargs+__pyx_t_20, (2-__pyx_t_20) | (__pyx_t_20*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_11);
    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_17);
  }
  __pyx_t_20 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_18, __pyx_t_17};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_16, __pyx_callargs+__pyx_t_20, (2-__pyx_t_20) | (__pyx_t_20*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(__pyx_t_19); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyObject_RichCompare(__pyx_t_17, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely((__pyx_t_21 < 0))) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (__pyx_t_21) {
    __pyx_t_18 = __Pyx_PyLong_FromSize_t(__pyx_t_19); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_18);
    __pyx_t_16 = __pyx_t_18;
    __pyx_t_18 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_16 = __pyx_t_3;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_t_16;
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __pyx_mstate_global->__pyx_n_u_max_param_size, __pyx_t_3) < (0)) __PYX_ERR(1, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19_HelperKernelParams_6__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperKernelParams___reduce_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[215])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19_HelperKernelParams_8__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperKernelParams___setstate_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[216])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19_HelperInputVoidPtr_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperInputVoidPtr___reduce_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[217])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19_HelperInputVoidPtr_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperInputVoidPtr___setstate_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[218])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":187
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES,
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_5pyObj, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmemPool_attribute_pyObj, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[219])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute, __pyx_mstate_global->__pyx_n_u_pyObj, __pyx_t_3) < (0)) __PYX_ERR(1, 187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmemPool_attribute___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[220])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_HelperCUmemPool_attribute_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmemPool_attribute___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[221])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":224
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         if self._attr in (cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY,
 *                           cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION,
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_5pyObj, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmem_range_attribute_pyO, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[222])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute, __pyx_mstate_global->__pyx_n_u_pyObj, __pyx_t_3) < (0)) __PYX_ERR(1, 224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmem_range_attribute___r, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[223])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28_HelperCUmem_range_attribute_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmem_range_attribute___s, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[224])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":295
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT,):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_5pyObj, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUpointer_attribute_pyObj, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[225])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute, __pyx_mstate_global->__pyx_n_u_pyObj, __pyx_t_3) < (0)) __PYX_ERR(1, 295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUpointer_attribute___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[226])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26_HelperCUpointer_attribute_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUpointer_attribute___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[227])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":349
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attr in (cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_5pyObj, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUgraphMem_attribute_pyOb, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[228])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, __pyx_mstate_global->__pyx_n_u_pyObj, __pyx_t_3) < (0)) __PYX_ERR(1, 349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUgraphMem_attribute___re, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[229])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27_HelperCUgraphMem_attribute_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUgraphMem_attribute___se, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[230])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19_HelperCUjit_option_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUjit_option___reduce_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[231])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19_HelperCUjit_option_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUjit_option___setstate_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[232])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20_HelperCudaJitOption_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCudaJitOption___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[233])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20_HelperCudaJitOption_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCudaJitOption___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[234])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22_HelperCUlibraryOption_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUlibraryOption___reduce, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[235])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22_HelperCUlibraryOption_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUlibraryOption___setstat, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[236])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCudaLibraryOption___reduc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[237])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24_HelperCudaLibraryOption_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCudaLibraryOption___setst, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[238])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":528
 *         return <void_ptr>self._cptr
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         if False:
 *             pass
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_5pyObj, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmemAllocationHandleType_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[239])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, __pyx_mstate_global->__pyx_n_u_pyObj, __pyx_t_3) < (0)) __PYX_ERR(1, 528, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmemAllocationHandleType_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[240])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32_HelperCUmemAllocationHandleType_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUmemAllocationHandleType_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[241])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_InputVoidPtrPtrHelper___reduce, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[242])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22_InputVoidPtrPtrHelper_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_InputVoidPtrPtrHelper___setstat, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[243])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":590
 *         return <void_ptr>self._cptr
 * 
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._size
 * 
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_5size, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUcoredumpSettings_size, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[244])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings, __pyx_mstate_global->__pyx_n_u_size_2, __pyx_t_3) < (0)) __PYX_ERR(1, 590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/_lib/utils.pxi":593
 *         return self._size
 * 
 *     def pyObj(self):             # <<<<<<<<<<<<<<
 *         assert(self._is_getter == True)
 *         if self._attrib in (cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE,
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_7pyObj, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUcoredumpSettings_pyObj, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[245])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings, __pyx_mstate_global->__pyx_n_u_pyObj, __pyx_t_3) < (0)) __PYX_ERR(1, 593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUcoredumpSettings___redu, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[246])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25_HelperCUcoredumpSettings_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_HelperCUcoredumpSettings___sets, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[247])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":48
 * 
 * #: CUDA API version number
 * CUDA_VERSION = cydriver.CUDA_VERSION             # <<<<<<<<<<<<<<
 * 
 * #: CUDA IPC handle size
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_VERSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_VERSION, __pyx_t_3) < (0)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":51
 * 
 * #: CUDA IPC handle size
 * CU_IPC_HANDLE_SIZE = cydriver.CU_IPC_HANDLE_SIZE             # <<<<<<<<<<<<<<
 * 
 * #: Legacy stream handle
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_IPC_HANDLE_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_IPC_HANDLE_SIZE, __pyx_t_3) < (0)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":59
 * #:
 * #: See details of the \link_sync_behavior
 * CU_STREAM_LEGACY = cydriver.CU_STREAM_LEGACY             # <<<<<<<<<<<<<<
 * 
 * #: Per-thread stream handle
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_LEGACY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_STREAM_LEGACY, __pyx_t_3) < (0)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":67
 * #:
 * #: See details of the \link_sync_behavior
 * CU_STREAM_PER_THREAD = cydriver.CU_STREAM_PER_THREAD             # <<<<<<<<<<<<<<
 * 
 * CU_COMPUTE_ACCELERATED_TARGET_BASE = cydriver.CU_COMPUTE_ACCELERATED_TARGET_BASE
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_PER_THREAD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_STREAM_PER_THREAD, __pyx_t_3) < (0)) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":69
 * CU_STREAM_PER_THREAD = cydriver.CU_STREAM_PER_THREAD
 * 
 * CU_COMPUTE_ACCELERATED_TARGET_BASE = cydriver.CU_COMPUTE_ACCELERATED_TARGET_BASE             # <<<<<<<<<<<<<<
 * 
 * CU_COMPUTE_FAMILY_TARGET_BASE = cydriver.CU_COMPUTE_FAMILY_TARGET_BASE
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_COMPUTE_ACCELERATED_TARGET_BASE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_COMPUTE_ACCELERATED_TARGET_BA, __pyx_t_3) < (0)) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":71
 * CU_COMPUTE_ACCELERATED_TARGET_BASE = cydriver.CU_COMPUTE_ACCELERATED_TARGET_BASE
 * 
 * CU_COMPUTE_FAMILY_TARGET_BASE = cydriver.CU_COMPUTE_FAMILY_TARGET_BASE             # <<<<<<<<<<<<<<
 * 
 * #: Conditional node handle flags Default value is applied when graph is
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_COMPUTE_FAMILY_TARGET_BASE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_COMPUTE_FAMILY_TARGET_BASE, __pyx_t_3) < (0)) __PYX_ERR(0, 71, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":75
 * #: Conditional node handle flags Default value is applied when graph is
 * #: launched.
 * CU_GRAPH_COND_ASSIGN_DEFAULT = cydriver.CU_GRAPH_COND_ASSIGN_DEFAULT             # <<<<<<<<<<<<<<
 * 
 * #: This port activates when the kernel has finished executing.
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GRAPH_COND_ASSIGN_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_COND_ASSIGN_DEFAULT, __pyx_t_3) < (0)) __PYX_ERR(0, 75, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":78
 * 
 * #: This port activates when the kernel has finished executing.
 * CU_GRAPH_KERNEL_NODE_PORT_DEFAULT = cydriver.CU_GRAPH_KERNEL_NODE_PORT_DEFAULT             # <<<<<<<<<<<<<<
 * 
 * #: This port activates when all blocks of the kernel have performed
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GRAPH_KERNEL_NODE_PORT_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL, __pyx_t_3) < (0)) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":84
 * #: used with edge type :py:obj:`~.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC`.
 * #: See also :py:obj:`~.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT`.
 * CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC = cydriver.CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC             # <<<<<<<<<<<<<<
 * 
 * #: This port activates when all blocks of the kernel have begun execution.
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_PROGRA, __pyx_t_3) < (0)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":88
 * #: This port activates when all blocks of the kernel have begun execution.
 * #: See also :py:obj:`~.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT`.
 * CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = cydriver.CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH, __pyx_t_3) < (0)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":90
 * CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = cydriver.CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_ACCESS, __pyx_t_3) < (0)) __PYX_ERR(0, 90, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":92
 * CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = cydriver.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_COOPERA, __pyx_t_3) < (0)) __PYX_ERR(0, 92, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":94
 * CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = cydriver.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER, __pyx_t_3) < (0)) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":96
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = cydriver.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PRIORITY
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2, __pyx_t_3) < (0)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":98
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT, __pyx_t_3) < (0)) __PYX_ERR(0, 98, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":100
 * CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PRIORITY
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = cydriver.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN, __pyx_t_3) < (0)) __PYX_ERR(0, 100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":102
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = cydriver.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2, __pyx_t_3) < (0)) __PYX_ERR(0, 102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":104
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = cydriver.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PREFERR, __pyx_t_3) < (0)) __PYX_ERR(0, 104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":106
 * CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_DEVICE, __pyx_t_3) < (0)) __PYX_ERR(0, 106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":108
 * CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = cydriver.CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PREFERR_2, __pyx_t_3) < (0)) __PYX_ERR(0, 108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":110
 * CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = cydriver.CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_STREAM_ATTRIBUTE_ACCESS_POLIC, __pyx_t_3) < (0)) __PYX_ERR(0, 110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":112
 * CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW
 * 
 * CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = cydriver.CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_PRIORITY = cydriver.CU_STREAM_ATTRIBUTE_PRIORITY
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT, __pyx_t_3) < (0)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":114
 * CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = cydriver.CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY
 * 
 * CU_STREAM_ATTRIBUTE_PRIORITY = cydriver.CU_STREAM_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_STREAM_ATTRIBUTE_PRIORITY, __pyx_t_3) < (0)) __PYX_ERR(0, 114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":116
 * CU_STREAM_ATTRIBUTE_PRIORITY = cydriver.CU_STREAM_ATTRIBUTE_PRIORITY
 * 
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = cydriver.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_3) < (0)) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":118
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP
 * 
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = cydriver.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is portable between CUDA contexts. Flag for
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_t_3) < (0)) __PYX_ERR(0, 118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":122
 * #: If set, host memory is portable between CUDA contexts. Flag for
 * #: :py:obj:`~.cuMemHostAlloc()`
 * CU_MEMHOSTALLOC_PORTABLE = cydriver.CU_MEMHOSTALLOC_PORTABLE             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is mapped into CUDA address space and
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTALLOC_PORTABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEMHOSTALLOC_PORTABLE, __pyx_t_3) < (0)) __PYX_ERR(0, 122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":127
 * #: :py:obj:`~.cuMemHostGetDevicePointer()` may be called on the host
 * #: pointer. Flag for :py:obj:`~.cuMemHostAlloc()`
 * CU_MEMHOSTALLOC_DEVICEMAP = cydriver.CU_MEMHOSTALLOC_DEVICEMAP             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is allocated as write-combined - fast to write,
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTALLOC_DEVICEMAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEMHOSTALLOC_DEVICEMAP, __pyx_t_3) < (0)) __PYX_ERR(0, 127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":132
 * #: faster to DMA, slow to read except via SSE4 streaming load instruction
 * #: (MOVNTDQA). Flag for :py:obj:`~.cuMemHostAlloc()`
 * CU_MEMHOSTALLOC_WRITECOMBINED = cydriver.CU_MEMHOSTALLOC_WRITECOMBINED             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is portable between CUDA contexts. Flag for
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTALLOC_WRITECOMBINED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEMHOSTALLOC_WRITECOMBINED, __pyx_t_3) < (0)) __PYX_ERR(0, 132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":136
 * #: If set, host memory is portable between CUDA contexts. Flag for
 * #: :py:obj:`~.cuMemHostRegister()`
 * CU_MEMHOSTREGISTER_PORTABLE = cydriver.CU_MEMHOSTREGISTER_PORTABLE             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is mapped into CUDA address space and
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTREGISTER_PORTABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEMHOSTREGISTER_PORTABLE, __pyx_t_3) < (0)) __PYX_ERR(0, 136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":141
 * #: :py:obj:`~.cuMemHostGetDevicePointer()` may be called on the host
 * #: pointer. Flag for :py:obj:`~.cuMemHostRegister()`
 * CU_MEMHOSTREGISTER_DEVICEMAP = cydriver.CU_MEMHOSTREGISTER_DEVICEMAP             # <<<<<<<<<<<<<<
 * 
 * #: If set, the passed memory pointer is treated as pointing to some memory-
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTREGISTER_DEVICEMAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEMHOSTREGISTER_DEVICEMAP, __pyx_t_3) < (0)) __PYX_ERR(0, 141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":152
 * #: :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` is returned. Flag for
 * #: :py:obj:`~.cuMemHostRegister()`
 * CU_MEMHOSTREGISTER_IOMEMORY = cydriver.CU_MEMHOSTREGISTER_IOMEMORY             # <<<<<<<<<<<<<<
 * 
 * #: If set, the passed memory pointer is treated as pointing to memory that
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTREGISTER_IOMEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEMHOSTREGISTER_IOMEMORY, __pyx_t_3) < (0)) __PYX_ERR(0, 152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":164
 * #: have this attribute set will cause :py:obj:`~.cuMemHostRegister` to
 * #: error with :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`.
 * CU_MEMHOSTREGISTER_READ_ONLY = cydriver.CU_MEMHOSTREGISTER_READ_ONLY             # <<<<<<<<<<<<<<
 * 
 * #: Indicates that the layered sparse CUDA array or CUDA mipmapped array has
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEMHOSTREGISTER_READ_ONLY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEMHOSTREGISTER_READ_ONLY, __pyx_t_3) < (0)) __PYX_ERR(0, 164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":168
 * #: Indicates that the layered sparse CUDA array or CUDA mipmapped array has
 * #: a single mip tail region for all layers
 * CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = cydriver.CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL             # <<<<<<<<<<<<<<
 * 
 * #: Size of tensor map descriptor
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_ARRAY_SPARSE_PROPERTIES_SINGL, __pyx_t_3) < (0)) __PYX_ERR(0, 168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":171
 * 
 * #: Size of tensor map descriptor
 * CU_TENSOR_MAP_NUM_QWORDS = cydriver.CU_TENSOR_MAP_NUM_QWORDS             # <<<<<<<<<<<<<<
 * 
 * #: Indicates that the external memory object is a dedicated resource
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_TENSOR_MAP_NUM_QWORDS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_NUM_QWORDS, __pyx_t_3) < (0)) __PYX_ERR(0, 171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":174
 * 
 * #: Indicates that the external memory object is a dedicated resource
 * CUDA_EXTERNAL_MEMORY_DEDICATED = cydriver.CUDA_EXTERNAL_MEMORY_DEDICATED             # <<<<<<<<<<<<<<
 * 
 * #: When the `flags` parameter of
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_EXTERNAL_MEMORY_DEDICATED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_DEDICATED, __pyx_t_3) < (0)) __PYX_ERR(0, 174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":184
 * #: performed by default to ensure data coherency with other importers of
 * #: the same NvSciBuf memory objects.
 * CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC             # <<<<<<<<<<<<<<
 * 
 * #: When the `flags` parameter of
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S, __pyx_t_3) < (0)) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":194
 * #: performed by default to ensure data coherency with other importers of
 * #: the same NvSciBuf memory objects.
 * CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC             # <<<<<<<<<<<<<<
 * 
 * #: When `flags` of :py:obj:`~.cuDeviceGetNvSciSyncAttributes` is set to
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI, __pyx_t_3) < (0)) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":200
 * #: NvSciSyncAttr to be filled by
 * #: :py:obj:`~.cuDeviceGetNvSciSyncAttributes`.
 * CUDA_NVSCISYNC_ATTR_SIGNAL = cydriver.CUDA_NVSCISYNC_ATTR_SIGNAL             # <<<<<<<<<<<<<<
 * 
 * #: When `flags` of :py:obj:`~.cuDeviceGetNvSciSyncAttributes` is set to
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_NVSCISYNC_ATTR_SIGNAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_NVSCISYNC_ATTR_SIGNAL, __pyx_t_3) < (0)) __PYX_ERR(0, 200, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":205
 * #: this, it indicates that application needs waiter specific NvSciSyncAttr
 * #: to be filled by :py:obj:`~.cuDeviceGetNvSciSyncAttributes`.
 * CUDA_NVSCISYNC_ATTR_WAIT = cydriver.CUDA_NVSCISYNC_ATTR_WAIT             # <<<<<<<<<<<<<<
 * 
 * #: This flag if set indicates that the memory will be used as a tile pool.
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_NVSCISYNC_ATTR_WAIT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_NVSCISYNC_ATTR_WAIT, __pyx_t_3) < (0)) __PYX_ERR(0, 205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":208
 * 
 * #: This flag if set indicates that the memory will be used as a tile pool.
 * CU_MEM_CREATE_USAGE_TILE_POOL = cydriver.CU_MEM_CREATE_USAGE_TILE_POOL             # <<<<<<<<<<<<<<
 * 
 * #: This flag, if set, indicates that the memory will be used as a buffer
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEM_CREATE_USAGE_TILE_POOL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEM_CREATE_USAGE_TILE_POOL, __pyx_t_3) < (0)) __PYX_ERR(0, 208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":212
 * #: This flag, if set, indicates that the memory will be used as a buffer
 * #: for hardware accelerated decompression.
 * CU_MEM_CREATE_USAGE_HW_DECOMPRESS = cydriver.CU_MEM_CREATE_USAGE_HW_DECOMPRESS             # <<<<<<<<<<<<<<
 * 
 * #: This flag, if set, indicates that the memory will be used as a buffer
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEM_CREATE_USAGE_HW_DECOMPRESS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEM_CREATE_USAGE_HW_DECOMPRES, __pyx_t_3) < (0)) __PYX_ERR(0, 212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":216
 * #: This flag, if set, indicates that the memory will be used as a buffer
 * #: for hardware accelerated decompression.
 * CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS = cydriver.CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS             # <<<<<<<<<<<<<<
 * 
 * #: If set, each kernel launched as part of
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_MEM_POOL_CREATE_USAGE_HW_DECO, __pyx_t_3) < (0)) __PYX_ERR(0, 216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":222
 * #: work in the stream corresponding to that GPU to complete before the
 * #: kernel begins execution.
 * CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = cydriver.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC             # <<<<<<<<<<<<<<
 * 
 * #: If set, any subsequent work pushed in a stream that participated in a
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_COOPERATIVE_LAUNCH_MULTI_DE, __pyx_t_3) < (0)) __PYX_ERR(0, 222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":228
 * #: for the kernel launched on the GPU corresponding to that stream to
 * #: complete before it begins execution.
 * CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = cydriver.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC             # <<<<<<<<<<<<<<
 * 
 * #: If set, the CUDA array is a collection of layers, where each layer is
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2, __pyx_t_3) < (0)) __PYX_ERR(0, 228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":234
 * #: CUDA_ARRAY3D_DESCRIPTOR specifies the number of layers, not the depth of
 * #: a 3D array.
 * CUDA_ARRAY3D_LAYERED = cydriver.CUDA_ARRAY3D_LAYERED             # <<<<<<<<<<<<<<
 * 
 * #: Deprecated, use CUDA_ARRAY3D_LAYERED
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_LAYERED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_LAYERED, __pyx_t_3) < (0)) __PYX_ERR(0, 234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":237
 * 
 * #: Deprecated, use CUDA_ARRAY3D_LAYERED
 * CUDA_ARRAY3D_2DARRAY = cydriver.CUDA_ARRAY3D_2DARRAY             # <<<<<<<<<<<<<<
 * 
 * #: This flag must be set in order to bind a surface reference to the CUDA
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_2DARRAY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_2DARRAY, __pyx_t_3) < (0)) __PYX_ERR(0, 237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":241
 * #: This flag must be set in order to bind a surface reference to the CUDA
 * #: array
 * CUDA_ARRAY3D_SURFACE_LDST = cydriver.CUDA_ARRAY3D_SURFACE_LDST             # <<<<<<<<<<<<<<
 * 
 * #: If set, the CUDA array is a collection of six 2D arrays, representing
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_SURFACE_LDST); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_SURFACE_LDST, __pyx_t_3) < (0)) __PYX_ERR(0, 241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":248
 * #: is also set, then the CUDA array is a collection of cubemaps and Depth
 * #: must be a multiple of six.
 * CUDA_ARRAY3D_CUBEMAP = cydriver.CUDA_ARRAY3D_CUBEMAP             # <<<<<<<<<<<<<<
 * 
 * #: This flag must be set in order to perform texture gather operations on a
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_CUBEMAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_CUBEMAP, __pyx_t_3) < (0)) __PYX_ERR(0, 248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":252
 * #: This flag must be set in order to perform texture gather operations on a
 * #: CUDA array.
 * CUDA_ARRAY3D_TEXTURE_GATHER = cydriver.CUDA_ARRAY3D_TEXTURE_GATHER             # <<<<<<<<<<<<<<
 * 
 * #: This flag if set indicates that the CUDA array is a DEPTH_TEXTURE.
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_TEXTURE_GATHER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_TEXTURE_GATHER, __pyx_t_3) < (0)) __PYX_ERR(0, 252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":255
 * 
 * #: This flag if set indicates that the CUDA array is a DEPTH_TEXTURE.
 * CUDA_ARRAY3D_DEPTH_TEXTURE = cydriver.CUDA_ARRAY3D_DEPTH_TEXTURE             # <<<<<<<<<<<<<<
 * 
 * #: This flag indicates that the CUDA array may be bound as a color target
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_DEPTH_TEXTURE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_DEPTH_TEXTURE, __pyx_t_3) < (0)) __PYX_ERR(0, 255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":259
 * #: This flag indicates that the CUDA array may be bound as a color target
 * #: in an external graphics API
 * CUDA_ARRAY3D_COLOR_ATTACHMENT = cydriver.CUDA_ARRAY3D_COLOR_ATTACHMENT             # <<<<<<<<<<<<<<
 * 
 * #: This flag if set indicates that the CUDA array or CUDA mipmapped array
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_COLOR_ATTACHMENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_COLOR_ATTACHMENT, __pyx_t_3) < (0)) __PYX_ERR(0, 259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":263
 * #: This flag if set indicates that the CUDA array or CUDA mipmapped array
 * #: is a sparse CUDA array or CUDA mipmapped array respectively
 * CUDA_ARRAY3D_SPARSE = cydriver.CUDA_ARRAY3D_SPARSE             # <<<<<<<<<<<<<<
 * 
 * #: This flag if set indicates that the CUDA array or CUDA mipmapped array
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_SPARSE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_SPARSE, __pyx_t_3) < (0)) __PYX_ERR(0, 263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":267
 * #: This flag if set indicates that the CUDA array or CUDA mipmapped array
 * #: will allow deferred memory mapping
 * CUDA_ARRAY3D_DEFERRED_MAPPING = cydriver.CUDA_ARRAY3D_DEFERRED_MAPPING             # <<<<<<<<<<<<<<
 * 
 * #: This flag indicates that the CUDA array will be used for hardware
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_DEFERRED_MAPPING); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_DEFERRED_MAPPING, __pyx_t_3) < (0)) __PYX_ERR(0, 267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":271
 * #: This flag indicates that the CUDA array will be used for hardware
 * #: accelerated video encode/decode operations.
 * CUDA_ARRAY3D_VIDEO_ENCODE_DECODE = cydriver.CUDA_ARRAY3D_VIDEO_ENCODE_DECODE             # <<<<<<<<<<<<<<
 * 
 * #: Override the texref format with a format inferred from the array. Flag
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE, __pyx_t_3) < (0)) __PYX_ERR(0, 271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":275
 * #: Override the texref format with a format inferred from the array. Flag
 * #: for :py:obj:`~.cuTexRefSetArray()`
 * CU_TRSA_OVERRIDE_FORMAT = cydriver.CU_TRSA_OVERRIDE_FORMAT             # <<<<<<<<<<<<<<
 * 
 * #: Read the texture as integers rather than promoting the values to floats
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_TRSA_OVERRIDE_FORMAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_TRSA_OVERRIDE_FORMAT, __pyx_t_3) < (0)) __PYX_ERR(0, 275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":280
 * #: in the range [0,1]. Flag for :py:obj:`~.cuTexRefSetFlags()` and
 * #: :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_READ_AS_INTEGER = cydriver.CU_TRSF_READ_AS_INTEGER             # <<<<<<<<<<<<<<
 * 
 * #: Use normalized texture coordinates in the range [0,1) instead of
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_READ_AS_INTEGER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_TRSF_READ_AS_INTEGER, __pyx_t_3) < (0)) __PYX_ERR(0, 280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":285
 * #: [0,dim). Flag for :py:obj:`~.cuTexRefSetFlags()` and
 * #: :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_NORMALIZED_COORDINATES = cydriver.CU_TRSF_NORMALIZED_COORDINATES             # <<<<<<<<<<<<<<
 * 
 * #: Perform sRGB->linear conversion during texture read. Flag for
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_NORMALIZED_COORDINATES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_TRSF_NORMALIZED_COORDINATES, __pyx_t_3) < (0)) __PYX_ERR(0, 285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":289
 * #: Perform sRGB->linear conversion during texture read. Flag for
 * #: :py:obj:`~.cuTexRefSetFlags()` and :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_SRGB = cydriver.CU_TRSF_SRGB             # <<<<<<<<<<<<<<
 * 
 * #: Disable any trilinear filtering optimizations. Flag for
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_SRGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_TRSF_SRGB, __pyx_t_3) < (0)) __PYX_ERR(0, 289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":293
 * #: Disable any trilinear filtering optimizations. Flag for
 * #: :py:obj:`~.cuTexRefSetFlags()` and :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = cydriver.CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION             # <<<<<<<<<<<<<<
 * 
 * #: Enable seamless cube map filtering. Flag for
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_TRSF_DISABLE_TRILINEAR_OPTIMI, __pyx_t_3) < (0)) __PYX_ERR(0, 293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":297
 * #: Enable seamless cube map filtering. Flag for
 * #: :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_SEAMLESS_CUBEMAP = cydriver.CU_TRSF_SEAMLESS_CUBEMAP             # <<<<<<<<<<<<<<
 * 
 * #: Launch with the required block dimension.
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_TRSF_SEAMLESS_CUBEMAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_TRSF_SEAMLESS_CUBEMAP, __pyx_t_3) < (0)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":300
 * 
 * #: Launch with the required block dimension.
 * CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM = cydriver.CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM             # <<<<<<<<<<<<<<
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_END
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_KERNEL_REQUIRED_BLOCK, __pyx_t_3) < (0)) __PYX_ERR(0, 300, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":303
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_END
 * CU_LAUNCH_PARAM_END_AS_INT = cydriver.CU_LAUNCH_PARAM_END_AS_INT             # <<<<<<<<<<<<<<
 * 
 * #: End of array terminator for the `extra` parameter to
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_END_AS_INT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_PARAM_END_AS_INT, __pyx_t_3) < (0)) __PYX_ERR(0, 303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":307
 * #: End of array terminator for the `extra` parameter to
 * #: :py:obj:`~.cuLaunchKernel`
 * CU_LAUNCH_PARAM_END = cydriver.CU_LAUNCH_PARAM_END             # <<<<<<<<<<<<<<
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_POINTER
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_END); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_PARAM_END, __pyx_t_3) < (0)) __PYX_ERR(0, 307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":310
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_POINTER
 * CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT = cydriver.CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT             # <<<<<<<<<<<<<<
 * 
 * #: Indicator that the next value in the `extra` parameter to
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_PARAM_BUFFER_POINTER_A, __pyx_t_3) < (0)) __PYX_ERR(0, 310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":319
 * #: `extra` array, then :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_POINTER` will have
 * #: no effect.
 * CU_LAUNCH_PARAM_BUFFER_POINTER = cydriver.CU_LAUNCH_PARAM_BUFFER_POINTER             # <<<<<<<<<<<<<<
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_SIZE
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_BUFFER_POINTER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_PARAM_BUFFER_POINTER, __pyx_t_3) < (0)) __PYX_ERR(0, 319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":322
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_SIZE
 * CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT = cydriver.CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT             # <<<<<<<<<<<<<<
 * 
 * #: Indicator that the next value in the `extra` parameter to
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I, __pyx_t_3) < (0)) __PYX_ERR(0, 322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":331
 * #: `extra` array if the value associated with
 * #: :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_SIZE` is not zero.
 * CU_LAUNCH_PARAM_BUFFER_SIZE = cydriver.CU_LAUNCH_PARAM_BUFFER_SIZE             # <<<<<<<<<<<<<<
 * 
 * #: For texture references loaded into the module, use default texunit from
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_LAUNCH_PARAM_BUFFER_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_PARAM_BUFFER_SIZE, __pyx_t_3) < (0)) __PYX_ERR(0, 331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":335
 * #: For texture references loaded into the module, use default texunit from
 * #: texture reference.
 * CU_PARAM_TR_DEFAULT = cydriver.CU_PARAM_TR_DEFAULT             # <<<<<<<<<<<<<<
 * 
 * #: Device that represents the CPU
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_PARAM_TR_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_PARAM_TR_DEFAULT, __pyx_t_3) < (0)) __PYX_ERR(0, 335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":338
 * 
 * #: Device that represents the CPU
 * CU_DEVICE_CPU = cydriver.CU_DEVICE_CPU             # <<<<<<<<<<<<<<
 * 
 * #: Device that represents an invalid device
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_DEVICE_CPU); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_CPU, __pyx_t_3) < (0)) __PYX_ERR(0, 338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":341
 * 
 * #: Device that represents an invalid device
 * CU_DEVICE_INVALID = cydriver.CU_DEVICE_INVALID             # <<<<<<<<<<<<<<
 * 
 * RESOURCE_ABI_VERSION = cydriver.RESOURCE_ABI_VERSION
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_DEVICE_INVALID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_INVALID, __pyx_t_3) < (0)) __PYX_ERR(0, 341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":343
 * CU_DEVICE_INVALID = cydriver.CU_DEVICE_INVALID
 * 
 * RESOURCE_ABI_VERSION = cydriver.RESOURCE_ABI_VERSION             # <<<<<<<<<<<<<<
 * 
 * RESOURCE_ABI_EXTERNAL_BYTES = cydriver.RESOURCE_ABI_EXTERNAL_BYTES
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_RESOURCE_ABI_VERSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_RESOURCE_ABI_VERSION, __pyx_t_3) < (0)) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":345
 * RESOURCE_ABI_VERSION = cydriver.RESOURCE_ABI_VERSION
 * 
 * RESOURCE_ABI_EXTERNAL_BYTES = cydriver.RESOURCE_ABI_EXTERNAL_BYTES             # <<<<<<<<<<<<<<
 * 
 * #: Maximum number of planes per frame
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_RESOURCE_ABI_EXTERNAL_BYTES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_RESOURCE_ABI_EXTERNAL_BYTES, __pyx_t_3) < (0)) __PYX_ERR(0, 345, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":348
 * 
 * #: Maximum number of planes per frame
 * MAX_PLANES = cydriver.MAX_PLANES             # <<<<<<<<<<<<<<
 * 
 * #: Indicates that timeout for :py:obj:`~.cuEGLStreamConsumerAcquireFrame`
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_MAX_PLANES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MAX_PLANES, __pyx_t_3) < (0)) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":352
 * #: Indicates that timeout for :py:obj:`~.cuEGLStreamConsumerAcquireFrame`
 * #: is infinite.
 * CUDA_EGL_INFINITE_TIMEOUT = cydriver.CUDA_EGL_INFINITE_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 * class CUipcMem_flags(IntEnum):
*/
  __pyx_t_3 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_4cuda_8bindings_8cydriver_CUDA_EGL_INFINITE_TIMEOUT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_EGL_INFINITE_TIMEOUT, __pyx_t_3) < (0)) __PYX_ERR(0, 352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":354
 * CUDA_EGL_INFINITE_TIMEOUT = cydriver.CUDA_EGL_INFINITE_TIMEOUT
 * 
 * class CUipcMem_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Ipc Mem Flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUipcMem_flags, __pyx_mstate_global->__pyx_n_u_CUipcMem_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_Ipc_Mem_Flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 354, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":360
 * 
 *     #: Automatically enable peer access between remote devices as needed
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = cydriver.CUipcMem_flags_enum.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS             # <<<<<<<<<<<<<<
 * 
 * _dict_CUipcMem_flags = dict(((int(v), v) for k, v in CUipcMem_flags.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUipcMem_flags_enum(CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE, __pyx_t_16) < (0)) __PYX_ERR(0, 360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":354
 * CUDA_EGL_INFINITE_TIMEOUT = cydriver.CUDA_EGL_INFINITE_TIMEOUT
 * 
 * class CUipcMem_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Ipc Mem Flags
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUipcMem_flags, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUipcMem_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":362
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = cydriver.CUipcMem_flags_enum.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS
 * 
 * _dict_CUipcMem_flags = dict(((int(v), v) for k, v in CUipcMem_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAttach_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUipcMem_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_948genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUipcMem_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":364
 * _dict_CUipcMem_flags = dict(((int(v), v) for k, v in CUipcMem_flags.__members__.items()))
 * 
 * class CUmemAttach_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Mem Attach Flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemAttach_flags, __pyx_mstate_global->__pyx_n_u_CUmemAttach_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_Mem_Attach_Flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 364, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":370
 * 
 *     #: Memory can be accessed by any stream on any device
 *     CU_MEM_ATTACH_GLOBAL = cydriver.CUmemAttach_flags_enum.CU_MEM_ATTACH_GLOBAL             # <<<<<<<<<<<<<<
 * 
 *     #: Memory cannot be accessed by any stream on any device
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemAttach_flags_enum(CU_MEM_ATTACH_GLOBAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_ATTACH_GLOBAL, __pyx_t_3) < (0)) __PYX_ERR(0, 370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":373
 * 
 *     #: Memory cannot be accessed by any stream on any device
 *     CU_MEM_ATTACH_HOST = cydriver.CUmemAttach_flags_enum.CU_MEM_ATTACH_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Memory can only be accessed by a single stream on the associated
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemAttach_flags_enum(CU_MEM_ATTACH_HOST); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_ATTACH_HOST, __pyx_t_3) < (0)) __PYX_ERR(0, 373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":377
 *     #: Memory can only be accessed by a single stream on the associated
 *     #: device
 *     CU_MEM_ATTACH_SINGLE = cydriver.CUmemAttach_flags_enum.CU_MEM_ATTACH_SINGLE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemAttach_flags = dict(((int(v), v) for k, v in CUmemAttach_flags.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemAttach_flags_enum(CU_MEM_ATTACH_SINGLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_ATTACH_SINGLE, __pyx_t_3) < (0)) __PYX_ERR(0, 377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":364
 * _dict_CUipcMem_flags = dict(((int(v), v) for k, v in CUipcMem_flags.__members__.items()))
 * 
 * class CUmemAttach_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Mem Attach Flags
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemAttach_flags, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemAttach_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":379
 *     CU_MEM_ATTACH_SINGLE = cydriver.CUmemAttach_flags_enum.CU_MEM_ATTACH_SINGLE
 * 
 * _dict_CUmemAttach_flags = dict(((int(v), v) for k, v in CUmemAttach_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUctx_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemAttach_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_951genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemAttach_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":381
 * _dict_CUmemAttach_flags = dict(((int(v), v) for k, v in CUmemAttach_flags.__members__.items()))
 * 
 * class CUctx_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Context creation flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUctx_flags, __pyx_mstate_global->__pyx_n_u_CUctx_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Context_creation_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 381, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":387
 * 
 *     #: Automatic scheduling
 *     CU_CTX_SCHED_AUTO = cydriver.CUctx_flags_enum.CU_CTX_SCHED_AUTO             # <<<<<<<<<<<<<<
 * 
 *     #: Set spin as default scheduling
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_SCHED_AUTO); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_SCHED_AUTO, __pyx_t_18) < (0)) __PYX_ERR(0, 387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":390
 * 
 *     #: Set spin as default scheduling
 *     CU_CTX_SCHED_SPIN = cydriver.CUctx_flags_enum.CU_CTX_SCHED_SPIN             # <<<<<<<<<<<<<<
 * 
 *     #: Set yield as default scheduling
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_SCHED_SPIN); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_SCHED_SPIN, __pyx_t_18) < (0)) __PYX_ERR(0, 390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":393
 * 
 *     #: Set yield as default scheduling
 *     CU_CTX_SCHED_YIELD = cydriver.CUctx_flags_enum.CU_CTX_SCHED_YIELD             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_SCHED_YIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_SCHED_YIELD, __pyx_t_18) < (0)) __PYX_ERR(0, 393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":396
 * 
 *     #: Set blocking synchronization as default scheduling
 *     CU_CTX_SCHED_BLOCKING_SYNC = cydriver.CUctx_flags_enum.CU_CTX_SCHED_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_SCHED_BLOCKING_SYNC); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_SCHED_BLOCKING_SYNC, __pyx_t_18) < (0)) __PYX_ERR(0, 396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":399
 * 
 *     #: Set blocking synchronization as default scheduling [Deprecated]
 *     CU_CTX_BLOCKING_SYNC = cydriver.CUctx_flags_enum.CU_CTX_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 *     CU_CTX_SCHED_MASK = cydriver.CUctx_flags_enum.CU_CTX_SCHED_MASK
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_BLOCKING_SYNC); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_BLOCKING_SYNC, __pyx_t_18) < (0)) __PYX_ERR(0, 399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":400
 *     #: Set blocking synchronization as default scheduling [Deprecated]
 *     CU_CTX_BLOCKING_SYNC = cydriver.CUctx_flags_enum.CU_CTX_BLOCKING_SYNC
 *     CU_CTX_SCHED_MASK = cydriver.CUctx_flags_enum.CU_CTX_SCHED_MASK             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_SCHED_MASK); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_SCHED_MASK, __pyx_t_18) < (0)) __PYX_ERR(0, 400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":403
 * 
 *     #: [Deprecated]
 *     CU_CTX_MAP_HOST = cydriver.CUctx_flags_enum.CU_CTX_MAP_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Keep local memory allocation after launch
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_MAP_HOST); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_MAP_HOST, __pyx_t_18) < (0)) __PYX_ERR(0, 403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":406
 * 
 *     #: Keep local memory allocation after launch
 *     CU_CTX_LMEM_RESIZE_TO_MAX = cydriver.CUctx_flags_enum.CU_CTX_LMEM_RESIZE_TO_MAX             # <<<<<<<<<<<<<<
 * 
 *     #: Trigger coredumps from exceptions in this context
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_LMEM_RESIZE_TO_MAX); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_LMEM_RESIZE_TO_MAX, __pyx_t_18) < (0)) __PYX_ERR(0, 406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":409
 * 
 *     #: Trigger coredumps from exceptions in this context
 *     CU_CTX_COREDUMP_ENABLE = cydriver.CUctx_flags_enum.CU_CTX_COREDUMP_ENABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Enable user pipe to trigger coredumps in this context
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_COREDUMP_ENABLE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_COREDUMP_ENABLE, __pyx_t_18) < (0)) __PYX_ERR(0, 409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":412
 * 
 *     #: Enable user pipe to trigger coredumps in this context
 *     CU_CTX_USER_COREDUMP_ENABLE = cydriver.CUctx_flags_enum.CU_CTX_USER_COREDUMP_ENABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Ensure synchronous memory operations on this context will
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_USER_COREDUMP_ENABLE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_USER_COREDUMP_ENABLE, __pyx_t_18) < (0)) __PYX_ERR(0, 412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":416
 *     #: Ensure synchronous memory operations on this context will
 *     #: synchronize
 *     CU_CTX_SYNC_MEMOPS = cydriver.CUctx_flags_enum.CU_CTX_SYNC_MEMOPS             # <<<<<<<<<<<<<<
 *     CU_CTX_FLAGS_MASK = cydriver.CUctx_flags_enum.CU_CTX_FLAGS_MASK
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_SYNC_MEMOPS); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_SYNC_MEMOPS, __pyx_t_18) < (0)) __PYX_ERR(0, 416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":417
 *     #: synchronize
 *     CU_CTX_SYNC_MEMOPS = cydriver.CUctx_flags_enum.CU_CTX_SYNC_MEMOPS
 *     CU_CTX_FLAGS_MASK = cydriver.CUctx_flags_enum.CU_CTX_FLAGS_MASK             # <<<<<<<<<<<<<<
 * 
 * _dict_CUctx_flags = dict(((int(v), v) for k, v in CUctx_flags.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUctx_flags_enum(CU_CTX_FLAGS_MASK); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CTX_FLAGS_MASK, __pyx_t_18) < (0)) __PYX_ERR(0, 417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":381
 * _dict_CUmemAttach_flags = dict(((int(v), v) for k, v in CUmemAttach_flags.__members__.items()))
 * 
 * class CUctx_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Context creation flags
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUctx_flags, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUctx_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":419
 *     CU_CTX_FLAGS_MASK = cydriver.CUctx_flags_enum.CU_CTX_FLAGS_MASK
 * 
 * _dict_CUctx_flags = dict(((int(v), v) for k, v in CUctx_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_sched_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUctx_flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_954genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUctx_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":421
 * _dict_CUctx_flags = dict(((int(v), v) for k, v in CUctx_flags.__members__.items()))
 * 
 * class CUevent_sched_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event sched flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUevent_sched_flags, __pyx_mstate_global->__pyx_n_u_CUevent_sched_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Event_sched_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 421, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":427
 * 
 *     #: Automatic scheduling
 *     CU_EVENT_SCHED_AUTO = cydriver.CUevent_sched_flags_enum.CU_EVENT_SCHED_AUTO             # <<<<<<<<<<<<<<
 * 
 *     #: Set spin as default scheduling
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUevent_sched_flags_enum(CU_EVENT_SCHED_AUTO); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EVENT_SCHED_AUTO, __pyx_t_17) < (0)) __PYX_ERR(0, 427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":430
 * 
 *     #: Set spin as default scheduling
 *     CU_EVENT_SCHED_SPIN = cydriver.CUevent_sched_flags_enum.CU_EVENT_SCHED_SPIN             # <<<<<<<<<<<<<<
 * 
 *     #: Set yield as default scheduling
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUevent_sched_flags_enum(CU_EVENT_SCHED_SPIN); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EVENT_SCHED_SPIN, __pyx_t_17) < (0)) __PYX_ERR(0, 430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":433
 * 
 *     #: Set yield as default scheduling
 *     CU_EVENT_SCHED_YIELD = cydriver.CUevent_sched_flags_enum.CU_EVENT_SCHED_YIELD             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUevent_sched_flags_enum(CU_EVENT_SCHED_YIELD); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EVENT_SCHED_YIELD, __pyx_t_17) < (0)) __PYX_ERR(0, 433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":436
 * 
 *     #: Set blocking synchronization as default scheduling
 *     CU_EVENT_SCHED_BLOCKING_SYNC = cydriver.CUevent_sched_flags_enum.CU_EVENT_SCHED_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 * _dict_CUevent_sched_flags = dict(((int(v), v) for k, v in CUevent_sched_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUevent_sched_flags_enum(CU_EVENT_SCHED_BLOCKING_SYNC); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EVENT_SCHED_BLOCKING_SYNC, __pyx_t_17) < (0)) __PYX_ERR(0, 436, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":421
 * _dict_CUctx_flags = dict(((int(v), v) for k, v in CUctx_flags.__members__.items()))
 * 
 * class CUevent_sched_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event sched flags
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUevent_sched_flags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUevent_sched_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":438
 *     CU_EVENT_SCHED_BLOCKING_SYNC = cydriver.CUevent_sched_flags_enum.CU_EVENT_SCHED_BLOCKING_SYNC
 * 
 * _dict_CUevent_sched_flags = dict(((int(v), v) for k, v in CUevent_sched_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class cl_event_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUevent_sched_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_957genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUevent_sched_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":440
 * _dict_CUevent_sched_flags = dict(((int(v), v) for k, v in CUevent_sched_flags.__members__.items()))
 * 
 * class cl_event_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     NVCL event scheduling flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_cl_event_flags, __pyx_mstate_global->__pyx_n_u_cl_event_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_NVCL_event_scheduling_flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 440, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":446
 * 
 *     #: Automatic scheduling
 *     NVCL_EVENT_SCHED_AUTO = cydriver.cl_event_flags_enum.NVCL_EVENT_SCHED_AUTO             # <<<<<<<<<<<<<<
 * 
 *     #: Set spin as default scheduling
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cl_event_flags_enum(NVCL_EVENT_SCHED_AUTO); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_NVCL_EVENT_SCHED_AUTO, __pyx_t_16) < (0)) __PYX_ERR(0, 446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":449
 * 
 *     #: Set spin as default scheduling
 *     NVCL_EVENT_SCHED_SPIN = cydriver.cl_event_flags_enum.NVCL_EVENT_SCHED_SPIN             # <<<<<<<<<<<<<<
 * 
 *     #: Set yield as default scheduling
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cl_event_flags_enum(NVCL_EVENT_SCHED_SPIN); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_NVCL_EVENT_SCHED_SPIN, __pyx_t_16) < (0)) __PYX_ERR(0, 449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":452
 * 
 *     #: Set yield as default scheduling
 *     NVCL_EVENT_SCHED_YIELD = cydriver.cl_event_flags_enum.NVCL_EVENT_SCHED_YIELD             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cl_event_flags_enum(NVCL_EVENT_SCHED_YIELD); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_NVCL_EVENT_SCHED_YIELD, __pyx_t_16) < (0)) __PYX_ERR(0, 452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":455
 * 
 *     #: Set blocking synchronization as default scheduling
 *     NVCL_EVENT_SCHED_BLOCKING_SYNC = cydriver.cl_event_flags_enum.NVCL_EVENT_SCHED_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 * _dict_cl_event_flags = dict(((int(v), v) for k, v in cl_event_flags.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cl_event_flags_enum(NVCL_EVENT_SCHED_BLOCKING_SYNC); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_NVCL_EVENT_SCHED_BLOCKING_SYNC, __pyx_t_16) < (0)) __PYX_ERR(0, 455, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":440
 * _dict_CUevent_sched_flags = dict(((int(v), v) for k, v in CUevent_sched_flags.__members__.items()))
 * 
 * class cl_event_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     NVCL event scheduling flags
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_cl_event_flags, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cl_event_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":457
 *     NVCL_EVENT_SCHED_BLOCKING_SYNC = cydriver.cl_event_flags_enum.NVCL_EVENT_SCHED_BLOCKING_SYNC
 * 
 * _dict_cl_event_flags = dict(((int(v), v) for k, v in cl_event_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class cl_context_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cl_event_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_960genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_cl_event_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":459
 * _dict_cl_event_flags = dict(((int(v), v) for k, v in cl_event_flags.__members__.items()))
 * 
 * class cl_context_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     NVCL context scheduling flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_cl_context_flags, __pyx_mstate_global->__pyx_n_u_cl_context_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_NVCL_context_scheduling_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 459, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":465
 * 
 *     #: Automatic scheduling
 *     NVCL_CTX_SCHED_AUTO = cydriver.cl_context_flags_enum.NVCL_CTX_SCHED_AUTO             # <<<<<<<<<<<<<<
 * 
 *     #: Set spin as default scheduling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__cl_context_flags_enum(NVCL_CTX_SCHED_AUTO); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_NVCL_CTX_SCHED_AUTO, __pyx_t_3) < (0)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":468
 * 
 *     #: Set spin as default scheduling
 *     NVCL_CTX_SCHED_SPIN = cydriver.cl_context_flags_enum.NVCL_CTX_SCHED_SPIN             # <<<<<<<<<<<<<<
 * 
 *     #: Set yield as default scheduling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__cl_context_flags_enum(NVCL_CTX_SCHED_SPIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_NVCL_CTX_SCHED_SPIN, __pyx_t_3) < (0)) __PYX_ERR(0, 468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":471
 * 
 *     #: Set yield as default scheduling
 *     NVCL_CTX_SCHED_YIELD = cydriver.cl_context_flags_enum.NVCL_CTX_SCHED_YIELD             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__cl_context_flags_enum(NVCL_CTX_SCHED_YIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_NVCL_CTX_SCHED_YIELD, __pyx_t_3) < (0)) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":474
 * 
 *     #: Set blocking synchronization as default scheduling
 *     NVCL_CTX_SCHED_BLOCKING_SYNC = cydriver.cl_context_flags_enum.NVCL_CTX_SCHED_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 * _dict_cl_context_flags = dict(((int(v), v) for k, v in cl_context_flags.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__cl_context_flags_enum(NVCL_CTX_SCHED_BLOCKING_SYNC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_NVCL_CTX_SCHED_BLOCKING_SYNC, __pyx_t_3) < (0)) __PYX_ERR(0, 474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":459
 * _dict_cl_event_flags = dict(((int(v), v) for k, v in cl_event_flags.__members__.items()))
 * 
 * class cl_context_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     NVCL context scheduling flags
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_cl_context_flags, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cl_context_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":476
 *     NVCL_CTX_SCHED_BLOCKING_SYNC = cydriver.cl_context_flags_enum.NVCL_CTX_SCHED_BLOCKING_SYNC
 * 
 * _dict_cl_context_flags = dict(((int(v), v) for k, v in cl_context_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstream_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_cl_context_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_963genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_cl_context_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":478
 * _dict_cl_context_flags = dict(((int(v), v) for k, v in cl_context_flags.__members__.items()))
 * 
 * class CUstream_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Stream creation flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstream_flags, __pyx_mstate_global->__pyx_n_u_CUstream_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Stream_creation_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 478, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":484
 * 
 *     #: Default stream flag
 *     CU_STREAM_DEFAULT = cydriver.CUstream_flags_enum.CU_STREAM_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Stream does not synchronize with stream 0 (the NULL stream)
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstream_flags_enum(CU_STREAM_DEFAULT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_DEFAULT, __pyx_t_18) < (0)) __PYX_ERR(0, 484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":487
 * 
 *     #: Stream does not synchronize with stream 0 (the NULL stream)
 *     CU_STREAM_NON_BLOCKING = cydriver.CUstream_flags_enum.CU_STREAM_NON_BLOCKING             # <<<<<<<<<<<<<<
 * 
 * _dict_CUstream_flags = dict(((int(v), v) for k, v in CUstream_flags.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstream_flags_enum(CU_STREAM_NON_BLOCKING); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_NON_BLOCKING, __pyx_t_18) < (0)) __PYX_ERR(0, 487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":478
 * _dict_cl_context_flags = dict(((int(v), v) for k, v in cl_context_flags.__members__.items()))
 * 
 * class CUstream_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Stream creation flags
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUstream_flags, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstream_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":489
 *     CU_STREAM_NON_BLOCKING = cydriver.CUstream_flags_enum.CU_STREAM_NON_BLOCKING
 * 
 * _dict_CUstream_flags = dict(((int(v), v) for k, v in CUstream_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstream_flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_966genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUstream_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":491
 * _dict_CUstream_flags = dict(((int(v), v) for k, v in CUstream_flags.__members__.items()))
 * 
 * class CUevent_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event creation flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUevent_flags, __pyx_mstate_global->__pyx_n_u_CUevent_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Event_creation_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 491, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":497
 * 
 *     #: Default event flag
 *     CU_EVENT_DEFAULT = cydriver.CUevent_flags_enum.CU_EVENT_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Event uses blocking synchronization
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUevent_flags_enum(CU_EVENT_DEFAULT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EVENT_DEFAULT, __pyx_t_17) < (0)) __PYX_ERR(0, 497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":500
 * 
 *     #: Event uses blocking synchronization
 *     CU_EVENT_BLOCKING_SYNC = cydriver.CUevent_flags_enum.CU_EVENT_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 *     #: Event will not record timing data
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUevent_flags_enum(CU_EVENT_BLOCKING_SYNC); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EVENT_BLOCKING_SYNC, __pyx_t_17) < (0)) __PYX_ERR(0, 500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":503
 * 
 *     #: Event will not record timing data
 *     CU_EVENT_DISABLE_TIMING = cydriver.CUevent_flags_enum.CU_EVENT_DISABLE_TIMING             # <<<<<<<<<<<<<<
 * 
 *     #: Event is suitable for interprocess use. CU_EVENT_DISABLE_TIMING must
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUevent_flags_enum(CU_EVENT_DISABLE_TIMING); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EVENT_DISABLE_TIMING, __pyx_t_17) < (0)) __PYX_ERR(0, 503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":507
 *     #: Event is suitable for interprocess use. CU_EVENT_DISABLE_TIMING must
 *     #: be set
 *     CU_EVENT_INTERPROCESS = cydriver.CUevent_flags_enum.CU_EVENT_INTERPROCESS             # <<<<<<<<<<<<<<
 * 
 * _dict_CUevent_flags = dict(((int(v), v) for k, v in CUevent_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUevent_flags_enum(CU_EVENT_INTERPROCESS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EVENT_INTERPROCESS, __pyx_t_17) < (0)) __PYX_ERR(0, 507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":491
 * _dict_CUstream_flags = dict(((int(v), v) for k, v in CUstream_flags.__members__.items()))
 * 
 * class CUevent_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event creation flags
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUevent_flags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUevent_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":509
 *     CU_EVENT_INTERPROCESS = cydriver.CUevent_flags_enum.CU_EVENT_INTERPROCESS
 * 
 * _dict_CUevent_flags = dict(((int(v), v) for k, v in CUevent_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_record_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUevent_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_969genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUevent_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":511
 * _dict_CUevent_flags = dict(((int(v), v) for k, v in CUevent_flags.__members__.items()))
 * 
 * class CUevent_record_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event record flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUevent_record_flags, __pyx_mstate_global->__pyx_n_u_CUevent_record_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Event_record_flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 511, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":517
 * 
 *     #: Default event record flag
 *     CU_EVENT_RECORD_DEFAULT = cydriver.CUevent_record_flags_enum.CU_EVENT_RECORD_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: When using stream capture, create an event record node instead of
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUevent_record_flags_enum(CU_EVENT_RECORD_DEFAULT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_EVENT_RECORD_DEFAULT, __pyx_t_16) < (0)) __PYX_ERR(0, 517, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":522
 *     #: the default behavior. This flag is invalid when used outside of
 *     #: capture.
 *     CU_EVENT_RECORD_EXTERNAL = cydriver.CUevent_record_flags_enum.CU_EVENT_RECORD_EXTERNAL             # <<<<<<<<<<<<<<
 * 
 * _dict_CUevent_record_flags = dict(((int(v), v) for k, v in CUevent_record_flags.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUevent_record_flags_enum(CU_EVENT_RECORD_EXTERNAL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_EVENT_RECORD_EXTERNAL, __pyx_t_16) < (0)) __PYX_ERR(0, 522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":511
 * _dict_CUevent_flags = dict(((int(v), v) for k, v in CUevent_flags.__members__.items()))
 * 
 * class CUevent_record_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event record flags
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUevent_record_flags, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUevent_record_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":524
 *     CU_EVENT_RECORD_EXTERNAL = cydriver.CUevent_record_flags_enum.CU_EVENT_RECORD_EXTERNAL
 * 
 * _dict_CUevent_record_flags = dict(((int(v), v) for k, v in CUevent_record_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUevent_wait_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUevent_record_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_972genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUevent_record_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":526
 * _dict_CUevent_record_flags = dict(((int(v), v) for k, v in CUevent_record_flags.__members__.items()))
 * 
 * class CUevent_wait_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event wait flags
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUevent_wait_flags, __pyx_mstate_global->__pyx_n_u_CUevent_wait_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Event_wait_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 526, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":532
 * 
 *     #: Default event wait flag
 *     CU_EVENT_WAIT_DEFAULT = cydriver.CUevent_wait_flags_enum.CU_EVENT_WAIT_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: When using stream capture, create an event wait node instead of the
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUevent_wait_flags_enum(CU_EVENT_WAIT_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EVENT_WAIT_DEFAULT, __pyx_t_3) < (0)) __PYX_ERR(0, 532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":536
 *     #: When using stream capture, create an event wait node instead of the
 *     #: default behavior. This flag is invalid when used outside of capture.
 *     CU_EVENT_WAIT_EXTERNAL = cydriver.CUevent_wait_flags_enum.CU_EVENT_WAIT_EXTERNAL             # <<<<<<<<<<<<<<
 * 
 * _dict_CUevent_wait_flags = dict(((int(v), v) for k, v in CUevent_wait_flags.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUevent_wait_flags_enum(CU_EVENT_WAIT_EXTERNAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EVENT_WAIT_EXTERNAL, __pyx_t_3) < (0)) __PYX_ERR(0, 536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":526
 * _dict_CUevent_record_flags = dict(((int(v), v) for k, v in CUevent_record_flags.__members__.items()))
 * 
 * class CUevent_wait_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event wait flags
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUevent_wait_flags, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUevent_wait_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":538
 *     CU_EVENT_WAIT_EXTERNAL = cydriver.CUevent_wait_flags_enum.CU_EVENT_WAIT_EXTERNAL
 * 
 * _dict_CUevent_wait_flags = dict(((int(v), v) for k, v in CUevent_wait_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWaitValue_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUevent_wait_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_975genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUevent_wait_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 538, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":540
 * _dict_CUevent_wait_flags = dict(((int(v), v) for k, v in CUevent_wait_flags.__members__.items()))
 * 
 * class CUstreamWaitValue_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamWaitValue32` and
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstreamWaitValue_flags, __pyx_mstate_global->__pyx_n_u_CUstreamWaitValue_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_py_obj_cuStreamWaitVa); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 540, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":549
 *     #: values). Note this is a cyclic comparison which ignores wraparound.
 *     #: (Default behavior.)
 *     CU_STREAM_WAIT_VALUE_GEQ = cydriver.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_GEQ             # <<<<<<<<<<<<<<
 * 
 *     #: Wait until *addr == value.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_GEQ); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_WAIT_VALUE_GEQ, __pyx_t_18) < (0)) __PYX_ERR(0, 549, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":552
 * 
 *     #: Wait until *addr == value.
 *     CU_STREAM_WAIT_VALUE_EQ = cydriver.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_EQ             # <<<<<<<<<<<<<<
 * 
 *     #: Wait until (*addr & value) != 0.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_EQ); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_WAIT_VALUE_EQ, __pyx_t_18) < (0)) __PYX_ERR(0, 552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":555
 * 
 *     #: Wait until (*addr & value) != 0.
 *     CU_STREAM_WAIT_VALUE_AND = cydriver.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_AND             # <<<<<<<<<<<<<<
 * 
 *     #: Wait until ~(*addr | value) != 0. Support for this operation can be
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_AND); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_WAIT_VALUE_AND, __pyx_t_18) < (0)) __PYX_ERR(0, 555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":560
 *     #: queried with :py:obj:`~.cuDeviceGetAttribute()` and
 *     #: :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR`.
 *     CU_STREAM_WAIT_VALUE_NOR = cydriver.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_NOR             # <<<<<<<<<<<<<<
 * 
 *     #: Follow the wait operation with a flush of outstanding remote writes.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_NOR); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_WAIT_VALUE_NOR, __pyx_t_18) < (0)) __PYX_ERR(0, 560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":572
 *     #: restricted to selected platforms and can be queried with
 *     #: :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES`.
 *     CU_STREAM_WAIT_VALUE_FLUSH = cydriver.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_FLUSH             # <<<<<<<<<<<<<<
 * 
 * _dict_CUstreamWaitValue_flags = dict(((int(v), v) for k, v in CUstreamWaitValue_flags.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_FLUSH); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_WAIT_VALUE_FLUSH, __pyx_t_18) < (0)) __PYX_ERR(0, 572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":540
 * _dict_CUevent_wait_flags = dict(((int(v), v) for k, v in CUevent_wait_flags.__members__.items()))
 * 
 * class CUstreamWaitValue_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamWaitValue32` and
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUstreamWaitValue_flags, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstreamWaitValue_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":574
 *     CU_STREAM_WAIT_VALUE_FLUSH = cydriver.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_FLUSH
 * 
 * _dict_CUstreamWaitValue_flags = dict(((int(v), v) for k, v in CUstreamWaitValue_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWriteValue_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstreamWaitValue_flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_978genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUstreamWaitValue_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":576
 * _dict_CUstreamWaitValue_flags = dict(((int(v), v) for k, v in CUstreamWaitValue_flags.__members__.items()))
 * 
 * class CUstreamWriteValue_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamWriteValue32`
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUstreamWriteValue_flags, __pyx_mstate_global->__pyx_n_u_CUstreamWriteValue_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_py_obj_cuStreamWriteV); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 576, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":582
 * 
 *     #: Default behavior
 *     CU_STREAM_WRITE_VALUE_DEFAULT = cydriver.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Permits the write to be reordered with writes which were issued
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUstreamWriteValue_flags_enum(CU_STREAM_WRITE_VALUE_DEFAULT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_STREAM_WRITE_VALUE_DEFAULT, __pyx_t_17) < (0)) __PYX_ERR(0, 582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":590
 *     #: is scoped to the stream rather than a CUDA thread. This flag is not
 *     #: supported in the v2 API.
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = cydriver.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER             # <<<<<<<<<<<<<<
 * 
 * _dict_CUstreamWriteValue_flags = dict(((int(v), v) for k, v in CUstreamWriteValue_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUstreamWriteValue_flags_enum(CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_STREAM_WRITE_VALUE_NO_MEMORY, __pyx_t_17) < (0)) __PYX_ERR(0, 590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":576
 * _dict_CUstreamWaitValue_flags = dict(((int(v), v) for k, v in CUstreamWaitValue_flags.__members__.items()))
 * 
 * class CUstreamWriteValue_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamWriteValue32`
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUstreamWriteValue_flags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstreamWriteValue_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 576, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":592
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = cydriver.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER
 * 
 * _dict_CUstreamWriteValue_flags = dict(((int(v), v) for k, v in CUstreamWriteValue_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamBatchMemOpType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUstreamWriteValue_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_981genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUstreamWriteValue_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":594
 * _dict_CUstreamWriteValue_flags = dict(((int(v), v) for k, v in CUstreamWriteValue_flags.__members__.items()))
 * 
 * class CUstreamBatchMemOpType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Operations for :py:obj:`~.cuStreamBatchMemOp`
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpType, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Operations_for_py_obj_cuStreamB); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 594, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":600
 * 
 *     #: Represents a :py:obj:`~.cuStreamWaitValue32` operation
 *     CU_STREAM_MEM_OP_WAIT_VALUE_32 = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_WAIT_VALUE_32             # <<<<<<<<<<<<<<
 * 
 *     #: Represents a :py:obj:`~.cuStreamWriteValue32` operation
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_WAIT_VALUE_32); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_STREAM_MEM_OP_WAIT_VALUE_32, __pyx_t_16) < (0)) __PYX_ERR(0, 600, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":603
 * 
 *     #: Represents a :py:obj:`~.cuStreamWriteValue32` operation
 *     CU_STREAM_MEM_OP_WRITE_VALUE_32 = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_WRITE_VALUE_32             # <<<<<<<<<<<<<<
 * 
 *     #: This has the same effect as :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH`,
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_WRITE_VALUE_32); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_STREAM_MEM_OP_WRITE_VALUE_32, __pyx_t_16) < (0)) __PYX_ERR(0, 603, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":607
 *     #: This has the same effect as :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH`,
 *     #: but as a standalone operation.
 *     CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES             # <<<<<<<<<<<<<<
 * 
 *     #: Represents a :py:obj:`~.cuStreamWaitValue64` operation
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR, __pyx_t_16) < (0)) __PYX_ERR(0, 607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":610
 * 
 *     #: Represents a :py:obj:`~.cuStreamWaitValue64` operation
 *     CU_STREAM_MEM_OP_WAIT_VALUE_64 = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_WAIT_VALUE_64             # <<<<<<<<<<<<<<
 * 
 *     #: Represents a :py:obj:`~.cuStreamWriteValue64` operation
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_WAIT_VALUE_64); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_STREAM_MEM_OP_WAIT_VALUE_64, __pyx_t_16) < (0)) __PYX_ERR(0, 610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":613
 * 
 *     #: Represents a :py:obj:`~.cuStreamWriteValue64` operation
 *     CU_STREAM_MEM_OP_WRITE_VALUE_64 = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_WRITE_VALUE_64             # <<<<<<<<<<<<<<
 * 
 *     #: Insert a memory barrier of the specified type
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_WRITE_VALUE_64); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_STREAM_MEM_OP_WRITE_VALUE_64, __pyx_t_16) < (0)) __PYX_ERR(0, 613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":616
 * 
 *     #: Insert a memory barrier of the specified type
 *     CU_STREAM_MEM_OP_BARRIER = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_BARRIER             # <<<<<<<<<<<<<<
 * 
 * _dict_CUstreamBatchMemOpType = dict(((int(v), v) for k, v in CUstreamBatchMemOpType.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_BARRIER); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_STREAM_MEM_OP_BARRIER, __pyx_t_16) < (0)) __PYX_ERR(0, 616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":594
 * _dict_CUstreamWriteValue_flags = dict(((int(v), v) for k, v in CUstreamWriteValue_flags.__members__.items()))
 * 
 * class CUstreamBatchMemOpType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Operations for :py:obj:`~.cuStreamBatchMemOp`
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpType, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpType, __pyx_t_16) < (0)) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":618
 *     CU_STREAM_MEM_OP_BARRIER = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_BARRIER
 * 
 * _dict_CUstreamBatchMemOpType = dict(((int(v), v) for k, v in CUstreamBatchMemOpType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamMemoryBarrier_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_984genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUstreamBatchMemOpType, __pyx_t_18) < (0)) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":620
 * _dict_CUstreamBatchMemOpType = dict(((int(v), v) for k, v in CUstreamBatchMemOpType.__members__.items()))
 * 
 * class CUstreamMemoryBarrier_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.CUstreamBatchMemOpParams`::memoryBarrier
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUstreamMemoryBarrier_flags, __pyx_mstate_global->__pyx_n_u_CUstreamMemoryBarrier_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_py_obj_CUstreamBatchM); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 620, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":626
 * 
 *     #: System-wide memory barrier.
 *     CU_STREAM_MEMORY_BARRIER_TYPE_SYS = cydriver.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_SYS             # <<<<<<<<<<<<<<
 * 
 *     #: Limit memory barrier scope to the GPU.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUstreamMemoryBarrier_flags_enum(CU_STREAM_MEMORY_BARRIER_TYPE_SYS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_STREAM_MEMORY_BARRIER_TYPE_SY, __pyx_t_3) < (0)) __PYX_ERR(0, 626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":629
 * 
 *     #: Limit memory barrier scope to the GPU.
 *     CU_STREAM_MEMORY_BARRIER_TYPE_GPU = cydriver.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_GPU             # <<<<<<<<<<<<<<
 * 
 * _dict_CUstreamMemoryBarrier_flags = dict(((int(v), v) for k, v in CUstreamMemoryBarrier_flags.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUstreamMemoryBarrier_flags_enum(CU_STREAM_MEMORY_BARRIER_TYPE_GPU); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_STREAM_MEMORY_BARRIER_TYPE_GP, __pyx_t_3) < (0)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":620
 * _dict_CUstreamBatchMemOpType = dict(((int(v), v) for k, v in CUstreamBatchMemOpType.__members__.items()))
 * 
 * class CUstreamMemoryBarrier_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.CUstreamBatchMemOpParams`::memoryBarrier
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstreamMemoryBarrier_flags, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstreamMemoryBarrier_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 620, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":631
 *     CU_STREAM_MEMORY_BARRIER_TYPE_GPU = cydriver.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_GPU
 * 
 * _dict_CUstreamMemoryBarrier_flags = dict(((int(v), v) for k, v in CUstreamMemoryBarrier_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUoccupancy_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUstreamMemoryBarrier_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_987genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUstreamMemoryBarrier_flag, __pyx_t_17) < (0)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":633
 * _dict_CUstreamMemoryBarrier_flags = dict(((int(v), v) for k, v in CUstreamMemoryBarrier_flags.__members__.items()))
 * 
 * class CUoccupancy_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Occupancy calculator flag
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUoccupancy_flags, __pyx_mstate_global->__pyx_n_u_CUoccupancy_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Occupancy_calculator_flag); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 633, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":639
 * 
 *     #: Default behavior
 *     CU_OCCUPANCY_DEFAULT = cydriver.CUoccupancy_flags_enum.CU_OCCUPANCY_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Assume global caching is enabled and cannot be automatically turned
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUoccupancy_flags_enum(CU_OCCUPANCY_DEFAULT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_OCCUPANCY_DEFAULT, __pyx_t_18) < (0)) __PYX_ERR(0, 639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":643
 *     #: Assume global caching is enabled and cannot be automatically turned
 *     #: off
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = cydriver.CUoccupancy_flags_enum.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUoccupancy_flags = dict(((int(v), v) for k, v in CUoccupancy_flags.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUoccupancy_flags_enum(CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_OCCUPANCY_DISABLE_CACHING_OVE, __pyx_t_18) < (0)) __PYX_ERR(0, 643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":633
 * _dict_CUstreamMemoryBarrier_flags = dict(((int(v), v) for k, v in CUstreamMemoryBarrier_flags.__members__.items()))
 * 
 * class CUoccupancy_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Occupancy calculator flag
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUoccupancy_flags, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUoccupancy_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":645
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = cydriver.CUoccupancy_flags_enum.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE
 * 
 * _dict_CUoccupancy_flags = dict(((int(v), v) for k, v in CUoccupancy_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamUpdateCaptureDependencies_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUoccupancy_flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_990genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUoccupancy_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":647
 * _dict_CUoccupancy_flags = dict(((int(v), v) for k, v in CUoccupancy_flags.__members__.items()))
 * 
 * class CUstreamUpdateCaptureDependencies_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamUpdateCaptureDependencies`
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUstreamUpdateCaptureDependencie, __pyx_mstate_global->__pyx_n_u_CUstreamUpdateCaptureDependencie, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_py_obj_cuStreamUpdate); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 647, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":653
 * 
 *     #: Add new nodes to the dependency set
 *     CU_STREAM_ADD_CAPTURE_DEPENDENCIES = cydriver.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_ADD_CAPTURE_DEPENDENCIES             # <<<<<<<<<<<<<<
 * 
 *     #: Replace the dependency set with the new nodes
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUstreamUpdateCaptureDependencies_flags_enum(CU_STREAM_ADD_CAPTURE_DEPENDENCIES); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_STREAM_ADD_CAPTURE_DEPENDENCI, __pyx_t_17) < (0)) __PYX_ERR(0, 653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":656
 * 
 *     #: Replace the dependency set with the new nodes
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = cydriver.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_SET_CAPTURE_DEPENDENCIES             # <<<<<<<<<<<<<<
 * 
 * _dict_CUstreamUpdateCaptureDependencies_flags = dict(((int(v), v) for k, v in CUstreamUpdateCaptureDependencies_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUstreamUpdateCaptureDependencies_flags_enum(CU_STREAM_SET_CAPTURE_DEPENDENCIES); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_STREAM_SET_CAPTURE_DEPENDENCI, __pyx_t_17) < (0)) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":647
 * _dict_CUoccupancy_flags = dict(((int(v), v) for k, v in CUoccupancy_flags.__members__.items()))
 * 
 * class CUstreamUpdateCaptureDependencies_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamUpdateCaptureDependencies`
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUstreamUpdateCaptureDependencie, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstreamUpdateCaptureDependencie, __pyx_t_17) < (0)) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":658
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = cydriver.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_SET_CAPTURE_DEPENDENCIES
 * 
 * _dict_CUstreamUpdateCaptureDependencies_flags = dict(((int(v), v) for k, v in CUstreamUpdateCaptureDependencies_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUasyncNotificationType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUstreamUpdateCaptureDependencie); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_993genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUstreamUpdateCaptureDepen, __pyx_t_3) < (0)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":660
 * _dict_CUstreamUpdateCaptureDependencies_flags = dict(((int(v), v) for k, v in CUstreamUpdateCaptureDependencies_flags.__members__.items()))
 * 
 * class CUasyncNotificationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Types of async notification that can be sent
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationType, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Types_of_async_notification_tha); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 660, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":666
 * 
 *     #: Sent when the process has exceeded its device memory budget
 *     CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET = cydriver.CUasyncNotificationType_enum.CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET             # <<<<<<<<<<<<<<
 * 
 * _dict_CUasyncNotificationType = dict(((int(v), v) for k, v in CUasyncNotificationType.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUasyncNotificationType_enum(CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_ASYNC_NOTIFICATION_TYPE_OVER, __pyx_t_16) < (0)) __PYX_ERR(0, 666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":660
 * _dict_CUstreamUpdateCaptureDependencies_flags = dict(((int(v), v) for k, v in CUstreamUpdateCaptureDependencies_flags.__members__.items()))
 * 
 * class CUasyncNotificationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Types of async notification that can be sent
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationType, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationType, __pyx_t_16) < (0)) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":668
 *     CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET = cydriver.CUasyncNotificationType_enum.CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET
 * 
 * _dict_CUasyncNotificationType = dict(((int(v), v) for k, v in CUasyncNotificationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarray_format(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_996genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUasyncNotificationType, __pyx_t_18) < (0)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":670
 * _dict_CUasyncNotificationType = dict(((int(v), v) for k, v in CUasyncNotificationType.__members__.items()))
 * 
 * class CUarray_format(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Array formats
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUarray_format, __pyx_mstate_global->__pyx_n_u_CUarray_format, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Array_formats); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 670, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":676
 * 
 *     #: Unsigned 8-bit integers
 *     CU_AD_FORMAT_UNSIGNED_INT8 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNSIGNED_INT8             # <<<<<<<<<<<<<<
 * 
 *     #: Unsigned 16-bit integers
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNSIGNED_INT8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT8, __pyx_t_3) < (0)) __PYX_ERR(0, 676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":679
 * 
 *     #: Unsigned 16-bit integers
 *     CU_AD_FORMAT_UNSIGNED_INT16 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNSIGNED_INT16             # <<<<<<<<<<<<<<
 * 
 *     #: Unsigned 32-bit integers
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNSIGNED_INT16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT16, __pyx_t_3) < (0)) __PYX_ERR(0, 679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":682
 * 
 *     #: Unsigned 32-bit integers
 *     CU_AD_FORMAT_UNSIGNED_INT32 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNSIGNED_INT32             # <<<<<<<<<<<<<<
 * 
 *     #: Signed 8-bit integers
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNSIGNED_INT32); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT32, __pyx_t_3) < (0)) __PYX_ERR(0, 682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":685
 * 
 *     #: Signed 8-bit integers
 *     CU_AD_FORMAT_SIGNED_INT8 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SIGNED_INT8             # <<<<<<<<<<<<<<
 * 
 *     #: Signed 16-bit integers
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SIGNED_INT8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SIGNED_INT8, __pyx_t_3) < (0)) __PYX_ERR(0, 685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":688
 * 
 *     #: Signed 16-bit integers
 *     CU_AD_FORMAT_SIGNED_INT16 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SIGNED_INT16             # <<<<<<<<<<<<<<
 * 
 *     #: Signed 32-bit integers
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SIGNED_INT16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SIGNED_INT16, __pyx_t_3) < (0)) __PYX_ERR(0, 688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":691
 * 
 *     #: Signed 32-bit integers
 *     CU_AD_FORMAT_SIGNED_INT32 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SIGNED_INT32             # <<<<<<<<<<<<<<
 * 
 *     #: 16-bit floating point
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SIGNED_INT32); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SIGNED_INT32, __pyx_t_3) < (0)) __PYX_ERR(0, 691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":694
 * 
 *     #: 16-bit floating point
 *     CU_AD_FORMAT_HALF = cydriver.CUarray_format_enum.CU_AD_FORMAT_HALF             # <<<<<<<<<<<<<<
 * 
 *     #: 32-bit floating point
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_HALF); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_HALF, __pyx_t_3) < (0)) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":697
 * 
 *     #: 32-bit floating point
 *     CU_AD_FORMAT_FLOAT = cydriver.CUarray_format_enum.CU_AD_FORMAT_FLOAT             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unorm R10G10B10A2 RGB format
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_FLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_FLOAT, __pyx_t_3) < (0)) __PYX_ERR(0, 697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":700
 * 
 *     #: 4 channel unorm R10G10B10A2 RGB format
 *     CU_AD_FORMAT_UNORM_INT_101010_2 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT_101010_2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT_101010_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNORM_INT_101010_2, __pyx_t_3) < (0)) __PYX_ERR(0, 700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":704
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 *     #: format
 *     CU_AD_FORMAT_BC1_UNORM = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC1_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC1_UNORM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC1_UNORM, __pyx_t_3) < (0)) __PYX_ERR(0, 704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":708
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 *     #: format with sRGB encoding
 *     CU_AD_FORMAT_BC1_UNORM_SRGB = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC1_UNORM_SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC1_UNORM_SRGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC1_UNORM_SRGB, __pyx_t_3) < (0)) __PYX_ERR(0, 708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":712
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 *     #: format
 *     CU_AD_FORMAT_BC2_UNORM = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC2_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC2_UNORM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC2_UNORM, __pyx_t_3) < (0)) __PYX_ERR(0, 712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":716
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 *     #: format with sRGB encoding
 *     CU_AD_FORMAT_BC2_UNORM_SRGB = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC2_UNORM_SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC2_UNORM_SRGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC2_UNORM_SRGB, __pyx_t_3) < (0)) __PYX_ERR(0, 716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":720
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 *     #: format
 *     CU_AD_FORMAT_BC3_UNORM = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC3_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC3_UNORM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC3_UNORM, __pyx_t_3) < (0)) __PYX_ERR(0, 720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":724
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 *     #: format with sRGB encoding
 *     CU_AD_FORMAT_BC3_UNORM_SRGB = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC3_UNORM_SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned normalized block-compressed (BC4 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC3_UNORM_SRGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC3_UNORM_SRGB, __pyx_t_3) < (0)) __PYX_ERR(0, 724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":728
 *     #: 1 channel unsigned normalized block-compressed (BC4 compression)
 *     #: format
 *     CU_AD_FORMAT_BC4_UNORM = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC4_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed normalized block-compressed (BC4 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC4_UNORM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC4_UNORM, __pyx_t_3) < (0)) __PYX_ERR(0, 728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":732
 *     #: 1 channel signed normalized block-compressed (BC4 compression)
 *     #: format
 *     CU_AD_FORMAT_BC4_SNORM = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC4_SNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned normalized block-compressed (BC5 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC4_SNORM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC4_SNORM, __pyx_t_3) < (0)) __PYX_ERR(0, 732, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":736
 *     #: 2 channel unsigned normalized block-compressed (BC5 compression)
 *     #: format
 *     CU_AD_FORMAT_BC5_UNORM = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC5_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed normalized block-compressed (BC5 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC5_UNORM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC5_UNORM, __pyx_t_3) < (0)) __PYX_ERR(0, 736, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":740
 *     #: 2 channel signed normalized block-compressed (BC5 compression)
 *     #: format
 *     CU_AD_FORMAT_BC5_SNORM = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC5_SNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel unsigned half-float block-compressed (BC6H compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC5_SNORM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC5_SNORM, __pyx_t_3) < (0)) __PYX_ERR(0, 740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":744
 *     #: 3 channel unsigned half-float block-compressed (BC6H compression)
 *     #: format
 *     CU_AD_FORMAT_BC6H_UF16 = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC6H_UF16             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel signed half-float block-compressed (BC6H compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC6H_UF16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC6H_UF16, __pyx_t_3) < (0)) __PYX_ERR(0, 744, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":748
 *     #: 3 channel signed half-float block-compressed (BC6H compression)
 *     #: format
 *     CU_AD_FORMAT_BC6H_SF16 = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC6H_SF16             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC6H_SF16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC6H_SF16, __pyx_t_3) < (0)) __PYX_ERR(0, 748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":752
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 *     #: format
 *     CU_AD_FORMAT_BC7_UNORM = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC7_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC7_UNORM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC7_UNORM, __pyx_t_3) < (0)) __PYX_ERR(0, 752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":756
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 *     #: format with sRGB encoding
 *     CU_AD_FORMAT_BC7_UNORM_SRGB = cydriver.CUarray_format_enum.CU_AD_FORMAT_BC7_UNORM_SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 10-bit YUV planar format, with 4:2:0 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC7_UNORM_SRGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_BC7_UNORM_SRGB, __pyx_t_3) < (0)) __PYX_ERR(0, 756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":759
 * 
 *     #: 10-bit YUV planar format, with 4:2:0 sampling
 *     CU_AD_FORMAT_P010 = cydriver.CUarray_format_enum.CU_AD_FORMAT_P010             # <<<<<<<<<<<<<<
 * 
 *     #: 16-bit YUV planar format, with 4:2:0 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_P010); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_P010, __pyx_t_3) < (0)) __PYX_ERR(0, 759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":762
 * 
 *     #: 16-bit YUV planar format, with 4:2:0 sampling
 *     CU_AD_FORMAT_P016 = cydriver.CUarray_format_enum.CU_AD_FORMAT_P016             # <<<<<<<<<<<<<<
 * 
 *     #: 8-bit YUV planar format, with 4:2:2 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_P016); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_P016, __pyx_t_3) < (0)) __PYX_ERR(0, 762, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":765
 * 
 *     #: 8-bit YUV planar format, with 4:2:2 sampling
 *     CU_AD_FORMAT_NV16 = cydriver.CUarray_format_enum.CU_AD_FORMAT_NV16             # <<<<<<<<<<<<<<
 * 
 *     #: 10-bit YUV planar format, with 4:2:2 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_NV16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_NV16, __pyx_t_3) < (0)) __PYX_ERR(0, 765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":768
 * 
 *     #: 10-bit YUV planar format, with 4:2:2 sampling
 *     CU_AD_FORMAT_P210 = cydriver.CUarray_format_enum.CU_AD_FORMAT_P210             # <<<<<<<<<<<<<<
 * 
 *     #: 16-bit YUV planar format, with 4:2:2 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_P210); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_P210, __pyx_t_3) < (0)) __PYX_ERR(0, 768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":771
 * 
 *     #: 16-bit YUV planar format, with 4:2:2 sampling
 *     CU_AD_FORMAT_P216 = cydriver.CUarray_format_enum.CU_AD_FORMAT_P216             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel, 8-bit YUV packed planar format, with 4:2:2 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_P216); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_P216, __pyx_t_3) < (0)) __PYX_ERR(0, 771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":774
 * 
 *     #: 2 channel, 8-bit YUV packed planar format, with 4:2:2 sampling
 *     CU_AD_FORMAT_YUY2 = cydriver.CUarray_format_enum.CU_AD_FORMAT_YUY2             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel, 10-bit YUV packed planar format, with 4:2:2 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_YUY2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_YUY2, __pyx_t_3) < (0)) __PYX_ERR(0, 774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":777
 * 
 *     #: 2 channel, 10-bit YUV packed planar format, with 4:2:2 sampling
 *     CU_AD_FORMAT_Y210 = cydriver.CUarray_format_enum.CU_AD_FORMAT_Y210             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel, 16-bit YUV packed planar format, with 4:2:2 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_Y210); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_Y210, __pyx_t_3) < (0)) __PYX_ERR(0, 777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":780
 * 
 *     #: 2 channel, 16-bit YUV packed planar format, with 4:2:2 sampling
 *     CU_AD_FORMAT_Y216 = cydriver.CUarray_format_enum.CU_AD_FORMAT_Y216             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel, 8-bit YUV packed planar format, with 4:4:4 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_Y216); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_Y216, __pyx_t_3) < (0)) __PYX_ERR(0, 780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":783
 * 
 *     #: 4 channel, 8-bit YUV packed planar format, with 4:4:4 sampling
 *     CU_AD_FORMAT_AYUV = cydriver.CUarray_format_enum.CU_AD_FORMAT_AYUV             # <<<<<<<<<<<<<<
 * 
 *     #: 10-bit YUV packed planar format, with 4:4:4 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_AYUV); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_AYUV, __pyx_t_3) < (0)) __PYX_ERR(0, 783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":786
 * 
 *     #: 10-bit YUV packed planar format, with 4:4:4 sampling
 *     CU_AD_FORMAT_Y410 = cydriver.CUarray_format_enum.CU_AD_FORMAT_Y410             # <<<<<<<<<<<<<<
 * 
 *     #: 8-bit YUV planar format, with 4:2:0 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_Y410); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_Y410, __pyx_t_3) < (0)) __PYX_ERR(0, 786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":789
 * 
 *     #: 8-bit YUV planar format, with 4:2:0 sampling
 *     CU_AD_FORMAT_NV12 = cydriver.CUarray_format_enum.CU_AD_FORMAT_NV12             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel, 12-bit YUV packed planar format, with 4:4:4 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_NV12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_NV12, __pyx_t_3) < (0)) __PYX_ERR(0, 789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":792
 * 
 *     #: 4 channel, 12-bit YUV packed planar format, with 4:4:4 sampling
 *     CU_AD_FORMAT_Y416 = cydriver.CUarray_format_enum.CU_AD_FORMAT_Y416             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel 8-bit YUV planar format, with 4:4:4 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_Y416); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_Y416, __pyx_t_3) < (0)) __PYX_ERR(0, 792, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":795
 * 
 *     #: 3 channel 8-bit YUV planar format, with 4:4:4 sampling
 *     CU_AD_FORMAT_Y444_PLANAR8 = cydriver.CUarray_format_enum.CU_AD_FORMAT_Y444_PLANAR8             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel 10-bit YUV planar format, with 4:4:4 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_Y444_PLANAR8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_Y444_PLANAR8, __pyx_t_3) < (0)) __PYX_ERR(0, 795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":798
 * 
 *     #: 3 channel 10-bit YUV planar format, with 4:4:4 sampling
 *     CU_AD_FORMAT_Y444_PLANAR10 = cydriver.CUarray_format_enum.CU_AD_FORMAT_Y444_PLANAR10             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel 8-bit YUV semi-planar format, with 4:4:4 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_Y444_PLANAR10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_Y444_PLANAR10, __pyx_t_3) < (0)) __PYX_ERR(0, 798, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":801
 * 
 *     #: 3 channel 8-bit YUV semi-planar format, with 4:4:4 sampling
 *     CU_AD_FORMAT_YUV444_8bit_SemiPlanar = cydriver.CUarray_format_enum.CU_AD_FORMAT_YUV444_8bit_SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel 16-bit YUV semi-planar format, with 4:4:4 sampling
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_YUV444_8bit_SemiPlanar); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_YUV444_8bit_SemiPla, __pyx_t_3) < (0)) __PYX_ERR(0, 801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":804
 * 
 *     #: 3 channel 16-bit YUV semi-planar format, with 4:4:4 sampling
 *     CU_AD_FORMAT_YUV444_16bit_SemiPlanar = cydriver.CUarray_format_enum.CU_AD_FORMAT_YUV444_16bit_SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 8-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_YUV444_16bit_SemiPlanar); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_YUV444_16bit_SemiPl, __pyx_t_3) < (0)) __PYX_ERR(0, 804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":807
 * 
 *     #: 1 channel unsigned 8-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT8X1 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT8X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 8-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT8X1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNORM_INT8X1, __pyx_t_3) < (0)) __PYX_ERR(0, 807, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":810
 * 
 *     #: 2 channel unsigned 8-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT8X2 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT8X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 8-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT8X2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNORM_INT8X2, __pyx_t_3) < (0)) __PYX_ERR(0, 810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":813
 * 
 *     #: 4 channel unsigned 8-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT8X4 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT8X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 16-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT8X4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNORM_INT8X4, __pyx_t_3) < (0)) __PYX_ERR(0, 813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":816
 * 
 *     #: 1 channel unsigned 16-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT16X1 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT16X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 16-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT16X1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNORM_INT16X1, __pyx_t_3) < (0)) __PYX_ERR(0, 816, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":819
 * 
 *     #: 2 channel unsigned 16-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT16X2 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT16X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 16-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT16X2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNORM_INT16X2, __pyx_t_3) < (0)) __PYX_ERR(0, 819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":822
 * 
 *     #: 4 channel unsigned 16-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT16X4 = cydriver.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT16X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 8-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT16X4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_UNORM_INT16X4, __pyx_t_3) < (0)) __PYX_ERR(0, 822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":825
 * 
 *     #: 1 channel signed 8-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT8X1 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT8X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 8-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT8X1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SNORM_INT8X1, __pyx_t_3) < (0)) __PYX_ERR(0, 825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":828
 * 
 *     #: 2 channel signed 8-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT8X2 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT8X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 8-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT8X2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SNORM_INT8X2, __pyx_t_3) < (0)) __PYX_ERR(0, 828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":831
 * 
 *     #: 4 channel signed 8-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT8X4 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT8X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 16-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT8X4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SNORM_INT8X4, __pyx_t_3) < (0)) __PYX_ERR(0, 831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":834
 * 
 *     #: 1 channel signed 16-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT16X1 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 16-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT16X1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SNORM_INT16X1, __pyx_t_3) < (0)) __PYX_ERR(0, 834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":837
 * 
 *     #: 2 channel signed 16-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT16X2 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 16-bit normalized integer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT16X2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SNORM_INT16X2, __pyx_t_3) < (0)) __PYX_ERR(0, 837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":840
 * 
 *     #: 4 channel signed 16-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT16X4 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X4             # <<<<<<<<<<<<<<
 *     CU_AD_FORMAT_MAX = cydriver.CUarray_format_enum.CU_AD_FORMAT_MAX
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT16X4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_SNORM_INT16X4, __pyx_t_3) < (0)) __PYX_ERR(0, 840, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":841
 *     #: 4 channel signed 16-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT16X4 = cydriver.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X4
 *     CU_AD_FORMAT_MAX = cydriver.CUarray_format_enum.CU_AD_FORMAT_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUarray_format = dict(((int(v), v) for k, v in CUarray_format.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_format_enum(CU_AD_FORMAT_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_AD_FORMAT_MAX, __pyx_t_3) < (0)) __PYX_ERR(0, 841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":670
 * _dict_CUasyncNotificationType = dict(((int(v), v) for k, v in CUasyncNotificationType.__members__.items()))
 * 
 * class CUarray_format(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Array formats
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUarray_format, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUarray_format, __pyx_t_3) < (0)) __PYX_ERR(0, 670, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":843
 *     CU_AD_FORMAT_MAX = cydriver.CUarray_format_enum.CU_AD_FORMAT_MAX
 * 
 * _dict_CUarray_format = dict(((int(v), v) for k, v in CUarray_format.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUaddress_mode(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUarray_format); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_999genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUarray_format, __pyx_t_17) < (0)) __PYX_ERR(0, 843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":845
 * _dict_CUarray_format = dict(((int(v), v) for k, v in CUarray_format.__members__.items()))
 * 
 * class CUaddress_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Texture reference addressing modes
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUaddress_mode, __pyx_mstate_global->__pyx_n_u_CUaddress_mode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Texture_reference_addressing_mo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 845, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":851
 * 
 *     #: Wrapping address mode
 *     CU_TR_ADDRESS_MODE_WRAP = cydriver.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_WRAP             # <<<<<<<<<<<<<<
 * 
 *     #: Clamp to edge address mode
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUaddress_mode_enum(CU_TR_ADDRESS_MODE_WRAP); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_TR_ADDRESS_MODE_WRAP, __pyx_t_18) < (0)) __PYX_ERR(0, 851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":854
 * 
 *     #: Clamp to edge address mode
 *     CU_TR_ADDRESS_MODE_CLAMP = cydriver.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_CLAMP             # <<<<<<<<<<<<<<
 * 
 *     #: Mirror address mode
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUaddress_mode_enum(CU_TR_ADDRESS_MODE_CLAMP); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_TR_ADDRESS_MODE_CLAMP, __pyx_t_18) < (0)) __PYX_ERR(0, 854, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":857
 * 
 *     #: Mirror address mode
 *     CU_TR_ADDRESS_MODE_MIRROR = cydriver.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_MIRROR             # <<<<<<<<<<<<<<
 * 
 *     #: Border address mode
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUaddress_mode_enum(CU_TR_ADDRESS_MODE_MIRROR); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_TR_ADDRESS_MODE_MIRROR, __pyx_t_18) < (0)) __PYX_ERR(0, 857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":860
 * 
 *     #: Border address mode
 *     CU_TR_ADDRESS_MODE_BORDER = cydriver.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_BORDER             # <<<<<<<<<<<<<<
 * 
 * _dict_CUaddress_mode = dict(((int(v), v) for k, v in CUaddress_mode.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUaddress_mode_enum(CU_TR_ADDRESS_MODE_BORDER); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_TR_ADDRESS_MODE_BORDER, __pyx_t_18) < (0)) __PYX_ERR(0, 860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":845
 * _dict_CUarray_format = dict(((int(v), v) for k, v in CUarray_format.__members__.items()))
 * 
 * class CUaddress_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Texture reference addressing modes
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUaddress_mode, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUaddress_mode, __pyx_t_18) < (0)) __PYX_ERR(0, 845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":862
 *     CU_TR_ADDRESS_MODE_BORDER = cydriver.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_BORDER
 * 
 * _dict_CUaddress_mode = dict(((int(v), v) for k, v in CUaddress_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfilter_mode(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUaddress_mode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1002genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUaddress_mode, __pyx_t_16) < (0)) __PYX_ERR(0, 862, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":864
 * _dict_CUaddress_mode = dict(((int(v), v) for k, v in CUaddress_mode.__members__.items()))
 * 
 * class CUfilter_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Texture reference filtering modes
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUfilter_mode, __pyx_mstate_global->__pyx_n_u_CUfilter_mode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Texture_reference_filtering_mod); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 864, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":870
 * 
 *     #: Point filter mode
 *     CU_TR_FILTER_MODE_POINT = cydriver.CUfilter_mode_enum.CU_TR_FILTER_MODE_POINT             # <<<<<<<<<<<<<<
 * 
 *     #: Linear filter mode
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfilter_mode_enum(CU_TR_FILTER_MODE_POINT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TR_FILTER_MODE_POINT, __pyx_t_17) < (0)) __PYX_ERR(0, 870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":873
 * 
 *     #: Linear filter mode
 *     CU_TR_FILTER_MODE_LINEAR = cydriver.CUfilter_mode_enum.CU_TR_FILTER_MODE_LINEAR             # <<<<<<<<<<<<<<
 * 
 * _dict_CUfilter_mode = dict(((int(v), v) for k, v in CUfilter_mode.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfilter_mode_enum(CU_TR_FILTER_MODE_LINEAR); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TR_FILTER_MODE_LINEAR, __pyx_t_17) < (0)) __PYX_ERR(0, 873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":864
 * _dict_CUaddress_mode = dict(((int(v), v) for k, v in CUaddress_mode.__members__.items()))
 * 
 * class CUfilter_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Texture reference filtering modes
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUfilter_mode, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUfilter_mode, __pyx_t_17) < (0)) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":875
 *     CU_TR_FILTER_MODE_LINEAR = cydriver.CUfilter_mode_enum.CU_TR_FILTER_MODE_LINEAR
 * 
 * _dict_CUfilter_mode = dict(((int(v), v) for k, v in CUfilter_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevice_attribute(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUfilter_mode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1005genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUfilter_mode, __pyx_t_3) < (0)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":877
 * _dict_CUfilter_mode = dict(((int(v), v) for k, v in CUfilter_mode.__members__.items()))
 * 
 * class CUdevice_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Device properties
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdevice_attribute, __pyx_mstate_global->__pyx_n_u_CUdevice_attribute, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Device_properties); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 877, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":883
 * 
 *     #: Maximum number of threads per block
 *     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension X
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_THREADS, __pyx_t_16) < (0)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":886
 * 
 *     #: Maximum block dimension X
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension Y
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI, __pyx_t_16) < (0)) __PYX_ERR(0, 886, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":889
 * 
 *     #: Maximum block dimension Y
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension Z
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2, __pyx_t_16) < (0)) __PYX_ERR(0, 889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":892
 * 
 *     #: Maximum block dimension Z
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension X
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3, __pyx_t_16) < (0)) __PYX_ERR(0, 892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":895
 * 
 *     #: Maximum grid dimension X
 *     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension Y
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM, __pyx_t_16) < (0)) __PYX_ERR(0, 895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":898
 * 
 *     #: Maximum grid dimension Y
 *     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension Z
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2, __pyx_t_16) < (0)) __PYX_ERR(0, 898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":901
 * 
 *     #: Maximum grid dimension Z
 *     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum shared memory available per block in bytes
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3, __pyx_t_16) < (0)) __PYX_ERR(0, 901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":904
 * 
 *     #: Maximum shared memory available per block in bytes
 *     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M, __pyx_t_16) < (0)) __PYX_ERR(0, 904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":907
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK
 *     CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Memory available on device for constant variables in a CUDA C kernel
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR, __pyx_t_16) < (0)) __PYX_ERR(0, 907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":911
 *     #: Memory available on device for constant variables in a CUDA C kernel
 *     #: in bytes
 *     CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY             # <<<<<<<<<<<<<<
 * 
 *     #: Warp size in threads
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA, __pyx_t_16) < (0)) __PYX_ERR(0, 911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":914
 * 
 *     #: Warp size in threads
 *     CU_DEVICE_ATTRIBUTE_WARP_SIZE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_WARP_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum pitch in bytes allowed by memory copies
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_WARP_SIZE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_WARP_SIZE, __pyx_t_16) < (0)) __PYX_ERR(0, 914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":917
 * 
 *     #: Maximum pitch in bytes allowed by memory copies
 *     CU_DEVICE_ATTRIBUTE_MAX_PITCH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_PITCH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of 32-bit registers available per block
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_PITCH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_PITCH, __pyx_t_16) < (0)) __PYX_ERR(0, 917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":920
 * 
 *     #: Maximum number of 32-bit registers available per block
 *     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_REGISTER, __pyx_t_16) < (0)) __PYX_ERR(0, 920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":923
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK
 *     CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Typical clock frequency in kilohertz
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_REGISTERS_PE, __pyx_t_16) < (0)) __PYX_ERR(0, 923, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":926
 * 
 *     #: Typical clock frequency in kilohertz
 *     CU_DEVICE_ATTRIBUTE_CLOCK_RATE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CLOCK_RATE             # <<<<<<<<<<<<<<
 * 
 *     #: Alignment requirement for textures
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CLOCK_RATE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CLOCK_RATE, __pyx_t_16) < (0)) __PYX_ERR(0, 926, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":929
 * 
 *     #: Alignment requirement for textures
 *     CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT             # <<<<<<<<<<<<<<
 * 
 *     #: Device can possibly copy memory and execute a kernel concurrently.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG, __pyx_t_16) < (0)) __PYX_ERR(0, 929, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":933
 *     #: Device can possibly copy memory and execute a kernel concurrently.
 *     #: Deprecated. Use instead CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT.
 *     CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_OVERLAP             # <<<<<<<<<<<<<<
 * 
 *     #: Number of multiprocessors on device
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_OVERLAP); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, __pyx_t_16) < (0)) __PYX_ERR(0, 933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":936
 * 
 *     #: Number of multiprocessors on device
 *     CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies whether there is a run time limit on kernels
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTIPROCESS, __pyx_t_16) < (0)) __PYX_ERR(0, 936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":939
 * 
 *     #: Specifies whether there is a run time limit on kernels
 *     CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 *     #: Device is integrated with host memory
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC, __pyx_t_16) < (0)) __PYX_ERR(0, 939, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":942
 * 
 *     #: Device is integrated with host memory
 *     CU_DEVICE_ATTRIBUTE_INTEGRATED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_INTEGRATED             # <<<<<<<<<<<<<<
 * 
 *     #: Device can map host memory into CUDA address space
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_INTEGRATED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_INTEGRATED, __pyx_t_16) < (0)) __PYX_ERR(0, 942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":945
 * 
 *     #: Device can map host memory into CUDA address space
 *     CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY             # <<<<<<<<<<<<<<
 * 
 *     #: Compute mode (See :py:obj:`~.CUcomputemode` for details)
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST, __pyx_t_16) < (0)) __PYX_ERR(0, 945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":948
 * 
 *     #: Compute mode (See :py:obj:`~.CUcomputemode` for details)
 *     CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COMPUTE_MODE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE, __pyx_t_16) < (0)) __PYX_ERR(0, 948, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":951
 * 
 *     #: Maximum 1D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT, __pyx_t_16) < (0)) __PYX_ERR(0, 951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":954
 * 
 *     #: Maximum 2D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2, __pyx_t_16) < (0)) __PYX_ERR(0, 954, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":957
 * 
 *     #: Maximum 2D texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3, __pyx_t_16) < (0)) __PYX_ERR(0, 957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":960
 * 
 *     #: Maximum 3D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4, __pyx_t_16) < (0)) __PYX_ERR(0, 960, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":963
 * 
 *     #: Maximum 3D texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture depth
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5, __pyx_t_16) < (0)) __PYX_ERR(0, 963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":966
 * 
 *     #: Maximum 3D texture depth
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6, __pyx_t_16) < (0)) __PYX_ERR(0, 966, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":969
 * 
 *     #: Maximum 2D layered texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7, __pyx_t_16) < (0)) __PYX_ERR(0, 969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":972
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered texture height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8, __pyx_t_16) < (0)) __PYX_ERR(0, 972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":975
 * 
 *     #: Maximum 2D layered texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9, __pyx_t_16) < (0)) __PYX_ERR(0, 975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":978
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 2D layered texture
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10, __pyx_t_16) < (0)) __PYX_ERR(0, 978, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":981
 * 
 *     #: Maximum layers in a 2D layered texture
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11, __pyx_t_16) < (0)) __PYX_ERR(0, 981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":984
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES             # <<<<<<<<<<<<<<
 * 
 *     #: Alignment requirement for surfaces
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12, __pyx_t_16) < (0)) __PYX_ERR(0, 984, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":987
 * 
 *     #: Alignment requirement for surfaces
 *     CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT             # <<<<<<<<<<<<<<
 * 
 *     #: Device can possibly execute multiple kernels concurrently
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG, __pyx_t_16) < (0)) __PYX_ERR(0, 987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":990
 * 
 *     #: Device can possibly execute multiple kernels concurrently
 *     CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS             # <<<<<<<<<<<<<<
 * 
 *     #: Device has ECC support enabled
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CONCURRENT_K, __pyx_t_16) < (0)) __PYX_ERR(0, 990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":993
 * 
 *     #: Device has ECC support enabled
 *     CU_DEVICE_ATTRIBUTE_ECC_ENABLED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_ECC_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: PCI bus ID of the device
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_ECC_ENABLED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_ECC_ENABLED, __pyx_t_16) < (0)) __PYX_ERR(0, 993, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":996
 * 
 *     #: PCI bus ID of the device
 *     CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PCI_BUS_ID             # <<<<<<<<<<<<<<
 * 
 *     #: PCI device ID of the device
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PCI_BUS_ID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID, __pyx_t_16) < (0)) __PYX_ERR(0, 996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":999
 * 
 *     #: PCI device ID of the device
 *     CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Device is using TCC driver model
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I, __pyx_t_16) < (0)) __PYX_ERR(0, 999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1002
 * 
 *     #: Device is using TCC driver model
 *     CU_DEVICE_ATTRIBUTE_TCC_DRIVER = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TCC_DRIVER             # <<<<<<<<<<<<<<
 * 
 *     #: Peak memory clock frequency in kilohertz
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TCC_DRIVER); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_TCC_DRIVER, __pyx_t_16) < (0)) __PYX_ERR(0, 1002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1005
 * 
 *     #: Peak memory clock frequency in kilohertz
 *     CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE             # <<<<<<<<<<<<<<
 * 
 *     #: Global memory bus width in bits
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK, __pyx_t_16) < (0)) __PYX_ERR(0, 1005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1008
 * 
 *     #: Global memory bus width in bits
 *     CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Size of L2 cache in bytes
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR, __pyx_t_16) < (0)) __PYX_ERR(0, 1008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1011
 * 
 *     #: Size of L2 cache in bytes
 *     CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum resident threads per multiprocessor
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ, __pyx_t_16) < (0)) __PYX_ERR(0, 1011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1014
 * 
 *     #: Maximum resident threads per multiprocessor
 *     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR             # <<<<<<<<<<<<<<
 * 
 *     #: Number of asynchronous engines
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1014, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1017
 * 
 *     #: Number of asynchronous engines
 *     CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: Device shares a unified address space with the host
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE, __pyx_t_16) < (0)) __PYX_ERR(0, 1017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1020
 * 
 *     #: Device shares a unified address space with the host
 *     CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D layered texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR, __pyx_t_16) < (0)) __PYX_ERR(0, 1020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1023
 * 
 *     #: Maximum 1D layered texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 1D layered texture
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13, __pyx_t_16) < (0)) __PYX_ERR(0, 1023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1026
 * 
 *     #: Maximum layers in a 1D layered texture
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, do not use.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14, __pyx_t_16) < (0)) __PYX_ERR(0, 1026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1029
 * 
 *     #: Deprecated, do not use.
 *     CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture width if CUDA_ARRAY3D_TEXTURE_GATHER is set
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA, __pyx_t_16) < (0)) __PYX_ERR(0, 1029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1032
 * 
 *     #: Maximum 2D texture width if CUDA_ARRAY3D_TEXTURE_GATHER is set
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture height if CUDA_ARRAY3D_TEXTURE_GATHER is set
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15, __pyx_t_16) < (0)) __PYX_ERR(0, 1032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1035
 * 
 *     #: Maximum 2D texture height if CUDA_ARRAY3D_TEXTURE_GATHER is set
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16, __pyx_t_16) < (0)) __PYX_ERR(0, 1035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1038
 * 
 *     #: Alternate maximum 3D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17, __pyx_t_16) < (0)) __PYX_ERR(0, 1038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1041
 * 
 *     #: Alternate maximum 3D texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture depth
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18, __pyx_t_16) < (0)) __PYX_ERR(0, 1041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1044
 * 
 *     #: Alternate maximum 3D texture depth
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE             # <<<<<<<<<<<<<<
 * 
 *     #: PCI domain ID of the device
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19, __pyx_t_16) < (0)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1047
 * 
 *     #: PCI domain ID of the device
 *     CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Pitch alignment requirement for textures
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I, __pyx_t_16) < (0)) __PYX_ERR(0, 1047, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1050
 * 
 *     #: Pitch alignment requirement for textures
 *     CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap texture width/height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC, __pyx_t_16) < (0)) __PYX_ERR(0, 1050, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1053
 * 
 *     #: Maximum cubemap texture width/height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap layered texture width/height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20, __pyx_t_16) < (0)) __PYX_ERR(0, 1053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1056
 * 
 *     #: Maximum cubemap layered texture width/height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a cubemap layered texture
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21, __pyx_t_16) < (0)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1059
 * 
 *     #: Maximum layers in a cubemap layered texture
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D surface width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22, __pyx_t_16) < (0)) __PYX_ERR(0, 1059, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1062
 * 
 *     #: Maximum 1D surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D surface width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF, __pyx_t_16) < (0)) __PYX_ERR(0, 1062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1065
 * 
 *     #: Maximum 2D surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D surface height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1068
 * 
 *     #: Maximum 2D surface height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3, __pyx_t_16) < (0)) __PYX_ERR(0, 1068, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1071
 * 
 *     #: Maximum 3D surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4, __pyx_t_16) < (0)) __PYX_ERR(0, 1071, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1074
 * 
 *     #: Maximum 3D surface height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface depth
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5, __pyx_t_16) < (0)) __PYX_ERR(0, 1074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1077
 * 
 *     #: Maximum 3D surface depth
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D layered surface width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6, __pyx_t_16) < (0)) __PYX_ERR(0, 1077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1080
 * 
 *     #: Maximum 1D layered surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 1D layered surface
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7, __pyx_t_16) < (0)) __PYX_ERR(0, 1080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1083
 * 
 *     #: Maximum layers in a 1D layered surface
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered surface width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8, __pyx_t_16) < (0)) __PYX_ERR(0, 1083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1086
 * 
 *     #: Maximum 2D layered surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered surface height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9, __pyx_t_16) < (0)) __PYX_ERR(0, 1086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1089
 * 
 *     #: Maximum 2D layered surface height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 2D layered surface
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10, __pyx_t_16) < (0)) __PYX_ERR(0, 1089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1092
 * 
 *     #: Maximum layers in a 2D layered surface
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap surface width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11, __pyx_t_16) < (0)) __PYX_ERR(0, 1092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1095
 * 
 *     #: Maximum cubemap surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap layered surface width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12, __pyx_t_16) < (0)) __PYX_ERR(0, 1095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1098
 * 
 *     #: Maximum cubemap layered surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a cubemap layered surface
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13, __pyx_t_16) < (0)) __PYX_ERR(0, 1098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1101
 * 
 *     #: Maximum layers in a cubemap layered surface
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, do not use. Use cudaDeviceGetTexture1DLinearMaxWidth()
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14, __pyx_t_16) < (0)) __PYX_ERR(0, 1101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1105
 *     #: Deprecated, do not use. Use cudaDeviceGetTexture1DLinearMaxWidth()
 *     #: or :py:obj:`~.cuDeviceGetTexture1DLinearMaxWidth()` instead.
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23, __pyx_t_16) < (0)) __PYX_ERR(0, 1105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1108
 * 
 *     #: Maximum 2D linear texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24, __pyx_t_16) < (0)) __PYX_ERR(0, 1108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1111
 * 
 *     #: Maximum 2D linear texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture pitch in bytes
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25, __pyx_t_16) < (0)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1114
 * 
 *     #: Maximum 2D linear texture pitch in bytes
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 2D texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26, __pyx_t_16) < (0)) __PYX_ERR(0, 1114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1117
 * 
 *     #: Maximum mipmapped 2D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 2D texture height
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27, __pyx_t_16) < (0)) __PYX_ERR(0, 1117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1120
 * 
 *     #: Maximum mipmapped 2D texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Major compute capability version number
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28, __pyx_t_16) < (0)) __PYX_ERR(0, 1120, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1123
 * 
 *     #: Major compute capability version number
 *     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR             # <<<<<<<<<<<<<<
 * 
 *     #: Minor compute capability version number
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA, __pyx_t_16) < (0)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1126
 * 
 *     #: Minor compute capability version number
 *     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 1D texture width
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1129
 * 
 *     #: Maximum mipmapped 1D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports stream priorities
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29, __pyx_t_16) < (0)) __PYX_ERR(0, 1129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1132
 * 
 *     #: Device supports stream priorities
 *     CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports caching globals in L1
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR, __pyx_t_16) < (0)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1135
 * 
 *     #: Device supports caching globals in L1
 *     CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports caching locals in L1
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA, __pyx_t_16) < (0)) __PYX_ERR(0, 1135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1138
 * 
 *     #: Device supports caching locals in L1
 *     CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum shared memory available per multiprocessor in bytes
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC, __pyx_t_16) < (0)) __PYX_ERR(0, 1138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1141
 * 
 *     #: Maximum shared memory available per multiprocessor in bytes
 *     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of 32-bit registers available per multiprocessor
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1144
 * 
 *     #: Maximum number of 32-bit registers available per multiprocessor
 *     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR             # <<<<<<<<<<<<<<
 * 
 *     #: Device can allocate managed memory on this system
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1147
 * 
 *     #: Device can allocate managed memory on this system
 *     CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY             # <<<<<<<<<<<<<<
 * 
 *     #: Device is on a multi-GPU board
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO, __pyx_t_16) < (0)) __PYX_ERR(0, 1147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1150
 * 
 *     #: Device is on a multi-GPU board
 *     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD             # <<<<<<<<<<<<<<
 * 
 *     #: Unique id for a group of devices on the same multi-GPU board
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO, __pyx_t_16) < (0)) __PYX_ERR(0, 1150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1153
 * 
 *     #: Unique id for a group of devices on the same multi-GPU board
 *     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Link between the device and the host supports native atomic
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1157
 *     #: Link between the device and the host supports native atomic
 *     #: operations
 *     CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Ratio of single precision performance (in floating-point operations
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NATIVE, __pyx_t_16) < (0)) __PYX_ERR(0, 1157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1161
 *     #: Ratio of single precision performance (in floating-point operations
 *     #: per second) to double precision performance
 *     CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports coherently accessing pageable memory without calling
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO, __pyx_t_16) < (0)) __PYX_ERR(0, 1161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1165
 *     #: Device supports coherently accessing pageable memory without calling
 *     #: cudaHostRegister on it
 *     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS             # <<<<<<<<<<<<<<
 * 
 *     #: Device can coherently access managed memory concurrently with the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM, __pyx_t_16) < (0)) __PYX_ERR(0, 1165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1169
 *     #: Device can coherently access managed memory concurrently with the
 *     #: CPU
 *     CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports compute preemption.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CONCURRENT_M, __pyx_t_16) < (0)) __PYX_ERR(0, 1169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1172
 * 
 *     #: Device supports compute preemption.
 *     CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device can access host registered memory at the same virtual address
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE, __pyx_t_16) < (0)) __PYX_ERR(0, 1172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1176
 *     #: Device can access host registered memory at the same virtual address
 *     #: as the CPU
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, along with v1 MemOps API, :py:obj:`~.cuStreamBatchMemOp`
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST, __pyx_t_16) < (0)) __PYX_ERR(0, 1176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1180
 *     #: Deprecated, along with v1 MemOps API, :py:obj:`~.cuStreamBatchMemOp`
 *     #: and related APIs are supported.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, along with v1 MemOps API, 64-bit operations are
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE, __pyx_t_16) < (0)) __PYX_ERR(0, 1180, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1184
 *     #: Deprecated, along with v1 MemOps API, 64-bit operations are
 *     #: supported in :py:obj:`~.cuStreamBatchMemOp` and related APIs.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, along with v1 MemOps API,
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B, __pyx_t_16) < (0)) __PYX_ERR(0, 1184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1188
 *     #: Deprecated, along with v1 MemOps API,
 *     #: :py:obj:`~.CU_STREAM_WAIT_VALUE_NOR` is supported.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports launching cooperative kernels via
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1192
 *     #: Device supports launching cooperative kernels via
 *     #: :py:obj:`~.cuLaunchCooperativeKernel`
 *     CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, :py:obj:`~.cuLaunchCooperativeKernelMultiDevice` is
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_COOPERATIVE, __pyx_t_16) < (0)) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1196
 *     #: Deprecated, :py:obj:`~.cuLaunchCooperativeKernelMultiDevice` is
 *     #: deprecated.
 *     CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum optin shared memory per block
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1199
 * 
 *     #: Maximum optin shared memory per block
 *     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN             # <<<<<<<<<<<<<<
 * 
 *     #: The :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH` flag and the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3, __pyx_t_16) < (0)) __PYX_ERR(0, 1199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1205
 *     #: on the device. See :py:obj:`~.Stream Memory Operations` for
 *     #: additional details.
 *     CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports host memory registration via
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE, __pyx_t_16) < (0)) __PYX_ERR(0, 1205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1209
 *     #: Device supports host memory registration via
 *     #: :py:obj:`~.cudaHostRegister`.
 *     CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device accesses pageable memory via the host's page tables.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_REGISTE, __pyx_t_16) < (0)) __PYX_ERR(0, 1209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1212
 * 
 *     #: Device accesses pageable memory via the host's page tables.
 *     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES             # <<<<<<<<<<<<<<
 * 
 *     #: The host can directly access managed memory on the device without
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1216
 *     #: The host can directly access managed memory on the device without
 *     #: migration.
 *     CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, Use
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG, __pyx_t_16) < (0)) __PYX_ERR(0, 1216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1220
 *     #: Deprecated, Use
 *     #: CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED
 *     CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports virtual memory management APIs like
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR, __pyx_t_16) < (0)) __PYX_ERR(0, 1220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1225
 *     #: :py:obj:`~.cuMemAddressReserve`, :py:obj:`~.cuMemCreate`,
 *     #: :py:obj:`~.cuMemMap` and related APIs
 *     CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports exporting memory to a posix file descriptor with
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO, __pyx_t_16) < (0)) __PYX_ERR(0, 1225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1230
 *     #: :py:obj:`~.cuMemExportToShareableHandle`, if requested via
 *     #: :py:obj:`~.cuMemCreate`
 *     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports exporting memory to a Win32 NT handle with
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE, __pyx_t_16) < (0)) __PYX_ERR(0, 1230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1235
 *     #: :py:obj:`~.cuMemExportToShareableHandle`, if requested via
 *     #: :py:obj:`~.cuMemCreate`
 *     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports exporting memory to a Win32 KMT handle with
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1240
 *     #: :py:obj:`~.cuMemExportToShareableHandle`, if requested via
 *     #: :py:obj:`~.cuMemCreate`
 *     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of blocks per multiprocessor
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3, __pyx_t_16) < (0)) __PYX_ERR(0, 1240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1243
 * 
 *     #: Maximum number of blocks per multiprocessor
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports compression of memory
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P, __pyx_t_16) < (0)) __PYX_ERR(0, 1243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1246
 * 
 *     #: Device supports compression of memory
 *     CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum L2 persisting lines capacity setting in bytes.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GENERIC_COMP, __pyx_t_16) < (0)) __PYX_ERR(0, 1246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1249
 * 
 *     #: Maximum L2 persisting lines capacity setting in bytes.
 *     CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum value of :py:obj:`~.CUaccessPolicyWindow.num_bytes`.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI, __pyx_t_16) < (0)) __PYX_ERR(0, 1249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1252
 * 
 *     #: Maximum value of :py:obj:`~.CUaccessPolicyWindow.num_bytes`.
 *     CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports specifying the GPUDirect RDMA flag with
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P, __pyx_t_16) < (0)) __PYX_ERR(0, 1252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1256
 *     #: Device supports specifying the GPUDirect RDMA flag with
 *     #: :py:obj:`~.cuMemCreate`
 *     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Shared memory reserved by CUDA driver per block in bytes
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R, __pyx_t_16) < (0)) __PYX_ERR(0, 1256, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1259
 * 
 *     #: Shared memory reserved by CUDA driver per block in bytes
 *     CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_RESERVED_SHA, __pyx_t_16) < (0)) __PYX_ERR(0, 1259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1262
 * 
 *     #: Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays
 *     CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports using the :py:obj:`~.cuMemHostRegister` flag
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA, __pyx_t_16) < (0)) __PYX_ERR(0, 1262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1267
 *     #: :py:obj:`~.CU_MEMHOSTERGISTER_READ_ONLY` to register memory that
 *     #: must be mapped as read-only to the GPU
 *     CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: External timeline semaphore interop is supported on the device
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO, __pyx_t_16) < (0)) __PYX_ERR(0, 1267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1270
 * 
 *     #: External timeline semaphore interop is supported on the device
 *     CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports using the :py:obj:`~.cuMemAllocAsync` and
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM, __pyx_t_16) < (0)) __PYX_ERR(0, 1270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1274
 *     #: Device supports using the :py:obj:`~.cuMemAllocAsync` and
 *     #: :py:obj:`~.cuMemPool` family of APIs
 *     CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS, __pyx_t_16) < (0)) __PYX_ERR(0, 1274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1278
 *     #: Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see
 *     #: https://docs.nvidia.com/cuda/gpudirect-rdma for more information)
 *     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: The returned attribute shall be interpreted as a bitmask, where the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1278, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1283
 *     #: individual bits are described by the
 *     #: :py:obj:`~.CUflushGPUDirectRDMAWritesOptions` enum
 *     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS             # <<<<<<<<<<<<<<
 * 
 *     #: GPUDirect RDMA writes to the device do not need to be flushed for
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3, __pyx_t_16) < (0)) __PYX_ERR(0, 1283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1289
 *     #: :py:obj:`~.CUGPUDirectRDMAWritesOrdering` for the numerical values
 *     #: returned here.
 *     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING             # <<<<<<<<<<<<<<
 * 
 *     #: Handle types supported with mempool based IPC
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4, __pyx_t_16) < (0)) __PYX_ERR(0, 1289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1292
 * 
 *     #: Handle types supported with mempool based IPC
 *     CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates device supports cluster launch
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP, __pyx_t_16) < (0)) __PYX_ERR(0, 1292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1295
 * 
 *     #: Indicates device supports cluster launch
 *     CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports deferred mapping CUDA arrays and CUDA mipmapped
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN, __pyx_t_16) < (0)) __PYX_ERR(0, 1295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1299
 *     #: Device supports deferred mapping CUDA arrays and CUDA mipmapped
 *     #: arrays
 *     CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: 64-bit operations are supported in :py:obj:`~.cuStreamBatchMemOp`
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP, __pyx_t_16) < (0)) __PYX_ERR(0, 1299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1303
 *     #: 64-bit operations are supported in :py:obj:`~.cuStreamBatchMemOp`
 *     #: and related MemOp APIs.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS             # <<<<<<<<<<<<<<
 * 
 *     #: :py:obj:`~.CU_STREAM_WAIT_VALUE_NOR` is supported by MemOp APIs.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1306
 * 
 *     #: :py:obj:`~.CU_STREAM_WAIT_VALUE_NOR` is supported by MemOp APIs.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports buffer sharing with dma_buf mechanism.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3, __pyx_t_16) < (0)) __PYX_ERR(0, 1306, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1309
 * 
 *     #: Device supports buffer sharing with dma_buf mechanism.
 *     CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports IPC Events.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP, __pyx_t_16) < (0)) __PYX_ERR(0, 1309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1312
 * 
 *     #: Device supports IPC Events.
 *     CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Number of memory domains the device supports.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU, __pyx_t_16) < (0)) __PYX_ERR(0, 1312, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1315
 * 
 *     #: Number of memory domains the device supports.
 *     CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports accessing memory using Tensor Map.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_16) < (0)) __PYX_ERR(0, 1315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1318
 * 
 *     #: Device supports accessing memory using Tensor Map.
 *     CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports exporting memory to a fabric handle with
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A, __pyx_t_16) < (0)) __PYX_ERR(0, 1318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1323
 *     #: :py:obj:`~.cuMemExportToShareableHandle()` or requested with
 *     #: :py:obj:`~.cuMemCreate()`
 *     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports unified function pointers.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4, __pyx_t_16) < (0)) __PYX_ERR(0, 1323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1326
 * 
 *     #: Device supports unified function pointers.
 *     CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS             # <<<<<<<<<<<<<<
 * 
 *     #: NUMA configuration of a device: value is of type
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC, __pyx_t_16) < (0)) __PYX_ERR(0, 1326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1330
 *     #: NUMA configuration of a device: value is of type
 *     #: :py:obj:`~.CUdeviceNumaConfig` enum
 *     CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_NUMA_CONFIG             # <<<<<<<<<<<<<<
 * 
 *     #: NUMA node ID of the GPU memory
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_NUMA_CONFIG); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG, __pyx_t_16) < (0)) __PYX_ERR(0, 1330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1333
 * 
 *     #: NUMA node ID of the GPU memory
 *     CU_DEVICE_ATTRIBUTE_NUMA_ID = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_NUMA_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports switch multicast and reduction operations.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_NUMA_ID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_NUMA_ID, __pyx_t_16) < (0)) __PYX_ERR(0, 1333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1336
 * 
 *     #: Device supports switch multicast and reduction operations.
 *     CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates if contexts created on this device will be shared via MPS
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTICAST_SU, __pyx_t_16) < (0)) __PYX_ERR(0, 1336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1339
 * 
 *     #: Indicates if contexts created on this device will be shared via MPS
 *     CU_DEVICE_ATTRIBUTE_MPS_ENABLED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MPS_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: NUMA ID of the host node closest to the device. Returns -1 when
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MPS_ENABLED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MPS_ENABLED, __pyx_t_16) < (0)) __PYX_ERR(0, 1339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1343
 *     #: NUMA ID of the host node closest to the device. Returns -1 when
 *     #: system does not support NUMA.
 *     CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports CIG with D3D12.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID, __pyx_t_16) < (0)) __PYX_ERR(0, 1343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1346
 * 
 *     #: Device supports CIG with D3D12.
 *     CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: The returned valued shall be interpreted as a bitmask, where the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_D3D12_CIG_SU, __pyx_t_16) < (0)) __PYX_ERR(0, 1346, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1351
 *     #: individual bits are described by the
 *     #: :py:obj:`~.CUmemDecompressAlgorithm` enum.
 *     CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK             # <<<<<<<<<<<<<<
 * 
 *     #: The returned valued is the maximum length in bytes of a single
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE, __pyx_t_16) < (0)) __PYX_ERR(0, 1351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1355
 *     #: The returned valued is the maximum length in bytes of a single
 *     #: decompress operation that is allowed.
 *     CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports CIG with Vulkan.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1358
 * 
 *     #: Device supports CIG with Vulkan.
 *     CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: The combined 16-bit PCI device ID and 16-bit PCI vendor ID.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_VULKAN_CIG_S, __pyx_t_16) < (0)) __PYX_ERR(0, 1358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1361
 * 
 *     #: The combined 16-bit PCI device ID and 16-bit PCI vendor ID.
 *     CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID             # <<<<<<<<<<<<<<
 * 
 *     #: The combined 16-bit PCI subsystem ID and 16-bit PCI subsystem vendor
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVI, __pyx_t_16) < (0)) __PYX_ERR(0, 1361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1365
 *     #: The combined 16-bit PCI subsystem ID and 16-bit PCI subsystem vendor
 *     #: ID.
 *     CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports HOST_NUMA location with the virtual memory
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBS, __pyx_t_16) < (0)) __PYX_ERR(0, 1365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1370
 *     #: management APIs like :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemMap`
 *     #: and related APIs
 *     CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports HOST_NUMA location with the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_VI, __pyx_t_16) < (0)) __PYX_ERR(0, 1370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1374
 *     #: Device supports HOST_NUMA location with the
 *     #: :py:obj:`~.cuMemAllocAsync` and :py:obj:`~.cuMemPool` family of APIs
 *     CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports HOST_NUMA location IPC between nodes in a multi-node
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ME, __pyx_t_16) < (0)) __PYX_ERR(0, 1374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1378
 *     #: Device supports HOST_NUMA location IPC between nodes in a multi-node
 *     #: system.
 *     CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED             # <<<<<<<<<<<<<<
 *     CU_DEVICE_ATTRIBUTE_MAX = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX
 * 
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_MU, __pyx_t_16) < (0)) __PYX_ERR(0, 1378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1379
 *     #: system.
 *     CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED
 *     CU_DEVICE_ATTRIBUTE_MAX = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUdevice_attribute = dict(((int(v), v) for k, v in CUdevice_attribute.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX, __pyx_t_16) < (0)) __PYX_ERR(0, 1379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":877
 * _dict_CUfilter_mode = dict(((int(v), v) for k, v in CUfilter_mode.__members__.items()))
 * 
 * class CUdevice_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Device properties
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUdevice_attribute, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUdevice_attribute, __pyx_t_16) < (0)) __PYX_ERR(0, 877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1381
 *     CU_DEVICE_ATTRIBUTE_MAX = cydriver.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX
 * 
 * _dict_CUdevice_attribute = dict(((int(v), v) for k, v in CUdevice_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUpointer_attribute(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdevice_attribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1008genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUdevice_attribute, __pyx_t_18) < (0)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1383
 * _dict_CUdevice_attribute = dict(((int(v), v) for k, v in CUdevice_attribute.__members__.items()))
 * 
 * class CUpointer_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Pointer information
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Pointer_information); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 1383, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1390
 *     #: The :py:obj:`~.CUcontext` on which a pointer was allocated or
 *     #: registered
 *     CU_POINTER_ATTRIBUTE_CONTEXT = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT             # <<<<<<<<<<<<<<
 * 
 *     #: The :py:obj:`~.CUmemorytype` describing the physical location of a
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_CONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_CONTEXT, __pyx_t_3) < (0)) __PYX_ERR(0, 1390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1394
 *     #: The :py:obj:`~.CUmemorytype` describing the physical location of a
 *     #: pointer
 *     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE             # <<<<<<<<<<<<<<
 * 
 *     #: The address at which a pointer's memory may be accessed on the
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MEMORY_TYPE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_MEMORY_TYPE, __pyx_t_3) < (0)) __PYX_ERR(0, 1394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1398
 *     #: The address at which a pointer's memory may be accessed on the
 *     #: device
 *     CU_POINTER_ATTRIBUTE_DEVICE_POINTER = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER             # <<<<<<<<<<<<<<
 * 
 *     #: The address at which a pointer's memory may be accessed on the host
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_DEVICE_POINTER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_DEVICE_POIN, __pyx_t_3) < (0)) __PYX_ERR(0, 1398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1401
 * 
 *     #: The address at which a pointer's memory may be accessed on the host
 *     CU_POINTER_ATTRIBUTE_HOST_POINTER = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER             # <<<<<<<<<<<<<<
 * 
 *     #: A pair of tokens for use with the nv-p2p.h Linux kernel interface
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_HOST_POINTER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_HOST_POINTE, __pyx_t_3) < (0)) __PYX_ERR(0, 1401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1404
 * 
 *     #: A pair of tokens for use with the nv-p2p.h Linux kernel interface
 *     CU_POINTER_ATTRIBUTE_P2P_TOKENS = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS             # <<<<<<<<<<<<<<
 * 
 *     #: Synchronize every synchronous memory operation initiated on this
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_P2P_TOKENS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_P2P_TOKENS, __pyx_t_3) < (0)) __PYX_ERR(0, 1404, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1408
 *     #: Synchronize every synchronous memory operation initiated on this
 *     #: region
 *     CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS             # <<<<<<<<<<<<<<
 * 
 *     #: A process-wide unique ID for an allocated memory region
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_SYNC_MEMOPS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, __pyx_t_3) < (0)) __PYX_ERR(0, 1408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1411
 * 
 *     #: A process-wide unique ID for an allocated memory region
 *     CU_POINTER_ATTRIBUTE_BUFFER_ID = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates if the pointer points to managed memory
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_BUFFER_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_BUFFER_ID, __pyx_t_3) < (0)) __PYX_ERR(0, 1411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1414
 * 
 *     #: Indicates if the pointer points to managed memory
 *     CU_POINTER_ATTRIBUTE_IS_MANAGED = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED             # <<<<<<<<<<<<<<
 * 
 *     #: A device ordinal of a device on which a pointer was allocated or
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_IS_MANAGED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_IS_MANAGED, __pyx_t_3) < (0)) __PYX_ERR(0, 1414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1418
 *     #: A device ordinal of a device on which a pointer was allocated or
 *     #: registered
 *     CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL             # <<<<<<<<<<<<<<
 * 
 *     #: 1 if this pointer maps to an allocation that is suitable for
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_DEVICE_ORDI, __pyx_t_3) < (0)) __PYX_ERR(0, 1418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1422
 *     #: 1 if this pointer maps to an allocation that is suitable for
 *     #: :py:obj:`~.cudaIpcGetMemHandle`, 0 otherwise
 *     CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Starting address for this requested pointer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_IS_LEGACY_C, __pyx_t_3) < (0)) __PYX_ERR(0, 1422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1425
 * 
 *     #: Starting address for this requested pointer
 *     CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR             # <<<<<<<<<<<<<<
 * 
 *     #: Size of the address range for this requested pointer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_RANGE_START_ADDR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_RANGE_START, __pyx_t_3) < (0)) __PYX_ERR(0, 1425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1428
 * 
 *     #: Size of the address range for this requested pointer
 *     CU_POINTER_ATTRIBUTE_RANGE_SIZE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: 1 if this pointer is in a valid address range that is mapped to a
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_RANGE_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_RANGE_SIZE, __pyx_t_3) < (0)) __PYX_ERR(0, 1428, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1432
 *     #: 1 if this pointer is in a valid address range that is mapped to a
 *     #: backing allocation, 0 otherwise
 *     CU_POINTER_ATTRIBUTE_MAPPED = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED             # <<<<<<<<<<<<<<
 * 
 *     #: Bitmask of allowed :py:obj:`~.CUmemAllocationHandleType` for this
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MAPPED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPED, __pyx_t_3) < (0)) __PYX_ERR(0, 1432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1436
 *     #: Bitmask of allowed :py:obj:`~.CUmemAllocationHandleType` for this
 *     #: allocation
 *     CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES             # <<<<<<<<<<<<<<
 * 
 *     #: 1 if the memory this pointer is referencing can be used with the
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_ALLOWED_HAN, __pyx_t_3) < (0)) __PYX_ERR(0, 1436, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1440
 *     #: 1 if the memory this pointer is referencing can be used with the
 *     #: GPUDirect RDMA API
 *     CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Returns the access flags the device associated with the current
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE, __pyx_t_3) < (0)) __PYX_ERR(0, 1440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1445
 *     #: context has on the corresponding memory referenced by the pointer
 *     #: given
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS             # <<<<<<<<<<<<<<
 * 
 *     #: Returns the mempool handle for the allocation if it was allocated
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_ACCESS_FLAGS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG, __pyx_t_3) < (0)) __PYX_ERR(0, 1445, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1449
 *     #: Returns the mempool handle for the allocation if it was allocated
 *     #: from a mempool. Otherwise returns NULL.
 *     CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE             # <<<<<<<<<<<<<<
 * 
 *     #: Size of the actual underlying mapping that the pointer belongs to
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN, __pyx_t_3) < (0)) __PYX_ERR(0, 1449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1452
 * 
 *     #: Size of the actual underlying mapping that the pointer belongs to
 *     CU_POINTER_ATTRIBUTE_MAPPING_SIZE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPING_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: The start address of the mapping that the pointer belongs to
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MAPPING_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPING_SIZ, __pyx_t_3) < (0)) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1455
 * 
 *     #: The start address of the mapping that the pointer belongs to
 *     CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR             # <<<<<<<<<<<<<<
 * 
 *     #: A process-wide unique id corresponding to the physical allocation
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPING_BAS, __pyx_t_3) < (0)) __PYX_ERR(0, 1455, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1459
 *     #: A process-wide unique id corresponding to the physical allocation
 *     #: the pointer belongs to
 *     CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Returns in `*data` a boolean that indicates whether the pointer
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_MEMORY_BLOC, __pyx_t_3) < (0)) __PYX_ERR(0, 1459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1464
 *     #: points to memory that is capable to be used for hardware accelerated
 *     #: decompression.
 *     CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUpointer_attribute = dict(((int(v), v) for k, v in CUpointer_attribute.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_IS_HW_DECOM, __pyx_t_3) < (0)) __PYX_ERR(0, 1464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1383
 * _dict_CUdevice_attribute = dict(((int(v), v) for k, v in CUdevice_attribute.__members__.items()))
 * 
 * class CUpointer_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Pointer information
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute, __pyx_t_3) < (0)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1466
 *     CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE = cydriver.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE
 * 
 * _dict_CUpointer_attribute = dict(((int(v), v) for k, v in CUpointer_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunction_attribute(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1011genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUpointer_attribute, __pyx_t_17) < (0)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1468
 * _dict_CUpointer_attribute = dict(((int(v), v) for k, v in CUpointer_attribute.__members__.items()))
 * 
 * class CUfunction_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Function properties
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Function_properties); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 1468, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1476
 *     #: the function would fail. This number depends on both the function
 *     #: and the device on which the function is currently loaded.
 *     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: The size in bytes of statically-allocated shared memory required by
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE, __pyx_t_18) < (0)) __PYX_ERR(0, 1476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1481
 *     #: this function. This does not include dynamically-allocated shared
 *     #: memory requested by the user at runtime.
 *     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: The size in bytes of user-allocated constant memory required by this
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY, __pyx_t_18) < (0)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1485
 *     #: The size in bytes of user-allocated constant memory required by this
 *     #: function.
 *     CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: The size in bytes of local memory used by each thread of this
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT, __pyx_t_18) < (0)) __PYX_ERR(0, 1485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1489
 *     #: The size in bytes of local memory used by each thread of this
 *     #: function.
 *     CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: The number of registers used by each thread of this function.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT, __pyx_t_18) < (0)) __PYX_ERR(0, 1489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1492
 * 
 *     #: The number of registers used by each thread of this function.
 *     CU_FUNC_ATTRIBUTE_NUM_REGS = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_NUM_REGS             # <<<<<<<<<<<<<<
 * 
 *     #: The PTX virtual architecture version for which the function was
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_NUM_REGS); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_NUM_REGS, __pyx_t_18) < (0)) __PYX_ERR(0, 1492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1499
 *     #: Note that this may return the undefined value of 0 for cubins
 *     #: compiled prior to CUDA 3.0.
 *     CU_FUNC_ATTRIBUTE_PTX_VERSION = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_PTX_VERSION             # <<<<<<<<<<<<<<
 * 
 *     #: The binary architecture version for which the function was compiled.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_PTX_VERSION); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_PTX_VERSION, __pyx_t_18) < (0)) __PYX_ERR(0, 1499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1506
 *     #: Note that this will return a value of 10 for legacy cubins that do
 *     #: not have a properly-encoded binary architecture version.
 *     CU_FUNC_ATTRIBUTE_BINARY_VERSION = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_BINARY_VERSION             # <<<<<<<<<<<<<<
 * 
 *     #: The attribute to indicate whether the function has been compiled
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_BINARY_VERSION); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_BINARY_VERSION, __pyx_t_18) < (0)) __PYX_ERR(0, 1506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1510
 *     #: The attribute to indicate whether the function has been compiled
 *     #: with user specified option "-Xptxas --dlcm=ca" set .
 *     CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CACHE_MODE_CA             # <<<<<<<<<<<<<<
 * 
 *     #: The maximum size in bytes of dynamically-allocated shared memory
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_CACHE_MODE_CA); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA, __pyx_t_18) < (0)) __PYX_ERR(0, 1510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1516
 *     #: shared memory size is larger than this value, the launch will fail.
 *     #: See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: On devices where the L1 cache and shared memory use the same
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH, __pyx_t_18) < (0)) __PYX_ERR(0, 1516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1525
 *     #: required to execute the function. See
 *     #: :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT             # <<<<<<<<<<<<<<
 * 
 *     #: If this attribute is set, the kernel must launch with a valid
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR, __pyx_t_18) < (0)) __PYX_ERR(0, 1525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1530
 *     #: cluster size specified. See :py:obj:`~.cuFuncSetAttribute`,
 *     #: :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET             # <<<<<<<<<<<<<<
 * 
 *     #: The required cluster width in blocks. The values must either all be
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M, __pyx_t_18) < (0)) __PYX_ERR(0, 1530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1539
 *     #: runtime. Setting it at runtime will return CUDA_ERROR_NOT_PERMITTED.
 *     #: See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: The required cluster height in blocks. The values must either all be
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST, __pyx_t_18) < (0)) __PYX_ERR(0, 1539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1549
 *     #: CUDA_ERROR_NOT_PERMITTED. See :py:obj:`~.cuFuncSetAttribute`,
 *     #: :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: The required cluster depth in blocks. The values must either all be
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2, __pyx_t_18) < (0)) __PYX_ERR(0, 1549, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1559
 *     #: CUDA_ERROR_NOT_PERMITTED. See :py:obj:`~.cuFuncSetAttribute`,
 *     #: :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH             # <<<<<<<<<<<<<<
 * 
 *     #: Whether the function can be launched with non-portable cluster size.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3, __pyx_t_18) < (0)) __PYX_ERR(0, 1559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1580
 *     #: not guaranteed to be portable. See :py:obj:`~.cuFuncSetAttribute`,
 *     #: :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED             # <<<<<<<<<<<<<<
 * 
 *     #: The block scheduling policy of a function. The value type is
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C, __pyx_t_18) < (0)) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1585
 *     #: CUclusterSchedulingPolicy / cudaClusterSchedulingPolicy. See
 *     #: :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 *     CU_FUNC_ATTRIBUTE_MAX = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU, __pyx_t_18) < (0)) __PYX_ERR(0, 1585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1586
 *     #: :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE
 *     CU_FUNC_ATTRIBUTE_MAX = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUfunction_attribute = dict(((int(v), v) for k, v in CUfunction_attribute.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_MAX); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FUNC_ATTRIBUTE_MAX, __pyx_t_18) < (0)) __PYX_ERR(0, 1586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1468
 * _dict_CUpointer_attribute = dict(((int(v), v) for k, v in CUpointer_attribute.__members__.items()))
 * 
 * class CUfunction_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Function properties
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute, __pyx_t_18) < (0)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1588
 *     CU_FUNC_ATTRIBUTE_MAX = cydriver.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX
 * 
 * _dict_CUfunction_attribute = dict(((int(v), v) for k, v in CUfunction_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunc_cache(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1014genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUfunction_attribute, __pyx_t_16) < (0)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1590
 * _dict_CUfunction_attribute = dict(((int(v), v) for k, v in CUfunction_attribute.__members__.items()))
 * 
 * class CUfunc_cache(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Function cache configurations
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUfunc_cache, __pyx_mstate_global->__pyx_n_u_CUfunc_cache, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Function_cache_configurations); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 1590, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1596
 * 
 *     #: no preference for shared memory or L1 (default)
 *     CU_FUNC_CACHE_PREFER_NONE = cydriver.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: prefer larger shared memory and smaller L1 cache
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfunc_cache_enum(CU_FUNC_CACHE_PREFER_NONE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FUNC_CACHE_PREFER_NONE, __pyx_t_17) < (0)) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1599
 * 
 *     #: prefer larger shared memory and smaller L1 cache
 *     CU_FUNC_CACHE_PREFER_SHARED = cydriver.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_SHARED             # <<<<<<<<<<<<<<
 * 
 *     #: prefer larger L1 cache and smaller shared memory
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfunc_cache_enum(CU_FUNC_CACHE_PREFER_SHARED); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FUNC_CACHE_PREFER_SHARED, __pyx_t_17) < (0)) __PYX_ERR(0, 1599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1602
 * 
 *     #: prefer larger L1 cache and smaller shared memory
 *     CU_FUNC_CACHE_PREFER_L1 = cydriver.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_L1             # <<<<<<<<<<<<<<
 * 
 *     #: prefer equal sized L1 cache and shared memory
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfunc_cache_enum(CU_FUNC_CACHE_PREFER_L1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FUNC_CACHE_PREFER_L1, __pyx_t_17) < (0)) __PYX_ERR(0, 1602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1605
 * 
 *     #: prefer equal sized L1 cache and shared memory
 *     CU_FUNC_CACHE_PREFER_EQUAL = cydriver.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_EQUAL             # <<<<<<<<<<<<<<
 * 
 * _dict_CUfunc_cache = dict(((int(v), v) for k, v in CUfunc_cache.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfunc_cache_enum(CU_FUNC_CACHE_PREFER_EQUAL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FUNC_CACHE_PREFER_EQUAL, __pyx_t_17) < (0)) __PYX_ERR(0, 1605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1590
 * _dict_CUfunction_attribute = dict(((int(v), v) for k, v in CUfunction_attribute.__members__.items()))
 * 
 * class CUfunc_cache(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Function cache configurations
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUfunc_cache, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUfunc_cache, __pyx_t_17) < (0)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1607
 *     CU_FUNC_CACHE_PREFER_EQUAL = cydriver.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_EQUAL
 * 
 * _dict_CUfunc_cache = dict(((int(v), v) for k, v in CUfunc_cache.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUsharedconfig(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUfunc_cache); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1017genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUfunc_cache, __pyx_t_3) < (0)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1609
 * _dict_CUfunc_cache = dict(((int(v), v) for k, v in CUfunc_cache.__members__.items()))
 * 
 * class CUsharedconfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     [Deprecated]  Shared memory configurations
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUsharedconfig, __pyx_mstate_global->__pyx_n_u_CUsharedconfig, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Deprecated_Shared_memory_config); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 1609, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1615
 * 
 *     #: set default shared memory bank size
 *     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = cydriver.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: set shared memory bank width to four bytes
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUsharedconfig_enum(CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_SHARED_MEM_CONFIG_DEFAULT_BAN, __pyx_t_16) < (0)) __PYX_ERR(0, 1615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1618
 * 
 *     #: set shared memory bank width to four bytes
 *     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = cydriver.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: set shared memory bank width to eight bytes
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUsharedconfig_enum(CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B, __pyx_t_16) < (0)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1621
 * 
 *     #: set shared memory bank width to eight bytes
 *     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = cydriver.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUsharedconfig = dict(((int(v), v) for k, v in CUsharedconfig.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUsharedconfig_enum(CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_SHARED_MEM_CONFIG_EIGHT_BYTE, __pyx_t_16) < (0)) __PYX_ERR(0, 1621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1609
 * _dict_CUfunc_cache = dict(((int(v), v) for k, v in CUfunc_cache.__members__.items()))
 * 
 * class CUsharedconfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     [Deprecated]  Shared memory configurations
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUsharedconfig, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUsharedconfig, __pyx_t_16) < (0)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1623
 *     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = cydriver.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE
 * 
 * _dict_CUsharedconfig = dict(((int(v), v) for k, v in CUsharedconfig.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUshared_carveout(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUsharedconfig); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1020genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUsharedconfig, __pyx_t_18) < (0)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1625
 * _dict_CUsharedconfig = dict(((int(v), v) for k, v in CUsharedconfig.__members__.items()))
 * 
 * class CUshared_carveout(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Shared memory carveout configurations. These may be passed to
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUshared_carveout, __pyx_mstate_global->__pyx_n_u_CUshared_carveout, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Shared_memory_carveout_configur); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 1625, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1632
 * 
 *     #: No preference for shared memory or L1 (default)
 *     CU_SHAREDMEM_CARVEOUT_DEFAULT = cydriver.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer maximum available L1 cache, minimum shared memory
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUshared_carveout_enum(CU_SHAREDMEM_CARVEOUT_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_SHAREDMEM_CARVEOUT_DEFAULT, __pyx_t_3) < (0)) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1635
 * 
 *     #: Prefer maximum available L1 cache, minimum shared memory
 *     CU_SHAREDMEM_CARVEOUT_MAX_L1 = cydriver.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_L1             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer maximum available shared memory, minimum L1 cache
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUshared_carveout_enum(CU_SHAREDMEM_CARVEOUT_MAX_L1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_SHAREDMEM_CARVEOUT_MAX_L1, __pyx_t_3) < (0)) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1638
 * 
 *     #: Prefer maximum available shared memory, minimum L1 cache
 *     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = cydriver.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_SHARED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUshared_carveout = dict(((int(v), v) for k, v in CUshared_carveout.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUshared_carveout_enum(CU_SHAREDMEM_CARVEOUT_MAX_SHARED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_SHAREDMEM_CARVEOUT_MAX_SHARED, __pyx_t_3) < (0)) __PYX_ERR(0, 1638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1625
 * _dict_CUsharedconfig = dict(((int(v), v) for k, v in CUsharedconfig.__members__.items()))
 * 
 * class CUshared_carveout(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Shared memory carveout configurations. These may be passed to
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUshared_carveout, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUshared_carveout, __pyx_t_3) < (0)) __PYX_ERR(0, 1625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1640
 *     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = cydriver.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_SHARED
 * 
 * _dict_CUshared_carveout = dict(((int(v), v) for k, v in CUshared_carveout.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemorytype(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUshared_carveout); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1023genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUshared_carveout, __pyx_t_17) < (0)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1642
 * _dict_CUshared_carveout = dict(((int(v), v) for k, v in CUshared_carveout.__members__.items()))
 * 
 * class CUmemorytype(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemorytype, __pyx_mstate_global->__pyx_n_u_CUmemorytype, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Memory_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 1642, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1648
 * 
 *     #: Host memory
 *     CU_MEMORYTYPE_HOST = cydriver.CUmemorytype_enum.CU_MEMORYTYPE_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Device memory
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemorytype_enum(CU_MEMORYTYPE_HOST); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEMORYTYPE_HOST, __pyx_t_18) < (0)) __PYX_ERR(0, 1648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1651
 * 
 *     #: Device memory
 *     CU_MEMORYTYPE_DEVICE = cydriver.CUmemorytype_enum.CU_MEMORYTYPE_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: Array memory
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemorytype_enum(CU_MEMORYTYPE_DEVICE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEMORYTYPE_DEVICE, __pyx_t_18) < (0)) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1654
 * 
 *     #: Array memory
 *     CU_MEMORYTYPE_ARRAY = cydriver.CUmemorytype_enum.CU_MEMORYTYPE_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: Unified device or host memory
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemorytype_enum(CU_MEMORYTYPE_ARRAY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEMORYTYPE_ARRAY, __pyx_t_18) < (0)) __PYX_ERR(0, 1654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1657
 * 
 *     #: Unified device or host memory
 *     CU_MEMORYTYPE_UNIFIED = cydriver.CUmemorytype_enum.CU_MEMORYTYPE_UNIFIED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemorytype = dict(((int(v), v) for k, v in CUmemorytype.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemorytype_enum(CU_MEMORYTYPE_UNIFIED); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEMORYTYPE_UNIFIED, __pyx_t_18) < (0)) __PYX_ERR(0, 1657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1642
 * _dict_CUshared_carveout = dict(((int(v), v) for k, v in CUshared_carveout.__members__.items()))
 * 
 * class CUmemorytype(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory types
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemorytype, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemorytype, __pyx_t_18) < (0)) __PYX_ERR(0, 1642, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1659
 *     CU_MEMORYTYPE_UNIFIED = cydriver.CUmemorytype_enum.CU_MEMORYTYPE_UNIFIED
 * 
 * _dict_CUmemorytype = dict(((int(v), v) for k, v in CUmemorytype.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcomputemode(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemorytype); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1026genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemorytype, __pyx_t_16) < (0)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1661
 * _dict_CUmemorytype = dict(((int(v), v) for k, v in CUmemorytype.__members__.items()))
 * 
 * class CUcomputemode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Compute Modes
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUcomputemode, __pyx_mstate_global->__pyx_n_u_CUcomputemode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Compute_Modes); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 1661, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1667
 * 
 *     #: Default compute mode (Multiple contexts allowed per device)
 *     CU_COMPUTEMODE_DEFAULT = cydriver.CUcomputemode_enum.CU_COMPUTEMODE_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Compute-prohibited mode (No contexts can be created on this device
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUcomputemode_enum(CU_COMPUTEMODE_DEFAULT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_COMPUTEMODE_DEFAULT, __pyx_t_17) < (0)) __PYX_ERR(0, 1667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1671
 *     #: Compute-prohibited mode (No contexts can be created on this device
 *     #: at this time)
 *     CU_COMPUTEMODE_PROHIBITED = cydriver.CUcomputemode_enum.CU_COMPUTEMODE_PROHIBITED             # <<<<<<<<<<<<<<
 * 
 *     #: Compute-exclusive-process mode (Only one context used by a single
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUcomputemode_enum(CU_COMPUTEMODE_PROHIBITED); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_COMPUTEMODE_PROHIBITED, __pyx_t_17) < (0)) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1675
 *     #: Compute-exclusive-process mode (Only one context used by a single
 *     #: process can be present on this device at a time)
 *     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = cydriver.CUcomputemode_enum.CU_COMPUTEMODE_EXCLUSIVE_PROCESS             # <<<<<<<<<<<<<<
 * 
 * _dict_CUcomputemode = dict(((int(v), v) for k, v in CUcomputemode.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUcomputemode_enum(CU_COMPUTEMODE_EXCLUSIVE_PROCESS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_COMPUTEMODE_EXCLUSIVE_PROCESS, __pyx_t_17) < (0)) __PYX_ERR(0, 1675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1661
 * _dict_CUmemorytype = dict(((int(v), v) for k, v in CUmemorytype.__members__.items()))
 * 
 * class CUcomputemode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Compute Modes
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUcomputemode, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUcomputemode, __pyx_t_17) < (0)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1677
 *     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = cydriver.CUcomputemode_enum.CU_COMPUTEMODE_EXCLUSIVE_PROCESS
 * 
 * _dict_CUcomputemode = dict(((int(v), v) for k, v in CUcomputemode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmem_advise(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUcomputemode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1029genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUcomputemode, __pyx_t_3) < (0)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1679
 * _dict_CUcomputemode = dict(((int(v), v) for k, v in CUcomputemode.__members__.items()))
 * 
 * class CUmem_advise(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory advise values
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmem_advise, __pyx_mstate_global->__pyx_n_u_CUmem_advise, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Memory_advise_values); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 1679, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1685
 * 
 *     #: Data will mostly be read and only occasionally be written to
 *     CU_MEM_ADVISE_SET_READ_MOSTLY = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_SET_READ_MOSTLY             # <<<<<<<<<<<<<<
 * 
 *     #: Undo the effect of :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_SET_READ_MOSTLY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_ADVISE_SET_READ_MOSTLY, __pyx_t_16) < (0)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1688
 * 
 *     #: Undo the effect of :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`
 *     CU_MEM_ADVISE_UNSET_READ_MOSTLY = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_READ_MOSTLY             # <<<<<<<<<<<<<<
 * 
 *     #: Set the preferred location for the data as the specified device
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_UNSET_READ_MOSTLY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_ADVISE_UNSET_READ_MOSTLY, __pyx_t_16) < (0)) __PYX_ERR(0, 1688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1691
 * 
 *     #: Set the preferred location for the data as the specified device
 *     CU_MEM_ADVISE_SET_PREFERRED_LOCATION = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_SET_PREFERRED_LOCATION             # <<<<<<<<<<<<<<
 * 
 *     #: Clear the preferred location for the data
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_SET_PREFERRED_LOCATION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_ADVISE_SET_PREFERRED_LOCA, __pyx_t_16) < (0)) __PYX_ERR(0, 1691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1694
 * 
 *     #: Clear the preferred location for the data
 *     CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION             # <<<<<<<<<<<<<<
 * 
 *     #: Data will be accessed by the specified device, so prevent page
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_ADVISE_UNSET_PREFERRED_LO, __pyx_t_16) < (0)) __PYX_ERR(0, 1694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1698
 *     #: Data will be accessed by the specified device, so prevent page
 *     #: faults as much as possible
 *     CU_MEM_ADVISE_SET_ACCESSED_BY = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_SET_ACCESSED_BY             # <<<<<<<<<<<<<<
 * 
 *     #: Let the Unified Memory subsystem decide on the page faulting policy
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_SET_ACCESSED_BY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_ADVISE_SET_ACCESSED_BY, __pyx_t_16) < (0)) __PYX_ERR(0, 1698, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1702
 *     #: Let the Unified Memory subsystem decide on the page faulting policy
 *     #: for the specified device
 *     CU_MEM_ADVISE_UNSET_ACCESSED_BY = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_ACCESSED_BY             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmem_advise = dict(((int(v), v) for k, v in CUmem_advise.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_UNSET_ACCESSED_BY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_ADVISE_UNSET_ACCESSED_BY, __pyx_t_16) < (0)) __PYX_ERR(0, 1702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1679
 * _dict_CUcomputemode = dict(((int(v), v) for k, v in CUcomputemode.__members__.items()))
 * 
 * class CUmem_advise(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory advise values
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmem_advise, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmem_advise, __pyx_t_16) < (0)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1704
 *     CU_MEM_ADVISE_UNSET_ACCESSED_BY = cydriver.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_ACCESSED_BY
 * 
 * _dict_CUmem_advise = dict(((int(v), v) for k, v in CUmem_advise.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmem_range_attribute(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmem_advise); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1032genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmem_advise, __pyx_t_18) < (0)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1706
 * _dict_CUmem_advise = dict(((int(v), v) for k, v in CUmem_advise.__members__.items()))
 * 
 * class CUmem_range_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmem_range_attribute, __pyx_mstate_global->__pyx_n_u_CUmem_range_attribute, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 1706, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1713
 *     #: Whether the range will mostly be read and only occasionally be
 *     #: written to
 *     CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY             # <<<<<<<<<<<<<<
 * 
 *     #: The preferred location of the range
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_READ_MOST, __pyx_t_3) < (0)) __PYX_ERR(0, 1713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1716
 * 
 *     #: The preferred location of the range
 *     CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION             # <<<<<<<<<<<<<<
 * 
 *     #: Memory range has :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` set for
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED, __pyx_t_3) < (0)) __PYX_ERR(0, 1716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1720
 *     #: Memory range has :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` set for
 *     #: specified device
 *     CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY             # <<<<<<<<<<<<<<
 * 
 *     #: The last location to which the range was prefetched
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_ACCESSED, __pyx_t_3) < (0)) __PYX_ERR(0, 1720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1723
 * 
 *     #: The last location to which the range was prefetched
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION             # <<<<<<<<<<<<<<
 * 
 *     #: The preferred location type of the range
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF, __pyx_t_3) < (0)) __PYX_ERR(0, 1723, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1726
 * 
 *     #: The preferred location type of the range
 *     CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE             # <<<<<<<<<<<<<<
 * 
 *     #: The preferred location id of the range
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2, __pyx_t_3) < (0)) __PYX_ERR(0, 1726, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1729
 * 
 *     #: The preferred location id of the range
 *     CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID             # <<<<<<<<<<<<<<
 * 
 *     #: The last location type to which the range was prefetched
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3, __pyx_t_3) < (0)) __PYX_ERR(0, 1729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1732
 * 
 *     #: The last location type to which the range was prefetched
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE             # <<<<<<<<<<<<<<
 * 
 *     #: The last location id to which the range was prefetched
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2, __pyx_t_3) < (0)) __PYX_ERR(0, 1732, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1735
 * 
 *     #: The last location id to which the range was prefetched
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmem_range_attribute = dict(((int(v), v) for k, v in CUmem_range_attribute.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3, __pyx_t_3) < (0)) __PYX_ERR(0, 1735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":1706
 * _dict_CUmem_advise = dict(((int(v), v) for k, v in CUmem_advise.__members__.items()))
 * 
 * class CUmem_range_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmem_range_attribute, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmem_range_attribute, __pyx_t_3) < (0)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1737
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID = cydriver.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID
 * 
 * _dict_CUmem_range_attribute = dict(((int(v), v) for k, v in CUmem_range_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_option(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmem_range_attribute); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1035genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmem_range_attribute, __pyx_t_17) < (0)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1739
 * _dict_CUmem_range_attribute = dict(((int(v), v) for k, v in CUmem_range_attribute.__members__.items()))
 * 
 * class CUjit_option(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Online compiler and linker options
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUjit_option, __pyx_mstate_global->__pyx_n_u_CUjit_option, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Online_compiler_and_linker_opti); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 1739, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1747
 *     #: Option type: unsigned int
 *     #: Applies to: compiler only
 *     CU_JIT_MAX_REGISTERS = cydriver.CUjit_option_enum.CU_JIT_MAX_REGISTERS             # <<<<<<<<<<<<<<
 * 
 *     #: IN: Specifies minimum number of threads per block to target
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_MAX_REGISTERS); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_MAX_REGISTERS, __pyx_t_18) < (0)) __PYX_ERR(0, 1747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1760
 *     #: Option type: unsigned int
 *     #: Applies to: compiler only
 *     CU_JIT_THREADS_PER_BLOCK = cydriver.CUjit_option_enum.CU_JIT_THREADS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Overwrites the option value with the total wall clock time, in
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_THREADS_PER_BLOCK); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_THREADS_PER_BLOCK, __pyx_t_18) < (0)) __PYX_ERR(0, 1760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1766
 *     #: Option type: float
 *     #: Applies to: compiler and linker
 *     CU_JIT_WALL_TIME = cydriver.CUjit_option_enum.CU_JIT_WALL_TIME             # <<<<<<<<<<<<<<
 * 
 *     #: Pointer to a buffer in which to print any log messages that are
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_WALL_TIME); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_WALL_TIME, __pyx_t_18) < (0)) __PYX_ERR(0, 1766, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1773
 *     #: Option type: char *
 *     #: Applies to: compiler and linker
 *     CU_JIT_INFO_LOG_BUFFER = cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER             # <<<<<<<<<<<<<<
 * 
 *     #: IN: Log buffer size in bytes. Log messages will be capped at this
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_INFO_LOG_BUFFER); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_INFO_LOG_BUFFER, __pyx_t_18) < (0)) __PYX_ERR(0, 1773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1780
 *     #: Option type: unsigned int
 *     #: Applies to: compiler and linker
 *     CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = cydriver.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: Pointer to a buffer in which to print any log messages that reflect
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE, __pyx_t_18) < (0)) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1787
 *     #: Option type: char *
 *     #: Applies to: compiler and linker
 *     CU_JIT_ERROR_LOG_BUFFER = cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER             # <<<<<<<<<<<<<<
 * 
 *     #: IN: Log buffer size in bytes. Log messages will be capped at this
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_ERROR_LOG_BUFFER); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_ERROR_LOG_BUFFER, __pyx_t_18) < (0)) __PYX_ERR(0, 1787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1794
 *     #: Option type: unsigned int
 *     #: Applies to: compiler and linker
 *     CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = cydriver.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: Level of optimizations to apply to generated code (0 - 4), with 4
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT, __pyx_t_18) < (0)) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1800
 *     #: Option type: unsigned int
 *     #: Applies to: compiler only
 *     CU_JIT_OPTIMIZATION_LEVEL = cydriver.CUjit_option_enum.CU_JIT_OPTIMIZATION_LEVEL             # <<<<<<<<<<<<<<
 * 
 *     #: No option value required. Determines the target based on the current
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_OPTIMIZATION_LEVEL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_OPTIMIZATION_LEVEL, __pyx_t_18) < (0)) __PYX_ERR(0, 1800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1806
 *     #: Option type: No option value needed
 *     #: Applies to: compiler and linker
 *     CU_JIT_TARGET_FROM_CUCONTEXT = cydriver.CUjit_option_enum.CU_JIT_TARGET_FROM_CUCONTEXT             # <<<<<<<<<<<<<<
 * 
 *     #: Target is chosen based on supplied :py:obj:`~.CUjit_target`. Cannot
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_TARGET_FROM_CUCONTEXT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_TARGET_FROM_CUCONTEXT, __pyx_t_18) < (0)) __PYX_ERR(0, 1806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1813
 *     #: :py:obj:`~.CUjit_target`
 *     #: Applies to: compiler and linker
 *     CU_JIT_TARGET = cydriver.CUjit_option_enum.CU_JIT_TARGET             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies choice of fallback strategy if matching cubin is not
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_TARGET); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_TARGET, __pyx_t_18) < (0)) __PYX_ERR(0, 1813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1822
 *     #: :py:obj:`~.CUjit_fallback`
 *     #: Applies to: compiler only
 *     CU_JIT_FALLBACK_STRATEGY = cydriver.CUjit_option_enum.CU_JIT_FALLBACK_STRATEGY             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies whether to create debug information in output (-g) (0:
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_FALLBACK_STRATEGY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_FALLBACK_STRATEGY, __pyx_t_18) < (0)) __PYX_ERR(0, 1822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1828
 *     #: Option type: int
 *     #: Applies to: compiler and linker
 *     CU_JIT_GENERATE_DEBUG_INFO = cydriver.CUjit_option_enum.CU_JIT_GENERATE_DEBUG_INFO             # <<<<<<<<<<<<<<
 * 
 *     #: Generate verbose log messages (0: false, default)
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_GENERATE_DEBUG_INFO); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_GENERATE_DEBUG_INFO, __pyx_t_18) < (0)) __PYX_ERR(0, 1828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1833
 *     #: Option type: int
 *     #: Applies to: compiler and linker
 *     CU_JIT_LOG_VERBOSE = cydriver.CUjit_option_enum.CU_JIT_LOG_VERBOSE             # <<<<<<<<<<<<<<
 * 
 *     #: Generate line number information (-lineinfo) (0: false, default)
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_LOG_VERBOSE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_LOG_VERBOSE, __pyx_t_18) < (0)) __PYX_ERR(0, 1833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1838
 *     #: Option type: int
 *     #: Applies to: compiler only
 *     CU_JIT_GENERATE_LINE_INFO = cydriver.CUjit_option_enum.CU_JIT_GENERATE_LINE_INFO             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies whether to enable caching explicitly (-dlcm)
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_GENERATE_LINE_INFO); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_GENERATE_LINE_INFO, __pyx_t_18) < (0)) __PYX_ERR(0, 1838, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1845
 *     #: :py:obj:`~.CUjit_cacheMode_enum`
 *     #: Applies to: compiler only
 *     CU_JIT_CACHE_MODE = cydriver.CUjit_option_enum.CU_JIT_CACHE_MODE             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_CACHE_MODE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_CACHE_MODE, __pyx_t_18) < (0)) __PYX_ERR(0, 1845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1848
 * 
 *     #: [Deprecated]
 *     CU_JIT_NEW_SM3X_OPT = cydriver.CUjit_option_enum.CU_JIT_NEW_SM3X_OPT             # <<<<<<<<<<<<<<
 * 
 *     #: This jit option is used for internal purpose only.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_NEW_SM3X_OPT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_NEW_SM3X_OPT, __pyx_t_18) < (0)) __PYX_ERR(0, 1848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1851
 * 
 *     #: This jit option is used for internal purpose only.
 *     CU_JIT_FAST_COMPILE = cydriver.CUjit_option_enum.CU_JIT_FAST_COMPILE             # <<<<<<<<<<<<<<
 * 
 *     #: Array of device symbol names that will be relocated to the
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_FAST_COMPILE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_FAST_COMPILE, __pyx_t_18) < (0)) __PYX_ERR(0, 1851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1865
 *     #: Option type: const char **
 *     #: Applies to: dynamic linker only
 *     CU_JIT_GLOBAL_SYMBOL_NAMES = cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_NAMES             # <<<<<<<<<<<<<<
 * 
 *     #: Array of host addresses that will be used to relocate corresponding
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_GLOBAL_SYMBOL_NAMES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_GLOBAL_SYMBOL_NAMES, __pyx_t_18) < (0)) __PYX_ERR(0, 1865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1872
 *     #: Option type: void **
 *     #: Applies to: dynamic linker only
 *     CU_JIT_GLOBAL_SYMBOL_ADDRESSES = cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_ADDRESSES             # <<<<<<<<<<<<<<
 * 
 *     #: Number of entries in :py:obj:`~.CU_JIT_GLOBAL_SYMBOL_NAMES` and
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_GLOBAL_SYMBOL_ADDRESSES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_GLOBAL_SYMBOL_ADDRESSES, __pyx_t_18) < (0)) __PYX_ERR(0, 1872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1878
 *     #: Option type: unsigned int
 *     #: Applies to: dynamic linker only
 *     CU_JIT_GLOBAL_SYMBOL_COUNT = cydriver.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_GLOBAL_SYMBOL_COUNT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_GLOBAL_SYMBOL_COUNT, __pyx_t_18) < (0)) __PYX_ERR(0, 1878, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1883
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_LTO = cydriver.CUjit_option_enum.CU_JIT_LTO             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_LTO); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_LTO, __pyx_t_18) < (0)) __PYX_ERR(0, 1883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1888
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_FTZ = cydriver.CUjit_option_enum.CU_JIT_FTZ             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_FTZ); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_FTZ, __pyx_t_18) < (0)) __PYX_ERR(0, 1888, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1893
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_PREC_DIV = cydriver.CUjit_option_enum.CU_JIT_PREC_DIV             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_PREC_DIV); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_PREC_DIV, __pyx_t_18) < (0)) __PYX_ERR(0, 1893, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1898
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_PREC_SQRT = cydriver.CUjit_option_enum.CU_JIT_PREC_SQRT             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_PREC_SQRT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_PREC_SQRT, __pyx_t_18) < (0)) __PYX_ERR(0, 1898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1903
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_FMA = cydriver.CUjit_option_enum.CU_JIT_FMA             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_FMA); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_FMA, __pyx_t_18) < (0)) __PYX_ERR(0, 1903, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1908
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_REFERENCED_KERNEL_NAMES = cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_NAMES             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_REFERENCED_KERNEL_NAMES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_REFERENCED_KERNEL_NAMES, __pyx_t_18) < (0)) __PYX_ERR(0, 1908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1913
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_REFERENCED_KERNEL_COUNT = cydriver.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_REFERENCED_KERNEL_COUNT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_REFERENCED_KERNEL_COUNT, __pyx_t_18) < (0)) __PYX_ERR(0, 1913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1918
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_REFERENCED_VARIABLE_NAMES = cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_NAMES             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_REFERENCED_VARIABLE_NAMES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_REFERENCED_VARIABLE_NAMES, __pyx_t_18) < (0)) __PYX_ERR(0, 1918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1923
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_REFERENCED_VARIABLE_COUNT = cydriver.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_REFERENCED_VARIABLE_COUNT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_REFERENCED_VARIABLE_COUNT, __pyx_t_18) < (0)) __PYX_ERR(0, 1923, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1928
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = cydriver.CUjit_option_enum.CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES             # <<<<<<<<<<<<<<
 * 
 *     #: Generate position independent code (0: false)
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA, __pyx_t_18) < (0)) __PYX_ERR(0, 1928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1933
 *     #: Option type: int
 *     #: Applies to: compiler only
 *     CU_JIT_POSITION_INDEPENDENT_CODE = cydriver.CUjit_option_enum.CU_JIT_POSITION_INDEPENDENT_CODE             # <<<<<<<<<<<<<<
 * 
 *     #: This option hints to the JIT compiler the minimum number of CTAs
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_POSITION_INDEPENDENT_CODE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_POSITION_INDEPENDENT_CODE, __pyx_t_18) < (0)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1945
 *     #: precedence over the PTX directive. Option type: unsigned int
 *     #: Applies to: compiler only
 *     CU_JIT_MIN_CTA_PER_SM = cydriver.CUjit_option_enum.CU_JIT_MIN_CTA_PER_SM             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number threads in a thread block, computed as the product of
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_MIN_CTA_PER_SM); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_MIN_CTA_PER_SM, __pyx_t_18) < (0)) __PYX_ERR(0, 1945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1956
 *     #: precedence over the PTX directive. Option type: int
 *     #: Applies to: compiler only
 *     CU_JIT_MAX_THREADS_PER_BLOCK = cydriver.CUjit_option_enum.CU_JIT_MAX_THREADS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: This option lets the values specified using
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_MAX_THREADS_PER_BLOCK); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_MAX_THREADS_PER_BLOCK, __pyx_t_18) < (0)) __PYX_ERR(0, 1956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1965
 *     #: directives. (0: Disable, default; 1: Enable) Option type: int
 *     #: Applies to: compiler only
 *     CU_JIT_OVERRIDE_DIRECTIVE_VALUES = cydriver.CUjit_option_enum.CU_JIT_OVERRIDE_DIRECTIVE_VALUES             # <<<<<<<<<<<<<<
 *     CU_JIT_NUM_OPTIONS = cydriver.CUjit_option_enum.CU_JIT_NUM_OPTIONS
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_OVERRIDE_DIRECTIVE_VALUES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_OVERRIDE_DIRECTIVE_VALUES, __pyx_t_18) < (0)) __PYX_ERR(0, 1965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1966
 *     #: Applies to: compiler only
 *     CU_JIT_OVERRIDE_DIRECTIVE_VALUES = cydriver.CUjit_option_enum.CU_JIT_OVERRIDE_DIRECTIVE_VALUES
 *     CU_JIT_NUM_OPTIONS = cydriver.CUjit_option_enum.CU_JIT_NUM_OPTIONS             # <<<<<<<<<<<<<<
 * 
 * _dict_CUjit_option = dict(((int(v), v) for k, v in CUjit_option.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjit_option_enum(CU_JIT_NUM_OPTIONS); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_NUM_OPTIONS, __pyx_t_18) < (0)) __PYX_ERR(0, 1966, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":1739
 * _dict_CUmem_range_attribute = dict(((int(v), v) for k, v in CUmem_range_attribute.__members__.items()))
 * 
 * class CUjit_option(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Online compiler and linker options
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUjit_option, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUjit_option, __pyx_t_18) < (0)) __PYX_ERR(0, 1739, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1968
 *     CU_JIT_NUM_OPTIONS = cydriver.CUjit_option_enum.CU_JIT_NUM_OPTIONS
 * 
 * _dict_CUjit_option = dict(((int(v), v) for k, v in CUjit_option.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_target(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUjit_option); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1038genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUjit_option, __pyx_t_16) < (0)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":1970
 * _dict_CUjit_option = dict(((int(v), v) for k, v in CUjit_option.__members__.items()))
 * 
 * class CUjit_target(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Online compilation targets
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUjit_target, __pyx_mstate_global->__pyx_n_u_CUjit_target, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Online_compilation_targets); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 1970, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1976
 * 
 *     #: Compute device class 3.0
 *     CU_TARGET_COMPUTE_30 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_30             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 3.2
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_30); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_30, __pyx_t_17) < (0)) __PYX_ERR(0, 1976, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1979
 * 
 *     #: Compute device class 3.2
 *     CU_TARGET_COMPUTE_32 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_32             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 3.5
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_32); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_32, __pyx_t_17) < (0)) __PYX_ERR(0, 1979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1982
 * 
 *     #: Compute device class 3.5
 *     CU_TARGET_COMPUTE_35 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_35             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 3.7
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_35); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_35, __pyx_t_17) < (0)) __PYX_ERR(0, 1982, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1985
 * 
 *     #: Compute device class 3.7
 *     CU_TARGET_COMPUTE_37 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_37             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 5.0
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_37); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_37, __pyx_t_17) < (0)) __PYX_ERR(0, 1985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1988
 * 
 *     #: Compute device class 5.0
 *     CU_TARGET_COMPUTE_50 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_50             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 5.2
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_50); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_50, __pyx_t_17) < (0)) __PYX_ERR(0, 1988, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1991
 * 
 *     #: Compute device class 5.2
 *     CU_TARGET_COMPUTE_52 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_52             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 5.3
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_52); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_52, __pyx_t_17) < (0)) __PYX_ERR(0, 1991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1994
 * 
 *     #: Compute device class 5.3
 *     CU_TARGET_COMPUTE_53 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_53             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 6.0.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_53); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_53, __pyx_t_17) < (0)) __PYX_ERR(0, 1994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1997
 * 
 *     #: Compute device class 6.0.
 *     CU_TARGET_COMPUTE_60 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_60             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 6.1.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_60); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_60, __pyx_t_17) < (0)) __PYX_ERR(0, 1997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2000
 * 
 *     #: Compute device class 6.1.
 *     CU_TARGET_COMPUTE_61 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_61             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 6.2.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_61); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_61, __pyx_t_17) < (0)) __PYX_ERR(0, 2000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2003
 * 
 *     #: Compute device class 6.2.
 *     CU_TARGET_COMPUTE_62 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_62             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 7.0.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_62); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_62, __pyx_t_17) < (0)) __PYX_ERR(0, 2003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2006
 * 
 *     #: Compute device class 7.0.
 *     CU_TARGET_COMPUTE_70 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_70             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 7.2.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_70); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_70, __pyx_t_17) < (0)) __PYX_ERR(0, 2006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2009
 * 
 *     #: Compute device class 7.2.
 *     CU_TARGET_COMPUTE_72 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_72             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 7.5.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_72); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_72, __pyx_t_17) < (0)) __PYX_ERR(0, 2009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2012
 * 
 *     #: Compute device class 7.5.
 *     CU_TARGET_COMPUTE_75 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_75             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 8.0.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_75); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_75, __pyx_t_17) < (0)) __PYX_ERR(0, 2012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2015
 * 
 *     #: Compute device class 8.0.
 *     CU_TARGET_COMPUTE_80 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_80             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 8.6.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_80); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_80, __pyx_t_17) < (0)) __PYX_ERR(0, 2015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2018
 * 
 *     #: Compute device class 8.6.
 *     CU_TARGET_COMPUTE_86 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_86             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 8.7.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_86); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_86, __pyx_t_17) < (0)) __PYX_ERR(0, 2018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2021
 * 
 *     #: Compute device class 8.7.
 *     CU_TARGET_COMPUTE_87 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_87             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 8.9.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_87); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_87, __pyx_t_17) < (0)) __PYX_ERR(0, 2021, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2024
 * 
 *     #: Compute device class 8.9.
 *     CU_TARGET_COMPUTE_89 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_89             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 9.0.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_89); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_89, __pyx_t_17) < (0)) __PYX_ERR(0, 2024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2027
 * 
 *     #: Compute device class 9.0.
 *     CU_TARGET_COMPUTE_90 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_90             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.0.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_90); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_90, __pyx_t_17) < (0)) __PYX_ERR(0, 2027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2030
 * 
 *     #: Compute device class 10.0.
 *     CU_TARGET_COMPUTE_100 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_100             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.1.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_100); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_100, __pyx_t_17) < (0)) __PYX_ERR(0, 2030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2033
 * 
 *     #: Compute device class 10.1.
 *     CU_TARGET_COMPUTE_101 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_101             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.3.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_101); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_101, __pyx_t_17) < (0)) __PYX_ERR(0, 2033, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2036
 * 
 *     #: Compute device class 10.3.
 *     CU_TARGET_COMPUTE_103 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_103             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 12.0.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_103); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_103, __pyx_t_17) < (0)) __PYX_ERR(0, 2036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2039
 * 
 *     #: Compute device class 12.0.
 *     CU_TARGET_COMPUTE_120 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_120             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 12.1. Compute device class 9.0. with
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_120); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_120, __pyx_t_17) < (0)) __PYX_ERR(0, 2039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2043
 *     #: Compute device class 12.1. Compute device class 9.0. with
 *     #: accelerated features.
 *     CU_TARGET_COMPUTE_121 = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_121             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.0. with accelerated features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_121); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_121, __pyx_t_17) < (0)) __PYX_ERR(0, 2043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2046
 * 
 *     #: Compute device class 10.0. with accelerated features.
 *     CU_TARGET_COMPUTE_90A = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_90A             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.1 with accelerated features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_90A); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_90A, __pyx_t_17) < (0)) __PYX_ERR(0, 2046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2049
 * 
 *     #: Compute device class 10.1 with accelerated features.
 *     CU_TARGET_COMPUTE_100A = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_100A             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.3. with accelerated features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_100A); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_100A, __pyx_t_17) < (0)) __PYX_ERR(0, 2049, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2052
 * 
 *     #: Compute device class 10.3. with accelerated features.
 *     CU_TARGET_COMPUTE_101A = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_101A             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 12.0. with accelerated features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_101A); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_101A, __pyx_t_17) < (0)) __PYX_ERR(0, 2052, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2055
 * 
 *     #: Compute device class 12.0. with accelerated features.
 *     CU_TARGET_COMPUTE_103A = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_103A             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 12.1. with accelerated features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_103A); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_103A, __pyx_t_17) < (0)) __PYX_ERR(0, 2055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2058
 * 
 *     #: Compute device class 12.1. with accelerated features.
 *     CU_TARGET_COMPUTE_120A = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_120A             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.x with family features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_120A); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_120A, __pyx_t_17) < (0)) __PYX_ERR(0, 2058, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2061
 * 
 *     #: Compute device class 10.x with family features.
 *     CU_TARGET_COMPUTE_121A = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_121A             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.1 with family features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_121A); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_121A, __pyx_t_17) < (0)) __PYX_ERR(0, 2061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2064
 * 
 *     #: Compute device class 10.1 with family features.
 *     CU_TARGET_COMPUTE_100F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_100F             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 10.3. with family features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_100F); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_100F, __pyx_t_17) < (0)) __PYX_ERR(0, 2064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2067
 * 
 *     #: Compute device class 10.3. with family features.
 *     CU_TARGET_COMPUTE_101F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_101F             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 12.0. with family features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_101F); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_101F, __pyx_t_17) < (0)) __PYX_ERR(0, 2067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2070
 * 
 *     #: Compute device class 12.0. with family features.
 *     CU_TARGET_COMPUTE_103F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_103F             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 12.1. with family features.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_103F); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_103F, __pyx_t_17) < (0)) __PYX_ERR(0, 2070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2073
 * 
 *     #: Compute device class 12.1. with family features.
 *     CU_TARGET_COMPUTE_120F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_120F             # <<<<<<<<<<<<<<
 *     CU_TARGET_COMPUTE_121F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_121F
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_120F); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_120F, __pyx_t_17) < (0)) __PYX_ERR(0, 2073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2074
 *     #: Compute device class 12.1. with family features.
 *     CU_TARGET_COMPUTE_120F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_120F
 *     CU_TARGET_COMPUTE_121F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_121F             # <<<<<<<<<<<<<<
 * 
 * _dict_CUjit_target = dict(((int(v), v) for k, v in CUjit_target.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_121F); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TARGET_COMPUTE_121F, __pyx_t_17) < (0)) __PYX_ERR(0, 2074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":1970
 * _dict_CUjit_option = dict(((int(v), v) for k, v in CUjit_option.__members__.items()))
 * 
 * class CUjit_target(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Online compilation targets
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUjit_target, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUjit_target, __pyx_t_17) < (0)) __PYX_ERR(0, 1970, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2076
 *     CU_TARGET_COMPUTE_121F = cydriver.CUjit_target_enum.CU_TARGET_COMPUTE_121F
 * 
 * _dict_CUjit_target = dict(((int(v), v) for k, v in CUjit_target.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_fallback(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUjit_target); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1041genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUjit_target, __pyx_t_3) < (0)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2078
 * _dict_CUjit_target = dict(((int(v), v) for k, v in CUjit_target.__members__.items()))
 * 
 * class CUjit_fallback(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cubin matching fallback strategies
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUjit_fallback, __pyx_mstate_global->__pyx_n_u_CUjit_fallback, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Cubin_matching_fallback_strateg); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 2078, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2084
 * 
 *     #: Prefer to compile ptx if exact binary match not found
 *     CU_PREFER_PTX = cydriver.CUjit_fallback_enum.CU_PREFER_PTX             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer to fall back to compatible binary code if exact match not
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUjit_fallback_enum(CU_PREFER_PTX); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_PREFER_PTX, __pyx_t_16) < (0)) __PYX_ERR(0, 2084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2088
 *     #: Prefer to fall back to compatible binary code if exact match not
 *     #: found
 *     CU_PREFER_BINARY = cydriver.CUjit_fallback_enum.CU_PREFER_BINARY             # <<<<<<<<<<<<<<
 * 
 * _dict_CUjit_fallback = dict(((int(v), v) for k, v in CUjit_fallback.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUjit_fallback_enum(CU_PREFER_BINARY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_PREFER_BINARY, __pyx_t_16) < (0)) __PYX_ERR(0, 2088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2078
 * _dict_CUjit_target = dict(((int(v), v) for k, v in CUjit_target.__members__.items()))
 * 
 * class CUjit_fallback(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cubin matching fallback strategies
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUjit_fallback, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUjit_fallback, __pyx_t_16) < (0)) __PYX_ERR(0, 2078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2090
 *     CU_PREFER_BINARY = cydriver.CUjit_fallback_enum.CU_PREFER_BINARY
 * 
 * _dict_CUjit_fallback = dict(((int(v), v) for k, v in CUjit_fallback.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjit_cacheMode(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUjit_fallback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1044genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUjit_fallback, __pyx_t_18) < (0)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2092
 * _dict_CUjit_fallback = dict(((int(v), v) for k, v in CUjit_fallback.__members__.items()))
 * 
 * class CUjit_cacheMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Caching modes for dlcm
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUjit_cacheMode, __pyx_mstate_global->__pyx_n_u_CUjit_cacheMode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Caching_modes_for_dlcm); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 2092, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2098
 * 
 *     #: Compile with no -dlcm flag specified
 *     CU_JIT_CACHE_OPTION_NONE = cydriver.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Compile with L1 cache disabled
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUjit_cacheMode_enum(CU_JIT_CACHE_OPTION_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_JIT_CACHE_OPTION_NONE, __pyx_t_3) < (0)) __PYX_ERR(0, 2098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2101
 * 
 *     #: Compile with L1 cache disabled
 *     CU_JIT_CACHE_OPTION_CG = cydriver.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CG             # <<<<<<<<<<<<<<
 * 
 *     #: Compile with L1 cache enabled
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUjit_cacheMode_enum(CU_JIT_CACHE_OPTION_CG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_JIT_CACHE_OPTION_CG, __pyx_t_3) < (0)) __PYX_ERR(0, 2101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2104
 * 
 *     #: Compile with L1 cache enabled
 *     CU_JIT_CACHE_OPTION_CA = cydriver.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CA             # <<<<<<<<<<<<<<
 * 
 * _dict_CUjit_cacheMode = dict(((int(v), v) for k, v in CUjit_cacheMode.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUjit_cacheMode_enum(CU_JIT_CACHE_OPTION_CA); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_JIT_CACHE_OPTION_CA, __pyx_t_3) < (0)) __PYX_ERR(0, 2104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2092
 * _dict_CUjit_fallback = dict(((int(v), v) for k, v in CUjit_fallback.__members__.items()))
 * 
 * class CUjit_cacheMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Caching modes for dlcm
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUjit_cacheMode, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUjit_cacheMode, __pyx_t_3) < (0)) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2106
 *     CU_JIT_CACHE_OPTION_CA = cydriver.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CA
 * 
 * _dict_CUjit_cacheMode = dict(((int(v), v) for k, v in CUjit_cacheMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUjitInputType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUjit_cacheMode); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1047genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUjit_cacheMode, __pyx_t_17) < (0)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2108
 * _dict_CUjit_cacheMode = dict(((int(v), v) for k, v in CUjit_cacheMode.__members__.items()))
 * 
 * class CUjitInputType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Device code formats
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUjitInputType, __pyx_mstate_global->__pyx_n_u_CUjitInputType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Device_code_formats); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 2108, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2115
 *     #: Compiled device-class-specific device code
 *     #: Applicable options: none
 *     CU_JIT_INPUT_CUBIN = cydriver.CUjitInputType_enum.CU_JIT_INPUT_CUBIN             # <<<<<<<<<<<<<<
 * 
 *     #: PTX source code
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjitInputType_enum(CU_JIT_INPUT_CUBIN); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_INPUT_CUBIN, __pyx_t_18) < (0)) __PYX_ERR(0, 2115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2119
 *     #: PTX source code
 *     #: Applicable options: PTX compiler options
 *     CU_JIT_INPUT_PTX = cydriver.CUjitInputType_enum.CU_JIT_INPUT_PTX             # <<<<<<<<<<<<<<
 * 
 *     #: Bundle of multiple cubins and/or PTX of some device code
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjitInputType_enum(CU_JIT_INPUT_PTX); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_INPUT_PTX, __pyx_t_18) < (0)) __PYX_ERR(0, 2119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2124
 *     #: Applicable options: PTX compiler options,
 *     #: :py:obj:`~.CU_JIT_FALLBACK_STRATEGY`
 *     CU_JIT_INPUT_FATBINARY = cydriver.CUjitInputType_enum.CU_JIT_INPUT_FATBINARY             # <<<<<<<<<<<<<<
 * 
 *     #: Host object with embedded device code
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjitInputType_enum(CU_JIT_INPUT_FATBINARY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_INPUT_FATBINARY, __pyx_t_18) < (0)) __PYX_ERR(0, 2124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2129
 *     #: Applicable options: PTX compiler options,
 *     #: :py:obj:`~.CU_JIT_FALLBACK_STRATEGY`
 *     CU_JIT_INPUT_OBJECT = cydriver.CUjitInputType_enum.CU_JIT_INPUT_OBJECT             # <<<<<<<<<<<<<<
 * 
 *     #: Archive of host objects with embedded device code
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjitInputType_enum(CU_JIT_INPUT_OBJECT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_INPUT_OBJECT, __pyx_t_18) < (0)) __PYX_ERR(0, 2129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2134
 *     #: Applicable options: PTX compiler options,
 *     #: :py:obj:`~.CU_JIT_FALLBACK_STRATEGY`
 *     CU_JIT_INPUT_LIBRARY = cydriver.CUjitInputType_enum.CU_JIT_INPUT_LIBRARY             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjitInputType_enum(CU_JIT_INPUT_LIBRARY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_INPUT_LIBRARY, __pyx_t_18) < (0)) __PYX_ERR(0, 2134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2139
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_INPUT_NVVM = cydriver.CUjitInputType_enum.CU_JIT_INPUT_NVVM             # <<<<<<<<<<<<<<
 *     CU_JIT_NUM_INPUT_TYPES = cydriver.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjitInputType_enum(CU_JIT_INPUT_NVVM); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_INPUT_NVVM, __pyx_t_18) < (0)) __PYX_ERR(0, 2139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2140
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_INPUT_NVVM = cydriver.CUjitInputType_enum.CU_JIT_INPUT_NVVM
 *     CU_JIT_NUM_INPUT_TYPES = cydriver.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES             # <<<<<<<<<<<<<<
 * 
 * _dict_CUjitInputType = dict(((int(v), v) for k, v in CUjitInputType.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUjitInputType_enum(CU_JIT_NUM_INPUT_TYPES); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_JIT_NUM_INPUT_TYPES, __pyx_t_18) < (0)) __PYX_ERR(0, 2140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2108
 * _dict_CUjit_cacheMode = dict(((int(v), v) for k, v in CUjit_cacheMode.__members__.items()))
 * 
 * class CUjitInputType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Device code formats
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUjitInputType, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUjitInputType, __pyx_t_18) < (0)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2142
 *     CU_JIT_NUM_INPUT_TYPES = cydriver.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES
 * 
 * _dict_CUjitInputType = dict(((int(v), v) for k, v in CUjitInputType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphicsRegisterFlags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUjitInputType); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1050genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUjitInputType, __pyx_t_16) < (0)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2144
 * _dict_CUjitInputType = dict(((int(v), v) for k, v in CUjitInputType.__members__.items()))
 * 
 * class CUgraphicsRegisterFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to register a graphics resource
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphicsRegisterFlags, __pyx_mstate_global->__pyx_n_u_CUgraphicsRegisterFlags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_to_register_a_graphics_re); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 2144, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2148
 *     Flags to register a graphics resource
 *     """
 *     CU_GRAPHICS_REGISTER_FLAGS_NONE = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_NONE             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_NONE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_NONE, __pyx_t_17) < (0)) __PYX_ERR(0, 2148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2149
 *     """
 *     CU_GRAPHICS_REGISTER_FLAGS_NONE = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_NONE
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD
 *     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_READ, __pyx_t_17) < (0)) __PYX_ERR(0, 2149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2150
 *     CU_GRAPHICS_REGISTER_FLAGS_NONE = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_NONE
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_WRITE, __pyx_t_17) < (0)) __PYX_ERR(0, 2150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2151
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD
 *     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_SURFA, __pyx_t_17) < (0)) __PYX_ERR(0, 2151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2152
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD
 *     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphicsRegisterFlags = dict(((int(v), v) for k, v in CUgraphicsRegisterFlags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_TEXTU, __pyx_t_17) < (0)) __PYX_ERR(0, 2152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2144
 * _dict_CUjitInputType = dict(((int(v), v) for k, v in CUjitInputType.__members__.items()))
 * 
 * class CUgraphicsRegisterFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to register a graphics resource
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphicsRegisterFlags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphicsRegisterFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2154
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = cydriver.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
 * 
 * _dict_CUgraphicsRegisterFlags = dict(((int(v), v) for k, v in CUgraphicsRegisterFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphicsMapResourceFlags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphicsRegisterFlags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1053genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphicsRegisterFlags, __pyx_t_3) < (0)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2156
 * _dict_CUgraphicsRegisterFlags = dict(((int(v), v) for k, v in CUgraphicsRegisterFlags.__members__.items()))
 * 
 * class CUgraphicsMapResourceFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for mapping and unmapping interop resources
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphicsMapResourceFlags, __pyx_mstate_global->__pyx_n_u_CUgraphicsMapResourceFlags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_mapping_and_unmapping); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 2156, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2160
 *     Flags for mapping and unmapping interop resources
 *     """
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphicsMapResourceFlags_enum(CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N, __pyx_t_16) < (0)) __PYX_ERR(0, 2160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2161
 *     """
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphicsMapResourceFlags_enum(CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R, __pyx_t_16) < (0)) __PYX_ERR(0, 2161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2162
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphicsMapResourceFlags = dict(((int(v), v) for k, v in CUgraphicsMapResourceFlags.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphicsMapResourceFlags_enum(CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W, __pyx_t_16) < (0)) __PYX_ERR(0, 2162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2156
 * _dict_CUgraphicsRegisterFlags = dict(((int(v), v) for k, v in CUgraphicsRegisterFlags.__members__.items()))
 * 
 * class CUgraphicsMapResourceFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for mapping and unmapping interop resources
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUgraphicsMapResourceFlags, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphicsMapResourceFlags, __pyx_t_16) < (0)) __PYX_ERR(0, 2156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2164
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 * _dict_CUgraphicsMapResourceFlags = dict(((int(v), v) for k, v in CUgraphicsMapResourceFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarray_cubemap_face(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphicsMapResourceFlags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1056genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphicsMapResourceFlags, __pyx_t_18) < (0)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2166
 * _dict_CUgraphicsMapResourceFlags = dict(((int(v), v) for k, v in CUgraphicsMapResourceFlags.__members__.items()))
 * 
 * class CUarray_cubemap_face(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Array indices for cube faces
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUarray_cubemap_face, __pyx_mstate_global->__pyx_n_u_CUarray_cubemap_face, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Array_indices_for_cube_faces); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 2166, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2172
 * 
 *     #: Positive X face of cubemap
 *     CU_CUBEMAP_FACE_POSITIVE_X = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_POSITIVE_X             # <<<<<<<<<<<<<<
 * 
 *     #: Negative X face of cubemap
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_POSITIVE_X); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_X, __pyx_t_3) < (0)) __PYX_ERR(0, 2172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2175
 * 
 *     #: Negative X face of cubemap
 *     CU_CUBEMAP_FACE_NEGATIVE_X = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_X             # <<<<<<<<<<<<<<
 * 
 *     #: Positive Y face of cubemap
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_NEGATIVE_X); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_X, __pyx_t_3) < (0)) __PYX_ERR(0, 2175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2178
 * 
 *     #: Positive Y face of cubemap
 *     CU_CUBEMAP_FACE_POSITIVE_Y = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_POSITIVE_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Negative Y face of cubemap
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_POSITIVE_Y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_Y, __pyx_t_3) < (0)) __PYX_ERR(0, 2178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2181
 * 
 *     #: Negative Y face of cubemap
 *     CU_CUBEMAP_FACE_NEGATIVE_Y = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Positive Z face of cubemap
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_NEGATIVE_Y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_Y, __pyx_t_3) < (0)) __PYX_ERR(0, 2181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2184
 * 
 *     #: Positive Z face of cubemap
 *     CU_CUBEMAP_FACE_POSITIVE_Z = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_POSITIVE_Z             # <<<<<<<<<<<<<<
 * 
 *     #: Negative Z face of cubemap
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_POSITIVE_Z); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_Z, __pyx_t_3) < (0)) __PYX_ERR(0, 2184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2187
 * 
 *     #: Negative Z face of cubemap
 *     CU_CUBEMAP_FACE_NEGATIVE_Z = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Z             # <<<<<<<<<<<<<<
 * 
 * _dict_CUarray_cubemap_face = dict(((int(v), v) for k, v in CUarray_cubemap_face.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_NEGATIVE_Z); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_Z, __pyx_t_3) < (0)) __PYX_ERR(0, 2187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2166
 * _dict_CUgraphicsMapResourceFlags = dict(((int(v), v) for k, v in CUgraphicsMapResourceFlags.__members__.items()))
 * 
 * class CUarray_cubemap_face(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Array indices for cube faces
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUarray_cubemap_face, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUarray_cubemap_face, __pyx_t_3) < (0)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2189
 *     CU_CUBEMAP_FACE_NEGATIVE_Z = cydriver.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Z
 * 
 * _dict_CUarray_cubemap_face = dict(((int(v), v) for k, v in CUarray_cubemap_face.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlimit(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUarray_cubemap_face); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1059genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUarray_cubemap_face, __pyx_t_17) < (0)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2191
 * _dict_CUarray_cubemap_face = dict(((int(v), v) for k, v in CUarray_cubemap_face.__members__.items()))
 * 
 * class CUlimit(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Limits
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUlimit, __pyx_mstate_global->__pyx_n_u_CUlimit, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Limits); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 2191, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2197
 * 
 *     #: GPU thread stack size
 *     CU_LIMIT_STACK_SIZE = cydriver.CUlimit_enum.CU_LIMIT_STACK_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: GPU printf FIFO size
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_STACK_SIZE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_STACK_SIZE, __pyx_t_18) < (0)) __PYX_ERR(0, 2197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2200
 * 
 *     #: GPU printf FIFO size
 *     CU_LIMIT_PRINTF_FIFO_SIZE = cydriver.CUlimit_enum.CU_LIMIT_PRINTF_FIFO_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: GPU malloc heap size
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_PRINTF_FIFO_SIZE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_PRINTF_FIFO_SIZE, __pyx_t_18) < (0)) __PYX_ERR(0, 2200, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2203
 * 
 *     #: GPU malloc heap size
 *     CU_LIMIT_MALLOC_HEAP_SIZE = cydriver.CUlimit_enum.CU_LIMIT_MALLOC_HEAP_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: GPU device runtime launch synchronize depth
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_MALLOC_HEAP_SIZE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_MALLOC_HEAP_SIZE, __pyx_t_18) < (0)) __PYX_ERR(0, 2203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2206
 * 
 *     #: GPU device runtime launch synchronize depth
 *     CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = cydriver.CUlimit_enum.CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH             # <<<<<<<<<<<<<<
 * 
 *     #: GPU device runtime pending launch count
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH, __pyx_t_18) < (0)) __PYX_ERR(0, 2206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2209
 * 
 *     #: GPU device runtime pending launch count
 *     CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = cydriver.CUlimit_enum.CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: A value between 0 and 128 that indicates the maximum fetch
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_DEV_RUNTIME_PENDING_LAU, __pyx_t_18) < (0)) __PYX_ERR(0, 2209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2213
 *     #: A value between 0 and 128 that indicates the maximum fetch
 *     #: granularity of L2 (in Bytes). This is a hint
 *     CU_LIMIT_MAX_L2_FETCH_GRANULARITY = cydriver.CUlimit_enum.CU_LIMIT_MAX_L2_FETCH_GRANULARITY             # <<<<<<<<<<<<<<
 * 
 *     #: A size in bytes for L2 persisting lines cache size
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_MAX_L2_FETCH_GRANULARITY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_MAX_L2_FETCH_GRANULARIT, __pyx_t_18) < (0)) __PYX_ERR(0, 2213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2216
 * 
 *     #: A size in bytes for L2 persisting lines cache size
 *     CU_LIMIT_PERSISTING_L2_CACHE_SIZE = cydriver.CUlimit_enum.CU_LIMIT_PERSISTING_L2_CACHE_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: A maximum size in bytes of shared memory available to CUDA kernels
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_PERSISTING_L2_CACHE_SIZE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_PERSISTING_L2_CACHE_SIZ, __pyx_t_18) < (0)) __PYX_ERR(0, 2216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2220
 *     #: A maximum size in bytes of shared memory available to CUDA kernels
 *     #: on a CIG context. Can only be queried, cannot be set
 *     CU_LIMIT_SHMEM_SIZE = cydriver.CUlimit_enum.CU_LIMIT_SHMEM_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: A non-zero value indicates this CUDA context is a CIG-enabled
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_SHMEM_SIZE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_SHMEM_SIZE, __pyx_t_18) < (0)) __PYX_ERR(0, 2220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2224
 *     #: A non-zero value indicates this CUDA context is a CIG-enabled
 *     #: context. Can only be queried, cannot be set
 *     CU_LIMIT_CIG_ENABLED = cydriver.CUlimit_enum.CU_LIMIT_CIG_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: When set to zero, CUDA will fail to launch a kernel on a CIG
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_CIG_ENABLED); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_CIG_ENABLED, __pyx_t_18) < (0)) __PYX_ERR(0, 2224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2229
 *     #: context, instead of using the fallback path, if the kernel uses more
 *     #: shared memory than available
 *     CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED = cydriver.CUlimit_enum.CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED             # <<<<<<<<<<<<<<
 *     CU_LIMIT_MAX = cydriver.CUlimit_enum.CU_LIMIT_MAX
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_CIG_SHMEM_FALLBACK_ENAB, __pyx_t_18) < (0)) __PYX_ERR(0, 2229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2230
 *     #: shared memory than available
 *     CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED = cydriver.CUlimit_enum.CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED
 *     CU_LIMIT_MAX = cydriver.CUlimit_enum.CU_LIMIT_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUlimit = dict(((int(v), v) for k, v in CUlimit.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUlimit_enum(CU_LIMIT_MAX); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_LIMIT_MAX, __pyx_t_18) < (0)) __PYX_ERR(0, 2230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2191
 * _dict_CUarray_cubemap_face = dict(((int(v), v) for k, v in CUarray_cubemap_face.__members__.items()))
 * 
 * class CUlimit(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Limits
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUlimit, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUlimit, __pyx_t_18) < (0)) __PYX_ERR(0, 2191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2232
 *     CU_LIMIT_MAX = cydriver.CUlimit_enum.CU_LIMIT_MAX
 * 
 * _dict_CUlimit = dict(((int(v), v) for k, v in CUlimit.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresourcetype(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUlimit); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1062genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUlimit, __pyx_t_16) < (0)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2234
 * _dict_CUlimit = dict(((int(v), v) for k, v in CUlimit.__members__.items()))
 * 
 * class CUresourcetype(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUresourcetype, __pyx_mstate_global->__pyx_n_u_CUresourcetype, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Resource_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 2234, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2240
 * 
 *     #: Array resource
 *     CU_RESOURCE_TYPE_ARRAY = cydriver.CUresourcetype_enum.CU_RESOURCE_TYPE_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: Mipmapped array resource
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUresourcetype_enum(CU_RESOURCE_TYPE_ARRAY); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_RESOURCE_TYPE_ARRAY, __pyx_t_17) < (0)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2243
 * 
 *     #: Mipmapped array resource
 *     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = cydriver.CUresourcetype_enum.CU_RESOURCE_TYPE_MIPMAPPED_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: Linear resource
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUresourcetype_enum(CU_RESOURCE_TYPE_MIPMAPPED_ARRAY); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY, __pyx_t_17) < (0)) __PYX_ERR(0, 2243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2246
 * 
 *     #: Linear resource
 *     CU_RESOURCE_TYPE_LINEAR = cydriver.CUresourcetype_enum.CU_RESOURCE_TYPE_LINEAR             # <<<<<<<<<<<<<<
 * 
 *     #: Pitch 2D resource
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUresourcetype_enum(CU_RESOURCE_TYPE_LINEAR); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_RESOURCE_TYPE_LINEAR, __pyx_t_17) < (0)) __PYX_ERR(0, 2246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2249
 * 
 *     #: Pitch 2D resource
 *     CU_RESOURCE_TYPE_PITCH2D = cydriver.CUresourcetype_enum.CU_RESOURCE_TYPE_PITCH2D             # <<<<<<<<<<<<<<
 * 
 * _dict_CUresourcetype = dict(((int(v), v) for k, v in CUresourcetype.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUresourcetype_enum(CU_RESOURCE_TYPE_PITCH2D); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_RESOURCE_TYPE_PITCH2D, __pyx_t_17) < (0)) __PYX_ERR(0, 2249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2234
 * _dict_CUlimit = dict(((int(v), v) for k, v in CUlimit.__members__.items()))
 * 
 * class CUresourcetype(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource types
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresourcetype, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUresourcetype, __pyx_t_17) < (0)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2251
 *     CU_RESOURCE_TYPE_PITCH2D = cydriver.CUresourcetype_enum.CU_RESOURCE_TYPE_PITCH2D
 * 
 * _dict_CUresourcetype = dict(((int(v), v) for k, v in CUresourcetype.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUaccessProperty(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUresourcetype); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1065genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUresourcetype, __pyx_t_3) < (0)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2253
 * _dict_CUresourcetype = dict(((int(v), v) for k, v in CUresourcetype.__members__.items()))
 * 
 * class CUaccessProperty(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies performance hint with :py:obj:`~.CUaccessPolicyWindow`
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUaccessProperty, __pyx_mstate_global->__pyx_n_u_CUaccessProperty, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Specifies_performance_hint_with); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 2253, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2260
 * 
 *     #: Normal cache persistence.
 *     CU_ACCESS_PROPERTY_NORMAL = cydriver.CUaccessProperty_enum.CU_ACCESS_PROPERTY_NORMAL             # <<<<<<<<<<<<<<
 * 
 *     #: Streaming access is less likely to persit from cache.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUaccessProperty_enum(CU_ACCESS_PROPERTY_NORMAL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_ACCESS_PROPERTY_NORMAL, __pyx_t_16) < (0)) __PYX_ERR(0, 2260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2263
 * 
 *     #: Streaming access is less likely to persit from cache.
 *     CU_ACCESS_PROPERTY_STREAMING = cydriver.CUaccessProperty_enum.CU_ACCESS_PROPERTY_STREAMING             # <<<<<<<<<<<<<<
 * 
 *     #: Persisting access is more likely to persist in cache.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUaccessProperty_enum(CU_ACCESS_PROPERTY_STREAMING); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_ACCESS_PROPERTY_STREAMING, __pyx_t_16) < (0)) __PYX_ERR(0, 2263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2266
 * 
 *     #: Persisting access is more likely to persist in cache.
 *     CU_ACCESS_PROPERTY_PERSISTING = cydriver.CUaccessProperty_enum.CU_ACCESS_PROPERTY_PERSISTING             # <<<<<<<<<<<<<<
 * 
 * _dict_CUaccessProperty = dict(((int(v), v) for k, v in CUaccessProperty.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUaccessProperty_enum(CU_ACCESS_PROPERTY_PERSISTING); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_ACCESS_PROPERTY_PERSISTING, __pyx_t_16) < (0)) __PYX_ERR(0, 2266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2253
 * _dict_CUresourcetype = dict(((int(v), v) for k, v in CUresourcetype.__members__.items()))
 * 
 * class CUaccessProperty(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies performance hint with :py:obj:`~.CUaccessPolicyWindow`
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUaccessProperty, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUaccessProperty, __pyx_t_16) < (0)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2268
 *     CU_ACCESS_PROPERTY_PERSISTING = cydriver.CUaccessProperty_enum.CU_ACCESS_PROPERTY_PERSISTING
 * 
 * _dict_CUaccessProperty = dict(((int(v), v) for k, v in CUaccessProperty.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphConditionalNodeType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUaccessProperty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1068genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUaccessProperty, __pyx_t_18) < (0)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2270
 * _dict_CUaccessProperty = dict(((int(v), v) for k, v in CUaccessProperty.__members__.items()))
 * 
 * class CUgraphConditionalNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Conditional node types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalNodeType, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalNodeType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Conditional_node_types); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 2270, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2278
 *     #: zero. If `size` == 2, an optional ELSE graph is created and this is
 *     #: executed if the condition is zero.
 *     CU_GRAPH_COND_TYPE_IF = cydriver.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_IF             # <<<<<<<<<<<<<<
 * 
 *     #: Conditional 'while' Node. Body executed repeatedly while condition
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUgraphConditionalNodeType_enum(CU_GRAPH_COND_TYPE_IF); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_COND_TYPE_IF, __pyx_t_3) < (0)) __PYX_ERR(0, 2278, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2282
 *     #: Conditional 'while' Node. Body executed repeatedly while condition
 *     #: value is non-zero.
 *     CU_GRAPH_COND_TYPE_WHILE = cydriver.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_WHILE             # <<<<<<<<<<<<<<
 * 
 *     #: Conditional 'switch' Node. Body[n] is executed once, where 'n' is
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUgraphConditionalNodeType_enum(CU_GRAPH_COND_TYPE_WHILE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_COND_TYPE_WHILE, __pyx_t_3) < (0)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2287
 *     #: the value of the condition. If the condition does not match a body
 *     #: index, no body is launched.
 *     CU_GRAPH_COND_TYPE_SWITCH = cydriver.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_SWITCH             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphConditionalNodeType = dict(((int(v), v) for k, v in CUgraphConditionalNodeType.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUgraphConditionalNodeType_enum(CU_GRAPH_COND_TYPE_SWITCH); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_COND_TYPE_SWITCH, __pyx_t_3) < (0)) __PYX_ERR(0, 2287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2270
 * _dict_CUaccessProperty = dict(((int(v), v) for k, v in CUaccessProperty.__members__.items()))
 * 
 * class CUgraphConditionalNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Conditional node types
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalNodeType, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalNodeType, __pyx_t_3) < (0)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2289
 *     CU_GRAPH_COND_TYPE_SWITCH = cydriver.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_SWITCH
 * 
 * _dict_CUgraphConditionalNodeType = dict(((int(v), v) for k, v in CUgraphConditionalNodeType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphNodeType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalNodeType); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1071genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphConditionalNodeType, __pyx_t_17) < (0)) __PYX_ERR(0, 2289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2291
 * _dict_CUgraphConditionalNodeType = dict(((int(v), v) for k, v in CUgraphConditionalNodeType.__members__.items()))
 * 
 * class CUgraphNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph node types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgraphNodeType, __pyx_mstate_global->__pyx_n_u_CUgraphNodeType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Graph_node_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 2291, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2297
 * 
 *     #: GPU kernel node
 *     CU_GRAPH_NODE_TYPE_KERNEL = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_KERNEL             # <<<<<<<<<<<<<<
 * 
 *     #: Memcpy node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_KERNEL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_KERNEL, __pyx_t_18) < (0)) __PYX_ERR(0, 2297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2300
 * 
 *     #: Memcpy node
 *     CU_GRAPH_NODE_TYPE_MEMCPY = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_MEMCPY             # <<<<<<<<<<<<<<
 * 
 *     #: Memset node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_MEMCPY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_MEMCPY, __pyx_t_18) < (0)) __PYX_ERR(0, 2300, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2303
 * 
 *     #: Memset node
 *     CU_GRAPH_NODE_TYPE_MEMSET = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_MEMSET             # <<<<<<<<<<<<<<
 * 
 *     #: Host (executable) node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_MEMSET); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_MEMSET, __pyx_t_18) < (0)) __PYX_ERR(0, 2303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2306
 * 
 *     #: Host (executable) node
 *     CU_GRAPH_NODE_TYPE_HOST = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Node which executes an embedded graph
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_HOST); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_HOST, __pyx_t_18) < (0)) __PYX_ERR(0, 2306, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2309
 * 
 *     #: Node which executes an embedded graph
 *     CU_GRAPH_NODE_TYPE_GRAPH = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_GRAPH             # <<<<<<<<<<<<<<
 * 
 *     #: Empty (no-op) node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_GRAPH); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_GRAPH, __pyx_t_18) < (0)) __PYX_ERR(0, 2309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2312
 * 
 *     #: Empty (no-op) node
 *     CU_GRAPH_NODE_TYPE_EMPTY = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_EMPTY             # <<<<<<<<<<<<<<
 * 
 *     #: External event wait node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_EMPTY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_EMPTY, __pyx_t_18) < (0)) __PYX_ERR(0, 2312, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2315
 * 
 *     #: External event wait node
 *     CU_GRAPH_NODE_TYPE_WAIT_EVENT = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_WAIT_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: External event record node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_WAIT_EVENT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_WAIT_EVENT, __pyx_t_18) < (0)) __PYX_ERR(0, 2315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2318
 * 
 *     #: External event record node
 *     CU_GRAPH_NODE_TYPE_EVENT_RECORD = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_EVENT_RECORD             # <<<<<<<<<<<<<<
 * 
 *     #: External semaphore signal node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_EVENT_RECORD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_EVENT_RECORD, __pyx_t_18) < (0)) __PYX_ERR(0, 2318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2321
 * 
 *     #: External semaphore signal node
 *     CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL             # <<<<<<<<<<<<<<
 * 
 *     #: External semaphore wait node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG, __pyx_t_18) < (0)) __PYX_ERR(0, 2321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2324
 * 
 *     #: External semaphore wait node
 *     CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT             # <<<<<<<<<<<<<<
 * 
 *     #: Memory Allocation Node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI, __pyx_t_18) < (0)) __PYX_ERR(0, 2324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2327
 * 
 *     #: Memory Allocation Node
 *     CU_GRAPH_NODE_TYPE_MEM_ALLOC = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_MEM_ALLOC             # <<<<<<<<<<<<<<
 * 
 *     #: Memory Free Node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_MEM_ALLOC); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_MEM_ALLOC, __pyx_t_18) < (0)) __PYX_ERR(0, 2327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2330
 * 
 *     #: Memory Free Node
 *     CU_GRAPH_NODE_TYPE_MEM_FREE = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_MEM_FREE             # <<<<<<<<<<<<<<
 * 
 *     #: Batch MemOp Node
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_MEM_FREE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_MEM_FREE, __pyx_t_18) < (0)) __PYX_ERR(0, 2330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2333
 * 
 *     #: Batch MemOp Node
 *     CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_BATCH_MEM_OP             # <<<<<<<<<<<<<<
 * 
 *     #: Conditional Node                                         May be used
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_BATCH_MEM_OP); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP, __pyx_t_18) < (0)) __PYX_ERR(0, 2333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2360
 *     #:                                         call
 *     #: :py:obj:`~.cudaGraphSetConditional` from device code.
 *     CU_GRAPH_NODE_TYPE_CONDITIONAL = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_CONDITIONAL             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphNodeType = dict(((int(v), v) for k, v in CUgraphNodeType.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_CONDITIONAL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_NODE_TYPE_CONDITIONAL, __pyx_t_18) < (0)) __PYX_ERR(0, 2360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2291
 * _dict_CUgraphConditionalNodeType = dict(((int(v), v) for k, v in CUgraphConditionalNodeType.__members__.items()))
 * 
 * class CUgraphNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph node types
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphNodeType, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphNodeType, __pyx_t_18) < (0)) __PYX_ERR(0, 2291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2362
 *     CU_GRAPH_NODE_TYPE_CONDITIONAL = cydriver.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_CONDITIONAL
 * 
 * _dict_CUgraphNodeType = dict(((int(v), v) for k, v in CUgraphNodeType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphDependencyType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgraphNodeType); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1074genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphNodeType, __pyx_t_16) < (0)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2364
 * _dict_CUgraphNodeType = dict(((int(v), v) for k, v in CUgraphNodeType.__members__.items()))
 * 
 * class CUgraphDependencyType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Type annotations that can be applied to graph edges as part of
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphDependencyType, __pyx_mstate_global->__pyx_n_u_CUgraphDependencyType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Type_annotations_that_can_be_ap); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 2364, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2371
 * 
 *     #: This is an ordinary dependency.
 *     CU_GRAPH_DEPENDENCY_TYPE_DEFAULT = cydriver.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: This dependency type allows the downstream node to use
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDependencyType_enum(CU_GRAPH_DEPENDENCY_TYPE_DEFAULT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT, __pyx_t_17) < (0)) __PYX_ERR(0, 2371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2378
 *     #: :py:obj:`~.CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC` or
 *     #: :py:obj:`~.CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER` outgoing port.
 *     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = cydriver.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphDependencyType = dict(((int(v), v) for k, v in CUgraphDependencyType.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDependencyType_enum(CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM, __pyx_t_17) < (0)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2364
 * _dict_CUgraphNodeType = dict(((int(v), v) for k, v in CUgraphNodeType.__members__.items()))
 * 
 * class CUgraphDependencyType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Type annotations that can be applied to graph edges as part of
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphDependencyType, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphDependencyType, __pyx_t_17) < (0)) __PYX_ERR(0, 2364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2380
 *     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = cydriver.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC
 * 
 * _dict_CUgraphDependencyType = dict(((int(v), v) for k, v in CUgraphDependencyType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphInstantiateResult(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphDependencyType); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1077genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphDependencyType, __pyx_t_3) < (0)) __PYX_ERR(0, 2380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2382
 * _dict_CUgraphDependencyType = dict(((int(v), v) for k, v in CUgraphDependencyType.__members__.items()))
 * 
 * class CUgraphInstantiateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph instantiation results
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiateResult, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiateResult, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Graph_instantiation_results); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 2382, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2388
 * 
 *     #: Instantiation succeeded
 *     CUDA_GRAPH_INSTANTIATE_SUCCESS = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_SUCCESS             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiation failed for an unexpected reason which is described in
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_SUCCESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_SUCCESS, __pyx_t_16) < (0)) __PYX_ERR(0, 2388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2392
 *     #: Instantiation failed for an unexpected reason which is described in
 *     #: the return value of the function
 *     CUDA_GRAPH_INSTANTIATE_ERROR = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_ERROR             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiation failed due to invalid structure, such as cycles
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_ERROR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_ERROR, __pyx_t_16) < (0)) __PYX_ERR(0, 2392, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2395
 * 
 *     #: Instantiation failed due to invalid structure, such as cycles
 *     CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiation for device launch failed because the graph contained
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_INVALID_S, __pyx_t_16) < (0)) __PYX_ERR(0, 2395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2399
 *     #: Instantiation for device launch failed because the graph contained
 *     #: an unsupported operation
 *     CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiation for device launch failed due to the nodes belonging to
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_NODE_OPER, __pyx_t_16) < (0)) __PYX_ERR(0, 2399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2403
 *     #: Instantiation for device launch failed due to the nodes belonging to
 *     #: different contexts
 *     CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: One or more conditional handles are not associated with conditional
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_MULTIPLE, __pyx_t_16) < (0)) __PYX_ERR(0, 2403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2407
 *     #: One or more conditional handles are not associated with conditional
 *     #: nodes
 *     CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphInstantiateResult = dict(((int(v), v) for k, v in CUgraphInstantiateResult.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_CONDITION, __pyx_t_16) < (0)) __PYX_ERR(0, 2407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2382
 * _dict_CUgraphDependencyType = dict(((int(v), v) for k, v in CUgraphDependencyType.__members__.items()))
 * 
 * class CUgraphInstantiateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph instantiation results
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiateResult, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiateResult, __pyx_t_16) < (0)) __PYX_ERR(0, 2382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2409
 *     CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED = cydriver.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED
 * 
 * _dict_CUgraphInstantiateResult = dict(((int(v), v) for k, v in CUgraphInstantiateResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUsynchronizationPolicy(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiateResult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1080genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphInstantiateResult, __pyx_t_18) < (0)) __PYX_ERR(0, 2409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2411
 * _dict_CUgraphInstantiateResult = dict(((int(v), v) for k, v in CUgraphInstantiateResult.__members__.items()))
 * 
 * class CUsynchronizationPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUsynchronizationPolicy, __pyx_mstate_global->__pyx_n_u_CUsynchronizationPolicy, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 2411, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2415
 * 
 *     """
 *     CU_SYNC_POLICY_AUTO = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_AUTO             # <<<<<<<<<<<<<<
 *     CU_SYNC_POLICY_SPIN = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_SPIN
 *     CU_SYNC_POLICY_YIELD = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_YIELD
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUsynchronizationPolicy_enum(CU_SYNC_POLICY_AUTO); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_SYNC_POLICY_AUTO, __pyx_t_3) < (0)) __PYX_ERR(0, 2415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2416
 *     """
 *     CU_SYNC_POLICY_AUTO = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_AUTO
 *     CU_SYNC_POLICY_SPIN = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_SPIN             # <<<<<<<<<<<<<<
 *     CU_SYNC_POLICY_YIELD = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_YIELD
 *     CU_SYNC_POLICY_BLOCKING_SYNC = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUsynchronizationPolicy_enum(CU_SYNC_POLICY_SPIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_SYNC_POLICY_SPIN, __pyx_t_3) < (0)) __PYX_ERR(0, 2416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2417
 *     CU_SYNC_POLICY_AUTO = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_AUTO
 *     CU_SYNC_POLICY_SPIN = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_SPIN
 *     CU_SYNC_POLICY_YIELD = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_YIELD             # <<<<<<<<<<<<<<
 *     CU_SYNC_POLICY_BLOCKING_SYNC = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUsynchronizationPolicy_enum(CU_SYNC_POLICY_YIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_SYNC_POLICY_YIELD, __pyx_t_3) < (0)) __PYX_ERR(0, 2417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2418
 *     CU_SYNC_POLICY_SPIN = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_SPIN
 *     CU_SYNC_POLICY_YIELD = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_YIELD
 *     CU_SYNC_POLICY_BLOCKING_SYNC = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 * _dict_CUsynchronizationPolicy = dict(((int(v), v) for k, v in CUsynchronizationPolicy.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUsynchronizationPolicy_enum(CU_SYNC_POLICY_BLOCKING_SYNC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_SYNC_POLICY_BLOCKING_SYNC, __pyx_t_3) < (0)) __PYX_ERR(0, 2418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2411
 * _dict_CUgraphInstantiateResult = dict(((int(v), v) for k, v in CUgraphInstantiateResult.__members__.items()))
 * 
 * class CUsynchronizationPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUsynchronizationPolicy, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUsynchronizationPolicy, __pyx_t_3) < (0)) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2420
 *     CU_SYNC_POLICY_BLOCKING_SYNC = cydriver.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
 * 
 * _dict_CUsynchronizationPolicy = dict(((int(v), v) for k, v in CUsynchronizationPolicy.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUclusterSchedulingPolicy(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUsynchronizationPolicy); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1083genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUsynchronizationPolicy, __pyx_t_17) < (0)) __PYX_ERR(0, 2420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2422
 * _dict_CUsynchronizationPolicy = dict(((int(v), v) for k, v in CUsynchronizationPolicy.__members__.items()))
 * 
 * class CUclusterSchedulingPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cluster scheduling policies. These may be passed to
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUclusterSchedulingPolicy, __pyx_mstate_global->__pyx_n_u_CUclusterSchedulingPolicy, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Cluster_scheduling_policies_The); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 2422, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2429
 * 
 *     #: the default policy
 *     CU_CLUSTER_SCHEDULING_POLICY_DEFAULT = cydriver.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: spread the blocks within a cluster to the SMs
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUclusterSchedulingPolicy_enum(CU_CLUSTER_SCHEDULING_POLICY_DEFAULT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_DEF, __pyx_t_18) < (0)) __PYX_ERR(0, 2429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2432
 * 
 *     #: spread the blocks within a cluster to the SMs
 *     CU_CLUSTER_SCHEDULING_POLICY_SPREAD = cydriver.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_SPREAD             # <<<<<<<<<<<<<<
 * 
 *     #: allow the hardware to load-balance the blocks in a cluster to the
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUclusterSchedulingPolicy_enum(CU_CLUSTER_SCHEDULING_POLICY_SPREAD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_SPR, __pyx_t_18) < (0)) __PYX_ERR(0, 2432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2436
 *     #: allow the hardware to load-balance the blocks in a cluster to the
 *     #: SMs
 *     CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING = cydriver.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING             # <<<<<<<<<<<<<<
 * 
 * _dict_CUclusterSchedulingPolicy = dict(((int(v), v) for k, v in CUclusterSchedulingPolicy.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUclusterSchedulingPolicy_enum(CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_LOA, __pyx_t_18) < (0)) __PYX_ERR(0, 2436, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2422
 * _dict_CUsynchronizationPolicy = dict(((int(v), v) for k, v in CUsynchronizationPolicy.__members__.items()))
 * 
 * class CUclusterSchedulingPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cluster scheduling policies. These may be passed to
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUclusterSchedulingPolicy, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUclusterSchedulingPolicy, __pyx_t_18) < (0)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2438
 *     CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING = cydriver.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING
 * 
 * _dict_CUclusterSchedulingPolicy = dict(((int(v), v) for k, v in CUclusterSchedulingPolicy.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlaunchMemSyncDomain(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUclusterSchedulingPolicy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1086genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUclusterSchedulingPolicy, __pyx_t_16) < (0)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2440
 * _dict_CUclusterSchedulingPolicy = dict(((int(v), v) for k, v in CUclusterSchedulingPolicy.__members__.items()))
 * 
 * class CUlaunchMemSyncDomain(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory Synchronization Domain  A kernel can be launched in a
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomain, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomain, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Memory_Synchronization_Domain_A); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 2440, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2463
 * 
 *     #: Launch kernels in the default domain
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT = cydriver.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Launch kernels in the remote domain
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUlaunchMemSyncDomain_enum(CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL, __pyx_t_17) < (0)) __PYX_ERR(0, 2463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2466
 * 
 *     #: Launch kernels in the remote domain
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE = cydriver.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUlaunchMemSyncDomain = dict(((int(v), v) for k, v in CUlaunchMemSyncDomain.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUlaunchMemSyncDomain_enum(CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE, __pyx_t_17) < (0)) __PYX_ERR(0, 2466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2440
 * _dict_CUclusterSchedulingPolicy = dict(((int(v), v) for k, v in CUclusterSchedulingPolicy.__members__.items()))
 * 
 * class CUlaunchMemSyncDomain(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory Synchronization Domain  A kernel can be launched in a
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomain, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomain, __pyx_t_17) < (0)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2468
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE = cydriver.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE
 * 
 * _dict_CUlaunchMemSyncDomain = dict(((int(v), v) for k, v in CUlaunchMemSyncDomain.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlaunchAttributeID(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomain); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1089genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUlaunchMemSyncDomain, __pyx_t_3) < (0)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2470
 * _dict_CUlaunchMemSyncDomain = dict(((int(v), v) for k, v in CUlaunchMemSyncDomain.__members__.items()))
 * 
 * class CUlaunchAttributeID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeID, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeID, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Launch_attributes_enum_used_as); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 2470, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2477
 * 
 *     #: Ignored entry, for convenient composition
 *     CU_LAUNCH_ATTRIBUTE_IGNORE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_IGNORE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_IGNORE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_IGNORE, __pyx_t_16) < (0)) __PYX_ERR(0, 2477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2481
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.accessPolicyWindow`.
 *     CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, __pyx_t_16) < (0)) __PYX_ERR(0, 2481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2485
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.cooperative`.
 *     CU_LAUNCH_ATTRIBUTE_COOPERATIVE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_COOPERATIVE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_COOPERATIVE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, __pyx_t_16) < (0)) __PYX_ERR(0, 2485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2489
 *     #: Valid for streams. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.syncPolicy`.
 *     CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, __pyx_t_16) < (0)) __PYX_ERR(0, 2489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2493
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterDim`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, __pyx_t_16) < (0)) __PYX_ERR(0, 2493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2497
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterSchedulingPolicyPreference`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Setting
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, __pyx_t_16) < (0)) __PYX_ERR(0, 2497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2508
 *     #: the programmatic sync (cudaGridDependencySynchronize() or equivalent
 *     #: PTX instructions).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, __pyx_t_16) < (0)) __PYX_ERR(0, 2508, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2531
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, __pyx_t_16) < (0)) __PYX_ERR(0, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2535
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.priority`.
 *     CU_LAUNCH_ATTRIBUTE_PRIORITY = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PRIORITY, __pyx_t_16) < (0)) __PYX_ERR(0, 2535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2539
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomainMap`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_16) < (0)) __PYX_ERR(0, 2539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2543
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomain`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. Set
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_t_16) < (0)) __PYX_ERR(0, 2543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2577
 *     #: value physically unable to fit on any particular device is
 *     #: permitted.
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL, __pyx_t_16) < (0)) __PYX_ERR(0, 2577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2597
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. This attribute is graphs-only, and
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, __pyx_t_16) < (0)) __PYX_ERR(0, 2597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2630
 *     #: updatable nodes, the graph must be uploaded before it is launched
 *     #: again.
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. On devices where the L1 cache and shared memory
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, __pyx_t_16) < (0)) __PYX_ERR(0, 2630, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2641
 *     #: is only a hint, and the CUDA driver can choose a different
 *     #: configuration if required for the launch.
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT             # <<<<<<<<<<<<<<
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH, __pyx_t_16) < (0)) __PYX_ERR(0, 2641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2470
 * _dict_CUlaunchMemSyncDomain = dict(((int(v), v) for k, v in CUlaunchMemSyncDomain.__members__.items()))
 * 
 * class CUlaunchAttributeID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeID, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeID, __pyx_t_16) < (0)) __PYX_ERR(0, 2470, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2643
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureStatus(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1092genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUlaunchAttributeID, __pyx_t_18) < (0)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2645
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))
 * 
 * class CUstreamCaptureStatus(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible stream capture statuses returned by
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Possible_stream_capture_statuse); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 2645, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2652
 * 
 *     #: Stream is not capturing
 *     CU_STREAM_CAPTURE_STATUS_NONE = cydriver.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Stream is actively capturing
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(CU_STREAM_CAPTURE_STATUS_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_STREAM_CAPTURE_STATUS_NONE, __pyx_t_3) < (0)) __PYX_ERR(0, 2652, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2655
 * 
 *     #: Stream is actively capturing
 *     CU_STREAM_CAPTURE_STATUS_ACTIVE = cydriver.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_ACTIVE             # <<<<<<<<<<<<<<
 * 
 *     #: Stream is part of a capture sequence that has been invalidated, but
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(CU_STREAM_CAPTURE_STATUS_ACTIVE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_STREAM_CAPTURE_STATUS_ACTIVE, __pyx_t_3) < (0)) __PYX_ERR(0, 2655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2659
 *     #: Stream is part of a capture sequence that has been invalidated, but
 *     #: not terminated
 *     CU_STREAM_CAPTURE_STATUS_INVALIDATED = cydriver.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_INVALIDATED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUstreamCaptureStatus = dict(((int(v), v) for k, v in CUstreamCaptureStatus.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(CU_STREAM_CAPTURE_STATUS_INVALIDATED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_STREAM_CAPTURE_STATUS_INVALID, __pyx_t_3) < (0)) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2645
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))
 * 
 * class CUstreamCaptureStatus(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible stream capture statuses returned by
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus, __pyx_t_3) < (0)) __PYX_ERR(0, 2645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2661
 *     CU_STREAM_CAPTURE_STATUS_INVALIDATED = cydriver.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_INVALIDATED
 * 
 * _dict_CUstreamCaptureStatus = dict(((int(v), v) for k, v in CUstreamCaptureStatus.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureMode(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1095genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUstreamCaptureStatus, __pyx_t_17) < (0)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2663
 * _dict_CUstreamCaptureStatus = dict(((int(v), v) for k, v in CUstreamCaptureStatus.__members__.items()))
 * 
 * class CUstreamCaptureMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible modes for stream capture thread interactions. For more
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Possible_modes_for_stream_captu); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 2663, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2669
 *     :py:obj:`~.cuThreadExchangeStreamCaptureMode`
 *     """
 *     CU_STREAM_CAPTURE_MODE_GLOBAL = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_GLOBAL             # <<<<<<<<<<<<<<
 *     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_THREAD_LOCAL
 *     CU_STREAM_CAPTURE_MODE_RELAXED = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstreamCaptureMode_enum(CU_STREAM_CAPTURE_MODE_GLOBAL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_CAPTURE_MODE_GLOBAL, __pyx_t_18) < (0)) __PYX_ERR(0, 2669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2670
 *     """
 *     CU_STREAM_CAPTURE_MODE_GLOBAL = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_GLOBAL
 *     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_THREAD_LOCAL             # <<<<<<<<<<<<<<
 *     CU_STREAM_CAPTURE_MODE_RELAXED = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstreamCaptureMode_enum(CU_STREAM_CAPTURE_MODE_THREAD_LOCAL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_CAPTURE_MODE_THREAD_LO, __pyx_t_18) < (0)) __PYX_ERR(0, 2670, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2671
 *     CU_STREAM_CAPTURE_MODE_GLOBAL = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_GLOBAL
 *     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_THREAD_LOCAL
 *     CU_STREAM_CAPTURE_MODE_RELAXED = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUstreamCaptureMode = dict(((int(v), v) for k, v in CUstreamCaptureMode.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUstreamCaptureMode_enum(CU_STREAM_CAPTURE_MODE_RELAXED); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_STREAM_CAPTURE_MODE_RELAXED, __pyx_t_18) < (0)) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2663
 * _dict_CUstreamCaptureStatus = dict(((int(v), v) for k, v in CUstreamCaptureStatus.__members__.items()))
 * 
 * class CUstreamCaptureMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible modes for stream capture thread interactions. For more
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode, __pyx_t_18) < (0)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2673
 *     CU_STREAM_CAPTURE_MODE_RELAXED = cydriver.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
 * 
 * _dict_CUstreamCaptureMode = dict(((int(v), v) for k, v in CUstreamCaptureMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdriverProcAddress_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1098genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUstreamCaptureMode, __pyx_t_16) < (0)) __PYX_ERR(0, 2673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2675
 * _dict_CUstreamCaptureMode = dict(((int(v), v) for k, v in CUstreamCaptureMode.__members__.items()))
 * 
 * class CUdriverProcAddress_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to specify search options. For more details see
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddress_flags, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddress_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_to_specify_search_options); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 2675, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2682
 * 
 *     #: Default search mode for driver symbols.
 *     CU_GET_PROC_ADDRESS_DEFAULT = cydriver.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Search for legacy versions of driver symbols.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUdriverProcAddress_flags_enum(CU_GET_PROC_ADDRESS_DEFAULT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GET_PROC_ADDRESS_DEFAULT, __pyx_t_17) < (0)) __PYX_ERR(0, 2682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2685
 * 
 *     #: Search for legacy versions of driver symbols.
 *     CU_GET_PROC_ADDRESS_LEGACY_STREAM = cydriver.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_LEGACY_STREAM             # <<<<<<<<<<<<<<
 * 
 *     #: Search for per-thread versions of driver symbols.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUdriverProcAddress_flags_enum(CU_GET_PROC_ADDRESS_LEGACY_STREAM); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GET_PROC_ADDRESS_LEGACY_STREA, __pyx_t_17) < (0)) __PYX_ERR(0, 2685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2688
 * 
 *     #: Search for per-thread versions of driver symbols.
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = cydriver.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM             # <<<<<<<<<<<<<<
 * 
 * _dict_CUdriverProcAddress_flags = dict(((int(v), v) for k, v in CUdriverProcAddress_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUdriverProcAddress_flags_enum(CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GET_PROC_ADDRESS_PER_THREAD_D, __pyx_t_17) < (0)) __PYX_ERR(0, 2688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2675
 * _dict_CUstreamCaptureMode = dict(((int(v), v) for k, v in CUstreamCaptureMode.__members__.items()))
 * 
 * class CUdriverProcAddress_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to specify search options. For more details see
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddress_flags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddress_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2690
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = cydriver.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM
 * 
 * _dict_CUdriverProcAddress_flags = dict(((int(v), v) for k, v in CUdriverProcAddress_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdriverProcAddressQueryResult(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddress_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1101genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUdriverProcAddress_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 2690, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2692
 * _dict_CUdriverProcAddress_flags = dict(((int(v), v) for k, v in CUdriverProcAddress_flags.__members__.items()))
 * 
 * class CUdriverProcAddressQueryResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to indicate search status. For more details see
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddressQueryResult, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddressQueryResult, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_to_indicate_search_status); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 2692, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2699
 * 
 *     #: Symbol was succesfully found
 *     CU_GET_PROC_ADDRESS_SUCCESS = cydriver.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_SUCCESS             # <<<<<<<<<<<<<<
 * 
 *     #: Symbol was not found in search
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdriverProcAddressQueryResult_enum(CU_GET_PROC_ADDRESS_SUCCESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GET_PROC_ADDRESS_SUCCESS, __pyx_t_16) < (0)) __PYX_ERR(0, 2699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2702
 * 
 *     #: Symbol was not found in search
 *     CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND = cydriver.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: Symbol was found but version supplied was not sufficient
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdriverProcAddressQueryResult_enum(CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F, __pyx_t_16) < (0)) __PYX_ERR(0, 2702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2705
 * 
 *     #: Symbol was found but version supplied was not sufficient
 *     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = cydriver.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT             # <<<<<<<<<<<<<<
 * 
 * _dict_CUdriverProcAddressQueryResult = dict(((int(v), v) for k, v in CUdriverProcAddressQueryResult.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUdriverProcAddressQueryResult_enum(CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GET_PROC_ADDRESS_VERSION_NOT, __pyx_t_16) < (0)) __PYX_ERR(0, 2705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2692
 * _dict_CUdriverProcAddress_flags = dict(((int(v), v) for k, v in CUdriverProcAddress_flags.__members__.items()))
 * 
 * class CUdriverProcAddressQueryResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to indicate search status. For more details see
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddressQueryResult, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddressQueryResult, __pyx_t_16) < (0)) __PYX_ERR(0, 2692, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2707
 *     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = cydriver.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT
 * 
 * _dict_CUdriverProcAddressQueryResult = dict(((int(v), v) for k, v in CUdriverProcAddressQueryResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexecAffinityType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddressQueryResult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1104genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUdriverProcAddressQueryRe, __pyx_t_18) < (0)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2709
 * _dict_CUdriverProcAddressQueryResult = dict(((int(v), v) for k, v in CUdriverProcAddressQueryResult.__members__.items()))
 * 
 * class CUexecAffinityType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUexecAffinityType, __pyx_mstate_global->__pyx_n_u_CUexecAffinityType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Execution_Affinity_Types); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 2709, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2715
 * 
 *     #: Create a context with limited SMs.
 *     CU_EXEC_AFFINITY_TYPE_SM_COUNT = cydriver.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_SM_COUNT             # <<<<<<<<<<<<<<
 *     CU_EXEC_AFFINITY_TYPE_MAX = cydriver.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUexecAffinityType_enum(CU_EXEC_AFFINITY_TYPE_SM_COUNT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EXEC_AFFINITY_TYPE_SM_COUNT, __pyx_t_3) < (0)) __PYX_ERR(0, 2715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2716
 *     #: Create a context with limited SMs.
 *     CU_EXEC_AFFINITY_TYPE_SM_COUNT = cydriver.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_SM_COUNT
 *     CU_EXEC_AFFINITY_TYPE_MAX = cydriver.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUexecAffinityType = dict(((int(v), v) for k, v in CUexecAffinityType.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUexecAffinityType_enum(CU_EXEC_AFFINITY_TYPE_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EXEC_AFFINITY_TYPE_MAX, __pyx_t_3) < (0)) __PYX_ERR(0, 2716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2709
 * _dict_CUdriverProcAddressQueryResult = dict(((int(v), v) for k, v in CUdriverProcAddressQueryResult.__members__.items()))
 * 
 * class CUexecAffinityType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Types
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUexecAffinityType, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUexecAffinityType, __pyx_t_3) < (0)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2718
 *     CU_EXEC_AFFINITY_TYPE_MAX = cydriver.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX
 * 
 * _dict_CUexecAffinityType = dict(((int(v), v) for k, v in CUexecAffinityType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcigDataType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUexecAffinityType); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1107genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUexecAffinityType, __pyx_t_17) < (0)) __PYX_ERR(0, 2718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2720
 * _dict_CUexecAffinityType = dict(((int(v), v) for k, v in CUexecAffinityType.__members__.items()))
 * 
 * class CUcigDataType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUcigDataType, __pyx_mstate_global->__pyx_n_u_CUcigDataType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 2720, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2724
 * 
 *     """
 *     CIG_DATA_TYPE_D3D12_COMMAND_QUEUE = cydriver.CUcigDataType_enum.CIG_DATA_TYPE_D3D12_COMMAND_QUEUE             # <<<<<<<<<<<<<<
 * 
 *     #: D3D12 Command Queue Handle
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUcigDataType_enum(CIG_DATA_TYPE_D3D12_COMMAND_QUEUE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CIG_DATA_TYPE_D3D12_COMMAND_QUEU, __pyx_t_18) < (0)) __PYX_ERR(0, 2724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2727
 * 
 *     #: D3D12 Command Queue Handle
 *     CIG_DATA_TYPE_NV_BLOB = cydriver.CUcigDataType_enum.CIG_DATA_TYPE_NV_BLOB             # <<<<<<<<<<<<<<
 * 
 * _dict_CUcigDataType = dict(((int(v), v) for k, v in CUcigDataType.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUcigDataType_enum(CIG_DATA_TYPE_NV_BLOB); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CIG_DATA_TYPE_NV_BLOB, __pyx_t_18) < (0)) __PYX_ERR(0, 2727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":2720
 * _dict_CUexecAffinityType = dict(((int(v), v) for k, v in CUexecAffinityType.__members__.items()))
 * 
 * class CUcigDataType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUcigDataType, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUcigDataType, __pyx_t_18) < (0)) __PYX_ERR(0, 2720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2729
 *     CIG_DATA_TYPE_NV_BLOB = cydriver.CUcigDataType_enum.CIG_DATA_TYPE_NV_BLOB
 * 
 * _dict_CUcigDataType = dict(((int(v), v) for k, v in CUcigDataType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlibraryOption(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUcigDataType); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1110genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUcigDataType, __pyx_t_16) < (0)) __PYX_ERR(0, 2729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2731
 * _dict_CUcigDataType = dict(((int(v), v) for k, v in CUcigDataType.__members__.items()))
 * 
 * class CUlibraryOption(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Library options to be specified with
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUlibraryOption, __pyx_mstate_global->__pyx_n_u_CUlibraryOption, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Library_options_to_be_specified); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 2731, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2737
 *     :py:obj:`~.cuLibraryLoadFromFile()`
 *     """
 *     CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE = cydriver.CUlibraryOption_enum.CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Specifes that the argument `code` passed to
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUlibraryOption_enum(CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI, __pyx_t_17) < (0)) __PYX_ERR(0, 2737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2748
 *     #: :py:obj:`~.cuLibraryLoadFromFile()` is invalid and will return
 *     #: :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.
 *     CU_LIBRARY_BINARY_IS_PRESERVED = cydriver.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED             # <<<<<<<<<<<<<<
 *     CU_LIBRARY_NUM_OPTIONS = cydriver.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUlibraryOption_enum(CU_LIBRARY_BINARY_IS_PRESERVED); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_LIBRARY_BINARY_IS_PRESERVED, __pyx_t_17) < (0)) __PYX_ERR(0, 2748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2749
 *     #: :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.
 *     CU_LIBRARY_BINARY_IS_PRESERVED = cydriver.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED
 *     CU_LIBRARY_NUM_OPTIONS = cydriver.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS             # <<<<<<<<<<<<<<
 * 
 * _dict_CUlibraryOption = dict(((int(v), v) for k, v in CUlibraryOption.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUlibraryOption_enum(CU_LIBRARY_NUM_OPTIONS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_LIBRARY_NUM_OPTIONS, __pyx_t_17) < (0)) __PYX_ERR(0, 2749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":2731
 * _dict_CUcigDataType = dict(((int(v), v) for k, v in CUcigDataType.__members__.items()))
 * 
 * class CUlibraryOption(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Library options to be specified with
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUlibraryOption, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUlibraryOption, __pyx_t_17) < (0)) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2751
 *     CU_LIBRARY_NUM_OPTIONS = cydriver.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS
 * 
 * _dict_CUlibraryOption = dict(((int(v), v) for k, v in CUlibraryOption.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresult(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUlibraryOption); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1113genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUlibraryOption, __pyx_t_3) < (0)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":2753
 * _dict_CUlibraryOption = dict(((int(v), v) for k, v in CUlibraryOption.__members__.items()))
 * 
 * class CUresult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Error codes
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult, __pyx_mstate_global->__pyx_n_u_CUresult, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Error_codes); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 2753, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2761
 *     #: this also means that the operation being queried is complete (see
 *     #: :py:obj:`~.cuEventQuery()` and :py:obj:`~.cuStreamQuery()`).
 *     CUDA_SUCCESS = cydriver.cudaError_enum.CUDA_SUCCESS             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that one or more of the parameters passed to the API
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_SUCCESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_SUCCESS, __pyx_t_16) < (0)) __PYX_ERR(0, 2761, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2765
 *     #: This indicates that one or more of the parameters passed to the API
 *     #: call is not within an acceptable range of values.
 *     CUDA_ERROR_INVALID_VALUE = cydriver.cudaError_enum.CUDA_ERROR_INVALID_VALUE             # <<<<<<<<<<<<<<
 * 
 *     #: The API call failed because it was unable to allocate enough memory
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_VALUE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_VALUE, __pyx_t_16) < (0)) __PYX_ERR(0, 2765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2769
 *     #: The API call failed because it was unable to allocate enough memory
 *     #: or other resources to perform the requested operation.
 *     CUDA_ERROR_OUT_OF_MEMORY = cydriver.cudaError_enum.CUDA_ERROR_OUT_OF_MEMORY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the CUDA driver has not been initialized with
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY, __pyx_t_16) < (0)) __PYX_ERR(0, 2769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2773
 *     #: This indicates that the CUDA driver has not been initialized with
 *     #: :py:obj:`~.cuInit()` or that initialization has failed.
 *     CUDA_ERROR_NOT_INITIALIZED = cydriver.cudaError_enum.CUDA_ERROR_NOT_INITIALIZED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the CUDA driver is in the process of shutting
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NOT_INITIALIZED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NOT_INITIALIZED, __pyx_t_16) < (0)) __PYX_ERR(0, 2773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2777
 *     #: This indicates that the CUDA driver is in the process of shutting
 *     #: down.
 *     CUDA_ERROR_DEINITIALIZED = cydriver.cudaError_enum.CUDA_ERROR_DEINITIALIZED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates profiler is not initialized for this run. This can
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_DEINITIALIZED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_DEINITIALIZED, __pyx_t_16) < (0)) __PYX_ERR(0, 2777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2782
 *     #: happen when the application is running with external profiling tools
 *     #: like visual profiler.
 *     CUDA_ERROR_PROFILER_DISABLED = cydriver.cudaError_enum.CUDA_ERROR_PROFILER_DISABLED             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_PROFILER_DISABLED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_PROFILER_DISABLED, __pyx_t_16) < (0)) __PYX_ERR(0, 2782, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2785
 * 
 *     #: [Deprecated]
 *     CUDA_ERROR_PROFILER_NOT_INITIALIZED = cydriver.cudaError_enum.CUDA_ERROR_PROFILER_NOT_INITIALIZED             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_PROFILER_NOT_INITIALIZED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_PROFILER_NOT_INITIALI, __pyx_t_16) < (0)) __PYX_ERR(0, 2785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2788
 * 
 *     #: [Deprecated]
 *     CUDA_ERROR_PROFILER_ALREADY_STARTED = cydriver.cudaError_enum.CUDA_ERROR_PROFILER_ALREADY_STARTED             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_PROFILER_ALREADY_STARTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_PROFILER_ALREADY_STAR, __pyx_t_16) < (0)) __PYX_ERR(0, 2788, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2791
 * 
 *     #: [Deprecated]
 *     CUDA_ERROR_PROFILER_ALREADY_STOPPED = cydriver.cudaError_enum.CUDA_ERROR_PROFILER_ALREADY_STOPPED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the CUDA driver that the application has loaded
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_PROFILER_ALREADY_STOPPED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_PROFILER_ALREADY_STOP, __pyx_t_16) < (0)) __PYX_ERR(0, 2791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2796
 *     #: is a stub library. Applications that run with the stub rather than a
 *     #: real driver loaded will result in CUDA API returning this error.
 *     CUDA_ERROR_STUB_LIBRARY = cydriver.cudaError_enum.CUDA_ERROR_STUB_LIBRARY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that requested CUDA device is unavailable at the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STUB_LIBRARY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STUB_LIBRARY, __pyx_t_16) < (0)) __PYX_ERR(0, 2796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2802
 *     #: :py:obj:`~.CU_COMPUTEMODE_EXCLUSIVE_PROCESS` or
 *     #: :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`.
 *     CUDA_ERROR_DEVICE_UNAVAILABLE = cydriver.cudaError_enum.CUDA_ERROR_DEVICE_UNAVAILABLE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that no CUDA-capable devices were detected by the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_DEVICE_UNAVAILABLE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_DEVICE_UNAVAILABLE, __pyx_t_16) < (0)) __PYX_ERR(0, 2802, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2806
 *     #: This indicates that no CUDA-capable devices were detected by the
 *     #: installed CUDA driver.
 *     CUDA_ERROR_NO_DEVICE = cydriver.cudaError_enum.CUDA_ERROR_NO_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device ordinal supplied by the user does not
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NO_DEVICE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NO_DEVICE, __pyx_t_16) < (0)) __PYX_ERR(0, 2806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2811
 *     #: correspond to a valid CUDA device or that the action requested is
 *     #: invalid for the specified device.
 *     CUDA_ERROR_INVALID_DEVICE = cydriver.cudaError_enum.CUDA_ERROR_INVALID_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the Grid license is not applied.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_DEVICE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_DEVICE, __pyx_t_16) < (0)) __PYX_ERR(0, 2811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2814
 * 
 *     #: This error indicates that the Grid license is not applied.
 *     CUDA_ERROR_DEVICE_NOT_LICENSED = cydriver.cudaError_enum.CUDA_ERROR_DEVICE_NOT_LICENSED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel image is invalid. This can
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_DEVICE_NOT_LICENSED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_DEVICE_NOT_LICENSED, __pyx_t_16) < (0)) __PYX_ERR(0, 2814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2818
 *     #: This indicates that the device kernel image is invalid. This can
 *     #: also indicate an invalid CUDA module.
 *     CUDA_ERROR_INVALID_IMAGE = cydriver.cudaError_enum.CUDA_ERROR_INVALID_IMAGE             # <<<<<<<<<<<<<<
 * 
 *     #: This most frequently indicates that there is no context bound to the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_IMAGE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_IMAGE, __pyx_t_16) < (0)) __PYX_ERR(0, 2818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2829
 *     #: was not converted to a :py:obj:`~.CUcontext` using
 *     #: :py:obj:`~.cuCtxFromGreenCtx` API.
 *     CUDA_ERROR_INVALID_CONTEXT = cydriver.cudaError_enum.CUDA_ERROR_INVALID_CONTEXT             # <<<<<<<<<<<<<<
 * 
 *     #: This indicated that the context being supplied as a parameter to the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_CONTEXT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_CONTEXT, __pyx_t_16) < (0)) __PYX_ERR(0, 2829, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2833
 *     #: This indicated that the context being supplied as a parameter to the
 *     #: API call was already the active context. [Deprecated]
 *     CUDA_ERROR_CONTEXT_ALREADY_CURRENT = cydriver.cudaError_enum.CUDA_ERROR_CONTEXT_ALREADY_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a map or register operation has failed.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_CONTEXT_ALREADY_CURRENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_CONTEXT_ALREADY_CURRE, __pyx_t_16) < (0)) __PYX_ERR(0, 2833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2836
 * 
 *     #: This indicates that a map or register operation has failed.
 *     CUDA_ERROR_MAP_FAILED = cydriver.cudaError_enum.CUDA_ERROR_MAP_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an unmap or unregister operation has failed.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_MAP_FAILED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_MAP_FAILED, __pyx_t_16) < (0)) __PYX_ERR(0, 2836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2839
 * 
 *     #: This indicates that an unmap or unregister operation has failed.
 *     CUDA_ERROR_UNMAP_FAILED = cydriver.cudaError_enum.CUDA_ERROR_UNMAP_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the specified array is currently mapped and thus
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_UNMAP_FAILED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_UNMAP_FAILED, __pyx_t_16) < (0)) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2843
 *     #: This indicates that the specified array is currently mapped and thus
 *     #: cannot be destroyed.
 *     CUDA_ERROR_ARRAY_IS_MAPPED = cydriver.cudaError_enum.CUDA_ERROR_ARRAY_IS_MAPPED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the resource is already mapped.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_ARRAY_IS_MAPPED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_ARRAY_IS_MAPPED, __pyx_t_16) < (0)) __PYX_ERR(0, 2843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2846
 * 
 *     #: This indicates that the resource is already mapped.
 *     CUDA_ERROR_ALREADY_MAPPED = cydriver.cudaError_enum.CUDA_ERROR_ALREADY_MAPPED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that there is no kernel image available that is
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_ALREADY_MAPPED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_ALREADY_MAPPED, __pyx_t_16) < (0)) __PYX_ERR(0, 2846, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2852
 *     #: generation options for a particular CUDA source file that do not
 *     #: include the corresponding device configuration.
 *     CUDA_ERROR_NO_BINARY_FOR_GPU = cydriver.cudaError_enum.CUDA_ERROR_NO_BINARY_FOR_GPU             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource has already been acquired.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NO_BINARY_FOR_GPU); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NO_BINARY_FOR_GPU, __pyx_t_16) < (0)) __PYX_ERR(0, 2852, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2855
 * 
 *     #: This indicates that a resource has already been acquired.
 *     CUDA_ERROR_ALREADY_ACQUIRED = cydriver.cudaError_enum.CUDA_ERROR_ALREADY_ACQUIRED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource is not mapped.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_ALREADY_ACQUIRED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_ALREADY_ACQUIRED, __pyx_t_16) < (0)) __PYX_ERR(0, 2855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2858
 * 
 *     #: This indicates that a resource is not mapped.
 *     CUDA_ERROR_NOT_MAPPED = cydriver.cudaError_enum.CUDA_ERROR_NOT_MAPPED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a mapped resource is not available for access as
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NOT_MAPPED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NOT_MAPPED, __pyx_t_16) < (0)) __PYX_ERR(0, 2858, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2862
 *     #: This indicates that a mapped resource is not available for access as
 *     #: an array.
 *     CUDA_ERROR_NOT_MAPPED_AS_ARRAY = cydriver.cudaError_enum.CUDA_ERROR_NOT_MAPPED_AS_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a mapped resource is not available for access as
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NOT_MAPPED_AS_ARRAY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NOT_MAPPED_AS_ARRAY, __pyx_t_16) < (0)) __PYX_ERR(0, 2862, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2866
 *     #: This indicates that a mapped resource is not available for access as
 *     #: a pointer.
 *     CUDA_ERROR_NOT_MAPPED_AS_POINTER = cydriver.cudaError_enum.CUDA_ERROR_NOT_MAPPED_AS_POINTER             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an uncorrectable ECC error was detected during
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NOT_MAPPED_AS_POINTER); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NOT_MAPPED_AS_POINTER, __pyx_t_16) < (0)) __PYX_ERR(0, 2866, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2870
 *     #: This indicates that an uncorrectable ECC error was detected during
 *     #: execution.
 *     CUDA_ERROR_ECC_UNCORRECTABLE = cydriver.cudaError_enum.CUDA_ERROR_ECC_UNCORRECTABLE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the :py:obj:`~.CUlimit` passed to the API call
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_ECC_UNCORRECTABLE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_ECC_UNCORRECTABLE, __pyx_t_16) < (0)) __PYX_ERR(0, 2870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2874
 *     #: This indicates that the :py:obj:`~.CUlimit` passed to the API call
 *     #: is not supported by the active device.
 *     CUDA_ERROR_UNSUPPORTED_LIMIT = cydriver.cudaError_enum.CUDA_ERROR_UNSUPPORTED_LIMIT             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the :py:obj:`~.CUcontext` passed to the API call
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_UNSUPPORTED_LIMIT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_UNSUPPORTED_LIMIT, __pyx_t_16) < (0)) __PYX_ERR(0, 2874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2879
 *     #: can only be bound to a single CPU thread at a time but is already
 *     #: bound to a CPU thread.
 *     CUDA_ERROR_CONTEXT_ALREADY_IN_USE = cydriver.cudaError_enum.CUDA_ERROR_CONTEXT_ALREADY_IN_USE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that peer access is not supported across the given
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_CONTEXT_ALREADY_IN_USE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_CONTEXT_ALREADY_IN_US, __pyx_t_16) < (0)) __PYX_ERR(0, 2879, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2883
 *     #: This indicates that peer access is not supported across the given
 *     #: devices.
 *     CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = cydriver.cudaError_enum.CUDA_ERROR_PEER_ACCESS_UNSUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a PTX JIT compilation failed.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_PEER_ACCESS_UNSUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_PEER_ACCESS_UNSUPPORT, __pyx_t_16) < (0)) __PYX_ERR(0, 2883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2886
 * 
 *     #: This indicates that a PTX JIT compilation failed.
 *     CUDA_ERROR_INVALID_PTX = cydriver.cudaError_enum.CUDA_ERROR_INVALID_PTX             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates an error with OpenGL or DirectX context.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_PTX); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_PTX, __pyx_t_16) < (0)) __PYX_ERR(0, 2886, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2889
 * 
 *     #: This indicates an error with OpenGL or DirectX context.
 *     CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = cydriver.cudaError_enum.CUDA_ERROR_INVALID_GRAPHICS_CONTEXT             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an uncorrectable NVLink error was detected
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_GRAPHICS_CONTEXT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_GRAPHICS_CONT, __pyx_t_16) < (0)) __PYX_ERR(0, 2889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2893
 *     #: This indicates that an uncorrectable NVLink error was detected
 *     #: during the execution.
 *     CUDA_ERROR_NVLINK_UNCORRECTABLE = cydriver.cudaError_enum.CUDA_ERROR_NVLINK_UNCORRECTABLE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the PTX JIT compiler library was not found.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NVLINK_UNCORRECTABLE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NVLINK_UNCORRECTABLE, __pyx_t_16) < (0)) __PYX_ERR(0, 2893, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2896
 * 
 *     #: This indicates that the PTX JIT compiler library was not found.
 *     CUDA_ERROR_JIT_COMPILER_NOT_FOUND = cydriver.cudaError_enum.CUDA_ERROR_JIT_COMPILER_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the provided PTX was compiled with an
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_JIT_COMPILER_NOT_FOUND); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_JIT_COMPILER_NOT_FOUN, __pyx_t_16) < (0)) __PYX_ERR(0, 2896, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2900
 *     #: This indicates that the provided PTX was compiled with an
 *     #: unsupported toolchain.
 *     CUDA_ERROR_UNSUPPORTED_PTX_VERSION = cydriver.cudaError_enum.CUDA_ERROR_UNSUPPORTED_PTX_VERSION             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the PTX JIT compilation was disabled.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_UNSUPPORTED_PTX_VERSION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_UNSUPPORTED_PTX_VERSI, __pyx_t_16) < (0)) __PYX_ERR(0, 2900, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2903
 * 
 *     #: This indicates that the PTX JIT compilation was disabled.
 *     CUDA_ERROR_JIT_COMPILATION_DISABLED = cydriver.cudaError_enum.CUDA_ERROR_JIT_COMPILATION_DISABLED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the :py:obj:`~.CUexecAffinityType` passed to the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_JIT_COMPILATION_DISABLED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_JIT_COMPILATION_DISAB, __pyx_t_16) < (0)) __PYX_ERR(0, 2903, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2907
 *     #: This indicates that the :py:obj:`~.CUexecAffinityType` passed to the
 *     #: API call is not supported by the active device.
 *     CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = cydriver.cudaError_enum.CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the code to be compiled by the PTX JIT contains
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI, __pyx_t_16) < (0)) __PYX_ERR(0, 2907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2911
 *     #: This indicates that the code to be compiled by the PTX JIT contains
 *     #: unsupported call to cudaDeviceSynchronize.
 *     CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = cydriver.cudaError_enum.CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an exception occurred on the device that is now
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S, __pyx_t_16) < (0)) __PYX_ERR(0, 2911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2920
 *     #: same error. To continue using CUDA, the process must be terminated
 *     #: and relaunched.
 *     CUDA_ERROR_CONTAINED = cydriver.cudaError_enum.CUDA_ERROR_CONTAINED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel source is invalid. This
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_CONTAINED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_CONTAINED, __pyx_t_16) < (0)) __PYX_ERR(0, 2920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2925
 *     #: includes compilation/linker errors encountered in device code or
 *     #: user error.
 *     CUDA_ERROR_INVALID_SOURCE = cydriver.cudaError_enum.CUDA_ERROR_INVALID_SOURCE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the file specified was not found.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_SOURCE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_SOURCE, __pyx_t_16) < (0)) __PYX_ERR(0, 2925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2928
 * 
 *     #: This indicates that the file specified was not found.
 *     CUDA_ERROR_FILE_NOT_FOUND = cydriver.cudaError_enum.CUDA_ERROR_FILE_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a link to a shared object failed to resolve.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_FILE_NOT_FOUND); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_FILE_NOT_FOUND, __pyx_t_16) < (0)) __PYX_ERR(0, 2928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2931
 * 
 *     #: This indicates that a link to a shared object failed to resolve.
 *     CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = cydriver.cudaError_enum.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that initialization of a shared object failed.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_SHARED_OBJECT_SYMBOL, __pyx_t_16) < (0)) __PYX_ERR(0, 2931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2934
 * 
 *     #: This indicates that initialization of a shared object failed.
 *     CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = cydriver.cudaError_enum.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an OS call failed.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_SHARED_OBJECT_INIT_FAILED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_SHARED_OBJECT_INIT_FA, __pyx_t_16) < (0)) __PYX_ERR(0, 2934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2937
 * 
 *     #: This indicates that an OS call failed.
 *     CUDA_ERROR_OPERATING_SYSTEM = cydriver.cudaError_enum.CUDA_ERROR_OPERATING_SYSTEM             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource handle passed to the API call was not
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_OPERATING_SYSTEM); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OPERATING_SYSTEM, __pyx_t_16) < (0)) __PYX_ERR(0, 2937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2942
 *     #: valid. Resource handles are opaque types like :py:obj:`~.CUstream`
 *     #: and :py:obj:`~.CUevent`.
 *     CUDA_ERROR_INVALID_HANDLE = cydriver.cudaError_enum.CUDA_ERROR_INVALID_HANDLE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource required by the API call is not in a
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_HANDLE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_HANDLE, __pyx_t_16) < (0)) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2946
 *     #: This indicates that a resource required by the API call is not in a
 *     #: valid state to perform the requested operation.
 *     CUDA_ERROR_ILLEGAL_STATE = cydriver.cudaError_enum.CUDA_ERROR_ILLEGAL_STATE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates an attempt was made to introspect an object in a way
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_ILLEGAL_STATE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_ILLEGAL_STATE, __pyx_t_16) < (0)) __PYX_ERR(0, 2946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2953
 *     #: version used to introspect it or omission of optional return
 *     #: arguments.
 *     CUDA_ERROR_LOSSY_QUERY = cydriver.cudaError_enum.CUDA_ERROR_LOSSY_QUERY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a named symbol was not found. Examples of
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_LOSSY_QUERY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_LOSSY_QUERY, __pyx_t_16) < (0)) __PYX_ERR(0, 2953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2958
 *     #: symbols are global/constant variable names, driver function names,
 *     #: texture names, and surface names.
 *     CUDA_ERROR_NOT_FOUND = cydriver.cudaError_enum.CUDA_ERROR_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that asynchronous operations issued previously have
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NOT_FOUND); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NOT_FOUND, __pyx_t_16) < (0)) __PYX_ERR(0, 2958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2965
 *     #: completion). Calls that may return this value include
 *     #: :py:obj:`~.cuEventQuery()` and :py:obj:`~.cuStreamQuery()`.
 *     CUDA_ERROR_NOT_READY = cydriver.cudaError_enum.CUDA_ERROR_NOT_READY             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered a load or store
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NOT_READY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NOT_READY, __pyx_t_16) < (0)) __PYX_ERR(0, 2965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2972
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     CUDA_ERROR_ILLEGAL_ADDRESS = cydriver.cudaError_enum.CUDA_ERROR_ILLEGAL_ADDRESS             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a launch did not occur because it did not have
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_ILLEGAL_ADDRESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_ILLEGAL_ADDRESS, __pyx_t_16) < (0)) __PYX_ERR(0, 2972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2981
 *     #: pointer when a 32-bit int is expected) is equivalent to passing too
 *     #: many arguments and can also result in this error.
 *     CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = cydriver.cudaError_enum.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel took too long to execute. This
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC, __pyx_t_16) < (0)) __PYX_ERR(0, 2981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2989
 *     #: any further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     CUDA_ERROR_LAUNCH_TIMEOUT = cydriver.cudaError_enum.CUDA_ERROR_LAUNCH_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates a kernel launch that uses an incompatible
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_LAUNCH_TIMEOUT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_LAUNCH_TIMEOUT, __pyx_t_16) < (0)) __PYX_ERR(0, 2989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2993
 *     #: This error indicates a kernel launch that uses an incompatible
 *     #: texturing mode.
 *     CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = cydriver.cudaError_enum.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a call to
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T, __pyx_t_16) < (0)) __PYX_ERR(0, 2993, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2998
 *     #: :py:obj:`~.cuCtxEnablePeerAccess()` is trying to re-enable peer
 *     #: access to a context which has already had peer access to it enabled.
 *     CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = cydriver.cudaError_enum.CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that :py:obj:`~.cuCtxDisablePeerAccess()` is
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_PEER_ACCESS_ALREADY_E, __pyx_t_16) < (0)) __PYX_ERR(0, 2998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3003
 *     #: trying to disable peer access which has not been enabled yet via
 *     #: :py:obj:`~.cuCtxEnablePeerAccess()`.
 *     CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = cydriver.cudaError_enum.CUDA_ERROR_PEER_ACCESS_NOT_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the primary context for the specified
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_PEER_ACCESS_NOT_ENABLED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_PEER_ACCESS_NOT_ENABL, __pyx_t_16) < (0)) __PYX_ERR(0, 3003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3007
 *     #: This error indicates that the primary context for the specified
 *     #: device has already been initialized.
 *     CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = cydriver.cudaError_enum.CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the context current to the calling thread
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV, __pyx_t_16) < (0)) __PYX_ERR(0, 3007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3012
 *     #: has been destroyed using :py:obj:`~.cuCtxDestroy`, or is a primary
 *     #: context which has not yet been initialized.
 *     CUDA_ERROR_CONTEXT_IS_DESTROYED = cydriver.cudaError_enum.CUDA_ERROR_CONTEXT_IS_DESTROYED             # <<<<<<<<<<<<<<
 * 
 *     #: A device-side assert triggered during kernel execution. The context
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_CONTEXT_IS_DESTROYED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_CONTEXT_IS_DESTROYED, __pyx_t_16) < (0)) __PYX_ERR(0, 3012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3018
 *     #: memory allocations from this context are invalid and must be
 *     #: reconstructed if the program is to continue using CUDA.
 *     CUDA_ERROR_ASSERT = cydriver.cudaError_enum.CUDA_ERROR_ASSERT             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the hardware resources required to enable
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_ASSERT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_ASSERT, __pyx_t_16) < (0)) __PYX_ERR(0, 3018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3023
 *     #: peer access have been exhausted for one or more of the devices
 *     #: passed to :py:obj:`~.cuCtxEnablePeerAccess()`.
 *     CUDA_ERROR_TOO_MANY_PEERS = cydriver.cudaError_enum.CUDA_ERROR_TOO_MANY_PEERS             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the memory range passed to
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_TOO_MANY_PEERS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_TOO_MANY_PEERS, __pyx_t_16) < (0)) __PYX_ERR(0, 3023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3027
 *     #: This error indicates that the memory range passed to
 *     #: :py:obj:`~.cuMemHostRegister()` has already been registered.
 *     CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = cydriver.cudaError_enum.CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the pointer passed to
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_HOST_MEMORY_ALREADY_R, __pyx_t_16) < (0)) __PYX_ERR(0, 3027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3032
 *     #: :py:obj:`~.cuMemHostUnregister()` does not correspond to any
 *     #: currently registered memory region.
 *     CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = cydriver.cudaError_enum.CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered a stack error. This
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_HOST_MEMORY_NOT_REGIS, __pyx_t_16) < (0)) __PYX_ERR(0, 3032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3039
 *     #: CUDA work will return the same error. To continue using CUDA, the
 *     #: process must be terminated and relaunched.
 *     CUDA_ERROR_HARDWARE_STACK_ERROR = cydriver.cudaError_enum.CUDA_ERROR_HARDWARE_STACK_ERROR             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered an illegal
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_HARDWARE_STACK_ERROR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_HARDWARE_STACK_ERROR, __pyx_t_16) < (0)) __PYX_ERR(0, 3039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3045
 *     #: any further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     CUDA_ERROR_ILLEGAL_INSTRUCTION = cydriver.cudaError_enum.CUDA_ERROR_ILLEGAL_INSTRUCTION             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered a load or store
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_ILLEGAL_INSTRUCTION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_ILLEGAL_INSTRUCTION, __pyx_t_16) < (0)) __PYX_ERR(0, 3045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3052
 *     #: return the same error. To continue using CUDA, the process must be
 *     #: terminated and relaunched.
 *     CUDA_ERROR_MISALIGNED_ADDRESS = cydriver.cudaError_enum.CUDA_ERROR_MISALIGNED_ADDRESS             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered an instruction
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_MISALIGNED_ADDRESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_MISALIGNED_ADDRESS, __pyx_t_16) < (0)) __PYX_ERR(0, 3052, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3061
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     CUDA_ERROR_INVALID_ADDRESS_SPACE = cydriver.cudaError_enum.CUDA_ERROR_INVALID_ADDRESS_SPACE             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device program counter wrapped its
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_ADDRESS_SPACE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_ADDRESS_SPACE, __pyx_t_16) < (0)) __PYX_ERR(0, 3061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3067
 *     #: any further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     CUDA_ERROR_INVALID_PC = cydriver.cudaError_enum.CUDA_ERROR_INVALID_PC             # <<<<<<<<<<<<<<
 * 
 *     #: An exception occurred on the device while executing a kernel. Common
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_PC); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_PC, __pyx_t_16) < (0)) __PYX_ERR(0, 3067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3077
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     CUDA_ERROR_LAUNCH_FAILED = cydriver.cudaError_enum.CUDA_ERROR_LAUNCH_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the number of blocks launched per grid for
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_LAUNCH_FAILED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_LAUNCH_FAILED, __pyx_t_16) < (0)) __PYX_ERR(0, 3077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3088
 *     #: times the number of multiprocessors as specified by the device
 *     #: attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT`.
 *     CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = cydriver.cudaError_enum.CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE             # <<<<<<<<<<<<<<
 * 
 *     #: An exception occurred on the device while exiting a kernel using
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_COOPERATIVE_LAUNCH_TO, __pyx_t_16) < (0)) __PYX_ERR(0, 3088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3095
 *     #: CUDA work will return the same error. To continue using CUDA, the
 *     #: process must be terminated and relaunched.
 *     CUDA_ERROR_TENSOR_MEMORY_LEAK = cydriver.cudaError_enum.CUDA_ERROR_TENSOR_MEMORY_LEAK             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the attempted operation is not permitted.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_TENSOR_MEMORY_LEAK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_TENSOR_MEMORY_LEAK, __pyx_t_16) < (0)) __PYX_ERR(0, 3095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3098
 * 
 *     #: This error indicates that the attempted operation is not permitted.
 *     CUDA_ERROR_NOT_PERMITTED = cydriver.cudaError_enum.CUDA_ERROR_NOT_PERMITTED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the attempted operation is not supported
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NOT_PERMITTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NOT_PERMITTED, __pyx_t_16) < (0)) __PYX_ERR(0, 3098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3102
 *     #: This error indicates that the attempted operation is not supported
 *     #: on the current system or device.
 *     CUDA_ERROR_NOT_SUPPORTED = cydriver.cudaError_enum.CUDA_ERROR_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the system is not yet ready to start any
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_NOT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_NOT_SUPPORTED, __pyx_t_16) < (0)) __PYX_ERR(0, 3102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3109
 *     #: running. More information about this error can be found in the
 *     #: system specific user guide.
 *     CUDA_ERROR_SYSTEM_NOT_READY = cydriver.cudaError_enum.CUDA_ERROR_SYSTEM_NOT_READY             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that there is a mismatch between the versions
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_SYSTEM_NOT_READY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_SYSTEM_NOT_READY, __pyx_t_16) < (0)) __PYX_ERR(0, 3109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3114
 *     #: of the display driver and the CUDA driver. Refer to the
 *     #: compatibility documentation for supported versions.
 *     CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = cydriver.cudaError_enum.CUDA_ERROR_SYSTEM_DRIVER_MISMATCH             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the system was upgraded to run with
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_SYSTEM_DRIVER_MISMATCH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_SYSTEM_DRIVER_MISMATC, __pyx_t_16) < (0)) __PYX_ERR(0, 3114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3122
 *     #: supported hardware is visible during initialization via the
 *     #: CUDA_VISIBLE_DEVICES environment variable.
 *     CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = cydriver.cudaError_enum.CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS client failed to connect to the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_COMPAT_NOT_SUPPORTED, __pyx_t_16) < (0)) __PYX_ERR(0, 3122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3126
 *     #: This error indicates that the MPS client failed to connect to the
 *     #: MPS control daemon or the MPS server.
 *     CUDA_ERROR_MPS_CONNECTION_FAILED = cydriver.cudaError_enum.CUDA_ERROR_MPS_CONNECTION_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the remote procedural call between the MPS
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_MPS_CONNECTION_FAILED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_MPS_CONNECTION_FAILED, __pyx_t_16) < (0)) __PYX_ERR(0, 3126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3130
 *     #: This error indicates that the remote procedural call between the MPS
 *     #: server and the MPS client failed.
 *     CUDA_ERROR_MPS_RPC_FAILURE = cydriver.cudaError_enum.CUDA_ERROR_MPS_RPC_FAILURE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS server is not ready to accept new
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_MPS_RPC_FAILURE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_MPS_RPC_FAILURE, __pyx_t_16) < (0)) __PYX_ERR(0, 3130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3135
 *     #: MPS client requests. This error can be returned when the MPS server
 *     #: is in the process of recovering from a fatal failure.
 *     CUDA_ERROR_MPS_SERVER_NOT_READY = cydriver.cudaError_enum.CUDA_ERROR_MPS_SERVER_NOT_READY             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the hardware resources required to create
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_MPS_SERVER_NOT_READY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_MPS_SERVER_NOT_READY, __pyx_t_16) < (0)) __PYX_ERR(0, 3135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3139
 *     #: This error indicates that the hardware resources required to create
 *     #: MPS client have been exhausted.
 *     CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = cydriver.cudaError_enum.CUDA_ERROR_MPS_MAX_CLIENTS_REACHED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates the the hardware resources required to support
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_MPS_MAX_CLIENTS_REACHED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_MPS_MAX_CLIENTS_REACH, __pyx_t_16) < (0)) __PYX_ERR(0, 3139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3143
 *     #: This error indicates the the hardware resources required to support
 *     #: device connections have been exhausted.
 *     CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = cydriver.cudaError_enum.CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS client has been terminated by the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_MPS_MAX_CONNECTIONS_R, __pyx_t_16) < (0)) __PYX_ERR(0, 3143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3148
 *     #: server. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     CUDA_ERROR_MPS_CLIENT_TERMINATED = cydriver.cudaError_enum.CUDA_ERROR_MPS_CLIENT_TERMINATED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the module is using CUDA Dynamic
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_MPS_CLIENT_TERMINATED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_MPS_CLIENT_TERMINATED, __pyx_t_16) < (0)) __PYX_ERR(0, 3148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3153
 *     #: Parallelism, but the current configuration, like MPS, does not
 *     #: support it.
 *     CUDA_ERROR_CDP_NOT_SUPPORTED = cydriver.cudaError_enum.CUDA_ERROR_CDP_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a module contains an unsupported
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_CDP_NOT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_CDP_NOT_SUPPORTED, __pyx_t_16) < (0)) __PYX_ERR(0, 3153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3157
 *     #: This error indicates that a module contains an unsupported
 *     #: interaction between different versions of CUDA Dynamic Parallelism.
 *     CUDA_ERROR_CDP_VERSION_MISMATCH = cydriver.cudaError_enum.CUDA_ERROR_CDP_VERSION_MISMATCH             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the operation is not permitted when the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_CDP_VERSION_MISMATCH); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_CDP_VERSION_MISMATCH, __pyx_t_16) < (0)) __PYX_ERR(0, 3157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3161
 *     #: This error indicates that the operation is not permitted when the
 *     #: stream is capturing.
 *     CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = cydriver.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the current capture sequence on the stream
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNSUPP, __pyx_t_16) < (0)) __PYX_ERR(0, 3161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3165
 *     #: This error indicates that the current capture sequence on the stream
 *     #: has been invalidated due to a previous error.
 *     CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = cydriver.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_INVALIDATED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the operation would have resulted in a
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_INVALIDATED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_INVALI, __pyx_t_16) < (0)) __PYX_ERR(0, 3165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3169
 *     #: This error indicates that the operation would have resulted in a
 *     #: merge of two independent capture sequences.
 *     CUDA_ERROR_STREAM_CAPTURE_MERGE = cydriver.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_MERGE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the capture was not initiated in this
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_MERGE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_MERGE, __pyx_t_16) < (0)) __PYX_ERR(0, 3169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3173
 *     #: This error indicates that the capture was not initiated in this
 *     #: stream.
 *     CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = cydriver.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_UNMATCHED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the capture sequence contains a fork that
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_UNMATCHED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNMATC, __pyx_t_16) < (0)) __PYX_ERR(0, 3173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3177
 *     #: This error indicates that the capture sequence contains a fork that
 *     #: was not joined to the primary stream.
 *     CUDA_ERROR_STREAM_CAPTURE_UNJOINED = cydriver.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_UNJOINED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a dependency would have been created which
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_UNJOINED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNJOIN, __pyx_t_16) < (0)) __PYX_ERR(0, 3177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3182
 *     #: crosses the capture sequence boundary. Only implicit in-stream
 *     #: ordering dependencies are allowed to cross the boundary.
 *     CUDA_ERROR_STREAM_CAPTURE_ISOLATION = cydriver.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_ISOLATION             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates a disallowed implicit dependency on a current
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_ISOLATION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_ISOLAT, __pyx_t_16) < (0)) __PYX_ERR(0, 3182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3186
 *     #: This error indicates a disallowed implicit dependency on a current
 *     #: capture sequence from cudaStreamLegacy.
 *     CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = cydriver.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the operation is not permitted on an event
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_IMPLICIT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_IMPLIC, __pyx_t_16) < (0)) __PYX_ERR(0, 3186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3190
 *     #: This error indicates that the operation is not permitted on an event
 *     #: which was last recorded in a capturing stream.
 *     CUDA_ERROR_CAPTURED_EVENT = cydriver.cudaError_enum.CUDA_ERROR_CAPTURED_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: A stream capture sequence not initiated with the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_CAPTURED_EVENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_CAPTURED_EVENT, __pyx_t_16) < (0)) __PYX_ERR(0, 3190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3196
 *     #: :py:obj:`~.cuStreamBeginCapture` was passed to
 *     #: :py:obj:`~.cuStreamEndCapture` in a different thread.
 *     CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = cydriver.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the timeout specified for the wait
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_WRONG, __pyx_t_16) < (0)) __PYX_ERR(0, 3196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3200
 *     #: This error indicates that the timeout specified for the wait
 *     #: operation has lapsed.
 *     CUDA_ERROR_TIMEOUT = cydriver.cudaError_enum.CUDA_ERROR_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the graph update was not performed because
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_TIMEOUT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_TIMEOUT, __pyx_t_16) < (0)) __PYX_ERR(0, 3200, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3205
 *     #: it included changes which violated constraints specific to
 *     #: instantiated graph update.
 *     CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = cydriver.cudaError_enum.CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an async error has occurred in a device outside
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI, __pyx_t_16) < (0)) __PYX_ERR(0, 3205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3214
 *     #: return the same error. To continue using CUDA, the process must be
 *     #: terminated and relaunched.
 *     CUDA_ERROR_EXTERNAL_DEVICE = cydriver.cudaError_enum.CUDA_ERROR_EXTERNAL_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates a kernel launch error due to cluster misconfiguration.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_EXTERNAL_DEVICE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_EXTERNAL_DEVICE, __pyx_t_16) < (0)) __PYX_ERR(0, 3214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3217
 * 
 *     #: Indicates a kernel launch error due to cluster misconfiguration.
 *     CUDA_ERROR_INVALID_CLUSTER_SIZE = cydriver.cudaError_enum.CUDA_ERROR_INVALID_CLUSTER_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Indiciates a function handle is not loaded when calling an API that
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_CLUSTER_SIZE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_CLUSTER_SIZE, __pyx_t_16) < (0)) __PYX_ERR(0, 3217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3221
 *     #: Indiciates a function handle is not loaded when calling an API that
 *     #: requires a loaded function.
 *     CUDA_ERROR_FUNCTION_NOT_LOADED = cydriver.cudaError_enum.CUDA_ERROR_FUNCTION_NOT_LOADED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates one or more resources passed in are not valid
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_FUNCTION_NOT_LOADED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_FUNCTION_NOT_LOADED, __pyx_t_16) < (0)) __PYX_ERR(0, 3221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3225
 *     #: This error indicates one or more resources passed in are not valid
 *     #: resource types for the operation.
 *     CUDA_ERROR_INVALID_RESOURCE_TYPE = cydriver.cudaError_enum.CUDA_ERROR_INVALID_RESOURCE_TYPE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates one or more resources are insufficient or non-
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_RESOURCE_TYPE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_RESOURCE_TYPE, __pyx_t_16) < (0)) __PYX_ERR(0, 3225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3229
 *     #: This error indicates one or more resources are insufficient or non-
 *     #: applicable for the operation.
 *     CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION = cydriver.cudaError_enum.CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that an error happened during the key rotation
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_INVALID_RESOURCE_CONF, __pyx_t_16) < (0)) __PYX_ERR(0, 3229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3233
 *     #: This error indicates that an error happened during the key rotation
 *     #: sequence.
 *     CUDA_ERROR_KEY_ROTATION = cydriver.cudaError_enum.CUDA_ERROR_KEY_ROTATION             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an unknown internal error has occurred.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_KEY_ROTATION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_KEY_ROTATION, __pyx_t_16) < (0)) __PYX_ERR(0, 3233, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3236
 * 
 *     #: This indicates that an unknown internal error has occurred.
 *     CUDA_ERROR_UNKNOWN = cydriver.cudaError_enum.CUDA_ERROR_UNKNOWN             # <<<<<<<<<<<<<<
 * 
 * _dict_CUresult = dict(((int(v), v) for k, v in CUresult.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__cudaError_enum(CUDA_ERROR_UNKNOWN); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_UNKNOWN, __pyx_t_16) < (0)) __PYX_ERR(0, 3236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":2753
 * _dict_CUlibraryOption = dict(((int(v), v) for k, v in CUlibraryOption.__members__.items()))
 * 
 * class CUresult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Error codes
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUresult, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUresult, __pyx_t_16) < (0)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3238
 *     CUDA_ERROR_UNKNOWN = cydriver.cudaError_enum.CUDA_ERROR_UNKNOWN
 * 
 * _dict_CUresult = dict(((int(v), v) for k, v in CUresult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevice_P2PAttribute(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1116genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUresult, __pyx_t_18) < (0)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3240
 * _dict_CUresult = dict(((int(v), v) for k, v in CUresult.__members__.items()))
 * 
 * class CUdevice_P2PAttribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     P2P Attributes
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUdevice_P2PAttribute, __pyx_mstate_global->__pyx_n_u_CUdevice_P2PAttribute, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_P2P_Attributes); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3240, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3247
 *     #: A relative value indicating the performance of the link between two
 *     #: devices
 *     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK             # <<<<<<<<<<<<<<
 * 
 *     #: P2P Access is enable
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA, __pyx_t_3) < (0)) __PYX_ERR(0, 3247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3250
 * 
 *     #: P2P Access is enable
 *     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Atomic operation over the link supported
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S, __pyx_t_3) < (0)) __PYX_ERR(0, 3250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3253
 * 
 *     #: Atomic operation over the link supported
 *     CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A, __pyx_t_3) < (0)) __PYX_ERR(0, 3253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3256
 * 
 *     #: [Deprecated]
 *     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Accessing CUDA arrays over the link supported
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A, __pyx_t_3) < (0)) __PYX_ERR(0, 3256, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3259
 * 
 *     #: Accessing CUDA arrays over the link supported
 *     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUdevice_P2PAttribute = dict(((int(v), v) for k, v in CUdevice_P2PAttribute.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR, __pyx_t_3) < (0)) __PYX_ERR(0, 3259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3240
 * _dict_CUresult = dict(((int(v), v) for k, v in CUresult.__members__.items()))
 * 
 * class CUdevice_P2PAttribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     P2P Attributes
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUdevice_P2PAttribute, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUdevice_P2PAttribute, __pyx_t_3) < (0)) __PYX_ERR(0, 3240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3261
 *     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED
 * 
 * _dict_CUdevice_P2PAttribute = dict(((int(v), v) for k, v in CUdevice_P2PAttribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUresourceViewFormat(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUdevice_P2PAttribute); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1119genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUdevice_P2PAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3263
 * _dict_CUdevice_P2PAttribute = dict(((int(v), v) for k, v in CUdevice_P2PAttribute.__members__.items()))
 * 
 * class CUresourceViewFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view format
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUresourceViewFormat, __pyx_mstate_global->__pyx_n_u_CUresourceViewFormat, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Resource_view_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3263, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3269
 * 
 *     #: No resource view format (use underlying resource format)
 *     CU_RES_VIEW_FORMAT_NONE = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 8-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_NONE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_NONE, __pyx_t_18) < (0)) __PYX_ERR(0, 3269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3272
 * 
 *     #: 1 channel unsigned 8-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_1X8 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_1X8             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 8-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_1X8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X8, __pyx_t_18) < (0)) __PYX_ERR(0, 3272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3275
 * 
 *     #: 2 channel unsigned 8-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_2X8 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_2X8             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 8-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_2X8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X8, __pyx_t_18) < (0)) __PYX_ERR(0, 3275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3278
 * 
 *     #: 4 channel unsigned 8-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_4X8 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_4X8             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 8-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_4X8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X8, __pyx_t_18) < (0)) __PYX_ERR(0, 3278, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3281
 * 
 *     #: 1 channel signed 8-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_1X8 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_1X8             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 8-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_1X8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X8, __pyx_t_18) < (0)) __PYX_ERR(0, 3281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3284
 * 
 *     #: 2 channel signed 8-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_2X8 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_2X8             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 8-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_2X8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X8, __pyx_t_18) < (0)) __PYX_ERR(0, 3284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3287
 * 
 *     #: 4 channel signed 8-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_4X8 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_4X8             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 16-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_4X8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X8, __pyx_t_18) < (0)) __PYX_ERR(0, 3287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3290
 * 
 *     #: 1 channel unsigned 16-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_1X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_1X16             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 16-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_1X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3293
 * 
 *     #: 2 channel unsigned 16-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_2X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_2X16             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 16-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_2X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3296
 * 
 *     #: 4 channel unsigned 16-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_4X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_4X16             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 16-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_4X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3296, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3299
 * 
 *     #: 1 channel signed 16-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_1X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_1X16             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 16-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_1X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3302
 * 
 *     #: 2 channel signed 16-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_2X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_2X16             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 16-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_2X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3305
 * 
 *     #: 4 channel signed 16-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_4X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_4X16             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 32-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_4X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3308
 * 
 *     #: 1 channel unsigned 32-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_1X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_1X32             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 32-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_1X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3311
 * 
 *     #: 2 channel unsigned 32-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_2X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_2X32             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 32-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_2X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3314
 * 
 *     #: 4 channel unsigned 32-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_4X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_4X32             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 32-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_4X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3317
 * 
 *     #: 1 channel signed 32-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_1X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_1X32             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 32-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_1X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3320
 * 
 *     #: 2 channel signed 32-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_2X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_2X32             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 32-bit integers
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_2X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3323
 * 
 *     #: 4 channel signed 32-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_4X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_4X32             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel 16-bit floating point
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_4X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3326
 * 
 *     #: 1 channel 16-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_1X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_1X16             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel 16-bit floating point
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_1X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_1X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3329
 * 
 *     #: 2 channel 16-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_2X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_2X16             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel 16-bit floating point
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_2X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_2X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3332
 * 
 *     #: 4 channel 16-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_4X16 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_4X16             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel 32-bit floating point
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_4X16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_4X16, __pyx_t_18) < (0)) __PYX_ERR(0, 3332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3335
 * 
 *     #: 1 channel 32-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_1X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_1X32             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel 32-bit floating point
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_1X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_1X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3338
 * 
 *     #: 2 channel 32-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_2X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_2X32             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel 32-bit floating point
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_2X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_2X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3341
 * 
 *     #: 4 channel 32-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_4X32 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_4X32             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 1
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_4X32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_4X32, __pyx_t_18) < (0)) __PYX_ERR(0, 3341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3344
 * 
 *     #: Block compressed 1
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC1             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 2
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC1, __pyx_t_18) < (0)) __PYX_ERR(0, 3344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3347
 * 
 *     #: Block compressed 2
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC2             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 3
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC2, __pyx_t_18) < (0)) __PYX_ERR(0, 3347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3350
 * 
 *     #: Block compressed 3
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC3             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 4 unsigned
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC3, __pyx_t_18) < (0)) __PYX_ERR(0, 3350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3353
 * 
 *     #: Block compressed 4 unsigned
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC4             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 4 signed
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC4, __pyx_t_18) < (0)) __PYX_ERR(0, 3353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3356
 * 
 *     #: Block compressed 4 signed
 *     CU_RES_VIEW_FORMAT_SIGNED_BC4 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SIGNED_BC4             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 5 unsigned
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SIGNED_BC4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC4, __pyx_t_18) < (0)) __PYX_ERR(0, 3356, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3359
 * 
 *     #: Block compressed 5 unsigned
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC5             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 5 signed
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC5); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC5, __pyx_t_18) < (0)) __PYX_ERR(0, 3359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3362
 * 
 *     #: Block compressed 5 signed
 *     CU_RES_VIEW_FORMAT_SIGNED_BC5 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SIGNED_BC5             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 6 unsigned half-float
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SIGNED_BC5); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC5, __pyx_t_18) < (0)) __PYX_ERR(0, 3362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3365
 * 
 *     #: Block compressed 6 unsigned half-float
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC6H             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 6 signed half-float
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC6H); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H, __pyx_t_18) < (0)) __PYX_ERR(0, 3365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3368
 * 
 *     #: Block compressed 6 signed half-float
 *     CU_RES_VIEW_FORMAT_SIGNED_BC6H = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SIGNED_BC6H             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 7
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SIGNED_BC6H); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC6H, __pyx_t_18) < (0)) __PYX_ERR(0, 3368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3371
 * 
 *     #: Block compressed 7
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC7             # <<<<<<<<<<<<<<
 * 
 * _dict_CUresourceViewFormat = dict(((int(v), v) for k, v in CUresourceViewFormat.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC7, __pyx_t_18) < (0)) __PYX_ERR(0, 3371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3263
 * _dict_CUdevice_P2PAttribute = dict(((int(v), v) for k, v in CUdevice_P2PAttribute.__members__.items()))
 * 
 * class CUresourceViewFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view format
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUresourceViewFormat, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUresourceViewFormat, __pyx_t_18) < (0)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3373
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = cydriver.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC7
 * 
 * _dict_CUresourceViewFormat = dict(((int(v), v) for k, v in CUresourceViewFormat.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapDataType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUresourceViewFormat); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1122genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUresourceViewFormat, __pyx_t_16) < (0)) __PYX_ERR(0, 3373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3375
 * _dict_CUresourceViewFormat = dict(((int(v), v) for k, v in CUresourceViewFormat.__members__.items()))
 * 
 * class CUtensorMapDataType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map data type
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUtensorMapDataType, __pyx_mstate_global->__pyx_n_u_CUtensorMapDataType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Tensor_map_data_type); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3375, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3379
 *     Tensor map data type
 *     """
 *     CU_TENSOR_MAP_DATA_TYPE_UINT8 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT8             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_UINT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT16
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_UINT8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT8, __pyx_t_17) < (0)) __PYX_ERR(0, 3379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3380
 *     """
 *     CU_TENSOR_MAP_DATA_TYPE_UINT8 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT8
 *     CU_TENSOR_MAP_DATA_TYPE_UINT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT16             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_UINT16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT16, __pyx_t_17) < (0)) __PYX_ERR(0, 3380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3381
 *     CU_TENSOR_MAP_DATA_TYPE_UINT8 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT8
 *     CU_TENSOR_MAP_DATA_TYPE_UINT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT16
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_UINT32); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT32, __pyx_t_17) < (0)) __PYX_ERR(0, 3381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3382
 *     CU_TENSOR_MAP_DATA_TYPE_UINT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT16
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_INT32); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_INT32, __pyx_t_17) < (0)) __PYX_ERR(0, 3382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3383
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_UINT64); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT64, __pyx_t_17) < (0)) __PYX_ERR(0, 3383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3384
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_INT64); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_INT64, __pyx_t_17) < (0)) __PYX_ERR(0, 3384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3385
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_FLOAT16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT16, __pyx_t_17) < (0)) __PYX_ERR(0, 3385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3386
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_FLOAT32); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT32, __pyx_t_17) < (0)) __PYX_ERR(0, 3386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3387
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_FLOAT64); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT64, __pyx_t_17) < (0)) __PYX_ERR(0, 3387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3388
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_BFLOAT16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16, __pyx_t_17) < (0)) __PYX_ERR(0, 3388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3389
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3390
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_TFLOAT32); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32, __pyx_t_17) < (0)) __PYX_ERR(0, 3390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3391
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3392
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B
 *     CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI, __pyx_t_17) < (0)) __PYX_ERR(0, 3392, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3393
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3394
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B
 *     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B
 *     CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B             # <<<<<<<<<<<<<<
 * 
 * _dict_CUtensorMapDataType = dict(((int(v), v) for k, v in CUtensorMapDataType.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U6_ALI, __pyx_t_17) < (0)) __PYX_ERR(0, 3394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3375
 * _dict_CUresourceViewFormat = dict(((int(v), v) for k, v in CUresourceViewFormat.__members__.items()))
 * 
 * class CUtensorMapDataType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map data type
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUtensorMapDataType, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUtensorMapDataType, __pyx_t_17) < (0)) __PYX_ERR(0, 3375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3396
 *     CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = cydriver.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B
 * 
 * _dict_CUtensorMapDataType = dict(((int(v), v) for k, v in CUtensorMapDataType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapInterleave(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUtensorMapDataType); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1125genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUtensorMapDataType, __pyx_t_3) < (0)) __PYX_ERR(0, 3396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3398
 * _dict_CUtensorMapDataType = dict(((int(v), v) for k, v in CUtensorMapDataType.__members__.items()))
 * 
 * class CUtensorMapInterleave(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map interleave layout type
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUtensorMapInterleave, __pyx_mstate_global->__pyx_n_u_CUtensorMapInterleave, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Tensor_map_interleave_layout_ty); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 3398, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3402
 *     Tensor map interleave layout type
 *     """
 *     CU_TENSOR_MAP_INTERLEAVE_NONE = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_NONE             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_INTERLEAVE_16B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_16B
 *     CU_TENSOR_MAP_INTERLEAVE_32B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUtensorMapInterleave_enum(CU_TENSOR_MAP_INTERLEAVE_NONE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_NONE, __pyx_t_16) < (0)) __PYX_ERR(0, 3402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3403
 *     """
 *     CU_TENSOR_MAP_INTERLEAVE_NONE = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_NONE
 *     CU_TENSOR_MAP_INTERLEAVE_16B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_16B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_INTERLEAVE_32B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
 * 
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUtensorMapInterleave_enum(CU_TENSOR_MAP_INTERLEAVE_16B); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_16B, __pyx_t_16) < (0)) __PYX_ERR(0, 3403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3404
 *     CU_TENSOR_MAP_INTERLEAVE_NONE = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_NONE
 *     CU_TENSOR_MAP_INTERLEAVE_16B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_16B
 *     CU_TENSOR_MAP_INTERLEAVE_32B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B             # <<<<<<<<<<<<<<
 * 
 * _dict_CUtensorMapInterleave = dict(((int(v), v) for k, v in CUtensorMapInterleave.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUtensorMapInterleave_enum(CU_TENSOR_MAP_INTERLEAVE_32B); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_32B, __pyx_t_16) < (0)) __PYX_ERR(0, 3404, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3398
 * _dict_CUtensorMapDataType = dict(((int(v), v) for k, v in CUtensorMapDataType.__members__.items()))
 * 
 * class CUtensorMapInterleave(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map interleave layout type
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUtensorMapInterleave, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUtensorMapInterleave, __pyx_t_16) < (0)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3406
 *     CU_TENSOR_MAP_INTERLEAVE_32B = cydriver.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
 * 
 * _dict_CUtensorMapInterleave = dict(((int(v), v) for k, v in CUtensorMapInterleave.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapSwizzle(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUtensorMapInterleave); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1128genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUtensorMapInterleave, __pyx_t_18) < (0)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3408
 * _dict_CUtensorMapInterleave = dict(((int(v), v) for k, v in CUtensorMapInterleave.__members__.items()))
 * 
 * class CUtensorMapSwizzle(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map swizzling mode of shared memory banks
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUtensorMapSwizzle, __pyx_mstate_global->__pyx_n_u_CUtensorMapSwizzle, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Tensor_map_swizzling_mode_of_sh); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3408, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3412
 *     Tensor map swizzling mode of shared memory banks
 *     """
 *     CU_TENSOR_MAP_SWIZZLE_NONE = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_NONE             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_32B
 *     CU_TENSOR_MAP_SWIZZLE_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_SWIZZLE_NONE, __pyx_t_3) < (0)) __PYX_ERR(0, 3412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3413
 *     """
 *     CU_TENSOR_MAP_SWIZZLE_NONE = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_NONE
 *     CU_TENSOR_MAP_SWIZZLE_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_32B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B
 *     CU_TENSOR_MAP_SWIZZLE_128B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_32B); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_SWIZZLE_32B, __pyx_t_3) < (0)) __PYX_ERR(0, 3413, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3414
 *     CU_TENSOR_MAP_SWIZZLE_NONE = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_NONE
 *     CU_TENSOR_MAP_SWIZZLE_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_32B
 *     CU_TENSOR_MAP_SWIZZLE_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_128B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_64B); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_SWIZZLE_64B, __pyx_t_3) < (0)) __PYX_ERR(0, 3414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3415
 *     CU_TENSOR_MAP_SWIZZLE_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_32B
 *     CU_TENSOR_MAP_SWIZZLE_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B
 *     CU_TENSOR_MAP_SWIZZLE_128B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_128B); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B, __pyx_t_3) < (0)) __PYX_ERR(0, 3415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3416
 *     CU_TENSOR_MAP_SWIZZLE_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B
 *     CU_TENSOR_MAP_SWIZZLE_128B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM, __pyx_t_3) < (0)) __PYX_ERR(0, 3416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3417
 *     CU_TENSOR_MAP_SWIZZLE_128B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_2, __pyx_t_3) < (0)) __PYX_ERR(0, 3417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3418
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B             # <<<<<<<<<<<<<<
 * 
 * _dict_CUtensorMapSwizzle = dict(((int(v), v) for k, v in CUtensorMapSwizzle.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_3, __pyx_t_3) < (0)) __PYX_ERR(0, 3418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3408
 * _dict_CUtensorMapInterleave = dict(((int(v), v) for k, v in CUtensorMapInterleave.__members__.items()))
 * 
 * class CUtensorMapSwizzle(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map swizzling mode of shared memory banks
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUtensorMapSwizzle, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUtensorMapSwizzle, __pyx_t_3) < (0)) __PYX_ERR(0, 3408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3420
 *     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = cydriver.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B
 * 
 * _dict_CUtensorMapSwizzle = dict(((int(v), v) for k, v in CUtensorMapSwizzle.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapL2promotion(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUtensorMapSwizzle); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1131genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUtensorMapSwizzle, __pyx_t_17) < (0)) __PYX_ERR(0, 3420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3422
 * _dict_CUtensorMapSwizzle = dict(((int(v), v) for k, v in CUtensorMapSwizzle.__members__.items()))
 * 
 * class CUtensorMapL2promotion(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map L2 promotion type
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUtensorMapL2promotion, __pyx_mstate_global->__pyx_n_u_CUtensorMapL2promotion, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Tensor_map_L2_promotion_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3422, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3426
 *     Tensor map L2 promotion type
 *     """
 *     CU_TENSOR_MAP_L2_PROMOTION_NONE = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_NONE             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_64B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_128B
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUtensorMapL2promotion_enum(CU_TENSOR_MAP_L2_PROMOTION_NONE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_NONE, __pyx_t_18) < (0)) __PYX_ERR(0, 3426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3427
 *     """
 *     CU_TENSOR_MAP_L2_PROMOTION_NONE = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_NONE
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_64B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_128B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUtensorMapL2promotion_enum(CU_TENSOR_MAP_L2_PROMOTION_L2_64B); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_64, __pyx_t_18) < (0)) __PYX_ERR(0, 3427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3428
 *     CU_TENSOR_MAP_L2_PROMOTION_NONE = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_NONE
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_64B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_128B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUtensorMapL2promotion_enum(CU_TENSOR_MAP_L2_PROMOTION_L2_128B); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_12, __pyx_t_18) < (0)) __PYX_ERR(0, 3428, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3429
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_64B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_128B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B             # <<<<<<<<<<<<<<
 * 
 * _dict_CUtensorMapL2promotion = dict(((int(v), v) for k, v in CUtensorMapL2promotion.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUtensorMapL2promotion_enum(CU_TENSOR_MAP_L2_PROMOTION_L2_256B); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_25, __pyx_t_18) < (0)) __PYX_ERR(0, 3429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3422
 * _dict_CUtensorMapSwizzle = dict(((int(v), v) for k, v in CUtensorMapSwizzle.__members__.items()))
 * 
 * class CUtensorMapL2promotion(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map L2 promotion type
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUtensorMapL2promotion, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUtensorMapL2promotion, __pyx_t_18) < (0)) __PYX_ERR(0, 3422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3431
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = cydriver.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
 * 
 * _dict_CUtensorMapL2promotion = dict(((int(v), v) for k, v in CUtensorMapL2promotion.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapFloatOOBfill(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUtensorMapL2promotion); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1134genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUtensorMapL2promotion, __pyx_t_16) < (0)) __PYX_ERR(0, 3431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3433
 * _dict_CUtensorMapL2promotion = dict(((int(v), v) for k, v in CUtensorMapL2promotion.__members__.items()))
 * 
 * class CUtensorMapFloatOOBfill(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map out-of-bounds fill type
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUtensorMapFloatOOBfill, __pyx_mstate_global->__pyx_n_u_CUtensorMapFloatOOBfill, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Tensor_map_out_of_bounds_fill_t); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3433, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3437
 *     Tensor map out-of-bounds fill type
 *     """
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE = cydriver.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = cydriver.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapFloatOOBfill_enum(CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON, __pyx_t_17) < (0)) __PYX_ERR(0, 3437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3438
 *     """
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE = cydriver.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = cydriver.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA             # <<<<<<<<<<<<<<
 * 
 * _dict_CUtensorMapFloatOOBfill = dict(((int(v), v) for k, v in CUtensorMapFloatOOBfill.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUtensorMapFloatOOBfill_enum(CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN, __pyx_t_17) < (0)) __PYX_ERR(0, 3438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3433
 * _dict_CUtensorMapL2promotion = dict(((int(v), v) for k, v in CUtensorMapL2promotion.__members__.items()))
 * 
 * class CUtensorMapFloatOOBfill(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map out-of-bounds fill type
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUtensorMapFloatOOBfill, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUtensorMapFloatOOBfill, __pyx_t_17) < (0)) __PYX_ERR(0, 3433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3440
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = cydriver.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA
 * 
 * _dict_CUtensorMapFloatOOBfill = dict(((int(v), v) for k, v in CUtensorMapFloatOOBfill.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapIm2ColWideMode(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUtensorMapFloatOOBfill); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1137genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUtensorMapFloatOOBfill, __pyx_t_3) < (0)) __PYX_ERR(0, 3440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3442
 * _dict_CUtensorMapFloatOOBfill = dict(((int(v), v) for k, v in CUtensorMapFloatOOBfill.__members__.items()))
 * 
 * class CUtensorMapIm2ColWideMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map Im2Col wide mode
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUtensorMapIm2ColWideMode, __pyx_mstate_global->__pyx_n_u_CUtensorMapIm2ColWideMode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Tensor_map_Im2Col_wide_mode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 3442, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3446
 *     Tensor map Im2Col wide mode
 *     """
 *     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W = cydriver.CUtensorMapIm2ColWideMode_enum.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = cydriver.CUtensorMapIm2ColWideMode_enum.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128
 * 
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUtensorMapIm2ColWideMode_enum(CU_TENSOR_MAP_IM2COL_WIDE_MODE_W); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W, __pyx_t_16) < (0)) __PYX_ERR(0, 3446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3447
 *     """
 *     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W = cydriver.CUtensorMapIm2ColWideMode_enum.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W
 *     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = cydriver.CUtensorMapIm2ColWideMode_enum.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128             # <<<<<<<<<<<<<<
 * 
 * _dict_CUtensorMapIm2ColWideMode = dict(((int(v), v) for k, v in CUtensorMapIm2ColWideMode.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUtensorMapIm2ColWideMode_enum(CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W_2, __pyx_t_16) < (0)) __PYX_ERR(0, 3447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3442
 * _dict_CUtensorMapFloatOOBfill = dict(((int(v), v) for k, v in CUtensorMapFloatOOBfill.__members__.items()))
 * 
 * class CUtensorMapIm2ColWideMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map Im2Col wide mode
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUtensorMapIm2ColWideMode, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUtensorMapIm2ColWideMode, __pyx_t_16) < (0)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3449
 *     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = cydriver.CUtensorMapIm2ColWideMode_enum.CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128
 * 
 * _dict_CUtensorMapIm2ColWideMode = dict(((int(v), v) for k, v in CUtensorMapIm2ColWideMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUtensorMapIm2ColWideMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1140genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUtensorMapIm2ColWideMode, __pyx_t_18) < (0)) __PYX_ERR(0, 3449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3451
 * _dict_CUtensorMapIm2ColWideMode = dict(((int(v), v) for k, v in CUtensorMapIm2ColWideMode.__members__.items()))
 * 
 * class CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Access flags that specify the level of access the current context's
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Access_flags_that_specify_the_l); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3451, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3460
 *     #: must be staged through accessible memory in order to complete
 *     #: certain operations
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE = cydriver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Read-only access, meaning writes to this memory are considered
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2, __pyx_t_3) < (0)) __PYX_ERR(0, 3460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3464
 *     #: Read-only access, meaning writes to this memory are considered
 *     #: invalid accesses and thus return error in that case.
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ = cydriver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ             # <<<<<<<<<<<<<<
 * 
 *     #: Read-write access, the device has full read-write access to the
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3, __pyx_t_3) < (0)) __PYX_ERR(0, 3464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3468
 *     #: Read-write access, the device has full read-write access to the
 *     #: memory
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = cydriver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS = dict(((int(v), v) for k, v in CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4, __pyx_t_3) < (0)) __PYX_ERR(0, 3468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3451
 * _dict_CUtensorMapIm2ColWideMode = dict(((int(v), v) for k, v in CUtensorMapIm2ColWideMode.__members__.items()))
 * 
 * class CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Access flags that specify the level of access the current context's
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, __pyx_t_3) < (0)) __PYX_ERR(0, 3451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3470
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = cydriver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE
 * 
 * _dict_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS = dict(((int(v), v) for k, v in CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexternalMemoryHandleType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_ACCESS_FL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1143genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUDA_POINTER_ATTRIBUTE_ACC, __pyx_t_17) < (0)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3472
 * _dict_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS = dict(((int(v), v) for k, v in CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.__members__.items()))
 * 
 * class CUexternalMemoryHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUexternalMemoryHandleType, __pyx_mstate_global->__pyx_n_u_CUexternalMemoryHandleType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_External_memory_handle_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3472, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3478
 * 
 *     #: Handle is an opaque file descriptor
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque shared NT handle
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O, __pyx_t_18) < (0)) __PYX_ERR(0, 3478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3481
 * 
 *     #: Handle is an opaque shared NT handle
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque, globally shared handle
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2, __pyx_t_18) < (0)) __PYX_ERR(0, 3481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3484
 * 
 *     #: Handle is an opaque, globally shared handle
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a D3D12 heap object
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3, __pyx_t_18) < (0)) __PYX_ERR(0, 3484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3487
 * 
 *     #: Handle is a D3D12 heap object
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a D3D12 committed resource
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D, __pyx_t_18) < (0)) __PYX_ERR(0, 3487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3490
 * 
 *     #: Handle is a D3D12 committed resource
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle to a D3D11 resource
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2, __pyx_t_18) < (0)) __PYX_ERR(0, 3490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3493
 * 
 *     #: Handle is a shared NT handle to a D3D11 resource
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a globally shared handle to a D3D11 resource
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3, __pyx_t_18) < (0)) __PYX_ERR(0, 3493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3496
 * 
 *     #: Handle is a globally shared handle to a D3D11 resource
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an NvSciBuf object
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4, __pyx_t_18) < (0)) __PYX_ERR(0, 3496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3499
 * 
 *     #: Handle is an NvSciBuf object
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF             # <<<<<<<<<<<<<<
 * 
 * _dict_CUexternalMemoryHandleType = dict(((int(v), v) for k, v in CUexternalMemoryHandleType.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N, __pyx_t_18) < (0)) __PYX_ERR(0, 3499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3472
 * _dict_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS = dict(((int(v), v) for k, v in CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.__members__.items()))
 * 
 * class CUexternalMemoryHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle types
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUexternalMemoryHandleType, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUexternalMemoryHandleType, __pyx_t_18) < (0)) __PYX_ERR(0, 3472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3501
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF
 * 
 * _dict_CUexternalMemoryHandleType = dict(((int(v), v) for k, v in CUexternalMemoryHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexternalSemaphoreHandleType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUexternalMemoryHandleType); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1146genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUexternalMemoryHandleType, __pyx_t_16) < (0)) __PYX_ERR(0, 3501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3503
 * _dict_CUexternalMemoryHandleType = dict(((int(v), v) for k, v in CUexternalMemoryHandleType.__members__.items()))
 * 
 * class CUexternalSemaphoreHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphoreHandleType, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphoreHandleType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_External_semaphore_handle_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3503, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3509
 * 
 *     #: Handle is an opaque file descriptor
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque shared NT handle
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP, __pyx_t_17) < (0)) __PYX_ERR(0, 3509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3512
 * 
 *     #: Handle is an opaque shared NT handle
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque, globally shared handle
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3512, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3515
 * 
 *     #: Handle is an opaque, globally shared handle
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D12 fence object
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3, __pyx_t_17) < (0)) __PYX_ERR(0, 3515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3518
 * 
 *     #: Handle is a shared NT handle referencing a D3D12 fence object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 fence object
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4, __pyx_t_17) < (0)) __PYX_ERR(0, 3518, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3521
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 fence object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Opaque handle to NvSciSync Object
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5, __pyx_t_17) < (0)) __PYX_ERR(0, 3521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3524
 * 
 *     #: Opaque handle to NvSciSync Object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 keyed mutex object
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6, __pyx_t_17) < (0)) __PYX_ERR(0, 3524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3527
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 keyed mutex object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a globally shared handle referencing a D3D11 keyed mutex
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7, __pyx_t_17) < (0)) __PYX_ERR(0, 3527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3531
 *     #: Handle is a globally shared handle referencing a D3D11 keyed mutex
 *     #: object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque file descriptor referencing a timeline semaphore
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8, __pyx_t_17) < (0)) __PYX_ERR(0, 3531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3534
 * 
 *     #: Handle is an opaque file descriptor referencing a timeline semaphore
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque shared NT handle referencing a timeline
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9, __pyx_t_17) < (0)) __PYX_ERR(0, 3534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3538
 *     #: Handle is an opaque shared NT handle referencing a timeline
 *     #: semaphore
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32             # <<<<<<<<<<<<<<
 * 
 * _dict_CUexternalSemaphoreHandleType = dict(((int(v), v) for k, v in CUexternalSemaphoreHandleType.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10, __pyx_t_17) < (0)) __PYX_ERR(0, 3538, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3503
 * _dict_CUexternalMemoryHandleType = dict(((int(v), v) for k, v in CUexternalMemoryHandleType.__members__.items()))
 * 
 * class CUexternalSemaphoreHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle types
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphoreHandleType, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphoreHandleType, __pyx_t_17) < (0)) __PYX_ERR(0, 3503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3540
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = cydriver.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32
 * 
 * _dict_CUexternalSemaphoreHandleType = dict(((int(v), v) for k, v in CUexternalSemaphoreHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationHandleType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphoreHandleType); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1149genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUexternalSemaphoreHandleT, __pyx_t_3) < (0)) __PYX_ERR(0, 3540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3542
 * _dict_CUexternalSemaphoreHandleType = dict(((int(v), v) for k, v in CUexternalSemaphoreHandleType.__members__.items()))
 * 
 * class CUmemAllocationHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for specifying particular handle types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_specifying_particular); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 3542, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3548
 * 
 *     #: Does not allow any export mechanism. >
 *     CU_MEM_HANDLE_TYPE_NONE = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a file descriptor to be used for exporting. Permitted only on
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_NONE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_HANDLE_TYPE_NONE, __pyx_t_16) < (0)) __PYX_ERR(0, 3548, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3552
 *     #: Allows a file descriptor to be used for exporting. Permitted only on
 *     #: POSIX systems. (int)
 *     CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a Win32 NT handle to be used for exporting. (HANDLE)
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE, __pyx_t_16) < (0)) __PYX_ERR(0, 3552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3555
 * 
 *     #: Allows a Win32 NT handle to be used for exporting. (HANDLE)
 *     CU_MEM_HANDLE_TYPE_WIN32 = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a Win32 KMT handle to be used for exporting. (D3DKMT_HANDLE)
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_WIN32); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_HANDLE_TYPE_WIN32, __pyx_t_16) < (0)) __PYX_ERR(0, 3555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3558
 * 
 *     #: Allows a Win32 KMT handle to be used for exporting. (D3DKMT_HANDLE)
 *     CU_MEM_HANDLE_TYPE_WIN32_KMT = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a fabric handle to be used for exporting. (CUmemFabricHandle)
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_WIN32_KMT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_HANDLE_TYPE_WIN32_KMT, __pyx_t_16) < (0)) __PYX_ERR(0, 3558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3561
 * 
 *     #: Allows a fabric handle to be used for exporting. (CUmemFabricHandle)
 *     CU_MEM_HANDLE_TYPE_FABRIC = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC             # <<<<<<<<<<<<<<
 *     CU_MEM_HANDLE_TYPE_MAX = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX
 * 
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_FABRIC); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_HANDLE_TYPE_FABRIC, __pyx_t_16) < (0)) __PYX_ERR(0, 3561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3562
 *     #: Allows a fabric handle to be used for exporting. (CUmemFabricHandle)
 *     CU_MEM_HANDLE_TYPE_FABRIC = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC
 *     CU_MEM_HANDLE_TYPE_MAX = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemAllocationHandleType = dict(((int(v), v) for k, v in CUmemAllocationHandleType.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_MAX); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_HANDLE_TYPE_MAX, __pyx_t_16) < (0)) __PYX_ERR(0, 3562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3542
 * _dict_CUexternalSemaphoreHandleType = dict(((int(v), v) for k, v in CUexternalSemaphoreHandleType.__members__.items()))
 * 
 * class CUmemAllocationHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for specifying particular handle types
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType, __pyx_t_16) < (0)) __PYX_ERR(0, 3542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3564
 *     CU_MEM_HANDLE_TYPE_MAX = cydriver.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX
 * 
 * _dict_CUmemAllocationHandleType = dict(((int(v), v) for k, v in CUmemAllocationHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAccess_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1152genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationHandleType, __pyx_t_18) < (0)) __PYX_ERR(0, 3564, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3566
 * _dict_CUmemAllocationHandleType = dict(((int(v), v) for k, v in CUmemAllocationHandleType.__members__.items()))
 * 
 * class CUmemAccess_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the memory protection flags for mapping.
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemAccess_flags, __pyx_mstate_global->__pyx_n_u_CUmemAccess_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Specifies_the_memory_protection); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3566, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3572
 * 
 *     #: Default, make the address range not accessible
 *     CU_MEM_ACCESS_FLAGS_PROT_NONE = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Make the address range read accessible
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemAccess_flags_enum(CU_MEM_ACCESS_FLAGS_PROT_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_NONE, __pyx_t_3) < (0)) __PYX_ERR(0, 3572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3575
 * 
 *     #: Make the address range read accessible
 *     CU_MEM_ACCESS_FLAGS_PROT_READ = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_READ             # <<<<<<<<<<<<<<
 * 
 *     #: Make the address range read-write accessible
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemAccess_flags_enum(CU_MEM_ACCESS_FLAGS_PROT_READ); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_READ, __pyx_t_3) < (0)) __PYX_ERR(0, 3575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3578
 * 
 *     #: Make the address range read-write accessible
 *     CU_MEM_ACCESS_FLAGS_PROT_READWRITE = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_READWRITE             # <<<<<<<<<<<<<<
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemAccess_flags_enum(CU_MEM_ACCESS_FLAGS_PROT_READWRITE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_READWRI, __pyx_t_3) < (0)) __PYX_ERR(0, 3578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3579
 *     #: Make the address range read-write accessible
 *     CU_MEM_ACCESS_FLAGS_PROT_READWRITE = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_READWRITE
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemAccess_flags = dict(((int(v), v) for k, v in CUmemAccess_flags.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemAccess_flags_enum(CU_MEM_ACCESS_FLAGS_PROT_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_MAX, __pyx_t_3) < (0)) __PYX_ERR(0, 3579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3566
 * _dict_CUmemAllocationHandleType = dict(((int(v), v) for k, v in CUmemAllocationHandleType.__members__.items()))
 * 
 * class CUmemAccess_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the memory protection flags for mapping.
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemAccess_flags, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemAccess_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3581
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = cydriver.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX
 * 
 * _dict_CUmemAccess_flags = dict(((int(v), v) for k, v in CUmemAccess_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemLocationType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemAccess_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1155genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemAccess_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 3581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3583
 * _dict_CUmemAccess_flags = dict(((int(v), v) for k, v in CUmemAccess_flags.__members__.items()))
 * 
 * class CUmemLocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the type of location
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemLocationType, __pyx_mstate_global->__pyx_n_u_CUmemLocationType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Specifies_the_type_of_location); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3583, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3587
 *     Specifies the type of location
 *     """
 *     CU_MEM_LOCATION_TYPE_INVALID = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_INVALID             # <<<<<<<<<<<<<<
 * 
 *     #: Location is a device location, thus id is a device ordinal
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_INVALID); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_LOCATION_TYPE_INVALID, __pyx_t_18) < (0)) __PYX_ERR(0, 3587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3590
 * 
 *     #: Location is a device location, thus id is a device ordinal
 *     CU_MEM_LOCATION_TYPE_DEVICE = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: Location is host, id is ignored
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_DEVICE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_LOCATION_TYPE_DEVICE, __pyx_t_18) < (0)) __PYX_ERR(0, 3590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3593
 * 
 *     #: Location is host, id is ignored
 *     CU_MEM_LOCATION_TYPE_HOST = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Location is a host NUMA node, thus id is a host NUMA node id
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_HOST); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_LOCATION_TYPE_HOST, __pyx_t_18) < (0)) __PYX_ERR(0, 3593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3596
 * 
 *     #: Location is a host NUMA node, thus id is a host NUMA node id
 *     CU_MEM_LOCATION_TYPE_HOST_NUMA = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_HOST_NUMA             # <<<<<<<<<<<<<<
 * 
 *     #: Location is a host NUMA node of the current thread, id is ignored
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_HOST_NUMA); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_LOCATION_TYPE_HOST_NUMA, __pyx_t_18) < (0)) __PYX_ERR(0, 3596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3599
 * 
 *     #: Location is a host NUMA node of the current thread, id is ignored
 *     CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT             # <<<<<<<<<<<<<<
 *     CU_MEM_LOCATION_TYPE_MAX = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX
 * 
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_LOCATION_TYPE_HOST_NUMA_C, __pyx_t_18) < (0)) __PYX_ERR(0, 3599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3600
 *     #: Location is a host NUMA node of the current thread, id is ignored
 *     CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT
 *     CU_MEM_LOCATION_TYPE_MAX = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemLocationType = dict(((int(v), v) for k, v in CUmemLocationType.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_MAX); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_LOCATION_TYPE_MAX, __pyx_t_18) < (0)) __PYX_ERR(0, 3600, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3583
 * _dict_CUmemAccess_flags = dict(((int(v), v) for k, v in CUmemAccess_flags.__members__.items()))
 * 
 * class CUmemLocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the type of location
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemLocationType, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemLocationType, __pyx_t_18) < (0)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3602
 *     CU_MEM_LOCATION_TYPE_MAX = cydriver.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX
 * 
 * _dict_CUmemLocationType = dict(((int(v), v) for k, v in CUmemLocationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemLocationType); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1158genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemLocationType, __pyx_t_16) < (0)) __PYX_ERR(0, 3602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3604
 * _dict_CUmemLocationType = dict(((int(v), v) for k, v in CUmemLocationType.__members__.items()))
 * 
 * class CUmemAllocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Defines the allocation types available
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemAllocationType, __pyx_mstate_global->__pyx_n_u_CUmemAllocationType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Defines_the_allocation_types_av); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3604, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3608
 *     Defines the allocation types available
 *     """
 *     CU_MEM_ALLOCATION_TYPE_INVALID = cydriver.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_INVALID             # <<<<<<<<<<<<<<
 * 
 *     #: This allocation type is 'pinned', i.e. cannot migrate from its
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmemAllocationType_enum(CU_MEM_ALLOCATION_TYPE_INVALID); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MEM_ALLOCATION_TYPE_INVALID, __pyx_t_17) < (0)) __PYX_ERR(0, 3608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3612
 *     #: This allocation type is 'pinned', i.e. cannot migrate from its
 *     #: current location while the application is actively using it
 *     CU_MEM_ALLOCATION_TYPE_PINNED = cydriver.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_PINNED             # <<<<<<<<<<<<<<
 *     CU_MEM_ALLOCATION_TYPE_MAX = cydriver.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmemAllocationType_enum(CU_MEM_ALLOCATION_TYPE_PINNED); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MEM_ALLOCATION_TYPE_PINNED, __pyx_t_17) < (0)) __PYX_ERR(0, 3612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3613
 *     #: current location while the application is actively using it
 *     CU_MEM_ALLOCATION_TYPE_PINNED = cydriver.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_PINNED
 *     CU_MEM_ALLOCATION_TYPE_MAX = cydriver.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemAllocationType = dict(((int(v), v) for k, v in CUmemAllocationType.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmemAllocationType_enum(CU_MEM_ALLOCATION_TYPE_MAX); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MEM_ALLOCATION_TYPE_MAX, __pyx_t_17) < (0)) __PYX_ERR(0, 3613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3604
 * _dict_CUmemLocationType = dict(((int(v), v) for k, v in CUmemLocationType.__members__.items()))
 * 
 * class CUmemAllocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Defines the allocation types available
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemAllocationType, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemAllocationType, __pyx_t_17) < (0)) __PYX_ERR(0, 3604, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3615
 *     CU_MEM_ALLOCATION_TYPE_MAX = cydriver.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX
 * 
 * _dict_CUmemAllocationType = dict(((int(v), v) for k, v in CUmemAllocationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationGranularity_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemAllocationType); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1161genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationType, __pyx_t_3) < (0)) __PYX_ERR(0, 3615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3617
 * _dict_CUmemAllocationType = dict(((int(v), v) for k, v in CUmemAllocationType.__members__.items()))
 * 
 * class CUmemAllocationGranularity_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flag for requesting different optimal and required granularities
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemAllocationGranularity_flags, __pyx_mstate_global->__pyx_n_u_CUmemAllocationGranularity_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flag_for_requesting_different_o); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 3617, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3624
 * 
 *     #: Minimum required granularity for allocation
 *     CU_MEM_ALLOC_GRANULARITY_MINIMUM = cydriver.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_MINIMUM             # <<<<<<<<<<<<<<
 * 
 *     #: Recommended granularity for allocation for best performance
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemAllocationGranularity_flags_enum(CU_MEM_ALLOC_GRANULARITY_MINIMUM); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_ALLOC_GRANULARITY_MINIMUM, __pyx_t_16) < (0)) __PYX_ERR(0, 3624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3627
 * 
 *     #: Recommended granularity for allocation for best performance
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = cydriver.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemAllocationGranularity_flags = dict(((int(v), v) for k, v in CUmemAllocationGranularity_flags.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemAllocationGranularity_flags_enum(CU_MEM_ALLOC_GRANULARITY_RECOMMENDED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_ALLOC_GRANULARITY_RECOMME, __pyx_t_16) < (0)) __PYX_ERR(0, 3627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3617
 * _dict_CUmemAllocationType = dict(((int(v), v) for k, v in CUmemAllocationType.__members__.items()))
 * 
 * class CUmemAllocationGranularity_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flag for requesting different optimal and required granularities
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemAllocationGranularity_flags, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemAllocationGranularity_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 3617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3629
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = cydriver.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED
 * 
 * _dict_CUmemAllocationGranularity_flags = dict(((int(v), v) for k, v in CUmemAllocationGranularity_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemRangeHandleType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemAllocationGranularity_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1164genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationGranularity, __pyx_t_18) < (0)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3631
 * _dict_CUmemAllocationGranularity_flags = dict(((int(v), v) for k, v in CUmemAllocationGranularity_flags.__members__.items()))
 * 
 * class CUmemRangeHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the handle type for address range
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemRangeHandleType, __pyx_mstate_global->__pyx_n_u_CUmemRangeHandleType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Specifies_the_handle_type_for_a); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3631, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3635
 *     Specifies the handle type for address range
 *     """
 *     CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD = cydriver.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD             # <<<<<<<<<<<<<<
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = cydriver.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemRangeHandleType_enum(CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF, __pyx_t_3) < (0)) __PYX_ERR(0, 3635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3636
 *     """
 *     CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD = cydriver.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = cydriver.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemRangeHandleType = dict(((int(v), v) for k, v in CUmemRangeHandleType.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemRangeHandleType_enum(CU_MEM_RANGE_HANDLE_TYPE_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_HANDLE_TYPE_MAX, __pyx_t_3) < (0)) __PYX_ERR(0, 3636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3631
 * _dict_CUmemAllocationGranularity_flags = dict(((int(v), v) for k, v in CUmemAllocationGranularity_flags.__members__.items()))
 * 
 * class CUmemRangeHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the handle type for address range
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemRangeHandleType, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemRangeHandleType, __pyx_t_3) < (0)) __PYX_ERR(0, 3631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3638
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = cydriver.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX
 * 
 * _dict_CUmemRangeHandleType = dict(((int(v), v) for k, v in CUmemRangeHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemRangeFlags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemRangeHandleType); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1167genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemRangeHandleType, __pyx_t_17) < (0)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3640
 * _dict_CUmemRangeHandleType = dict(((int(v), v) for k, v in CUmemRangeHandleType.__members__.items()))
 * 
 * class CUmemRangeFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flag for requesting handle type for address range.
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemRangeFlags, __pyx_mstate_global->__pyx_n_u_CUmemRangeFlags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flag_for_requesting_handle_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3640, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3646
 * 
 *     #: Indicates that DMA_BUF handle should be mapped via PCIe BAR1
 *     CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE = cydriver.CUmemRangeFlags_enum.CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemRangeFlags = dict(((int(v), v) for k, v in CUmemRangeFlags.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemRangeFlags_enum(CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_RANGE_FLAG_DMA_BUF_MAPPIN, __pyx_t_18) < (0)) __PYX_ERR(0, 3646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3640
 * _dict_CUmemRangeHandleType = dict(((int(v), v) for k, v in CUmemRangeHandleType.__members__.items()))
 * 
 * class CUmemRangeFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flag for requesting handle type for address range.
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemRangeFlags, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemRangeFlags, __pyx_t_18) < (0)) __PYX_ERR(0, 3640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3648
 *     CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE = cydriver.CUmemRangeFlags_enum.CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE
 * 
 * _dict_CUmemRangeFlags = dict(((int(v), v) for k, v in CUmemRangeFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUarraySparseSubresourceType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemRangeFlags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1170genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemRangeFlags, __pyx_t_16) < (0)) __PYX_ERR(0, 3648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3650
 * _dict_CUmemRangeFlags = dict(((int(v), v) for k, v in CUmemRangeFlags.__members__.items()))
 * 
 * class CUarraySparseSubresourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Sparse subresource types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUarraySparseSubresourceType, __pyx_mstate_global->__pyx_n_u_CUarraySparseSubresourceType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Sparse_subresource_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3650, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3654
 *     Sparse subresource types
 *     """
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL = cydriver.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL             # <<<<<<<<<<<<<<
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = cydriver.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUarraySparseSubresourceType_enum(CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE, __pyx_t_17) < (0)) __PYX_ERR(0, 3654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3655
 *     """
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL = cydriver.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = cydriver.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL             # <<<<<<<<<<<<<<
 * 
 * _dict_CUarraySparseSubresourceType = dict(((int(v), v) for k, v in CUarraySparseSubresourceType.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUarraySparseSubresourceType_enum(CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3650
 * _dict_CUmemRangeFlags = dict(((int(v), v) for k, v in CUmemRangeFlags.__members__.items()))
 * 
 * class CUarraySparseSubresourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Sparse subresource types
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUarraySparseSubresourceType, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUarraySparseSubresourceType, __pyx_t_17) < (0)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3657
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = cydriver.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL
 * 
 * _dict_CUarraySparseSubresourceType = dict(((int(v), v) for k, v in CUarraySparseSubresourceType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemOperationType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUarraySparseSubresourceType); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1173genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUarraySparseSubresourceTy, __pyx_t_3) < (0)) __PYX_ERR(0, 3657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3659
 * _dict_CUarraySparseSubresourceType = dict(((int(v), v) for k, v in CUarraySparseSubresourceType.__members__.items()))
 * 
 * class CUmemOperationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory operation types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemOperationType, __pyx_mstate_global->__pyx_n_u_CUmemOperationType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Memory_operation_types); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 3659, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3663
 *     Memory operation types
 *     """
 *     CU_MEM_OPERATION_TYPE_MAP = cydriver.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_MAP             # <<<<<<<<<<<<<<
 *     CU_MEM_OPERATION_TYPE_UNMAP = cydriver.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP
 * 
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemOperationType_enum(CU_MEM_OPERATION_TYPE_MAP); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_OPERATION_TYPE_MAP, __pyx_t_16) < (0)) __PYX_ERR(0, 3663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3664
 *     """
 *     CU_MEM_OPERATION_TYPE_MAP = cydriver.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_MAP
 *     CU_MEM_OPERATION_TYPE_UNMAP = cydriver.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemOperationType = dict(((int(v), v) for k, v in CUmemOperationType.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemOperationType_enum(CU_MEM_OPERATION_TYPE_UNMAP); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEM_OPERATION_TYPE_UNMAP, __pyx_t_16) < (0)) __PYX_ERR(0, 3664, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3659
 * _dict_CUarraySparseSubresourceType = dict(((int(v), v) for k, v in CUarraySparseSubresourceType.__members__.items()))
 * 
 * class CUmemOperationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory operation types
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemOperationType, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemOperationType, __pyx_t_16) < (0)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3666
 *     CU_MEM_OPERATION_TYPE_UNMAP = cydriver.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP
 * 
 * _dict_CUmemOperationType = dict(((int(v), v) for k, v in CUmemOperationType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemHandleType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemOperationType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1176genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemOperationType, __pyx_t_18) < (0)) __PYX_ERR(0, 3666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3668
 * _dict_CUmemOperationType = dict(((int(v), v) for k, v in CUmemOperationType.__members__.items()))
 * 
 * class CUmemHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory handle types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemHandleType, __pyx_mstate_global->__pyx_n_u_CUmemHandleType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Memory_handle_types); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3668, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3672
 *     Memory handle types
 *     """
 *     CU_MEM_HANDLE_TYPE_GENERIC = cydriver.CUmemHandleType_enum.CU_MEM_HANDLE_TYPE_GENERIC             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemHandleType = dict(((int(v), v) for k, v in CUmemHandleType.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemHandleType_enum(CU_MEM_HANDLE_TYPE_GENERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEM_HANDLE_TYPE_GENERIC, __pyx_t_3) < (0)) __PYX_ERR(0, 3672, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3668
 * _dict_CUmemOperationType = dict(((int(v), v) for k, v in CUmemOperationType.__members__.items()))
 * 
 * class CUmemHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory handle types
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemHandleType, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemHandleType, __pyx_t_3) < (0)) __PYX_ERR(0, 3668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3674
 *     CU_MEM_HANDLE_TYPE_GENERIC = cydriver.CUmemHandleType_enum.CU_MEM_HANDLE_TYPE_GENERIC
 * 
 * _dict_CUmemHandleType = dict(((int(v), v) for k, v in CUmemHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationCompType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemHandleType); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1179genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemHandleType, __pyx_t_17) < (0)) __PYX_ERR(0, 3674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3676
 * _dict_CUmemHandleType = dict(((int(v), v) for k, v in CUmemHandleType.__members__.items()))
 * 
 * class CUmemAllocationCompType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies compression attribute for an allocation.
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemAllocationCompType, __pyx_mstate_global->__pyx_n_u_CUmemAllocationCompType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Specifies_compression_attribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3676, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3682
 * 
 *     #: Allocating non-compressible memory
 *     CU_MEM_ALLOCATION_COMP_NONE = cydriver.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Allocating compressible memory
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemAllocationCompType_enum(CU_MEM_ALLOCATION_COMP_NONE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_ALLOCATION_COMP_NONE, __pyx_t_18) < (0)) __PYX_ERR(0, 3682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3685
 * 
 *     #: Allocating compressible memory
 *     CU_MEM_ALLOCATION_COMP_GENERIC = cydriver.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_GENERIC             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemAllocationCompType = dict(((int(v), v) for k, v in CUmemAllocationCompType.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemAllocationCompType_enum(CU_MEM_ALLOCATION_COMP_GENERIC); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_ALLOCATION_COMP_GENERIC, __pyx_t_18) < (0)) __PYX_ERR(0, 3685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3676
 * _dict_CUmemHandleType = dict(((int(v), v) for k, v in CUmemHandleType.__members__.items()))
 * 
 * class CUmemAllocationCompType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies compression attribute for an allocation.
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemAllocationCompType, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemAllocationCompType, __pyx_t_18) < (0)) __PYX_ERR(0, 3676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3687
 *     CU_MEM_ALLOCATION_COMP_GENERIC = cydriver.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_GENERIC
 * 
 * _dict_CUmemAllocationCompType = dict(((int(v), v) for k, v in CUmemAllocationCompType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmulticastGranularity_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemAllocationCompType); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1182genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemAllocationCompType, __pyx_t_16) < (0)) __PYX_ERR(0, 3687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3689
 * _dict_CUmemAllocationCompType = dict(((int(v), v) for k, v in CUmemAllocationCompType.__members__.items()))
 * 
 * class CUmulticastGranularity_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for querying different granularities for a multicast object
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmulticastGranularity_flags, __pyx_mstate_global->__pyx_n_u_CUmulticastGranularity_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_querying_different_gr); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3689, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3695
 * 
 *     #: Minimum required granularity
 *     CU_MULTICAST_GRANULARITY_MINIMUM = cydriver.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_MINIMUM             # <<<<<<<<<<<<<<
 * 
 *     #: Recommended granularity for best performance
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmulticastGranularity_flags_enum(CU_MULTICAST_GRANULARITY_MINIMUM); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MULTICAST_GRANULARITY_MINIMUM, __pyx_t_17) < (0)) __PYX_ERR(0, 3695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3698
 * 
 *     #: Recommended granularity for best performance
 *     CU_MULTICAST_GRANULARITY_RECOMMENDED = cydriver.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_RECOMMENDED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmulticastGranularity_flags = dict(((int(v), v) for k, v in CUmulticastGranularity_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmulticastGranularity_flags_enum(CU_MULTICAST_GRANULARITY_RECOMMENDED); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MULTICAST_GRANULARITY_RECOMME, __pyx_t_17) < (0)) __PYX_ERR(0, 3698, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3689
 * _dict_CUmemAllocationCompType = dict(((int(v), v) for k, v in CUmemAllocationCompType.__members__.items()))
 * 
 * class CUmulticastGranularity_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for querying different granularities for a multicast object
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmulticastGranularity_flags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmulticastGranularity_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 3689, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3700
 *     CU_MULTICAST_GRANULARITY_RECOMMENDED = cydriver.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_RECOMMENDED
 * 
 * _dict_CUmulticastGranularity_flags = dict(((int(v), v) for k, v in CUmulticastGranularity_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphExecUpdateResult(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmulticastGranularity_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1185genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmulticastGranularity_fla, __pyx_t_3) < (0)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3702
 * _dict_CUmulticastGranularity_flags = dict(((int(v), v) for k, v in CUmulticastGranularity_flags.__members__.items()))
 * 
 * class CUgraphExecUpdateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph Update error types
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResult, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResult, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_Graph_Update_error_types); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 3702, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3708
 * 
 *     #: The update succeeded
 *     CU_GRAPH_EXEC_UPDATE_SUCCESS = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_SUCCESS             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed for an unexpected reason which is described in the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_SUCCESS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_SUCCESS, __pyx_t_16) < (0)) __PYX_ERR(0, 3708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3712
 *     #: The update failed for an unexpected reason which is described in the
 *     #: return value of the function
 *     CU_GRAPH_EXEC_UPDATE_ERROR = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the topology changed
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR, __pyx_t_16) < (0)) __PYX_ERR(0, 3712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3715
 * 
 *     #: The update failed because the topology changed
 *     CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because a node type changed
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL, __pyx_t_16) < (0)) __PYX_ERR(0, 3715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3718
 * 
 *     #: The update failed because a node type changed
 *     CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the function of a kernel node changed
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_NODE, __pyx_t_16) < (0)) __PYX_ERR(0, 3718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3722
 *     #: The update failed because the function of a kernel node changed
 *     #: (CUDA driver < 11.2)
 *     CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the parameters changed in a way that is
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT, __pyx_t_16) < (0)) __PYX_ERR(0, 3722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3726
 *     #: The update failed because the parameters changed in a way that is
 *     #: not supported
 *     CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because something about the node is not supported
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM, __pyx_t_16) < (0)) __PYX_ERR(0, 3726, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3729
 * 
 *     #: The update failed because something about the node is not supported
 *     CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the function of a kernel node changed in
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S, __pyx_t_16) < (0)) __PYX_ERR(0, 3729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3733
 *     #: The update failed because the function of a kernel node changed in
 *     #: an unsupported way
 *     CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the node attributes changed in a way that
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP, __pyx_t_16) < (0)) __PYX_ERR(0, 3733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3737
 *     #: The update failed because the node attributes changed in a way that
 *     #: is not supported
 *     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphExecUpdateResult = dict(((int(v), v) for k, v in CUgraphExecUpdateResult.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI, __pyx_t_16) < (0)) __PYX_ERR(0, 3737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3702
 * _dict_CUmulticastGranularity_flags = dict(((int(v), v) for k, v in CUmulticastGranularity_flags.__members__.items()))
 * 
 * class CUgraphExecUpdateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph Update error types
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResult, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResult, __pyx_t_16) < (0)) __PYX_ERR(0, 3702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3739
 *     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = cydriver.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED
 * 
 * _dict_CUgraphExecUpdateResult = dict(((int(v), v) for k, v in CUgraphExecUpdateResult.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemPool_attribute(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1188genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphExecUpdateResult, __pyx_t_18) < (0)) __PYX_ERR(0, 3739, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3741
 * _dict_CUgraphExecUpdateResult = dict(((int(v), v) for k, v in CUgraphExecUpdateResult.__members__.items()))
 * 
 * class CUmemPool_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory pool attributes
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemPool_attribute, __pyx_mstate_global->__pyx_n_u_CUmemPool_attribute, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_memory_pool_attributes); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3741, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3751
 *     #: events and null stream interactions can create the required stream
 *     #: ordered dependencies. (default enabled)
 *     CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = int) Allow reuse of already completed frees when there
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE, __pyx_t_3) < (0)) __PYX_ERR(0, 3751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3755
 *     #: (value type = int) Allow reuse of already completed frees when there
 *     #: is no dependency between the free and allocation. (default enabled)
 *     CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = int) Allow cuMemAllocAsync to insert new stream
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO, __pyx_t_3) < (0)) __PYX_ERR(0, 3755, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3760
 *     #: dependencies in order to establish the stream ordering required to
 *     #: reuse a piece of memory released by cuFreeAsync (default enabled).
 *     CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of reserved memory in bytes to hold
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE, __pyx_t_3) < (0)) __PYX_ERR(0, 3760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3767
 *     #: the allocator will try to release memory back to the OS on the next
 *     #: call to stream, event or context synchronize. (default 0)
 *     CU_MEMPOOL_ATTR_RELEASE_THRESHOLD = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of backing memory currently
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_RELEASE_THRESHOLD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEMPOOL_ATTR_RELEASE_THRESHOL, __pyx_t_3) < (0)) __PYX_ERR(0, 3767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3771
 *     #: (value type = cuuint64_t) Amount of backing memory currently
 *     #: allocated for the mempool.
 *     CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of backing memory allocated
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR, __pyx_t_3) < (0)) __PYX_ERR(0, 3771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3776
 *     #: for the mempool since the last time it was reset. High watermark can
 *     #: only be reset to zero.
 *     CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of memory from the pool that is
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG, __pyx_t_3) < (0)) __PYX_ERR(0, 3776, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3780
 *     #: (value type = cuuint64_t) Amount of memory from the pool that is
 *     #: currently in use by the application.
 *     CU_MEMPOOL_ATTR_USED_MEM_CURRENT = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of the amount of memory
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_USED_MEM_CURRENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEMPOOL_ATTR_USED_MEM_CURRENT, __pyx_t_3) < (0)) __PYX_ERR(0, 3780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3785
 *     #: from the pool that was in use by the application since the last time
 *     #: it was reset. High watermark can only be reset to zero.
 *     CU_MEMPOOL_ATTR_USED_MEM_HIGH = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemPool_attribute = dict(((int(v), v) for k, v in CUmemPool_attribute.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_USED_MEM_HIGH); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MEMPOOL_ATTR_USED_MEM_HIGH, __pyx_t_3) < (0)) __PYX_ERR(0, 3785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3741
 * _dict_CUgraphExecUpdateResult = dict(((int(v), v) for k, v in CUgraphExecUpdateResult.__members__.items()))
 * 
 * class CUmemPool_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory pool attributes
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemPool_attribute, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemPool_attribute, __pyx_t_3) < (0)) __PYX_ERR(0, 3741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3787
 *     CU_MEMPOOL_ATTR_USED_MEM_HIGH = cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH
 * 
 * _dict_CUmemPool_attribute = dict(((int(v), v) for k, v in CUmemPool_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpyFlags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemPool_attribute); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1191genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemPool_attribute, __pyx_t_17) < (0)) __PYX_ERR(0, 3787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3789
 * _dict_CUmemPool_attribute = dict(((int(v), v) for k, v in CUmemPool_attribute.__members__.items()))
 * 
 * class CUmemcpyFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to specify for copies within a batch. For more details see
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemcpyFlags, __pyx_mstate_global->__pyx_n_u_CUmemcpyFlags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_to_specify_for_copies_wit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3789, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3794
 *     :py:obj:`~.cuMemcpyBatchAsync`.
 *     """
 *     CU_MEMCPY_FLAG_DEFAULT = cydriver.CUmemcpyFlags_enum.CU_MEMCPY_FLAG_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Hint to the driver to try and overlap the copy with compute work on
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemcpyFlags_enum(CU_MEMCPY_FLAG_DEFAULT); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_FLAG_DEFAULT, __pyx_t_18) < (0)) __PYX_ERR(0, 3794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3798
 *     #: Hint to the driver to try and overlap the copy with compute work on
 *     #: the SMs.
 *     CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE = cydriver.CUmemcpyFlags_enum.CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemcpyFlags = dict(((int(v), v) for k, v in CUmemcpyFlags.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemcpyFlags_enum(CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_FLAG_PREFER_OVERLAP_WI, __pyx_t_18) < (0)) __PYX_ERR(0, 3798, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3789
 * _dict_CUmemPool_attribute = dict(((int(v), v) for k, v in CUmemPool_attribute.__members__.items()))
 * 
 * class CUmemcpyFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to specify for copies within a batch. For more details see
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemcpyFlags, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemcpyFlags, __pyx_t_18) < (0)) __PYX_ERR(0, 3789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3800
 *     CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE = cydriver.CUmemcpyFlags_enum.CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE
 * 
 * _dict_CUmemcpyFlags = dict(((int(v), v) for k, v in CUmemcpyFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpySrcAccessOrder(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemcpyFlags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1194genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpyFlags, __pyx_t_16) < (0)) __PYX_ERR(0, 3800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3802
 * _dict_CUmemcpyFlags = dict(((int(v), v) for k, v in CUmemcpyFlags.__members__.items()))
 * 
 * class CUmemcpySrcAccessOrder(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     These flags allow applications to convey the source access ordering
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemcpySrcAccessOrder, __pyx_mstate_global->__pyx_n_u_CUmemcpySrcAccessOrder, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_These_flags_allow_applications); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3802, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3810
 * 
 *     #: Default invalid.
 *     CU_MEMCPY_SRC_ACCESS_ORDER_INVALID = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_INVALID             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates that access to the source pointer must be in stream order.
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum(CU_MEMCPY_SRC_ACCESS_ORDER_INVALID); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_INVAL, __pyx_t_17) < (0)) __PYX_ERR(0, 3810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3813
 * 
 *     #: Indicates that access to the source pointer must be in stream order.
 *     CU_MEMCPY_SRC_ACCESS_ORDER_STREAM = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_STREAM             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates that access to the source pointer can be out of stream
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum(CU_MEMCPY_SRC_ACCESS_ORDER_STREAM); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_STREA, __pyx_t_17) < (0)) __PYX_ERR(0, 3813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3824
 *     #: removes the need for the user to synchronize the stream after the
 *     #: API call.
 *     CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates that access to the source pointer can be out of stream
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum(CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_DURIN, __pyx_t_17) < (0)) __PYX_ERR(0, 3824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3832
 *     #: can be accessing the memory. Specifying this flag allows the driver
 *     #: to optimize the copy on certain platforms.
 *     CU_MEMCPY_SRC_ACCESS_ORDER_ANY = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_ANY             # <<<<<<<<<<<<<<
 *     CU_MEMCPY_SRC_ACCESS_ORDER_MAX = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_MAX
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum(CU_MEMCPY_SRC_ACCESS_ORDER_ANY); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_ANY, __pyx_t_17) < (0)) __PYX_ERR(0, 3832, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3833
 *     #: to optimize the copy on certain platforms.
 *     CU_MEMCPY_SRC_ACCESS_ORDER_ANY = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_ANY
 *     CU_MEMCPY_SRC_ACCESS_ORDER_MAX = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemcpySrcAccessOrder = dict(((int(v), v) for k, v in CUmemcpySrcAccessOrder.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum(CU_MEMCPY_SRC_ACCESS_ORDER_MAX); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_MAX, __pyx_t_17) < (0)) __PYX_ERR(0, 3833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3802
 * _dict_CUmemcpyFlags = dict(((int(v), v) for k, v in CUmemcpyFlags.__members__.items()))
 * 
 * class CUmemcpySrcAccessOrder(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     These flags allow applications to convey the source access ordering
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemcpySrcAccessOrder, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemcpySrcAccessOrder, __pyx_t_17) < (0)) __PYX_ERR(0, 3802, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3835
 *     CU_MEMCPY_SRC_ACCESS_ORDER_MAX = cydriver.CUmemcpySrcAccessOrder_enum.CU_MEMCPY_SRC_ACCESS_ORDER_MAX
 * 
 * _dict_CUmemcpySrcAccessOrder = dict(((int(v), v) for k, v in CUmemcpySrcAccessOrder.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemcpy3DOperandType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemcpySrcAccessOrder); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1197genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpySrcAccessOrder, __pyx_t_3) < (0)) __PYX_ERR(0, 3835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3837
 * _dict_CUmemcpySrcAccessOrder = dict(((int(v), v) for k, v in CUmemcpySrcAccessOrder.__members__.items()))
 * 
 * class CUmemcpy3DOperandType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     These flags allow applications to convey the operand type for
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperandType, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperandType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_These_flags_allow_applications_2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 3837, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3844
 * 
 *     #: Memcpy operand is a valid pointer.
 *     CU_MEMCPY_OPERAND_TYPE_POINTER = cydriver.CUmemcpy3DOperandType_enum.CU_MEMCPY_OPERAND_TYPE_POINTER             # <<<<<<<<<<<<<<
 * 
 *     #: Memcpy operand is a CUarray.
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemcpy3DOperandType_enum(CU_MEMCPY_OPERAND_TYPE_POINTER); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_OPERAND_TYPE_POINTER, __pyx_t_16) < (0)) __PYX_ERR(0, 3844, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3847
 * 
 *     #: Memcpy operand is a CUarray.
 *     CU_MEMCPY_OPERAND_TYPE_ARRAY = cydriver.CUmemcpy3DOperandType_enum.CU_MEMCPY_OPERAND_TYPE_ARRAY             # <<<<<<<<<<<<<<
 *     CU_MEMCPY_OPERAND_TYPE_MAX = cydriver.CUmemcpy3DOperandType_enum.CU_MEMCPY_OPERAND_TYPE_MAX
 * 
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemcpy3DOperandType_enum(CU_MEMCPY_OPERAND_TYPE_ARRAY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_OPERAND_TYPE_ARRAY, __pyx_t_16) < (0)) __PYX_ERR(0, 3847, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3848
 *     #: Memcpy operand is a CUarray.
 *     CU_MEMCPY_OPERAND_TYPE_ARRAY = cydriver.CUmemcpy3DOperandType_enum.CU_MEMCPY_OPERAND_TYPE_ARRAY
 *     CU_MEMCPY_OPERAND_TYPE_MAX = cydriver.CUmemcpy3DOperandType_enum.CU_MEMCPY_OPERAND_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemcpy3DOperandType = dict(((int(v), v) for k, v in CUmemcpy3DOperandType.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUmemcpy3DOperandType_enum(CU_MEMCPY_OPERAND_TYPE_MAX); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_MEMCPY_OPERAND_TYPE_MAX, __pyx_t_16) < (0)) __PYX_ERR(0, 3848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3837
 * _dict_CUmemcpySrcAccessOrder = dict(((int(v), v) for k, v in CUmemcpySrcAccessOrder.__members__.items()))
 * 
 * class CUmemcpy3DOperandType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     These flags allow applications to convey the operand type for
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperandType, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperandType, __pyx_t_16) < (0)) __PYX_ERR(0, 3837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3850
 *     CU_MEMCPY_OPERAND_TYPE_MAX = cydriver.CUmemcpy3DOperandType_enum.CU_MEMCPY_OPERAND_TYPE_MAX
 * 
 * _dict_CUmemcpy3DOperandType = dict(((int(v), v) for k, v in CUmemcpy3DOperandType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphMem_attribute(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperandType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1200genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemcpy3DOperandType, __pyx_t_18) < (0)) __PYX_ERR(0, 3850, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3852
 * _dict_CUmemcpy3DOperandType = dict(((int(v), v) for k, v in CUmemcpy3DOperandType.__members__.items()))
 * 
 * class CUgraphMem_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUgraphMem_attribute, __pyx_mstate_global->__pyx_n_u_CUgraphMem_attribute, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3852, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3859
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
 *     #: associated with graphs
 *     CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT = cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of memory, in bytes,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUgraphMem_attribute_enum(CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE, __pyx_t_3) < (0)) __PYX_ERR(0, 3859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3864
 *     #: associated with graphs since the last time it was reset. High
 *     #: watermark can only be reset to zero.
 *     CU_GRAPH_MEM_ATTR_USED_MEM_HIGH = cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUgraphMem_attribute_enum(CU_GRAPH_MEM_ATTR_USED_MEM_HIGH); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH, __pyx_t_3) < (0)) __PYX_ERR(0, 3864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3868
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
 *     #: allocated for use by the CUDA graphs asynchronous allocator.
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT = cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of memory, in bytes,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUgraphMem_attribute_enum(CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C, __pyx_t_3) < (0)) __PYX_ERR(0, 3868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3873
 *     #: currently allocated for use by the CUDA graphs asynchronous
 *     #: allocator.
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH = cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphMem_attribute = dict(((int(v), v) for k, v in CUgraphMem_attribute.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUgraphMem_attribute_enum(CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H, __pyx_t_3) < (0)) __PYX_ERR(0, 3873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3852
 * _dict_CUmemcpy3DOperandType = dict(((int(v), v) for k, v in CUmemcpy3DOperandType.__members__.items()))
 * 
 * class CUgraphMem_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgraphMem_attribute, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphMem_attribute, __pyx_t_3) < (0)) __PYX_ERR(0, 3852, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3875
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH = cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH
 * 
 * _dict_CUgraphMem_attribute = dict(((int(v), v) for k, v in CUgraphMem_attribute.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphChildGraphNodeOwnership(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUgraphMem_attribute); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1203genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphMem_attribute, __pyx_t_17) < (0)) __PYX_ERR(0, 3875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3877
 * _dict_CUgraphMem_attribute = dict(((int(v), v) for k, v in CUgraphMem_attribute.__members__.items()))
 * 
 * class CUgraphChildGraphNodeOwnership(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Child graph node ownership
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgraphChildGraphNodeOwnership, __pyx_mstate_global->__pyx_n_u_CUgraphChildGraphNodeOwnership, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Child_graph_node_ownership); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3877, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3885
 *     #: the parent and memory allocation/free nodes can't be present in the
 *     #: child graph.
 *     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_CLONE = cydriver.CUgraphChildGraphNodeOwnership_enum.CU_GRAPH_CHILD_GRAPH_OWNERSHIP_CLONE             # <<<<<<<<<<<<<<
 * 
 *     #: The child graph is moved to the parent. The handle to the child
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphChildGraphNodeOwnership_enum(CU_GRAPH_CHILD_GRAPH_OWNERSHIP_CLONE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_C, __pyx_t_18) < (0)) __PYX_ERR(0, 3885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3896
 *     #: be used as an argument to cuGraphExecUpdate; Cannot have additional
 *     #: memory allocation or free nodes added.
 *     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE = cydriver.CUgraphChildGraphNodeOwnership_enum.CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphChildGraphNodeOwnership = dict(((int(v), v) for k, v in CUgraphChildGraphNodeOwnership.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphChildGraphNodeOwnership_enum(CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_M, __pyx_t_18) < (0)) __PYX_ERR(0, 3896, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3877
 * _dict_CUgraphMem_attribute = dict(((int(v), v) for k, v in CUgraphMem_attribute.__members__.items()))
 * 
 * class CUgraphChildGraphNodeOwnership(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Child graph node ownership
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphChildGraphNodeOwnership, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphChildGraphNodeOwnership, __pyx_t_18) < (0)) __PYX_ERR(0, 3877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3898
 *     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE = cydriver.CUgraphChildGraphNodeOwnership_enum.CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE
 * 
 * _dict_CUgraphChildGraphNodeOwnership = dict(((int(v), v) for k, v in CUgraphChildGraphNodeOwnership.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesOptions(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgraphChildGraphNodeOwnership); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1206genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphChildGraphNodeOwner, __pyx_t_16) < (0)) __PYX_ERR(0, 3898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3900
 * _dict_CUgraphChildGraphNodeOwnership = dict(((int(v), v) for k, v in CUgraphChildGraphNodeOwnership.__members__.items()))
 * 
 * class CUflushGPUDirectRDMAWritesOptions(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Bitmasks for
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesOption, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesOption, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Bitmasks_for_py_obj_CU_DEVICE_A); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3900, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3908
 *     #: :py:obj:`~.cuFlushGPUDirectRDMAWrites()` and its CUDA Runtime API
 *     #: counterpart are supported on the device.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = cydriver.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: The :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH` flag and the
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesOptions_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES, __pyx_t_17) < (0)) __PYX_ERR(0, 3908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3913
 *     #: :py:obj:`~.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES` MemOp are supported
 *     #: on the device.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = cydriver.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS             # <<<<<<<<<<<<<<
 * 
 * _dict_CUflushGPUDirectRDMAWritesOptions = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesOptions.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesOptions_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3900
 * _dict_CUgraphChildGraphNodeOwnership = dict(((int(v), v) for k, v in CUgraphChildGraphNodeOwnership.__members__.items()))
 * 
 * class CUflushGPUDirectRDMAWritesOptions(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Bitmasks for
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesOption, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesOption, __pyx_t_17) < (0)) __PYX_ERR(0, 3900, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3915
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = cydriver.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS
 * 
 * _dict_CUflushGPUDirectRDMAWritesOptions = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesOptions.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGPUDirectRDMAWritesOrdering(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesOption); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1209genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUflushGPUDirectRDMAWrites, __pyx_t_3) < (0)) __PYX_ERR(0, 3915, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3917
 * _dict_CUflushGPUDirectRDMAWritesOptions = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesOptions.__members__.items()))
 * 
 * class CUGPUDirectRDMAWritesOrdering(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Platform native ordering for GPUDirect RDMA writes
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUGPUDirectRDMAWritesOrdering, __pyx_mstate_global->__pyx_n_u_CUGPUDirectRDMAWritesOrdering, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Platform_native_ordering_for_GP); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 3917, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3925
 *     #: :py:obj:`~.cuFlushGPUDirectRDMAWrites()` can be leveraged if
 *     #: supported.
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE = cydriver.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Natively, the device can consistently consume remote writes,
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUGPUDirectRDMAWritesOrdering_enum(CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI, __pyx_t_16) < (0)) __PYX_ERR(0, 3925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3929
 *     #: Natively, the device can consistently consume remote writes,
 *     #: although other CUDA devices may not.
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER = cydriver.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER             # <<<<<<<<<<<<<<
 * 
 *     #: Any CUDA device in the system can consistently consume remote writes
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUGPUDirectRDMAWritesOrdering_enum(CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2, __pyx_t_16) < (0)) __PYX_ERR(0, 3929, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3933
 *     #: Any CUDA device in the system can consistently consume remote writes
 *     #: to this device.
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = cydriver.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES             # <<<<<<<<<<<<<<
 * 
 * _dict_CUGPUDirectRDMAWritesOrdering = dict(((int(v), v) for k, v in CUGPUDirectRDMAWritesOrdering.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUGPUDirectRDMAWritesOrdering_enum(CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3, __pyx_t_16) < (0)) __PYX_ERR(0, 3933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3917
 * _dict_CUflushGPUDirectRDMAWritesOptions = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesOptions.__members__.items()))
 * 
 * class CUGPUDirectRDMAWritesOrdering(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Platform native ordering for GPUDirect RDMA writes
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUGPUDirectRDMAWritesOrdering, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUGPUDirectRDMAWritesOrdering, __pyx_t_16) < (0)) __PYX_ERR(0, 3917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3935
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = cydriver.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES
 * 
 * _dict_CUGPUDirectRDMAWritesOrdering = dict(((int(v), v) for k, v in CUGPUDirectRDMAWritesOrdering.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesScope(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUGPUDirectRDMAWritesOrdering); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1212genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUGPUDirectRDMAWritesOrder, __pyx_t_18) < (0)) __PYX_ERR(0, 3935, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3937
 * _dict_CUGPUDirectRDMAWritesOrdering = dict(((int(v), v) for k, v in CUGPUDirectRDMAWritesOrdering.__members__.items()))
 * 
 * class CUflushGPUDirectRDMAWritesScope(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The scopes for :py:obj:`~.cuFlushGPUDirectRDMAWrites`
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesScope, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesScope, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_The_scopes_for_py_obj_cuFlushGP); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 3937, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3944
 *     #: Blocks until remote writes are visible to the CUDA device context
 *     #: owning the data.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER = cydriver.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER             # <<<<<<<<<<<<<<
 * 
 *     #: Blocks until remote writes are visible to all CUDA device contexts.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesScope_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3, __pyx_t_3) < (0)) __PYX_ERR(0, 3944, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3947
 * 
 *     #: Blocks until remote writes are visible to all CUDA device contexts.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = cydriver.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES             # <<<<<<<<<<<<<<
 * 
 * _dict_CUflushGPUDirectRDMAWritesScope = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesScope.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesScope_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4, __pyx_t_3) < (0)) __PYX_ERR(0, 3947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":3937
 * _dict_CUGPUDirectRDMAWritesOrdering = dict(((int(v), v) for k, v in CUGPUDirectRDMAWritesOrdering.__members__.items()))
 * 
 * class CUflushGPUDirectRDMAWritesScope(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The scopes for :py:obj:`~.cuFlushGPUDirectRDMAWrites`
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesScope, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesScope, __pyx_t_3) < (0)) __PYX_ERR(0, 3937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3949
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = cydriver.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES
 * 
 * _dict_CUflushGPUDirectRDMAWritesScope = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesScope.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesTarget(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesScope); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1215genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUflushGPUDirectRDMAWrites_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3951
 * _dict_CUflushGPUDirectRDMAWritesScope = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesScope.__members__.items()))
 * 
 * class CUflushGPUDirectRDMAWritesTarget(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The targets for :py:obj:`~.cuFlushGPUDirectRDMAWrites`
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesTarget, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesTarget, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_The_targets_for_py_obj_cuFlushG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 3951, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3958
 *     #: Sets the target for :py:obj:`~.cuFlushGPUDirectRDMAWrites()` to the
 *     #: currently active CUDA device context.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = cydriver.CUflushGPUDirectRDMAWritesTarget_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUflushGPUDirectRDMAWritesTarget = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesTarget.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesTarget_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5, __pyx_t_18) < (0)) __PYX_ERR(0, 3958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":3951
 * _dict_CUflushGPUDirectRDMAWritesScope = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesScope.__members__.items()))
 * 
 * class CUflushGPUDirectRDMAWritesTarget(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The targets for :py:obj:`~.cuFlushGPUDirectRDMAWrites`
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesTarget, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesTarget, __pyx_t_18) < (0)) __PYX_ERR(0, 3951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3960
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = cydriver.CUflushGPUDirectRDMAWritesTarget_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX
 * 
 * _dict_CUflushGPUDirectRDMAWritesTarget = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesTarget.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphDebugDot_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesTarget); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1218genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUflushGPUDirectRDMAWrites_3, __pyx_t_16) < (0)) __PYX_ERR(0, 3960, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":3962
 * _dict_CUflushGPUDirectRDMAWritesTarget = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesTarget.__members__.items()))
 * 
 * class CUgraphDebugDot_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The additional write options for :py:obj:`~.cuGraphDebugDotPrint`
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphDebugDot_flags, __pyx_mstate_global->__pyx_n_u_CUgraphDebugDot_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_The_additional_write_options_fo); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 3962, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3968
 * 
 *     #: Output all debug data as if every debug flag is enabled
 *     CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE             # <<<<<<<<<<<<<<
 * 
 *     #: Use CUDA Runtime structures for output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE, __pyx_t_17) < (0)) __PYX_ERR(0, 3968, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3971
 * 
 *     #: Use CUDA Runtime structures for output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_KERNEL_NODE_PARAMS values to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME, __pyx_t_17) < (0)) __PYX_ERR(0, 3971, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3974
 * 
 *     #: Adds CUDA_KERNEL_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_MEMCPY3D values to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL, __pyx_t_17) < (0)) __PYX_ERR(0, 3974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3977
 * 
 *     #: Adds CUDA_MEMCPY3D values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_MEMSET_NODE_PARAMS values to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY, __pyx_t_17) < (0)) __PYX_ERR(0, 3977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3980
 * 
 *     #: Adds CUDA_MEMSET_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_HOST_NODE_PARAMS values to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET, __pyx_t_17) < (0)) __PYX_ERR(0, 3980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3983
 * 
 *     #: Adds CUDA_HOST_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUevent handle from record and wait nodes to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO, __pyx_t_17) < (0)) __PYX_ERR(0, 3983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3986
 * 
 *     #: Adds CUevent handle from record and wait nodes to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_EXT_SEM_SIGNAL_NODE_PARAMS values to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N, __pyx_t_17) < (0)) __PYX_ERR(0, 3986, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3989
 * 
 *     #: Adds CUDA_EXT_SEM_SIGNAL_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_EXT_SEM_WAIT_NODE_PARAMS values to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM, __pyx_t_17) < (0)) __PYX_ERR(0, 3989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3992
 * 
 *     #: Adds CUDA_EXT_SEM_WAIT_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUkernelNodeAttrValue values to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3992, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3995
 * 
 *     #: Adds CUkernelNodeAttrValue values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES             # <<<<<<<<<<<<<<
 * 
 *     #: Adds node handles and every kernel function handle to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2, __pyx_t_17) < (0)) __PYX_ERR(0, 3995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3998
 * 
 *     #: Adds node handles and every kernel function handle to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES             # <<<<<<<<<<<<<<
 * 
 *     #: Adds memory alloc node parameters to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES, __pyx_t_17) < (0)) __PYX_ERR(0, 3998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4001
 * 
 *     #: Adds memory alloc node parameters to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds memory free node parameters to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL, __pyx_t_17) < (0)) __PYX_ERR(0, 4001, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4004
 * 
 *     #: Adds memory free node parameters to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds batch mem op node parameters to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE, __pyx_t_17) < (0)) __PYX_ERR(0, 4004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4007
 * 
 *     #: Adds batch mem op node parameters to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds edge numbering information
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M, __pyx_t_17) < (0)) __PYX_ERR(0, 4007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4010
 * 
 *     #: Adds edge numbering information
 *     CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO             # <<<<<<<<<<<<<<
 * 
 *     #: Adds conditional node parameters to output
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T, __pyx_t_17) < (0)) __PYX_ERR(0, 4010, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4013
 * 
 *     #: Adds conditional node parameters to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphDebugDot_flags = dict(((int(v), v) for k, v in CUgraphDebugDot_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI, __pyx_t_17) < (0)) __PYX_ERR(0, 4013, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":3962
 * _dict_CUflushGPUDirectRDMAWritesTarget = dict(((int(v), v) for k, v in CUflushGPUDirectRDMAWritesTarget.__members__.items()))
 * 
 * class CUgraphDebugDot_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The additional write options for :py:obj:`~.cuGraphDebugDotPrint`
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUgraphDebugDot_flags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphDebugDot_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 3962, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4015
 *     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = cydriver.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS
 * 
 * _dict_CUgraphDebugDot_flags = dict(((int(v), v) for k, v in CUgraphDebugDot_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUuserObject_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphDebugDot_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1221genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphDebugDot_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 4015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4017
 * _dict_CUgraphDebugDot_flags = dict(((int(v), v) for k, v in CUgraphDebugDot_flags.__members__.items()))
 * 
 * class CUuserObject_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for user objects for graphs
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUuserObject_flags, __pyx_mstate_global->__pyx_n_u_CUuserObject_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_user_objects_for_grap); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 4017, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4024
 *     #: Indicates the destructor execution is not synchronized by any CUDA
 *     #: handle.
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = cydriver.CUuserObject_flags_enum.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC             # <<<<<<<<<<<<<<
 * 
 * _dict_CUuserObject_flags = dict(((int(v), v) for k, v in CUuserObject_flags.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUuserObject_flags_enum(CU_USER_OBJECT_NO_DESTRUCTOR_SYNC); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_USER_OBJECT_NO_DESTRUCTOR_SYN, __pyx_t_16) < (0)) __PYX_ERR(0, 4024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4017
 * _dict_CUgraphDebugDot_flags = dict(((int(v), v) for k, v in CUgraphDebugDot_flags.__members__.items()))
 * 
 * class CUuserObject_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for user objects for graphs
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUuserObject_flags, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUuserObject_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 4017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4026
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = cydriver.CUuserObject_flags_enum.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC
 * 
 * _dict_CUuserObject_flags = dict(((int(v), v) for k, v in CUuserObject_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUuserObjectRetain_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUuserObject_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1224genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUuserObject_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 4026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4028
 * _dict_CUuserObject_flags = dict(((int(v), v) for k, v in CUuserObject_flags.__members__.items()))
 * 
 * class CUuserObjectRetain_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for retaining user object references for graphs
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUuserObjectRetain_flags, __pyx_mstate_global->__pyx_n_u_CUuserObjectRetain_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_retaining_user_object); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 4028, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4035
 *     #: Transfer references from the caller rather than creating new
 *     #: references.
 *     CU_GRAPH_USER_OBJECT_MOVE = cydriver.CUuserObjectRetain_flags_enum.CU_GRAPH_USER_OBJECT_MOVE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUuserObjectRetain_flags = dict(((int(v), v) for k, v in CUuserObjectRetain_flags.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUuserObjectRetain_flags_enum(CU_GRAPH_USER_OBJECT_MOVE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_GRAPH_USER_OBJECT_MOVE, __pyx_t_3) < (0)) __PYX_ERR(0, 4035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4028
 * _dict_CUuserObject_flags = dict(((int(v), v) for k, v in CUuserObject_flags.__members__.items()))
 * 
 * class CUuserObjectRetain_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for retaining user object references for graphs
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUuserObjectRetain_flags, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUuserObjectRetain_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 4028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4037
 *     CU_GRAPH_USER_OBJECT_MOVE = cydriver.CUuserObjectRetain_flags_enum.CU_GRAPH_USER_OBJECT_MOVE
 * 
 * _dict_CUuserObjectRetain_flags = dict(((int(v), v) for k, v in CUuserObjectRetain_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgraphInstantiate_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUuserObjectRetain_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1227genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUuserObjectRetain_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 4037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4039
 * _dict_CUuserObjectRetain_flags = dict(((int(v), v) for k, v in CUuserObjectRetain_flags.__members__.items()))
 * 
 * class CUgraphInstantiate_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for instantiating a graph
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiate_flags, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiate_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_instantiating_a_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 4039, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4045
 * 
 *     #: Automatically free memory allocated in a graph before relaunching.
 *     CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = cydriver.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Automatically upload the graph after instantiation. Only supported
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphInstantiate_flags_enum(CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO, __pyx_t_18) < (0)) __PYX_ERR(0, 4045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4050
 *     #: by :py:obj:`~.cuGraphInstantiateWithParams`. The upload will be
 *     #: performed using the stream provided in `instantiateParams`.
 *     CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD = cydriver.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiate the graph to be launchable from the device. This flag
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphInstantiate_flags_enum(CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO, __pyx_t_18) < (0)) __PYX_ERR(0, 4050, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4056
 *     #: flag cannot be used in conjunction with
 *     #: CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH.
 *     CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH = cydriver.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Run the graph using the per-node priority attributes rather than the
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphInstantiate_flags_enum(CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI, __pyx_t_18) < (0)) __PYX_ERR(0, 4056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4060
 *     #: Run the graph using the per-node priority attributes rather than the
 *     #: priority of the stream it is launched into.
 *     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = cydriver.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgraphInstantiate_flags = dict(((int(v), v) for k, v in CUgraphInstantiate_flags.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUgraphInstantiate_flags_enum(CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_USE, __pyx_t_18) < (0)) __PYX_ERR(0, 4060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4039
 * _dict_CUuserObjectRetain_flags = dict(((int(v), v) for k, v in CUuserObjectRetain_flags.__members__.items()))
 * 
 * class CUgraphInstantiate_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for instantiating a graph
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiate_flags, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiate_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 4039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4062
 *     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = cydriver.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY
 * 
 * _dict_CUgraphInstantiate_flags = dict(((int(v), v) for k, v in CUgraphInstantiate_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdeviceNumaConfig(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgraphInstantiate_flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1230genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgraphInstantiate_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 4062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4064
 * _dict_CUgraphInstantiate_flags = dict(((int(v), v) for k, v in CUgraphInstantiate_flags.__members__.items()))
 * 
 * class CUdeviceNumaConfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device NUMA configuration
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUdeviceNumaConfig, __pyx_mstate_global->__pyx_n_u_CUdeviceNumaConfig, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_device_NUMA_configuration); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 4064, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4070
 * 
 *     #: The GPU is not a NUMA node
 *     CU_DEVICE_NUMA_CONFIG_NONE = cydriver.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: The GPU is a NUMA node, CU_DEVICE_ATTRIBUTE_NUMA_ID contains its
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUdeviceNumaConfig_enum(CU_DEVICE_NUMA_CONFIG_NONE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_NUMA_CONFIG_NONE, __pyx_t_17) < (0)) __PYX_ERR(0, 4070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4074
 *     #: The GPU is a NUMA node, CU_DEVICE_ATTRIBUTE_NUMA_ID contains its
 *     #: NUMA ID
 *     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = cydriver.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NUMA_NODE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUdeviceNumaConfig = dict(((int(v), v) for k, v in CUdeviceNumaConfig.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUdeviceNumaConfig_enum(CU_DEVICE_NUMA_CONFIG_NUMA_NODE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_DEVICE_NUMA_CONFIG_NUMA_NODE, __pyx_t_17) < (0)) __PYX_ERR(0, 4074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4064
 * _dict_CUgraphInstantiate_flags = dict(((int(v), v) for k, v in CUgraphInstantiate_flags.__members__.items()))
 * 
 * class CUdeviceNumaConfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device NUMA configuration
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdeviceNumaConfig, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUdeviceNumaConfig, __pyx_t_17) < (0)) __PYX_ERR(0, 4064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4076
 *     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = cydriver.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NUMA_NODE
 * 
 * _dict_CUdeviceNumaConfig = dict(((int(v), v) for k, v in CUdeviceNumaConfig.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUprocessState(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUdeviceNumaConfig); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1233genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUdeviceNumaConfig, __pyx_t_3) < (0)) __PYX_ERR(0, 4076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4078
 * _dict_CUdeviceNumaConfig = dict(((int(v), v) for k, v in CUdeviceNumaConfig.__members__.items()))
 * 
 * class CUprocessState(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Process States
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUprocessState, __pyx_mstate_global->__pyx_n_u_CUprocessState, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_Process_States); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 4078, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4084
 * 
 *     #: Default process state
 *     CU_PROCESS_STATE_RUNNING = cydriver.CUprocessState_enum.CU_PROCESS_STATE_RUNNING             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA API locks are taken so further CUDA API calls will block
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUprocessState_enum(CU_PROCESS_STATE_RUNNING); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_PROCESS_STATE_RUNNING, __pyx_t_16) < (0)) __PYX_ERR(0, 4084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4087
 * 
 *     #: CUDA API locks are taken so further CUDA API calls will block
 *     CU_PROCESS_STATE_LOCKED = cydriver.CUprocessState_enum.CU_PROCESS_STATE_LOCKED             # <<<<<<<<<<<<<<
 * 
 *     #: Application memory contents have been checkpointed and underlying
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUprocessState_enum(CU_PROCESS_STATE_LOCKED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_PROCESS_STATE_LOCKED, __pyx_t_16) < (0)) __PYX_ERR(0, 4087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4091
 *     #: Application memory contents have been checkpointed and underlying
 *     #: allocations and device handles have been released
 *     CU_PROCESS_STATE_CHECKPOINTED = cydriver.CUprocessState_enum.CU_PROCESS_STATE_CHECKPOINTED             # <<<<<<<<<<<<<<
 * 
 *     #: Application entered an uncorrectable error during the
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUprocessState_enum(CU_PROCESS_STATE_CHECKPOINTED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_PROCESS_STATE_CHECKPOINTED, __pyx_t_16) < (0)) __PYX_ERR(0, 4091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4095
 *     #: Application entered an uncorrectable error during the
 *     #: checkpoint/restore process
 *     CU_PROCESS_STATE_FAILED = cydriver.CUprocessState_enum.CU_PROCESS_STATE_FAILED             # <<<<<<<<<<<<<<
 * 
 * _dict_CUprocessState = dict(((int(v), v) for k, v in CUprocessState.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUprocessState_enum(CU_PROCESS_STATE_FAILED); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_PROCESS_STATE_FAILED, __pyx_t_16) < (0)) __PYX_ERR(0, 4095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4078
 * _dict_CUdeviceNumaConfig = dict(((int(v), v) for k, v in CUdeviceNumaConfig.__members__.items()))
 * 
 * class CUprocessState(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Process States
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUprocessState, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUprocessState, __pyx_t_16) < (0)) __PYX_ERR(0, 4078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4097
 *     CU_PROCESS_STATE_FAILED = cydriver.CUprocessState_enum.CU_PROCESS_STATE_FAILED
 * 
 * _dict_CUprocessState = dict(((int(v), v) for k, v in CUprocessState.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmoduleLoadingMode(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUprocessState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1236genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUprocessState, __pyx_t_18) < (0)) __PYX_ERR(0, 4097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4099
 * _dict_CUprocessState = dict(((int(v), v) for k, v in CUprocessState.__members__.items()))
 * 
 * class CUmoduleLoadingMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Lazy Loading status
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmoduleLoadingMode, __pyx_mstate_global->__pyx_n_u_CUmoduleLoadingMode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_Lazy_Loading_status); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 4099, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4105
 * 
 *     #: Lazy Kernel Loading is not enabled
 *     CU_MODULE_EAGER_LOADING = cydriver.CUmoduleLoadingMode_enum.CU_MODULE_EAGER_LOADING             # <<<<<<<<<<<<<<
 * 
 *     #: Lazy Kernel Loading is enabled
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmoduleLoadingMode_enum(CU_MODULE_EAGER_LOADING); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MODULE_EAGER_LOADING, __pyx_t_3) < (0)) __PYX_ERR(0, 4105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4108
 * 
 *     #: Lazy Kernel Loading is enabled
 *     CU_MODULE_LAZY_LOADING = cydriver.CUmoduleLoadingMode_enum.CU_MODULE_LAZY_LOADING             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmoduleLoadingMode = dict(((int(v), v) for k, v in CUmoduleLoadingMode.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUmoduleLoadingMode_enum(CU_MODULE_LAZY_LOADING); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_MODULE_LAZY_LOADING, __pyx_t_3) < (0)) __PYX_ERR(0, 4108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4099
 * _dict_CUprocessState = dict(((int(v), v) for k, v in CUprocessState.__members__.items()))
 * 
 * class CUmoduleLoadingMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Lazy Loading status
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmoduleLoadingMode, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmoduleLoadingMode, __pyx_t_3) < (0)) __PYX_ERR(0, 4099, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4110
 *     CU_MODULE_LAZY_LOADING = cydriver.CUmoduleLoadingMode_enum.CU_MODULE_LAZY_LOADING
 * 
 * _dict_CUmoduleLoadingMode = dict(((int(v), v) for k, v in CUmoduleLoadingMode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUmemDecompressAlgorithm(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUmoduleLoadingMode); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1239genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmoduleLoadingMode, __pyx_t_17) < (0)) __PYX_ERR(0, 4110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4112
 * _dict_CUmoduleLoadingMode = dict(((int(v), v) for k, v in CUmoduleLoadingMode.__members__.items()))
 * 
 * class CUmemDecompressAlgorithm(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Bitmasks for CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK.
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemDecompressAlgorithm, __pyx_mstate_global->__pyx_n_u_CUmemDecompressAlgorithm, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Bitmasks_for_CU_DEVICE_ATTRIBUT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 4112, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4118
 * 
 *     #: Decompression is unsupported.
 *     CU_MEM_DECOMPRESS_UNSUPPORTED = cydriver.CUmemDecompressAlgorithm_enum.CU_MEM_DECOMPRESS_UNSUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Deflate is supported.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemDecompressAlgorithm_enum(CU_MEM_DECOMPRESS_UNSUPPORTED); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_DECOMPRESS_UNSUPPORTED, __pyx_t_18) < (0)) __PYX_ERR(0, 4118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4121
 * 
 *     #: Deflate is supported.
 *     CU_MEM_DECOMPRESS_ALGORITHM_DEFLATE = cydriver.CUmemDecompressAlgorithm_enum.CU_MEM_DECOMPRESS_ALGORITHM_DEFLATE             # <<<<<<<<<<<<<<
 * 
 *     #: Snappy is supported.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemDecompressAlgorithm_enum(CU_MEM_DECOMPRESS_ALGORITHM_DEFLATE); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_DEFL, __pyx_t_18) < (0)) __PYX_ERR(0, 4121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4124
 * 
 *     #: Snappy is supported.
 *     CU_MEM_DECOMPRESS_ALGORITHM_SNAPPY = cydriver.CUmemDecompressAlgorithm_enum.CU_MEM_DECOMPRESS_ALGORITHM_SNAPPY             # <<<<<<<<<<<<<<
 * 
 *     #: LZ4 is supported.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemDecompressAlgorithm_enum(CU_MEM_DECOMPRESS_ALGORITHM_SNAPPY); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_SNAP, __pyx_t_18) < (0)) __PYX_ERR(0, 4124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4127
 * 
 *     #: LZ4 is supported.
 *     CU_MEM_DECOMPRESS_ALGORITHM_LZ4 = cydriver.CUmemDecompressAlgorithm_enum.CU_MEM_DECOMPRESS_ALGORITHM_LZ4             # <<<<<<<<<<<<<<
 * 
 * _dict_CUmemDecompressAlgorithm = dict(((int(v), v) for k, v in CUmemDecompressAlgorithm.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUmemDecompressAlgorithm_enum(CU_MEM_DECOMPRESS_ALGORITHM_LZ4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_LZ4, __pyx_t_18) < (0)) __PYX_ERR(0, 4127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4112
 * _dict_CUmoduleLoadingMode = dict(((int(v), v) for k, v in CUmoduleLoadingMode.__members__.items()))
 * 
 * class CUmemDecompressAlgorithm(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Bitmasks for CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK.
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUmemDecompressAlgorithm, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUmemDecompressAlgorithm, __pyx_t_18) < (0)) __PYX_ERR(0, 4112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4129
 *     CU_MEM_DECOMPRESS_ALGORITHM_LZ4 = cydriver.CUmemDecompressAlgorithm_enum.CU_MEM_DECOMPRESS_ALGORITHM_LZ4
 * 
 * _dict_CUmemDecompressAlgorithm = dict(((int(v), v) for k, v in CUmemDecompressAlgorithm.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUfunctionLoadingState(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUmemDecompressAlgorithm); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1242genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUmemDecompressAlgorithm, __pyx_t_16) < (0)) __PYX_ERR(0, 4129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4131
 * _dict_CUmemDecompressAlgorithm = dict(((int(v), v) for k, v in CUmemDecompressAlgorithm.__members__.items()))
 * 
 * class CUfunctionLoadingState(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUfunctionLoadingState, __pyx_mstate_global->__pyx_n_u_CUfunctionLoadingState, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 4131, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4135
 * 
 *     """
 *     CU_FUNCTION_LOADING_STATE_UNLOADED = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_UNLOADED             # <<<<<<<<<<<<<<
 *     CU_FUNCTION_LOADING_STATE_LOADED = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_LOADED
 *     CU_FUNCTION_LOADING_STATE_MAX = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfunctionLoadingState_enum(CU_FUNCTION_LOADING_STATE_UNLOADED); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FUNCTION_LOADING_STATE_UNLOAD, __pyx_t_17) < (0)) __PYX_ERR(0, 4135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4136
 *     """
 *     CU_FUNCTION_LOADING_STATE_UNLOADED = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_UNLOADED
 *     CU_FUNCTION_LOADING_STATE_LOADED = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_LOADED             # <<<<<<<<<<<<<<
 *     CU_FUNCTION_LOADING_STATE_MAX = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfunctionLoadingState_enum(CU_FUNCTION_LOADING_STATE_LOADED); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FUNCTION_LOADING_STATE_LOADED, __pyx_t_17) < (0)) __PYX_ERR(0, 4136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4137
 *     CU_FUNCTION_LOADING_STATE_UNLOADED = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_UNLOADED
 *     CU_FUNCTION_LOADING_STATE_LOADED = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_LOADED
 *     CU_FUNCTION_LOADING_STATE_MAX = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUfunctionLoadingState = dict(((int(v), v) for k, v in CUfunctionLoadingState.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum__CUfunctionLoadingState_enum(CU_FUNCTION_LOADING_STATE_MAX); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_FUNCTION_LOADING_STATE_MAX, __pyx_t_17) < (0)) __PYX_ERR(0, 4137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4131
 * _dict_CUmemDecompressAlgorithm = dict(((int(v), v) for k, v in CUmemDecompressAlgorithm.__members__.items()))
 * 
 * class CUfunctionLoadingState(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUfunctionLoadingState, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUfunctionLoadingState, __pyx_t_17) < (0)) __PYX_ERR(0, 4131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4139
 *     CU_FUNCTION_LOADING_STATE_MAX = cydriver.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
 * 
 * _dict_CUfunctionLoadingState = dict(((int(v), v) for k, v in CUfunctionLoadingState.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUcoredumpSettings(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUfunctionLoadingState); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1245genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUfunctionLoadingState, __pyx_t_3) < (0)) __PYX_ERR(0, 4139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4141
 * _dict_CUfunctionLoadingState = dict(((int(v), v) for k, v in CUfunctionLoadingState.__members__.items()))
 * 
 * class CUcoredumpSettings(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for choosing a coredump attribute to get/set
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_choosing_a_coredump_a); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 4141, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4145
 *     Flags for choosing a coredump attribute to get/set
 *     """
 *     CU_COREDUMP_ENABLE_ON_EXCEPTION = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_TRIGGER_HOST = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST
 *     CU_COREDUMP_LIGHTWEIGHT = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_ENABLE_ON_EXCEPTION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_ENABLE_ON_EXCEPTION, __pyx_t_16) < (0)) __PYX_ERR(0, 4145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4146
 *     """
 *     CU_COREDUMP_ENABLE_ON_EXCEPTION = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION
 *     CU_COREDUMP_TRIGGER_HOST = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_LIGHTWEIGHT = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_TRIGGER_HOST); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_TRIGGER_HOST, __pyx_t_16) < (0)) __PYX_ERR(0, 4146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4147
 *     CU_COREDUMP_ENABLE_ON_EXCEPTION = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION
 *     CU_COREDUMP_TRIGGER_HOST = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST
 *     CU_COREDUMP_LIGHTWEIGHT = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER
 *     CU_COREDUMP_FILE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_LIGHTWEIGHT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_LIGHTWEIGHT, __pyx_t_16) < (0)) __PYX_ERR(0, 4147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4148
 *     CU_COREDUMP_TRIGGER_HOST = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST
 *     CU_COREDUMP_LIGHTWEIGHT = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_FILE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE
 *     CU_COREDUMP_PIPE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_ENABLE_USER_TRIGGER); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_ENABLE_USER_TRIGGER, __pyx_t_16) < (0)) __PYX_ERR(0, 4148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4149
 *     CU_COREDUMP_LIGHTWEIGHT = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER
 *     CU_COREDUMP_FILE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_PIPE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE
 *     CU_COREDUMP_GENERATION_FLAGS = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_GENERATION_FLAGS
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_FILE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_FILE, __pyx_t_16) < (0)) __PYX_ERR(0, 4149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4150
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER
 *     CU_COREDUMP_FILE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE
 *     CU_COREDUMP_PIPE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_GENERATION_FLAGS = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_GENERATION_FLAGS
 *     CU_COREDUMP_MAX = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_MAX
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_PIPE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_PIPE, __pyx_t_16) < (0)) __PYX_ERR(0, 4150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4151
 *     CU_COREDUMP_FILE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_FILE
 *     CU_COREDUMP_PIPE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE
 *     CU_COREDUMP_GENERATION_FLAGS = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_GENERATION_FLAGS             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_MAX = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_MAX
 * 
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_GENERATION_FLAGS); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_GENERATION_FLAGS, __pyx_t_16) < (0)) __PYX_ERR(0, 4151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4152
 *     CU_COREDUMP_PIPE = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_PIPE
 *     CU_COREDUMP_GENERATION_FLAGS = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_GENERATION_FLAGS
 *     CU_COREDUMP_MAX = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUcoredumpSettings = dict(((int(v), v) for k, v in CUcoredumpSettings.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_MAX); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_MAX, __pyx_t_16) < (0)) __PYX_ERR(0, 4152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4141
 * _dict_CUfunctionLoadingState = dict(((int(v), v) for k, v in CUfunctionLoadingState.__members__.items()))
 * 
 * class CUcoredumpSettings(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for choosing a coredump attribute to get/set
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings, __pyx_t_16) < (0)) __PYX_ERR(0, 4141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4154
 *     CU_COREDUMP_MAX = cydriver.CUcoredumpSettings_enum.CU_COREDUMP_MAX
 * 
 * _dict_CUcoredumpSettings = dict(((int(v), v) for k, v in CUcoredumpSettings.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUCoredumpGenerationFlags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1248genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUcoredumpSettings, __pyx_t_18) < (0)) __PYX_ERR(0, 4154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4156
 * _dict_CUcoredumpSettings = dict(((int(v), v) for k, v in CUcoredumpSettings.__members__.items()))
 * 
 * class CUCoredumpGenerationFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for controlling coredump contents
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUCoredumpGenerationFlags, __pyx_mstate_global->__pyx_n_u_CUCoredumpGenerationFlags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_for_controlling_coredump); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 4156, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4160
 *     Flags for controlling coredump contents
 *     """
 *     CU_COREDUMP_DEFAULT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_DEFAULT_FLAGS             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES
 *     CU_COREDUMP_SKIP_GLOBAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_GLOBAL_MEMORY
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(CU_COREDUMP_DEFAULT_FLAGS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_DEFAULT_FLAGS, __pyx_t_3) < (0)) __PYX_ERR(0, 4160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4161
 *     """
 *     CU_COREDUMP_DEFAULT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_DEFAULT_FLAGS
 *     CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_SKIP_GLOBAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_GLOBAL_MEMORY
 *     CU_COREDUMP_SKIP_SHARED_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_SHARED_MEMORY
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_SKIP_NONRELOCATED_EL, __pyx_t_3) < (0)) __PYX_ERR(0, 4161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4162
 *     CU_COREDUMP_DEFAULT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_DEFAULT_FLAGS
 *     CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES
 *     CU_COREDUMP_SKIP_GLOBAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_GLOBAL_MEMORY             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_SKIP_SHARED_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_SHARED_MEMORY
 *     CU_COREDUMP_SKIP_LOCAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_LOCAL_MEMORY
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(CU_COREDUMP_SKIP_GLOBAL_MEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_SKIP_GLOBAL_MEMORY, __pyx_t_3) < (0)) __PYX_ERR(0, 4162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4163
 *     CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES
 *     CU_COREDUMP_SKIP_GLOBAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_GLOBAL_MEMORY
 *     CU_COREDUMP_SKIP_SHARED_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_SHARED_MEMORY             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_SKIP_LOCAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_LOCAL_MEMORY
 *     CU_COREDUMP_SKIP_ABORT = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_ABORT
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(CU_COREDUMP_SKIP_SHARED_MEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_SKIP_SHARED_MEMORY, __pyx_t_3) < (0)) __PYX_ERR(0, 4163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4164
 *     CU_COREDUMP_SKIP_GLOBAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_GLOBAL_MEMORY
 *     CU_COREDUMP_SKIP_SHARED_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_SHARED_MEMORY
 *     CU_COREDUMP_SKIP_LOCAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_LOCAL_MEMORY             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_SKIP_ABORT = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_ABORT
 *     CU_COREDUMP_SKIP_CONSTBANK_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_CONSTBANK_MEMORY
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(CU_COREDUMP_SKIP_LOCAL_MEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_SKIP_LOCAL_MEMORY, __pyx_t_3) < (0)) __PYX_ERR(0, 4164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4165
 *     CU_COREDUMP_SKIP_SHARED_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_SHARED_MEMORY
 *     CU_COREDUMP_SKIP_LOCAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_LOCAL_MEMORY
 *     CU_COREDUMP_SKIP_ABORT = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_ABORT             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_SKIP_CONSTBANK_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_CONSTBANK_MEMORY
 *     CU_COREDUMP_LIGHTWEIGHT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_LIGHTWEIGHT_FLAGS
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(CU_COREDUMP_SKIP_ABORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_SKIP_ABORT, __pyx_t_3) < (0)) __PYX_ERR(0, 4165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4166
 *     CU_COREDUMP_SKIP_LOCAL_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_LOCAL_MEMORY
 *     CU_COREDUMP_SKIP_ABORT = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_ABORT
 *     CU_COREDUMP_SKIP_CONSTBANK_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_CONSTBANK_MEMORY             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_LIGHTWEIGHT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_LIGHTWEIGHT_FLAGS
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(CU_COREDUMP_SKIP_CONSTBANK_MEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_SKIP_CONSTBANK_MEMOR, __pyx_t_3) < (0)) __PYX_ERR(0, 4166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4167
 *     CU_COREDUMP_SKIP_ABORT = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_ABORT
 *     CU_COREDUMP_SKIP_CONSTBANK_MEMORY = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_CONSTBANK_MEMORY
 *     CU_COREDUMP_LIGHTWEIGHT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_LIGHTWEIGHT_FLAGS             # <<<<<<<<<<<<<<
 * 
 * _dict_CUCoredumpGenerationFlags = dict(((int(v), v) for k, v in CUCoredumpGenerationFlags.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(CU_COREDUMP_LIGHTWEIGHT_FLAGS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_COREDUMP_LIGHTWEIGHT_FLAGS, __pyx_t_3) < (0)) __PYX_ERR(0, 4167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4156
 * _dict_CUcoredumpSettings = dict(((int(v), v) for k, v in CUcoredumpSettings.__members__.items()))
 * 
 * class CUCoredumpGenerationFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for controlling coredump contents
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUCoredumpGenerationFlags, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUCoredumpGenerationFlags, __pyx_t_3) < (0)) __PYX_ERR(0, 4156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4169
 *     CU_COREDUMP_LIGHTWEIGHT_FLAGS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_LIGHTWEIGHT_FLAGS
 * 
 * _dict_CUCoredumpGenerationFlags = dict(((int(v), v) for k, v in CUCoredumpGenerationFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgreenCtxCreate_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUCoredumpGenerationFlags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1251genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUCoredumpGenerationFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 4169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4171
 * _dict_CUCoredumpGenerationFlags = dict(((int(v), v) for k, v in CUCoredumpGenerationFlags.__members__.items()))
 * 
 * class CUgreenCtxCreate_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgreenCtxCreate_flags, __pyx_mstate_global->__pyx_n_u_CUgreenCtxCreate_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 4171, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4177
 * 
 *     #: Required. Creates a default stream to use inside the green context
 *     CU_GREEN_CTX_DEFAULT_STREAM = cydriver.CUgreenCtxCreate_flags.CU_GREEN_CTX_DEFAULT_STREAM             # <<<<<<<<<<<<<<
 * 
 * _dict_CUgreenCtxCreate_flags = dict(((int(v), v) for k, v in CUgreenCtxCreate_flags.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_CUgreenCtxCreate_flags(CU_GREEN_CTX_DEFAULT_STREAM); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GREEN_CTX_DEFAULT_STREAM, __pyx_t_18) < (0)) __PYX_ERR(0, 4177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4171
 * _dict_CUCoredumpGenerationFlags = dict(((int(v), v) for k, v in CUCoredumpGenerationFlags.__members__.items()))
 * 
 * class CUgreenCtxCreate_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUgreenCtxCreate_flags, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUgreenCtxCreate_flags, __pyx_t_18) < (0)) __PYX_ERR(0, 4171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4179
 *     CU_GREEN_CTX_DEFAULT_STREAM = cydriver.CUgreenCtxCreate_flags.CU_GREEN_CTX_DEFAULT_STREAM
 * 
 * _dict_CUgreenCtxCreate_flags = dict(((int(v), v) for k, v in CUgreenCtxCreate_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevSmResourceSplit_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUgreenCtxCreate_flags); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1254genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUgreenCtxCreate_flags, __pyx_t_16) < (0)) __PYX_ERR(0, 4179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4181
 * _dict_CUgreenCtxCreate_flags = dict(((int(v), v) for k, v in CUgreenCtxCreate_flags.__members__.items()))
 * 
 * class CUdevSmResourceSplit_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUdevSmResourceSplit_flags, __pyx_mstate_global->__pyx_n_u_CUdevSmResourceSplit_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 4181, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4185
 * 
 *     """
 *     CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING = cydriver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING             # <<<<<<<<<<<<<<
 *     CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE = cydriver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_CUdevSmResourceSplit_flags(CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_DEV_SM_RESOURCE_SPLIT_IGNORE, __pyx_t_17) < (0)) __PYX_ERR(0, 4185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4186
 *     """
 *     CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING = cydriver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING
 *     CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE = cydriver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE             # <<<<<<<<<<<<<<
 * 
 * _dict_CUdevSmResourceSplit_flags = dict(((int(v), v) for k, v in CUdevSmResourceSplit_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_CUdevSmResourceSplit_flags(CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_DEV_SM_RESOURCE_SPLIT_MAX_POT, __pyx_t_17) < (0)) __PYX_ERR(0, 4186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4181
 * _dict_CUgreenCtxCreate_flags = dict(((int(v), v) for k, v in CUgreenCtxCreate_flags.__members__.items()))
 * 
 * class CUdevSmResourceSplit_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdevSmResourceSplit_flags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUdevSmResourceSplit_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 4181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4188
 *     CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE = cydriver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE
 * 
 * _dict_CUdevSmResourceSplit_flags = dict(((int(v), v) for k, v in CUdevSmResourceSplit_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevResourceType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUdevSmResourceSplit_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1257genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUdevSmResourceSplit_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 4188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4190
 * _dict_CUdevSmResourceSplit_flags = dict(((int(v), v) for k, v in CUdevSmResourceSplit_flags.__members__.items()))
 * 
 * class CUdevResourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Type of resource
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdevResourceType, __pyx_mstate_global->__pyx_n_u_CUdevResourceType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Type_of_resource); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 4190, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4194
 *     Type of resource
 *     """
 *     CU_DEV_RESOURCE_TYPE_INVALID = cydriver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_INVALID             # <<<<<<<<<<<<<<
 * 
 *     #: Streaming multiprocessors related information
*/
  __pyx_t_16 = __Pyx_PyLong_From_CUdevResourceType(CU_DEV_RESOURCE_TYPE_INVALID); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEV_RESOURCE_TYPE_INVALID, __pyx_t_16) < (0)) __PYX_ERR(0, 4194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4197
 * 
 *     #: Streaming multiprocessors related information
 *     CU_DEV_RESOURCE_TYPE_SM = cydriver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_SM             # <<<<<<<<<<<<<<
 * 
 * _dict_CUdevResourceType = dict(((int(v), v) for k, v in CUdevResourceType.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_CUdevResourceType(CU_DEV_RESOURCE_TYPE_SM); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_DEV_RESOURCE_TYPE_SM, __pyx_t_16) < (0)) __PYX_ERR(0, 4197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4190
 * _dict_CUdevSmResourceSplit_flags = dict(((int(v), v) for k, v in CUdevSmResourceSplit_flags.__members__.items()))
 * 
 * class CUdevResourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Type of resource
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUdevResourceType, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUdevResourceType, __pyx_t_16) < (0)) __PYX_ERR(0, 4190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4199
 *     CU_DEV_RESOURCE_TYPE_SM = cydriver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_SM
 * 
 * _dict_CUdevResourceType = dict(((int(v), v) for k, v in CUdevResourceType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlogLevel(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdevResourceType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1260genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUdevResourceType, __pyx_t_18) < (0)) __PYX_ERR(0, 4199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4201
 * _dict_CUdevResourceType = dict(((int(v), v) for k, v in CUdevResourceType.__members__.items()))
 * 
 * class CUlogLevel(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUlogLevel, __pyx_mstate_global->__pyx_n_u_CUlogLevel, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 4201, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4205
 * 
 *     """
 *     CU_LOG_LEVEL_ERROR = cydriver.CUlogLevel_enum.CU_LOG_LEVEL_ERROR             # <<<<<<<<<<<<<<
 *     CU_LOG_LEVEL_WARNING = cydriver.CUlogLevel_enum.CU_LOG_LEVEL_WARNING
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlogLevel_enum(CU_LOG_LEVEL_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LOG_LEVEL_ERROR, __pyx_t_3) < (0)) __PYX_ERR(0, 4205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4206
 *     """
 *     CU_LOG_LEVEL_ERROR = cydriver.CUlogLevel_enum.CU_LOG_LEVEL_ERROR
 *     CU_LOG_LEVEL_WARNING = cydriver.CUlogLevel_enum.CU_LOG_LEVEL_WARNING             # <<<<<<<<<<<<<<
 * 
 * _dict_CUlogLevel = dict(((int(v), v) for k, v in CUlogLevel.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlogLevel_enum(CU_LOG_LEVEL_WARNING); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LOG_LEVEL_WARNING, __pyx_t_3) < (0)) __PYX_ERR(0, 4206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4201
 * _dict_CUdevResourceType = dict(((int(v), v) for k, v in CUdevResourceType.__members__.items()))
 * 
 * class CUlogLevel(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUlogLevel, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUlogLevel, __pyx_t_3) < (0)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4208
 *     CU_LOG_LEVEL_WARNING = cydriver.CUlogLevel_enum.CU_LOG_LEVEL_WARNING
 * 
 * _dict_CUlogLevel = dict(((int(v), v) for k, v in CUlogLevel.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUoutput_mode(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUlogLevel); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1263genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUlogLevel, __pyx_t_17) < (0)) __PYX_ERR(0, 4208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4210
 * _dict_CUlogLevel = dict(((int(v), v) for k, v in CUlogLevel.__members__.items()))
 * 
 * class CUoutput_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Profiler Output Modes
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUoutput_mode, __pyx_mstate_global->__pyx_n_u_CUoutput_mode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Profiler_Output_Modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 4210, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4216
 * 
 *     #: Output mode Key-Value pair format.
 *     CU_OUT_KEY_VALUE_PAIR = cydriver.CUoutput_mode_enum.CU_OUT_KEY_VALUE_PAIR             # <<<<<<<<<<<<<<
 * 
 *     #: Output mode Comma separated values format.
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUoutput_mode_enum(CU_OUT_KEY_VALUE_PAIR); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_OUT_KEY_VALUE_PAIR, __pyx_t_18) < (0)) __PYX_ERR(0, 4216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4219
 * 
 *     #: Output mode Comma separated values format.
 *     CU_OUT_CSV = cydriver.CUoutput_mode_enum.CU_OUT_CSV             # <<<<<<<<<<<<<<
 * 
 * _dict_CUoutput_mode = dict(((int(v), v) for k, v in CUoutput_mode.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum__CUoutput_mode_enum(CU_OUT_CSV); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_OUT_CSV, __pyx_t_18) < (0)) __PYX_ERR(0, 4219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4210
 * _dict_CUlogLevel = dict(((int(v), v) for k, v in CUlogLevel.__members__.items()))
 * 
 * class CUoutput_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Profiler Output Modes
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUoutput_mode, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUoutput_mode, __pyx_t_18) < (0)) __PYX_ERR(0, 4210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4221
 *     CU_OUT_CSV = cydriver.CUoutput_mode_enum.CU_OUT_CSV
 * 
 * _dict_CUoutput_mode = dict(((int(v), v) for k, v in CUoutput_mode.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglFrameType(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUoutput_mode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1266genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUoutput_mode, __pyx_t_16) < (0)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4223
 * _dict_CUoutput_mode = dict(((int(v), v) for k, v in CUoutput_mode.__members__.items()))
 * 
 * class CUeglFrameType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EglFrame type - array or pointer
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUeglFrameType, __pyx_mstate_global->__pyx_n_u_CUeglFrameType, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_EglFrame_type_array_or_poi); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 4223, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4229
 * 
 *     #: Frame type CUDA array
 *     CU_EGL_FRAME_TYPE_ARRAY = cydriver.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: Frame type pointer
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_FRAME_TYPE_ARRAY); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EGL_FRAME_TYPE_ARRAY, __pyx_t_17) < (0)) __PYX_ERR(0, 4229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4232
 * 
 *     #: Frame type pointer
 *     CU_EGL_FRAME_TYPE_PITCH = cydriver.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_PITCH             # <<<<<<<<<<<<<<
 * 
 * _dict_CUeglFrameType = dict(((int(v), v) for k, v in CUeglFrameType.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_FRAME_TYPE_PITCH); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_EGL_FRAME_TYPE_PITCH, __pyx_t_17) < (0)) __PYX_ERR(0, 4232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4223
 * _dict_CUoutput_mode = dict(((int(v), v) for k, v in CUoutput_mode.__members__.items()))
 * 
 * class CUeglFrameType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EglFrame type - array or pointer
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUeglFrameType, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUeglFrameType, __pyx_t_17) < (0)) __PYX_ERR(0, 4223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4234
 *     CU_EGL_FRAME_TYPE_PITCH = cydriver.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_PITCH
 * 
 * _dict_CUeglFrameType = dict(((int(v), v) for k, v in CUeglFrameType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglResourceLocationFlags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUeglFrameType); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1269genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUeglFrameType, __pyx_t_3) < (0)) __PYX_ERR(0, 4234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4236
 * _dict_CUeglFrameType = dict(((int(v), v) for k, v in CUeglFrameType.__members__.items()))
 * 
 * class CUeglResourceLocationFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource location flags- sysmem or vidmem  For CUDA context on
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUeglResourceLocationFlags, __pyx_mstate_global->__pyx_n_u_CUeglResourceLocationFlags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Resource_location_flags_sysmem); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 4236, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4252
 * 
 *     #: Resource location sysmem
 *     CU_EGL_RESOURCE_LOCATION_SYSMEM = cydriver.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_SYSMEM             # <<<<<<<<<<<<<<
 * 
 *     #: Resource location vidmem
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_RESOURCE_LOCATION_SYSMEM); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_EGL_RESOURCE_LOCATION_SYSMEM, __pyx_t_16) < (0)) __PYX_ERR(0, 4252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4255
 * 
 *     #: Resource location vidmem
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = cydriver.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_VIDMEM             # <<<<<<<<<<<<<<
 * 
 * _dict_CUeglResourceLocationFlags = dict(((int(v), v) for k, v in CUeglResourceLocationFlags.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_RESOURCE_LOCATION_VIDMEM); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_EGL_RESOURCE_LOCATION_VIDMEM, __pyx_t_16) < (0)) __PYX_ERR(0, 4255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4236
 * _dict_CUeglFrameType = dict(((int(v), v) for k, v in CUeglFrameType.__members__.items()))
 * 
 * class CUeglResourceLocationFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource location flags- sysmem or vidmem  For CUDA context on
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUeglResourceLocationFlags, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUeglResourceLocationFlags, __pyx_t_16) < (0)) __PYX_ERR(0, 4236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4257
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = cydriver.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_VIDMEM
 * 
 * _dict_CUeglResourceLocationFlags = dict(((int(v), v) for k, v in CUeglResourceLocationFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUeglColorFormat(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUeglResourceLocationFlags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1272genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUeglResourceLocationFlags, __pyx_t_18) < (0)) __PYX_ERR(0, 4257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4259
 * _dict_CUeglResourceLocationFlags = dict(((int(v), v) for k, v in CUeglResourceLocationFlags.__members__.items()))
 * 
 * class CUeglColorFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGL Color Format - The different planar and multiplanar
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUeglColorFormat, __pyx_mstate_global->__pyx_n_u_CUeglColorFormat, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_EGL_Color_Format_The_diffe); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 4259, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4269
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width =
 *     #: 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_PLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA, __pyx_t_3) < (0)) __PYX_ERR(0, 4269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4273
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 *     #: width, height ratio same as YUV420Planar.
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP, __pyx_t_3) < (0)) __PYX_ERR(0, 4273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4277
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV422_PLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV422_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces with VU byte ordering, width, height ratio
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV422_PLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_PLANA, __pyx_t_3) < (0)) __PYX_ERR(0, 4277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4281
 *     #: Y, UV in two surfaces with VU byte ordering, width, height ratio
 *     #: same as YUV422Planar.
 *     CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B three channels in one surface with BGR byte ordering. Only
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_SEMIP, __pyx_t_3) < (0)) __PYX_ERR(0, 4281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4285
 *     #: R/G/B three channels in one surface with BGR byte ordering. Only
 *     #: pitch linear format supported.
 *     CU_EGL_COLOR_FORMAT_RGB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_RGB             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B three channels in one surface with RGB byte ordering. Only
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_RGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_RGB, __pyx_t_3) < (0)) __PYX_ERR(0, 4285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4289
 *     #: R/G/B three channels in one surface with RGB byte ordering. Only
 *     #: pitch linear format supported.
 *     CU_EGL_COLOR_FORMAT_BGR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BGR             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with BGRA byte ordering.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BGR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BGR, __pyx_t_3) < (0)) __PYX_ERR(0, 4289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4292
 * 
 *     #: R/G/B/A four channels in one surface with BGRA byte ordering.
 *     CU_EGL_COLOR_FORMAT_ARGB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_ARGB             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with ABGR byte ordering.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_ARGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_ARGB, __pyx_t_3) < (0)) __PYX_ERR(0, 4292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4295
 * 
 *     #: R/G/B/A four channels in one surface with ABGR byte ordering.
 *     CU_EGL_COLOR_FORMAT_RGBA = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_RGBA             # <<<<<<<<<<<<<<
 * 
 *     #: single luminance channel in one surface.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_RGBA); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_RGBA, __pyx_t_3) < (0)) __PYX_ERR(0, 4295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4298
 * 
 *     #: single luminance channel in one surface.
 *     CU_EGL_COLOR_FORMAT_L = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_L             # <<<<<<<<<<<<<<
 * 
 *     #: single color channel in one surface.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_L); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_L, __pyx_t_3) < (0)) __PYX_ERR(0, 4298, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4301
 * 
 *     #: single color channel in one surface.
 *     CU_EGL_COLOR_FORMAT_R = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_R             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width = Y
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_R); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_R, __pyx_t_3) < (0)) __PYX_ERR(0, 4301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4305
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width = Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV444_PLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV444_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV444_PLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_PLANA, __pyx_t_3) < (0)) __PYX_ERR(0, 4305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4309
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 *     #: width, height ratio same as YUV444Planar.
 *     CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_SEMIP, __pyx_t_3) < (0)) __PYX_ERR(0, 4309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4312
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
 *     CU_EGL_COLOR_FORMAT_YUYV_422 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUYV_422             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as YUYV in one channel.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUYV_422); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUYV_422, __pyx_t_3) < (0)) __PYX_ERR(0, 4312, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4315
 * 
 *     #: Y, U, V in one surface, interleaved as YUYV in one channel.
 *     CU_EGL_COLOR_FORMAT_UYVY_422 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_UYVY_422             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with RGBA byte ordering.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_422); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_422, __pyx_t_3) < (0)) __PYX_ERR(0, 4315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4318
 * 
 *     #: R/G/B/A four channels in one surface with RGBA byte ordering.
 *     CU_EGL_COLOR_FORMAT_ABGR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_ABGR             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with ARGB byte ordering.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_ABGR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_ABGR, __pyx_t_3) < (0)) __PYX_ERR(0, 4318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4321
 * 
 *     #: R/G/B/A four channels in one surface with ARGB byte ordering.
 *     CU_EGL_COLOR_FORMAT_BGRA = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BGRA             # <<<<<<<<<<<<<<
 * 
 *     #: Alpha color format - one channel in one surface.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BGRA); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BGRA, __pyx_t_3) < (0)) __PYX_ERR(0, 4321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4324
 * 
 *     #: Alpha color format - one channel in one surface.
 *     CU_EGL_COLOR_FORMAT_A = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_A             # <<<<<<<<<<<<<<
 * 
 *     #: R/G color format - two channels in one surface with GR byte ordering
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_A); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_A, __pyx_t_3) < (0)) __PYX_ERR(0, 4324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4327
 * 
 *     #: R/G color format - two channels in one surface with GR byte ordering
 *     CU_EGL_COLOR_FORMAT_RG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_RG             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as VUYA.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_RG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_RG, __pyx_t_3) < (0)) __PYX_ERR(0, 4327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4330
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as VUYA.
 *     CU_EGL_COLOR_FORMAT_AYUV = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_AYUV             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_AYUV); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_AYUV, __pyx_t_3) < (0)) __PYX_ERR(0, 4330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4334
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_SEMIP, __pyx_t_3) < (0)) __PYX_ERR(0, 4334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4338
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 *     #: width = 1/2 Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_SEMIP, __pyx_t_3) < (0)) __PYX_ERR(0, 4338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4342
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP, __pyx_t_3) < (0)) __PYX_ERR(0, 4342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4346
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44, __pyx_t_3) < (0)) __PYX_ERR(0, 4346, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4350
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42, __pyx_t_3) < (0)) __PYX_ERR(0, 4350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4354
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44, __pyx_t_3) < (0)) __PYX_ERR(0, 4354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4358
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as YVYU in one
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42, __pyx_t_3) < (0)) __PYX_ERR(0, 4358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4362
 *     #: Extended Range Y, U, V in one surface, interleaved as YVYU in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_VYUY_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_VYUY_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as YUYV in one
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_VYUY_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_VYUY_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4366
 *     #: Extended Range Y, U, V in one surface, interleaved as YUYV in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_UYVY_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_UYVY_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as UYVY in one
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4370
 *     #: Extended Range Y, U, V in one surface, interleaved as UYVY in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_YUYV_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUYV_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as VYUY in one
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUYV_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUYV_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4374
 *     #: Extended Range Y, U, V in one surface, interleaved as VYUY in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_YVYU_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVYU_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V three channels in one surface, interleaved as
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVYU_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVYU_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4378
 *     #: Extended Range Y, U, V three channels in one surface, interleaved as
 *     #: VUY. Only pitch linear format supported.
 *     CU_EGL_COLOR_FORMAT_YUV_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4382
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 *     #: as AVUY.
 *     CU_EGL_COLOR_FORMAT_YUVA_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUVA_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUVA_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUVA_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4386
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 *     #: as VUYA.
 *     CU_EGL_COLOR_FORMAT_AYUV_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_AYUV_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in three surfaces, U/V width = Y width, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_AYUV_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_AYUV_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4390
 *     #: Extended Range Y, U, V in three surfaces, U/V width = Y width, U/V
 *     #: height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4394
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4398
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4402
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 *     #: byte ordering, U/V width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4406
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 *     #: byte ordering, U/V width = 1/2 Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4410
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 *     #: byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, V, U in three surfaces, U/V width = Y width, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4414
 *     #: Extended Range Y, V, U in three surfaces, U/V width = Y width, U/V
 *     #: height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_PLANA, __pyx_t_3) < (0)) __PYX_ERR(0, 4414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4418
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_PLANA, __pyx_t_3) < (0)) __PYX_ERR(0, 4418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4422
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA, __pyx_t_3) < (0)) __PYX_ERR(0, 4422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4426
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 *     #: byte ordering, U/V width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4430
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 *     #: byte ordering, U/V width = 1/2 Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4434
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 *     #: byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved RGGB
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4438
 *     #: Bayer format - one channel in one surface with interleaved RGGB
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_RGGB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved BGGR
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_RGGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_RGGB, __pyx_t_3) < (0)) __PYX_ERR(0, 4438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4442
 *     #: Bayer format - one channel in one surface with interleaved BGGR
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_BGGR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved GRBG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_BGGR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_BGGR, __pyx_t_3) < (0)) __PYX_ERR(0, 4442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4446
 *     #: Bayer format - one channel in one surface with interleaved GRBG
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_GRBG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved GBRG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_GRBG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_GRBG, __pyx_t_3) < (0)) __PYX_ERR(0, 4446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4450
 *     #: Bayer format - one channel in one surface with interleaved GBRG
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_GBRG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved RGGB
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_GBRG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_GBRG, __pyx_t_3) < (0)) __PYX_ERR(0, 4450, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4454
 *     #: Bayer10 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_RGGB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved BGGR
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_RGGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_RGGB, __pyx_t_3) < (0)) __PYX_ERR(0, 4454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4458
 *     #: Bayer10 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_BGGR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved GRBG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_BGGR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_BGGR, __pyx_t_3) < (0)) __PYX_ERR(0, 4458, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4462
 *     #: Bayer10 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_GRBG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved GBRG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_GRBG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_GRBG, __pyx_t_3) < (0)) __PYX_ERR(0, 4462, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4466
 *     #: Bayer10 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_GBRG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved RGGB
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_GBRG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_GBRG, __pyx_t_3) < (0)) __PYX_ERR(0, 4466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4470
 *     #: Bayer12 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_RGGB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved BGGR
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_RGGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_RGGB, __pyx_t_3) < (0)) __PYX_ERR(0, 4470, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4474
 *     #: Bayer12 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_BGGR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved GRBG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_BGGR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_BGGR, __pyx_t_3) < (0)) __PYX_ERR(0, 4474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4478
 *     #: Bayer12 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_GRBG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved GBRG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_GRBG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_GRBG, __pyx_t_3) < (0)) __PYX_ERR(0, 4478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4482
 *     #: Bayer12 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_GBRG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved RGGB
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_GBRG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_GBRG, __pyx_t_3) < (0)) __PYX_ERR(0, 4482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4486
 *     #: Bayer14 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER14_RGGB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER14_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved BGGR
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER14_RGGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_RGGB, __pyx_t_3) < (0)) __PYX_ERR(0, 4486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4490
 *     #: Bayer14 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER14_BGGR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER14_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved GRBG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER14_BGGR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_BGGR, __pyx_t_3) < (0)) __PYX_ERR(0, 4490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4494
 *     #: Bayer14 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER14_GRBG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER14_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved GBRG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER14_GRBG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_GRBG, __pyx_t_3) < (0)) __PYX_ERR(0, 4494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4498
 *     #: Bayer14 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER14_GBRG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER14_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved RGGB
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER14_GBRG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_GBRG, __pyx_t_3) < (0)) __PYX_ERR(0, 4498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4502
 *     #: Bayer20 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER20_RGGB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER20_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved BGGR
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER20_RGGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_RGGB, __pyx_t_3) < (0)) __PYX_ERR(0, 4502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4506
 *     #: Bayer20 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER20_BGGR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER20_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved GRBG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER20_BGGR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_BGGR, __pyx_t_3) < (0)) __PYX_ERR(0, 4506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4510
 *     #: Bayer20 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER20_GRBG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER20_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved GBRG
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER20_GRBG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_GRBG, __pyx_t_3) < (0)) __PYX_ERR(0, 4510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4514
 *     #: Bayer20 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER20_GBRG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER20_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width = Y
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER20_GBRG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_GBRG, __pyx_t_3) < (0)) __PYX_ERR(0, 4514, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4518
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width = Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU444_PLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU444_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU444_PLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4518, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4522
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 *     #: 1/2 Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU422_PLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU422_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU422_PLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4526
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 *     #: 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_PLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_PLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4531
 *     #: with interleaved RGGB ordering and mapped to opaque integer
 *     #: datatype.
 *     CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG, __pyx_t_3) < (0)) __PYX_ERR(0, 4531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4536
 *     #: with interleaved BGGR ordering and mapped to opaque integer
 *     #: datatype.
 *     CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG, __pyx_t_3) < (0)) __PYX_ERR(0, 4536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4541
 *     #: with interleaved GRBG ordering and mapped to opaque integer
 *     #: datatype.
 *     CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR, __pyx_t_3) < (0)) __PYX_ERR(0, 4541, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4546
 *     #: with interleaved GBRG ordering and mapped to opaque integer
 *     #: datatype.
 *     CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved BCCR
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB, __pyx_t_3) < (0)) __PYX_ERR(0, 4546, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4550
 *     #: Bayer format - one channel in one surface with interleaved BCCR
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_BCCR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_BCCR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved RCCB
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_BCCR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_BCCR, __pyx_t_3) < (0)) __PYX_ERR(0, 4550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4554
 *     #: Bayer format - one channel in one surface with interleaved RCCB
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_RCCB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_RCCB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved CRBC
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_RCCB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_RCCB, __pyx_t_3) < (0)) __PYX_ERR(0, 4554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4558
 *     #: Bayer format - one channel in one surface with interleaved CRBC
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_CRBC = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_CRBC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved CBRC
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_CRBC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_CRBC, __pyx_t_3) < (0)) __PYX_ERR(0, 4558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4562
 *     #: Bayer format - one channel in one surface with interleaved CBRC
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_CBRC = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_CBRC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved CCCC
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER_CBRC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_CBRC, __pyx_t_3) < (0)) __PYX_ERR(0, 4562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4566
 *     #: Bayer10 format - one channel in one surface with interleaved CCCC
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_CCCC = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_CCCC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved BCCR
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER10_CCCC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_CCCC, __pyx_t_3) < (0)) __PYX_ERR(0, 4566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4570
 *     #: Bayer12 format - one channel in one surface with interleaved BCCR
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_BCCR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_BCCR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved RCCB
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_BCCR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_BCCR, __pyx_t_3) < (0)) __PYX_ERR(0, 4570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4574
 *     #: Bayer12 format - one channel in one surface with interleaved RCCB
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_RCCB = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_RCCB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CRBC
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_RCCB); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_RCCB, __pyx_t_3) < (0)) __PYX_ERR(0, 4574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4578
 *     #: Bayer12 format - one channel in one surface with interleaved CRBC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_CRBC = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_CRBC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CBRC
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_CRBC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CRBC, __pyx_t_3) < (0)) __PYX_ERR(0, 4578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4582
 *     #: Bayer12 format - one channel in one surface with interleaved CBRC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_CBRC = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_CBRC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CCCC
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_CBRC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CBRC, __pyx_t_3) < (0)) __PYX_ERR(0, 4582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4586
 *     #: Bayer12 format - one channel in one surface with interleaved CCCC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_CCCC = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_CCCC             # <<<<<<<<<<<<<<
 * 
 *     #: Color format for single Y plane.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_BAYER12_CCCC); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CCCC, __pyx_t_3) < (0)) __PYX_ERR(0, 4586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4589
 * 
 *     #: Color format for single Y plane.
 *     CU_EGL_COLOR_FORMAT_Y = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y, __pyx_t_3) < (0)) __PYX_ERR(0, 4589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4593
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3, __pyx_t_3) < (0)) __PYX_ERR(0, 4593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4597
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3, __pyx_t_3) < (0)) __PYX_ERR(0, 4597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4601
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height= 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3, __pyx_t_3) < (0)) __PYX_ERR(0, 4601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4605
 *     #: Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3, __pyx_t_3) < (0)) __PYX_ERR(0, 4605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4609
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4, __pyx_t_3) < (0)) __PYX_ERR(0, 4609, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4613
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4, __pyx_t_3) < (0)) __PYX_ERR(0, 4613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4617
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4, __pyx_t_3) < (0)) __PYX_ERR(0, 4617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4621
 *     #: Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4, __pyx_t_3) < (0)) __PYX_ERR(0, 4621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4625
 *     #: Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y
 *     #: width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4629
 *     #: Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y
 *     #: width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3, __pyx_t_3) < (0)) __PYX_ERR(0, 4629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4633
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4, __pyx_t_3) < (0)) __PYX_ERR(0, 4633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4637
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5, __pyx_t_3) < (0)) __PYX_ERR(0, 4637, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4641
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y plane.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6, __pyx_t_3) < (0)) __PYX_ERR(0, 4641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4644
 * 
 *     #: Extended Range Color format for single Y plane.
 *     CU_EGL_COLOR_FORMAT_Y_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y plane.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4647
 * 
 *     #: Extended Range Color format for single Y plane.
 *     CU_EGL_COLOR_FORMAT_Y_709_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y10 plane.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y_709_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y_709_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4650
 * 
 *     #: Extended Range Color format for single Y10 plane.
 *     CU_EGL_COLOR_FORMAT_Y10_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y10 plane.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4653
 * 
 *     #: Extended Range Color format for single Y10 plane.
 *     CU_EGL_COLOR_FORMAT_Y10_709_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y12 plane.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10_709_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10_709_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4656
 * 
 *     #: Extended Range Color format for single Y12 plane.
 *     CU_EGL_COLOR_FORMAT_Y12_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y12 plane.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y12_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4659
 * 
 *     #: Extended Range Color format for single Y12 plane.
 *     CU_EGL_COLOR_FORMAT_Y12_709_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as AVUY.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12_709_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y12_709_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4662
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as AVUY.
 *     CU_EGL_COLOR_FORMAT_YUVA = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUVA             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V three channels in one surface, interleaved as VUY. Only
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUVA); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUVA, __pyx_t_3) < (0)) __PYX_ERR(0, 4662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4666
 *     #: Y, U, V three channels in one surface, interleaved as VUY. Only
 *     #: pitch linear format supported.
 *     CU_EGL_COLOR_FORMAT_YUV = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as YVYU in one channel.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YUV); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YUV, __pyx_t_3) < (0)) __PYX_ERR(0, 4666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4669
 * 
 *     #: Y, U, V in one surface, interleaved as YVYU in one channel.
 *     CU_EGL_COLOR_FORMAT_YVYU = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVYU             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as VYUY in one channel.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_YVYU); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_YVYU, __pyx_t_3) < (0)) __PYX_ERR(0, 4669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4672
 * 
 *     #: Y, U, V in one surface, interleaved as VYUY in one channel.
 *     CU_EGL_COLOR_FORMAT_VYUY = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_VYUY             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_VYUY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_VYUY, __pyx_t_3) < (0)) __PYX_ERR(0, 4672, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4676
 *     #: Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7, __pyx_t_3) < (0)) __PYX_ERR(0, 4676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4680
 *     #: Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8, __pyx_t_3) < (0)) __PYX_ERR(0, 4680, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4684
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4684, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4688
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3, __pyx_t_3) < (0)) __PYX_ERR(0, 4688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4692
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4692, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4696
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3, __pyx_t_3) < (0)) __PYX_ERR(0, 4696, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4700
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2, __pyx_t_3) < (0)) __PYX_ERR(0, 4700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4704
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3, __pyx_t_3) < (0)) __PYX_ERR(0, 4704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4707
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
 *     CU_EGL_COLOR_FORMAT_UYVY_709 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_UYVY_709             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as UYVY in one
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_709); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_709, __pyx_t_3) < (0)) __PYX_ERR(0, 4707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4711
 *     #: Extended Range Y, U, V in one surface, interleaved as UYVY in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_UYVY_709_ER = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_UYVY_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_709_ER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_709_ER, __pyx_t_3) < (0)) __PYX_ERR(0, 4711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4714
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
 *     CU_EGL_COLOR_FORMAT_UYVY_2020 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_UYVY_2020             # <<<<<<<<<<<<<<
 *     CU_EGL_COLOR_FORMAT_MAX = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_UYVY_2020); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_2020, __pyx_t_3) < (0)) __PYX_ERR(0, 4714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4715
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
 *     CU_EGL_COLOR_FORMAT_UYVY_2020 = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_UYVY_2020
 *     CU_EGL_COLOR_FORMAT_MAX = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX             # <<<<<<<<<<<<<<
 * 
 * _dict_CUeglColorFormat = dict(((int(v), v) for k, v in CUeglColorFormat.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_EGL_COLOR_FORMAT_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_EGL_COLOR_FORMAT_MAX, __pyx_t_3) < (0)) __PYX_ERR(0, 4715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4259
 * _dict_CUeglResourceLocationFlags = dict(((int(v), v) for k, v in CUeglResourceLocationFlags.__members__.items()))
 * 
 * class CUeglColorFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGL Color Format - The different planar and multiplanar
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUeglColorFormat, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUeglColorFormat, __pyx_t_3) < (0)) __PYX_ERR(0, 4259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4717
 *     CU_EGL_COLOR_FORMAT_MAX = cydriver.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX
 * 
 * _dict_CUeglColorFormat = dict(((int(v), v) for k, v in CUeglColorFormat.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGLDeviceList(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUeglColorFormat); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1275genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUeglColorFormat, __pyx_t_17) < (0)) __PYX_ERR(0, 4717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4719
 * _dict_CUeglColorFormat = dict(((int(v), v) for k, v in CUeglColorFormat.__members__.items()))
 * 
 * class CUGLDeviceList(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA devices corresponding to an OpenGL device
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PEP560_update_bases(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUGLDeviceList, __pyx_mstate_global->__pyx_n_u_CUGLDeviceList, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_CUDA_devices_corresponding_to_a); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_17 != __pyx_t_18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_18) < 0))) __PYX_ERR(0, 4719, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4725
 * 
 *     #: The CUDA devices for all GPUs used by the current OpenGL context
 *     CU_GL_DEVICE_LIST_ALL = cydriver.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_ALL             # <<<<<<<<<<<<<<
 * 
 *     #: The CUDA devices for the GPUs used by the current OpenGL context in
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GL_DEVICE_LIST_ALL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GL_DEVICE_LIST_ALL, __pyx_t_18) < (0)) __PYX_ERR(0, 4725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4729
 *     #: The CUDA devices for the GPUs used by the current OpenGL context in
 *     #: its currently rendering frame
 *     CU_GL_DEVICE_LIST_CURRENT_FRAME = cydriver.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_CURRENT_FRAME             # <<<<<<<<<<<<<<
 * 
 *     #: The CUDA devices for the GPUs to be used by the current OpenGL
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GL_DEVICE_LIST_CURRENT_FRAME); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GL_DEVICE_LIST_CURRENT_FRAME, __pyx_t_18) < (0)) __PYX_ERR(0, 4729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4733
 *     #: The CUDA devices for the GPUs to be used by the current OpenGL
 *     #: context in the next frame
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = cydriver.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_NEXT_FRAME             # <<<<<<<<<<<<<<
 * 
 * _dict_CUGLDeviceList = dict(((int(v), v) for k, v in CUGLDeviceList.__members__.items()))
*/
  __pyx_t_18 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GL_DEVICE_LIST_NEXT_FRAME); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CU_GL_DEVICE_LIST_NEXT_FRAME, __pyx_t_18) < (0)) __PYX_ERR(0, 4733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":4719
 * _dict_CUeglColorFormat = dict(((int(v), v) for k, v in CUeglColorFormat.__members__.items()))
 * 
 * class CUGLDeviceList(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA devices corresponding to an OpenGL device
*/
  __pyx_t_18 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUGLDeviceList, __pyx_t_17, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUGLDeviceList, __pyx_t_18) < (0)) __PYX_ERR(0, 4719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4735
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = cydriver.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_NEXT_FRAME
 * 
 * _dict_CUGLDeviceList = dict(((int(v), v) for k, v in CUGLDeviceList.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUGLmap_flags(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUGLDeviceList); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __pyx_pf_4cuda_8bindings_6driver_1278genexpr(NULL, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_Generator_GetInlinedResult(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUGLDeviceList, __pyx_t_16) < (0)) __PYX_ERR(0, 4735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4737
 * _dict_CUGLDeviceList = dict(((int(v), v) for k, v in CUGLDeviceList.__members__.items()))
 * 
 * class CUGLmap_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to map or unmap a resource
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = PyTuple_Pack(1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUGLmap_flags, __pyx_mstate_global->__pyx_n_u_CUGLmap_flags, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Flags_to_map_or_unmap_a_resourc); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (__pyx_t_16 != __pyx_t_17) {
    if (unlikely((PyDict_SetItemString(__pyx_t_18, "__orig_bases__", __pyx_t_17) < 0))) __PYX_ERR(0, 4737, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4741
 *     Flags to map or unmap a resource
 *     """
 *     CU_GL_MAP_RESOURCE_FLAGS_NONE = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_NONE             # <<<<<<<<<<<<<<
 *     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GL_MAP_RESOURCE_FLAGS_NONE); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_NONE, __pyx_t_17) < (0)) __PYX_ERR(0, 4741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4742
 *     """
 *     CU_GL_MAP_RESOURCE_FLAGS_NONE = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_NONE
 *     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY             # <<<<<<<<<<<<<<
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_READ_ON, __pyx_t_17) < (0)) __PYX_ERR(0, 4742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4743
 *     CU_GL_MAP_RESOURCE_FLAGS_NONE = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_NONE
 *     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD             # <<<<<<<<<<<<<<
 * 
 * _dict_CUGLmap_flags = dict(((int(v), v) for k, v in CUGLmap_flags.__members__.items()))
*/
  __pyx_t_17 = __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum(__pyx_e_4cuda_8bindings_8cydriver_CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetNameInClass(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D, __pyx_t_17) < (0)) __PYX_ERR(0, 4743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":4737
 * _dict_CUGLDeviceList = dict(((int(v), v) for k, v in CUGLDeviceList.__members__.items()))
 * 
 * class CUGLmap_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to map or unmap a resource
*/
  __pyx_t_17 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUGLmap_flags, __pyx_t_16, __pyx_t_18, NULL, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUGLmap_flags, __pyx_t_17) < (0)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4745
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = cydriver.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 * _dict_CUGLmap_flags = dict(((int(v), v) for k, v in CUGLmap_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdeviceptr:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CUGLmap_flags); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __pyx_pf_4cuda_8bindings_6driver_1281genexpr(NULL, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_Generator_GetInlinedResult(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUGLmap_flags, __pyx_t_3) < (0)) __PYX_ERR(0, 4745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4771
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUdeviceptr_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdeviceptr_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[248])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_3) < (0)) __PYX_ERR(0, 4771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUdeviceptr_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdeviceptr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[249])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUdeviceptr_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdeviceptr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[250])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4798
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUdevice_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevice_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[251])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_3) < (0)) __PYX_ERR(0, 4798, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUdevice_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevice___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[252])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUdevice_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevice___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[253])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4825
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUtexObject_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexObject_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[254])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_3) < (0)) __PYX_ERR(0, 4825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUtexObject_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexObject___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[255])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUtexObject_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexObject___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[256])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4852
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUsurfObject_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfObject_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[257])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_3) < (0)) __PYX_ERR(0, 4852, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUsurfObject_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfObject___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[258])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUsurfObject_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfObject___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[259])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4877
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUgraphConditionalHandle_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalHandle_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[260])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_3) < (0)) __PYX_ERR(0, 4877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUgraphConditionalHandle_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalHandle___reduc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[261])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUgraphConditionalHandle_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphConditionalHandle___setst, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[262])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_3) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":4880
 *         return <void_ptr>self._pvt_ptr
 * 
 * class CUkernelNodeAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_Py3MetaclassPrepare(__pyx_t_18, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUkernelNodeAttrID, __pyx_mstate_global->__pyx_n_u_CUkernelNodeAttrID, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Launch_attributes_enum_used_as); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__pyx_t_3 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_17, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 4880, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4887
 * 
 *     #: Ignored entry, for convenient composition
 *     CU_LAUNCH_ATTRIBUTE_IGNORE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_IGNORE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_IGNORE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_IGNORE, __pyx_t_16) < (0)) __PYX_ERR(0, 4887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4891
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.accessPolicyWindow`.
 *     CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, __pyx_t_16) < (0)) __PYX_ERR(0, 4891, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4895
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.cooperative`.
 *     CU_LAUNCH_ATTRIBUTE_COOPERATIVE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_COOPERATIVE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_COOPERATIVE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, __pyx_t_16) < (0)) __PYX_ERR(0, 4895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4899
 *     #: Valid for streams. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.syncPolicy`.
 *     CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, __pyx_t_16) < (0)) __PYX_ERR(0, 4899, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4903
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterDim`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, __pyx_t_16) < (0)) __PYX_ERR(0, 4903, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4907
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterSchedulingPolicyPreference`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Setting
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, __pyx_t_16) < (0)) __PYX_ERR(0, 4907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4918
 *     #: the programmatic sync (cudaGridDependencySynchronize() or equivalent
 *     #: PTX instructions).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, __pyx_t_16) < (0)) __PYX_ERR(0, 4918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4941
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, __pyx_t_16) < (0)) __PYX_ERR(0, 4941, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4945
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.priority`.
 *     CU_LAUNCH_ATTRIBUTE_PRIORITY = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PRIORITY, __pyx_t_16) < (0)) __PYX_ERR(0, 4945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4949
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomainMap`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_16) < (0)) __PYX_ERR(0, 4949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4953
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomain`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. Set
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_t_16) < (0)) __PYX_ERR(0, 4953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4987
 *     #: value physically unable to fit on any particular device is
 *     #: permitted.
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL, __pyx_t_16) < (0)) __PYX_ERR(0, 4987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":5007
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. This attribute is graphs-only, and
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, __pyx_t_16) < (0)) __PYX_ERR(0, 5007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":5040
 *     #: updatable nodes, the graph must be uploaded before it is launched
 *     #: again.
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. On devices where the L1 cache and shared memory
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, __pyx_t_16) < (0)) __PYX_ERR(0, 5040, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":5051
 *     #: is only a hint, and the CUDA driver can choose a different
 *     #: configuration if required for the launch.
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT             # <<<<<<<<<<<<<<
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))
*/
  __pyx_t_16 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__Pyx_SetNameInClass(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH, __pyx_t_16) < (0)) __PYX_ERR(0, 5051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "cuda/bindings/driver.pyx":4880
 *         return <void_ptr>self._pvt_ptr
 * 
 * class CUkernelNodeAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
*/
  __pyx_t_16 = __Pyx_Py3ClassCreate(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUkernelNodeAttrID, __pyx_t_3, __pyx_t_17, NULL, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUkernelNodeAttrID, __pyx_t_16) < (0)) __PYX_ERR(0, 4880, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5053
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamAttrID(IntEnum):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_1284genexpr(NULL, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUlaunchAttributeID, __pyx_t_18) < (0)) __PYX_ERR(0, 5053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":5055
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))
 * 
 * class CUstreamAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_IntEnum); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_3 = PyTuple_Pack(1, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_CalculateMetaclass(NULL, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_16 = __Pyx_Py3MetaclassPrepare(__pyx_t_17, __pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUstreamAttrID, __pyx_mstate_global->__pyx_n_u_CUstreamAttrID, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_kp_u_Launch_attributes_enum_used_as); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (__pyx_t_18 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_16, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 5055, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5062
 * 
 *     #: Ignored entry, for convenient composition
 *     CU_LAUNCH_ATTRIBUTE_IGNORE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_IGNORE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_IGNORE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_IGNORE, __pyx_t_3) < (0)) __PYX_ERR(0, 5062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5066
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.accessPolicyWindow`.
 *     CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, __pyx_t_3) < (0)) __PYX_ERR(0, 5066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5070
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.cooperative`.
 *     CU_LAUNCH_ATTRIBUTE_COOPERATIVE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_COOPERATIVE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams. See
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_COOPERATIVE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, __pyx_t_3) < (0)) __PYX_ERR(0, 5070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5074
 *     #: Valid for streams. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.syncPolicy`.
 *     CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, __pyx_t_3) < (0)) __PYX_ERR(0, 5074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5078
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterDim`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, __pyx_t_3) < (0)) __PYX_ERR(0, 5078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5082
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterSchedulingPolicyPreference`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Setting
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, __pyx_t_3) < (0)) __PYX_ERR(0, 5082, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5093
 *     #: the programmatic sync (cudaGridDependencySynchronize() or equivalent
 *     #: PTX instructions).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, __pyx_t_3) < (0)) __PYX_ERR(0, 5093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5116
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, __pyx_t_3) < (0)) __PYX_ERR(0, 5116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5120
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.priority`.
 *     CU_LAUNCH_ATTRIBUTE_PRIORITY = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PRIORITY, __pyx_t_3) < (0)) __PYX_ERR(0, 5120, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5124
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomainMap`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_3) < (0)) __PYX_ERR(0, 5124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5128
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomain`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. Set
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_t_3) < (0)) __PYX_ERR(0, 5128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5162
 *     #: value physically unable to fit on any particular device is
 *     #: permitted.
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL, __pyx_t_3) < (0)) __PYX_ERR(0, 5162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5182
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. This attribute is graphs-only, and
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, __pyx_t_3) < (0)) __PYX_ERR(0, 5182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5215
 *     #: updatable nodes, the graph must be uploaded before it is launched
 *     #: again.
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. On devices where the L1 cache and shared memory
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, __pyx_t_3) < (0)) __PYX_ERR(0, 5215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5226
 *     #: is only a hint, and the CUDA driver can choose a different
 *     #: configuration if required for the launch.
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT             # <<<<<<<<<<<<<<
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))
*/
  __pyx_t_3 = __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH, __pyx_t_3) < (0)) __PYX_ERR(0, 5226, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":5055
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))
 * 
 * class CUstreamAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
*/
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_CUstreamAttrID, __pyx_t_18, __pyx_t_16, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CUstreamAttrID, __pyx_t_3) < (0)) __PYX_ERR(0, 5055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":5228
 *     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemGenericAllocationHandle:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeID); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_members); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __pyx_pf_4cuda_8bindings_6driver_1287genexpr(NULL, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_Generator_GetInlinedResult(__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dict_CUlaunchAttributeID, __pyx_t_17) < (0)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5252
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemGenericAllocationHandle_get, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[263])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemGenericAllocationHandle___r, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[264])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUmemGenericAllocationHandle_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemGenericAllocationHandle___s, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[265])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5286
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUcontext_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcontext_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[266])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUcontext_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcontext___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[267])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUcontext_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcontext___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[268])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5320
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUmodule_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmodule_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[269])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUmodule_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmodule___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[270])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUmodule_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmodule___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[271])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5354
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10CUfunction_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUfunction_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[272])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10CUfunction_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUfunction___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[273])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10CUfunction_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUfunction___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[274])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5388
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUlibrary_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlibrary_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[275])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUlibrary_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlibrary___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[276])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUlibrary_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlibrary___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[277])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5422
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUkernel_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUkernel_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[278])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUkernel_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUkernel___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[279])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUkernel_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUkernel___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[280])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5456
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUarray_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUarray_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[281])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUarray_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUarray___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[282])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUarray_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUarray___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[283])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5490
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUmipmappedArray_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmipmappedArray_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[284])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUmipmappedArray_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmipmappedArray___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[285])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUmipmappedArray_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmipmappedArray___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[286])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5524
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUtexref_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexref_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[287])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUtexref_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexref___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[288])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUtexref_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexref___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[289])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5558
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUsurfref_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfref_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[290])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUsurfref_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfref___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[291])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUsurfref_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfref___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[292])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5592
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUevent_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUevent_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[293])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUevent_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUevent___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[294])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUevent_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUevent___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[295])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5626
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUstream_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstream_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[296])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUstream_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstream___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[297])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUstream_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstream___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[298])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5660
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUgraphicsResource_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphicsResource_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[299])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUgraphicsResource_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphicsResource___reduce_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[300])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUgraphicsResource_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphicsResource___setstate_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[301])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5694
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUexternalMemory_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexternalMemory_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[302])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUexternalMemory_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexternalMemory___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[303])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUexternalMemory_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexternalMemory___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[304])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5728
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19CUexternalSemaphore_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphore_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[305])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19CUexternalSemaphore_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphore___reduce_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[306])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19CUexternalSemaphore_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexternalSemaphore___setstate_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[307])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5762
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUgraph_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraph_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[308])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5762, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUgraph_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraph___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[309])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7CUgraph_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraph___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[310])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5796
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUgraphNode_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphNode_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[311])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUgraphNode_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphNode___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[312])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUgraphNode_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphNode___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[313])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5830
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUgraphExec_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphExec_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[314])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUgraphExec_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphExec___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[315])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUgraphExec_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphExec___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[316])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5864
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUmemoryPool_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemoryPool_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[317])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUmemoryPool_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemoryPool___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[318])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUmemoryPool_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemoryPool___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[319])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5898
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUuserObject_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUuserObject_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[320])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUuserObject_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUuserObject___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[321])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUuserObject_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUuserObject___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[322])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5932
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUgraphDeviceNode_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphDeviceNode_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[323])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUgraphDeviceNode_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphDeviceNode___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[324])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUgraphDeviceNode_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphDeviceNode___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[325])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":5966
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUasyncCallbackHandle_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncCallbackHandle_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[326])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 5966, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUasyncCallbackHandle_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncCallbackHandle___reduce_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[327])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUasyncCallbackHandle_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncCallbackHandle___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[328])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6000
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10CUgreenCtx_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgreenCtx_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[329])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10CUgreenCtx_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgreenCtx___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[330])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10CUgreenCtx_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgreenCtx___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[331])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6032
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUlinkState_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlinkState_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[332])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUlinkState_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlinkState___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[333])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUlinkState_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlinkState___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[334])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6066
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUdevResourceDesc_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevResourceDesc_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[335])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUdevResourceDesc_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevResourceDesc___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[336])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUdevResourceDesc_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevResourceDesc___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[337])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6098
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUlogsCallbackHandle_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogsCallbackHandle_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[338])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUlogsCallbackHandle_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogsCallbackHandle___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[339])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUlogsCallbackHandle_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogsCallbackHandle___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[340])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6132
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUeglStreamConnection_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUeglStreamConnection_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[341])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUeglStreamConnection_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUeglStreamConnection___reduce_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[342])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUeglStreamConnection_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUeglStreamConnection___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[343])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6164
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11EGLImageKHR_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLImageKHR_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[344])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11EGLImageKHR_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLImageKHR___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[345])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11EGLImageKHR_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLImageKHR___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[346])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6196
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12EGLStreamKHR_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLStreamKHR_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[347])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12EGLStreamKHR_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLStreamKHR___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[348])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12EGLStreamKHR_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLStreamKHR___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[349])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6228
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10EGLSyncKHR_15getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLSyncKHR_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[350])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10EGLSyncKHR_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLSyncKHR___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[351])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10EGLSyncKHR_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLSyncKHR___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[352])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6254
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15CUasyncCallback_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncCallback_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[353])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15CUasyncCallback_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncCallback___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[354])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15CUasyncCallback_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncCallback___setstate_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[355])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6280
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUhostFn_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUhostFn_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[356])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUhostFn_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUhostFn___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[357])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_8CUhostFn_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUhostFn___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[358])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6306
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUstreamCallback_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamCallback_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[359])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6306, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUstreamCallback_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamCallback___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[360])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUstreamCallback_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamCallback___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[361])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6332
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUoccupancyB2DSize_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUoccupancyB2DSize_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[362])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUoccupancyB2DSize_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUoccupancyB2DSize___reduce_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[363])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUoccupancyB2DSize_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUoccupancyB2DSize___setstate_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[364])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6358
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUlogsCallback_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogsCallback_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[365])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUlogsCallback_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogsCallback___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[366])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUlogsCallback_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogsCallback___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[367])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6382
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUuuid_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUuuid_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[368])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUuuid_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUuuid_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[369])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9CUuuid_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUuuid_st___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[370])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6424
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUmemFabricHandle_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemFabricHandle_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[371])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUmemFabricHandle_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemFabricHandle_st___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[372])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUmemFabricHandle_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemFabricHandle_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[373])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6469
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19CUipcEventHandle_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUipcEventHandle_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[374])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19CUipcEventHandle_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUipcEventHandle_st___reduce_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[375])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19CUipcEventHandle_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUipcEventHandle_st___setstate_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[376])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6522
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUipcMemHandle_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUipcMemHandle_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[377])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUipcMemHandle_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUipcMemHandle_st___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[378])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUipcMemHandle_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUipcMemHandle_st___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[379])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6585
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].waitValue
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpWaitValueParams_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[380])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpWaitValueParams_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[381])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpWaitValueParams_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[382])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6729
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].writeValue
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpWriteValueParams_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[383])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpWriteValueParams_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[384])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpWriteValueParams_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[385])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6861
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].flushRemoteWrites
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[386])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6861, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[387])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[388])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6913
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].memoryBarrier
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpMemoryBarrierParams_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[389])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpMemoryBarrierParams_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[390])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpMemoryBarrierParams_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[391])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":6981
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpParams_union_g, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[392])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 6981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 6981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpParams_union_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[393])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUstreamBatchMemOpParams_union_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[394])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7083
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[395])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[396])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[397])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7188
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[398])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[399])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[400])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7280
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].info.overBudget
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct0_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct0_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[401])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct0_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct0___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[402])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct0_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct0___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[403])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7319
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].info
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union2_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union2_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[404])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union2, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union2_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union2___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[405])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union2_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union2___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[406])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7367
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationInfo_st_getPt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[407])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationInfo_st___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[408])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUasyncNotificationInfo_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUasyncNotificationInfo_st___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[409])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7439
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUdevprop_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevprop_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[410])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUdevprop_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevprop_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[411])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12CUdevprop_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevprop_st___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[412])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7591
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUaccessPolicyWindow_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[413])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUaccessPolicyWindow_st___reduce, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[414])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_23CUaccessPolicyWindow_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUaccessPolicyWindow_st___setsta, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[415])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7697
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st_getPt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[416])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[417])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[418])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":7866
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_ge, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[419])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 7866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 7866, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[420])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[421])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8073
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_ge, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[422])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[423])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[424])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8264
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st_getPt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[425])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8264, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[426])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[427])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8380
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_ge, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[428])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[429])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[430])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8504
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[431])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_st___reduc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[432])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_st___setst, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[433])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8569
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st_getP, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[434])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st___re, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[435])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st___se, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[436])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8660
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS_get, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[437])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS___r, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[438])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS___s, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[439])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8786
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUgraphEdgeData_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphEdgeData_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[440])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUgraphEdgeData_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphEdgeData_st___reduce_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[441])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUgraphEdgeData_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphEdgeData_st___setstate_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[442])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8870
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[443])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[444])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[445])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":8980
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomainMap_st_getP, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[446])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 8980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 8980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomainMap_st___re, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[447])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchMemSyncDomainMap_st___se, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[448])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9032
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].clusterDim
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct1_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct1_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[449])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct1___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[450])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct1___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[451])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9095
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].programmaticEvent
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct2_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct2_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[452])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct2_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct2___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[453])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct2_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct2___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[454])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9165
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].launchCompletionEvent
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct3_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct3_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[455])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct3_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct3___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[456])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct3_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct3___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[457])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9226
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].preferredClusterDim
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct4_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct4_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[458])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9226, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct4_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct4___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[459])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct4_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct4___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[460])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9287
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct5_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct5_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[461])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct5_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct5___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[462])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct5_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct5___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[463])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9424
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeValue_union_get, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[464])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeValue_union___r, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[465])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchAttributeValue_union___s, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[466])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9626
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUlaunchAttribute_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchAttribute_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[467])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUlaunchAttribute_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchAttribute_st___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[468])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUlaunchAttribute_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchAttribute_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[469])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9701
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUlaunchConfig_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchConfig_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[470])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUlaunchConfig_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchConfig_st___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[471])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUlaunchConfig_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlaunchConfig_st___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[472])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9857
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexecAffinitySmCount_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[473])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexecAffinitySmCount_st___reduc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[474])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUexecAffinitySmCount_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexecAffinitySmCount_st___setst, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[475])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9896
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].param
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union3_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union3_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[476])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union3, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9896, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union3_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union3___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[477])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union3_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union3___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[478])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9943
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22CUexecAffinityParam_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexecAffinityParam_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[479])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22CUexecAffinityParam_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexecAffinityParam_st___reduce, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[480])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22CUexecAffinityParam_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUexecAffinityParam_st___setstat, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[481])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":9999
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUctxCigParam_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUctxCigParam_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[482])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 9999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 9999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUctxCigParam_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUctxCigParam_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[483])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUctxCigParam_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUctxCigParam_st___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[484])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":10063
 *         if self._cigParams is not NULL:
 *             free(self._cigParams)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUctxCreateParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUctxCreateParams_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[485])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 10063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 10063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUctxCreateParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUctxCreateParams_st___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[486])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUctxCreateParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUctxCreateParams_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[487])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":10159
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlibraryHostUniversalFunctionAn_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[488])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 10159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 10159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlibraryHostUniversalFunctionAn_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[489])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlibraryHostUniversalFunctionAn_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[490])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":10267
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY2D_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[491])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 10267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 10267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY2D_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[492])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY2D_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY2D_st___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[493])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":10556
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[494])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 10556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 10556, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[495])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUDA_MEMCPY3D_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_st___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[496])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":10940
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_PEER_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[497])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 10940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 10940, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_PEER_st___reduce_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[498])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_PEER_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[499])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11292
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st_getPt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[500])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[501])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[502])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11379
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[503])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st___reduc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[504])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st___setst, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[505])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11463
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st_getPt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[506])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[507])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[508])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11557
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].tileExtent
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct6_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct6_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[509])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct6_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct6___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[510])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct6_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct6___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[511])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11629
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[512])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[513])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[514])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11715
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[515])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[516])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[517])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11774
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.array
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct7_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct7_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[518])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct7_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct7___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[519])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct7_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct7___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[520])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11822
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.mipmap
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct8_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct8_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[521])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct8_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct8___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[522])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct8_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct8___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[523])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11876
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.linear
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct9_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct9_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[524])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct9_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct9___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[525])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_struct9_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct9___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[526])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":11967
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.pitch2D
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct10_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct10_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[527])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 11967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 11967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct10_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct10___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[528])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct10_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct10___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[529])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12067
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res.reserved
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct11_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct11_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[530])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct11_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct11___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[531])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct11_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct11___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[532])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12118
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].res
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union4_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union4_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[533])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union4, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union4_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union4___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[534])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union4_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union4___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[535])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12207
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_DESC_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[536])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_DESC_st___reduce_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[537])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_RESOURCE_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_DESC_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[538])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12289
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_TEXTURE_DESC_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[539])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_TEXTURE_DESC_st___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[540])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUDA_TEXTURE_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_TEXTURE_DESC_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[541])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12441
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st_getPt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[542])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[543])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[544])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12566
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUtensorMap_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtensorMap_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[545])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUtensorMap_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtensorMap_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[546])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUtensorMap_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtensorMap_st___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[547])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12611
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[548])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[549])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[550])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12683
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_LAUNCH_PARAMS_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[551])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_LAUNCH_PARAMS_st___reduce_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[552])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_LAUNCH_PARAMS_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[553])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12832
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct12_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct12_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[554])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12832, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct12_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct12___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[555])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct12_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct12___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[556])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12887
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union5_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union5_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[557])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union5, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union5_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union5___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[558])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union5_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union5___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[559])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":12961
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[560])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 12961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 12961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[561])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[562])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13051
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[563])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[564])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[565])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13131
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[566])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[567])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[568])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13201
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle.win32
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct13_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct13_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[569])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct13_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct13___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[570])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct13_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct13___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[571])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13256
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].handle
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union6_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union6_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[572])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union6, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13256, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union6_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union6___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[573])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union6_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union6___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[574])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13328
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[575])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[576])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[577])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13398
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct14_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct14_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[578])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct14_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct14___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[579])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct14_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct14___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[580])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13438
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union7_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union7_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[581])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union7, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union7_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union7___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[582])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union7_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union7___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[583])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13487
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct15_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct15_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[584])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct15_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct15___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[585])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct15_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct15___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[586])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13534
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct16_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct16_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[587])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct16_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct16___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[588])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct16_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct16___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[589])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13618
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[590])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[591])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[592])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13676
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.fence
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct17_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct17_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[593])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct17_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct17___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[594])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct17_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct17___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[595])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13716
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.nvSciSync
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union8_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union8_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[596])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union8, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union8_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union8___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[597])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union8_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union8___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[598])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13767
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params.keyedMutex
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct18_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct18_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[599])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct18_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct18___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[600])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct18_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct18___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[601])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13824
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].params
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct19_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct19_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[602])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct19_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct19___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[603])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct19_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct19___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[604])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13908
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[605])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[606])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[607])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":13979
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[608])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 13979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 13979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[609])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[610])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14080
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[611])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[612])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[613])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14181
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[614])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[615])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[616])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14282
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[617])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[618])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[619])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14374
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].resource
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union9_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union9_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[620])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union9, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union9_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union9___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[621])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11anon_union9_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union9___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[622])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14454
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource.sparseLevel
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct20_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct20_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[623])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct20_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct20___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[624])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct20_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct20___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[625])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14566
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource.miptail
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct21_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct21_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[626])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct21_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct21___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[627])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct21_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct21___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[628])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14628
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].subresource
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union10_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union10_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[629])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union10, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union10_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union10___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[630])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union10_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union10___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[631])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14677
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].memHandle
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union11_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union11_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[632])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union11, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union11_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union11___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[633])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union11_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union11___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[634])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14755
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUarrayMapInfo_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUarrayMapInfo_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[635])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14755, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUarrayMapInfo_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUarrayMapInfo_st___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[636])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUarrayMapInfo_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUarrayMapInfo_st___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[637])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14907
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUmemLocation_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemLocation_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[638])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUmemLocation_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemLocation_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[639])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUmemLocation_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemLocation_st___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[640])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":14963
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].allocFlags
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct22_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct22_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[641])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 14963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 14963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct22_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct22___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[642])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct22_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct22___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[643])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15052
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22CUmemAllocationProp_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemAllocationProp_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[644])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15052, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22CUmemAllocationProp_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemAllocationProp_st___reduce, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[645])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_22CUmemAllocationProp_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemAllocationProp_st___setstat, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[646])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15148
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmulticastObjectProp_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[647])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmulticastObjectProp_st___reduc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[648])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUmulticastObjectProp_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmulticastObjectProp_st___setst, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[649])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15223
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUmemAccessDesc_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemAccessDesc_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[650])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUmemAccessDesc_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemAccessDesc_st___reduce_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[651])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUmemAccessDesc_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemAccessDesc_st___setstate_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[652])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15286
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResultInfo_st_g, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[653])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResultInfo_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[654])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphExecUpdateResultInfo_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[655])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15387
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUmemPoolProps_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemPoolProps_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[656])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUmemPoolProps_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemPoolProps_st___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[657])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17CUmemPoolProps_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemPoolProps_st___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[658])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15497
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemPoolPtrExportData_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[659])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemPoolPtrExportData_st___redu, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[660])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUmemPoolPtrExportData_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemPoolPtrExportData_st___sets, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[661])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15554
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemcpyAttributes_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[662])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemcpyAttributes_st___reduce_c, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[663])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21CUmemcpyAttributes_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemcpyAttributes_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[664])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15632
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUoffset3D_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUoffset3D_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[665])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUoffset3D_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUoffset3D_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[666])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUoffset3D_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUoffset3D_st___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[667])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15698
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUextent3D_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUextent3D_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[668])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15698, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUextent3D_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUextent3D_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[669])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUextent3D_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUextent3D_st___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[670])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15764
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op.ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct23_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct23_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[671])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct23_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct23___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[672])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct23_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct23___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[673])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15846
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op.array
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct24_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct24_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[674])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15846, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct24_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct24___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[675])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13anon_struct24_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_struct24___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[676])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15907
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].op
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union12_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union12_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[677])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union12, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union12_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union12___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[678])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union12_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union12___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[679])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":15964
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperand_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[680])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 15964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 15964, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperand_st___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[681])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUmemcpy3DOperand_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemcpy3DOperand_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[682])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16028
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[683])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st___redu, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[684])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUDA_MEMCPY3D_BATCH_OP_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st___sets, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[685])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16128
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[686])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[687])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[688])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16251
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[689])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[690])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[691])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16359
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st_get, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[692])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st___r, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[693])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st___s, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[694])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16418
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[695])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[696])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[697])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16482
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[698])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[699])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[700])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16534
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_g, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[701])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[702])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[703])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16632
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUgraphNodeParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphNodeParams_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[704])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUgraphNodeParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphNodeParams_st___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[705])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_20CUgraphNodeParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUgraphNodeParams_st___setstate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[706])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16841
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointLockArgs_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[707])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointLockArgs_st___reduce, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[708])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_23CUcheckpointLockArgs_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointLockArgs_st___setsta, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[709])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16904
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointCheckpointArgs_st_ge, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[710])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointCheckpointArgs_st_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[711])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29CUcheckpointCheckpointArgs_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointCheckpointArgs_st_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[712])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16947
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointRestoreArgs_st_getPt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[713])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointRestoreArgs_st___red, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[714])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointRestoreArgs_st___set, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[715])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":16990
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointUnlockArgs_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[716])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 16990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 16990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointUnlockArgs_st___redu, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[717])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25CUcheckpointUnlockArgs_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUcheckpointUnlockArgs_st___sets, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[718])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17055
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUmemDecompressParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemDecompressParams_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[719])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUmemDecompressParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemDecompressParams_st___reduc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[720])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24CUmemDecompressParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemDecompressParams_st___setst, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[721])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17160
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUdevSmResource_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevSmResource_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[722])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUdevSmResource_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevSmResource_st___reduce_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[723])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_18CUdevSmResource_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevSmResource_st___setstate_cy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[724])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17209
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUdevResource_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevResource_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[725])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUdevResource_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevResource_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[726])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16CUdevResource_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevResource_st___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[727])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17287
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].frame
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union15_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union15_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[728])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union15, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union15_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union15___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[729])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_12anon_union15_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_anon_union15___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[730])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17371
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUeglFrame_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUeglFrame_st_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[731])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUeglFrame_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUeglFrame_st___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[732])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUeglFrame_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUeglFrame_st___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[733])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17508
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10cuuint32_t_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_cuuint32_t_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[734])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17508, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10cuuint32_t_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_cuuint32_t___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[735])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10cuuint32_t_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_cuuint32_t___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[736])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17533
 *     def __int__(self):
 *         return <uint64_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10cuuint64_t_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_cuuint64_t_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[737])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10cuuint64_t_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_cuuint64_t___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[738])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_10cuuint64_t_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_cuuint64_t___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[739])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17560
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUdeviceptr_v2_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdeviceptr_v2_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[740])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUdeviceptr_v2_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdeviceptr_v2___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[741])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUdeviceptr_v2_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdeviceptr_v2___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[742])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17587
 *     def __int__(self):
 *         return <int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUdevice_v1_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevice_v1_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[743])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUdevice_v1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevice_v1___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[744])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11CUdevice_v1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUdevice_v1___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[745])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17614
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUtexObject_v1_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexObject_v1_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[746])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17614, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUtexObject_v1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexObject_v1___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[747])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_14CUtexObject_v1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUtexObject_v1___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[748])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17641
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15CUsurfObject_v1_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfObject_v1_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[749])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15CUsurfObject_v1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfObject_v1___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[750])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15CUsurfObject_v1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUsurfObject_v1___setstate_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[751])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17666
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemGenericAllocationHandle_v1_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[752])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemGenericAllocationHandle_v1_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[753])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31CUmemGenericAllocationHandle_v1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUmemGenericAllocationHandle_v1_5, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[754])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17691
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUlogIterator_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogIterator_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[755])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUlogIterator_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogIterator___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[756])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13CUlogIterator_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CUlogIterator___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[757])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17716
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6GLenum_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GLenum_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[758])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLenum, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6GLenum_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GLenum___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[759])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6GLenum_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GLenum___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[760])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17741
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6GLuint_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GLuint_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[761])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6GLuint_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GLuint___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[762])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6GLuint_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GLuint___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[763])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17766
 *     def __int__(self):
 *         return <unsigned int>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6EGLint_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLint_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[764])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17766, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6EGLint_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLint___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[765])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_6EGLint_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_EGLint___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[766])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17791
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9VdpDevice_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpDevice_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[767])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9VdpDevice_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpDevice___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[768])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9VdpDevice_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpDevice___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[769])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17816
 *     def __int__(self):
 *         return <unsigned long long>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17VdpGetProcAddress_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpGetProcAddress_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[770])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17816, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17VdpGetProcAddress_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpGetProcAddress___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[771])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17VdpGetProcAddress_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpGetProcAddress___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[772])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17841
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15VdpVideoSurface_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpVideoSurface_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[773])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15VdpVideoSurface_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpVideoSurface___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[774])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15VdpVideoSurface_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpVideoSurface___setstate_cytho, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[775])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17866
 *     def __int__(self):
 *         return <uint32_t>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 * 
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16VdpOutputSurface_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpOutputSurface_getPtr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[776])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface, __pyx_mstate_global->__pyx_n_u_getPtr, __pyx_t_17) < (0)) __PYX_ERR(0, 17866, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16VdpOutputSurface_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpOutputSurface___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[777])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_16VdpOutputSurface_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VdpOutputSurface___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[778])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17869
 *         return <void_ptr>self._pvt_ptr
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorString(error not None : CUresult):
 *     """ Gets the string description of an error code.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_error, __pyx_mstate_global->__pyx_n_u_CUresult) < (0)) __PYX_ERR(0, 17869, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_1cuGetErrorString, 0, __pyx_mstate_global->__pyx_n_u_cuGetErrorString, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[779])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 17869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGetErrorString, __pyx_t_18) < (0)) __PYX_ERR(0, 17869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":17902
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorName(error not None : CUresult):
 *     """ Gets the string representation of an error code enum name.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 17902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_error, __pyx_mstate_global->__pyx_n_u_CUresult) < (0)) __PYX_ERR(0, 17902, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_3cuGetErrorName, 0, __pyx_mstate_global->__pyx_n_u_cuGetErrorName, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[780])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGetErrorName, __pyx_t_17) < (0)) __PYX_ERR(0, 17902, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17935
 *     return (_dict_CUresult[err], <bytes>pStr if pStr != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuInit(unsigned int Flags):
 *     """ Initialize the CUDA driver API Initializes the driver API and must be called before any other function from the driver API in the current process. Currently, the `Flags` parameter must be 0. If :py:obj:`~.cuInit()` has not been called, any function from the driver API will return :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_5cuInit, 0, __pyx_mstate_global->__pyx_n_u_cuInit, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[781])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuInit, __pyx_t_17) < (0)) __PYX_ERR(0, 17935, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17953
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDriverGetVersion():
 *     """ Returns the latest CUDA version supported by driver.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_7cuDriverGetVersion, 0, __pyx_mstate_global->__pyx_n_u_cuDriverGetVersion, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[782])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDriverGetVersion, __pyx_t_17) < (0)) __PYX_ERR(0, 17953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":17982
 *     return (_dict_CUresult[err], driverVersion)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGet(int ordinal):
 *     """ Returns a handle to a compute device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_9cuDeviceGet, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGet, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[783])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 17982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGet, __pyx_t_17) < (0)) __PYX_ERR(0, 17982, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18012
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetCount():
 *     """ Returns the number of compute-capable devices.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_11cuDeviceGetCount, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetCount, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[784])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetCount, __pyx_t_17) < (0)) __PYX_ERR(0, 18012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18038
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetName(int length, dev):
 *     """ Returns an identifier string for the device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_13cuDeviceGetName, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetName, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[785])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetName, __pyx_t_17) < (0)) __PYX_ERR(0, 18038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18081
 *     return (_dict_CUresult[err], pyname)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid(dev):
 *     """ Return an UUID for the device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_15cuDeviceGetUuid, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetUuid, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[786])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetUuid, __pyx_t_17) < (0)) __PYX_ERR(0, 18081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18123
 *     return (_dict_CUresult[err], uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid_v2(dev):
 *     """ Return an UUID for the device (11.4+)
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_17cuDeviceGetUuid_v2, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetUuid_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[787])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetUuid_v2, __pyx_t_17) < (0)) __PYX_ERR(0, 18123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18162
 *     return (_dict_CUresult[err], uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetLuid(dev):
 *     """ Return an LUID and device node mask for the device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_19cuDeviceGetLuid, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetLuid, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[788])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetLuid, __pyx_t_17) < (0)) __PYX_ERR(0, 18162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18203
 *     return (_dict_CUresult[err], <bytes>luid, deviceNodeMask)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceTotalMem(dev):
 *     """ Returns the total amount of memory on the device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_21cuDeviceTotalMem, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceTotalMem, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[789])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceTotalMem, __pyx_t_17) < (0)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18241
 *     return (_dict_CUresult[err], numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetTexture1DLinearMaxWidth(pformat not None : CUarray_format, unsigned numChannels, dev):
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given texture element size.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pformat, __pyx_mstate_global->__pyx_n_u_CUarray_format) < (0)) __PYX_ERR(0, 18241, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_23cuDeviceGetTexture1DLinearMaxWidth, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetTexture1DLinearMaxWid, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[790])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 18241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetTexture1DLinearMaxWid, __pyx_t_18) < (0)) __PYX_ERR(0, 18241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":18286
 *     return (_dict_CUresult[err], maxWidthInElements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetAttribute(attrib not None : CUdevice_attribute, dev):
 *     """ Returns information about the device.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 18286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUdevice_attribute) < (0)) __PYX_ERR(0, 18286, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_25cuDeviceGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[791])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 18286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18729
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags):
 *     """ Return NvSciSync attributes that this device can support.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_27cuDeviceGetNvSciSyncAttributes, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetNvSciSyncAttributes, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[792])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetNvSciSyncAttributes, __pyx_t_17) < (0)) __PYX_ERR(0, 18729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18824
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetMemPool(dev, pool):
 *     """ Sets the current memory pool of a device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_29cuDeviceSetMemPool, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceSetMemPool, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[793])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceSetMemPool, __pyx_t_17) < (0)) __PYX_ERR(0, 18824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18873
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetMemPool(dev):
 *     """ Gets the current mempool for a device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_31cuDeviceGetMemPool, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetMemPool, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[794])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetMemPool, __pyx_t_17) < (0)) __PYX_ERR(0, 18873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18914
 *     return (_dict_CUresult[err], pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDefaultMemPool(dev):
 *     """ Returns the default mempool of a device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_33cuDeviceGetDefaultMemPool, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetDefaultMemPool, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[795])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetDefaultMemPool, __pyx_t_17) < (0)) __PYX_ERR(0, 18914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":18952
 *     return (_dict_CUresult[err], pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetExecAffinitySupport(typename not None : CUexecAffinityType, dev):
 *     """ Returns information about the execution affinity support of the device.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_typename, __pyx_mstate_global->__pyx_n_u_CUexecAffinityType) < (0)) __PYX_ERR(0, 18952, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_35cuDeviceGetExecAffinitySupport, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetExecAffinitySupport, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[796])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 18952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetExecAffinitySupport, __pyx_t_18) < (0)) __PYX_ERR(0, 18952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":18997
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFlushGPUDirectRDMAWrites(target not None : CUflushGPUDirectRDMAWritesTarget, scope not None : CUflushGPUDirectRDMAWritesScope):
 *     """ Blocks until remote writes are visible to the specified scope.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 18997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_target, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesTarget) < (0)) __PYX_ERR(0, 18997, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_scope, __pyx_mstate_global->__pyx_n_u_CUflushGPUDirectRDMAWritesScope) < (0)) __PYX_ERR(0, 18997, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_37cuFlushGPUDirectRDMAWrites, 0, __pyx_mstate_global->__pyx_n_u_cuFlushGPUDirectRDMAWrites, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[797])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 18997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFlushGPUDirectRDMAWrites, __pyx_t_17) < (0)) __PYX_ERR(0, 18997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19045
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetProperties(dev):
 *     """ Returns properties for a selected device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_39cuDeviceGetProperties, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetProperties, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[798])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetProperties, __pyx_t_17) < (0)) __PYX_ERR(0, 19045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19122
 *     return (_dict_CUresult[err], prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceComputeCapability(dev):
 *     """ Returns the compute capability of the device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_41cuDeviceComputeCapability, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceComputeCapability, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[799])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceComputeCapability, __pyx_t_17) < (0)) __PYX_ERR(0, 19122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19168
 *     return (_dict_CUresult[err], major, minor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRetain(dev):
 *     """ Retain the primary context on the GPU.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_43cuDevicePrimaryCtxRetain, 0, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxRetain, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[800])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxRetain, __pyx_t_17) < (0)) __PYX_ERR(0, 19168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19223
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRelease(dev):
 *     """ Release the primary context on the GPU.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_45cuDevicePrimaryCtxRelease, 0, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxRelease, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[801])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxRelease, __pyx_t_17) < (0)) __PYX_ERR(0, 19223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19266
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxSetFlags(dev, unsigned int flags):
 *     """ Set flags for the primary context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_47cuDevicePrimaryCtxSetFlags, 0, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxSetFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[802])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxSetFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 19266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19377
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxGetState(dev):
 *     """ Get the state of the primary context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_49cuDevicePrimaryCtxGetState, 0, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxGetState, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[803])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxGetState, __pyx_t_17) < (0)) __PYX_ERR(0, 19377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19419
 *     return (_dict_CUresult[err], flags, active)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxReset(dev):
 *     """ Destroy all allocations and reset all state on the primary context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_51cuDevicePrimaryCtxReset, 0, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxReset, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[804])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDevicePrimaryCtxReset, __pyx_t_17) < (0)) __PYX_ERR(0, 19419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19461
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(unsigned int flags, dev):
 *     """ Create a CUDA context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_53cuCtxCreate, 0, __pyx_mstate_global->__pyx_n_u_cuCtxCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[805])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 19461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19603
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[tuple[CUexecAffinityParam] | list[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_paramsArray_2, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUexecAffinityPar) < (0)) __PYX_ERR(0, 19603, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_55cuCtxCreate_v3, 0, __pyx_mstate_global->__pyx_n_u_cuCtxCreate_v3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[806])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 19603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxCreate_v3, __pyx_t_18) < (0)) __PYX_ERR(0, 19603, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":19769
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v4(ctxCreateParams : Optional[CUctxCreateParams], unsigned int flags, dev):
 *     """ Create a CUDA context.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 19769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_ctxCreateParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUctxCreateParams) < (0)) __PYX_ERR(0, 19769, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_57cuCtxCreate_v4, 0, __pyx_mstate_global->__pyx_n_u_cuCtxCreate_v4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[807])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxCreate_v4, __pyx_t_17) < (0)) __PYX_ERR(0, 19769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":19949
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDestroy(ctx):
 *     """ Destroy a CUDA context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_59cuCtxDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuCtxDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[808])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 19949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 19949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20009
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPushCurrent(ctx):
 *     """ Pushes a context on the current CPU thread.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_61cuCtxPushCurrent, 0, __pyx_mstate_global->__pyx_n_u_cuCtxPushCurrent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[809])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxPushCurrent, __pyx_t_17) < (0)) __PYX_ERR(0, 20009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20047
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPopCurrent():
 *     """ Pops the current CUDA context from the current CPU thread.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_63cuCtxPopCurrent, 0, __pyx_mstate_global->__pyx_n_u_cuCtxPopCurrent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[810])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxPopCurrent, __pyx_t_17) < (0)) __PYX_ERR(0, 20047, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20077
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCurrent(ctx):
 *     """ Binds the specified CUDA context to the calling CPU thread.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_65cuCtxSetCurrent, 0, __pyx_mstate_global->__pyx_n_u_cuCtxSetCurrent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[811])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxSetCurrent, __pyx_t_17) < (0)) __PYX_ERR(0, 20077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20117
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCurrent():
 *     """ Returns the CUDA context bound to the calling CPU thread.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_67cuCtxGetCurrent, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetCurrent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[812])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetCurrent, __pyx_t_17) < (0)) __PYX_ERR(0, 20117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20143
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice():
 *     """ Returns the device handle for the current context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_69cuCtxGetDevice, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetDevice, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[813])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetDevice, __pyx_t_17) < (0)) __PYX_ERR(0, 20143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20167
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetFlags():
 *     """ Returns the flags for the current context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_71cuCtxGetFlags, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[814])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 20167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20192
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetFlags(unsigned int flags):
 *     """ Sets the flags for the current context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_73cuCtxSetFlags, 0, __pyx_mstate_global->__pyx_n_u_cuCtxSetFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[815])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxSetFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 20192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20217
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetId(ctx):
 *     """ Returns the unique Id associated with the context supplied.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_75cuCtxGetId, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetId, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[816])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetId, __pyx_t_17) < (0)) __PYX_ERR(0, 20217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20257
 *     return (_dict_CUresult[err], ctxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSynchronize():
 *     """ Block for the current context's tasks to complete.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_77cuCtxSynchronize, 0, __pyx_mstate_global->__pyx_n_u_cuCtxSynchronize, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[817])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxSynchronize, __pyx_t_17) < (0)) __PYX_ERR(0, 20257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20282
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetLimit(limit not None : CUlimit, size_t value):
 *     """ Set resource limits.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_limit, __pyx_mstate_global->__pyx_n_u_CUlimit) < (0)) __PYX_ERR(0, 20282, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_79cuCtxSetLimit, 0, __pyx_mstate_global->__pyx_n_u_cuCtxSetLimit, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[818])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxSetLimit, __pyx_t_18) < (0)) __PYX_ERR(0, 20282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":20386
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetLimit(limit not None : CUlimit):
 *     """ Returns resource limits.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_limit, __pyx_mstate_global->__pyx_n_u_CUlimit) < (0)) __PYX_ERR(0, 20386, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_81cuCtxGetLimit, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetLimit, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[819])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetLimit, __pyx_t_17) < (0)) __PYX_ERR(0, 20386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20442
 *     return (_dict_CUresult[err], pvalue)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCacheConfig():
 *     """ Returns the preferred cache configuration for the current context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_83cuCtxGetCacheConfig, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetCacheConfig, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[820])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetCacheConfig, __pyx_t_17) < (0)) __PYX_ERR(0, 20442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20487
 *     return (_dict_CUresult[err], CUfunc_cache(pconfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCacheConfig(config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for the current context.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_config, __pyx_mstate_global->__pyx_n_u_CUfunc_cache) < (0)) __PYX_ERR(0, 20487, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_85cuCtxSetCacheConfig, 0, __pyx_mstate_global->__pyx_n_u_cuCtxSetCacheConfig, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[821])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxSetCacheConfig, __pyx_t_18) < (0)) __PYX_ERR(0, 20487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":20542
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetApiVersion(ctx):
 *     """ Gets the context's API version.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_87cuCtxGetApiVersion, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetApiVersion, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[822])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetApiVersion, __pyx_t_18) < (0)) __PYX_ERR(0, 20542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":20587
 *     return (_dict_CUresult[err], version)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetStreamPriorityRange():
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_89cuCtxGetStreamPriorityRange, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetStreamPriorityRange, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[823])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetStreamPriorityRange, __pyx_t_18) < (0)) __PYX_ERR(0, 20587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":20630
 *     return (_dict_CUresult[err], leastPriority, greatestPriority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxResetPersistingL2Cache():
 *     """ Resets all persisting lines in cache to normal status.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_91cuCtxResetPersistingL2Cache, 0, __pyx_mstate_global->__pyx_n_u_cuCtxResetPersistingL2Cache, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[824])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxResetPersistingL2Cache, __pyx_t_18) < (0)) __PYX_ERR(0, 20630, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":20650
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetExecAffinity(typename not None : CUexecAffinityType):
 *     """ Returns the execution affinity setting for the current context.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_typename, __pyx_mstate_global->__pyx_n_u_CUexecAffinityType) < (0)) __PYX_ERR(0, 20650, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_93cuCtxGetExecAffinity, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetExecAffinity, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[825])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetExecAffinity, __pyx_t_17) < (0)) __PYX_ERR(0, 20650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20684
 *     return (_dict_CUresult[err], pExecAffinity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_95cuCtxRecordEvent, 0, __pyx_mstate_global->__pyx_n_u_cuCtxRecordEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[826])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxRecordEvent, __pyx_t_17) < (0)) __PYX_ERR(0, 20684, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20741
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxWaitEvent(hCtx, hEvent):
 *     """ Make a context wait on an event.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_97cuCtxWaitEvent, 0, __pyx_mstate_global->__pyx_n_u_cuCtxWaitEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[827])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxWaitEvent, __pyx_t_17) < (0)) __PYX_ERR(0, 20741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20797
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxAttach(unsigned int flags):
 *     """ Increment a context's usage-count.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_99cuCtxAttach, 0, __pyx_mstate_global->__pyx_n_u_cuCtxAttach, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[828])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxAttach, __pyx_t_17) < (0)) __PYX_ERR(0, 20797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20835
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDetach(ctx):
 *     """ Decrement a context's usage-count.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_101cuCtxDetach, 0, __pyx_mstate_global->__pyx_n_u_cuCtxDetach, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[829])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxDetach, __pyx_t_17) < (0)) __PYX_ERR(0, 20835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20874
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetSharedMemConfig():
 *     """ Returns the current shared memory configuration for the current context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_103cuCtxGetSharedMemConfig, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetSharedMemConfig, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[830])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetSharedMemConfig, __pyx_t_17) < (0)) __PYX_ERR(0, 20874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":20914
 *     return (_dict_CUresult[err], CUsharedconfig(pConfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetSharedMemConfig(config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for the current context.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 20914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_config, __pyx_mstate_global->__pyx_n_u_CUsharedconfig) < (0)) __PYX_ERR(0, 20914, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_105cuCtxSetSharedMemConfig, 0, __pyx_mstate_global->__pyx_n_u_cuCtxSetSharedMemConfig, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[831])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxSetSharedMemConfig, __pyx_t_18) < (0)) __PYX_ERR(0, 20914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":20966
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoad(char* fname):
 *     """ Loads a compute module.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_107cuModuleLoad, 0, __pyx_mstate_global->__pyx_n_u_cuModuleLoad, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[832])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 20966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleLoad, __pyx_t_18) < (0)) __PYX_ERR(0, 20966, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21002
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadData(image):
 *     """ Load a module's data.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_109cuModuleLoadData, 0, __pyx_mstate_global->__pyx_n_u_cuModuleLoadData, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[833])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleLoadData, __pyx_t_18) < (0)) __PYX_ERR(0, 21002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21036
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Load a module's data with options.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_options, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUjit_option_list) < (0)) __PYX_ERR(0, 21036, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_optionValues, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_Any_list_Any) < (0)) __PYX_ERR(0, 21036, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_111cuModuleLoadDataEx, 0, __pyx_mstate_global->__pyx_n_u_cuModuleLoadDataEx, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[834])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleLoadDataEx, __pyx_t_17) < (0)) __PYX_ERR(0, 21036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21086
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadFatBinary(fatCubin):
 *     """ Load a module's data.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_113cuModuleLoadFatBinary, 0, __pyx_mstate_global->__pyx_n_u_cuModuleLoadFatBinary, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[835])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleLoadFatBinary, __pyx_t_17) < (0)) __PYX_ERR(0, 21086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21126
 *     return (_dict_CUresult[err], module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleUnload(hmod):
 *     """ Unloads a module.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_115cuModuleUnload, 0, __pyx_mstate_global->__pyx_n_u_cuModuleUnload, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[836])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleUnload, __pyx_t_17) < (0)) __PYX_ERR(0, 21126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21161
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetLoadingMode():
 *     """ Query lazy loading mode.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_117cuModuleGetLoadingMode, 0, __pyx_mstate_global->__pyx_n_u_cuModuleGetLoadingMode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[837])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleGetLoadingMode, __pyx_t_17) < (0)) __PYX_ERR(0, 21161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21186
 *     return (_dict_CUresult[err], CUmoduleLoadingMode(mode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunction(hmod, char* name):
 *     """ Returns a function handle.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_119cuModuleGetFunction, 0, __pyx_mstate_global->__pyx_n_u_cuModuleGetFunction, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[838])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleGetFunction, __pyx_t_17) < (0)) __PYX_ERR(0, 21186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21228
 *     return (_dict_CUresult[err], hfunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunctionCount(mod):
 *     """ Returns the number of functions within a module.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_121cuModuleGetFunctionCount, 0, __pyx_mstate_global->__pyx_n_u_cuModuleGetFunctionCount, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[839])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleGetFunctionCount, __pyx_t_17) < (0)) __PYX_ERR(0, 21228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21261
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleEnumerateFunctions(unsigned int numFunctions, mod):
 *     """ Returns the function handles within a module.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_123cuModuleEnumerateFunctions, 0, __pyx_mstate_global->__pyx_n_u_cuModuleEnumerateFunctions, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[840])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleEnumerateFunctions, __pyx_t_17) < (0)) __PYX_ERR(0, 21261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21317
 *     return (_dict_CUresult[err], pyfunctions)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetGlobal(hmod, char* name):
 *     """ Returns a global pointer from a module.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_125cuModuleGetGlobal, 0, __pyx_mstate_global->__pyx_n_u_cuModuleGetGlobal, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[841])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleGetGlobal, __pyx_t_17) < (0)) __PYX_ERR(0, 21317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21363
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Creates a pending JIT linker invocation.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_options, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUjit_option_list) < (0)) __PYX_ERR(0, 21363, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_optionValues, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_Any_list_Any) < (0)) __PYX_ERR(0, 21363, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_127cuLinkCreate, 0, __pyx_mstate_global->__pyx_n_u_cuLinkCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[842])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLinkCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 21363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21434
 *     return (_dict_CUresult[err], stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Add an input to a pending linker invocation.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_typename, __pyx_mstate_global->__pyx_n_u_CUjitInputType) < (0)) __PYX_ERR(0, 21434, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_options, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUjit_option_list) < (0)) __PYX_ERR(0, 21434, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_optionValues, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_Any_list_Any) < (0)) __PYX_ERR(0, 21434, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_129cuLinkAddData, 0, __pyx_mstate_global->__pyx_n_u_cuLinkAddData, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[843])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLinkAddData, __pyx_t_17) < (0)) __PYX_ERR(0, 21434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21505
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[tuple[CUjit_option] | list[CUjit_option]], optionValues : Optional[tuple[Any] | list[Any]]):
 *     """ Add a file input to a pending linker invocation.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_typename, __pyx_mstate_global->__pyx_n_u_CUjitInputType) < (0)) __PYX_ERR(0, 21505, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_options, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUjit_option_list) < (0)) __PYX_ERR(0, 21505, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_optionValues, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_Any_list_Any) < (0)) __PYX_ERR(0, 21505, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_131cuLinkAddFile, 0, __pyx_mstate_global->__pyx_n_u_cuLinkAddFile, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[844])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLinkAddFile, __pyx_t_18) < (0)) __PYX_ERR(0, 21505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21572
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkComplete(state):
 *     """ Complete a pending linker invocation.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_133cuLinkComplete, 0, __pyx_mstate_global->__pyx_n_u_cuLinkComplete, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[845])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLinkComplete, __pyx_t_18) < (0)) __PYX_ERR(0, 21572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21616
 *     return (_dict_CUresult[err], cubinOut, sizeOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkDestroy(state):
 *     """ Destroys state for a JIT linker invocation.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_135cuLinkDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuLinkDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[846])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLinkDestroy, __pyx_t_18) < (0)) __PYX_ERR(0, 21616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetTexRef(hmod, char* name):
 *     """ Returns a handle to a texture reference.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_137cuModuleGetTexRef, 0, __pyx_mstate_global->__pyx_n_u_cuModuleGetTexRef, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[847])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleGetTexRef, __pyx_t_18) < (0)) __PYX_ERR(0, 21646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21692
 *     return (_dict_CUresult[err], pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetSurfRef(hmod, char* name):
 *     """ Returns a handle to a surface reference.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_139cuModuleGetSurfRef, 0, __pyx_mstate_global->__pyx_n_u_cuModuleGetSurfRef, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[848])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuModuleGetSurfRef, __pyx_t_18) < (0)) __PYX_ERR(0, 21692, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21736
 *     return (_dict_CUresult[err], pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues : Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions : Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues : Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified code and options.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_jitOptions, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUjit_option_list) < (0)) __PYX_ERR(0, 21736, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_jitOptionsValues, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_Any_list_Any) < (0)) __PYX_ERR(0, 21736, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_libraryOptions, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUlibraryOption_l) < (0)) __PYX_ERR(0, 21736, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_libraryOptionValues, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_Any_list_Any) < (0)) __PYX_ERR(0, 21736, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_141cuLibraryLoadData, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryLoadData, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[849])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryLoadData, __pyx_t_17) < (0)) __PYX_ERR(0, 21736, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":21831
 *     return (_dict_CUresult[err], library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[tuple[CUjit_option] | list[CUjit_option]], jitOptionsValues : Optional[tuple[Any] | list[Any]], unsigned int numJitOptions, libraryOptions : Optional[tuple[CUlibraryOption] | list[CUlibraryOption]], libraryOptionValues : Optional[tuple[Any] | list[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified file and options.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_jitOptions, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUjit_option_list) < (0)) __PYX_ERR(0, 21831, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_jitOptionsValues, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_Any_list_Any) < (0)) __PYX_ERR(0, 21831, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_libraryOptions, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUlibraryOption_l) < (0)) __PYX_ERR(0, 21831, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_libraryOptionValues, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_Any_list_Any) < (0)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_143cuLibraryLoadFromFile, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryLoadFromFile, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[850])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryLoadFromFile, __pyx_t_18) < (0)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21925
 *     return (_dict_CUresult[err], library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryUnload(library):
 *     """ Unloads a library.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_145cuLibraryUnload, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryUnload, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[851])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryUnload, __pyx_t_18) < (0)) __PYX_ERR(0, 21925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21957
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernel(library, char* name):
 *     """ Returns a kernel handle.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_147cuLibraryGetKernel, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryGetKernel, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[852])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryGetKernel, __pyx_t_18) < (0)) __PYX_ERR(0, 21957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":21998
 *     return (_dict_CUresult[err], pKernel)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernelCount(lib):
 *     """ Returns the number of kernels within a library.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_149cuLibraryGetKernelCount, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryGetKernelCount, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[853])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryGetKernelCount, __pyx_t_18) < (0)) __PYX_ERR(0, 21998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22031
 *     return (_dict_CUresult[err], count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryEnumerateKernels(unsigned int numKernels, lib):
 *     """ Retrieve the kernel handles within a library.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_151cuLibraryEnumerateKernels, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryEnumerateKernels, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[854])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryEnumerateKernels, __pyx_t_18) < (0)) __PYX_ERR(0, 22031, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22081
 *     return (_dict_CUresult[err], pykernels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetModule(library):
 *     """ Returns a module handle.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_153cuLibraryGetModule, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryGetModule, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[855])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryGetModule, __pyx_t_18) < (0)) __PYX_ERR(0, 22081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22120
 *     return (_dict_CUresult[err], pMod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetFunction(kernel):
 *     """ Returns a function handle.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_155cuKernelGetFunction, 0, __pyx_mstate_global->__pyx_n_u_cuKernelGetFunction, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[856])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuKernelGetFunction, __pyx_t_18) < (0)) __PYX_ERR(0, 22120, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22159
 *     return (_dict_CUresult[err], pFunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetLibrary(kernel):
 *     """ Returns a library handle.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_157cuKernelGetLibrary, 0, __pyx_mstate_global->__pyx_n_u_cuKernelGetLibrary, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[857])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuKernelGetLibrary, __pyx_t_18) < (0)) __PYX_ERR(0, 22159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22197
 *     return (_dict_CUresult[err], pLib)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetGlobal(library, char* name):
 *     """ Returns a global device pointer.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_159cuLibraryGetGlobal, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryGetGlobal, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[858])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryGetGlobal, __pyx_t_18) < (0)) __PYX_ERR(0, 22197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22243
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetManaged(library, char* name):
 *     """ Returns a pointer to managed memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_161cuLibraryGetManaged, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryGetManaged, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[859])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryGetManaged, __pyx_t_18) < (0)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22291
 *     return (_dict_CUresult[err], dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetUnifiedFunction(library, char* symbol):
 *     """ Returns a pointer to a unified function.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_163cuLibraryGetUnifiedFunction, 0, __pyx_mstate_global->__pyx_n_u_cuLibraryGetUnifiedFunction, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[860])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLibraryGetUnifiedFunction, __pyx_t_18) < (0)) __PYX_ERR(0, 22291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22335
 *     return (_dict_CUresult[err], fptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetAttribute(attrib not None : CUfunction_attribute, kernel, dev):
 *     """ Returns information about a kernel.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute) < (0)) __PYX_ERR(0, 22335, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_165cuKernelGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuKernelGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[861])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuKernelGetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 22335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22467
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetAttribute(attrib not None : CUfunction_attribute, int val, kernel, dev):
 *     """ Sets information about a kernel.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute) < (0)) __PYX_ERR(0, 22467, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_167cuKernelSetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuKernelSetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[862])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuKernelSetAttribute, __pyx_t_18) < (0)) __PYX_ERR(0, 22467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":22579
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetCacheConfig(kernel, config not None : CUfunc_cache, dev):
 *     """ Sets the preferred cache configuration for a device kernel.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 22579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_config, __pyx_mstate_global->__pyx_n_u_CUfunc_cache) < (0)) __PYX_ERR(0, 22579, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_169cuKernelSetCacheConfig, 0, __pyx_mstate_global->__pyx_n_u_cuKernelSetCacheConfig, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[863])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuKernelSetCacheConfig, __pyx_t_17) < (0)) __PYX_ERR(0, 22579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22660
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUkernel` handle.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_171cuKernelGetName, 0, __pyx_mstate_global->__pyx_n_u_cuKernelGetName, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[864])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuKernelGetName, __pyx_t_17) < (0)) __PYX_ERR(0, 22660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22699
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetParamInfo(kernel, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_173cuKernelGetParamInfo, 0, __pyx_mstate_global->__pyx_n_u_cuKernelGetParamInfo, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[865])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuKernelGetParamInfo, __pyx_t_17) < (0)) __PYX_ERR(0, 22699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22751
 *     return (_dict_CUresult[err], paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetInfo():
 *     """ Gets free and total memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_175cuMemGetInfo, 0, __pyx_mstate_global->__pyx_n_u_cuMemGetInfo, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[866])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemGetInfo, __pyx_t_17) < (0)) __PYX_ERR(0, 22751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22793
 *     return (_dict_CUresult[err], free, total)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAlloc(size_t bytesize):
 *     """ Allocates device memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_177cuMemAlloc, 0, __pyx_mstate_global->__pyx_n_u_cuMemAlloc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[867])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAlloc, __pyx_t_17) < (0)) __PYX_ERR(0, 22793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22826
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocPitch(size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes):
 *     """ Allocates pitched device memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_179cuMemAllocPitch, 0, __pyx_mstate_global->__pyx_n_u_cuMemAllocPitch, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[868])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAllocPitch, __pyx_t_17) < (0)) __PYX_ERR(0, 22826, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22892
 *     return (_dict_CUresult[err], dptr, pPitch)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFree(dptr):
 *     """ Frees device memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_181cuMemFree, 0, __pyx_mstate_global->__pyx_n_u_cuMemFree, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[869])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemFree, __pyx_t_17) < (0)) __PYX_ERR(0, 22892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22937
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAddressRange(dptr):
 *     """ Get information on memory allocations.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_183cuMemGetAddressRange, 0, __pyx_mstate_global->__pyx_n_u_cuMemGetAddressRange, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[870])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemGetAddressRange, __pyx_t_17) < (0)) __PYX_ERR(0, 22937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":22980
 *     return (_dict_CUresult[err], pbase, psize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocHost(size_t bytesize):
 *     """ Allocates page-locked host memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_185cuMemAllocHost, 0, __pyx_mstate_global->__pyx_n_u_cuMemAllocHost, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[871])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 22980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAllocHost, __pyx_t_17) < (0)) __PYX_ERR(0, 22980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23034
 *     return (_dict_CUresult[err], pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeHost(p):
 *     """ Frees page-locked host memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_187cuMemFreeHost, 0, __pyx_mstate_global->__pyx_n_u_cuMemFreeHost, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[872])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemFreeHost, __pyx_t_17) < (0)) __PYX_ERR(0, 23034, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23061
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostAlloc(size_t bytesize, unsigned int Flags):
 *     """ Allocates page-locked host memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_189cuMemHostAlloc, 0, __pyx_mstate_global->__pyx_n_u_cuMemHostAlloc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[873])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemHostAlloc, __pyx_t_17) < (0)) __PYX_ERR(0, 23061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23151
 *     return (_dict_CUresult[err], pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetDevicePointer(p, unsigned int Flags):
 *     """ Passes back device pointer of mapped pinned memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_191cuMemHostGetDevicePointer, 0, __pyx_mstate_global->__pyx_n_u_cuMemHostGetDevicePointer, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[874])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemHostGetDevicePointer, __pyx_t_17) < (0)) __PYX_ERR(0, 23151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23211
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetFlags(p):
 *     """ Passes back flags that were used for a pinned allocation.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_193cuMemHostGetFlags, 0, __pyx_mstate_global->__pyx_n_u_cuMemHostGetFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[875])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemHostGetFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 23211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23247
 *     return (_dict_CUresult[err], pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocManaged(size_t bytesize, unsigned int flags):
 *     """ Allocates memory that will be automatically managed by the Unified Memory system.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_195cuMemAllocManaged, 0, __pyx_mstate_global->__pyx_n_u_cuMemAllocManaged, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[876])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAllocManaged, __pyx_t_17) < (0)) __PYX_ERR(0, 23247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23393
 *         cbData.callback(info, cbData.userData, handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceRegisterAsyncNotification(device, callbackFunc, userData):
 *     """ Registers a callback function to receive async notifications.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_197cuDeviceRegisterAsyncNotification, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceRegisterAsyncNotificatio, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[877])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceRegisterAsyncNotificatio, __pyx_t_17) < (0)) __PYX_ERR(0, 23393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23473
 *     return (_dict_CUresult[err], callback)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceUnregisterAsyncNotification(device, callback):
 *     """ Unregisters an async notification callback.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_199cuDeviceUnregisterAsyncNotification, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceUnregisterAsyncNotificat, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[878])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceUnregisterAsyncNotificat, __pyx_t_17) < (0)) __PYX_ERR(0, 23473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23520
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetByPCIBusId(char* pciBusId):
 *     """ Returns a handle to a compute device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_201cuDeviceGetByPCIBusId, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetByPCIBusId, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[879])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetByPCIBusId, __pyx_t_17) < (0)) __PYX_ERR(0, 23520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23552
 *     return (_dict_CUresult[err], dev)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetPCIBusId(int length, dev):
 *     """ Returns a PCI Bus Id string for the device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_203cuDeviceGetPCIBusId, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetPCIBusId, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[880])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetPCIBusId, __pyx_t_17) < (0)) __PYX_ERR(0, 23552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23598
 *     return (_dict_CUresult[err], pypciBusId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetEventHandle(event):
 *     """ Gets an interprocess handle for a previously allocated event.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_205cuIpcGetEventHandle, 0, __pyx_mstate_global->__pyx_n_u_cuIpcGetEventHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[881])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuIpcGetEventHandle, __pyx_t_17) < (0)) __PYX_ERR(0, 23598, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23656
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenEventHandle(handle not None : CUipcEventHandle):
 *     """ Opens an interprocess event handle for use in the current process.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_handle_2, __pyx_mstate_global->__pyx_n_u_CUipcEventHandle) < (0)) __PYX_ERR(0, 23656, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_207cuIpcOpenEventHandle, 0, __pyx_mstate_global->__pyx_n_u_cuIpcOpenEventHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[882])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 23656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuIpcOpenEventHandle, __pyx_t_18) < (0)) __PYX_ERR(0, 23656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":23700
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetMemHandle(dptr):
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_209cuIpcGetMemHandle, 0, __pyx_mstate_global->__pyx_n_u_cuIpcGetMemHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[883])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 23700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuIpcGetMemHandle, __pyx_t_18) < (0)) __PYX_ERR(0, 23700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":23753
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenMemHandle(handle not None : CUipcMemHandle, unsigned int Flags):
 *     """ Opens an interprocess memory handle exported from another process and returns a device pointer usable in the local process.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 23753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_handle_2, __pyx_mstate_global->__pyx_n_u_CUipcMemHandle) < (0)) __PYX_ERR(0, 23753, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_211cuIpcOpenMemHandle, 0, __pyx_mstate_global->__pyx_n_u_cuIpcOpenMemHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[884])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuIpcOpenMemHandle, __pyx_t_17) < (0)) __PYX_ERR(0, 23753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23819
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcCloseMemHandle(dptr):
 *     """ Attempts to close memory mapped with :py:obj:`~.cuIpcOpenMemHandle`.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_213cuIpcCloseMemHandle, 0, __pyx_mstate_global->__pyx_n_u_cuIpcCloseMemHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[885])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuIpcCloseMemHandle, __pyx_t_17) < (0)) __PYX_ERR(0, 23819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostRegister(p, size_t bytesize, unsigned int Flags):
 *     """ Registers an existing host memory range for use by CUDA.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_215cuMemHostRegister, 0, __pyx_mstate_global->__pyx_n_u_cuMemHostRegister, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[886])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemHostRegister, __pyx_t_17) < (0)) __PYX_ERR(0, 23865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23967
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostUnregister(p):
 *     """ Unregisters a memory range that was registered with cuMemHostRegister.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_217cuMemHostUnregister, 0, __pyx_mstate_global->__pyx_n_u_cuMemHostUnregister, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[887])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemHostUnregister, __pyx_t_17) < (0)) __PYX_ERR(0, 23967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":23997
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy(dst, src, size_t ByteCount):
 *     """ Copies memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_219cuMemcpy, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[888])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 23997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy, __pyx_t_17) < (0)) __PYX_ERR(0, 23997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24046
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeer(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount):
 *     """ Copies device memory between two contexts.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_221cuMemcpyPeer, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyPeer, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[889])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyPeer, __pyx_t_17) < (0)) __PYX_ERR(0, 24046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24114
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoD(dstDevice, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_223cuMemcpyHtoD, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyHtoD, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[890])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyHtoD, __pyx_t_17) < (0)) __PYX_ERR(0, 24114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24154
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoH(dstHost, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Host.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_225cuMemcpyDtoH, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoH, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[891])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoH, __pyx_t_17) < (0)) __PYX_ERR(0, 24154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24194
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoD(dstDevice, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_227cuMemcpyDtoD, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoD, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[892])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoD, __pyx_t_17) < (0)) __PYX_ERR(0, 24194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24240
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoA(dstArray, size_t dstOffset, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_229cuMemcpyDtoA, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoA, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[893])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoA, __pyx_t_17) < (0)) __PYX_ERR(0, 24240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24289
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoD(dstDevice, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_231cuMemcpyAtoD, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyAtoD, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[894])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyAtoD, __pyx_t_17) < (0)) __PYX_ERR(0, 24289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24340
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoA(dstArray, size_t dstOffset, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_233cuMemcpyHtoA, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyHtoA, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[895])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyHtoA, __pyx_t_17) < (0)) __PYX_ERR(0, 24340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24383
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoH(dstHost, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Host.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_235cuMemcpyAtoH, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyAtoH, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[896])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyAtoH, __pyx_t_17) < (0)) __PYX_ERR(0, 24383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24426
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoA(dstArray, size_t dstOffset, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_237cuMemcpyAtoA, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyAtoA, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[897])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyAtoA, __pyx_t_17) < (0)) __PYX_ERR(0, 24426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24480
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2D(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pCopy, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY2D) < (0)) __PYX_ERR(0, 24480, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_239cuMemcpy2D, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy2D, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[898])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 24480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy2D, __pyx_t_18) < (0)) __PYX_ERR(0, 24480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":24604
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DUnaligned(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 24604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pCopy, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY2D) < (0)) __PYX_ERR(0, 24604, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_241cuMemcpy2DUnaligned, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy2DUnaligned, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[899])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy2DUnaligned, __pyx_t_17) < (0)) __PYX_ERR(0, 24604, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24728
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3D(pCopy : Optional[CUDA_MEMCPY3D]):
 *     """ Copies memory for 3D arrays.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pCopy, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY3D) < (0)) __PYX_ERR(0, 24728, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_243cuMemcpy3D, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy3D, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[900])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 24728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy3D, __pyx_t_18) < (0)) __PYX_ERR(0, 24728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":24855
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeer(pCopy : Optional[CUDA_MEMCPY3D_PEER]):
 *     """ Copies memory between contexts.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 24855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pCopy, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY3D_PEER) < (0)) __PYX_ERR(0, 24855, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_245cuMemcpy3DPeer, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DPeer, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[901])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DPeer, __pyx_t_17) < (0)) __PYX_ERR(0, 24855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24882
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAsync(dst, src, size_t ByteCount, hStream):
 *     """ Copies memory asynchronously.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_247cuMemcpyAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[902])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 24882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":24941
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeerAsync(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount, hStream):
 *     """ Copies device memory between two contexts asynchronously.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_249cuMemcpyPeerAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyPeerAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[903])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 24941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyPeerAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 24941, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":25019
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoDAsync(dstDevice, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_251cuMemcpyHtoDAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyHtoDAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[904])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyHtoDAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 25019, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":25069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoHAsync(dstHost, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Host.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_253cuMemcpyDtoHAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoHAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[905])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoHAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 25069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":25119
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoDAsync(dstDevice, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_255cuMemcpyDtoDAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoDAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[906])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyDtoDAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 25119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":25175
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoAAsync(dstArray, size_t dstOffset, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_257cuMemcpyHtoAAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyHtoAAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[907])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyHtoAAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 25175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":25228
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoHAsync(dstHost, srcArray, size_t srcOffset, size_t ByteCount, hStream):
 *     """ Copies memory from Array to Host.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_259cuMemcpyAtoHAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyAtoHAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[908])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyAtoHAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 25228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":25281
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DAsync(pCopy : Optional[CUDA_MEMCPY2D], hStream):
 *     """ Copies memory for 2D arrays.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pCopy, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY2D) < (0)) __PYX_ERR(0, 25281, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_261cuMemcpy2DAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy2DAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[909])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 25281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy2DAsync, __pyx_t_18) < (0)) __PYX_ERR(0, 25281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":25422
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DAsync(pCopy : Optional[CUDA_MEMCPY3D], hStream):
 *     """ Copies memory for 3D arrays.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 25422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pCopy, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY3D) < (0)) __PYX_ERR(0, 25422, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_263cuMemcpy3DAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[910])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 25422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":25559
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeerAsync(pCopy : Optional[CUDA_MEMCPY3D_PEER], hStream):
 *     """ Copies memory between contexts asynchronously.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pCopy, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY3D_PEER) < (0)) __PYX_ERR(0, 25559, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_265cuMemcpy3DPeerAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DPeerAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[911])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 25559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DPeerAsync, __pyx_t_18) < (0)) __PYX_ERR(0, 25559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":25596
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyBatchAsync(dsts : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], srcs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, attrs : Optional[tuple[CUmemcpyAttributes] | list[CUmemcpyAttributes]], attrsIdxs : tuple[int] | list[int], size_t numAttrs, hStream):
 *     """ Performs a batch of memory copies asynchronously.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 25596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dsts, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUdeviceptr_list) < (0)) __PYX_ERR(0, 25596, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_srcs, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUdeviceptr_list) < (0)) __PYX_ERR(0, 25596, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_sizes, __pyx_mstate_global->__pyx_kp_u_tuple_int_list_int) < (0)) __PYX_ERR(0, 25596, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attrs_2, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUmemcpyAttribute) < (0)) __PYX_ERR(0, 25596, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attrsIdxs, __pyx_mstate_global->__pyx_kp_u_tuple_int_list_int) < (0)) __PYX_ERR(0, 25596, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_267cuMemcpyBatchAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpyBatchAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[912])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpyBatchAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 25596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":25776
 *     return (_dict_CUresult[err], failIdx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DBatchAsync(size_t numOps, opList : Optional[tuple[CUDA_MEMCPY3D_BATCH_OP] | list[CUDA_MEMCPY3D_BATCH_OP]], unsigned long long flags, hStream):
 *     """ Performs a batch of 3D memory copies asynchronously.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 25776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_opList, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUDA_MEMCPY3D_BAT) < (0)) __PYX_ERR(0, 25776, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_269cuMemcpy3DBatchAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DBatchAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[913])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 25776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemcpy3DBatchAsync, __pyx_t_18) < (0)) __PYX_ERR(0, 25776, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":25915
 *     return (_dict_CUresult[err], failIdx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8(dstDevice, unsigned char uc, size_t N):
 *     """ Initializes device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_271cuMemsetD8, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD8, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[914])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 25915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD8, __pyx_t_18) < (0)) __PYX_ERR(0, 25915, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":25951
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16(dstDevice, unsigned short us, size_t N):
 *     """ Initializes device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_273cuMemsetD16, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD16, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[915])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 25951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD16, __pyx_t_18) < (0)) __PYX_ERR(0, 25951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":25988
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32(dstDevice, unsigned int ui, size_t N):
 *     """ Initializes device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_275cuMemsetD32, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD32, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[916])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 25988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD32, __pyx_t_18) < (0)) __PYX_ERR(0, 25988, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26025
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_277cuMemsetD2D8, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D8, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[917])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D8, __pyx_t_18) < (0)) __PYX_ERR(0, 26025, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_279cuMemsetD2D16, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D16, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[918])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D16, __pyx_t_18) < (0)) __PYX_ERR(0, 26069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26114
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height):
 *     """ Initializes device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_281cuMemsetD2D32, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D32, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[919])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D32, __pyx_t_18) < (0)) __PYX_ERR(0, 26114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26159
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8Async(dstDevice, unsigned char uc, size_t N, hStream):
 *     """ Sets device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_283cuMemsetD8Async, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD8Async, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[920])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD8Async, __pyx_t_18) < (0)) __PYX_ERR(0, 26159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26205
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16Async(dstDevice, unsigned short us, size_t N, hStream):
 *     """ Sets device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_285cuMemsetD16Async, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD16Async, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[921])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD16Async, __pyx_t_18) < (0)) __PYX_ERR(0, 26205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26252
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32Async(dstDevice, unsigned int ui, size_t N, hStream):
 *     """ Sets device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_287cuMemsetD32Async, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD32Async, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[922])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD32Async, __pyx_t_18) < (0)) __PYX_ERR(0, 26252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26299
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8Async(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_289cuMemsetD2D8Async, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D8Async, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[923])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D8Async, __pyx_t_18) < (0)) __PYX_ERR(0, 26299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26353
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16Async(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_291cuMemsetD2D16Async, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D16Async, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[924])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D16Async, __pyx_t_18) < (0)) __PYX_ERR(0, 26353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26408
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32Async(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_293cuMemsetD2D32Async, 0, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D32Async, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[925])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemsetD2D32Async, __pyx_t_18) < (0)) __PYX_ERR(0, 26408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":26463
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayCreate(pAllocateArray : Optional[CUDA_ARRAY_DESCRIPTOR]):
 *     """ Creates a 1D or 2D CUDA array.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pAllocateArray, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_ARRAY_DESCRIPTOR) < (0)) __PYX_ERR(0, 26463, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_295cuArrayCreate, 0, __pyx_mstate_global->__pyx_n_u_cuArrayCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[926])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuArrayCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 26463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":26531
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetDescriptor(hArray):
 *     """ Get a 1D or 2D CUDA array descriptor.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_297cuArrayGetDescriptor, 0, __pyx_mstate_global->__pyx_n_u_cuArrayGetDescriptor, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[927])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuArrayGetDescriptor, __pyx_t_17) < (0)) __PYX_ERR(0, 26531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":26571
 *     return (_dict_CUresult[err], pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetSparseProperties(array):
 *     """ Returns the layout properties of a sparse CUDA array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_299cuArrayGetSparseProperties, 0, __pyx_mstate_global->__pyx_n_u_cuArrayGetSparseProperties, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[928])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuArrayGetSparseProperties, __pyx_t_17) < (0)) __PYX_ERR(0, 26571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":26624
 *     return (_dict_CUresult[err], sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetSparseProperties(mipmap):
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_301cuMipmappedArrayGetSparseProperties, 0, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayGetSparsePropert, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[929])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayGetSparsePropert, __pyx_t_17) < (0)) __PYX_ERR(0, 26624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":26679
 *     return (_dict_CUresult[err], sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetMemoryRequirements(array, device):
 *     """ Returns the memory requirements of a CUDA array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_303cuArrayGetMemoryRequirements, 0, __pyx_mstate_global->__pyx_n_u_cuArrayGetMemoryRequirements, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[930])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuArrayGetMemoryRequirements, __pyx_t_17) < (0)) __PYX_ERR(0, 26679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":26734
 *     return (_dict_CUresult[err], memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetMemoryRequirements(mipmap, device):
 *     """ Returns the memory requirements of a CUDA mipmapped array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_305cuMipmappedArrayGetMemoryRequirements, 0, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayGetMemoryRequire, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[931])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayGetMemoryRequire, __pyx_t_17) < (0)) __PYX_ERR(0, 26734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":26790
 *     return (_dict_CUresult[err], memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetPlane(hArray, unsigned int planeIdx):
 *     """ Gets a CUDA array plane from a CUDA array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_307cuArrayGetPlane, 0, __pyx_mstate_global->__pyx_n_u_cuArrayGetPlane, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[932])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuArrayGetPlane, __pyx_t_17) < (0)) __PYX_ERR(0, 26790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":26843
 *     return (_dict_CUresult[err], pPlaneArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayDestroy(hArray):
 *     """ Destroys a CUDA array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_309cuArrayDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuArrayDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[933])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuArrayDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 26843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":26875
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DCreate(pAllocateArray : Optional[CUDA_ARRAY3D_DESCRIPTOR]):
 *     """ Creates a 3D CUDA array.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 26875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pAllocateArray, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_ARRAY3D_DESCRIPTOR) < (0)) __PYX_ERR(0, 26875, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_311cuArray3DCreate, 0, __pyx_mstate_global->__pyx_n_u_cuArray3DCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[934])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 26875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuArray3DCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 26875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":27007
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DGetDescriptor(hArray):
 *     """ Get a 3D CUDA array descriptor.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_313cuArray3DGetDescriptor, 0, __pyx_mstate_global->__pyx_n_u_cuArray3DGetDescriptor, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[935])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuArray3DGetDescriptor, __pyx_t_18) < (0)) __PYX_ERR(0, 27007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":27051
 *     return (_dict_CUresult[err], pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayCreate(pMipmappedArrayDesc : Optional[CUDA_ARRAY3D_DESCRIPTOR], unsigned int numMipmapLevels):
 *     """ Creates a CUDA mipmapped array.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pMipmappedArrayDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_ARRAY3D_DESCRIPTOR) < (0)) __PYX_ERR(0, 27051, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_315cuMipmappedArrayCreate, 0, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[936])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 27051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":27171
 *     return (_dict_CUresult[err], pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetLevel(hMipmappedArray, unsigned int level):
 *     """ Gets a mipmap level of a CUDA mipmapped array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_317cuMipmappedArrayGetLevel, 0, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayGetLevel, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[937])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayGetLevel, __pyx_t_17) < (0)) __PYX_ERR(0, 27171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":27214
 *     return (_dict_CUresult[err], pLevelArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayDestroy(hMipmappedArray):
 *     """ Destroys a CUDA mipmapped array.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_319cuMipmappedArrayDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[938])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMipmappedArrayDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 27214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":27246
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetHandleForAddressRange(dptr, size_t size, handleType not None : CUmemRangeHandleType, unsigned long long flags):
 *     """ Retrieve handle for an address range.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_handleType, __pyx_mstate_global->__pyx_n_u_CUmemRangeHandleType) < (0)) __PYX_ERR(0, 27246, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_321cuMemGetHandleForAddressRange, 0, __pyx_mstate_global->__pyx_n_u_cuMemGetHandleForAddressRange, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[939])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemGetHandleForAddressRange, __pyx_t_18) < (0)) __PYX_ERR(0, 27246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":27321
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemBatchDecompressAsync(paramsArray : Optional[CUmemDecompressParams], size_t count, unsigned int flags, stream):
 *     """ Submit a batch of `count` independent decompression operations.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_paramsArray_2, __pyx_mstate_global->__pyx_kp_u_Optional_CUmemDecompressParams) < (0)) __PYX_ERR(0, 27321, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_323cuMemBatchDecompressAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemBatchDecompressAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[940])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemBatchDecompressAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 27321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":27404
 *     return (_dict_CUresult[err], errorIndex)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressReserve(size_t size, size_t alignment, addr, unsigned long long flags):
 *     """ Allocate an address range reservation.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_325cuMemAddressReserve, 0, __pyx_mstate_global->__pyx_n_u_cuMemAddressReserve, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[941])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAddressReserve, __pyx_t_17) < (0)) __PYX_ERR(0, 27404, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":27454
 *     return (_dict_CUresult[err], ptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressFree(ptr, size_t size):
 *     """ Free an address range reservation.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_327cuMemAddressFree, 0, __pyx_mstate_global->__pyx_n_u_cuMemAddressFree, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[942])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAddressFree, __pyx_t_17) < (0)) __PYX_ERR(0, 27454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":27490
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemCreate(size_t size, prop : Optional[CUmemAllocationProp], unsigned long long flags):
 *     """ Create a CUDA memory handle representing a memory allocation of a given size described by the given properties.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_prop, __pyx_mstate_global->__pyx_kp_u_Optional_CUmemAllocationProp) < (0)) __PYX_ERR(0, 27490, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_329cuMemCreate, 0, __pyx_mstate_global->__pyx_n_u_cuMemCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[943])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 27490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":27573
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRelease(handle):
 *     """ Release a memory handle representing a memory allocation which was previously allocated through cuMemCreate.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_331cuMemRelease, 0, __pyx_mstate_global->__pyx_n_u_cuMemRelease, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[944])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemRelease, __pyx_t_18) < (0)) __PYX_ERR(0, 27573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":27614
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMap(ptr, size_t size, size_t offset, handle, unsigned long long flags):
 *     """ Maps an allocation handle to a reserved virtual address range.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_333cuMemMap, 0, __pyx_mstate_global->__pyx_n_u_cuMemMap, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[945])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemMap, __pyx_t_18) < (0)) __PYX_ERR(0, 27614, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":27694
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[tuple[CUarrayMapInfo] | list[CUarrayMapInfo]], unsigned int count, hStream):
 *     """ Maps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_mapInfoList, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUarrayMapInfo_li) < (0)) __PYX_ERR(0, 27694, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_335cuMemMapArrayAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemMapArrayAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[946])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemMapArrayAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 27694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":27865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemUnmap(ptr, size_t size):
 *     """ Unmap the backing memory of a given address range.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_337cuMemUnmap, 0, __pyx_mstate_global->__pyx_n_u_cuMemUnmap, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[947])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemUnmap, __pyx_t_17) < (0)) __PYX_ERR(0, 27865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":27910
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count):
 *     """ Set the access flags for each location specified in `desc` for the given virtual address range.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_desc, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUmemAccessDesc_l) < (0)) __PYX_ERR(0, 27910, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_339cuMemSetAccess, 0, __pyx_mstate_global->__pyx_n_u_cuMemSetAccess, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[948])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemSetAccess, __pyx_t_18) < (0)) __PYX_ERR(0, 27910, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":27980
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAccess(location : Optional[CUmemLocation], ptr):
 *     """ Get the access `flags` set for the given `location` and `ptr`.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 27980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_location_2, __pyx_mstate_global->__pyx_kp_u_Optional_CUmemLocation) < (0)) __PYX_ERR(0, 27980, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_341cuMemGetAccess, 0, __pyx_mstate_global->__pyx_n_u_cuMemGetAccess, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[949])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 27980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemGetAccess, __pyx_t_17) < (0)) __PYX_ERR(0, 27980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28018
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemExportToShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports an allocation to a requested shareable handle type.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_handleType, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType) < (0)) __PYX_ERR(0, 28018, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_343cuMemExportToShareableHandle, 0, __pyx_mstate_global->__pyx_n_u_cuMemExportToShareableHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[950])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemExportToShareableHandle, __pyx_t_18) < (0)) __PYX_ERR(0, 28018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28075
 *     return (_dict_CUresult[err], cyshareableHandle.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemImportFromShareableHandle(osHandle, shHandleType not None : CUmemAllocationHandleType):
 *     """ Imports an allocation from a requested shareable handle type.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_shHandleType, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType) < (0)) __PYX_ERR(0, 28075, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_345cuMemImportFromShareableHandle, 0, __pyx_mstate_global->__pyx_n_u_cuMemImportFromShareableHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[951])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemImportFromShareableHandle, __pyx_t_17) < (0)) __PYX_ERR(0, 28075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28122
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationGranularity(prop : Optional[CUmemAllocationProp], option not None : CUmemAllocationGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_prop, __pyx_mstate_global->__pyx_kp_u_Optional_CUmemAllocationProp) < (0)) __PYX_ERR(0, 28122, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_option, __pyx_mstate_global->__pyx_n_u_CUmemAllocationGranularity_flags) < (0)) __PYX_ERR(0, 28122, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_347cuMemGetAllocationGranularity, 0, __pyx_mstate_global->__pyx_n_u_cuMemGetAllocationGranularity, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[952])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemGetAllocationGranularity, __pyx_t_18) < (0)) __PYX_ERR(0, 28122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28158
 *     return (_dict_CUresult[err], granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationPropertiesFromHandle(handle):
 *     """ Retrieve the contents of the property structure defining properties for this handle.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_349cuMemGetAllocationPropertiesFromHandle, 0, __pyx_mstate_global->__pyx_n_u_cuMemGetAllocationPropertiesFrom, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[953])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemGetAllocationPropertiesFrom, __pyx_t_18) < (0)) __PYX_ERR(0, 28158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28194
 *     return (_dict_CUresult[err], prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRetainAllocationHandle(addr):
 *     """ Given an address `addr`, returns the allocation handle of the backing memory allocation.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_351cuMemRetainAllocationHandle, 0, __pyx_mstate_global->__pyx_n_u_cuMemRetainAllocationHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[954])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemRetainAllocationHandle, __pyx_t_18) < (0)) __PYX_ERR(0, 28194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28232
 *     return (_dict_CUresult[err], handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeAsync(dptr, hStream):
 *     """ Frees memory with stream ordered semantics.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_353cuMemFreeAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemFreeAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[955])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemFreeAsync, __pyx_t_18) < (0)) __PYX_ERR(0, 28232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28277
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocAsync(size_t bytesize, hStream):
 *     """ Allocates memory with stream ordered semantics.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_355cuMemAllocAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemAllocAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[956])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAllocAsync, __pyx_t_18) < (0)) __PYX_ERR(0, 28277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28328
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolTrimTo(pool, size_t minBytesToKeep):
 *     """ Tries to release memory back to the OS.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_357cuMemPoolTrimTo, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolTrimTo, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[957])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolTrimTo, __pyx_t_18) < (0)) __PYX_ERR(0, 28328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28375
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAttribute(pool, attr not None : CUmemPool_attribute, value):
 *     """ Sets attributes of a memory pool.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attr, __pyx_mstate_global->__pyx_n_u_CUmemPool_attribute) < (0)) __PYX_ERR(0, 28375, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_359cuMemPoolSetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolSetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[958])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolSetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 28375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28447
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAttribute(pool, attr not None : CUmemPool_attribute):
 *     """ Gets attributes of a memory pool.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attr, __pyx_mstate_global->__pyx_n_u_CUmemPool_attribute) < (0)) __PYX_ERR(0, 28447, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_361cuMemPoolGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[959])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolGetAttribute, __pyx_t_18) < (0)) __PYX_ERR(0, 28447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28528
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[tuple[CUmemAccessDesc] | list[CUmemAccessDesc]], size_t count):
 *     """ Controls visibility of pools between devices.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_map, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUmemAccessDesc_l) < (0)) __PYX_ERR(0, 28528, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_363cuMemPoolSetAccess, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolSetAccess, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[960])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolSetAccess, __pyx_t_17) < (0)) __PYX_ERR(0, 28528, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28578
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAccess(memPool, location : Optional[CUmemLocation]):
 *     """ Returns the accessibility of a pool from a device.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_location_2, __pyx_mstate_global->__pyx_kp_u_Optional_CUmemLocation) < (0)) __PYX_ERR(0, 28578, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_365cuMemPoolGetAccess, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolGetAccess, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[961])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolGetAccess, __pyx_t_18) < (0)) __PYX_ERR(0, 28578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28619
 *     return (_dict_CUresult[err], CUmemAccess_flags(flags))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolCreate(poolProps : Optional[CUmemPoolProps]):
 *     """ Creates a memory pool.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_poolProps_2, __pyx_mstate_global->__pyx_kp_u_Optional_CUmemPoolProps) < (0)) __PYX_ERR(0, 28619, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_367cuMemPoolCreate, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[962])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 28619, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28691
 *     return (_dict_CUresult[err], pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolDestroy(pool):
 *     """ Destroys the specified memory pool.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_369cuMemPoolDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[963])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 28691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28734
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocFromPoolAsync(size_t bytesize, pool, hStream):
 *     """ Allocates memory from a specified pool with stream ordered semantics.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_371cuMemAllocFromPoolAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemAllocFromPoolAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[964])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAllocFromPoolAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 28734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28790
 *     return (_dict_CUresult[err], dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportToShareableHandle(pool, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports a memory pool to the requested handle type.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_handleType, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType) < (0)) __PYX_ERR(0, 28790, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_373cuMemPoolExportToShareableHandle, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolExportToShareableHandle, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[965])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolExportToShareableHandle, __pyx_t_18) < (0)) __PYX_ERR(0, 28790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28844
 *     return (_dict_CUresult[err], cyhandle_out.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportFromShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ imports a memory pool from a shared handle.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_handleType, __pyx_mstate_global->__pyx_n_u_CUmemAllocationHandleType) < (0)) __PYX_ERR(0, 28844, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_375cuMemPoolImportFromShareableHandle, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolImportFromShareableHand, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[966])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolImportFromShareableHand, __pyx_t_17) < (0)) __PYX_ERR(0, 28844, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28890
 *     return (_dict_CUresult[err], pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportPointer(ptr):
 *     """ Export data to share a memory pool allocation between processes.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_377cuMemPoolExportPointer, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolExportPointer, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[967])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolExportPointer, __pyx_t_17) < (0)) __PYX_ERR(0, 28890, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":28930
 *     return (_dict_CUresult[err], shareData_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportPointer(pool, shareData : Optional[CUmemPoolPtrExportData]):
 *     """ Import a memory pool allocation from another process.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_shareData, __pyx_mstate_global->__pyx_kp_u_Optional_CUmemPoolPtrExportData) < (0)) __PYX_ERR(0, 28930, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_379cuMemPoolImportPointer, 0, __pyx_mstate_global->__pyx_n_u_cuMemPoolImportPointer, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[968])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPoolImportPointer, __pyx_t_18) < (0)) __PYX_ERR(0, 28930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":28980
 *     return (_dict_CUresult[err], ptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastCreate(prop : Optional[CUmulticastObjectProp]):
 *     """ Create a generic allocation handle representing a multicast object described by the given properties.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 28980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_prop, __pyx_mstate_global->__pyx_kp_u_Optional_CUmulticastObjectProp) < (0)) __PYX_ERR(0, 28980, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_381cuMulticastCreate, 0, __pyx_mstate_global->__pyx_n_u_cuMulticastCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[969])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 28980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMulticastCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 28980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":29038
 *     return (_dict_CUresult[err], mcHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastAddDevice(mcHandle, dev):
 *     """ Associate a device to a multicast object.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_383cuMulticastAddDevice, 0, __pyx_mstate_global->__pyx_n_u_cuMulticastAddDevice, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[970])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMulticastAddDevice, __pyx_t_17) < (0)) __PYX_ERR(0, 29038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":29091
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindMem(mcHandle, size_t mcOffset, memHandle, size_t memOffset, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a handle to a multicast object.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_385cuMulticastBindMem, 0, __pyx_mstate_global->__pyx_n_u_cuMulticastBindMem, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[971])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMulticastBindMem, __pyx_t_17) < (0)) __PYX_ERR(0, 29091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":29168
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindAddr(mcHandle, size_t mcOffset, memptr, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a virtual address to a multicast object.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_387cuMulticastBindAddr, 0, __pyx_mstate_global->__pyx_n_u_cuMulticastBindAddr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[972])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMulticastBindAddr, __pyx_t_17) < (0)) __PYX_ERR(0, 29168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":29241
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastUnbind(mcHandle, dev, size_t mcOffset, size_t size):
 *     """ Unbind any memory allocations bound to a multicast object at a given offset and upto a given size.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_389cuMulticastUnbind, 0, __pyx_mstate_global->__pyx_n_u_cuMulticastUnbind, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[973])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMulticastUnbind, __pyx_t_17) < (0)) __PYX_ERR(0, 29241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":29297
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastGetGranularity(prop : Optional[CUmulticastObjectProp], option not None : CUmulticastGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity for multicast object.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_prop, __pyx_mstate_global->__pyx_kp_u_Optional_CUmulticastObjectProp) < (0)) __PYX_ERR(0, 29297, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_option, __pyx_mstate_global->__pyx_n_u_CUmulticastGranularity_flags) < (0)) __PYX_ERR(0, 29297, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_391cuMulticastGetGranularity, 0, __pyx_mstate_global->__pyx_n_u_cuMulticastGetGranularity, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[974])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 29297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMulticastGetGranularity, __pyx_t_18) < (0)) __PYX_ERR(0, 29297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":29333
 *     return (_dict_CUresult[err], granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttribute(attribute not None : CUpointer_attribute, ptr):
 *     """ Returns information about a pointer.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 29333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attribute, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute) < (0)) __PYX_ERR(0, 29333, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_393cuPointerGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuPointerGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[975])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuPointerGetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 29333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":29543
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream):
 *     """ Prefetches memory to the specified destination device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_395cuMemPrefetchAsync, 0, __pyx_mstate_global->__pyx_n_u_cuMemPrefetchAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[976])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPrefetchAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 29543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":29657
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync_v2(devPtr, size_t count, location not None : CUmemLocation, unsigned int flags, hStream):
 *     """ Prefetches memory to the specified destination location.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_location_2, __pyx_mstate_global->__pyx_n_u_CUmemLocation) < (0)) __PYX_ERR(0, 29657, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_397cuMemPrefetchAsync_v2, 0, __pyx_mstate_global->__pyx_n_u_cuMemPrefetchAsync_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[977])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 29657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemPrefetchAsync_v2, __pyx_t_18) < (0)) __PYX_ERR(0, 29657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":29776
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(devPtr, size_t count, advice not None : CUmem_advise, device):
 *     """ Advise about the usage of a given memory range.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 29776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_advice, __pyx_mstate_global->__pyx_n_u_CUmem_advise) < (0)) __PYX_ERR(0, 29776, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_399cuMemAdvise, 0, __pyx_mstate_global->__pyx_n_u_cuMemAdvise, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[978])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAdvise, __pyx_t_17) < (0)) __PYX_ERR(0, 29776, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":29958
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise_v2(devPtr, size_t count, advice not None : CUmem_advise, location not None : CUmemLocation):
 *     """ Advise about the usage of a given memory range.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 29958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_advice, __pyx_mstate_global->__pyx_n_u_CUmem_advise) < (0)) __PYX_ERR(0, 29958, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_location_2, __pyx_mstate_global->__pyx_n_u_CUmemLocation) < (0)) __PYX_ERR(0, 29958, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_401cuMemAdvise_v2, 0, __pyx_mstate_global->__pyx_n_u_cuMemAdvise_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[979])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 29958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemAdvise_v2, __pyx_t_18) < (0)) __PYX_ERR(0, 29958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30161
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttribute(size_t dataSize, attribute not None : CUmem_range_attribute, devPtr, size_t count):
 *     """ Query an attribute of a given memory range.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attribute, __pyx_mstate_global->__pyx_n_u_CUmem_range_attribute) < (0)) __PYX_ERR(0, 30161, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_403cuMemRangeGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuMemRangeGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[980])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 30161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemRangeGetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 30161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":30316
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : tuple[int] | list[int], attributes : Optional[tuple[CUmem_range_attribute] | list[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count):
 *     """ Query attributes of a given memory range.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 30316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dataSizes, __pyx_mstate_global->__pyx_kp_u_tuple_int_list_int) < (0)) __PYX_ERR(0, 30316, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attributes, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUmem_range_attri) < (0)) __PYX_ERR(0, 30316, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_405cuMemRangeGetAttributes, 0, __pyx_mstate_global->__pyx_n_u_cuMemRangeGetAttributes, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[981])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuMemRangeGetAttributes, __pyx_t_18) < (0)) __PYX_ERR(0, 30316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30400
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerSetAttribute(value, attribute not None : CUpointer_attribute, ptr):
 *     """ Set attributes on a previously allocated memory region.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attribute, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute) < (0)) __PYX_ERR(0, 30400, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_407cuPointerSetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuPointerSetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[982])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 30400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuPointerSetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 30400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":30453
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[tuple[CUpointer_attribute] | list[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 30453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attributes, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUpointer_attribu) < (0)) __PYX_ERR(0, 30453, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_409cuPointerGetAttributes, 0, __pyx_mstate_global->__pyx_n_u_cuPointerGetAttributes, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[983])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuPointerGetAttributes, __pyx_t_18) < (0)) __PYX_ERR(0, 30453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30544
 *     return (_dict_CUresult[err], [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreate(unsigned int Flags):
 *     """ Create a stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_411cuStreamCreate, 0, __pyx_mstate_global->__pyx_n_u_cuStreamCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[984])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 30544, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30583
 *     return (_dict_CUresult[err], phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreateWithPriority(unsigned int flags, int priority):
 *     """ Create a stream with the given priority.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_413cuStreamCreateWithPriority, 0, __pyx_mstate_global->__pyx_n_u_cuStreamCreateWithPriority, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[985])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamCreateWithPriority, __pyx_t_18) < (0)) __PYX_ERR(0, 30583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30635
 *     return (_dict_CUresult[err], phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetPriority(hStream):
 *     """ Query the priority of a given stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_415cuStreamGetPriority, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetPriority, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[986])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetPriority, __pyx_t_18) < (0)) __PYX_ERR(0, 30635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30680
 *     return (_dict_CUresult[err], priority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetDevice(hStream):
 *     """ Returns the device handle of the stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_417cuStreamGetDevice, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetDevice, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[987])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetDevice, __pyx_t_18) < (0)) __PYX_ERR(0, 30680, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30717
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetFlags(hStream):
 *     """ Query the flags of a given stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_419cuStreamGetFlags, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[988])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetFlags, __pyx_t_18) < (0)) __PYX_ERR(0, 30717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30759
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetId(hStream):
 *     """ Returns the unique Id associated with the stream handle supplied.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_421cuStreamGetId, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetId, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[989])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetId, __pyx_t_18) < (0)) __PYX_ERR(0, 30759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30813
 *     return (_dict_CUresult[err], streamId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx(hStream):
 *     """ Query the context associated with a stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_423cuStreamGetCtx, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetCtx, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[990])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetCtx, __pyx_t_18) < (0)) __PYX_ERR(0, 30813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30876
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx_v2(hStream):
 *     """ Query the contexts associated with a stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_425cuStreamGetCtx_v2, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetCtx_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[991])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetCtx_v2, __pyx_t_18) < (0)) __PYX_ERR(0, 30876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":30951
 *     return (_dict_CUresult[err], pCtx, pGreenCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitEvent(hStream, hEvent, unsigned int Flags):
 *     """ Make a compute stream wait on an event.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_427cuStreamWaitEvent, 0, __pyx_mstate_global->__pyx_n_u_cuStreamWaitEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[992])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 30951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamWaitEvent, __pyx_t_18) < (0)) __PYX_ERR(0, 30951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":31020
 *     free(cbData)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAddCallback(hStream, callback, userData, unsigned int flags):
 *     """ Add a callback to a compute stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_429cuStreamAddCallback, 0, __pyx_mstate_global->__pyx_n_u_cuStreamAddCallback, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[993])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 31020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamAddCallback, __pyx_t_18) < (0)) __PYX_ERR(0, 31020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":31121
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCapture(hStream, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 31121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_mode, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode) < (0)) __PYX_ERR(0, 31121, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_431cuStreamBeginCapture, 0, __pyx_mstate_global->__pyx_n_u_cuStreamBeginCapture, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[994])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamBeginCapture, __pyx_t_17) < (0)) __PYX_ERR(0, 31121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31174
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream to an existing graph.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 31174, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dependencyData, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphEdgeData_l) < (0)) __PYX_ERR(0, 31174, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_mode, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode) < (0)) __PYX_ERR(0, 31174, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_433cuStreamBeginCaptureToGraph, 0, __pyx_mstate_global->__pyx_n_u_cuStreamBeginCaptureToGraph, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[995])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 31174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamBeginCaptureToGraph, __pyx_t_18) < (0)) __PYX_ERR(0, 31174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":31278
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuThreadExchangeStreamCaptureMode(mode not None : CUstreamCaptureMode):
 *     """ Swaps the stream capture interaction mode for a thread.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 31278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_mode, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureMode) < (0)) __PYX_ERR(0, 31278, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_435cuThreadExchangeStreamCaptureMode, 0, __pyx_mstate_global->__pyx_n_u_cuThreadExchangeStreamCaptureMod, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[996])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuThreadExchangeStreamCaptureMod, __pyx_t_17) < (0)) __PYX_ERR(0, 31278, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31349
 *     return (_dict_CUresult[err], CUstreamCaptureMode(cymode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamEndCapture(hStream):
 *     """ Ends capture on a stream, returning the captured graph.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_437cuStreamEndCapture, 0, __pyx_mstate_global->__pyx_n_u_cuStreamEndCapture, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[997])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamEndCapture, __pyx_t_17) < (0)) __PYX_ERR(0, 31349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31394
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamIsCapturing(hStream):
 *     """ Returns a stream's capture status.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_439cuStreamIsCapturing, 0, __pyx_mstate_global->__pyx_n_u_cuStreamIsCapturing, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[998])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamIsCapturing, __pyx_t_17) < (0)) __PYX_ERR(0, 31394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31454
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo(hStream):
 *     """ Query a stream's capture state.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_441cuStreamGetCaptureInfo, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetCaptureInfo, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[999])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetCaptureInfo, __pyx_t_17) < (0)) __PYX_ERR(0, 31454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31535
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo_v3(hStream):
 *     """ Query a stream's capture state (12.3+)
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_443cuStreamGetCaptureInfo_v3, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetCaptureInfo_v3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1000])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetCaptureInfo_v3, __pyx_t_17) < (0)) __PYX_ERR(0, 31535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31632
 *     return (_dict_CUresult[err], CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 31632, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_445cuStreamUpdateCaptureDependencies, 0, __pyx_mstate_global->__pyx_n_u_cuStreamUpdateCaptureDependencie_3, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1001])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 31632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamUpdateCaptureDependencie_3, __pyx_t_18) < (0)) __PYX_ERR(0, 31632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":31705
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 31705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 31705, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencyData, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphEdgeData_l) < (0)) __PYX_ERR(0, 31705, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_447cuStreamUpdateCaptureDependencies_v2, 0, __pyx_mstate_global->__pyx_n_u_cuStreamUpdateCaptureDependencie_4, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1002])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamUpdateCaptureDependencie_4, __pyx_t_17) < (0)) __PYX_ERR(0, 31705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31789
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAttachMemAsync(hStream, dptr, size_t length, unsigned int flags):
 *     """ Attach memory to a stream asynchronously.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_449cuStreamAttachMemAsync, 0, __pyx_mstate_global->__pyx_n_u_cuStreamAttachMemAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1003])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamAttachMemAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 31789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31899
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamQuery(hStream):
 *     """ Determine status of a compute stream.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_451cuStreamQuery, 0, __pyx_mstate_global->__pyx_n_u_cuStreamQuery, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1004])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamQuery, __pyx_t_17) < (0)) __PYX_ERR(0, 31899, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31937
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSynchronize(hStream):
 *     """ Wait until a stream's tasks are completed.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_453cuStreamSynchronize, 0, __pyx_mstate_global->__pyx_n_u_cuStreamSynchronize, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1005])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamSynchronize, __pyx_t_17) < (0)) __PYX_ERR(0, 31937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":31974
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamDestroy(hStream):
 *     """ Destroys a stream.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_455cuStreamDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuStreamDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1006])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 31974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 31974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32012
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCopyAttributes(dst, src):
 *     """ Copies attributes from source stream to destination stream.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_457cuStreamCopyAttributes, 0, __pyx_mstate_global->__pyx_n_u_cuStreamCopyAttributes, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1007])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamCopyAttributes, __pyx_t_17) < (0)) __PYX_ERR(0, 32012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32055
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetAttribute(hStream, attr not None : CUstreamAttrID):
 *     """ Queries stream attribute.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attr, __pyx_mstate_global->__pyx_n_u_CUstreamAttrID) < (0)) __PYX_ERR(0, 32055, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_459cuStreamGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1008])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 32055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetAttribute, __pyx_t_18) < (0)) __PYX_ERR(0, 32055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":32096
 *     return (_dict_CUresult[err], value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSetAttribute(hStream, attr not None : CUstreamAttrID, value : Optional[CUstreamAttrValue]):
 *     """ Sets stream attribute.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 32096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attr, __pyx_mstate_global->__pyx_n_u_CUstreamAttrID) < (0)) __PYX_ERR(0, 32096, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_value, __pyx_mstate_global->__pyx_kp_u_Optional_CUstreamAttrValue) < (0)) __PYX_ERR(0, 32096, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_461cuStreamSetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuStreamSetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1009])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamSetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 32096, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32136
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreate(unsigned int Flags):
 *     """ Creates an event.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_463cuEventCreate, 0, __pyx_mstate_global->__pyx_n_u_cuEventCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1010])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 32136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32184
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecord(hEvent, hStream):
 *     """ Records an event.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_465cuEventRecord, 0, __pyx_mstate_global->__pyx_n_u_cuEventRecord, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1011])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventRecord, __pyx_t_17) < (0)) __PYX_ERR(0, 32184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32241
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecordWithFlags(hEvent, hStream, unsigned int flags):
 *     """ Records an event.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_467cuEventRecordWithFlags, 0, __pyx_mstate_global->__pyx_n_u_cuEventRecordWithFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1012])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventRecordWithFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 32241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32308
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventQuery(hEvent):
 *     """ Queries an event's status.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_469cuEventQuery, 0, __pyx_mstate_global->__pyx_n_u_cuEventQuery, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1013])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventQuery, __pyx_t_17) < (0)) __PYX_ERR(0, 32308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32350
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventSynchronize(hEvent):
 *     """ Waits for an event to complete.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_471cuEventSynchronize, 0, __pyx_mstate_global->__pyx_n_u_cuEventSynchronize, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1014])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventSynchronize, __pyx_t_17) < (0)) __PYX_ERR(0, 32350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32391
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventDestroy(hEvent):
 *     """ Destroys an event.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_473cuEventDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuEventDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1015])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 32391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32429
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_475cuEventElapsedTime, 0, __pyx_mstate_global->__pyx_n_u_cuEventElapsedTime, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1016])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventElapsedTime, __pyx_t_17) < (0)) __PYX_ERR(0, 32429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32499
 *     return (_dict_CUresult[err], pMilliseconds)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime_v2(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_477cuEventElapsedTime_v2, 0, __pyx_mstate_global->__pyx_n_u_cuEventElapsedTime_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1017])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventElapsedTime_v2, __pyx_t_17) < (0)) __PYX_ERR(0, 32499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32569
 *     return (_dict_CUresult[err], pMilliseconds)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalMemory(memHandleDesc : Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC]):
 *     """ Imports an external memory object.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_memHandleDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_HA) < (0)) __PYX_ERR(0, 32569, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_479cuImportExternalMemory, 0, __pyx_mstate_global->__pyx_n_u_cuImportExternalMemory, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1018])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 32569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuImportExternalMemory, __pyx_t_18) < (0)) __PYX_ERR(0, 32569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":32722
 *     return (_dict_CUresult[err], extMem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedBuffer(extMem, bufferDesc : Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC]):
 *     """ Maps a buffer onto an imported memory object.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 32722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_bufferDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_BU) < (0)) __PYX_ERR(0, 32722, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_481cuExternalMemoryGetMappedBuffer, 0, __pyx_mstate_global->__pyx_n_u_cuExternalMemoryGetMappedBuffer, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1019])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuExternalMemoryGetMappedBuffer, __pyx_t_17) < (0)) __PYX_ERR(0, 32722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":32789
 *     return (_dict_CUresult[err], devPtr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC]):
 *     """ Maps a CUDA mipmapped array onto an external memory object.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_mipmapDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_MI) < (0)) __PYX_ERR(0, 32789, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_483cuExternalMemoryGetMappedMipmappedArray, 0, __pyx_mstate_global->__pyx_n_u_cuExternalMemoryGetMappedMipmapp, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1020])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 32789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuExternalMemoryGetMappedMipmapp, __pyx_t_18) < (0)) __PYX_ERR(0, 32789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":32859
 *     return (_dict_CUresult[err], mipmap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalMemory(extMem):
 *     """ Destroys an external memory object.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_485cuDestroyExternalMemory, 0, __pyx_mstate_global->__pyx_n_u_cuDestroyExternalMemory, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1021])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 32859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDestroyExternalMemory, __pyx_t_18) < (0)) __PYX_ERR(0, 32859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":32894
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalSemaphore(semHandleDesc : Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC]):
 *     """ Imports an external semaphore.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 32894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_semHandleDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXTERNAL_SEMAPHORE) < (0)) __PYX_ERR(0, 32894, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_487cuImportExternalSemaphore, 0, __pyx_mstate_global->__pyx_n_u_cuImportExternalSemaphore, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1022])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 32894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuImportExternalSemaphore, __pyx_t_17) < (0)) __PYX_ERR(0, 32894, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33042
 *     return (_dict_CUresult[err], extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray : Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream):
 *     """ Signals a set of external semaphore objects.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_extSemArray_2, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUexternalSemapho) < (0)) __PYX_ERR(0, 33042, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_paramsArray_2, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUDA_EXTERNAL_SEM) < (0)) __PYX_ERR(0, 33042, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_489cuSignalExternalSemaphoresAsync, 0, __pyx_mstate_global->__pyx_n_u_cuSignalExternalSemaphoresAsync_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1023])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 33042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuSignalExternalSemaphoresAsync_2, __pyx_t_18) < (0)) __PYX_ERR(0, 33042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":33178
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[tuple[CUexternalSemaphore] | list[CUexternalSemaphore]], paramsArray : Optional[tuple[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS] | list[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream):
 *     """ Waits on a set of external semaphore objects.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 33178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_extSemArray_2, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUexternalSemapho) < (0)) __PYX_ERR(0, 33178, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_paramsArray_2, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUDA_EXTERNAL_SEM_2) < (0)) __PYX_ERR(0, 33178, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_491cuWaitExternalSemaphoresAsync, 0, __pyx_mstate_global->__pyx_n_u_cuWaitExternalSemaphoresAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1024])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuWaitExternalSemaphoresAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 33178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33305
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalSemaphore(extSem):
 *     """ Destroys an external semaphore.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_493cuDestroyExternalSemaphore, 0, __pyx_mstate_global->__pyx_n_u_cuDestroyExternalSemaphore, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1025])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDestroyExternalSemaphore, __pyx_t_17) < (0)) __PYX_ERR(0, 33305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33339
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue32(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_495cuStreamWaitValue32, 0, __pyx_mstate_global->__pyx_n_u_cuStreamWaitValue32, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1026])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamWaitValue32, __pyx_t_17) < (0)) __PYX_ERR(0, 33339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33410
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue64(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_497cuStreamWaitValue64, 0, __pyx_mstate_global->__pyx_n_u_cuStreamWaitValue64, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1027])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamWaitValue64, __pyx_t_17) < (0)) __PYX_ERR(0, 33410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33479
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue32(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_499cuStreamWriteValue32, 0, __pyx_mstate_global->__pyx_n_u_cuStreamWriteValue32, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1028])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamWriteValue32, __pyx_t_17) < (0)) __PYX_ERR(0, 33479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33538
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue64(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_501cuStreamWriteValue64, 0, __pyx_mstate_global->__pyx_n_u_cuStreamWriteValue64, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1029])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamWriteValue64, __pyx_t_17) < (0)) __PYX_ERR(0, 33538, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33599
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[tuple[CUstreamBatchMemOpParams] | list[CUstreamBatchMemOpParams]], unsigned int flags):
 *     """ Batch operations to synchronize the stream via memory operations.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_paramArray_2, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUstreamBatchMemO) < (0)) __PYX_ERR(0, 33599, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_503cuStreamBatchMemOp, 0, __pyx_mstate_global->__pyx_n_u_cuStreamBatchMemOp, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1030])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 33599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamBatchMemOp, __pyx_t_18) < (0)) __PYX_ERR(0, 33599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":33669
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetAttribute(attrib not None : CUfunction_attribute, hfunc):
 *     """ Returns information about a function.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 33669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute) < (0)) __PYX_ERR(0, 33669, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_505cuFuncGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuFuncGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1031])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncGetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 33669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33802
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetAttribute(hfunc, attrib not None : CUfunction_attribute, int value):
 *     """ Sets information about a function.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUfunction_attribute) < (0)) __PYX_ERR(0, 33802, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_507cuFuncSetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuFuncSetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1032])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 33802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncSetAttribute, __pyx_t_18) < (0)) __PYX_ERR(0, 33802, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":33893
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetCacheConfig(hfunc, config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for a device function.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 33893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_config, __pyx_mstate_global->__pyx_n_u_CUfunc_cache) < (0)) __PYX_ERR(0, 33893, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_509cuFuncSetCacheConfig, 0, __pyx_mstate_global->__pyx_n_u_cuFuncSetCacheConfig, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1033])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncSetCacheConfig, __pyx_t_17) < (0)) __PYX_ERR(0, 33893, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33956
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetModule(hfunc):
 *     """ Returns a module handle.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_511cuFuncGetModule, 0, __pyx_mstate_global->__pyx_n_u_cuFuncGetModule, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1034])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncGetModule, __pyx_t_17) < (0)) __PYX_ERR(0, 33956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":33997
 *     return (_dict_CUresult[err], hmod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUfunction` handle.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_513cuFuncGetName, 0, __pyx_mstate_global->__pyx_n_u_cuFuncGetName, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1035])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 33997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncGetName, __pyx_t_17) < (0)) __PYX_ERR(0, 33997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34036
 *     return (_dict_CUresult[err], <bytes>name if name != NULL else None)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetParamInfo(func, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_515cuFuncGetParamInfo, 0, __pyx_mstate_global->__pyx_n_u_cuFuncGetParamInfo, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1036])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncGetParamInfo, __pyx_t_17) < (0)) __PYX_ERR(0, 34036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34088
 *     return (_dict_CUresult[err], paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncIsLoaded(function):
 *     """ Returns if the function is loaded.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_517cuFuncIsLoaded, 0, __pyx_mstate_global->__pyx_n_u_cuFuncIsLoaded, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1037])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncIsLoaded, __pyx_t_17) < (0)) __PYX_ERR(0, 34088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34125
 *     return (_dict_CUresult[err], CUfunctionLoadingState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncLoad(function):
 *     """ Loads a function.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_519cuFuncLoad, 0, __pyx_mstate_global->__pyx_n_u_cuFuncLoad, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1038])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncLoad, __pyx_t_17) < (0)) __PYX_ERR(0, 34125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34158
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel`.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_521cuLaunchKernel, 0, __pyx_mstate_global->__pyx_n_u_cuLaunchKernel, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1039])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLaunchKernel, __pyx_t_17) < (0)) __PYX_ERR(0, 34158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34288
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernelEx(config : Optional[CUlaunchConfig], f, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` with launch-time configuration.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_config, __pyx_mstate_global->__pyx_kp_u_Optional_CUlaunchConfig) < (0)) __PYX_ERR(0, 34288, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_523cuLaunchKernelEx, 0, __pyx_mstate_global->__pyx_n_u_cuLaunchKernelEx, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1040])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 34288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLaunchKernelEx, __pyx_t_18) < (0)) __PYX_ERR(0, 34288, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":34526
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` where thread blocks can cooperate and synchronize as they execute.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_525cuLaunchCooperativeKernel, 0, __pyx_mstate_global->__pyx_n_u_cuLaunchCooperativeKernel, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1041])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 34526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLaunchCooperativeKernel, __pyx_t_18) < (0)) __PYX_ERR(0, 34526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":34636
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[tuple[CUDA_LAUNCH_PARAMS] | list[CUDA_LAUNCH_PARAMS]], unsigned int numDevices, unsigned int flags):
 *     """ Launches CUDA functions on multiple devices where thread blocks can cooperate and synchronize as they execute.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 34636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_launchParamsList, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUDA_LAUNCH_PARAM) < (0)) __PYX_ERR(0, 34636, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_527cuLaunchCooperativeKernelMultiDevice, 0, __pyx_mstate_global->__pyx_n_u_cuLaunchCooperativeKernelMultiDe_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1042])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLaunchCooperativeKernelMultiDe_2, __pyx_t_17) < (0)) __PYX_ERR(0, 34636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34820
 *     free(cbData)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchHostFunc(hStream, fn, userData):
 *     """ Enqueues a host function call in a stream.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_529cuLaunchHostFunc, 0, __pyx_mstate_global->__pyx_n_u_cuLaunchHostFunc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1043])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLaunchHostFunc, __pyx_t_17) < (0)) __PYX_ERR(0, 34820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34913
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetBlockShape(hfunc, int x, int y, int z):
 *     """ Sets the block-dimensions for the function.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_531cuFuncSetBlockShape, 0, __pyx_mstate_global->__pyx_n_u_cuFuncSetBlockShape, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1044])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncSetBlockShape, __pyx_t_17) < (0)) __PYX_ERR(0, 34913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34954
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedSize(hfunc, unsigned int numbytes):
 *     """ Sets the dynamic shared-memory size for the function.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_533cuFuncSetSharedSize, 0, __pyx_mstate_global->__pyx_n_u_cuFuncSetSharedSize, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1045])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncSetSharedSize, __pyx_t_17) < (0)) __PYX_ERR(0, 34954, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":34992
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetSize(hfunc, unsigned int numbytes):
 *     """ Sets the parameter size for the function.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_535cuParamSetSize, 0, __pyx_mstate_global->__pyx_n_u_cuParamSetSize, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1046])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 34992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuParamSetSize, __pyx_t_17) < (0)) __PYX_ERR(0, 34992, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35029
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSeti(hfunc, int offset, unsigned int value):
 *     """ Adds an integer parameter to the function's argument list.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_537cuParamSeti, 0, __pyx_mstate_global->__pyx_n_u_cuParamSeti, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1047])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuParamSeti, __pyx_t_17) < (0)) __PYX_ERR(0, 35029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35069
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetf(hfunc, int offset, float value):
 *     """ Adds a floating-point parameter to the function's argument list.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_539cuParamSetf, 0, __pyx_mstate_global->__pyx_n_u_cuParamSetf, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1048])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuParamSetf, __pyx_t_17) < (0)) __PYX_ERR(0, 35069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35109
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetv(hfunc, int offset, ptr, unsigned int numbytes):
 *     """ Adds arbitrary data to the function's argument list.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_541cuParamSetv, 0, __pyx_mstate_global->__pyx_n_u_cuParamSetv, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1049])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuParamSetv, __pyx_t_17) < (0)) __PYX_ERR(0, 35109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35153
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunch(f):
 *     """ Launches a CUDA function.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_543cuLaunch, 0, __pyx_mstate_global->__pyx_n_u_cuLaunch, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1050])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLaunch, __pyx_t_17) < (0)) __PYX_ERR(0, 35153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35201
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGrid(f, int grid_width, int grid_height):
 *     """ Launches a CUDA function.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_545cuLaunchGrid, 0, __pyx_mstate_global->__pyx_n_u_cuLaunchGrid, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1051])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLaunchGrid, __pyx_t_17) < (0)) __PYX_ERR(0, 35201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35253
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGridAsync(f, int grid_width, int grid_height, hStream):
 *     """ Launches a CUDA function.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_547cuLaunchGridAsync, 0, __pyx_mstate_global->__pyx_n_u_cuLaunchGridAsync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1052])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLaunchGridAsync, __pyx_t_17) < (0)) __PYX_ERR(0, 35253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35321
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetTexRef(hfunc, int texunit, hTexRef):
 *     """ Adds a texture-reference to the function's argument list.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_549cuParamSetTexRef, 0, __pyx_mstate_global->__pyx_n_u_cuParamSetTexRef, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1053])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuParamSetTexRef, __pyx_t_17) < (0)) __PYX_ERR(0, 35321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35367
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedMemConfig(hfunc, config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for a device function.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_config, __pyx_mstate_global->__pyx_n_u_CUsharedconfig) < (0)) __PYX_ERR(0, 35367, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_551cuFuncSetSharedMemConfig, 0, __pyx_mstate_global->__pyx_n_u_cuFuncSetSharedMemConfig, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1054])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuFuncSetSharedMemConfig, __pyx_t_18) < (0)) __PYX_ERR(0, 35367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":35437
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphCreate(unsigned int flags):
 *     """ Creates a graph.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_553cuGraphCreate, 0, __pyx_mstate_global->__pyx_n_u_cuGraphCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1055])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 35437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":35466
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Creates a kernel execution node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 35466, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_KERNEL_NODE_PARAMS) < (0)) __PYX_ERR(0, 35466, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_555cuGraphAddKernelNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddKernelNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1056])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddKernelNode, __pyx_t_17) < (0)) __PYX_ERR(0, 35466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35587
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetParams(hNode):
 *     """ Returns a kernel node's parameters.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_557cuGraphKernelNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeGetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1057])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeGetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 35587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35633
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetParams(hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets a kernel node's parameters.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_KERNEL_NODE_PARAMS) < (0)) __PYX_ERR(0, 35633, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_559cuGraphKernelNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1058])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeSetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 35633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":35668
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Creates a memcpy node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 35668, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_copyParams_2, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY3D) < (0)) __PYX_ERR(0, 35668, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_561cuGraphAddMemcpyNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemcpyNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1059])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemcpyNode, __pyx_t_17) < (0)) __PYX_ERR(0, 35668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35756
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeGetParams(hNode):
 *     """ Returns a memcpy node's parameters.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_563cuGraphMemcpyNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphMemcpyNodeGetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1060])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphMemcpyNodeGetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 35756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35793
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMCPY3D]):
 *     """ Sets a memcpy node's parameters.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY3D) < (0)) __PYX_ERR(0, 35793, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_565cuGraphMemcpyNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphMemcpyNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1061])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphMemcpyNodeSetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 35793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":35828
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Creates a memset node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 35828, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_memsetParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMSET_NODE_PARAMS) < (0)) __PYX_ERR(0, 35828, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_567cuGraphAddMemsetNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemsetNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1062])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemsetNode, __pyx_t_17) < (0)) __PYX_ERR(0, 35828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35906
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeGetParams(hNode):
 *     """ Returns a memset node's parameters.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_569cuGraphMemsetNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphMemsetNodeGetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1063])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphMemsetNodeGetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 35906, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":35943
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMSET_NODE_PARAMS]):
 *     """ Sets a memset node's parameters.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMSET_NODE_PARAMS) < (0)) __PYX_ERR(0, 35943, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_571cuGraphMemsetNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphMemsetNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1064])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphMemsetNodeSetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 35943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":35978
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Creates a host execution node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 35978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 35978, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_HOST_NODE_PARAMS) < (0)) __PYX_ERR(0, 35978, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_573cuGraphAddHostNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddHostNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1065])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 35978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddHostNode, __pyx_t_17) < (0)) __PYX_ERR(0, 35978, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36046
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeGetParams(hNode):
 *     """ Returns a host node's parameters.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_575cuGraphHostNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphHostNodeGetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1066])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphHostNodeGetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 36046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36083
 *     return (_dict_CUresult[err], nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeSetParams(hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets a host node's parameters.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_HOST_NODE_PARAMS) < (0)) __PYX_ERR(0, 36083, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_577cuGraphHostNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphHostNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1067])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphHostNodeSetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 36083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":36118
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, childGraph):
 *     """ Creates a child graph node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 36118, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_579cuGraphAddChildGraphNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddChildGraphNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1068])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddChildGraphNode, __pyx_t_17) < (0)) __PYX_ERR(0, 36118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36196
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphChildGraphNodeGetGraph(hNode):
 *     """ Gets a handle to the embedded graph of a child graph node.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_581cuGraphChildGraphNodeGetGraph, 0, __pyx_mstate_global->__pyx_n_u_cuGraphChildGraphNodeGetGraph, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1069])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphChildGraphNodeGetGraph, __pyx_t_17) < (0)) __PYX_ERR(0, 36196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36238
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Creates an empty node and adds it to a graph.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 36238, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_583cuGraphAddEmptyNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddEmptyNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1070])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddEmptyNode, __pyx_t_18) < (0)) __PYX_ERR(0, 36238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":36306
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event record node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 36306, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_585cuGraphAddEventRecordNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddEventRecordNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1071])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddEventRecordNode, __pyx_t_17) < (0)) __PYX_ERR(0, 36306, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36381
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeGetEvent(hNode):
 *     """ Returns the event associated with an event record node.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_587cuGraphEventRecordNodeGetEvent, 0, __pyx_mstate_global->__pyx_n_u_cuGraphEventRecordNodeGetEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1072])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphEventRecordNodeGetEvent, __pyx_t_17) < (0)) __PYX_ERR(0, 36381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36418
 *     return (_dict_CUresult[err], event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeSetEvent(hNode, event):
 *     """ Sets an event record node's event.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_589cuGraphEventRecordNodeSetEvent, 0, __pyx_mstate_global->__pyx_n_u_cuGraphEventRecordNodeSetEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1073])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphEventRecordNodeSetEvent, __pyx_t_17) < (0)) __PYX_ERR(0, 36418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36460
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event wait node and adds it to a graph.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 36460, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_591cuGraphAddEventWaitNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddEventWaitNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1074])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddEventWaitNode, __pyx_t_18) < (0)) __PYX_ERR(0, 36460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":36537
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeGetEvent(hNode):
 *     """ Returns the event associated with an event wait node.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_593cuGraphEventWaitNodeGetEvent, 0, __pyx_mstate_global->__pyx_n_u_cuGraphEventWaitNodeGetEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1075])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphEventWaitNodeGetEvent, __pyx_t_18) < (0)) __PYX_ERR(0, 36537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":36574
 *     return (_dict_CUresult[err], event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeSetEvent(hNode, event):
 *     """ Sets an event wait node's event.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_595cuGraphEventWaitNodeSetEvent, 0, __pyx_mstate_global->__pyx_n_u_cuGraphEventWaitNodeSetEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1076])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphEventWaitNodeSetEvent, __pyx_t_18) < (0)) __PYX_ERR(0, 36574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":36616
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Creates an external semaphore signal node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 36616, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXT_SEM_SIGNAL_NOD) < (0)) __PYX_ERR(0, 36616, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_597cuGraphAddExternalSemaphoresSignalNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddExternalSemaphoresSign_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1077])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddExternalSemaphoresSign_2, __pyx_t_17) < (0)) __PYX_ERR(0, 36616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36685
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeGetParams(hNode):
 *     """ Returns an external semaphore signal node's parameters.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_599cuGraphExternalSemaphoresSignalNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExternalSemaphoresSignalN, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1078])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExternalSemaphoresSignalN, __pyx_t_17) < (0)) __PYX_ERR(0, 36685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36728
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets an external semaphore signal node's parameters.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXT_SEM_SIGNAL_NOD) < (0)) __PYX_ERR(0, 36728, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_601cuGraphExternalSemaphoresSignalNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExternalSemaphoresSignalN_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1079])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExternalSemaphoresSignalN_2, __pyx_t_18) < (0)) __PYX_ERR(0, 36728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":36764
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Creates an external semaphore wait node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 36764, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXT_SEM_WAIT_NODE) < (0)) __PYX_ERR(0, 36764, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_603cuGraphAddExternalSemaphoresWaitNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddExternalSemaphoresWait_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1080])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddExternalSemaphoresWait_2, __pyx_t_17) < (0)) __PYX_ERR(0, 36764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36833
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeGetParams(hNode):
 *     """ Returns an external semaphore wait node's parameters.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_605cuGraphExternalSemaphoresWaitNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExternalSemaphoresWaitNod, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1081])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExternalSemaphoresWaitNod, __pyx_t_17) < (0)) __PYX_ERR(0, 36833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36876
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets an external semaphore wait node's parameters.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXT_SEM_WAIT_NODE) < (0)) __PYX_ERR(0, 36876, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_607cuGraphExternalSemaphoresWaitNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExternalSemaphoresWaitNod_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1082])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExternalSemaphoresWaitNod_2, __pyx_t_18) < (0)) __PYX_ERR(0, 36876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":36912
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Creates a batch memory operation node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 36912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 36912, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_BATCH_MEM_OP_NODE) < (0)) __PYX_ERR(0, 36912, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_609cuGraphAddBatchMemOpNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddBatchMemOpNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1083])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddBatchMemOpNode, __pyx_t_17) < (0)) __PYX_ERR(0, 36912, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":36984
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeGetParams(hNode):
 *     """ Returns a batch mem op node's parameters.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_611cuGraphBatchMemOpNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphBatchMemOpNodeGetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1084])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphBatchMemOpNodeGetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 36984, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37026
 *     return (_dict_CUresult[err], nodeParams_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeSetParams(hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets a batch mem op node's parameters.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_BATCH_MEM_OP_NODE) < (0)) __PYX_ERR(0, 37026, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_613cuGraphBatchMemOpNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphBatchMemOpNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1085])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphBatchMemOpNodeSetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 37026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":37064
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecBatchMemOpNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets the parameters for a batch mem op node in the given graphExec.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_BATCH_MEM_OP_NODE) < (0)) __PYX_ERR(0, 37064, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_615cuGraphExecBatchMemOpNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecBatchMemOpNodeSetPara, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1086])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecBatchMemOpNodeSetPara, __pyx_t_17) < (0)) __PYX_ERR(0, 37064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37132
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_MEM_ALLOC_NODE_PARAMS]):
 *     """ Creates an allocation node and adds it to a graph.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 37132, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEM_ALLOC_NODE_PAR) < (0)) __PYX_ERR(0, 37132, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_617cuGraphAddMemAllocNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemAllocNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1087])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemAllocNode, __pyx_t_18) < (0)) __PYX_ERR(0, 37132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":37241
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemAllocNodeGetParams(hNode):
 *     """ Returns a memory alloc node's parameters.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_619cuGraphMemAllocNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphMemAllocNodeGetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1088])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphMemAllocNodeGetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 37241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":37281
 *     return (_dict_CUresult[err], params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, dptr):
 *     """ Creates a memory free node and adds it to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 37281, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_621cuGraphAddMemFreeNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemFreeNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1089])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddMemFreeNode, __pyx_t_17) < (0)) __PYX_ERR(0, 37281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37374
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemFreeNodeGetParams(hNode):
 *     """ Returns a memory free node's parameters.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_623cuGraphMemFreeNodeGetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphMemFreeNodeGetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1090])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphMemFreeNodeGetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 37374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37411
 *     return (_dict_CUresult[err], dptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGraphMemTrim(device):
 *     """ Free unused memory that was cached on the specified device for use with graphs back to the OS.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_625cuDeviceGraphMemTrim, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGraphMemTrim, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1091])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGraphMemTrim, __pyx_t_17) < (0)) __PYX_ERR(0, 37411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37445
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetGraphMemAttribute(device, attr not None : CUgraphMem_attribute):
 *     """ Query asynchronous allocation attributes related to graphs.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attr, __pyx_mstate_global->__pyx_n_u_CUgraphMem_attribute) < (0)) __PYX_ERR(0, 37445, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_627cuDeviceGetGraphMemAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetGraphMemAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1092])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetGraphMemAttribute, __pyx_t_18) < (0)) __PYX_ERR(0, 37445, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":37501
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetGraphMemAttribute(device, attr not None : CUgraphMem_attribute, value):
 *     """ Set asynchronous allocation attributes related to graphs.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attr, __pyx_mstate_global->__pyx_n_u_CUgraphMem_attribute) < (0)) __PYX_ERR(0, 37501, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_629cuDeviceSetGraphMemAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceSetGraphMemAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1093])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceSetGraphMemAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 37501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37548
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphClone(originalGraph):
 *     """ Clones a graph.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_631cuGraphClone, 0, __pyx_mstate_global->__pyx_n_u_cuGraphClone, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1094])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphClone, __pyx_t_17) < (0)) __PYX_ERR(0, 37548, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37595
 *     return (_dict_CUresult[err], phGraphClone)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeFindInClone(hOriginalNode, hClonedGraph):
 *     """ Finds a cloned version of a node.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_633cuGraphNodeFindInClone, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeFindInClone, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1095])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeFindInClone, __pyx_t_17) < (0)) __PYX_ERR(0, 37595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37649
 *     return (_dict_CUresult[err], phNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetType(hNode):
 *     """ Returns a node's type.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_635cuGraphNodeGetType, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetType, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1096])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetType, __pyx_t_17) < (0)) __PYX_ERR(0, 37649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37687
 * 
 * @cython.embedsignature(True)
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's nodes.
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);

  /* "cuda/bindings/driver.pyx":37686
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):
 *     """ Returns a graph's nodes.
*/
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_637cuGraphGetNodes, 0, __pyx_mstate_global->__pyx_n_u_cuGraphGetNodes, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1097])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphGetNodes, __pyx_t_17) < (0)) __PYX_ERR(0, 37686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37743
 * 
 * @cython.embedsignature(True)
 * def cuGraphGetRootNodes(hGraph, size_t numRootNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's root nodes.
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);

  /* "cuda/bindings/driver.pyx":37742
 *     return (_dict_CUresult[err], pynodes, numNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetRootNodes(hGraph, size_t numRootNodes = 0):
 *     """ Returns a graph's root nodes.
*/
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_639cuGraphGetRootNodes, 0, __pyx_mstate_global->__pyx_n_u_cuGraphGetRootNodes, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1098])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphGetRootNodes, __pyx_t_17) < (0)) __PYX_ERR(0, 37742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37799
 * 
 * @cython.embedsignature(True)
 * def cuGraphGetEdges(hGraph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges.
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);

  /* "cuda/bindings/driver.pyx":37798
 *     return (_dict_CUresult[err], pyrootNodes, numRootNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges.
*/
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_641cuGraphGetEdges, 0, __pyx_mstate_global->__pyx_n_u_cuGraphGetEdges, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1099])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphGetEdges, __pyx_t_17) < (0)) __PYX_ERR(0, 37798, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37869
 * 
 * @cython.embedsignature(True)
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges (12.3+)
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);

  /* "cuda/bindings/driver.pyx":37868
 *     return (_dict_CUresult[err], pyfrom_, pyto, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges (12.3+)
*/
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_643cuGraphGetEdges_v2, 0, __pyx_mstate_global->__pyx_n_u_cuGraphGetEdges_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1100])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphGetEdges_v2, __pyx_t_17) < (0)) __PYX_ERR(0, 37868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":37956
 * 
 * @cython.embedsignature(True)
 * def cuGraphNodeGetDependencies(hNode, size_t numDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies.
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);

  /* "cuda/bindings/driver.pyx":37955
 *     return (_dict_CUresult[err], pyfrom_, pyto, pyedgeData, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies.
*/
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 37955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_645cuGraphNodeGetDependencies, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetDependencies, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1101])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 37955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetDependencies, __pyx_t_17) < (0)) __PYX_ERR(0, 37955, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38013
 * 
 * @cython.embedsignature(True)
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies (12.3+)
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);

  /* "cuda/bindings/driver.pyx":38012
 *     return (_dict_CUresult[err], pydependencies, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies (12.3+)
*/
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_647cuGraphNodeGetDependencies_v2, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetDependencies_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1102])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetDependencies_v2, __pyx_t_17) < (0)) __PYX_ERR(0, 38012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38087
 * 
 * @cython.embedsignature(True)
 * def cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes.
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);

  /* "cuda/bindings/driver.pyx":38086
 *     return (_dict_CUresult[err], pydependencies, pyedgeData, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes.
*/
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_649cuGraphNodeGetDependentNodes, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetDependentNodes, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1103])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetDependentNodes, __pyx_t_17) < (0)) __PYX_ERR(0, 38086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38144
 * 
 * @cython.embedsignature(True)
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes (12.3+)
 * 
*/
  __pyx_t_17 = __Pyx_PyLong_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);

  /* "cuda/bindings/driver.pyx":38143
 *     return (_dict_CUresult[err], pydependentNodes, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes (12.3+)
*/
  __pyx_t_18 = PyTuple_Pack(1, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_651cuGraphNodeGetDependentNodes_v2, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetDependentNodes_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1104])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetDependentNodes_v2, __pyx_t_17) < (0)) __PYX_ERR(0, 38143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38217
 *     return (_dict_CUresult[err], pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_from, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 38217, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_to, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 38217, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_653cuGraphAddDependencies, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1105])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies, __pyx_t_18) < (0)) __PYX_ERR(0, 38217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":38290
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_from, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 38290, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_to, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 38290, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_edgeData, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphEdgeData_l) < (0)) __PYX_ERR(0, 38290, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_655cuGraphAddDependencies_v2, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1106])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddDependencies_v2, __pyx_t_17) < (0)) __PYX_ERR(0, 38290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38380
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_from, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 38380, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_to, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 38380, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_657cuGraphRemoveDependencies, 0, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1107])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies, __pyx_t_18) < (0)) __PYX_ERR(0, 38380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":38457
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[tuple[CUgraphNode] | list[CUgraphNode]], to : Optional[tuple[CUgraphNode] | list[CUgraphNode]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_from, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 38457, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_to, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 38457, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_edgeData, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphEdgeData_l) < (0)) __PYX_ERR(0, 38457, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_659cuGraphRemoveDependencies_v2, 0, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1108])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphRemoveDependencies_v2, __pyx_t_17) < (0)) __PYX_ERR(0, 38457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38553
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroyNode(hNode):
 *     """ Remove a node from the graph.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_661cuGraphDestroyNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphDestroyNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1109])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphDestroyNode, __pyx_t_17) < (0)) __PYX_ERR(0, 38553, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38589
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiate(hGraph, unsigned long long flags):
 *     """ Creates an executable graph from a graph.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_663cuGraphInstantiate, 0, __pyx_mstate_global->__pyx_n_u_cuGraphInstantiate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1110])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphInstantiate, __pyx_t_17) < (0)) __PYX_ERR(0, 38589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38691
 *     return (_dict_CUresult[err], phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiateWithParams(hGraph, instantiateParams : Optional[CUDA_GRAPH_INSTANTIATE_PARAMS]):
 *     """ Creates an executable graph from a graph.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_instantiateParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_GRAPH_INSTANTIATE) < (0)) __PYX_ERR(0, 38691, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_665cuGraphInstantiateWithParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphInstantiateWithParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1111])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphInstantiateWithParams, __pyx_t_18) < (0)) __PYX_ERR(0, 38691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":38834
 *     return (_dict_CUresult[err], phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecGetFlags(hGraphExec):
 *     """ Query the instantiation flags of an executable graph.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_667cuGraphExecGetFlags, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecGetFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1112])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecGetFlags, __pyx_t_18) < (0)) __PYX_ERR(0, 38834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":38874
 *     return (_dict_CUresult[err], flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecKernelNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets the parameters for a kernel node in the given graphExec.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_KERNEL_NODE_PARAMS) < (0)) __PYX_ERR(0, 38874, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_669cuGraphExecKernelNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecKernelNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1113])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecKernelNodeSetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 38874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":38952
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemcpyNodeSetParams(hGraphExec, hNode, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Sets the parameters for a memcpy node in the given graphExec.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 38952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_copyParams_2, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMCPY3D) < (0)) __PYX_ERR(0, 38952, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_671cuGraphExecMemcpyNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecMemcpyNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1114])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 38952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecMemcpyNodeSetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 38952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39024
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemsetNodeSetParams(hGraphExec, hNode, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Sets the parameters for a memset node in the given graphExec.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_memsetParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_MEMSET_NODE_PARAMS) < (0)) __PYX_ERR(0, 39024, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_673cuGraphExecMemsetNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecMemsetNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1115])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 39024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecMemsetNodeSetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 39024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":39101
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecHostNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets the parameters for a host node in the given graphExec.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 39101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_HOST_NODE_PARAMS) < (0)) __PYX_ERR(0, 39101, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_675cuGraphExecHostNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecHostNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1116])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecHostNodeSetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 39101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39153
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecChildGraphNodeSetParams(hGraphExec, hNode, childGraph):
 *     """ Updates node parameters in the child graph node in the given graphExec.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_677cuGraphExecChildGraphNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecChildGraphNodeSetPara, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1117])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecChildGraphNodeSetPara, __pyx_t_18) < (0)) __PYX_ERR(0, 39153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39220
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event record node in the given graphExec.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_679cuGraphExecEventRecordNodeSetEvent, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecEventRecordNodeSetEve, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1118])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecEventRecordNodeSetEve, __pyx_t_18) < (0)) __PYX_ERR(0, 39220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39280
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event wait node in the given graphExec.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_681cuGraphExecEventWaitNodeSetEvent, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecEventWaitNodeSetEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1119])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecEventWaitNodeSetEvent, __pyx_t_18) < (0)) __PYX_ERR(0, 39280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39340
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXT_SEM_SIGNAL_NOD) < (0)) __PYX_ERR(0, 39340, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_683cuGraphExecExternalSemaphoresSignalNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecExternalSemaphoresSig, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1120])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 39340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecExternalSemaphoresSig, __pyx_t_17) < (0)) __PYX_ERR(0, 39340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":39397
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 39397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_EXT_SEM_WAIT_NODE) < (0)) __PYX_ERR(0, 39397, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_685cuGraphExecExternalSemaphoresWaitNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecExternalSemaphoresWai, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1121])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecExternalSemaphoresWai, __pyx_t_18) < (0)) __PYX_ERR(0, 39397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39454
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled):
 *     """ Enables or disables the specified node in the given graphExec.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_687cuGraphNodeSetEnabled, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeSetEnabled, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1122])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeSetEnabled, __pyx_t_18) < (0)) __PYX_ERR(0, 39454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39520
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetEnabled(hGraphExec, hNode):
 *     """ Query whether a node in the given graphExec is enabled.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_689cuGraphNodeGetEnabled, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetEnabled, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1123])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeGetEnabled, __pyx_t_18) < (0)) __PYX_ERR(0, 39520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39578
 *     return (_dict_CUresult[err], isEnabled)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphUpload(hGraphExec, hStream):
 *     """ Uploads an executable graph in a stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_691cuGraphUpload, 0, __pyx_mstate_global->__pyx_n_u_cuGraphUpload, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1124])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphUpload, __pyx_t_18) < (0)) __PYX_ERR(0, 39578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39624
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphLaunch(hGraphExec, hStream):
 *     """ Launches an executable graph in a stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_693cuGraphLaunch, 0, __pyx_mstate_global->__pyx_n_u_cuGraphLaunch, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1125])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphLaunch, __pyx_t_18) < (0)) __PYX_ERR(0, 39624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39675
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecDestroy(hGraphExec):
 *     """ Destroys an executable graph.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_695cuGraphExecDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1126])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecDestroy, __pyx_t_18) < (0)) __PYX_ERR(0, 39675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39709
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroy(hGraph):
 *     """ Destroys a graph.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_697cuGraphDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuGraphDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1127])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphDestroy, __pyx_t_18) < (0)) __PYX_ERR(0, 39709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39741
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecUpdate(hGraphExec, hGraph):
 *     """ Check whether an executable graph can be updated with a graph and perform the update if possible.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_699cuGraphExecUpdate, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecUpdate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1128])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecUpdate, __pyx_t_18) < (0)) __PYX_ERR(0, 39741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39918
 *     return (_dict_CUresult[err], resultInfo)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeCopyAttributes(dst, src):
 *     """ Copies attributes from source node to destination node.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_701cuGraphKernelNodeCopyAttributes, 0, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeCopyAttributes, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1129])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeCopyAttributes, __pyx_t_18) < (0)) __PYX_ERR(0, 39918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":39962
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetAttribute(hNode, attr not None : CUkernelNodeAttrID):
 *     """ Queries node attribute.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 39962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attr, __pyx_mstate_global->__pyx_n_u_CUkernelNodeAttrID) < (0)) __PYX_ERR(0, 39962, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_703cuGraphKernelNodeGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1130])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 39962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeGetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 39962, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":40003
 *     return (_dict_CUresult[err], value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetAttribute(hNode, attr not None : CUkernelNodeAttrID, value : Optional[CUkernelNodeAttrValue]):
 *     """ Sets node attribute.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 40003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attr, __pyx_mstate_global->__pyx_n_u_CUkernelNodeAttrID) < (0)) __PYX_ERR(0, 40003, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_value, __pyx_mstate_global->__pyx_kp_u_Optional_CUkernelNodeAttrValue) < (0)) __PYX_ERR(0, 40003, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_705cuGraphKernelNodeSetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeSetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1131])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphKernelNodeSetAttribute, __pyx_t_18) < (0)) __PYX_ERR(0, 40003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40042
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDebugDotPrint(hGraph, char* path, unsigned int flags):
 *     """ Write a DOT file describing graph structure.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_707cuGraphDebugDotPrint, 0, __pyx_mstate_global->__pyx_n_u_cuGraphDebugDotPrint, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1132])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphDebugDotPrint, __pyx_t_18) < (0)) __PYX_ERR(0, 40042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40079
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):
 *     """ Create a user object.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_709cuUserObjectCreate, 0, __pyx_mstate_global->__pyx_n_u_cuUserObjectCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1133])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuUserObjectCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 40079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40138
 *     return (_dict_CUresult[err], object_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRetain(object, unsigned int count):
 *     """ Retain a reference to a user object.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_711cuUserObjectRetain, 0, __pyx_mstate_global->__pyx_n_u_cuUserObjectRetain, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1134])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuUserObjectRetain, __pyx_t_18) < (0)) __PYX_ERR(0, 40138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40177
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRelease(object, unsigned int count):
 *     """ Release a reference to a user object.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_713cuUserObjectRelease, 0, __pyx_mstate_global->__pyx_n_u_cuUserObjectRelease, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1135])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuUserObjectRelease, __pyx_t_18) < (0)) __PYX_ERR(0, 40177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40219
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags):
 *     """ Retain a reference to a user object from a graph.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_715cuGraphRetainUserObject, 0, __pyx_mstate_global->__pyx_n_u_cuGraphRetainUserObject, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1136])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphRetainUserObject, __pyx_t_18) < (0)) __PYX_ERR(0, 40219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40272
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphReleaseUserObject(graph, object, unsigned int count):
 *     """ Release a user object reference from a graph.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_717cuGraphReleaseUserObject, 0, __pyx_mstate_global->__pyx_n_u_cuGraphReleaseUserObject, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1137])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphReleaseUserObject, __pyx_t_18) < (0)) __PYX_ERR(0, 40272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40320
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 40320, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUgraphNodeParams) < (0)) __PYX_ERR(0, 40320, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_719cuGraphAddNode, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddNode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1138])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 40320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddNode, __pyx_t_17) < (0)) __PYX_ERR(0, 40320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":40397
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[tuple[CUgraphNode] | list[CUgraphNode]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 40397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dependencies, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphNode_list) < (0)) __PYX_ERR(0, 40397, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_dependencyData, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUgraphEdgeData_l) < (0)) __PYX_ERR(0, 40397, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUgraphNodeParams) < (0)) __PYX_ERR(0, 40397, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_721cuGraphAddNode_v2, 0, __pyx_mstate_global->__pyx_n_u_cuGraphAddNode_v2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1139])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphAddNode_v2, __pyx_t_18) < (0)) __PYX_ERR(0, 40397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40492
 *     return (_dict_CUresult[err], phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetParams(hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUgraphNodeParams) < (0)) __PYX_ERR(0, 40492, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_723cuGraphNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1140])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 40492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphNodeSetParams, __pyx_t_17) < (0)) __PYX_ERR(0, 40492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":40533
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters in an instantiated graph.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 40533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_nodeParams, __pyx_mstate_global->__pyx_kp_u_Optional_CUgraphNodeParams) < (0)) __PYX_ERR(0, 40533, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_725cuGraphExecNodeSetParams, 0, __pyx_mstate_global->__pyx_n_u_cuGraphExecNodeSetParams, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1141])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphExecNodeSetParams, __pyx_t_18) < (0)) __PYX_ERR(0, 40533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40590
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphConditionalHandleCreate(hGraph, ctx, unsigned int defaultLaunchValue, unsigned int flags):
 *     """ Create a conditional handle.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_727cuGraphConditionalHandleCreate, 0, __pyx_mstate_global->__pyx_n_u_cuGraphConditionalHandleCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1142])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphConditionalHandleCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 40590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40652
 *     return (_dict_CUresult[err], pHandle_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):
 *     """ Returns occupancy of a function.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_729cuOccupancyMaxActiveBlocksPerMultiprocessor, 0, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxActiveBlocksPerMul, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1143])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxActiveBlocksPerMul, __pyx_t_18) < (0)) __PYX_ERR(0, 40652, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40700
 *     return (_dict_CUresult[err], numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):
 *     """ Returns occupancy of a function.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_731cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, 0, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxActiveBlocksPerMul_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1144])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxActiveBlocksPerMul_2, __pyx_t_18) < (0)) __PYX_ERR(0, 40700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40766
 *     return (_dict_CUresult[err], numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSize(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit):
 *     """ Suggest a launch configuration with reasonable occupancy.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_733cuOccupancyMaxPotentialBlockSize, 0, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxPotentialBlockSize, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1145])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxPotentialBlockSize, __pyx_t_18) < (0)) __PYX_ERR(0, 40766, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40850
 *     return (_dict_CUresult[err], minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSizeWithFlags(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags):
 *     """ Suggest a launch configuration with reasonable occupancy.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_735cuOccupancyMaxPotentialBlockSizeWithFlags, 0, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxPotentialBlockSize_2, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1146])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxPotentialBlockSize_2, __pyx_t_18) < (0)) __PYX_ERR(0, 40850, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40933
 *     return (_dict_CUresult[err], minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize):
 *     """ Returns dynamic shared memory available per block when launching `numBlocks` blocks on SM.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_737cuOccupancyAvailableDynamicSMemPerBlock, 0, __pyx_mstate_global->__pyx_n_u_cuOccupancyAvailableDynamicSMemP, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1147])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuOccupancyAvailableDynamicSMemP, __pyx_t_18) < (0)) __PYX_ERR(0, 40933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":40977
 *     return (_dict_CUresult[err], dynamicSmemSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialClusterSize(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum cluster size in `*clusterSize`.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 40977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_config, __pyx_mstate_global->__pyx_kp_u_Optional_CUlaunchConfig) < (0)) __PYX_ERR(0, 40977, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_739cuOccupancyMaxPotentialClusterSize, 0, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxPotentialClusterSi, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1148])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 40977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxPotentialClusterSi, __pyx_t_17) < (0)) __PYX_ERR(0, 40977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41034
 *     return (_dict_CUresult[err], clusterSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveClusters(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum number of clusters that could co-exist on the target device in `*numClusters`.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_config, __pyx_mstate_global->__pyx_kp_u_Optional_CUlaunchConfig) < (0)) __PYX_ERR(0, 41034, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_741cuOccupancyMaxActiveClusters, 0, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxActiveClusters, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1149])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuOccupancyMaxActiveClusters, __pyx_t_18) < (0)) __PYX_ERR(0, 41034, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":41091
 *     return (_dict_CUresult[err], numClusters)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetArray(hTexRef, hArray, unsigned int Flags):
 *     """ Binds an array as a texture reference.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_743cuTexRefSetArray, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetArray, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1150])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetArray, __pyx_t_18) < (0)) __PYX_ERR(0, 41091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":41141
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmappedArray(hTexRef, hMipmappedArray, unsigned int Flags):
 *     """ Binds a mipmapped array to a texture reference.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_745cuTexRefSetMipmappedArray, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMipmappedArray, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1151])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMipmappedArray, __pyx_t_18) < (0)) __PYX_ERR(0, 41141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":41191
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress(hTexRef, dptr, size_t numbytes):
 *     """ Binds an address as a texture reference.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_747cuTexRefSetAddress, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetAddress, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1152])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetAddress, __pyx_t_18) < (0)) __PYX_ERR(0, 41191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":41263
 *     return (_dict_CUresult[err], ByteOffset)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress2D(hTexRef, desc : Optional[CUDA_ARRAY_DESCRIPTOR], dptr, size_t Pitch):
 *     """ Binds an address as a 2D texture reference.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_desc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_ARRAY_DESCRIPTOR) < (0)) __PYX_ERR(0, 41263, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_749cuTexRefSetAddress2D, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetAddress2D, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1153])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetAddress2D, __pyx_t_17) < (0)) __PYX_ERR(0, 41263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41341
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFormat(hTexRef, fmt not None : CUarray_format, int NumPackedComponents):
 *     """ Sets the format for a texture reference.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_fmt, __pyx_mstate_global->__pyx_n_u_CUarray_format) < (0)) __PYX_ERR(0, 41341, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_751cuTexRefSetFormat, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetFormat, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1154])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetFormat, __pyx_t_18) < (0)) __PYX_ERR(0, 41341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":41384
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddressMode(hTexRef, int dim, am not None : CUaddress_mode):
 *     """ Sets the addressing mode for a texture reference.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_am, __pyx_mstate_global->__pyx_n_u_CUaddress_mode) < (0)) __PYX_ERR(0, 41384, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_753cuTexRefSetAddressMode, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetAddressMode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1155])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetAddressMode, __pyx_t_17) < (0)) __PYX_ERR(0, 41384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41434
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the filtering mode for a texture reference.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_fm, __pyx_mstate_global->__pyx_n_u_CUfilter_mode) < (0)) __PYX_ERR(0, 41434, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_755cuTexRefSetFilterMode, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetFilterMode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1156])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetFilterMode, __pyx_t_18) < (0)) __PYX_ERR(0, 41434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":41478
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the mipmap filtering mode for a texture reference.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 41478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_fm, __pyx_mstate_global->__pyx_n_u_CUfilter_mode) < (0)) __PYX_ERR(0, 41478, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_757cuTexRefSetMipmapFilterMode, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMipmapFilterMode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1157])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMipmapFilterMode, __pyx_t_17) < (0)) __PYX_ERR(0, 41478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41522
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelBias(hTexRef, float bias):
 *     """ Sets the mipmap level bias for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_759cuTexRefSetMipmapLevelBias, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMipmapLevelBias, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1158])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMipmapLevelBias, __pyx_t_17) < (0)) __PYX_ERR(0, 41522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41563
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelClamp(hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp):
 *     """ Sets the mipmap min/max mipmap level clamps for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_761cuTexRefSetMipmapLevelClamp, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMipmapLevelClamp, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1159])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMipmapLevelClamp, __pyx_t_17) < (0)) __PYX_ERR(0, 41563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41606
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMaxAnisotropy(hTexRef, unsigned int maxAniso):
 *     """ Sets the maximum anisotropy for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_763cuTexRefSetMaxAnisotropy, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMaxAnisotropy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1160])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetMaxAnisotropy, __pyx_t_17) < (0)) __PYX_ERR(0, 41606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetBorderColor(hTexRef, float pBorderColor):
 *     """ Sets the border color for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_765cuTexRefSetBorderColor, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetBorderColor, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1161])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetBorderColor, __pyx_t_17) < (0)) __PYX_ERR(0, 41646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41691
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFlags(hTexRef, unsigned int Flags):
 *     """ Sets the flags for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_767cuTexRefSetFlags, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefSetFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1162])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefSetFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 41691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41746
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddress(hTexRef):
 *     """ Gets the address associated with a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_769cuTexRefGetAddress, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetAddress, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1163])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetAddress, __pyx_t_17) < (0)) __PYX_ERR(0, 41746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41787
 *     return (_dict_CUresult[err], pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetArray(hTexRef):
 *     """ Gets the array bound to a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_771cuTexRefGetArray, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetArray, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1164])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetArray, __pyx_t_17) < (0)) __PYX_ERR(0, 41787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41828
 *     return (_dict_CUresult[err], phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmappedArray(hTexRef):
 *     """ Gets the mipmapped array bound to a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_773cuTexRefGetMipmappedArray, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMipmappedArray, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1165])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMipmappedArray, __pyx_t_17) < (0)) __PYX_ERR(0, 41828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41870
 *     return (_dict_CUresult[err], phMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddressMode(hTexRef, int dim):
 *     """ Gets the addressing mode used by a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_775cuTexRefGetAddressMode, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetAddressMode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1166])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetAddressMode, __pyx_t_17) < (0)) __PYX_ERR(0, 41870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41913
 *     return (_dict_CUresult[err], CUaddress_mode(pam))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFilterMode(hTexRef):
 *     """ Gets the filter-mode used by a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_777cuTexRefGetFilterMode, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetFilterMode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1167])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetFilterMode, __pyx_t_17) < (0)) __PYX_ERR(0, 41913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41953
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFormat(hTexRef):
 *     """ Gets the format used by a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_779cuTexRefGetFormat, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetFormat, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1168])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetFormat, __pyx_t_17) < (0)) __PYX_ERR(0, 41953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":41997
 *     return (_dict_CUresult[err], CUarray_format(pFormat), pNumChannels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapFilterMode(hTexRef):
 *     """ Gets the mipmap filtering mode for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_781cuTexRefGetMipmapFilterMode, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMipmapFilterMode, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1169])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 41997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMipmapFilterMode, __pyx_t_17) < (0)) __PYX_ERR(0, 41997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42037
 *     return (_dict_CUresult[err], CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelBias(hTexRef):
 *     """ Gets the mipmap level bias for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_783cuTexRefGetMipmapLevelBias, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMipmapLevelBias, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1170])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMipmapLevelBias, __pyx_t_17) < (0)) __PYX_ERR(0, 42037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42078
 *     return (_dict_CUresult[err], pbias)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelClamp(hTexRef):
 *     """ Gets the min/max mipmap level clamps for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_785cuTexRefGetMipmapLevelClamp, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMipmapLevelClamp, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1171])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMipmapLevelClamp, __pyx_t_17) < (0)) __PYX_ERR(0, 42078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42122
 *     return (_dict_CUresult[err], pminMipmapLevelClamp, pmaxMipmapLevelClamp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMaxAnisotropy(hTexRef):
 *     """ Gets the maximum anisotropy for a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_787cuTexRefGetMaxAnisotropy, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMaxAnisotropy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1172])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetMaxAnisotropy, __pyx_t_17) < (0)) __PYX_ERR(0, 42122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42162
 *     return (_dict_CUresult[err], pmaxAniso)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetBorderColor(hTexRef):
 *     """ Gets the border color used by a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_789cuTexRefGetBorderColor, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetBorderColor, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1173])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetBorderColor, __pyx_t_17) < (0)) __PYX_ERR(0, 42162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42205
 *     return (_dict_CUresult[err], pBorderColor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFlags(hTexRef):
 *     """ Gets the flags used by a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_791cuTexRefGetFlags, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefGetFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1174])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefGetFlags, __pyx_t_17) < (0)) __PYX_ERR(0, 42205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42244
 *     return (_dict_CUresult[err], pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefCreate():
 *     """ Creates a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_793cuTexRefCreate, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1175])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 42244, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42275
 *     return (_dict_CUresult[err], pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefDestroy(hTexRef):
 *     """ Destroys a texture reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_795cuTexRefDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuTexRefDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1176])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexRefDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 42275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42309
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefSetArray(hSurfRef, hArray, unsigned int Flags):
 *     """ Sets the CUDA array for a surface reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_797cuSurfRefSetArray, 0, __pyx_mstate_global->__pyx_n_u_cuSurfRefSetArray, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1177])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuSurfRefSetArray, __pyx_t_17) < (0)) __PYX_ERR(0, 42309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42360
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefGetArray(hSurfRef):
 *     """ Passes back the CUDA array bound to a surface reference.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_799cuSurfRefGetArray, 0, __pyx_mstate_global->__pyx_n_u_cuSurfRefGetArray, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1178])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuSurfRefGetArray, __pyx_t_17) < (0)) __PYX_ERR(0, 42360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42401
 *     return (_dict_CUresult[err], phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC], pTexDesc : Optional[CUDA_TEXTURE_DESC], pResViewDesc : Optional[CUDA_RESOURCE_VIEW_DESC]):
 *     """ Creates a texture object.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pResDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_RESOURCE_DESC) < (0)) __PYX_ERR(0, 42401, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pTexDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_TEXTURE_DESC) < (0)) __PYX_ERR(0, 42401, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_pResViewDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_RESOURCE_VIEW_DESC) < (0)) __PYX_ERR(0, 42401, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_801cuTexObjectCreate, 0, __pyx_mstate_global->__pyx_n_u_cuTexObjectCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1179])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 42401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexObjectCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 42401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":42638
 *     return (_dict_CUresult[err], pTexObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectDestroy(texObject):
 *     """ Destroys a texture object.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_803cuTexObjectDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuTexObjectDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1180])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 42638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexObjectDestroy, __pyx_t_18) < (0)) __PYX_ERR(0, 42638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":42670
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceDesc(texObject):
 *     """ Returns a texture object's resource descriptor.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_805cuTexObjectGetResourceDesc, 0, __pyx_mstate_global->__pyx_n_u_cuTexObjectGetResourceDesc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1181])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 42670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexObjectGetResourceDesc, __pyx_t_18) < (0)) __PYX_ERR(0, 42670, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":42708
 *     return (_dict_CUresult[err], pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetTextureDesc(texObject):
 *     """ Returns a texture object's texture descriptor.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_807cuTexObjectGetTextureDesc, 0, __pyx_mstate_global->__pyx_n_u_cuTexObjectGetTextureDesc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1182])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 42708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexObjectGetTextureDesc, __pyx_t_18) < (0)) __PYX_ERR(0, 42708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":42746
 *     return (_dict_CUresult[err], pTexDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceViewDesc(texObject):
 *     """ Returns a texture object's resource view descriptor.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_809cuTexObjectGetResourceViewDesc, 0, __pyx_mstate_global->__pyx_n_u_cuTexObjectGetResourceViewDesc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1183])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 42746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTexObjectGetResourceViewDesc, __pyx_t_18) < (0)) __PYX_ERR(0, 42746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":42785
 *     return (_dict_CUresult[err], pResViewDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC]):
 *     """ Creates a surface object.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 42785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pResDesc, __pyx_mstate_global->__pyx_kp_u_Optional_CUDA_RESOURCE_DESC) < (0)) __PYX_ERR(0, 42785, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_811cuSurfObjectCreate, 0, __pyx_mstate_global->__pyx_n_u_cuSurfObjectCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1184])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuSurfObjectCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 42785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42825
 *     return (_dict_CUresult[err], pSurfObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectDestroy(surfObject):
 *     """ Destroys a surface object.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_813cuSurfObjectDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuSurfObjectDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1185])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuSurfObjectDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 42825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42857
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectGetResourceDesc(surfObject):
 *     """ Returns a surface object's resource descriptor.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_815cuSurfObjectGetResourceDesc, 0, __pyx_mstate_global->__pyx_n_u_cuSurfObjectGetResourceDesc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1186])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuSurfObjectGetResourceDesc, __pyx_t_17) < (0)) __PYX_ERR(0, 42857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":42895
 *     return (_dict_CUresult[err], pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], boxDim : Optional[tuple[cuuint32_t] | list[cuuint32_t]], elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing tiled memory region.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 42895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_tensorDataType, __pyx_mstate_global->__pyx_n_u_CUtensorMapDataType) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_globalDim, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint64_t_list_c) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_globalStrides, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint64_t_list_c) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_boxDim, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint32_t_list_c) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_elementStrides, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint32_t_list_c) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_interleave, __pyx_mstate_global->__pyx_n_u_CUtensorMapInterleave) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_swizzle, __pyx_mstate_global->__pyx_n_u_CUtensorMapSwizzle) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_l2Promotion, __pyx_mstate_global->__pyx_n_u_CUtensorMapL2promotion) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_oobFill, __pyx_mstate_global->__pyx_n_u_CUtensorMapFloatOOBfill) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_817cuTensorMapEncodeTiled, 0, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeTiled, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1187])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 42895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeTiled, __pyx_t_18) < (0)) __PYX_ERR(0, 42895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":43203
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], pixelBoxLowerCorner : Optional[tuple[int] | list[int]], pixelBoxUpperCorner : Optional[tuple[int] | list[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(10); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 43203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_tensorDataType, __pyx_mstate_global->__pyx_n_u_CUtensorMapDataType) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_globalDim, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint64_t_list_c) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_globalStrides, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint64_t_list_c) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pixelBoxLowerCorner, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_int_list_int) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pixelBoxUpperCorner, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_int_list_int) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_elementStrides, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint32_t_list_c) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_interleave, __pyx_mstate_global->__pyx_n_u_CUtensorMapInterleave) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_swizzle, __pyx_mstate_global->__pyx_n_u_CUtensorMapSwizzle) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_l2Promotion, __pyx_mstate_global->__pyx_n_u_CUtensorMapL2promotion) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_oobFill, __pyx_mstate_global->__pyx_n_u_CUtensorMapFloatOOBfill) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_819cuTensorMapEncodeIm2col, 0, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2col, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1188])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 43203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2col, __pyx_t_17) < (0)) __PYX_ERR(0, 43203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":43547
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2colWide(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[tuple[cuuint64_t] | list[cuuint64_t]], globalStrides : Optional[tuple[cuuint64_t] | list[cuuint64_t]], int pixelBoxLowerCornerWidth, int pixelBoxUpperCornerWidth, channelsPerPixel, pixelsPerColumn, elementStrides : Optional[tuple[cuuint32_t] | list[cuuint32_t]], interleave not None : CUtensorMapInterleave, mode not None : CUtensorMapIm2ColWideMode, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region, but where the elements are exclusively loaded along the W dimension.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 43547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_tensorDataType, __pyx_mstate_global->__pyx_n_u_CUtensorMapDataType) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_globalDim, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint64_t_list_c) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_globalStrides, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint64_t_list_c) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_elementStrides, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_cuuint32_t_list_c) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_interleave, __pyx_mstate_global->__pyx_n_u_CUtensorMapInterleave) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_mode, __pyx_mstate_global->__pyx_n_u_CUtensorMapIm2ColWideMode) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_swizzle, __pyx_mstate_global->__pyx_n_u_CUtensorMapSwizzle) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_l2Promotion, __pyx_mstate_global->__pyx_n_u_CUtensorMapL2promotion) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_oobFill, __pyx_mstate_global->__pyx_n_u_CUtensorMapFloatOOBfill) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_821cuTensorMapEncodeIm2colWide, 0, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2colWide, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1189])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 43547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTensorMapEncodeIm2colWide, __pyx_t_18) < (0)) __PYX_ERR(0, 43547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":43871
 *     return (_dict_CUresult[err], tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapReplaceAddress(tensorMap : Optional[CUtensorMap], globalAddress):
 *     """ Modify an existing tensor map descriptor with an updated global address.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 43871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_tensorMap, __pyx_mstate_global->__pyx_kp_u_Optional_CUtensorMap) < (0)) __PYX_ERR(0, 43871, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_823cuTensorMapReplaceAddress, 0, __pyx_mstate_global->__pyx_n_u_cuTensorMapReplaceAddress, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1190])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 43871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuTensorMapReplaceAddress, __pyx_t_17) < (0)) __PYX_ERR(0, 43871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":43906
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceCanAccessPeer(dev, peerDev):
 *     """ Queries if a device may directly access a peer device's memory.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_825cuDeviceCanAccessPeer, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceCanAccessPeer, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1191])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 43906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceCanAccessPeer, __pyx_t_17) < (0)) __PYX_ERR(0, 43906, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":43959
 *     return (_dict_CUresult[err], canAccessPeer)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxEnablePeerAccess(peerContext, unsigned int Flags):
 *     """ Enables direct access to memory allocations in a peer context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_827cuCtxEnablePeerAccess, 0, __pyx_mstate_global->__pyx_n_u_cuCtxEnablePeerAccess, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1192])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 43959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxEnablePeerAccess, __pyx_t_17) < (0)) __PYX_ERR(0, 43959, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":44026
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDisablePeerAccess(peerContext):
 *     """ Disables direct access to memory allocations in a peer context and unregisters any registered allocations.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_829cuCtxDisablePeerAccess, 0, __pyx_mstate_global->__pyx_n_u_cuCtxDisablePeerAccess, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1193])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 44026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxDisablePeerAccess, __pyx_t_17) < (0)) __PYX_ERR(0, 44026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":44063
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetP2PAttribute(attrib not None : CUdevice_P2PAttribute, srcDevice, dstDevice):
 *     """ Queries attributes of the link between two devices.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 44063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUdevice_P2PAttribute) < (0)) __PYX_ERR(0, 44063, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_831cuDeviceGetP2PAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetP2PAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1194])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetP2PAttribute, __pyx_t_18) < (0)) __PYX_ERR(0, 44063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44134
 *     return (_dict_CUresult[err], value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnregisterResource(resource):
 *     """ Unregisters a graphics resource for access by CUDA.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_833cuGraphicsUnregisterResource, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsUnregisterResource, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1195])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsUnregisterResource, __pyx_t_18) < (0)) __PYX_ERR(0, 44134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44170
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel):
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_835cuGraphicsSubResourceGetMappedArray, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsSubResourceGetMappedAr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1196])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsSubResourceGetMappedAr, __pyx_t_18) < (0)) __PYX_ERR(0, 44170, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44225
 *     return (_dict_CUresult[err], pArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedMipmappedArray(resource):
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_837cuGraphicsResourceGetMappedMipmappedArray, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsResourceGetMappedMipma, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1197])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsResourceGetMappedMipma, __pyx_t_18) < (0)) __PYX_ERR(0, 44225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44269
 *     return (_dict_CUresult[err], pMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedPointer(resource):
 *     """ Get a device pointer through which to access a mapped graphics resource.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_839cuGraphicsResourceGetMappedPointer, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsResourceGetMappedPoint, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1198])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsResourceGetMappedPoint, __pyx_t_18) < (0)) __PYX_ERR(0, 44269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44313
 *     return (_dict_CUresult[err], pDevPtr, pSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceSetMapFlags(resource, unsigned int flags):
 *     """ Set usage flags for mapping a graphics resource.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_841cuGraphicsResourceSetMapFlags, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsResourceSetMapFlags, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1199])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsResourceSetMapFlags, __pyx_t_18) < (0)) __PYX_ERR(0, 44313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44369
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsMapResources(unsigned int count, resources, hStream):
 *     """ Map graphics resources for access by CUDA.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_843cuGraphicsMapResources, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsMapResources, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1200])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsMapResources, __pyx_t_18) < (0)) __PYX_ERR(0, 44369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44429
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnmapResources(unsigned int count, resources, hStream):
 *     """ Unmap graphics resources.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_845cuGraphicsUnmapResources, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsUnmapResources, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1201])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsUnmapResources, __pyx_t_18) < (0)) __PYX_ERR(0, 44429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44487
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetProcAddress(char* symbol, int cudaVersion, flags):
 *     """ Returns the requested driver API function pointer.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_847cuGetProcAddress, 0, __pyx_mstate_global->__pyx_n_u_cuGetProcAddress, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1202])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGetProcAddress, __pyx_t_18) < (0)) __PYX_ERR(0, 44487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44588
 *     return (_dict_CUresult[err], pfn, CUdriverProcAddressQueryResult(symbolStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttribute(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the current context.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings) < (0)) __PYX_ERR(0, 44588, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_849cuCoredumpGetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuCoredumpGetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1203])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 44588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCoredumpGetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 44588, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":44705
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttributeGlobal(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the entire application.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 44705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings) < (0)) __PYX_ERR(0, 44705, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_851cuCoredumpGetAttributeGlobal, 0, __pyx_mstate_global->__pyx_n_u_cuCoredumpGetAttributeGlobal, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1204])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCoredumpGetAttributeGlobal, __pyx_t_18) < (0)) __PYX_ERR(0, 44705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":44818
 *     return (_dict_CUresult[err], cyvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttribute(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value for the current context.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings) < (0)) __PYX_ERR(0, 44818, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_853cuCoredumpSetAttribute, 0, __pyx_mstate_global->__pyx_n_u_cuCoredumpSetAttribute, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1205])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 44818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCoredumpSetAttribute, __pyx_t_17) < (0)) __PYX_ERR(0, 44818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":44936
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttributeGlobal(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value globally.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 44936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_attrib, __pyx_mstate_global->__pyx_n_u_CUcoredumpSettings) < (0)) __PYX_ERR(0, 44936, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_855cuCoredumpSetAttributeGlobal, 0, __pyx_mstate_global->__pyx_n_u_cuCoredumpSetAttributeGlobal, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1206])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 44936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCoredumpSetAttributeGlobal, __pyx_t_18) < (0)) __PYX_ERR(0, 44936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45059
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetExportTable(pExportTableId : Optional[CUuuid]):
 *     """
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_pExportTableId, __pyx_mstate_global->__pyx_kp_u_Optional_CUuuid) < (0)) __PYX_ERR(0, 45059, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_857cuGetExportTable, 0, __pyx_mstate_global->__pyx_n_u_cuGetExportTable, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1207])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGetExportTable, __pyx_t_17) < (0)) __PYX_ERR(0, 45059, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":45083
 *     return (_dict_CUresult[err], ppExportTable)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxCreate(desc, dev, unsigned int flags):
 *     """ Creates a green context with a specified set of resources.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_859cuGreenCtxCreate, 0, __pyx_mstate_global->__pyx_n_u_cuGreenCtxCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1208])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGreenCtxCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 45083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":45156
 *     return (_dict_CUresult[err], phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxDestroy(hCtx):
 *     """ Destroys a green context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_861cuGreenCtxDestroy, 0, __pyx_mstate_global->__pyx_n_u_cuGreenCtxDestroy, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1209])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGreenCtxDestroy, __pyx_t_17) < (0)) __PYX_ERR(0, 45156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":45191
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxFromGreenCtx(hCtx):
 *     """ Converts a green context into the primary context.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_863cuCtxFromGreenCtx, 0, __pyx_mstate_global->__pyx_n_u_cuCtxFromGreenCtx, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1210])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxFromGreenCtx, __pyx_t_17) < (0)) __PYX_ERR(0, 45191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":45237
 *     return (_dict_CUresult[err], pContext)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDevResource(device, typename not None : CUdevResourceType):
 *     """ Get device resources.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_typename, __pyx_mstate_global->__pyx_n_u_CUdevResourceType) < (0)) __PYX_ERR(0, 45237, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_865cuDeviceGetDevResource, 0, __pyx_mstate_global->__pyx_n_u_cuDeviceGetDevResource, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1211])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDeviceGetDevResource, __pyx_t_18) < (0)) __PYX_ERR(0, 45237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45281
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get context resources.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_typename, __pyx_mstate_global->__pyx_n_u_CUdevResourceType) < (0)) __PYX_ERR(0, 45281, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_867cuCtxGetDevResource, 0, __pyx_mstate_global->__pyx_n_u_cuCtxGetDevResource, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1212])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCtxGetDevResource, __pyx_t_17) < (0)) __PYX_ERR(0, 45281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":45322
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get green context resources.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_typename, __pyx_mstate_global->__pyx_n_u_CUdevResourceType) < (0)) __PYX_ERR(0, 45322, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_869cuGreenCtxGetDevResource, 0, __pyx_mstate_global->__pyx_n_u_cuGreenCtxGetDevResource, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1213])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGreenCtxGetDevResource, __pyx_t_18) < (0)) __PYX_ERR(0, 45322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45363
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int useFlags, unsigned int minCount):
 *     """ Splits `CU_DEV_RESOURCE_TYPE_SM` resources.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_input, __pyx_mstate_global->__pyx_kp_u_Optional_CUdevResource) < (0)) __PYX_ERR(0, 45363, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_871cuDevSmResourceSplitByCount, 0, __pyx_mstate_global->__pyx_n_u_cuDevSmResourceSplitByCount, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1214])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDevSmResourceSplitByCount, __pyx_t_17) < (0)) __PYX_ERR(0, 45363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":45478
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[tuple[CUdevResource] | list[CUdevResource]], unsigned int nbResources):
 *     """ Generate a resource descriptor.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_resources, __pyx_mstate_global->__pyx_kp_u_Optional_tuple_CUdevResource_lis) < (0)) __PYX_ERR(0, 45478, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_873cuDevResourceGenerateDesc, 0, __pyx_mstate_global->__pyx_n_u_cuDevResourceGenerateDesc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1215])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuDevResourceGenerateDesc, __pyx_t_18) < (0)) __PYX_ERR(0, 45478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45542
 *     return (_dict_CUresult[err], phDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_875cuGreenCtxRecordEvent, 0, __pyx_mstate_global->__pyx_n_u_cuGreenCtxRecordEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1216])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGreenCtxRecordEvent, __pyx_t_18) < (0)) __PYX_ERR(0, 45542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45594
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxWaitEvent(hCtx, hEvent):
 *     """ Make a green context wait on an event.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_877cuGreenCtxWaitEvent, 0, __pyx_mstate_global->__pyx_n_u_cuGreenCtxWaitEvent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1217])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGreenCtxWaitEvent, __pyx_t_18) < (0)) __PYX_ERR(0, 45594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45646
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetGreenCtx(hStream):
 *     """ Query the green context associated with a stream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_879cuStreamGetGreenCtx, 0, __pyx_mstate_global->__pyx_n_u_cuStreamGetGreenCtx, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1218])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuStreamGetGreenCtx, __pyx_t_18) < (0)) __PYX_ERR(0, 45646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45703
 *     return (_dict_CUresult[err], phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxStreamCreate(greenCtx, unsigned int flags, int priority):
 *     """ Create a stream for use in the green context.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_881cuGreenCtxStreamCreate, 0, __pyx_mstate_global->__pyx_n_u_cuGreenCtxStreamCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1219])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGreenCtxStreamCreate, __pyx_t_18) < (0)) __PYX_ERR(0, 45703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45787
 *         cbData.callback(cbData.userData, logLevel, message, length)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsRegisterCallback(callbackFunc, userData):
 *     """ Register a callback function to receive error log messages.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_883cuLogsRegisterCallback, 0, __pyx_mstate_global->__pyx_n_u_cuLogsRegisterCallback, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1220])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLogsRegisterCallback, __pyx_t_18) < (0)) __PYX_ERR(0, 45787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45836
 *     return (_dict_CUresult[err], callback_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsUnregisterCallback(callback):
 *     """ Unregister a log message callback.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_885cuLogsUnregisterCallback, 0, __pyx_mstate_global->__pyx_n_u_cuLogsUnregisterCallback, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1221])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLogsUnregisterCallback, __pyx_t_18) < (0)) __PYX_ERR(0, 45836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45865
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsCurrent(unsigned int flags):
 *     """ Sets log iterator to point to the end of log buffer, where the next message would be written.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_887cuLogsCurrent, 0, __pyx_mstate_global->__pyx_n_u_cuLogsCurrent, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1222])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLogsCurrent, __pyx_t_18) < (0)) __PYX_ERR(0, 45865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45888
 *     return (_dict_CUresult[err], iterator_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsDumpToFile(iterator : Optional[CUlogIterator], char* pathToFile, unsigned int flags):
 *     """ Dump accumulated driver logs into a file.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_iterator, __pyx_mstate_global->__pyx_kp_u_Optional_CUlogIterator) < (0)) __PYX_ERR(0, 45888, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_889cuLogsDumpToFile, 0, __pyx_mstate_global->__pyx_n_u_cuLogsDumpToFile, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1223])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLogsDumpToFile, __pyx_t_17) < (0)) __PYX_ERR(0, 45888, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":45929
 *     return (_dict_CUresult[err], iterator)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLogsDumpToMemory(iterator : Optional[CUlogIterator], char* buffer, size_t size, unsigned int flags):
 *     """ Dump accumulated driver logs into a buffer.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 45929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_iterator, __pyx_mstate_global->__pyx_kp_u_Optional_CUlogIterator) < (0)) __PYX_ERR(0, 45929, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_891cuLogsDumpToMemory, 0, __pyx_mstate_global->__pyx_n_u_cuLogsDumpToMemory, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1224])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuLogsDumpToMemory, __pyx_t_18) < (0)) __PYX_ERR(0, 45929, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":45984
 *     return (_dict_CUresult[err], iterator, size)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessGetRestoreThreadId(int pid):
 *     """ Returns the restore thread ID for a CUDA process.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_893cuCheckpointProcessGetRestoreThreadId, 0, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessGetRestoreThr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1225])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 45984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessGetRestoreThr, __pyx_t_18) < (0)) __PYX_ERR(0, 45984, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46010
 *     return (_dict_CUresult[err], tid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessGetState(int pid):
 *     """ Returns the process state of a CUDA process.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_895cuCheckpointProcessGetState, 0, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessGetState, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1226])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessGetState, __pyx_t_18) < (0)) __PYX_ERR(0, 46010, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46036
 *     return (_dict_CUresult[err], CUprocessState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessLock(int pid, args : Optional[CUcheckpointLockArgs]):
 *     """ Lock a running CUDA process.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_args, __pyx_mstate_global->__pyx_kp_u_Optional_CUcheckpointLockArgs) < (0)) __PYX_ERR(0, 46036, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_897cuCheckpointProcessLock, 0, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessLock, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1227])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 46036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessLock, __pyx_t_17) < (0)) __PYX_ERR(0, 46036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":46065
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessCheckpoint(int pid, args : Optional[CUcheckpointCheckpointArgs]):
 *     """ Checkpoint a CUDA process's GPU memory contents.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 46065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_args, __pyx_mstate_global->__pyx_kp_u_Optional_CUcheckpointCheckpointA) < (0)) __PYX_ERR(0, 46065, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_899cuCheckpointProcessCheckpoint, 0, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessCheckpoint, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1228])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessCheckpoint, __pyx_t_18) < (0)) __PYX_ERR(0, 46065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46093
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessRestore(int pid, args : Optional[CUcheckpointRestoreArgs]):
 *     """ Restore a CUDA process's GPU memory contents from its last checkpoint.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_args, __pyx_mstate_global->__pyx_kp_u_Optional_CUcheckpointRestoreArgs) < (0)) __PYX_ERR(0, 46093, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_901cuCheckpointProcessRestore, 0, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessRestore, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1229])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 46093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessRestore, __pyx_t_17) < (0)) __PYX_ERR(0, 46093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":46126
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCheckpointProcessUnlock(int pid, args : Optional[CUcheckpointUnlockArgs]):
 *     """ Unlock a CUDA process to allow CUDA API calls.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 46126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_args, __pyx_mstate_global->__pyx_kp_u_Optional_CUcheckpointUnlockArgs) < (0)) __PYX_ERR(0, 46126, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_903cuCheckpointProcessUnlock, 0, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessUnlock, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1230])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuCheckpointProcessUnlock, __pyx_t_18) < (0)) __PYX_ERR(0, 46126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46152
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStart():
 *     """ Enable profiling.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_905cuProfilerStart, 0, __pyx_mstate_global->__pyx_n_u_cuProfilerStart, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1231])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuProfilerStart, __pyx_t_18) < (0)) __PYX_ERR(0, 46152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46177
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStop():
 *     """ Disable profiling.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_907cuProfilerStop, 0, __pyx_mstate_global->__pyx_n_u_cuProfilerStop, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1232])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuProfilerStop, __pyx_t_18) < (0)) __PYX_ERR(0, 46177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46202
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsEGLRegisterImage(image, unsigned int flags):
 *     """ Registers an EGL image.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_909cuGraphicsEGLRegisterImage, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsEGLRegisterImage, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1233])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsEGLRegisterImage, __pyx_t_18) < (0)) __PYX_ERR(0, 46202, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46275
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnect(stream):
 *     """ Connect CUDA to EGLStream as a consumer.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_911cuEGLStreamConsumerConnect, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerConnect, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1234])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerConnect, __pyx_t_18) < (0)) __PYX_ERR(0, 46275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46315
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnectWithFlags(stream, unsigned int flags):
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_913cuEGLStreamConsumerConnectWithFlags, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerConnectWithFl, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1235])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerConnectWithFl, __pyx_t_18) < (0)) __PYX_ERR(0, 46315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46359
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerDisconnect(conn):
 *     """ Disconnect CUDA as a consumer to EGLStream .
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_915cuEGLStreamConsumerDisconnect, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerDisconnect, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1236])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerDisconnect, __pyx_t_18) < (0)) __PYX_ERR(0, 46359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46393
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout):
 *     """ Acquire an image frame from the EGLStream with CUDA as a consumer.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_917cuEGLStreamConsumerAcquireFrame, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerAcquireFrame, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1237])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerAcquireFrame, __pyx_t_18) < (0)) __PYX_ERR(0, 46393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46462
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):
 *     """ Releases the last frame acquired from the EGLStream.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_919cuEGLStreamConsumerReleaseFrame, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerReleaseFrame, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1238])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamConsumerReleaseFrame, __pyx_t_18) < (0)) __PYX_ERR(0, 46462, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46522
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerConnect(stream, width, height):
 *     """ Connect CUDA to EGLStream as a producer.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_921cuEGLStreamProducerConnect, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamProducerConnect, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1239])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamProducerConnect, __pyx_t_18) < (0)) __PYX_ERR(0, 46522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46582
 *     return (_dict_CUresult[err], conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerDisconnect(conn):
 *     """ Disconnect CUDA as a producer to EGLStream .
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_923cuEGLStreamProducerDisconnect, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamProducerDisconnect, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1240])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamProducerDisconnect, __pyx_t_18) < (0)) __PYX_ERR(0, 46582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46616
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerPresentFrame(conn, eglframe not None : CUeglFrame, pStream):
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_eglframe, __pyx_mstate_global->__pyx_n_u_CUeglFrame) < (0)) __PYX_ERR(0, 46616, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_925cuEGLStreamProducerPresentFrame, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamProducerPresentFrame, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1241])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 46616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamProducerPresentFrame, __pyx_t_17) < (0)) __PYX_ERR(0, 46616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":46683
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerReturnFrame(conn, eglframe : Optional[CUeglFrame], pStream):
 *     """ Return the CUDA eglFrame to the EGLStream released by the consumer.
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 46683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_eglframe, __pyx_mstate_global->__pyx_kp_u_Optional_CUeglFrame) < (0)) __PYX_ERR(0, 46683, __pyx_L1_error)
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_927cuEGLStreamProducerReturnFrame, 0, __pyx_mstate_global->__pyx_n_u_cuEGLStreamProducerReturnFrame, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1242])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_18, __pyx_t_17);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEGLStreamProducerReturnFrame, __pyx_t_18) < (0)) __PYX_ERR(0, 46683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46735
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel):
 *     """ Get an eglFrame through which to access a registered EGL graphics resource.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_929cuGraphicsResourceGetMappedEglFrame, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsResourceGetMappedEglFr, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1243])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsResourceGetMappedEglFr, __pyx_t_18) < (0)) __PYX_ERR(0, 46735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46781
 *     return (_dict_CUresult[err], eglFrame)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreateFromEGLSync(eglSync, unsigned int flags):
 *     """ Creates an event from EGLSync object.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_931cuEventCreateFromEGLSync, 0, __pyx_mstate_global->__pyx_n_u_cuEventCreateFromEGLSync, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1244])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuEventCreateFromEGLSync, __pyx_t_18) < (0)) __PYX_ERR(0, 46781, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46837
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterBuffer(buffer, unsigned int Flags):
 *     """ Registers an OpenGL buffer object.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_933cuGraphicsGLRegisterBuffer, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsGLRegisterBuffer, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1245])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsGLRegisterBuffer, __pyx_t_18) < (0)) __PYX_ERR(0, 46837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46891
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterImage(image, target, unsigned int Flags):
 *     """ Register an OpenGL texture or renderbuffer object.
*/
  __pyx_t_18 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_935cuGraphicsGLRegisterImage, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsGLRegisterImage, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1246])); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsGLRegisterImage, __pyx_t_18) < (0)) __PYX_ERR(0, 46891, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "cuda/bindings/driver.pyx":46988
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : CUGLDeviceList):
 *     """ Gets the CUDA devices associated with the current OpenGL context.
*/
  __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 46988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  if (PyDict_SetItem(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_deviceList, __pyx_mstate_global->__pyx_n_u_CUGLDeviceList) < (0)) __PYX_ERR(0, 46988, __pyx_L1_error)
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_937cuGLGetDevices, 0, __pyx_mstate_global->__pyx_n_u_cuGLGetDevices, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1247])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 46988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_17, __pyx_t_18);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGLGetDevices, __pyx_t_17) < (0)) __PYX_ERR(0, 46988, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":47054
 *     return (_dict_CUresult[err], pCudaDeviceCount, pypCudaDevices)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUGetDevice(vdpDevice, vdpGetProcAddress):
 *     """ Gets the CUDA device associated with a VDPAU device.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_939cuVDPAUGetDevice, 0, __pyx_mstate_global->__pyx_n_u_cuVDPAUGetDevice, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1248])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 47054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuVDPAUGetDevice, __pyx_t_17) < (0)) __PYX_ERR(0, 47054, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":47104
 *     return (_dict_CUresult[err], pDevice)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUCtxCreate(unsigned int flags, device, vdpDevice, vdpGetProcAddress):
 *     """ Create a CUDA context for interoperability with VDPAU.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_941cuVDPAUCtxCreate, 0, __pyx_mstate_global->__pyx_n_u_cuVDPAUCtxCreate, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1249])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 47104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuVDPAUCtxCreate, __pyx_t_17) < (0)) __PYX_ERR(0, 47104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":47169
 *     return (_dict_CUresult[err], pCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpVideoSurface object.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_943cuGraphicsVDPAURegisterVideoSurface, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsVDPAURegisterVideoSurf, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1250])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 47169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsVDPAURegisterVideoSurf, __pyx_t_17) < (0)) __PYX_ERR(0, 47169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":47229
 *     return (_dict_CUresult[err], pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpOutputSurface object.
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_945cuGraphicsVDPAURegisterOutputSurface, 0, __pyx_mstate_global->__pyx_n_u_cuGraphicsVDPAURegisterOutputSur, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1251])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 47229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cuGraphicsVDPAURegisterOutputSur, __pyx_t_17) < (0)) __PYX_ERR(0, 47229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_cudaBindingsDriverGlobal___reduc, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1252])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._allocated cannot be converted to a Python object for pickling"
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_24cudaBindingsDriverGlobal_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_cudaBindingsDriverGlobal___setst, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1253])); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_17) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":47298
 *         self._allocated.clear()
 * 
 * cdef cudaBindingsDriverGlobal m_global = cudaBindingsDriverGlobal()             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_18 = NULL;
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal);
  __pyx_t_16 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal); 
  __pyx_t_19 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_18, NULL};
    __pyx_t_17 = __Pyx_PyObject_FastCall(__pyx_t_16, __pyx_callargs+__pyx_t_19, (1-__pyx_t_19) | (__pyx_t_19*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 47298, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_17);
  }
  __Pyx_XGOTREF((PyObject *)__pyx_v_4cuda_8bindings_6driver_m_global);
  __Pyx_DECREF_SET(__pyx_v_4cuda_8bindings_6driver_m_global, ((struct __pyx_obj_4cuda_8bindings_6driver_cudaBindingsDriverGlobal *)__pyx_t_17));
  __Pyx_GIVEREF((PyObject *)__pyx_t_17);
  __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":47301
 * 
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def sizeof(objType):
 *     """ Returns the size of provided CUDA Python structure in bytes
*/
  __pyx_t_17 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_8bindings_6driver_947sizeof, 0, __pyx_mstate_global->__pyx_n_u_sizeof, NULL, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1254])); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 47301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_sizeof, __pyx_t_17) < (0)) __PYX_ERR(0, 47301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "cuda/bindings/driver.pyx":47914
 *     _add_cuda_native_handle_getter(EGLSyncKHR, EGLSyncKHR_getter)
 *     return 0
 * _add_native_handle_getters()             # <<<<<<<<<<<<<<
 * 
*/
  __pyx_t_22 = __pyx_f_4cuda_8bindings_6driver__add_native_handle_getters(); if (unlikely(__pyx_t_22 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 47914, __pyx_L1_error)

  /* "cuda/bindings/driver.pyx":1
 * # SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.             # <<<<<<<<<<<<<<
 * # SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
 * 
*/
  __pyx_t_17 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_17) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  if (__pyx_m) {
    if (__pyx_mstate->__pyx_d && stringtab_initialized) {
      __Pyx_AddTraceback("init cuda.bindings.driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    #if !CYTHON_USE_MODULE_STATE
    Py_CLEAR(__pyx_m);
    #else
    Py_DECREF(__pyx_m);
    if (pystate_addmodule_run) {
      PyObject *tp, *value, *tb;
      PyErr_Fetch(&tp, &value, &tb);
      PyState_RemoveModule(&__pyx_moduledef);
      PyErr_Restore(tp, value, tb);
    }
    #endif
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init cuda.bindings.driver");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  return (__pyx_m != NULL) ? 0 : -1;
  #else
  return __pyx_m;
  #endif
}
/* #### Code section: pystring_table ### */

typedef struct {
    const char *s;
#if 1153 <= 65535
    const unsigned short n;
#elif 1153 / 2 < INT_MAX
    const unsigned int n;
#elif 1153 / 2 < LONG_MAX
    const unsigned long n;
#else
    const Py_ssize_t n;
#endif
#if 1 <= 31
    const unsigned int encoding : 5;
#elif 1 <= 255
    const unsigned char encoding;
#elif 1 <= 65535
    const unsigned short encoding;
#else
    const Py_ssize_t encoding;
#endif
    const unsigned int is_unicode : 1;
    const unsigned int intern : 1;
} __Pyx_StringTabEntry;
static const char * const __pyx_string_tab_encodings[] = { 0 };
static const __Pyx_StringTabEntry __pyx_string_tab[] = {
  {__pyx_k_, sizeof(__pyx_k_), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_ */
  {__pyx_k_Access_flags_that_specify_the_l, sizeof(__pyx_k_Access_flags_that_specify_the_l), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Access_flags_that_specify_the_l */
  {__pyx_k_Any, sizeof(__pyx_k_Any), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Any */
  {__pyx_k_Argument_attributes_is_not_insta, sizeof(__pyx_k_Argument_attributes_is_not_insta), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_attributes_is_not_insta */
  {__pyx_k_Argument_attributes_is_not_insta_2, sizeof(__pyx_k_Argument_attributes_is_not_insta_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_attributes_is_not_insta_2 */
  {__pyx_k_Argument_attrsIdxs_is_not_instan, sizeof(__pyx_k_Argument_attrsIdxs_is_not_instan), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_attrsIdxs_is_not_instan */
  {__pyx_k_Argument_attrs_is_not_instance_o, sizeof(__pyx_k_Argument_attrs_is_not_instance_o), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_attrs_is_not_instance_o */
  {__pyx_k_Argument_boxDim_is_not_instance, sizeof(__pyx_k_Argument_boxDim_is_not_instance), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_boxDim_is_not_instance */
  {__pyx_k_Argument_conn_is_not_instance_of, sizeof(__pyx_k_Argument_conn_is_not_instance_of), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_conn_is_not_instance_of */
  {__pyx_k_Argument_dataSizes_is_not_instan, sizeof(__pyx_k_Argument_dataSizes_is_not_instan), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_dataSizes_is_not_instan */
  {__pyx_k_Argument_dependencies_is_not_ins, sizeof(__pyx_k_Argument_dependencies_is_not_ins), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_dependencies_is_not_ins */
  {__pyx_k_Argument_dependencyData_is_not_i, sizeof(__pyx_k_Argument_dependencyData_is_not_i), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_dependencyData_is_not_i */
  {__pyx_k_Argument_desc_is_not_instance_of, sizeof(__pyx_k_Argument_desc_is_not_instance_of), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_desc_is_not_instance_of */
  {__pyx_k_Argument_dsts_is_not_instance_of, sizeof(__pyx_k_Argument_dsts_is_not_instance_of), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_dsts_is_not_instance_of */
  {__pyx_k_Argument_edgeData_is_not_instanc, sizeof(__pyx_k_Argument_edgeData_is_not_instanc), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_edgeData_is_not_instanc */
  {__pyx_k_Argument_elementStrides_is_not_i, sizeof(__pyx_k_Argument_elementStrides_is_not_i), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_elementStrides_is_not_i */
  {__pyx_k_Argument_extSemArray_is_not_inst, sizeof(__pyx_k_Argument_extSemArray_is_not_inst), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_extSemArray_is_not_inst */
  {__pyx_k_Argument_from__is_not_instance_o, sizeof(__pyx_k_Argument_from__is_not_instance_o), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_from__is_not_instance_o */
  {__pyx_k_Argument_globalDim_is_not_instan, sizeof(__pyx_k_Argument_globalDim_is_not_instan), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_globalDim_is_not_instan */
  {__pyx_k_Argument_globalStrides_is_not_in, sizeof(__pyx_k_Argument_globalStrides_is_not_in), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_globalStrides_is_not_in */
  {__pyx_k_Argument_jitOptions_is_not_insta, sizeof(__pyx_k_Argument_jitOptions_is_not_insta), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_jitOptions_is_not_insta */
  {__pyx_k_Argument_kernelParams_failed_to, sizeof(__pyx_k_Argument_kernelParams_failed_to), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_kernelParams_failed_to */
  {__pyx_k_Argument_kernelParams_has_tuples, sizeof(__pyx_k_Argument_kernelParams_has_tuples), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_kernelParams_has_tuples */
  {__pyx_k_Argument_kernelParams_is_not_a_v, sizeof(__pyx_k_Argument_kernelParams_is_not_a_v), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_kernelParams_is_not_a_v */
  {__pyx_k_Argument_launchParamsList_is_not, sizeof(__pyx_k_Argument_launchParamsList_is_not), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_launchParamsList_is_not */
  {__pyx_k_Argument_libraryOptions_is_not_i, sizeof(__pyx_k_Argument_libraryOptions_is_not_i), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_libraryOptions_is_not_i */
  {__pyx_k_Argument_mapInfoList_is_not_inst, sizeof(__pyx_k_Argument_mapInfoList_is_not_inst), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_mapInfoList_is_not_inst */
  {__pyx_k_Argument_map_is_not_instance_of, sizeof(__pyx_k_Argument_map_is_not_instance_of), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_map_is_not_instance_of */
  {__pyx_k_Argument_opList_is_not_instance, sizeof(__pyx_k_Argument_opList_is_not_instance), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_opList_is_not_instance */
  {__pyx_k_Argument_options_is_not_instance, sizeof(__pyx_k_Argument_options_is_not_instance), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_options_is_not_instance */
  {__pyx_k_Argument_pCudaResource_is_not_in, sizeof(__pyx_k_Argument_pCudaResource_is_not_in), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_pCudaResource_is_not_in */
  {__pyx_k_Argument_pStream_is_not_instance, sizeof(__pyx_k_Argument_pStream_is_not_instance), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_pStream_is_not_instance */
  {__pyx_k_Argument_paramArray_is_not_insta, sizeof(__pyx_k_Argument_paramArray_is_not_insta), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_paramArray_is_not_insta */
  {__pyx_k_Argument_paramsArray_is_not_inst, sizeof(__pyx_k_Argument_paramsArray_is_not_inst), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_paramsArray_is_not_inst */
  {__pyx_k_Argument_paramsArray_is_not_inst_2, sizeof(__pyx_k_Argument_paramsArray_is_not_inst_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_paramsArray_is_not_inst_2 */
  {__pyx_k_Argument_paramsArray_is_not_inst_3, sizeof(__pyx_k_Argument_paramsArray_is_not_inst_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_paramsArray_is_not_inst_3 */
  {__pyx_k_Argument_pixelBoxLowerCorner_is, sizeof(__pyx_k_Argument_pixelBoxLowerCorner_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_pixelBoxLowerCorner_is */
  {__pyx_k_Argument_pixelBoxUpperCorner_is, sizeof(__pyx_k_Argument_pixelBoxUpperCorner_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_pixelBoxUpperCorner_is */
  {__pyx_k_Argument_resources_is_not_instan, sizeof(__pyx_k_Argument_resources_is_not_instan), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_resources_is_not_instan */
  {__pyx_k_Argument_resources_is_not_instan_2, sizeof(__pyx_k_Argument_resources_is_not_instan_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_resources_is_not_instan_2 */
  {__pyx_k_Argument_sizes_is_not_instance_o, sizeof(__pyx_k_Argument_sizes_is_not_instance_o), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_sizes_is_not_instance_o */
  {__pyx_k_Argument_srcs_is_not_instance_of, sizeof(__pyx_k_Argument_srcs_is_not_instance_of), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_srcs_is_not_instance_of */
  {__pyx_k_Argument_to_is_not_instance_of_t, sizeof(__pyx_k_Argument_to_is_not_instance_of_t), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_to_is_not_instance_of_t */
  {__pyx_k_Argument_vdpGetProcAddress_is_no, sizeof(__pyx_k_Argument_vdpGetProcAddress_is_no), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Argument_vdpGetProcAddress_is_no */
  {__pyx_k_Array_formats, sizeof(__pyx_k_Array_formats), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Array_formats */
  {__pyx_k_Array_indices_for_cube_faces, sizeof(__pyx_k_Array_indices_for_cube_faces), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Array_indices_for_cube_faces */
  {__pyx_k_AssertionError, sizeof(__pyx_k_AssertionError), 0, 1, 1}, /* PyObject cname: __pyx_n_u_AssertionError */
  {__pyx_k_Bitmasks_for_CU_DEVICE_ATTRIBUT, sizeof(__pyx_k_Bitmasks_for_CU_DEVICE_ATTRIBUT), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Bitmasks_for_CU_DEVICE_ATTRIBUT */
  {__pyx_k_Bitmasks_for_py_obj_CU_DEVICE_A, sizeof(__pyx_k_Bitmasks_for_py_obj_CU_DEVICE_A), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Bitmasks_for_py_obj_CU_DEVICE_A */
  {__pyx_k_ByteCount, sizeof(__pyx_k_ByteCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ByteCount */
  {__pyx_k_ByteOffset, sizeof(__pyx_k_ByteOffset), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ByteOffset */
  {__pyx_k_CIG_DATA_TYPE_D3D12_COMMAND_QUEU, sizeof(__pyx_k_CIG_DATA_TYPE_D3D12_COMMAND_QUEU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CIG_DATA_TYPE_D3D12_COMMAND_QUEU */
  {__pyx_k_CIG_DATA_TYPE_NV_BLOB, sizeof(__pyx_k_CIG_DATA_TYPE_NV_BLOB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CIG_DATA_TYPE_NV_BLOB */
  {__pyx_k_CUCoredumpGenerationFlags, sizeof(__pyx_k_CUCoredumpGenerationFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUCoredumpGenerationFlags */
  {__pyx_k_CUDA_ARRAY3D_2DARRAY, sizeof(__pyx_k_CUDA_ARRAY3D_2DARRAY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_2DARRAY */
  {__pyx_k_CUDA_ARRAY3D_COLOR_ATTACHMENT, sizeof(__pyx_k_CUDA_ARRAY3D_COLOR_ATTACHMENT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_COLOR_ATTACHMENT */
  {__pyx_k_CUDA_ARRAY3D_CUBEMAP, sizeof(__pyx_k_CUDA_ARRAY3D_CUBEMAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_CUBEMAP */
  {__pyx_k_CUDA_ARRAY3D_DEFERRED_MAPPING, sizeof(__pyx_k_CUDA_ARRAY3D_DEFERRED_MAPPING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_DEFERRED_MAPPING */
  {__pyx_k_CUDA_ARRAY3D_DEPTH_TEXTURE, sizeof(__pyx_k_CUDA_ARRAY3D_DEPTH_TEXTURE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_DEPTH_TEXTURE */
  {__pyx_k_CUDA_ARRAY3D_DESCRIPTOR, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR */
  {__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st */
  {__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___red, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st___red */
  {__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___set, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st___set */
  {__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st_getPt, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st_getPt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st_getPt */
  {__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_v2, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_v2 */
  {__pyx_k_CUDA_ARRAY3D_LAYERED, sizeof(__pyx_k_CUDA_ARRAY3D_LAYERED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_LAYERED */
  {__pyx_k_CUDA_ARRAY3D_SPARSE, sizeof(__pyx_k_CUDA_ARRAY3D_SPARSE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_SPARSE */
  {__pyx_k_CUDA_ARRAY3D_SURFACE_LDST, sizeof(__pyx_k_CUDA_ARRAY3D_SURFACE_LDST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_SURFACE_LDST */
  {__pyx_k_CUDA_ARRAY3D_TEXTURE_GATHER, sizeof(__pyx_k_CUDA_ARRAY3D_TEXTURE_GATHER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_TEXTURE_GATHER */
  {__pyx_k_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE, sizeof(__pyx_k_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE */
  {__pyx_k_CUDA_ARRAY_DESCRIPTOR, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_DESCRIPTOR */
  {__pyx_k_CUDA_ARRAY_DESCRIPTOR_st, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st */
  {__pyx_k_CUDA_ARRAY_DESCRIPTOR_st___reduc, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_st___reduc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st___reduc */
  {__pyx_k_CUDA_ARRAY_DESCRIPTOR_st___setst, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_st___setst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st___setst */
  {__pyx_k_CUDA_ARRAY_DESCRIPTOR_st_getPtr, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st_getPtr */
  {__pyx_k_CUDA_ARRAY_DESCRIPTOR_v2, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_v2 */
  {__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS */
  {__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s */
  {__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2 */
  {__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3 */
  {__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4 */
  {__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_v, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_v), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_v */
  {__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES */
  {__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st */
  {__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_2, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_2 */
  {__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_3, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_3 */
  {__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_4, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_4 */
  {__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_v1, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_v1 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4 */
  {__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5 */
  {__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS */
  {__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st */
  {__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2 */
  {__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3 */
  {__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4 */
  {__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS, sizeof(__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS */
  {__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___r, sizeof(__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___r), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS___r */
  {__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___s, sizeof(__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___s), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS___s */
  {__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS_get, sizeof(__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS_get), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS_get */
  {__pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE, sizeof(__pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_COOPERATIVE_LAUNCH_MULTI_DE */
  {__pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2, sizeof(__pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2 */
  {__pyx_k_CUDA_EGL_Color_Format_The_diffe, sizeof(__pyx_k_CUDA_EGL_Color_Format_The_diffe), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_EGL_Color_Format_The_diffe */
  {__pyx_k_CUDA_EGL_INFINITE_TIMEOUT, sizeof(__pyx_k_CUDA_EGL_INFINITE_TIMEOUT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EGL_INFINITE_TIMEOUT */
  {__pyx_k_CUDA_ERROR_ALREADY_ACQUIRED, sizeof(__pyx_k_CUDA_ERROR_ALREADY_ACQUIRED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_ALREADY_ACQUIRED */
  {__pyx_k_CUDA_ERROR_ALREADY_MAPPED, sizeof(__pyx_k_CUDA_ERROR_ALREADY_MAPPED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_ALREADY_MAPPED */
  {__pyx_k_CUDA_ERROR_ARRAY_IS_MAPPED, sizeof(__pyx_k_CUDA_ERROR_ARRAY_IS_MAPPED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_ARRAY_IS_MAPPED */
  {__pyx_k_CUDA_ERROR_ASSERT, sizeof(__pyx_k_CUDA_ERROR_ASSERT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_ASSERT */
  {__pyx_k_CUDA_ERROR_CAPTURED_EVENT, sizeof(__pyx_k_CUDA_ERROR_CAPTURED_EVENT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_CAPTURED_EVENT */
  {__pyx_k_CUDA_ERROR_CDP_NOT_SUPPORTED, sizeof(__pyx_k_CUDA_ERROR_CDP_NOT_SUPPORTED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_CDP_NOT_SUPPORTED */
  {__pyx_k_CUDA_ERROR_CDP_VERSION_MISMATCH, sizeof(__pyx_k_CUDA_ERROR_CDP_VERSION_MISMATCH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_CDP_VERSION_MISMATCH */
  {__pyx_k_CUDA_ERROR_COMPAT_NOT_SUPPORTED, sizeof(__pyx_k_CUDA_ERROR_COMPAT_NOT_SUPPORTED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_COMPAT_NOT_SUPPORTED */
  {__pyx_k_CUDA_ERROR_CONTAINED, sizeof(__pyx_k_CUDA_ERROR_CONTAINED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_CONTAINED */
  {__pyx_k_CUDA_ERROR_CONTEXT_ALREADY_CURRE, sizeof(__pyx_k_CUDA_ERROR_CONTEXT_ALREADY_CURRE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_CONTEXT_ALREADY_CURRE */
  {__pyx_k_CUDA_ERROR_CONTEXT_ALREADY_IN_US, sizeof(__pyx_k_CUDA_ERROR_CONTEXT_ALREADY_IN_US), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_CONTEXT_ALREADY_IN_US */
  {__pyx_k_CUDA_ERROR_CONTEXT_IS_DESTROYED, sizeof(__pyx_k_CUDA_ERROR_CONTEXT_IS_DESTROYED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_CONTEXT_IS_DESTROYED */
  {__pyx_k_CUDA_ERROR_COOPERATIVE_LAUNCH_TO, sizeof(__pyx_k_CUDA_ERROR_COOPERATIVE_LAUNCH_TO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_COOPERATIVE_LAUNCH_TO */
  {__pyx_k_CUDA_ERROR_DEINITIALIZED, sizeof(__pyx_k_CUDA_ERROR_DEINITIALIZED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_DEINITIALIZED */
  {__pyx_k_CUDA_ERROR_DEVICE_NOT_LICENSED, sizeof(__pyx_k_CUDA_ERROR_DEVICE_NOT_LICENSED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_DEVICE_NOT_LICENSED */
  {__pyx_k_CUDA_ERROR_DEVICE_UNAVAILABLE, sizeof(__pyx_k_CUDA_ERROR_DEVICE_UNAVAILABLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_DEVICE_UNAVAILABLE */
  {__pyx_k_CUDA_ERROR_ECC_UNCORRECTABLE, sizeof(__pyx_k_CUDA_ERROR_ECC_UNCORRECTABLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_ECC_UNCORRECTABLE */
  {__pyx_k_CUDA_ERROR_EXTERNAL_DEVICE, sizeof(__pyx_k_CUDA_ERROR_EXTERNAL_DEVICE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_EXTERNAL_DEVICE */
  {__pyx_k_CUDA_ERROR_FILE_NOT_FOUND, sizeof(__pyx_k_CUDA_ERROR_FILE_NOT_FOUND), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_FILE_NOT_FOUND */
  {__pyx_k_CUDA_ERROR_FUNCTION_NOT_LOADED, sizeof(__pyx_k_CUDA_ERROR_FUNCTION_NOT_LOADED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_FUNCTION_NOT_LOADED */
  {__pyx_k_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI, sizeof(__pyx_k_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI */
  {__pyx_k_CUDA_ERROR_HARDWARE_STACK_ERROR, sizeof(__pyx_k_CUDA_ERROR_HARDWARE_STACK_ERROR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_HARDWARE_STACK_ERROR */
  {__pyx_k_CUDA_ERROR_HOST_MEMORY_ALREADY_R, sizeof(__pyx_k_CUDA_ERROR_HOST_MEMORY_ALREADY_R), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_HOST_MEMORY_ALREADY_R */
  {__pyx_k_CUDA_ERROR_HOST_MEMORY_NOT_REGIS, sizeof(__pyx_k_CUDA_ERROR_HOST_MEMORY_NOT_REGIS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_HOST_MEMORY_NOT_REGIS */
  {__pyx_k_CUDA_ERROR_ILLEGAL_ADDRESS, sizeof(__pyx_k_CUDA_ERROR_ILLEGAL_ADDRESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_ILLEGAL_ADDRESS */
  {__pyx_k_CUDA_ERROR_ILLEGAL_INSTRUCTION, sizeof(__pyx_k_CUDA_ERROR_ILLEGAL_INSTRUCTION), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_ILLEGAL_INSTRUCTION */
  {__pyx_k_CUDA_ERROR_ILLEGAL_STATE, sizeof(__pyx_k_CUDA_ERROR_ILLEGAL_STATE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_ILLEGAL_STATE */
  {__pyx_k_CUDA_ERROR_INVALID_ADDRESS_SPACE, sizeof(__pyx_k_CUDA_ERROR_INVALID_ADDRESS_SPACE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_ADDRESS_SPACE */
  {__pyx_k_CUDA_ERROR_INVALID_CLUSTER_SIZE, sizeof(__pyx_k_CUDA_ERROR_INVALID_CLUSTER_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_CLUSTER_SIZE */
  {__pyx_k_CUDA_ERROR_INVALID_CONTEXT, sizeof(__pyx_k_CUDA_ERROR_INVALID_CONTEXT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_CONTEXT */
  {__pyx_k_CUDA_ERROR_INVALID_DEVICE, sizeof(__pyx_k_CUDA_ERROR_INVALID_DEVICE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_DEVICE */
  {__pyx_k_CUDA_ERROR_INVALID_GRAPHICS_CONT, sizeof(__pyx_k_CUDA_ERROR_INVALID_GRAPHICS_CONT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_GRAPHICS_CONT */
  {__pyx_k_CUDA_ERROR_INVALID_HANDLE, sizeof(__pyx_k_CUDA_ERROR_INVALID_HANDLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_HANDLE */
  {__pyx_k_CUDA_ERROR_INVALID_IMAGE, sizeof(__pyx_k_CUDA_ERROR_INVALID_IMAGE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_IMAGE */
  {__pyx_k_CUDA_ERROR_INVALID_PC, sizeof(__pyx_k_CUDA_ERROR_INVALID_PC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_PC */
  {__pyx_k_CUDA_ERROR_INVALID_PTX, sizeof(__pyx_k_CUDA_ERROR_INVALID_PTX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_PTX */
  {__pyx_k_CUDA_ERROR_INVALID_RESOURCE_CONF, sizeof(__pyx_k_CUDA_ERROR_INVALID_RESOURCE_CONF), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_RESOURCE_CONF */
  {__pyx_k_CUDA_ERROR_INVALID_RESOURCE_TYPE, sizeof(__pyx_k_CUDA_ERROR_INVALID_RESOURCE_TYPE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_RESOURCE_TYPE */
  {__pyx_k_CUDA_ERROR_INVALID_SOURCE, sizeof(__pyx_k_CUDA_ERROR_INVALID_SOURCE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_SOURCE */
  {__pyx_k_CUDA_ERROR_INVALID_VALUE, sizeof(__pyx_k_CUDA_ERROR_INVALID_VALUE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_INVALID_VALUE */
  {__pyx_k_CUDA_ERROR_JIT_COMPILATION_DISAB, sizeof(__pyx_k_CUDA_ERROR_JIT_COMPILATION_DISAB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_JIT_COMPILATION_DISAB */
  {__pyx_k_CUDA_ERROR_JIT_COMPILER_NOT_FOUN, sizeof(__pyx_k_CUDA_ERROR_JIT_COMPILER_NOT_FOUN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_JIT_COMPILER_NOT_FOUN */
  {__pyx_k_CUDA_ERROR_KEY_ROTATION, sizeof(__pyx_k_CUDA_ERROR_KEY_ROTATION), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_KEY_ROTATION */
  {__pyx_k_CUDA_ERROR_LAUNCH_FAILED, sizeof(__pyx_k_CUDA_ERROR_LAUNCH_FAILED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_LAUNCH_FAILED */
  {__pyx_k_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T, sizeof(__pyx_k_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T */
  {__pyx_k_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC, sizeof(__pyx_k_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC */
  {__pyx_k_CUDA_ERROR_LAUNCH_TIMEOUT, sizeof(__pyx_k_CUDA_ERROR_LAUNCH_TIMEOUT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_LAUNCH_TIMEOUT */
  {__pyx_k_CUDA_ERROR_LOSSY_QUERY, sizeof(__pyx_k_CUDA_ERROR_LOSSY_QUERY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_LOSSY_QUERY */
  {__pyx_k_CUDA_ERROR_MAP_FAILED, sizeof(__pyx_k_CUDA_ERROR_MAP_FAILED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_MAP_FAILED */
  {__pyx_k_CUDA_ERROR_MISALIGNED_ADDRESS, sizeof(__pyx_k_CUDA_ERROR_MISALIGNED_ADDRESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_MISALIGNED_ADDRESS */
  {__pyx_k_CUDA_ERROR_MPS_CLIENT_TERMINATED, sizeof(__pyx_k_CUDA_ERROR_MPS_CLIENT_TERMINATED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_MPS_CLIENT_TERMINATED */
  {__pyx_k_CUDA_ERROR_MPS_CONNECTION_FAILED, sizeof(__pyx_k_CUDA_ERROR_MPS_CONNECTION_FAILED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_MPS_CONNECTION_FAILED */
  {__pyx_k_CUDA_ERROR_MPS_MAX_CLIENTS_REACH, sizeof(__pyx_k_CUDA_ERROR_MPS_MAX_CLIENTS_REACH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_MPS_MAX_CLIENTS_REACH */
  {__pyx_k_CUDA_ERROR_MPS_MAX_CONNECTIONS_R, sizeof(__pyx_k_CUDA_ERROR_MPS_MAX_CONNECTIONS_R), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_MPS_MAX_CONNECTIONS_R */
  {__pyx_k_CUDA_ERROR_MPS_RPC_FAILURE, sizeof(__pyx_k_CUDA_ERROR_MPS_RPC_FAILURE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_MPS_RPC_FAILURE */
  {__pyx_k_CUDA_ERROR_MPS_SERVER_NOT_READY, sizeof(__pyx_k_CUDA_ERROR_MPS_SERVER_NOT_READY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_MPS_SERVER_NOT_READY */
  {__pyx_k_CUDA_ERROR_NOT_FOUND, sizeof(__pyx_k_CUDA_ERROR_NOT_FOUND), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NOT_FOUND */
  {__pyx_k_CUDA_ERROR_NOT_INITIALIZED, sizeof(__pyx_k_CUDA_ERROR_NOT_INITIALIZED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NOT_INITIALIZED */
  {__pyx_k_CUDA_ERROR_NOT_MAPPED, sizeof(__pyx_k_CUDA_ERROR_NOT_MAPPED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NOT_MAPPED */
  {__pyx_k_CUDA_ERROR_NOT_MAPPED_AS_ARRAY, sizeof(__pyx_k_CUDA_ERROR_NOT_MAPPED_AS_ARRAY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NOT_MAPPED_AS_ARRAY */
  {__pyx_k_CUDA_ERROR_NOT_MAPPED_AS_POINTER, sizeof(__pyx_k_CUDA_ERROR_NOT_MAPPED_AS_POINTER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NOT_MAPPED_AS_POINTER */
  {__pyx_k_CUDA_ERROR_NOT_PERMITTED, sizeof(__pyx_k_CUDA_ERROR_NOT_PERMITTED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NOT_PERMITTED */
  {__pyx_k_CUDA_ERROR_NOT_READY, sizeof(__pyx_k_CUDA_ERROR_NOT_READY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NOT_READY */
  {__pyx_k_CUDA_ERROR_NOT_SUPPORTED, sizeof(__pyx_k_CUDA_ERROR_NOT_SUPPORTED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NOT_SUPPORTED */
  {__pyx_k_CUDA_ERROR_NO_BINARY_FOR_GPU, sizeof(__pyx_k_CUDA_ERROR_NO_BINARY_FOR_GPU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NO_BINARY_FOR_GPU */
  {__pyx_k_CUDA_ERROR_NO_DEVICE, sizeof(__pyx_k_CUDA_ERROR_NO_DEVICE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NO_DEVICE */
  {__pyx_k_CUDA_ERROR_NVLINK_UNCORRECTABLE, sizeof(__pyx_k_CUDA_ERROR_NVLINK_UNCORRECTABLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_NVLINK_UNCORRECTABLE */
  {__pyx_k_CUDA_ERROR_OPERATING_SYSTEM, sizeof(__pyx_k_CUDA_ERROR_OPERATING_SYSTEM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_OPERATING_SYSTEM */
  {__pyx_k_CUDA_ERROR_OUT_OF_MEMORY, sizeof(__pyx_k_CUDA_ERROR_OUT_OF_MEMORY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY */
  {__pyx_k_CUDA_ERROR_PEER_ACCESS_ALREADY_E, sizeof(__pyx_k_CUDA_ERROR_PEER_ACCESS_ALREADY_E), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_PEER_ACCESS_ALREADY_E */
  {__pyx_k_CUDA_ERROR_PEER_ACCESS_NOT_ENABL, sizeof(__pyx_k_CUDA_ERROR_PEER_ACCESS_NOT_ENABL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_PEER_ACCESS_NOT_ENABL */
  {__pyx_k_CUDA_ERROR_PEER_ACCESS_UNSUPPORT, sizeof(__pyx_k_CUDA_ERROR_PEER_ACCESS_UNSUPPORT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_PEER_ACCESS_UNSUPPORT */
  {__pyx_k_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV, sizeof(__pyx_k_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV */
  {__pyx_k_CUDA_ERROR_PROFILER_ALREADY_STAR, sizeof(__pyx_k_CUDA_ERROR_PROFILER_ALREADY_STAR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_PROFILER_ALREADY_STAR */
  {__pyx_k_CUDA_ERROR_PROFILER_ALREADY_STOP, sizeof(__pyx_k_CUDA_ERROR_PROFILER_ALREADY_STOP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_PROFILER_ALREADY_STOP */
  {__pyx_k_CUDA_ERROR_PROFILER_DISABLED, sizeof(__pyx_k_CUDA_ERROR_PROFILER_DISABLED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_PROFILER_DISABLED */
  {__pyx_k_CUDA_ERROR_PROFILER_NOT_INITIALI, sizeof(__pyx_k_CUDA_ERROR_PROFILER_NOT_INITIALI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_PROFILER_NOT_INITIALI */
  {__pyx_k_CUDA_ERROR_SHARED_OBJECT_INIT_FA, sizeof(__pyx_k_CUDA_ERROR_SHARED_OBJECT_INIT_FA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_SHARED_OBJECT_INIT_FA */
  {__pyx_k_CUDA_ERROR_SHARED_OBJECT_SYMBOL, sizeof(__pyx_k_CUDA_ERROR_SHARED_OBJECT_SYMBOL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_SHARED_OBJECT_SYMBOL */
  {__pyx_k_CUDA_ERROR_STREAM_CAPTURE_IMPLIC, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_IMPLIC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_IMPLIC */
  {__pyx_k_CUDA_ERROR_STREAM_CAPTURE_INVALI, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_INVALI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_INVALI */
  {__pyx_k_CUDA_ERROR_STREAM_CAPTURE_ISOLAT, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_ISOLAT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_ISOLAT */
  {__pyx_k_CUDA_ERROR_STREAM_CAPTURE_MERGE, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_MERGE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_MERGE */
  {__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNJOIN, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNJOIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNJOIN */
  {__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNMATC, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNMATC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNMATC */
  {__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNSUPP, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNSUPP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNSUPP */
  {__pyx_k_CUDA_ERROR_STREAM_CAPTURE_WRONG, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_WRONG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_WRONG */
  {__pyx_k_CUDA_ERROR_STUB_LIBRARY, sizeof(__pyx_k_CUDA_ERROR_STUB_LIBRARY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_STUB_LIBRARY */
  {__pyx_k_CUDA_ERROR_SYSTEM_DRIVER_MISMATC, sizeof(__pyx_k_CUDA_ERROR_SYSTEM_DRIVER_MISMATC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_SYSTEM_DRIVER_MISMATC */
  {__pyx_k_CUDA_ERROR_SYSTEM_NOT_READY, sizeof(__pyx_k_CUDA_ERROR_SYSTEM_NOT_READY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_SYSTEM_NOT_READY */
  {__pyx_k_CUDA_ERROR_TENSOR_MEMORY_LEAK, sizeof(__pyx_k_CUDA_ERROR_TENSOR_MEMORY_LEAK), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_TENSOR_MEMORY_LEAK */
  {__pyx_k_CUDA_ERROR_TIMEOUT, sizeof(__pyx_k_CUDA_ERROR_TIMEOUT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_TIMEOUT */
  {__pyx_k_CUDA_ERROR_TOO_MANY_PEERS, sizeof(__pyx_k_CUDA_ERROR_TOO_MANY_PEERS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_TOO_MANY_PEERS */
  {__pyx_k_CUDA_ERROR_UNKNOWN, sizeof(__pyx_k_CUDA_ERROR_UNKNOWN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_UNKNOWN */
  {__pyx_k_CUDA_ERROR_UNMAP_FAILED, sizeof(__pyx_k_CUDA_ERROR_UNMAP_FAILED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_UNMAP_FAILED */
  {__pyx_k_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S, sizeof(__pyx_k_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S */
  {__pyx_k_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI, sizeof(__pyx_k_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI */
  {__pyx_k_CUDA_ERROR_UNSUPPORTED_LIMIT, sizeof(__pyx_k_CUDA_ERROR_UNSUPPORTED_LIMIT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_UNSUPPORTED_LIMIT */
  {__pyx_k_CUDA_ERROR_UNSUPPORTED_PTX_VERSI, sizeof(__pyx_k_CUDA_ERROR_UNSUPPORTED_PTX_VERSI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_ERROR_UNSUPPORTED_PTX_VERSI */
  {__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS */
  {__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st */
  {__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_2, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_2 */
  {__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_3, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_3 */
  {__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_4, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_4 */
  {__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS */
  {__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st */
  {__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_2, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_2 */
  {__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_3, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_3 */
  {__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_g, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_g), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_g */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_DEDICATED, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_DEDICATED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_DEDICATED */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5 */
  {__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6 */
  {__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8 */
  {__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4 */
  {__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5 */
  {__pyx_k_CUDA_EglFrame_type_array_or_poi, sizeof(__pyx_k_CUDA_EglFrame_type_array_or_poi), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_EglFrame_type_array_or_poi */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_CONDITION, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_CONDITION), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_CONDITION */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_ERROR, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_ERROR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_ERROR */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_USE, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_USE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_USE */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_INVALID_S, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_INVALID_S), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_INVALID_S */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_MULTIPLE, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_MULTIPLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_MULTIPLE */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_NODE_OPER, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_NODE_OPER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_NODE_OPER */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2 */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3 */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4 */
  {__pyx_k_CUDA_GRAPH_INSTANTIATE_SUCCESS, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_SUCCESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_GRAPH_INSTANTIATE_SUCCESS */
  {__pyx_k_CUDA_Graph_Update_error_types, sizeof(__pyx_k_CUDA_Graph_Update_error_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_Graph_Update_error_types */
  {__pyx_k_CUDA_HOST_NODE_PARAMS, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_st */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_st___reduc, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_st___reduc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_st___reduc */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_st___setst, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_st___setst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_st___setst */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_st_getPtr, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_st_getPtr */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_v1 */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2 */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___re, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___re), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st___re */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___se, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___se), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st___se */
  {__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st_getP, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st_getP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st_getP */
  {__pyx_k_CUDA_Ipc_Mem_Flags, sizeof(__pyx_k_CUDA_Ipc_Mem_Flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_Ipc_Mem_Flags */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_st___red, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_st___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st___red */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_st___set, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_st___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st___set */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_st_getPt, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_st_getPt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st_getPt */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v1 */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2 */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_2, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_2 */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_3, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_3 */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_ge, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_ge), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_ge */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3 */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_2, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_2 */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_3, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_3 */
  {__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_ge, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_ge), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_ge */
  {__pyx_k_CUDA_LAUNCH_PARAMS, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_LAUNCH_PARAMS */
  {__pyx_k_CUDA_LAUNCH_PARAMS_st, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_LAUNCH_PARAMS_st */
  {__pyx_k_CUDA_LAUNCH_PARAMS_st___reduce_c, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_st___reduce_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_LAUNCH_PARAMS_st___reduce_c */
  {__pyx_k_CUDA_LAUNCH_PARAMS_st___setstate, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_LAUNCH_PARAMS_st___setstate */
  {__pyx_k_CUDA_LAUNCH_PARAMS_st_getPtr, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_LAUNCH_PARAMS_st_getPtr */
  {__pyx_k_CUDA_LAUNCH_PARAMS_v1, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_LAUNCH_PARAMS_v1 */
  {__pyx_k_CUDA_Lazy_Loading_status, sizeof(__pyx_k_CUDA_Lazy_Loading_status), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_Lazy_Loading_status */
  {__pyx_k_CUDA_MEMCPY2D, sizeof(__pyx_k_CUDA_MEMCPY2D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY2D */
  {__pyx_k_CUDA_MEMCPY2D_st, sizeof(__pyx_k_CUDA_MEMCPY2D_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY2D_st */
  {__pyx_k_CUDA_MEMCPY2D_st___reduce_cython, sizeof(__pyx_k_CUDA_MEMCPY2D_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY2D_st___reduce_cython */
  {__pyx_k_CUDA_MEMCPY2D_st___setstate_cyth, sizeof(__pyx_k_CUDA_MEMCPY2D_st___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY2D_st___setstate_cyth */
  {__pyx_k_CUDA_MEMCPY2D_st_getPtr, sizeof(__pyx_k_CUDA_MEMCPY2D_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY2D_st_getPtr */
  {__pyx_k_CUDA_MEMCPY2D_v2, sizeof(__pyx_k_CUDA_MEMCPY2D_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY2D_v2 */
  {__pyx_k_CUDA_MEMCPY3D, sizeof(__pyx_k_CUDA_MEMCPY3D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D */
  {__pyx_k_CUDA_MEMCPY3D_BATCH_OP, sizeof(__pyx_k_CUDA_MEMCPY3D_BATCH_OP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP */
  {__pyx_k_CUDA_MEMCPY3D_BATCH_OP_st, sizeof(__pyx_k_CUDA_MEMCPY3D_BATCH_OP_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st */
  {__pyx_k_CUDA_MEMCPY3D_BATCH_OP_st___redu, sizeof(__pyx_k_CUDA_MEMCPY3D_BATCH_OP_st___redu), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st___redu */
  {__pyx_k_CUDA_MEMCPY3D_BATCH_OP_st___sets, sizeof(__pyx_k_CUDA_MEMCPY3D_BATCH_OP_st___sets), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st___sets */
  {__pyx_k_CUDA_MEMCPY3D_BATCH_OP_st_getPtr, sizeof(__pyx_k_CUDA_MEMCPY3D_BATCH_OP_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st_getPtr */
  {__pyx_k_CUDA_MEMCPY3D_BATCH_OP_v1, sizeof(__pyx_k_CUDA_MEMCPY3D_BATCH_OP_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_v1 */
  {__pyx_k_CUDA_MEMCPY3D_PEER, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_PEER */
  {__pyx_k_CUDA_MEMCPY3D_PEER_st, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_PEER_st */
  {__pyx_k_CUDA_MEMCPY3D_PEER_st___reduce_c, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_st___reduce_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_PEER_st___reduce_c */
  {__pyx_k_CUDA_MEMCPY3D_PEER_st___setstate, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_PEER_st___setstate */
  {__pyx_k_CUDA_MEMCPY3D_PEER_st_getPtr, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_PEER_st_getPtr */
  {__pyx_k_CUDA_MEMCPY3D_PEER_v1, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_PEER_v1 */
  {__pyx_k_CUDA_MEMCPY3D_st, sizeof(__pyx_k_CUDA_MEMCPY3D_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_st */
  {__pyx_k_CUDA_MEMCPY3D_st___reduce_cython, sizeof(__pyx_k_CUDA_MEMCPY3D_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_st___reduce_cython */
  {__pyx_k_CUDA_MEMCPY3D_st___setstate_cyth, sizeof(__pyx_k_CUDA_MEMCPY3D_st___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_st___setstate_cyth */
  {__pyx_k_CUDA_MEMCPY3D_st_getPtr, sizeof(__pyx_k_CUDA_MEMCPY3D_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_st_getPtr */
  {__pyx_k_CUDA_MEMCPY3D_v2, sizeof(__pyx_k_CUDA_MEMCPY3D_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY3D_v2 */
  {__pyx_k_CUDA_MEMCPY_NODE_PARAMS, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS */
  {__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st */
  {__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___red, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st___red */
  {__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___set, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st___set */
  {__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st_getPt, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st_getPt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st_getPt */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_st___red, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_st___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st___red */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_st___set, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_st___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st___set */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_st_getPt, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_st_getPt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st_getPt */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v1 */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2 */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_2, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_2 */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_3, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_3 */
  {__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_ge, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_ge), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_ge */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1 */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2 */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3 */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4 */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2 */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2 */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3 */
  {__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4 */
  {__pyx_k_CUDA_MEM_FREE_NODE_PARAMS, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS */
  {__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st */
  {__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___r, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___r), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st___r */
  {__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___s, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___s), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st___s */
  {__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st_get, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st_get), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st_get */
  {__pyx_k_CUDA_Mem_Attach_Flags, sizeof(__pyx_k_CUDA_Mem_Attach_Flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_Mem_Attach_Flags */
  {__pyx_k_CUDA_NVSCISYNC_ATTR_SIGNAL, sizeof(__pyx_k_CUDA_NVSCISYNC_ATTR_SIGNAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_NVSCISYNC_ATTR_SIGNAL */
  {__pyx_k_CUDA_NVSCISYNC_ATTR_WAIT, sizeof(__pyx_k_CUDA_NVSCISYNC_ATTR_WAIT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_NVSCISYNC_ATTR_WAIT */
  {__pyx_k_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_ACCESS_FL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_POINTER_ATTRIBUTE_ACCESS_FL */
  {__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN */
  {__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2 */
  {__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3 */
  {__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4 */
  {__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5 */
  {__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6 */
  {__pyx_k_CUDA_Process_States, sizeof(__pyx_k_CUDA_Process_States), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_Process_States */
  {__pyx_k_CUDA_RESOURCE_DESC, sizeof(__pyx_k_CUDA_RESOURCE_DESC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_DESC */
  {__pyx_k_CUDA_RESOURCE_DESC_st, sizeof(__pyx_k_CUDA_RESOURCE_DESC_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_DESC_st */
  {__pyx_k_CUDA_RESOURCE_DESC_st___reduce_c, sizeof(__pyx_k_CUDA_RESOURCE_DESC_st___reduce_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_DESC_st___reduce_c */
  {__pyx_k_CUDA_RESOURCE_DESC_st___setstate, sizeof(__pyx_k_CUDA_RESOURCE_DESC_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_DESC_st___setstate */
  {__pyx_k_CUDA_RESOURCE_DESC_st_getPtr, sizeof(__pyx_k_CUDA_RESOURCE_DESC_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_DESC_st_getPtr */
  {__pyx_k_CUDA_RESOURCE_DESC_v1, sizeof(__pyx_k_CUDA_RESOURCE_DESC_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_DESC_v1 */
  {__pyx_k_CUDA_RESOURCE_VIEW_DESC, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_VIEW_DESC */
  {__pyx_k_CUDA_RESOURCE_VIEW_DESC_st, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st */
  {__pyx_k_CUDA_RESOURCE_VIEW_DESC_st___red, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_st___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st___red */
  {__pyx_k_CUDA_RESOURCE_VIEW_DESC_st___set, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_st___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st___set */
  {__pyx_k_CUDA_RESOURCE_VIEW_DESC_st_getPt, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_st_getPt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st_getPt */
  {__pyx_k_CUDA_RESOURCE_VIEW_DESC_v1, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_v1 */
  {__pyx_k_CUDA_SUCCESS, sizeof(__pyx_k_CUDA_SUCCESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_SUCCESS */
  {__pyx_k_CUDA_TEXTURE_DESC, sizeof(__pyx_k_CUDA_TEXTURE_DESC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_TEXTURE_DESC */
  {__pyx_k_CUDA_TEXTURE_DESC_st, sizeof(__pyx_k_CUDA_TEXTURE_DESC_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_TEXTURE_DESC_st */
  {__pyx_k_CUDA_TEXTURE_DESC_st___reduce_cy, sizeof(__pyx_k_CUDA_TEXTURE_DESC_st___reduce_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_TEXTURE_DESC_st___reduce_cy */
  {__pyx_k_CUDA_TEXTURE_DESC_st___setstate, sizeof(__pyx_k_CUDA_TEXTURE_DESC_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_TEXTURE_DESC_st___setstate */
  {__pyx_k_CUDA_TEXTURE_DESC_st_getPtr, sizeof(__pyx_k_CUDA_TEXTURE_DESC_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_TEXTURE_DESC_st_getPtr */
  {__pyx_k_CUDA_TEXTURE_DESC_v1, sizeof(__pyx_k_CUDA_TEXTURE_DESC_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_TEXTURE_DESC_v1 */
  {__pyx_k_CUDA_VERSION, sizeof(__pyx_k_CUDA_VERSION), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUDA_VERSION */
  {__pyx_k_CUDA_device_NUMA_configuration, sizeof(__pyx_k_CUDA_device_NUMA_configuration), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_device_NUMA_configuration */
  {__pyx_k_CUDA_devices_corresponding_to_a, sizeof(__pyx_k_CUDA_devices_corresponding_to_a), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_devices_corresponding_to_a */
  {__pyx_k_CUDA_memory_pool_attributes, sizeof(__pyx_k_CUDA_memory_pool_attributes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUDA_memory_pool_attributes */
  {__pyx_k_CUGLDeviceList, sizeof(__pyx_k_CUGLDeviceList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUGLDeviceList */
  {__pyx_k_CUGLmap_flags, sizeof(__pyx_k_CUGLmap_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUGLmap_flags */
  {__pyx_k_CUGPUDirectRDMAWritesOrdering, sizeof(__pyx_k_CUGPUDirectRDMAWritesOrdering), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUGPUDirectRDMAWritesOrdering */
  {__pyx_k_CU_ACCESS_PROPERTY_NORMAL, sizeof(__pyx_k_CU_ACCESS_PROPERTY_NORMAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_ACCESS_PROPERTY_NORMAL */
  {__pyx_k_CU_ACCESS_PROPERTY_PERSISTING, sizeof(__pyx_k_CU_ACCESS_PROPERTY_PERSISTING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_ACCESS_PROPERTY_PERSISTING */
  {__pyx_k_CU_ACCESS_PROPERTY_STREAMING, sizeof(__pyx_k_CU_ACCESS_PROPERTY_STREAMING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_ACCESS_PROPERTY_STREAMING */
  {__pyx_k_CU_AD_FORMAT_AYUV, sizeof(__pyx_k_CU_AD_FORMAT_AYUV), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_AYUV */
  {__pyx_k_CU_AD_FORMAT_BC1_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC1_UNORM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC1_UNORM */
  {__pyx_k_CU_AD_FORMAT_BC1_UNORM_SRGB, sizeof(__pyx_k_CU_AD_FORMAT_BC1_UNORM_SRGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC1_UNORM_SRGB */
  {__pyx_k_CU_AD_FORMAT_BC2_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC2_UNORM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC2_UNORM */
  {__pyx_k_CU_AD_FORMAT_BC2_UNORM_SRGB, sizeof(__pyx_k_CU_AD_FORMAT_BC2_UNORM_SRGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC2_UNORM_SRGB */
  {__pyx_k_CU_AD_FORMAT_BC3_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC3_UNORM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC3_UNORM */
  {__pyx_k_CU_AD_FORMAT_BC3_UNORM_SRGB, sizeof(__pyx_k_CU_AD_FORMAT_BC3_UNORM_SRGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC3_UNORM_SRGB */
  {__pyx_k_CU_AD_FORMAT_BC4_SNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC4_SNORM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC4_SNORM */
  {__pyx_k_CU_AD_FORMAT_BC4_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC4_UNORM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC4_UNORM */
  {__pyx_k_CU_AD_FORMAT_BC5_SNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC5_SNORM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC5_SNORM */
  {__pyx_k_CU_AD_FORMAT_BC5_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC5_UNORM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC5_UNORM */
  {__pyx_k_CU_AD_FORMAT_BC6H_SF16, sizeof(__pyx_k_CU_AD_FORMAT_BC6H_SF16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC6H_SF16 */
  {__pyx_k_CU_AD_FORMAT_BC6H_UF16, sizeof(__pyx_k_CU_AD_FORMAT_BC6H_UF16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC6H_UF16 */
  {__pyx_k_CU_AD_FORMAT_BC7_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC7_UNORM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC7_UNORM */
  {__pyx_k_CU_AD_FORMAT_BC7_UNORM_SRGB, sizeof(__pyx_k_CU_AD_FORMAT_BC7_UNORM_SRGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_BC7_UNORM_SRGB */
  {__pyx_k_CU_AD_FORMAT_FLOAT, sizeof(__pyx_k_CU_AD_FORMAT_FLOAT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_FLOAT */
  {__pyx_k_CU_AD_FORMAT_HALF, sizeof(__pyx_k_CU_AD_FORMAT_HALF), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_HALF */
  {__pyx_k_CU_AD_FORMAT_MAX, sizeof(__pyx_k_CU_AD_FORMAT_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_MAX */
  {__pyx_k_CU_AD_FORMAT_NV12, sizeof(__pyx_k_CU_AD_FORMAT_NV12), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_NV12 */
  {__pyx_k_CU_AD_FORMAT_NV16, sizeof(__pyx_k_CU_AD_FORMAT_NV16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_NV16 */
  {__pyx_k_CU_AD_FORMAT_P010, sizeof(__pyx_k_CU_AD_FORMAT_P010), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_P010 */
  {__pyx_k_CU_AD_FORMAT_P016, sizeof(__pyx_k_CU_AD_FORMAT_P016), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_P016 */
  {__pyx_k_CU_AD_FORMAT_P210, sizeof(__pyx_k_CU_AD_FORMAT_P210), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_P210 */
  {__pyx_k_CU_AD_FORMAT_P216, sizeof(__pyx_k_CU_AD_FORMAT_P216), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_P216 */
  {__pyx_k_CU_AD_FORMAT_SIGNED_INT16, sizeof(__pyx_k_CU_AD_FORMAT_SIGNED_INT16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SIGNED_INT16 */
  {__pyx_k_CU_AD_FORMAT_SIGNED_INT32, sizeof(__pyx_k_CU_AD_FORMAT_SIGNED_INT32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SIGNED_INT32 */
  {__pyx_k_CU_AD_FORMAT_SIGNED_INT8, sizeof(__pyx_k_CU_AD_FORMAT_SIGNED_INT8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SIGNED_INT8 */
  {__pyx_k_CU_AD_FORMAT_SNORM_INT16X1, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT16X1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X1 */
  {__pyx_k_CU_AD_FORMAT_SNORM_INT16X2, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT16X2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X2 */
  {__pyx_k_CU_AD_FORMAT_SNORM_INT16X4, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT16X4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X4 */
  {__pyx_k_CU_AD_FORMAT_SNORM_INT8X1, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT8X1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X1 */
  {__pyx_k_CU_AD_FORMAT_SNORM_INT8X2, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT8X2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X2 */
  {__pyx_k_CU_AD_FORMAT_SNORM_INT8X4, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT8X4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X4 */
  {__pyx_k_CU_AD_FORMAT_UNORM_INT16X1, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT16X1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X1 */
  {__pyx_k_CU_AD_FORMAT_UNORM_INT16X2, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT16X2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X2 */
  {__pyx_k_CU_AD_FORMAT_UNORM_INT16X4, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT16X4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X4 */
  {__pyx_k_CU_AD_FORMAT_UNORM_INT8X1, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT8X1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X1 */
  {__pyx_k_CU_AD_FORMAT_UNORM_INT8X2, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT8X2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X2 */
  {__pyx_k_CU_AD_FORMAT_UNORM_INT8X4, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT8X4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X4 */
  {__pyx_k_CU_AD_FORMAT_UNORM_INT_101010_2, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT_101010_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNORM_INT_101010_2 */
  {__pyx_k_CU_AD_FORMAT_UNSIGNED_INT16, sizeof(__pyx_k_CU_AD_FORMAT_UNSIGNED_INT16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT16 */
  {__pyx_k_CU_AD_FORMAT_UNSIGNED_INT32, sizeof(__pyx_k_CU_AD_FORMAT_UNSIGNED_INT32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT32 */
  {__pyx_k_CU_AD_FORMAT_UNSIGNED_INT8, sizeof(__pyx_k_CU_AD_FORMAT_UNSIGNED_INT8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT8 */
  {__pyx_k_CU_AD_FORMAT_Y210, sizeof(__pyx_k_CU_AD_FORMAT_Y210), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_Y210 */
  {__pyx_k_CU_AD_FORMAT_Y216, sizeof(__pyx_k_CU_AD_FORMAT_Y216), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_Y216 */
  {__pyx_k_CU_AD_FORMAT_Y410, sizeof(__pyx_k_CU_AD_FORMAT_Y410), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_Y410 */
  {__pyx_k_CU_AD_FORMAT_Y416, sizeof(__pyx_k_CU_AD_FORMAT_Y416), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_Y416 */
  {__pyx_k_CU_AD_FORMAT_Y444_PLANAR10, sizeof(__pyx_k_CU_AD_FORMAT_Y444_PLANAR10), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_Y444_PLANAR10 */
  {__pyx_k_CU_AD_FORMAT_Y444_PLANAR8, sizeof(__pyx_k_CU_AD_FORMAT_Y444_PLANAR8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_Y444_PLANAR8 */
  {__pyx_k_CU_AD_FORMAT_YUV444_16bit_SemiPl, sizeof(__pyx_k_CU_AD_FORMAT_YUV444_16bit_SemiPl), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_YUV444_16bit_SemiPl */
  {__pyx_k_CU_AD_FORMAT_YUV444_8bit_SemiPla, sizeof(__pyx_k_CU_AD_FORMAT_YUV444_8bit_SemiPla), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_YUV444_8bit_SemiPla */
  {__pyx_k_CU_AD_FORMAT_YUY2, sizeof(__pyx_k_CU_AD_FORMAT_YUY2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_AD_FORMAT_YUY2 */
  {__pyx_k_CU_ARRAY_SPARSE_PROPERTIES_SINGL, sizeof(__pyx_k_CU_ARRAY_SPARSE_PROPERTIES_SINGL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_ARRAY_SPARSE_PROPERTIES_SINGL */
  {__pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE, sizeof(__pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE */
  {__pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2, sizeof(__pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2 */
  {__pyx_k_CU_ASYNC_NOTIFICATION_TYPE_OVER, sizeof(__pyx_k_CU_ASYNC_NOTIFICATION_TYPE_OVER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_ASYNC_NOTIFICATION_TYPE_OVER */
  {__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_DEF, sizeof(__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_DEF), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_DEF */
  {__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_LOA, sizeof(__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_LOA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_LOA */
  {__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_SPR, sizeof(__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_SPR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_SPR */
  {__pyx_k_CU_COMPUTEMODE_DEFAULT, sizeof(__pyx_k_CU_COMPUTEMODE_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COMPUTEMODE_DEFAULT */
  {__pyx_k_CU_COMPUTEMODE_EXCLUSIVE_PROCESS, sizeof(__pyx_k_CU_COMPUTEMODE_EXCLUSIVE_PROCESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COMPUTEMODE_EXCLUSIVE_PROCESS */
  {__pyx_k_CU_COMPUTEMODE_PROHIBITED, sizeof(__pyx_k_CU_COMPUTEMODE_PROHIBITED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COMPUTEMODE_PROHIBITED */
  {__pyx_k_CU_COMPUTE_ACCELERATED_TARGET_BA, sizeof(__pyx_k_CU_COMPUTE_ACCELERATED_TARGET_BA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COMPUTE_ACCELERATED_TARGET_BA */
  {__pyx_k_CU_COMPUTE_FAMILY_TARGET_BASE, sizeof(__pyx_k_CU_COMPUTE_FAMILY_TARGET_BASE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COMPUTE_FAMILY_TARGET_BASE */
  {__pyx_k_CU_COREDUMP_DEFAULT_FLAGS, sizeof(__pyx_k_CU_COREDUMP_DEFAULT_FLAGS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_DEFAULT_FLAGS */
  {__pyx_k_CU_COREDUMP_ENABLE_ON_EXCEPTION, sizeof(__pyx_k_CU_COREDUMP_ENABLE_ON_EXCEPTION), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_ENABLE_ON_EXCEPTION */
  {__pyx_k_CU_COREDUMP_ENABLE_USER_TRIGGER, sizeof(__pyx_k_CU_COREDUMP_ENABLE_USER_TRIGGER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_ENABLE_USER_TRIGGER */
  {__pyx_k_CU_COREDUMP_FILE, sizeof(__pyx_k_CU_COREDUMP_FILE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_FILE */
  {__pyx_k_CU_COREDUMP_GENERATION_FLAGS, sizeof(__pyx_k_CU_COREDUMP_GENERATION_FLAGS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_GENERATION_FLAGS */
  {__pyx_k_CU_COREDUMP_LIGHTWEIGHT, sizeof(__pyx_k_CU_COREDUMP_LIGHTWEIGHT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_LIGHTWEIGHT */
  {__pyx_k_CU_COREDUMP_LIGHTWEIGHT_FLAGS, sizeof(__pyx_k_CU_COREDUMP_LIGHTWEIGHT_FLAGS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_LIGHTWEIGHT_FLAGS */
  {__pyx_k_CU_COREDUMP_MAX, sizeof(__pyx_k_CU_COREDUMP_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_MAX */
  {__pyx_k_CU_COREDUMP_PIPE, sizeof(__pyx_k_CU_COREDUMP_PIPE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_PIPE */
  {__pyx_k_CU_COREDUMP_SKIP_ABORT, sizeof(__pyx_k_CU_COREDUMP_SKIP_ABORT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_SKIP_ABORT */
  {__pyx_k_CU_COREDUMP_SKIP_CONSTBANK_MEMOR, sizeof(__pyx_k_CU_COREDUMP_SKIP_CONSTBANK_MEMOR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_SKIP_CONSTBANK_MEMOR */
  {__pyx_k_CU_COREDUMP_SKIP_GLOBAL_MEMORY, sizeof(__pyx_k_CU_COREDUMP_SKIP_GLOBAL_MEMORY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_SKIP_GLOBAL_MEMORY */
  {__pyx_k_CU_COREDUMP_SKIP_LOCAL_MEMORY, sizeof(__pyx_k_CU_COREDUMP_SKIP_LOCAL_MEMORY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_SKIP_LOCAL_MEMORY */
  {__pyx_k_CU_COREDUMP_SKIP_NONRELOCATED_EL, sizeof(__pyx_k_CU_COREDUMP_SKIP_NONRELOCATED_EL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_SKIP_NONRELOCATED_EL */
  {__pyx_k_CU_COREDUMP_SKIP_SHARED_MEMORY, sizeof(__pyx_k_CU_COREDUMP_SKIP_SHARED_MEMORY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_SKIP_SHARED_MEMORY */
  {__pyx_k_CU_COREDUMP_TRIGGER_HOST, sizeof(__pyx_k_CU_COREDUMP_TRIGGER_HOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_COREDUMP_TRIGGER_HOST */
  {__pyx_k_CU_CTX_BLOCKING_SYNC, sizeof(__pyx_k_CU_CTX_BLOCKING_SYNC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_BLOCKING_SYNC */
  {__pyx_k_CU_CTX_COREDUMP_ENABLE, sizeof(__pyx_k_CU_CTX_COREDUMP_ENABLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_COREDUMP_ENABLE */
  {__pyx_k_CU_CTX_FLAGS_MASK, sizeof(__pyx_k_CU_CTX_FLAGS_MASK), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_FLAGS_MASK */
  {__pyx_k_CU_CTX_LMEM_RESIZE_TO_MAX, sizeof(__pyx_k_CU_CTX_LMEM_RESIZE_TO_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_LMEM_RESIZE_TO_MAX */
  {__pyx_k_CU_CTX_MAP_HOST, sizeof(__pyx_k_CU_CTX_MAP_HOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_MAP_HOST */
  {__pyx_k_CU_CTX_SCHED_AUTO, sizeof(__pyx_k_CU_CTX_SCHED_AUTO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_SCHED_AUTO */
  {__pyx_k_CU_CTX_SCHED_BLOCKING_SYNC, sizeof(__pyx_k_CU_CTX_SCHED_BLOCKING_SYNC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_SCHED_BLOCKING_SYNC */
  {__pyx_k_CU_CTX_SCHED_MASK, sizeof(__pyx_k_CU_CTX_SCHED_MASK), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_SCHED_MASK */
  {__pyx_k_CU_CTX_SCHED_SPIN, sizeof(__pyx_k_CU_CTX_SCHED_SPIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_SCHED_SPIN */
  {__pyx_k_CU_CTX_SCHED_YIELD, sizeof(__pyx_k_CU_CTX_SCHED_YIELD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_SCHED_YIELD */
  {__pyx_k_CU_CTX_SYNC_MEMOPS, sizeof(__pyx_k_CU_CTX_SYNC_MEMOPS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_SYNC_MEMOPS */
  {__pyx_k_CU_CTX_USER_COREDUMP_ENABLE, sizeof(__pyx_k_CU_CTX_USER_COREDUMP_ENABLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CTX_USER_COREDUMP_ENABLE */
  {__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_X, sizeof(__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_X), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_X */
  {__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Y, sizeof(__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Y), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_Y */
  {__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Z, sizeof(__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Z), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_Z */
  {__pyx_k_CU_CUBEMAP_FACE_POSITIVE_X, sizeof(__pyx_k_CU_CUBEMAP_FACE_POSITIVE_X), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_X */
  {__pyx_k_CU_CUBEMAP_FACE_POSITIVE_Y, sizeof(__pyx_k_CU_CUBEMAP_FACE_POSITIVE_Y), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_Y */
  {__pyx_k_CU_CUBEMAP_FACE_POSITIVE_Z, sizeof(__pyx_k_CU_CUBEMAP_FACE_POSITIVE_Z), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_Z */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CLOCK_RATE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CLOCK_RATE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CLOCK_RATE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_K, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_K), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CONCURRENT_K */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_M, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_M), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_CONCURRENT_M */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_COOPERATIVE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_D3D12_CIG_SU, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_D3D12_CIG_SU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_D3D12_CIG_SU */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_ECC_ENABLED, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_ECC_ENABLED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_ECC_ENABLED */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GENERIC_COMP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GENERIC_COMP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GENERIC_COMP */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVI, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVI */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBS, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBS */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NATIVE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NATIVE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NATIVE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ME, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ME), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ME */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_MU, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_MU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_MU */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_VI, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_VI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_VI */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_REGISTE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_REGISTE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_REGISTE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_INTEGRATED, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_INTEGRATED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_INTEGRATED */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PITCH, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PITCH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_PITCH */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_REGISTER */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_THREADS */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MPS_ENABLED, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MPS_ENABLED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MPS_ENABLED */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MULTICAST_SU, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MULTICAST_SU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTICAST_SU */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MULTIPROCESS, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MULTIPROCESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTIPROCESS */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_ID, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_ID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_NUMA_ID */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2 */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_REGISTERS_PE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_REGISTERS_PE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_REGISTERS_PE */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_RESERVED_SHA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_RESERVED_SHA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_RESERVED_SHA */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_TCC_DRIVER, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TCC_DRIVER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_TCC_DRIVER */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_VULKAN_CIG_S, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_VULKAN_CIG_S), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_VULKAN_CIG_S */
  {__pyx_k_CU_DEVICE_ATTRIBUTE_WARP_SIZE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_WARP_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_ATTRIBUTE_WARP_SIZE */
  {__pyx_k_CU_DEVICE_CPU, sizeof(__pyx_k_CU_DEVICE_CPU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_CPU */
  {__pyx_k_CU_DEVICE_INVALID, sizeof(__pyx_k_CU_DEVICE_INVALID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_INVALID */
  {__pyx_k_CU_DEVICE_NUMA_CONFIG_NONE, sizeof(__pyx_k_CU_DEVICE_NUMA_CONFIG_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_NUMA_CONFIG_NONE */
  {__pyx_k_CU_DEVICE_NUMA_CONFIG_NUMA_NODE, sizeof(__pyx_k_CU_DEVICE_NUMA_CONFIG_NUMA_NODE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_NUMA_CONFIG_NUMA_NODE */
  {__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A */
  {__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S */
  {__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR */
  {__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A */
  {__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA */
  {__pyx_k_CU_DEV_RESOURCE_TYPE_INVALID, sizeof(__pyx_k_CU_DEV_RESOURCE_TYPE_INVALID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEV_RESOURCE_TYPE_INVALID */
  {__pyx_k_CU_DEV_RESOURCE_TYPE_SM, sizeof(__pyx_k_CU_DEV_RESOURCE_TYPE_SM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEV_RESOURCE_TYPE_SM */
  {__pyx_k_CU_DEV_SM_RESOURCE_SPLIT_IGNORE, sizeof(__pyx_k_CU_DEV_SM_RESOURCE_SPLIT_IGNORE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEV_SM_RESOURCE_SPLIT_IGNORE */
  {__pyx_k_CU_DEV_SM_RESOURCE_SPLIT_MAX_POT, sizeof(__pyx_k_CU_DEV_SM_RESOURCE_SPLIT_MAX_POT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_DEV_SM_RESOURCE_SPLIT_MAX_POT */
  {__pyx_k_CU_EGL_COLOR_FORMAT_A, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_A */
  {__pyx_k_CU_EGL_COLOR_FORMAT_ABGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_ABGR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_ABGR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_ARGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_ARGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_ARGB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_AYUV, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_AYUV), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_AYUV */
  {__pyx_k_CU_EGL_COLOR_FORMAT_AYUV_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_AYUV_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_AYUV_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_BGGR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_BGGR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_CCCC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_CCCC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_CCCC */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GBRG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_GBRG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GRBG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_GRBG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_RGGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_RGGB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BCCR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BCCR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_BCCR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BGGR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_BGGR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CBRC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CBRC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CBRC */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CCCC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CCCC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CCCC */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CRBC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CRBC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CRBC */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GBRG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_GBRG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GRBG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_GRBG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RCCB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RCCB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_RCCB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RGGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_RGGB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_BGGR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_BGGR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GBRG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_GBRG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GRBG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_GRBG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_RGGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_RGGB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_BGGR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_BGGR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GBRG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_GBRG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GRBG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_GRBG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_RGGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_RGGB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BCCR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BCCR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_BCCR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BGGR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_BGGR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CBRC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CBRC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_CBRC */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CRBC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CRBC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_CRBC */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GBRG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_GBRG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GRBG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_GRBG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RCCB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RCCB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_RCCB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RGGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_RGGB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BGR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BGR */
  {__pyx_k_CU_EGL_COLOR_FORMAT_BGRA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BGRA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_BGRA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_L, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_L), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_L */
  {__pyx_k_CU_EGL_COLOR_FORMAT_MAX, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_MAX */
  {__pyx_k_CU_EGL_COLOR_FORMAT_R, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_R), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_R */
  {__pyx_k_CU_EGL_COLOR_FORMAT_RG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_RG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_RG */
  {__pyx_k_CU_EGL_COLOR_FORMAT_RGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_RGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_RGB */
  {__pyx_k_CU_EGL_COLOR_FORMAT_RGBA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_RGBA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_RGBA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_2020, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_2020), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_2020 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_422, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_422), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_422 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_709, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_709), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_709 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_709_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_709_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_709_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_VYUY, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_VYUY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_VYUY */
  {__pyx_k_CU_EGL_COLOR_FORMAT_VYUY_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_VYUY_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_VYUY_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10_709_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10_709_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10_709_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y10_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y12_709_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12_709_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12_709_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y12_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_PLANA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_SEMIP */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_PLANA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_SEMIP */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUVA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUVA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUVA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUVA_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUVA_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUVA_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUV_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUYV_422, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUYV_422), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUYV_422 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YUYV_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUYV_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YUYV_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_PLANA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_SEMIP */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_PLANA */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_SEMIP */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2 */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVYU, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVYU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVYU */
  {__pyx_k_CU_EGL_COLOR_FORMAT_YVYU_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVYU_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_YVYU_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y_709_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y_709_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y_709_ER */
  {__pyx_k_CU_EGL_COLOR_FORMAT_Y_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y_ER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_COLOR_FORMAT_Y_ER */
  {__pyx_k_CU_EGL_FRAME_TYPE_ARRAY, sizeof(__pyx_k_CU_EGL_FRAME_TYPE_ARRAY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_FRAME_TYPE_ARRAY */
  {__pyx_k_CU_EGL_FRAME_TYPE_PITCH, sizeof(__pyx_k_CU_EGL_FRAME_TYPE_PITCH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_FRAME_TYPE_PITCH */
  {__pyx_k_CU_EGL_RESOURCE_LOCATION_SYSMEM, sizeof(__pyx_k_CU_EGL_RESOURCE_LOCATION_SYSMEM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_RESOURCE_LOCATION_SYSMEM */
  {__pyx_k_CU_EGL_RESOURCE_LOCATION_VIDMEM, sizeof(__pyx_k_CU_EGL_RESOURCE_LOCATION_VIDMEM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EGL_RESOURCE_LOCATION_VIDMEM */
  {__pyx_k_CU_EVENT_BLOCKING_SYNC, sizeof(__pyx_k_CU_EVENT_BLOCKING_SYNC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_BLOCKING_SYNC */
  {__pyx_k_CU_EVENT_DEFAULT, sizeof(__pyx_k_CU_EVENT_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_DEFAULT */
  {__pyx_k_CU_EVENT_DISABLE_TIMING, sizeof(__pyx_k_CU_EVENT_DISABLE_TIMING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_DISABLE_TIMING */
  {__pyx_k_CU_EVENT_INTERPROCESS, sizeof(__pyx_k_CU_EVENT_INTERPROCESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_INTERPROCESS */
  {__pyx_k_CU_EVENT_RECORD_DEFAULT, sizeof(__pyx_k_CU_EVENT_RECORD_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_RECORD_DEFAULT */
  {__pyx_k_CU_EVENT_RECORD_EXTERNAL, sizeof(__pyx_k_CU_EVENT_RECORD_EXTERNAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_RECORD_EXTERNAL */
  {__pyx_k_CU_EVENT_SCHED_AUTO, sizeof(__pyx_k_CU_EVENT_SCHED_AUTO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_SCHED_AUTO */
  {__pyx_k_CU_EVENT_SCHED_BLOCKING_SYNC, sizeof(__pyx_k_CU_EVENT_SCHED_BLOCKING_SYNC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_SCHED_BLOCKING_SYNC */
  {__pyx_k_CU_EVENT_SCHED_SPIN, sizeof(__pyx_k_CU_EVENT_SCHED_SPIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_SCHED_SPIN */
  {__pyx_k_CU_EVENT_SCHED_YIELD, sizeof(__pyx_k_CU_EVENT_SCHED_YIELD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_SCHED_YIELD */
  {__pyx_k_CU_EVENT_WAIT_DEFAULT, sizeof(__pyx_k_CU_EVENT_WAIT_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_WAIT_DEFAULT */
  {__pyx_k_CU_EVENT_WAIT_EXTERNAL, sizeof(__pyx_k_CU_EVENT_WAIT_EXTERNAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EVENT_WAIT_EXTERNAL */
  {__pyx_k_CU_EXEC_AFFINITY_TYPE_MAX, sizeof(__pyx_k_CU_EXEC_AFFINITY_TYPE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXEC_AFFINITY_TYPE_MAX */
  {__pyx_k_CU_EXEC_AFFINITY_TYPE_SM_COUNT, sizeof(__pyx_k_CU_EXEC_AFFINITY_TYPE_SM_COUNT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXEC_AFFINITY_TYPE_SM_COUNT */
  {__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D */
  {__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2 */
  {__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3 */
  {__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4 */
  {__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N */
  {__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O */
  {__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2 */
  {__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8 */
  {__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9 */
  {__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES */
  {__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2 */
  {__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3 */
  {__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4 */
  {__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5 */
  {__pyx_k_CU_FUNCTION_LOADING_STATE_LOADED, sizeof(__pyx_k_CU_FUNCTION_LOADING_STATE_LOADED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNCTION_LOADING_STATE_LOADED */
  {__pyx_k_CU_FUNCTION_LOADING_STATE_MAX, sizeof(__pyx_k_CU_FUNCTION_LOADING_STATE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNCTION_LOADING_STATE_MAX */
  {__pyx_k_CU_FUNCTION_LOADING_STATE_UNLOAD, sizeof(__pyx_k_CU_FUNCTION_LOADING_STATE_UNLOAD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNCTION_LOADING_STATE_UNLOAD */
  {__pyx_k_CU_FUNC_ATTRIBUTE_BINARY_VERSION, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_BINARY_VERSION), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_BINARY_VERSION */
  {__pyx_k_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA */
  {__pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU */
  {__pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M */
  {__pyx_k_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT */
  {__pyx_k_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT */
  {__pyx_k_CU_FUNC_ATTRIBUTE_MAX, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX */
  {__pyx_k_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH */
  {__pyx_k_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE */
  {__pyx_k_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C */
  {__pyx_k_CU_FUNC_ATTRIBUTE_NUM_REGS, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_NUM_REGS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_NUM_REGS */
  {__pyx_k_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR */
  {__pyx_k_CU_FUNC_ATTRIBUTE_PTX_VERSION, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_PTX_VERSION), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_PTX_VERSION */
  {__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST */
  {__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2 */
  {__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3 */
  {__pyx_k_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY */
  {__pyx_k_CU_FUNC_CACHE_PREFER_EQUAL, sizeof(__pyx_k_CU_FUNC_CACHE_PREFER_EQUAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_CACHE_PREFER_EQUAL */
  {__pyx_k_CU_FUNC_CACHE_PREFER_L1, sizeof(__pyx_k_CU_FUNC_CACHE_PREFER_L1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_CACHE_PREFER_L1 */
  {__pyx_k_CU_FUNC_CACHE_PREFER_NONE, sizeof(__pyx_k_CU_FUNC_CACHE_PREFER_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_CACHE_PREFER_NONE */
  {__pyx_k_CU_FUNC_CACHE_PREFER_SHARED, sizeof(__pyx_k_CU_FUNC_CACHE_PREFER_SHARED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_FUNC_CACHE_PREFER_SHARED */
  {__pyx_k_CU_GET_PROC_ADDRESS_DEFAULT, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GET_PROC_ADDRESS_DEFAULT */
  {__pyx_k_CU_GET_PROC_ADDRESS_LEGACY_STREA, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_LEGACY_STREA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GET_PROC_ADDRESS_LEGACY_STREA */
  {__pyx_k_CU_GET_PROC_ADDRESS_PER_THREAD_D, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_PER_THREAD_D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GET_PROC_ADDRESS_PER_THREAD_D */
  {__pyx_k_CU_GET_PROC_ADDRESS_SUCCESS, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_SUCCESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GET_PROC_ADDRESS_SUCCESS */
  {__pyx_k_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F */
  {__pyx_k_CU_GET_PROC_ADDRESS_VERSION_NOT, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_VERSION_NOT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GET_PROC_ADDRESS_VERSION_NOT */
  {__pyx_k_CU_GL_DEVICE_LIST_ALL, sizeof(__pyx_k_CU_GL_DEVICE_LIST_ALL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GL_DEVICE_LIST_ALL */
  {__pyx_k_CU_GL_DEVICE_LIST_CURRENT_FRAME, sizeof(__pyx_k_CU_GL_DEVICE_LIST_CURRENT_FRAME), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GL_DEVICE_LIST_CURRENT_FRAME */
  {__pyx_k_CU_GL_DEVICE_LIST_NEXT_FRAME, sizeof(__pyx_k_CU_GL_DEVICE_LIST_NEXT_FRAME), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GL_DEVICE_LIST_NEXT_FRAME */
  {__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_NONE, sizeof(__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_NONE */
  {__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_READ_ON, sizeof(__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_READ_ON), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_READ_ON */
  {__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D, sizeof(__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D */
  {__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI, sizeof(__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI */
  {__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2, sizeof(__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2 */
  {__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3, sizeof(__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3 */
  {__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N, sizeof(__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N */
  {__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R, sizeof(__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R */
  {__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W, sizeof(__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W */
  {__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_NONE, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_NONE */
  {__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_READ, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_READ), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_READ */
  {__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_SURFA, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_SURFA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_SURFA */
  {__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_TEXTU, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_TEXTU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_TEXTU */
  {__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_WRITE, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_WRITE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_WRITE */
  {__pyx_k_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_C, sizeof(__pyx_k_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_C), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_C */
  {__pyx_k_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_M, sizeof(__pyx_k_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_M), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_M */
  {__pyx_k_CU_GRAPH_COND_ASSIGN_DEFAULT, sizeof(__pyx_k_CU_GRAPH_COND_ASSIGN_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_COND_ASSIGN_DEFAULT */
  {__pyx_k_CU_GRAPH_COND_TYPE_IF, sizeof(__pyx_k_CU_GRAPH_COND_TYPE_IF), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_COND_TYPE_IF */
  {__pyx_k_CU_GRAPH_COND_TYPE_SWITCH, sizeof(__pyx_k_CU_GRAPH_COND_TYPE_SWITCH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_COND_TYPE_SWITCH */
  {__pyx_k_CU_GRAPH_COND_TYPE_WHILE, sizeof(__pyx_k_CU_GRAPH_COND_TYPE_WHILE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_COND_TYPE_WHILE */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2 */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2 */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME */
  {__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE */
  {__pyx_k_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT, sizeof(__pyx_k_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT */
  {__pyx_k_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM, sizeof(__pyx_k_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NODE, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NODE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_NODE */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP */
  {__pyx_k_CU_GRAPH_EXEC_UPDATE_SUCCESS, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_SUCCESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_EXEC_UPDATE_SUCCESS */
  {__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL, sizeof(__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL */
  {__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH, sizeof(__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH */
  {__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_PROGRA, sizeof(__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_PROGRA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_PROGRA */
  {__pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C, sizeof(__pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C */
  {__pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H, sizeof(__pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H */
  {__pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE, sizeof(__pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE */
  {__pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH, sizeof(__pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH */
  {__pyx_k_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP */
  {__pyx_k_CU_GRAPH_NODE_TYPE_CONDITIONAL, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_CONDITIONAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_CONDITIONAL */
  {__pyx_k_CU_GRAPH_NODE_TYPE_EMPTY, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_EMPTY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_EMPTY */
  {__pyx_k_CU_GRAPH_NODE_TYPE_EVENT_RECORD, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_EVENT_RECORD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_EVENT_RECORD */
  {__pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG */
  {__pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI */
  {__pyx_k_CU_GRAPH_NODE_TYPE_GRAPH, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_GRAPH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_GRAPH */
  {__pyx_k_CU_GRAPH_NODE_TYPE_HOST, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_HOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_HOST */
  {__pyx_k_CU_GRAPH_NODE_TYPE_KERNEL, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_KERNEL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_KERNEL */
  {__pyx_k_CU_GRAPH_NODE_TYPE_MEMCPY, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_MEMCPY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_MEMCPY */
  {__pyx_k_CU_GRAPH_NODE_TYPE_MEMSET, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_MEMSET), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_MEMSET */
  {__pyx_k_CU_GRAPH_NODE_TYPE_MEM_ALLOC, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_MEM_ALLOC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_MEM_ALLOC */
  {__pyx_k_CU_GRAPH_NODE_TYPE_MEM_FREE, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_MEM_FREE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_MEM_FREE */
  {__pyx_k_CU_GRAPH_NODE_TYPE_WAIT_EVENT, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_WAIT_EVENT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_NODE_TYPE_WAIT_EVENT */
  {__pyx_k_CU_GRAPH_USER_OBJECT_MOVE, sizeof(__pyx_k_CU_GRAPH_USER_OBJECT_MOVE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GRAPH_USER_OBJECT_MOVE */
  {__pyx_k_CU_GREEN_CTX_DEFAULT_STREAM, sizeof(__pyx_k_CU_GREEN_CTX_DEFAULT_STREAM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_GREEN_CTX_DEFAULT_STREAM */
  {__pyx_k_CU_IPC_HANDLE_SIZE, sizeof(__pyx_k_CU_IPC_HANDLE_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_IPC_HANDLE_SIZE */
  {__pyx_k_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE, sizeof(__pyx_k_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE */
  {__pyx_k_CU_JIT_CACHE_MODE, sizeof(__pyx_k_CU_JIT_CACHE_MODE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_CACHE_MODE */
  {__pyx_k_CU_JIT_CACHE_OPTION_CA, sizeof(__pyx_k_CU_JIT_CACHE_OPTION_CA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_CACHE_OPTION_CA */
  {__pyx_k_CU_JIT_CACHE_OPTION_CG, sizeof(__pyx_k_CU_JIT_CACHE_OPTION_CG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_CACHE_OPTION_CG */
  {__pyx_k_CU_JIT_CACHE_OPTION_NONE, sizeof(__pyx_k_CU_JIT_CACHE_OPTION_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_CACHE_OPTION_NONE */
  {__pyx_k_CU_JIT_ERROR_LOG_BUFFER, sizeof(__pyx_k_CU_JIT_ERROR_LOG_BUFFER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_ERROR_LOG_BUFFER */
  {__pyx_k_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT, sizeof(__pyx_k_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT */
  {__pyx_k_CU_JIT_FALLBACK_STRATEGY, sizeof(__pyx_k_CU_JIT_FALLBACK_STRATEGY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_FALLBACK_STRATEGY */
  {__pyx_k_CU_JIT_FAST_COMPILE, sizeof(__pyx_k_CU_JIT_FAST_COMPILE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_FAST_COMPILE */
  {__pyx_k_CU_JIT_FMA, sizeof(__pyx_k_CU_JIT_FMA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_FMA */
  {__pyx_k_CU_JIT_FTZ, sizeof(__pyx_k_CU_JIT_FTZ), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_FTZ */
  {__pyx_k_CU_JIT_GENERATE_DEBUG_INFO, sizeof(__pyx_k_CU_JIT_GENERATE_DEBUG_INFO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_GENERATE_DEBUG_INFO */
  {__pyx_k_CU_JIT_GENERATE_LINE_INFO, sizeof(__pyx_k_CU_JIT_GENERATE_LINE_INFO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_GENERATE_LINE_INFO */
  {__pyx_k_CU_JIT_GLOBAL_SYMBOL_ADDRESSES, sizeof(__pyx_k_CU_JIT_GLOBAL_SYMBOL_ADDRESSES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_ADDRESSES */
  {__pyx_k_CU_JIT_GLOBAL_SYMBOL_COUNT, sizeof(__pyx_k_CU_JIT_GLOBAL_SYMBOL_COUNT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_COUNT */
  {__pyx_k_CU_JIT_GLOBAL_SYMBOL_NAMES, sizeof(__pyx_k_CU_JIT_GLOBAL_SYMBOL_NAMES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_NAMES */
  {__pyx_k_CU_JIT_INFO_LOG_BUFFER, sizeof(__pyx_k_CU_JIT_INFO_LOG_BUFFER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_INFO_LOG_BUFFER */
  {__pyx_k_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE, sizeof(__pyx_k_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE */
  {__pyx_k_CU_JIT_INPUT_CUBIN, sizeof(__pyx_k_CU_JIT_INPUT_CUBIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_INPUT_CUBIN */
  {__pyx_k_CU_JIT_INPUT_FATBINARY, sizeof(__pyx_k_CU_JIT_INPUT_FATBINARY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_INPUT_FATBINARY */
  {__pyx_k_CU_JIT_INPUT_LIBRARY, sizeof(__pyx_k_CU_JIT_INPUT_LIBRARY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_INPUT_LIBRARY */
  {__pyx_k_CU_JIT_INPUT_NVVM, sizeof(__pyx_k_CU_JIT_INPUT_NVVM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_INPUT_NVVM */
  {__pyx_k_CU_JIT_INPUT_OBJECT, sizeof(__pyx_k_CU_JIT_INPUT_OBJECT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_INPUT_OBJECT */
  {__pyx_k_CU_JIT_INPUT_PTX, sizeof(__pyx_k_CU_JIT_INPUT_PTX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_INPUT_PTX */
  {__pyx_k_CU_JIT_LOG_VERBOSE, sizeof(__pyx_k_CU_JIT_LOG_VERBOSE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_LOG_VERBOSE */
  {__pyx_k_CU_JIT_LTO, sizeof(__pyx_k_CU_JIT_LTO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_LTO */
  {__pyx_k_CU_JIT_MAX_REGISTERS, sizeof(__pyx_k_CU_JIT_MAX_REGISTERS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_MAX_REGISTERS */
  {__pyx_k_CU_JIT_MAX_THREADS_PER_BLOCK, sizeof(__pyx_k_CU_JIT_MAX_THREADS_PER_BLOCK), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_MAX_THREADS_PER_BLOCK */
  {__pyx_k_CU_JIT_MIN_CTA_PER_SM, sizeof(__pyx_k_CU_JIT_MIN_CTA_PER_SM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_MIN_CTA_PER_SM */
  {__pyx_k_CU_JIT_NEW_SM3X_OPT, sizeof(__pyx_k_CU_JIT_NEW_SM3X_OPT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_NEW_SM3X_OPT */
  {__pyx_k_CU_JIT_NUM_INPUT_TYPES, sizeof(__pyx_k_CU_JIT_NUM_INPUT_TYPES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_NUM_INPUT_TYPES */
  {__pyx_k_CU_JIT_NUM_OPTIONS, sizeof(__pyx_k_CU_JIT_NUM_OPTIONS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_NUM_OPTIONS */
  {__pyx_k_CU_JIT_OPTIMIZATION_LEVEL, sizeof(__pyx_k_CU_JIT_OPTIMIZATION_LEVEL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_OPTIMIZATION_LEVEL */
  {__pyx_k_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA, sizeof(__pyx_k_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA */
  {__pyx_k_CU_JIT_OVERRIDE_DIRECTIVE_VALUES, sizeof(__pyx_k_CU_JIT_OVERRIDE_DIRECTIVE_VALUES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_OVERRIDE_DIRECTIVE_VALUES */
  {__pyx_k_CU_JIT_POSITION_INDEPENDENT_CODE, sizeof(__pyx_k_CU_JIT_POSITION_INDEPENDENT_CODE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_POSITION_INDEPENDENT_CODE */
  {__pyx_k_CU_JIT_PREC_DIV, sizeof(__pyx_k_CU_JIT_PREC_DIV), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_PREC_DIV */
  {__pyx_k_CU_JIT_PREC_SQRT, sizeof(__pyx_k_CU_JIT_PREC_SQRT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_PREC_SQRT */
  {__pyx_k_CU_JIT_REFERENCED_KERNEL_COUNT, sizeof(__pyx_k_CU_JIT_REFERENCED_KERNEL_COUNT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_REFERENCED_KERNEL_COUNT */
  {__pyx_k_CU_JIT_REFERENCED_KERNEL_NAMES, sizeof(__pyx_k_CU_JIT_REFERENCED_KERNEL_NAMES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_REFERENCED_KERNEL_NAMES */
  {__pyx_k_CU_JIT_REFERENCED_VARIABLE_COUNT, sizeof(__pyx_k_CU_JIT_REFERENCED_VARIABLE_COUNT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_REFERENCED_VARIABLE_COUNT */
  {__pyx_k_CU_JIT_REFERENCED_VARIABLE_NAMES, sizeof(__pyx_k_CU_JIT_REFERENCED_VARIABLE_NAMES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_REFERENCED_VARIABLE_NAMES */
  {__pyx_k_CU_JIT_TARGET, sizeof(__pyx_k_CU_JIT_TARGET), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_TARGET */
  {__pyx_k_CU_JIT_TARGET_FROM_CUCONTEXT, sizeof(__pyx_k_CU_JIT_TARGET_FROM_CUCONTEXT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_TARGET_FROM_CUCONTEXT */
  {__pyx_k_CU_JIT_THREADS_PER_BLOCK, sizeof(__pyx_k_CU_JIT_THREADS_PER_BLOCK), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_THREADS_PER_BLOCK */
  {__pyx_k_CU_JIT_WALL_TIME, sizeof(__pyx_k_CU_JIT_WALL_TIME), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_JIT_WALL_TIME */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_ACCESS, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_ACCESS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_ACCESS */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2 */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_COOPERA, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_COOPERA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_COOPERA */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_DEVICE, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_DEVICE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_DEVICE */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2 */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PREFERR, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PREFERR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PREFERR */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PREFERR_2, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PREFERR_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PREFERR_2 */
  {__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_COOPERATIVE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_COOPERATIVE */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_IGNORE, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_IGNORE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_IGNORE */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2 */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_PRIORITY, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_PRIORITY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PRIORITY */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2 */
  {__pyx_k_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT */
  {__pyx_k_CU_LAUNCH_KERNEL_REQUIRED_BLOCK, sizeof(__pyx_k_CU_LAUNCH_KERNEL_REQUIRED_BLOCK), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_KERNEL_REQUIRED_BLOCK */
  {__pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL, sizeof(__pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL */
  {__pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE, sizeof(__pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE */
  {__pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER, sizeof(__pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_POINTER */
  {__pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER_A, sizeof(__pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER_A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_POINTER_A */
  {__pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE, sizeof(__pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_SIZE */
  {__pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I, sizeof(__pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I */
  {__pyx_k_CU_LAUNCH_PARAM_END, sizeof(__pyx_k_CU_LAUNCH_PARAM_END), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_PARAM_END */
  {__pyx_k_CU_LAUNCH_PARAM_END_AS_INT, sizeof(__pyx_k_CU_LAUNCH_PARAM_END_AS_INT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LAUNCH_PARAM_END_AS_INT */
  {__pyx_k_CU_LIBRARY_BINARY_IS_PRESERVED, sizeof(__pyx_k_CU_LIBRARY_BINARY_IS_PRESERVED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIBRARY_BINARY_IS_PRESERVED */
  {__pyx_k_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI, sizeof(__pyx_k_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI */
  {__pyx_k_CU_LIBRARY_NUM_OPTIONS, sizeof(__pyx_k_CU_LIBRARY_NUM_OPTIONS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIBRARY_NUM_OPTIONS */
  {__pyx_k_CU_LIMIT_CIG_ENABLED, sizeof(__pyx_k_CU_LIMIT_CIG_ENABLED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_CIG_ENABLED */
  {__pyx_k_CU_LIMIT_CIG_SHMEM_FALLBACK_ENAB, sizeof(__pyx_k_CU_LIMIT_CIG_SHMEM_FALLBACK_ENAB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_CIG_SHMEM_FALLBACK_ENAB */
  {__pyx_k_CU_LIMIT_DEV_RUNTIME_PENDING_LAU, sizeof(__pyx_k_CU_LIMIT_DEV_RUNTIME_PENDING_LAU), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_DEV_RUNTIME_PENDING_LAU */
  {__pyx_k_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH, sizeof(__pyx_k_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH */
  {__pyx_k_CU_LIMIT_MALLOC_HEAP_SIZE, sizeof(__pyx_k_CU_LIMIT_MALLOC_HEAP_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_MALLOC_HEAP_SIZE */
  {__pyx_k_CU_LIMIT_MAX, sizeof(__pyx_k_CU_LIMIT_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_MAX */
  {__pyx_k_CU_LIMIT_MAX_L2_FETCH_GRANULARIT, sizeof(__pyx_k_CU_LIMIT_MAX_L2_FETCH_GRANULARIT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_MAX_L2_FETCH_GRANULARIT */
  {__pyx_k_CU_LIMIT_PERSISTING_L2_CACHE_SIZ, sizeof(__pyx_k_CU_LIMIT_PERSISTING_L2_CACHE_SIZ), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_PERSISTING_L2_CACHE_SIZ */
  {__pyx_k_CU_LIMIT_PRINTF_FIFO_SIZE, sizeof(__pyx_k_CU_LIMIT_PRINTF_FIFO_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_PRINTF_FIFO_SIZE */
  {__pyx_k_CU_LIMIT_SHMEM_SIZE, sizeof(__pyx_k_CU_LIMIT_SHMEM_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_SHMEM_SIZE */
  {__pyx_k_CU_LIMIT_STACK_SIZE, sizeof(__pyx_k_CU_LIMIT_STACK_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LIMIT_STACK_SIZE */
  {__pyx_k_CU_LOG_LEVEL_ERROR, sizeof(__pyx_k_CU_LOG_LEVEL_ERROR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LOG_LEVEL_ERROR */
  {__pyx_k_CU_LOG_LEVEL_WARNING, sizeof(__pyx_k_CU_LOG_LEVEL_WARNING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_LOG_LEVEL_WARNING */
  {__pyx_k_CU_MEMCPY_FLAG_DEFAULT, sizeof(__pyx_k_CU_MEMCPY_FLAG_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_FLAG_DEFAULT */
  {__pyx_k_CU_MEMCPY_FLAG_PREFER_OVERLAP_WI, sizeof(__pyx_k_CU_MEMCPY_FLAG_PREFER_OVERLAP_WI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_FLAG_PREFER_OVERLAP_WI */
  {__pyx_k_CU_MEMCPY_OPERAND_TYPE_ARRAY, sizeof(__pyx_k_CU_MEMCPY_OPERAND_TYPE_ARRAY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_ARRAY */
  {__pyx_k_CU_MEMCPY_OPERAND_TYPE_MAX, sizeof(__pyx_k_CU_MEMCPY_OPERAND_TYPE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_MAX */
  {__pyx_k_CU_MEMCPY_OPERAND_TYPE_POINTER, sizeof(__pyx_k_CU_MEMCPY_OPERAND_TYPE_POINTER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_POINTER */
  {__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_ANY, sizeof(__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_ANY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_ANY */
  {__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_DURIN, sizeof(__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_DURIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_DURIN */
  {__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_INVAL, sizeof(__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_INVAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_INVAL */
  {__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_MAX, sizeof(__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_MAX */
  {__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_STREA, sizeof(__pyx_k_CU_MEMCPY_SRC_ACCESS_ORDER_STREA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_STREA */
  {__pyx_k_CU_MEMHOSTALLOC_DEVICEMAP, sizeof(__pyx_k_CU_MEMHOSTALLOC_DEVICEMAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMHOSTALLOC_DEVICEMAP */
  {__pyx_k_CU_MEMHOSTALLOC_PORTABLE, sizeof(__pyx_k_CU_MEMHOSTALLOC_PORTABLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMHOSTALLOC_PORTABLE */
  {__pyx_k_CU_MEMHOSTALLOC_WRITECOMBINED, sizeof(__pyx_k_CU_MEMHOSTALLOC_WRITECOMBINED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMHOSTALLOC_WRITECOMBINED */
  {__pyx_k_CU_MEMHOSTREGISTER_DEVICEMAP, sizeof(__pyx_k_CU_MEMHOSTREGISTER_DEVICEMAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMHOSTREGISTER_DEVICEMAP */
  {__pyx_k_CU_MEMHOSTREGISTER_IOMEMORY, sizeof(__pyx_k_CU_MEMHOSTREGISTER_IOMEMORY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMHOSTREGISTER_IOMEMORY */
  {__pyx_k_CU_MEMHOSTREGISTER_PORTABLE, sizeof(__pyx_k_CU_MEMHOSTREGISTER_PORTABLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMHOSTREGISTER_PORTABLE */
  {__pyx_k_CU_MEMHOSTREGISTER_READ_ONLY, sizeof(__pyx_k_CU_MEMHOSTREGISTER_READ_ONLY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMHOSTREGISTER_READ_ONLY */
  {__pyx_k_CU_MEMORYTYPE_ARRAY, sizeof(__pyx_k_CU_MEMORYTYPE_ARRAY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMORYTYPE_ARRAY */
  {__pyx_k_CU_MEMORYTYPE_DEVICE, sizeof(__pyx_k_CU_MEMORYTYPE_DEVICE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMORYTYPE_DEVICE */
  {__pyx_k_CU_MEMORYTYPE_HOST, sizeof(__pyx_k_CU_MEMORYTYPE_HOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMORYTYPE_HOST */
  {__pyx_k_CU_MEMORYTYPE_UNIFIED, sizeof(__pyx_k_CU_MEMORYTYPE_UNIFIED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMORYTYPE_UNIFIED */
  {__pyx_k_CU_MEMPOOL_ATTR_RELEASE_THRESHOL, sizeof(__pyx_k_CU_MEMPOOL_ATTR_RELEASE_THRESHOL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMPOOL_ATTR_RELEASE_THRESHOL */
  {__pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR, sizeof(__pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR */
  {__pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG, sizeof(__pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG */
  {__pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE, sizeof(__pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE */
  {__pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO, sizeof(__pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO */
  {__pyx_k_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE, sizeof(__pyx_k_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE */
  {__pyx_k_CU_MEMPOOL_ATTR_USED_MEM_CURRENT, sizeof(__pyx_k_CU_MEMPOOL_ATTR_USED_MEM_CURRENT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMPOOL_ATTR_USED_MEM_CURRENT */
  {__pyx_k_CU_MEMPOOL_ATTR_USED_MEM_HIGH, sizeof(__pyx_k_CU_MEMPOOL_ATTR_USED_MEM_HIGH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEMPOOL_ATTR_USED_MEM_HIGH */
  {__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_MAX, sizeof(__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_MAX */
  {__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_NONE, sizeof(__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_NONE */
  {__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READ, sizeof(__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READ), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_READ */
  {__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READWRI, sizeof(__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READWRI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_READWRI */
  {__pyx_k_CU_MEM_ADVISE_SET_ACCESSED_BY, sizeof(__pyx_k_CU_MEM_ADVISE_SET_ACCESSED_BY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ADVISE_SET_ACCESSED_BY */
  {__pyx_k_CU_MEM_ADVISE_SET_PREFERRED_LOCA, sizeof(__pyx_k_CU_MEM_ADVISE_SET_PREFERRED_LOCA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ADVISE_SET_PREFERRED_LOCA */
  {__pyx_k_CU_MEM_ADVISE_SET_READ_MOSTLY, sizeof(__pyx_k_CU_MEM_ADVISE_SET_READ_MOSTLY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ADVISE_SET_READ_MOSTLY */
  {__pyx_k_CU_MEM_ADVISE_UNSET_ACCESSED_BY, sizeof(__pyx_k_CU_MEM_ADVISE_UNSET_ACCESSED_BY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ADVISE_UNSET_ACCESSED_BY */
  {__pyx_k_CU_MEM_ADVISE_UNSET_PREFERRED_LO, sizeof(__pyx_k_CU_MEM_ADVISE_UNSET_PREFERRED_LO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ADVISE_UNSET_PREFERRED_LO */
  {__pyx_k_CU_MEM_ADVISE_UNSET_READ_MOSTLY, sizeof(__pyx_k_CU_MEM_ADVISE_UNSET_READ_MOSTLY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ADVISE_UNSET_READ_MOSTLY */
  {__pyx_k_CU_MEM_ALLOCATION_COMP_GENERIC, sizeof(__pyx_k_CU_MEM_ALLOCATION_COMP_GENERIC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ALLOCATION_COMP_GENERIC */
  {__pyx_k_CU_MEM_ALLOCATION_COMP_NONE, sizeof(__pyx_k_CU_MEM_ALLOCATION_COMP_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ALLOCATION_COMP_NONE */
  {__pyx_k_CU_MEM_ALLOCATION_TYPE_INVALID, sizeof(__pyx_k_CU_MEM_ALLOCATION_TYPE_INVALID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ALLOCATION_TYPE_INVALID */
  {__pyx_k_CU_MEM_ALLOCATION_TYPE_MAX, sizeof(__pyx_k_CU_MEM_ALLOCATION_TYPE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ALLOCATION_TYPE_MAX */
  {__pyx_k_CU_MEM_ALLOCATION_TYPE_PINNED, sizeof(__pyx_k_CU_MEM_ALLOCATION_TYPE_PINNED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ALLOCATION_TYPE_PINNED */
  {__pyx_k_CU_MEM_ALLOC_GRANULARITY_MINIMUM, sizeof(__pyx_k_CU_MEM_ALLOC_GRANULARITY_MINIMUM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ALLOC_GRANULARITY_MINIMUM */
  {__pyx_k_CU_MEM_ALLOC_GRANULARITY_RECOMME, sizeof(__pyx_k_CU_MEM_ALLOC_GRANULARITY_RECOMME), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ALLOC_GRANULARITY_RECOMME */
  {__pyx_k_CU_MEM_ATTACH_GLOBAL, sizeof(__pyx_k_CU_MEM_ATTACH_GLOBAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ATTACH_GLOBAL */
  {__pyx_k_CU_MEM_ATTACH_HOST, sizeof(__pyx_k_CU_MEM_ATTACH_HOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ATTACH_HOST */
  {__pyx_k_CU_MEM_ATTACH_SINGLE, sizeof(__pyx_k_CU_MEM_ATTACH_SINGLE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_ATTACH_SINGLE */
  {__pyx_k_CU_MEM_CREATE_USAGE_HW_DECOMPRES, sizeof(__pyx_k_CU_MEM_CREATE_USAGE_HW_DECOMPRES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_CREATE_USAGE_HW_DECOMPRES */
  {__pyx_k_CU_MEM_CREATE_USAGE_TILE_POOL, sizeof(__pyx_k_CU_MEM_CREATE_USAGE_TILE_POOL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_CREATE_USAGE_TILE_POOL */
  {__pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_DEFL, sizeof(__pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_DEFL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_DEFL */
  {__pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_LZ4, sizeof(__pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_LZ4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_LZ4 */
  {__pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_SNAP, sizeof(__pyx_k_CU_MEM_DECOMPRESS_ALGORITHM_SNAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_SNAP */
  {__pyx_k_CU_MEM_DECOMPRESS_UNSUPPORTED, sizeof(__pyx_k_CU_MEM_DECOMPRESS_UNSUPPORTED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_DECOMPRESS_UNSUPPORTED */
  {__pyx_k_CU_MEM_HANDLE_TYPE_FABRIC, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_FABRIC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_HANDLE_TYPE_FABRIC */
  {__pyx_k_CU_MEM_HANDLE_TYPE_GENERIC, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_GENERIC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_HANDLE_TYPE_GENERIC */
  {__pyx_k_CU_MEM_HANDLE_TYPE_MAX, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_HANDLE_TYPE_MAX */
  {__pyx_k_CU_MEM_HANDLE_TYPE_NONE, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_HANDLE_TYPE_NONE */
  {__pyx_k_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE */
  {__pyx_k_CU_MEM_HANDLE_TYPE_WIN32, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_WIN32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_HANDLE_TYPE_WIN32 */
  {__pyx_k_CU_MEM_HANDLE_TYPE_WIN32_KMT, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_WIN32_KMT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_HANDLE_TYPE_WIN32_KMT */
  {__pyx_k_CU_MEM_LOCATION_TYPE_DEVICE, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_DEVICE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_LOCATION_TYPE_DEVICE */
  {__pyx_k_CU_MEM_LOCATION_TYPE_HOST, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_HOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST */
  {__pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST_NUMA */
  {__pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA_C, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA_C), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST_NUMA_C */
  {__pyx_k_CU_MEM_LOCATION_TYPE_INVALID, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_INVALID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_LOCATION_TYPE_INVALID */
  {__pyx_k_CU_MEM_LOCATION_TYPE_MAX, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_LOCATION_TYPE_MAX */
  {__pyx_k_CU_MEM_OPERATION_TYPE_MAP, sizeof(__pyx_k_CU_MEM_OPERATION_TYPE_MAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_OPERATION_TYPE_MAP */
  {__pyx_k_CU_MEM_OPERATION_TYPE_UNMAP, sizeof(__pyx_k_CU_MEM_OPERATION_TYPE_UNMAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_OPERATION_TYPE_UNMAP */
  {__pyx_k_CU_MEM_POOL_CREATE_USAGE_HW_DECO, sizeof(__pyx_k_CU_MEM_POOL_CREATE_USAGE_HW_DECO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_POOL_CREATE_USAGE_HW_DECO */
  {__pyx_k_CU_MEM_RANGE_ATTRIBUTE_ACCESSED, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_ACCESSED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_ACCESSED */
  {__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF */
  {__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2 */
  {__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3 */
  {__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED */
  {__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2 */
  {__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3 */
  {__pyx_k_CU_MEM_RANGE_ATTRIBUTE_READ_MOST, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_READ_MOST), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_READ_MOST */
  {__pyx_k_CU_MEM_RANGE_FLAG_DMA_BUF_MAPPIN, sizeof(__pyx_k_CU_MEM_RANGE_FLAG_DMA_BUF_MAPPIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_FLAG_DMA_BUF_MAPPIN */
  {__pyx_k_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF, sizeof(__pyx_k_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF */
  {__pyx_k_CU_MEM_RANGE_HANDLE_TYPE_MAX, sizeof(__pyx_k_CU_MEM_RANGE_HANDLE_TYPE_MAX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MEM_RANGE_HANDLE_TYPE_MAX */
  {__pyx_k_CU_MODULE_EAGER_LOADING, sizeof(__pyx_k_CU_MODULE_EAGER_LOADING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MODULE_EAGER_LOADING */
  {__pyx_k_CU_MODULE_LAZY_LOADING, sizeof(__pyx_k_CU_MODULE_LAZY_LOADING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MODULE_LAZY_LOADING */
  {__pyx_k_CU_MULTICAST_GRANULARITY_MINIMUM, sizeof(__pyx_k_CU_MULTICAST_GRANULARITY_MINIMUM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MULTICAST_GRANULARITY_MINIMUM */
  {__pyx_k_CU_MULTICAST_GRANULARITY_RECOMME, sizeof(__pyx_k_CU_MULTICAST_GRANULARITY_RECOMME), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_MULTICAST_GRANULARITY_RECOMME */
  {__pyx_k_CU_OCCUPANCY_DEFAULT, sizeof(__pyx_k_CU_OCCUPANCY_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_OCCUPANCY_DEFAULT */
  {__pyx_k_CU_OCCUPANCY_DISABLE_CACHING_OVE, sizeof(__pyx_k_CU_OCCUPANCY_DISABLE_CACHING_OVE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_OCCUPANCY_DISABLE_CACHING_OVE */
  {__pyx_k_CU_OUT_CSV, sizeof(__pyx_k_CU_OUT_CSV), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_OUT_CSV */
  {__pyx_k_CU_OUT_KEY_VALUE_PAIR, sizeof(__pyx_k_CU_OUT_KEY_VALUE_PAIR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_OUT_KEY_VALUE_PAIR */
  {__pyx_k_CU_PARAM_TR_DEFAULT, sizeof(__pyx_k_CU_PARAM_TR_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_PARAM_TR_DEFAULT */
  {__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG */
  {__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2 */
  {__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3 */
  {__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4 */
  {__pyx_k_CU_POINTER_ATTRIBUTE_ALLOWED_HAN, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ALLOWED_HAN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_ALLOWED_HAN */
  {__pyx_k_CU_POINTER_ATTRIBUTE_BUFFER_ID, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_BUFFER_ID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_BUFFER_ID */
  {__pyx_k_CU_POINTER_ATTRIBUTE_CONTEXT, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_CONTEXT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_CONTEXT */
  {__pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_ORDI, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_ORDI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_DEVICE_ORDI */
  {__pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_POIN, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_POIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_DEVICE_POIN */
  {__pyx_k_CU_POINTER_ATTRIBUTE_HOST_POINTE, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_HOST_POINTE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_HOST_POINTE */
  {__pyx_k_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE */
  {__pyx_k_CU_POINTER_ATTRIBUTE_IS_HW_DECOM, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_IS_HW_DECOM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_HW_DECOM */
  {__pyx_k_CU_POINTER_ATTRIBUTE_IS_LEGACY_C, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_IS_LEGACY_C), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_LEGACY_C */
  {__pyx_k_CU_POINTER_ATTRIBUTE_IS_MANAGED, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_IS_MANAGED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_MANAGED */
  {__pyx_k_CU_POINTER_ATTRIBUTE_MAPPED, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MAPPED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPED */
  {__pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_BAS, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_BAS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPING_BAS */
  {__pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_SIZ, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_SIZ), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPING_SIZ */
  {__pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_BLOC, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_BLOC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMORY_BLOC */
  {__pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_TYPE, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_TYPE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMORY_TYPE */
  {__pyx_k_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN */
  {__pyx_k_CU_POINTER_ATTRIBUTE_P2P_TOKENS, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_P2P_TOKENS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_P2P_TOKENS */
  {__pyx_k_CU_POINTER_ATTRIBUTE_RANGE_SIZE, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_RANGE_SIZE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_RANGE_SIZE */
  {__pyx_k_CU_POINTER_ATTRIBUTE_RANGE_START, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_RANGE_START), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_RANGE_START */
  {__pyx_k_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS */
  {__pyx_k_CU_PREFER_BINARY, sizeof(__pyx_k_CU_PREFER_BINARY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_PREFER_BINARY */
  {__pyx_k_CU_PREFER_PTX, sizeof(__pyx_k_CU_PREFER_PTX), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_PREFER_PTX */
  {__pyx_k_CU_PROCESS_STATE_CHECKPOINTED, sizeof(__pyx_k_CU_PROCESS_STATE_CHECKPOINTED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_PROCESS_STATE_CHECKPOINTED */
  {__pyx_k_CU_PROCESS_STATE_FAILED, sizeof(__pyx_k_CU_PROCESS_STATE_FAILED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_PROCESS_STATE_FAILED */
  {__pyx_k_CU_PROCESS_STATE_LOCKED, sizeof(__pyx_k_CU_PROCESS_STATE_LOCKED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_PROCESS_STATE_LOCKED */
  {__pyx_k_CU_PROCESS_STATE_RUNNING, sizeof(__pyx_k_CU_PROCESS_STATE_RUNNING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_PROCESS_STATE_RUNNING */
  {__pyx_k_CU_RESOURCE_TYPE_ARRAY, sizeof(__pyx_k_CU_RESOURCE_TYPE_ARRAY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RESOURCE_TYPE_ARRAY */
  {__pyx_k_CU_RESOURCE_TYPE_LINEAR, sizeof(__pyx_k_CU_RESOURCE_TYPE_LINEAR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RESOURCE_TYPE_LINEAR */
  {__pyx_k_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY, sizeof(__pyx_k_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY */
  {__pyx_k_CU_RESOURCE_TYPE_PITCH2D, sizeof(__pyx_k_CU_RESOURCE_TYPE_PITCH2D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RESOURCE_TYPE_PITCH2D */
  {__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_1X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_1X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_2X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_2X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_4X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_4X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_NONE, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_NONE */
  {__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC4, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC4 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC5, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC5 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC6H, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC6H), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC6H */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X8 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X8 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X8 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X8 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X8 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X16 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X32 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X8 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC1, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC1 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC2, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC2 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC3, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC3 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC4, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC4 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC5, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC5 */
  {__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H */
  {__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC7, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC7 */
  {__pyx_k_CU_SHAREDMEM_CARVEOUT_DEFAULT, sizeof(__pyx_k_CU_SHAREDMEM_CARVEOUT_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SHAREDMEM_CARVEOUT_DEFAULT */
  {__pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_L1, sizeof(__pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_L1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SHAREDMEM_CARVEOUT_MAX_L1 */
  {__pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_SHARED, sizeof(__pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_SHARED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SHAREDMEM_CARVEOUT_MAX_SHARED */
  {__pyx_k_CU_SHARED_MEM_CONFIG_DEFAULT_BAN, sizeof(__pyx_k_CU_SHARED_MEM_CONFIG_DEFAULT_BAN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SHARED_MEM_CONFIG_DEFAULT_BAN */
  {__pyx_k_CU_SHARED_MEM_CONFIG_EIGHT_BYTE, sizeof(__pyx_k_CU_SHARED_MEM_CONFIG_EIGHT_BYTE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SHARED_MEM_CONFIG_EIGHT_BYTE */
  {__pyx_k_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B, sizeof(__pyx_k_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B */
  {__pyx_k_CU_STREAM_ADD_CAPTURE_DEPENDENCI, sizeof(__pyx_k_CU_STREAM_ADD_CAPTURE_DEPENDENCI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_ADD_CAPTURE_DEPENDENCI */
  {__pyx_k_CU_STREAM_ATTRIBUTE_ACCESS_POLIC, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_ACCESS_POLIC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_ATTRIBUTE_ACCESS_POLIC */
  {__pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM */
  {__pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2 */
  {__pyx_k_CU_STREAM_ATTRIBUTE_PRIORITY, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_PRIORITY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_ATTRIBUTE_PRIORITY */
  {__pyx_k_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT */
  {__pyx_k_CU_STREAM_CAPTURE_MODE_GLOBAL, sizeof(__pyx_k_CU_STREAM_CAPTURE_MODE_GLOBAL), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_CAPTURE_MODE_GLOBAL */
  {__pyx_k_CU_STREAM_CAPTURE_MODE_RELAXED, sizeof(__pyx_k_CU_STREAM_CAPTURE_MODE_RELAXED), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_CAPTURE_MODE_RELAXED */
  {__pyx_k_CU_STREAM_CAPTURE_MODE_THREAD_LO, sizeof(__pyx_k_CU_STREAM_CAPTURE_MODE_THREAD_LO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_CAPTURE_MODE_THREAD_LO */
  {__pyx_k_CU_STREAM_CAPTURE_STATUS_ACTIVE, sizeof(__pyx_k_CU_STREAM_CAPTURE_STATUS_ACTIVE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_CAPTURE_STATUS_ACTIVE */
  {__pyx_k_CU_STREAM_CAPTURE_STATUS_INVALID, sizeof(__pyx_k_CU_STREAM_CAPTURE_STATUS_INVALID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_CAPTURE_STATUS_INVALID */
  {__pyx_k_CU_STREAM_CAPTURE_STATUS_NONE, sizeof(__pyx_k_CU_STREAM_CAPTURE_STATUS_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_CAPTURE_STATUS_NONE */
  {__pyx_k_CU_STREAM_DEFAULT, sizeof(__pyx_k_CU_STREAM_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_DEFAULT */
  {__pyx_k_CU_STREAM_LEGACY, sizeof(__pyx_k_CU_STREAM_LEGACY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_LEGACY */
  {__pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_GP, sizeof(__pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_GP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_MEMORY_BARRIER_TYPE_GP */
  {__pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_SY, sizeof(__pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_SY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_MEMORY_BARRIER_TYPE_SY */
  {__pyx_k_CU_STREAM_MEM_OP_BARRIER, sizeof(__pyx_k_CU_STREAM_MEM_OP_BARRIER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_MEM_OP_BARRIER */
  {__pyx_k_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR, sizeof(__pyx_k_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR */
  {__pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_32, sizeof(__pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_MEM_OP_WAIT_VALUE_32 */
  {__pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_64, sizeof(__pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_64), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_MEM_OP_WAIT_VALUE_64 */
  {__pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_32, sizeof(__pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_MEM_OP_WRITE_VALUE_32 */
  {__pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_64, sizeof(__pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_64), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_MEM_OP_WRITE_VALUE_64 */
  {__pyx_k_CU_STREAM_NON_BLOCKING, sizeof(__pyx_k_CU_STREAM_NON_BLOCKING), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_NON_BLOCKING */
  {__pyx_k_CU_STREAM_PER_THREAD, sizeof(__pyx_k_CU_STREAM_PER_THREAD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_PER_THREAD */
  {__pyx_k_CU_STREAM_SET_CAPTURE_DEPENDENCI, sizeof(__pyx_k_CU_STREAM_SET_CAPTURE_DEPENDENCI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_SET_CAPTURE_DEPENDENCI */
  {__pyx_k_CU_STREAM_WAIT_VALUE_AND, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_AND), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_WAIT_VALUE_AND */
  {__pyx_k_CU_STREAM_WAIT_VALUE_EQ, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_EQ), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_WAIT_VALUE_EQ */
  {__pyx_k_CU_STREAM_WAIT_VALUE_FLUSH, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_FLUSH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_WAIT_VALUE_FLUSH */
  {__pyx_k_CU_STREAM_WAIT_VALUE_GEQ, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_GEQ), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_WAIT_VALUE_GEQ */
  {__pyx_k_CU_STREAM_WAIT_VALUE_NOR, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_NOR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_WAIT_VALUE_NOR */
  {__pyx_k_CU_STREAM_WRITE_VALUE_DEFAULT, sizeof(__pyx_k_CU_STREAM_WRITE_VALUE_DEFAULT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_WRITE_VALUE_DEFAULT */
  {__pyx_k_CU_STREAM_WRITE_VALUE_NO_MEMORY, sizeof(__pyx_k_CU_STREAM_WRITE_VALUE_NO_MEMORY), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_STREAM_WRITE_VALUE_NO_MEMORY */
  {__pyx_k_CU_SYNC_POLICY_AUTO, sizeof(__pyx_k_CU_SYNC_POLICY_AUTO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SYNC_POLICY_AUTO */
  {__pyx_k_CU_SYNC_POLICY_BLOCKING_SYNC, sizeof(__pyx_k_CU_SYNC_POLICY_BLOCKING_SYNC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SYNC_POLICY_BLOCKING_SYNC */
  {__pyx_k_CU_SYNC_POLICY_SPIN, sizeof(__pyx_k_CU_SYNC_POLICY_SPIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SYNC_POLICY_SPIN */
  {__pyx_k_CU_SYNC_POLICY_YIELD, sizeof(__pyx_k_CU_SYNC_POLICY_YIELD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_SYNC_POLICY_YIELD */
  {__pyx_k_CU_TARGET_COMPUTE_100, sizeof(__pyx_k_CU_TARGET_COMPUTE_100), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_100 */
  {__pyx_k_CU_TARGET_COMPUTE_100A, sizeof(__pyx_k_CU_TARGET_COMPUTE_100A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_100A */
  {__pyx_k_CU_TARGET_COMPUTE_100F, sizeof(__pyx_k_CU_TARGET_COMPUTE_100F), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_100F */
  {__pyx_k_CU_TARGET_COMPUTE_101, sizeof(__pyx_k_CU_TARGET_COMPUTE_101), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_101 */
  {__pyx_k_CU_TARGET_COMPUTE_101A, sizeof(__pyx_k_CU_TARGET_COMPUTE_101A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_101A */
  {__pyx_k_CU_TARGET_COMPUTE_101F, sizeof(__pyx_k_CU_TARGET_COMPUTE_101F), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_101F */
  {__pyx_k_CU_TARGET_COMPUTE_103, sizeof(__pyx_k_CU_TARGET_COMPUTE_103), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_103 */
  {__pyx_k_CU_TARGET_COMPUTE_103A, sizeof(__pyx_k_CU_TARGET_COMPUTE_103A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_103A */
  {__pyx_k_CU_TARGET_COMPUTE_103F, sizeof(__pyx_k_CU_TARGET_COMPUTE_103F), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_103F */
  {__pyx_k_CU_TARGET_COMPUTE_120, sizeof(__pyx_k_CU_TARGET_COMPUTE_120), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_120 */
  {__pyx_k_CU_TARGET_COMPUTE_120A, sizeof(__pyx_k_CU_TARGET_COMPUTE_120A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_120A */
  {__pyx_k_CU_TARGET_COMPUTE_120F, sizeof(__pyx_k_CU_TARGET_COMPUTE_120F), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_120F */
  {__pyx_k_CU_TARGET_COMPUTE_121, sizeof(__pyx_k_CU_TARGET_COMPUTE_121), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_121 */
  {__pyx_k_CU_TARGET_COMPUTE_121A, sizeof(__pyx_k_CU_TARGET_COMPUTE_121A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_121A */
  {__pyx_k_CU_TARGET_COMPUTE_121F, sizeof(__pyx_k_CU_TARGET_COMPUTE_121F), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_121F */
  {__pyx_k_CU_TARGET_COMPUTE_30, sizeof(__pyx_k_CU_TARGET_COMPUTE_30), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_30 */
  {__pyx_k_CU_TARGET_COMPUTE_32, sizeof(__pyx_k_CU_TARGET_COMPUTE_32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_32 */
  {__pyx_k_CU_TARGET_COMPUTE_35, sizeof(__pyx_k_CU_TARGET_COMPUTE_35), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_35 */
  {__pyx_k_CU_TARGET_COMPUTE_37, sizeof(__pyx_k_CU_TARGET_COMPUTE_37), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_37 */
  {__pyx_k_CU_TARGET_COMPUTE_50, sizeof(__pyx_k_CU_TARGET_COMPUTE_50), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_50 */
  {__pyx_k_CU_TARGET_COMPUTE_52, sizeof(__pyx_k_CU_TARGET_COMPUTE_52), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_52 */
  {__pyx_k_CU_TARGET_COMPUTE_53, sizeof(__pyx_k_CU_TARGET_COMPUTE_53), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_53 */
  {__pyx_k_CU_TARGET_COMPUTE_60, sizeof(__pyx_k_CU_TARGET_COMPUTE_60), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_60 */
  {__pyx_k_CU_TARGET_COMPUTE_61, sizeof(__pyx_k_CU_TARGET_COMPUTE_61), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_61 */
  {__pyx_k_CU_TARGET_COMPUTE_62, sizeof(__pyx_k_CU_TARGET_COMPUTE_62), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_62 */
  {__pyx_k_CU_TARGET_COMPUTE_70, sizeof(__pyx_k_CU_TARGET_COMPUTE_70), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_70 */
  {__pyx_k_CU_TARGET_COMPUTE_72, sizeof(__pyx_k_CU_TARGET_COMPUTE_72), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_72 */
  {__pyx_k_CU_TARGET_COMPUTE_75, sizeof(__pyx_k_CU_TARGET_COMPUTE_75), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_75 */
  {__pyx_k_CU_TARGET_COMPUTE_80, sizeof(__pyx_k_CU_TARGET_COMPUTE_80), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_80 */
  {__pyx_k_CU_TARGET_COMPUTE_86, sizeof(__pyx_k_CU_TARGET_COMPUTE_86), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_86 */
  {__pyx_k_CU_TARGET_COMPUTE_87, sizeof(__pyx_k_CU_TARGET_COMPUTE_87), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_87 */
  {__pyx_k_CU_TARGET_COMPUTE_89, sizeof(__pyx_k_CU_TARGET_COMPUTE_89), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_89 */
  {__pyx_k_CU_TARGET_COMPUTE_90, sizeof(__pyx_k_CU_TARGET_COMPUTE_90), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_90 */
  {__pyx_k_CU_TARGET_COMPUTE_90A, sizeof(__pyx_k_CU_TARGET_COMPUTE_90A), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TARGET_COMPUTE_90A */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI_2, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI_2 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U6_ALI, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_16U6_ALI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U6_ALI */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT16, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT16 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT32 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT64, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT64), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT64 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT32, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_INT32 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT64, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT64), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_INT64 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT16, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT16 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT32, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT32 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT64, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT64), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT64 */
  {__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT8, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT8 */
  {__pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN, sizeof(__pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN */
  {__pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON, sizeof(__pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON */
  {__pyx_k_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W, sizeof(__pyx_k_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W */
  {__pyx_k_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W_2, sizeof(__pyx_k_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W_2 */
  {__pyx_k_CU_TENSOR_MAP_INTERLEAVE_16B, sizeof(__pyx_k_CU_TENSOR_MAP_INTERLEAVE_16B), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_16B */
  {__pyx_k_CU_TENSOR_MAP_INTERLEAVE_32B, sizeof(__pyx_k_CU_TENSOR_MAP_INTERLEAVE_32B), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_32B */
  {__pyx_k_CU_TENSOR_MAP_INTERLEAVE_NONE, sizeof(__pyx_k_CU_TENSOR_MAP_INTERLEAVE_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_NONE */
  {__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_12, sizeof(__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_12), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_12 */
  {__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_25, sizeof(__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_25), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_25 */
  {__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_64, sizeof(__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_64), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_64 */
  {__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_NONE, sizeof(__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_NONE */
  {__pyx_k_CU_TENSOR_MAP_NUM_QWORDS, sizeof(__pyx_k_CU_TENSOR_MAP_NUM_QWORDS), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_NUM_QWORDS */
  {__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B */
  {__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM */
  {__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_2, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_2 */
  {__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_3, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_3 */
  {__pyx_k_CU_TENSOR_MAP_SWIZZLE_32B, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_32B), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_32B */
  {__pyx_k_CU_TENSOR_MAP_SWIZZLE_64B, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_64B), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_64B */
  {__pyx_k_CU_TENSOR_MAP_SWIZZLE_NONE, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_NONE), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_NONE */
  {__pyx_k_CU_TRSA_OVERRIDE_FORMAT, sizeof(__pyx_k_CU_TRSA_OVERRIDE_FORMAT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TRSA_OVERRIDE_FORMAT */
  {__pyx_k_CU_TRSF_DISABLE_TRILINEAR_OPTIMI, sizeof(__pyx_k_CU_TRSF_DISABLE_TRILINEAR_OPTIMI), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TRSF_DISABLE_TRILINEAR_OPTIMI */
  {__pyx_k_CU_TRSF_NORMALIZED_COORDINATES, sizeof(__pyx_k_CU_TRSF_NORMALIZED_COORDINATES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TRSF_NORMALIZED_COORDINATES */
  {__pyx_k_CU_TRSF_READ_AS_INTEGER, sizeof(__pyx_k_CU_TRSF_READ_AS_INTEGER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TRSF_READ_AS_INTEGER */
  {__pyx_k_CU_TRSF_SEAMLESS_CUBEMAP, sizeof(__pyx_k_CU_TRSF_SEAMLESS_CUBEMAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TRSF_SEAMLESS_CUBEMAP */
  {__pyx_k_CU_TRSF_SRGB, sizeof(__pyx_k_CU_TRSF_SRGB), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TRSF_SRGB */
  {__pyx_k_CU_TR_ADDRESS_MODE_BORDER, sizeof(__pyx_k_CU_TR_ADDRESS_MODE_BORDER), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TR_ADDRESS_MODE_BORDER */
  {__pyx_k_CU_TR_ADDRESS_MODE_CLAMP, sizeof(__pyx_k_CU_TR_ADDRESS_MODE_CLAMP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TR_ADDRESS_MODE_CLAMP */
  {__pyx_k_CU_TR_ADDRESS_MODE_MIRROR, sizeof(__pyx_k_CU_TR_ADDRESS_MODE_MIRROR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TR_ADDRESS_MODE_MIRROR */
  {__pyx_k_CU_TR_ADDRESS_MODE_WRAP, sizeof(__pyx_k_CU_TR_ADDRESS_MODE_WRAP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TR_ADDRESS_MODE_WRAP */
  {__pyx_k_CU_TR_FILTER_MODE_LINEAR, sizeof(__pyx_k_CU_TR_FILTER_MODE_LINEAR), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TR_FILTER_MODE_LINEAR */
  {__pyx_k_CU_TR_FILTER_MODE_POINT, sizeof(__pyx_k_CU_TR_FILTER_MODE_POINT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_TR_FILTER_MODE_POINT */
  {__pyx_k_CU_USER_OBJECT_NO_DESTRUCTOR_SYN, sizeof(__pyx_k_CU_USER_OBJECT_NO_DESTRUCTOR_SYN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CU_USER_OBJECT_NO_DESTRUCTOR_SYN */
  {__pyx_k_CUaccessPolicyWindow, sizeof(__pyx_k_CUaccessPolicyWindow), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUaccessPolicyWindow */
  {__pyx_k_CUaccessPolicyWindow_st, sizeof(__pyx_k_CUaccessPolicyWindow_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUaccessPolicyWindow_st */
  {__pyx_k_CUaccessPolicyWindow_st___reduce, sizeof(__pyx_k_CUaccessPolicyWindow_st___reduce), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUaccessPolicyWindow_st___reduce */
  {__pyx_k_CUaccessPolicyWindow_st___setsta, sizeof(__pyx_k_CUaccessPolicyWindow_st___setsta), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUaccessPolicyWindow_st___setsta */
  {__pyx_k_CUaccessPolicyWindow_st_getPtr, sizeof(__pyx_k_CUaccessPolicyWindow_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUaccessPolicyWindow_st_getPtr */
  {__pyx_k_CUaccessPolicyWindow_v1, sizeof(__pyx_k_CUaccessPolicyWindow_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUaccessPolicyWindow_v1 */
  {__pyx_k_CUaccessProperty, sizeof(__pyx_k_CUaccessProperty), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUaccessProperty */
  {__pyx_k_CUaddress_mode, sizeof(__pyx_k_CUaddress_mode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUaddress_mode */
  {__pyx_k_CUarray, sizeof(__pyx_k_CUarray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUarray */
  {__pyx_k_CUarrayMapInfo, sizeof(__pyx_k_CUarrayMapInfo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarrayMapInfo */
  {__pyx_k_CUarrayMapInfo_st, sizeof(__pyx_k_CUarrayMapInfo_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarrayMapInfo_st */
  {__pyx_k_CUarrayMapInfo_st___reduce_cytho, sizeof(__pyx_k_CUarrayMapInfo_st___reduce_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarrayMapInfo_st___reduce_cytho */
  {__pyx_k_CUarrayMapInfo_st___setstate_cyt, sizeof(__pyx_k_CUarrayMapInfo_st___setstate_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarrayMapInfo_st___setstate_cyt */
  {__pyx_k_CUarrayMapInfo_st_getPtr, sizeof(__pyx_k_CUarrayMapInfo_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarrayMapInfo_st_getPtr */
  {__pyx_k_CUarrayMapInfo_v1, sizeof(__pyx_k_CUarrayMapInfo_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarrayMapInfo_v1 */
  {__pyx_k_CUarraySparseSubresourceType, sizeof(__pyx_k_CUarraySparseSubresourceType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarraySparseSubresourceType */
  {__pyx_k_CUarray_2, sizeof(__pyx_k_CUarray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarray_2 */
  {__pyx_k_CUarray___reduce_cython, sizeof(__pyx_k_CUarray___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarray___reduce_cython */
  {__pyx_k_CUarray___setstate_cython, sizeof(__pyx_k_CUarray___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarray___setstate_cython */
  {__pyx_k_CUarray_cubemap_face, sizeof(__pyx_k_CUarray_cubemap_face), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarray_cubemap_face */
  {__pyx_k_CUarray_format, sizeof(__pyx_k_CUarray_format), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarray_format */
  {__pyx_k_CUarray_getPtr, sizeof(__pyx_k_CUarray_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarray_getPtr */
  {__pyx_k_CUarray_getter, sizeof(__pyx_k_CUarray_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUarray_getter */
  {__pyx_k_CUasyncCallback, sizeof(__pyx_k_CUasyncCallback), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUasyncCallback */
  {__pyx_k_CUasyncCallbackHandle, sizeof(__pyx_k_CUasyncCallbackHandle), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUasyncCallbackHandle */
  {__pyx_k_CUasyncCallbackHandle_2, sizeof(__pyx_k_CUasyncCallbackHandle_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallbackHandle_2 */
  {__pyx_k_CUasyncCallbackHandle___reduce_c, sizeof(__pyx_k_CUasyncCallbackHandle___reduce_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallbackHandle___reduce_c */
  {__pyx_k_CUasyncCallbackHandle___setstate, sizeof(__pyx_k_CUasyncCallbackHandle___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallbackHandle___setstate */
  {__pyx_k_CUasyncCallbackHandle_getPtr, sizeof(__pyx_k_CUasyncCallbackHandle_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallbackHandle_getPtr */
  {__pyx_k_CUasyncCallbackHandle_getter, sizeof(__pyx_k_CUasyncCallbackHandle_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallbackHandle_getter */
  {__pyx_k_CUasyncCallback_2, sizeof(__pyx_k_CUasyncCallback_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallback_2 */
  {__pyx_k_CUasyncCallback___reduce_cython, sizeof(__pyx_k_CUasyncCallback___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallback___reduce_cython */
  {__pyx_k_CUasyncCallback___setstate_cytho, sizeof(__pyx_k_CUasyncCallback___setstate_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallback___setstate_cytho */
  {__pyx_k_CUasyncCallback_getPtr, sizeof(__pyx_k_CUasyncCallback_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncCallback_getPtr */
  {__pyx_k_CUasyncNotificationInfo, sizeof(__pyx_k_CUasyncNotificationInfo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncNotificationInfo */
  {__pyx_k_CUasyncNotificationInfo_st, sizeof(__pyx_k_CUasyncNotificationInfo_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncNotificationInfo_st */
  {__pyx_k_CUasyncNotificationInfo_st___red, sizeof(__pyx_k_CUasyncNotificationInfo_st___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncNotificationInfo_st___red */
  {__pyx_k_CUasyncNotificationInfo_st___set, sizeof(__pyx_k_CUasyncNotificationInfo_st___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncNotificationInfo_st___set */
  {__pyx_k_CUasyncNotificationInfo_st_getPt, sizeof(__pyx_k_CUasyncNotificationInfo_st_getPt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncNotificationInfo_st_getPt */
  {__pyx_k_CUasyncNotificationType, sizeof(__pyx_k_CUasyncNotificationType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUasyncNotificationType */
  {__pyx_k_CUcheckpointCheckpointArgs, sizeof(__pyx_k_CUcheckpointCheckpointArgs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointCheckpointArgs */
  {__pyx_k_CUcheckpointCheckpointArgs_st, sizeof(__pyx_k_CUcheckpointCheckpointArgs_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointCheckpointArgs_st */
  {__pyx_k_CUcheckpointCheckpointArgs_st_2, sizeof(__pyx_k_CUcheckpointCheckpointArgs_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointCheckpointArgs_st_2 */
  {__pyx_k_CUcheckpointCheckpointArgs_st_3, sizeof(__pyx_k_CUcheckpointCheckpointArgs_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointCheckpointArgs_st_3 */
  {__pyx_k_CUcheckpointCheckpointArgs_st_ge, sizeof(__pyx_k_CUcheckpointCheckpointArgs_st_ge), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointCheckpointArgs_st_ge */
  {__pyx_k_CUcheckpointLockArgs, sizeof(__pyx_k_CUcheckpointLockArgs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointLockArgs */
  {__pyx_k_CUcheckpointLockArgs_st, sizeof(__pyx_k_CUcheckpointLockArgs_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointLockArgs_st */
  {__pyx_k_CUcheckpointLockArgs_st___reduce, sizeof(__pyx_k_CUcheckpointLockArgs_st___reduce), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointLockArgs_st___reduce */
  {__pyx_k_CUcheckpointLockArgs_st___setsta, sizeof(__pyx_k_CUcheckpointLockArgs_st___setsta), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointLockArgs_st___setsta */
  {__pyx_k_CUcheckpointLockArgs_st_getPtr, sizeof(__pyx_k_CUcheckpointLockArgs_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointLockArgs_st_getPtr */
  {__pyx_k_CUcheckpointRestoreArgs, sizeof(__pyx_k_CUcheckpointRestoreArgs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointRestoreArgs */
  {__pyx_k_CUcheckpointRestoreArgs_st, sizeof(__pyx_k_CUcheckpointRestoreArgs_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointRestoreArgs_st */
  {__pyx_k_CUcheckpointRestoreArgs_st___red, sizeof(__pyx_k_CUcheckpointRestoreArgs_st___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointRestoreArgs_st___red */
  {__pyx_k_CUcheckpointRestoreArgs_st___set, sizeof(__pyx_k_CUcheckpointRestoreArgs_st___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointRestoreArgs_st___set */
  {__pyx_k_CUcheckpointRestoreArgs_st_getPt, sizeof(__pyx_k_CUcheckpointRestoreArgs_st_getPt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointRestoreArgs_st_getPt */
  {__pyx_k_CUcheckpointUnlockArgs, sizeof(__pyx_k_CUcheckpointUnlockArgs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointUnlockArgs */
  {__pyx_k_CUcheckpointUnlockArgs_st, sizeof(__pyx_k_CUcheckpointUnlockArgs_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointUnlockArgs_st */
  {__pyx_k_CUcheckpointUnlockArgs_st___redu, sizeof(__pyx_k_CUcheckpointUnlockArgs_st___redu), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointUnlockArgs_st___redu */
  {__pyx_k_CUcheckpointUnlockArgs_st___sets, sizeof(__pyx_k_CUcheckpointUnlockArgs_st___sets), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointUnlockArgs_st___sets */
  {__pyx_k_CUcheckpointUnlockArgs_st_getPtr, sizeof(__pyx_k_CUcheckpointUnlockArgs_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcheckpointUnlockArgs_st_getPtr */
  {__pyx_k_CUcigDataType, sizeof(__pyx_k_CUcigDataType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcigDataType */
  {__pyx_k_CUclusterSchedulingPolicy, sizeof(__pyx_k_CUclusterSchedulingPolicy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUclusterSchedulingPolicy */
  {__pyx_k_CUcomputemode, sizeof(__pyx_k_CUcomputemode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcomputemode */
  {__pyx_k_CUcontext, sizeof(__pyx_k_CUcontext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcontext */
  {__pyx_k_CUcontext_2, sizeof(__pyx_k_CUcontext_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUcontext_2 */
  {__pyx_k_CUcontext___reduce_cython, sizeof(__pyx_k_CUcontext___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcontext___reduce_cython */
  {__pyx_k_CUcontext___setstate_cython, sizeof(__pyx_k_CUcontext___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcontext___setstate_cython */
  {__pyx_k_CUcontext_getPtr, sizeof(__pyx_k_CUcontext_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcontext_getPtr */
  {__pyx_k_CUcontext_getter, sizeof(__pyx_k_CUcontext_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcontext_getter */
  {__pyx_k_CUcoredumpSettings, sizeof(__pyx_k_CUcoredumpSettings), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUcoredumpSettings */
  {__pyx_k_CUctxCigParam, sizeof(__pyx_k_CUctxCigParam), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCigParam */
  {__pyx_k_CUctxCigParam_st, sizeof(__pyx_k_CUctxCigParam_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCigParam_st */
  {__pyx_k_CUctxCigParam_st___reduce_cython, sizeof(__pyx_k_CUctxCigParam_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCigParam_st___reduce_cython */
  {__pyx_k_CUctxCigParam_st___setstate_cyth, sizeof(__pyx_k_CUctxCigParam_st___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCigParam_st___setstate_cyth */
  {__pyx_k_CUctxCigParam_st_getPtr, sizeof(__pyx_k_CUctxCigParam_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCigParam_st_getPtr */
  {__pyx_k_CUctxCreateParams, sizeof(__pyx_k_CUctxCreateParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCreateParams */
  {__pyx_k_CUctxCreateParams_st, sizeof(__pyx_k_CUctxCreateParams_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCreateParams_st */
  {__pyx_k_CUctxCreateParams_st___reduce_cy, sizeof(__pyx_k_CUctxCreateParams_st___reduce_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCreateParams_st___reduce_cy */
  {__pyx_k_CUctxCreateParams_st___setstate, sizeof(__pyx_k_CUctxCreateParams_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCreateParams_st___setstate */
  {__pyx_k_CUctxCreateParams_st_getPtr, sizeof(__pyx_k_CUctxCreateParams_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctxCreateParams_st_getPtr */
  {__pyx_k_CUctx_flags, sizeof(__pyx_k_CUctx_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUctx_flags */
  {__pyx_k_CUdevResource, sizeof(__pyx_k_CUdevResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResource */
  {__pyx_k_CUdevResourceDesc, sizeof(__pyx_k_CUdevResourceDesc), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUdevResourceDesc */
  {__pyx_k_CUdevResourceDesc_2, sizeof(__pyx_k_CUdevResourceDesc_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResourceDesc_2 */
  {__pyx_k_CUdevResourceDesc___reduce_cytho, sizeof(__pyx_k_CUdevResourceDesc___reduce_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResourceDesc___reduce_cytho */
  {__pyx_k_CUdevResourceDesc___setstate_cyt, sizeof(__pyx_k_CUdevResourceDesc___setstate_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResourceDesc___setstate_cyt */
  {__pyx_k_CUdevResourceDesc_getPtr, sizeof(__pyx_k_CUdevResourceDesc_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResourceDesc_getPtr */
  {__pyx_k_CUdevResourceDesc_getter, sizeof(__pyx_k_CUdevResourceDesc_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResourceDesc_getter */
  {__pyx_k_CUdevResourceType, sizeof(__pyx_k_CUdevResourceType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResourceType */
  {__pyx_k_CUdevResource_st, sizeof(__pyx_k_CUdevResource_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResource_st */
  {__pyx_k_CUdevResource_st___reduce_cython, sizeof(__pyx_k_CUdevResource_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResource_st___reduce_cython */
  {__pyx_k_CUdevResource_st___setstate_cyth, sizeof(__pyx_k_CUdevResource_st___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResource_st___setstate_cyth */
  {__pyx_k_CUdevResource_st_getPtr, sizeof(__pyx_k_CUdevResource_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResource_st_getPtr */
  {__pyx_k_CUdevResource_v1, sizeof(__pyx_k_CUdevResource_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevResource_v1 */
  {__pyx_k_CUdevSmResource, sizeof(__pyx_k_CUdevSmResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevSmResource */
  {__pyx_k_CUdevSmResourceSplit_flags, sizeof(__pyx_k_CUdevSmResourceSplit_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevSmResourceSplit_flags */
  {__pyx_k_CUdevSmResource_st, sizeof(__pyx_k_CUdevSmResource_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevSmResource_st */
  {__pyx_k_CUdevSmResource_st___reduce_cyth, sizeof(__pyx_k_CUdevSmResource_st___reduce_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevSmResource_st___reduce_cyth */
  {__pyx_k_CUdevSmResource_st___setstate_cy, sizeof(__pyx_k_CUdevSmResource_st___setstate_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevSmResource_st___setstate_cy */
  {__pyx_k_CUdevSmResource_st_getPtr, sizeof(__pyx_k_CUdevSmResource_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevSmResource_st_getPtr */
  {__pyx_k_CUdevice, sizeof(__pyx_k_CUdevice), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUdevice */
  {__pyx_k_CUdeviceNumaConfig, sizeof(__pyx_k_CUdeviceNumaConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceNumaConfig */
  {__pyx_k_CUdevice_2, sizeof(__pyx_k_CUdevice_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice_2 */
  {__pyx_k_CUdevice_P2PAttribute, sizeof(__pyx_k_CUdevice_P2PAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice_P2PAttribute */
  {__pyx_k_CUdevice___reduce_cython, sizeof(__pyx_k_CUdevice___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice___reduce_cython */
  {__pyx_k_CUdevice___setstate_cython, sizeof(__pyx_k_CUdevice___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice___setstate_cython */
  {__pyx_k_CUdevice_attribute, sizeof(__pyx_k_CUdevice_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice_attribute */
  {__pyx_k_CUdevice_getPtr, sizeof(__pyx_k_CUdevice_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice_getPtr */
  {__pyx_k_CUdevice_v1, sizeof(__pyx_k_CUdevice_v1), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUdevice_v1 */
  {__pyx_k_CUdevice_v1_2, sizeof(__pyx_k_CUdevice_v1_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice_v1_2 */
  {__pyx_k_CUdevice_v1___reduce_cython, sizeof(__pyx_k_CUdevice_v1___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice_v1___reduce_cython */
  {__pyx_k_CUdevice_v1___setstate_cython, sizeof(__pyx_k_CUdevice_v1___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice_v1___setstate_cython */
  {__pyx_k_CUdevice_v1_getPtr, sizeof(__pyx_k_CUdevice_v1_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevice_v1_getPtr */
  {__pyx_k_CUdeviceptr, sizeof(__pyx_k_CUdeviceptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceptr */
  {__pyx_k_CUdeviceptr_2, sizeof(__pyx_k_CUdeviceptr_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUdeviceptr_2 */
  {__pyx_k_CUdeviceptr___reduce_cython, sizeof(__pyx_k_CUdeviceptr___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceptr___reduce_cython */
  {__pyx_k_CUdeviceptr___setstate_cython, sizeof(__pyx_k_CUdeviceptr___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceptr___setstate_cython */
  {__pyx_k_CUdeviceptr_getPtr, sizeof(__pyx_k_CUdeviceptr_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceptr_getPtr */
  {__pyx_k_CUdeviceptr_v2, sizeof(__pyx_k_CUdeviceptr_v2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUdeviceptr_v2 */
  {__pyx_k_CUdeviceptr_v2_2, sizeof(__pyx_k_CUdeviceptr_v2_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceptr_v2_2 */
  {__pyx_k_CUdeviceptr_v2___reduce_cython, sizeof(__pyx_k_CUdeviceptr_v2___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceptr_v2___reduce_cython */
  {__pyx_k_CUdeviceptr_v2___setstate_cython, sizeof(__pyx_k_CUdeviceptr_v2___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceptr_v2___setstate_cython */
  {__pyx_k_CUdeviceptr_v2_getPtr, sizeof(__pyx_k_CUdeviceptr_v2_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdeviceptr_v2_getPtr */
  {__pyx_k_CUdevprop, sizeof(__pyx_k_CUdevprop), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevprop */
  {__pyx_k_CUdevprop_st, sizeof(__pyx_k_CUdevprop_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevprop_st */
  {__pyx_k_CUdevprop_st___reduce_cython, sizeof(__pyx_k_CUdevprop_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevprop_st___reduce_cython */
  {__pyx_k_CUdevprop_st___setstate_cython, sizeof(__pyx_k_CUdevprop_st___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevprop_st___setstate_cython */
  {__pyx_k_CUdevprop_st_getPtr, sizeof(__pyx_k_CUdevprop_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevprop_st_getPtr */
  {__pyx_k_CUdevprop_v1, sizeof(__pyx_k_CUdevprop_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdevprop_v1 */
  {__pyx_k_CUdriverProcAddressQueryResult, sizeof(__pyx_k_CUdriverProcAddressQueryResult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdriverProcAddressQueryResult */
  {__pyx_k_CUdriverProcAddress_flags, sizeof(__pyx_k_CUdriverProcAddress_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUdriverProcAddress_flags */
  {__pyx_k_CUeglColorFormat, sizeof(__pyx_k_CUeglColorFormat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglColorFormat */
  {__pyx_k_CUeglFrame, sizeof(__pyx_k_CUeglFrame), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglFrame */
  {__pyx_k_CUeglFrameType, sizeof(__pyx_k_CUeglFrameType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglFrameType */
  {__pyx_k_CUeglFrame_st, sizeof(__pyx_k_CUeglFrame_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglFrame_st */
  {__pyx_k_CUeglFrame_st___reduce_cython, sizeof(__pyx_k_CUeglFrame_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglFrame_st___reduce_cython */
  {__pyx_k_CUeglFrame_st___setstate_cython, sizeof(__pyx_k_CUeglFrame_st___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglFrame_st___setstate_cython */
  {__pyx_k_CUeglFrame_st_getPtr, sizeof(__pyx_k_CUeglFrame_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglFrame_st_getPtr */
  {__pyx_k_CUeglFrame_v1, sizeof(__pyx_k_CUeglFrame_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglFrame_v1 */
  {__pyx_k_CUeglResourceLocationFlags, sizeof(__pyx_k_CUeglResourceLocationFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglResourceLocationFlags */
  {__pyx_k_CUeglStreamConnection, sizeof(__pyx_k_CUeglStreamConnection), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUeglStreamConnection */
  {__pyx_k_CUeglStreamConnection_2, sizeof(__pyx_k_CUeglStreamConnection_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglStreamConnection_2 */
  {__pyx_k_CUeglStreamConnection___reduce_c, sizeof(__pyx_k_CUeglStreamConnection___reduce_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglStreamConnection___reduce_c */
  {__pyx_k_CUeglStreamConnection___setstate, sizeof(__pyx_k_CUeglStreamConnection___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglStreamConnection___setstate */
  {__pyx_k_CUeglStreamConnection_getPtr, sizeof(__pyx_k_CUeglStreamConnection_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglStreamConnection_getPtr */
  {__pyx_k_CUeglStreamConnection_getter, sizeof(__pyx_k_CUeglStreamConnection_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUeglStreamConnection_getter */
  {__pyx_k_CUevent, sizeof(__pyx_k_CUevent), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUevent */
  {__pyx_k_CUevent_2, sizeof(__pyx_k_CUevent_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent_2 */
  {__pyx_k_CUevent___reduce_cython, sizeof(__pyx_k_CUevent___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent___reduce_cython */
  {__pyx_k_CUevent___setstate_cython, sizeof(__pyx_k_CUevent___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent___setstate_cython */
  {__pyx_k_CUevent_flags, sizeof(__pyx_k_CUevent_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent_flags */
  {__pyx_k_CUevent_getPtr, sizeof(__pyx_k_CUevent_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent_getPtr */
  {__pyx_k_CUevent_getter, sizeof(__pyx_k_CUevent_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent_getter */
  {__pyx_k_CUevent_record_flags, sizeof(__pyx_k_CUevent_record_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent_record_flags */
  {__pyx_k_CUevent_sched_flags, sizeof(__pyx_k_CUevent_sched_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent_sched_flags */
  {__pyx_k_CUevent_wait_flags, sizeof(__pyx_k_CUevent_wait_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUevent_wait_flags */
  {__pyx_k_CUexecAffinityParam, sizeof(__pyx_k_CUexecAffinityParam), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinityParam */
  {__pyx_k_CUexecAffinityParam_st, sizeof(__pyx_k_CUexecAffinityParam_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinityParam_st */
  {__pyx_k_CUexecAffinityParam_st___reduce, sizeof(__pyx_k_CUexecAffinityParam_st___reduce), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinityParam_st___reduce */
  {__pyx_k_CUexecAffinityParam_st___setstat, sizeof(__pyx_k_CUexecAffinityParam_st___setstat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinityParam_st___setstat */
  {__pyx_k_CUexecAffinityParam_st_getPtr, sizeof(__pyx_k_CUexecAffinityParam_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinityParam_st_getPtr */
  {__pyx_k_CUexecAffinityParam_v1, sizeof(__pyx_k_CUexecAffinityParam_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinityParam_v1 */
  {__pyx_k_CUexecAffinitySmCount, sizeof(__pyx_k_CUexecAffinitySmCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinitySmCount */
  {__pyx_k_CUexecAffinitySmCount_st, sizeof(__pyx_k_CUexecAffinitySmCount_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinitySmCount_st */
  {__pyx_k_CUexecAffinitySmCount_st___reduc, sizeof(__pyx_k_CUexecAffinitySmCount_st___reduc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinitySmCount_st___reduc */
  {__pyx_k_CUexecAffinitySmCount_st___setst, sizeof(__pyx_k_CUexecAffinitySmCount_st___setst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinitySmCount_st___setst */
  {__pyx_k_CUexecAffinitySmCount_st_getPtr, sizeof(__pyx_k_CUexecAffinitySmCount_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinitySmCount_st_getPtr */
  {__pyx_k_CUexecAffinitySmCount_v1, sizeof(__pyx_k_CUexecAffinitySmCount_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinitySmCount_v1 */
  {__pyx_k_CUexecAffinityType, sizeof(__pyx_k_CUexecAffinityType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexecAffinityType */
  {__pyx_k_CUextent3D, sizeof(__pyx_k_CUextent3D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUextent3D */
  {__pyx_k_CUextent3D_st, sizeof(__pyx_k_CUextent3D_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUextent3D_st */
  {__pyx_k_CUextent3D_st___reduce_cython, sizeof(__pyx_k_CUextent3D_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUextent3D_st___reduce_cython */
  {__pyx_k_CUextent3D_st___setstate_cython, sizeof(__pyx_k_CUextent3D_st___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUextent3D_st___setstate_cython */
  {__pyx_k_CUextent3D_st_getPtr, sizeof(__pyx_k_CUextent3D_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUextent3D_st_getPtr */
  {__pyx_k_CUextent3D_v1, sizeof(__pyx_k_CUextent3D_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUextent3D_v1 */
  {__pyx_k_CUexternalMemory, sizeof(__pyx_k_CUexternalMemory), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUexternalMemory */
  {__pyx_k_CUexternalMemoryHandleType, sizeof(__pyx_k_CUexternalMemoryHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalMemoryHandleType */
  {__pyx_k_CUexternalMemory_2, sizeof(__pyx_k_CUexternalMemory_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalMemory_2 */
  {__pyx_k_CUexternalMemory___reduce_cython, sizeof(__pyx_k_CUexternalMemory___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalMemory___reduce_cython */
  {__pyx_k_CUexternalMemory___setstate_cyth, sizeof(__pyx_k_CUexternalMemory___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalMemory___setstate_cyth */
  {__pyx_k_CUexternalMemory_getPtr, sizeof(__pyx_k_CUexternalMemory_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalMemory_getPtr */
  {__pyx_k_CUexternalMemory_getter, sizeof(__pyx_k_CUexternalMemory_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalMemory_getter */
  {__pyx_k_CUexternalSemaphore, sizeof(__pyx_k_CUexternalSemaphore), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUexternalSemaphore */
  {__pyx_k_CUexternalSemaphoreHandleType, sizeof(__pyx_k_CUexternalSemaphoreHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalSemaphoreHandleType */
  {__pyx_k_CUexternalSemaphore_2, sizeof(__pyx_k_CUexternalSemaphore_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalSemaphore_2 */
  {__pyx_k_CUexternalSemaphore___reduce_cyt, sizeof(__pyx_k_CUexternalSemaphore___reduce_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalSemaphore___reduce_cyt */
  {__pyx_k_CUexternalSemaphore___setstate_c, sizeof(__pyx_k_CUexternalSemaphore___setstate_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalSemaphore___setstate_c */
  {__pyx_k_CUexternalSemaphore_getPtr, sizeof(__pyx_k_CUexternalSemaphore_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalSemaphore_getPtr */
  {__pyx_k_CUexternalSemaphore_getter, sizeof(__pyx_k_CUexternalSemaphore_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUexternalSemaphore_getter */
  {__pyx_k_CUfilter_mode, sizeof(__pyx_k_CUfilter_mode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfilter_mode */
  {__pyx_k_CUflushGPUDirectRDMAWritesOption, sizeof(__pyx_k_CUflushGPUDirectRDMAWritesOption), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUflushGPUDirectRDMAWritesOption */
  {__pyx_k_CUflushGPUDirectRDMAWritesScope, sizeof(__pyx_k_CUflushGPUDirectRDMAWritesScope), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUflushGPUDirectRDMAWritesScope */
  {__pyx_k_CUflushGPUDirectRDMAWritesTarget, sizeof(__pyx_k_CUflushGPUDirectRDMAWritesTarget), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUflushGPUDirectRDMAWritesTarget */
  {__pyx_k_CUfunc_cache, sizeof(__pyx_k_CUfunc_cache), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfunc_cache */
  {__pyx_k_CUfunction, sizeof(__pyx_k_CUfunction), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUfunction */
  {__pyx_k_CUfunctionLoadingState, sizeof(__pyx_k_CUfunctionLoadingState), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfunctionLoadingState */
  {__pyx_k_CUfunction_2, sizeof(__pyx_k_CUfunction_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfunction_2 */
  {__pyx_k_CUfunction___reduce_cython, sizeof(__pyx_k_CUfunction___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfunction___reduce_cython */
  {__pyx_k_CUfunction___setstate_cython, sizeof(__pyx_k_CUfunction___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfunction___setstate_cython */
  {__pyx_k_CUfunction_attribute, sizeof(__pyx_k_CUfunction_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfunction_attribute */
  {__pyx_k_CUfunction_getPtr, sizeof(__pyx_k_CUfunction_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfunction_getPtr */
  {__pyx_k_CUfunction_getter, sizeof(__pyx_k_CUfunction_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUfunction_getter */
  {__pyx_k_CUgraph, sizeof(__pyx_k_CUgraph), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUgraph */
  {__pyx_k_CUgraphChildGraphNodeOwnership, sizeof(__pyx_k_CUgraphChildGraphNodeOwnership), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphChildGraphNodeOwnership */
  {__pyx_k_CUgraphConditionalHandle, sizeof(__pyx_k_CUgraphConditionalHandle), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUgraphConditionalHandle */
  {__pyx_k_CUgraphConditionalHandle_2, sizeof(__pyx_k_CUgraphConditionalHandle_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphConditionalHandle_2 */
  {__pyx_k_CUgraphConditionalHandle___reduc, sizeof(__pyx_k_CUgraphConditionalHandle___reduc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphConditionalHandle___reduc */
  {__pyx_k_CUgraphConditionalHandle___setst, sizeof(__pyx_k_CUgraphConditionalHandle___setst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphConditionalHandle___setst */
  {__pyx_k_CUgraphConditionalHandle_getPtr, sizeof(__pyx_k_CUgraphConditionalHandle_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphConditionalHandle_getPtr */
  {__pyx_k_CUgraphConditionalNodeType, sizeof(__pyx_k_CUgraphConditionalNodeType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphConditionalNodeType */
  {__pyx_k_CUgraphDebugDot_flags, sizeof(__pyx_k_CUgraphDebugDot_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphDebugDot_flags */
  {__pyx_k_CUgraphDependencyType, sizeof(__pyx_k_CUgraphDependencyType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphDependencyType */
  {__pyx_k_CUgraphDeviceNode, sizeof(__pyx_k_CUgraphDeviceNode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUgraphDeviceNode */
  {__pyx_k_CUgraphDeviceNode_2, sizeof(__pyx_k_CUgraphDeviceNode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphDeviceNode_2 */
  {__pyx_k_CUgraphDeviceNode___reduce_cytho, sizeof(__pyx_k_CUgraphDeviceNode___reduce_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphDeviceNode___reduce_cytho */
  {__pyx_k_CUgraphDeviceNode___setstate_cyt, sizeof(__pyx_k_CUgraphDeviceNode___setstate_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphDeviceNode___setstate_cyt */
  {__pyx_k_CUgraphDeviceNode_getPtr, sizeof(__pyx_k_CUgraphDeviceNode_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphDeviceNode_getPtr */
  {__pyx_k_CUgraphDeviceNode_getter, sizeof(__pyx_k_CUgraphDeviceNode_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphDeviceNode_getter */
  {__pyx_k_CUgraphEdgeData, sizeof(__pyx_k_CUgraphEdgeData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphEdgeData */
  {__pyx_k_CUgraphEdgeData_st, sizeof(__pyx_k_CUgraphEdgeData_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphEdgeData_st */
  {__pyx_k_CUgraphEdgeData_st___reduce_cyth, sizeof(__pyx_k_CUgraphEdgeData_st___reduce_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphEdgeData_st___reduce_cyth */
  {__pyx_k_CUgraphEdgeData_st___setstate_cy, sizeof(__pyx_k_CUgraphEdgeData_st___setstate_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphEdgeData_st___setstate_cy */
  {__pyx_k_CUgraphEdgeData_st_getPtr, sizeof(__pyx_k_CUgraphEdgeData_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphEdgeData_st_getPtr */
  {__pyx_k_CUgraphExec, sizeof(__pyx_k_CUgraphExec), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUgraphExec */
  {__pyx_k_CUgraphExecUpdateResult, sizeof(__pyx_k_CUgraphExecUpdateResult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExecUpdateResult */
  {__pyx_k_CUgraphExecUpdateResultInfo, sizeof(__pyx_k_CUgraphExecUpdateResultInfo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExecUpdateResultInfo */
  {__pyx_k_CUgraphExecUpdateResultInfo_st, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExecUpdateResultInfo_st */
  {__pyx_k_CUgraphExecUpdateResultInfo_st_2, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExecUpdateResultInfo_st_2 */
  {__pyx_k_CUgraphExecUpdateResultInfo_st_3, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExecUpdateResultInfo_st_3 */
  {__pyx_k_CUgraphExecUpdateResultInfo_st_g, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_st_g), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExecUpdateResultInfo_st_g */
  {__pyx_k_CUgraphExecUpdateResultInfo_v1, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExecUpdateResultInfo_v1 */
  {__pyx_k_CUgraphExec_2, sizeof(__pyx_k_CUgraphExec_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExec_2 */
  {__pyx_k_CUgraphExec___reduce_cython, sizeof(__pyx_k_CUgraphExec___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExec___reduce_cython */
  {__pyx_k_CUgraphExec___setstate_cython, sizeof(__pyx_k_CUgraphExec___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExec___setstate_cython */
  {__pyx_k_CUgraphExec_getPtr, sizeof(__pyx_k_CUgraphExec_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExec_getPtr */
  {__pyx_k_CUgraphExec_getter, sizeof(__pyx_k_CUgraphExec_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphExec_getter */
  {__pyx_k_CUgraphInstantiateResult, sizeof(__pyx_k_CUgraphInstantiateResult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphInstantiateResult */
  {__pyx_k_CUgraphInstantiate_flags, sizeof(__pyx_k_CUgraphInstantiate_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphInstantiate_flags */
  {__pyx_k_CUgraphMem_attribute, sizeof(__pyx_k_CUgraphMem_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphMem_attribute */
  {__pyx_k_CUgraphNode, sizeof(__pyx_k_CUgraphNode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUgraphNode */
  {__pyx_k_CUgraphNodeParams, sizeof(__pyx_k_CUgraphNodeParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNodeParams */
  {__pyx_k_CUgraphNodeParams_st, sizeof(__pyx_k_CUgraphNodeParams_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNodeParams_st */
  {__pyx_k_CUgraphNodeParams_st___reduce_cy, sizeof(__pyx_k_CUgraphNodeParams_st___reduce_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNodeParams_st___reduce_cy */
  {__pyx_k_CUgraphNodeParams_st___setstate, sizeof(__pyx_k_CUgraphNodeParams_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNodeParams_st___setstate */
  {__pyx_k_CUgraphNodeParams_st_getPtr, sizeof(__pyx_k_CUgraphNodeParams_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNodeParams_st_getPtr */
  {__pyx_k_CUgraphNodeType, sizeof(__pyx_k_CUgraphNodeType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNodeType */
  {__pyx_k_CUgraphNode_2, sizeof(__pyx_k_CUgraphNode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNode_2 */
  {__pyx_k_CUgraphNode___reduce_cython, sizeof(__pyx_k_CUgraphNode___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNode___reduce_cython */
  {__pyx_k_CUgraphNode___setstate_cython, sizeof(__pyx_k_CUgraphNode___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNode___setstate_cython */
  {__pyx_k_CUgraphNode_getPtr, sizeof(__pyx_k_CUgraphNode_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNode_getPtr */
  {__pyx_k_CUgraphNode_getter, sizeof(__pyx_k_CUgraphNode_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphNode_getter */
  {__pyx_k_CUgraph_2, sizeof(__pyx_k_CUgraph_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraph_2 */
  {__pyx_k_CUgraph___reduce_cython, sizeof(__pyx_k_CUgraph___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraph___reduce_cython */
  {__pyx_k_CUgraph___setstate_cython, sizeof(__pyx_k_CUgraph___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraph___setstate_cython */
  {__pyx_k_CUgraph_getPtr, sizeof(__pyx_k_CUgraph_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraph_getPtr */
  {__pyx_k_CUgraph_getter, sizeof(__pyx_k_CUgraph_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraph_getter */
  {__pyx_k_CUgraphicsMapResourceFlags, sizeof(__pyx_k_CUgraphicsMapResourceFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphicsMapResourceFlags */
  {__pyx_k_CUgraphicsRegisterFlags, sizeof(__pyx_k_CUgraphicsRegisterFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphicsRegisterFlags */
  {__pyx_k_CUgraphicsResource, sizeof(__pyx_k_CUgraphicsResource), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUgraphicsResource */
  {__pyx_k_CUgraphicsResource_2, sizeof(__pyx_k_CUgraphicsResource_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphicsResource_2 */
  {__pyx_k_CUgraphicsResource___reduce_cyth, sizeof(__pyx_k_CUgraphicsResource___reduce_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphicsResource___reduce_cyth */
  {__pyx_k_CUgraphicsResource___setstate_cy, sizeof(__pyx_k_CUgraphicsResource___setstate_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphicsResource___setstate_cy */
  {__pyx_k_CUgraphicsResource_getPtr, sizeof(__pyx_k_CUgraphicsResource_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphicsResource_getPtr */
  {__pyx_k_CUgraphicsResource_getter, sizeof(__pyx_k_CUgraphicsResource_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgraphicsResource_getter */
  {__pyx_k_CUgreenCtx, sizeof(__pyx_k_CUgreenCtx), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUgreenCtx */
  {__pyx_k_CUgreenCtxCreate_flags, sizeof(__pyx_k_CUgreenCtxCreate_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgreenCtxCreate_flags */
  {__pyx_k_CUgreenCtx_2, sizeof(__pyx_k_CUgreenCtx_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgreenCtx_2 */
  {__pyx_k_CUgreenCtx___reduce_cython, sizeof(__pyx_k_CUgreenCtx___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgreenCtx___reduce_cython */
  {__pyx_k_CUgreenCtx___setstate_cython, sizeof(__pyx_k_CUgreenCtx___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgreenCtx___setstate_cython */
  {__pyx_k_CUgreenCtx_getPtr, sizeof(__pyx_k_CUgreenCtx_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgreenCtx_getPtr */
  {__pyx_k_CUgreenCtx_getter, sizeof(__pyx_k_CUgreenCtx_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUgreenCtx_getter */
  {__pyx_k_CUhostFn, sizeof(__pyx_k_CUhostFn), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUhostFn */
  {__pyx_k_CUhostFn_2, sizeof(__pyx_k_CUhostFn_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUhostFn_2 */
  {__pyx_k_CUhostFn___reduce_cython, sizeof(__pyx_k_CUhostFn___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUhostFn___reduce_cython */
  {__pyx_k_CUhostFn___setstate_cython, sizeof(__pyx_k_CUhostFn___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUhostFn___setstate_cython */
  {__pyx_k_CUhostFn_getPtr, sizeof(__pyx_k_CUhostFn_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUhostFn_getPtr */
  {__pyx_k_CUipcEventHandle, sizeof(__pyx_k_CUipcEventHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcEventHandle */
  {__pyx_k_CUipcEventHandle_st, sizeof(__pyx_k_CUipcEventHandle_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcEventHandle_st */
  {__pyx_k_CUipcEventHandle_st___reduce_cyt, sizeof(__pyx_k_CUipcEventHandle_st___reduce_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcEventHandle_st___reduce_cyt */
  {__pyx_k_CUipcEventHandle_st___setstate_c, sizeof(__pyx_k_CUipcEventHandle_st___setstate_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcEventHandle_st___setstate_c */
  {__pyx_k_CUipcEventHandle_st_getPtr, sizeof(__pyx_k_CUipcEventHandle_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcEventHandle_st_getPtr */
  {__pyx_k_CUipcEventHandle_v1, sizeof(__pyx_k_CUipcEventHandle_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcEventHandle_v1 */
  {__pyx_k_CUipcMemHandle, sizeof(__pyx_k_CUipcMemHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcMemHandle */
  {__pyx_k_CUipcMemHandle_st, sizeof(__pyx_k_CUipcMemHandle_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcMemHandle_st */
  {__pyx_k_CUipcMemHandle_st___reduce_cytho, sizeof(__pyx_k_CUipcMemHandle_st___reduce_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcMemHandle_st___reduce_cytho */
  {__pyx_k_CUipcMemHandle_st___setstate_cyt, sizeof(__pyx_k_CUipcMemHandle_st___setstate_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcMemHandle_st___setstate_cyt */
  {__pyx_k_CUipcMemHandle_st_getPtr, sizeof(__pyx_k_CUipcMemHandle_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcMemHandle_st_getPtr */
  {__pyx_k_CUipcMemHandle_v1, sizeof(__pyx_k_CUipcMemHandle_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcMemHandle_v1 */
  {__pyx_k_CUipcMem_flags, sizeof(__pyx_k_CUipcMem_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUipcMem_flags */
  {__pyx_k_CUjitInputType, sizeof(__pyx_k_CUjitInputType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUjitInputType */
  {__pyx_k_CUjit_cacheMode, sizeof(__pyx_k_CUjit_cacheMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUjit_cacheMode */
  {__pyx_k_CUjit_fallback, sizeof(__pyx_k_CUjit_fallback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUjit_fallback */
  {__pyx_k_CUjit_option, sizeof(__pyx_k_CUjit_option), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUjit_option */
  {__pyx_k_CUjit_target, sizeof(__pyx_k_CUjit_target), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUjit_target */
  {__pyx_k_CUkernel, sizeof(__pyx_k_CUkernel), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUkernel */
  {__pyx_k_CUkernelNodeAttrID, sizeof(__pyx_k_CUkernelNodeAttrID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUkernelNodeAttrID */
  {__pyx_k_CUkernelNodeAttrValue, sizeof(__pyx_k_CUkernelNodeAttrValue), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUkernelNodeAttrValue */
  {__pyx_k_CUkernelNodeAttrValue_v1, sizeof(__pyx_k_CUkernelNodeAttrValue_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUkernelNodeAttrValue_v1 */
  {__pyx_k_CUkernel_2, sizeof(__pyx_k_CUkernel_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUkernel_2 */
  {__pyx_k_CUkernel___reduce_cython, sizeof(__pyx_k_CUkernel___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUkernel___reduce_cython */
  {__pyx_k_CUkernel___setstate_cython, sizeof(__pyx_k_CUkernel___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUkernel___setstate_cython */
  {__pyx_k_CUkernel_getPtr, sizeof(__pyx_k_CUkernel_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUkernel_getPtr */
  {__pyx_k_CUkernel_getter, sizeof(__pyx_k_CUkernel_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUkernel_getter */
  {__pyx_k_CUlaunchAttribute, sizeof(__pyx_k_CUlaunchAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttribute */
  {__pyx_k_CUlaunchAttributeID, sizeof(__pyx_k_CUlaunchAttributeID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttributeID */
  {__pyx_k_CUlaunchAttributeValue, sizeof(__pyx_k_CUlaunchAttributeValue), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttributeValue */
  {__pyx_k_CUlaunchAttributeValue_union, sizeof(__pyx_k_CUlaunchAttributeValue_union), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttributeValue_union */
  {__pyx_k_CUlaunchAttributeValue_union___r, sizeof(__pyx_k_CUlaunchAttributeValue_union___r), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttributeValue_union___r */
  {__pyx_k_CUlaunchAttributeValue_union___s, sizeof(__pyx_k_CUlaunchAttributeValue_union___s), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttributeValue_union___s */
  {__pyx_k_CUlaunchAttributeValue_union_get, sizeof(__pyx_k_CUlaunchAttributeValue_union_get), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttributeValue_union_get */
  {__pyx_k_CUlaunchAttribute_st, sizeof(__pyx_k_CUlaunchAttribute_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttribute_st */
  {__pyx_k_CUlaunchAttribute_st___reduce_cy, sizeof(__pyx_k_CUlaunchAttribute_st___reduce_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttribute_st___reduce_cy */
  {__pyx_k_CUlaunchAttribute_st___setstate, sizeof(__pyx_k_CUlaunchAttribute_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttribute_st___setstate */
  {__pyx_k_CUlaunchAttribute_st_getPtr, sizeof(__pyx_k_CUlaunchAttribute_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchAttribute_st_getPtr */
  {__pyx_k_CUlaunchConfig, sizeof(__pyx_k_CUlaunchConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchConfig */
  {__pyx_k_CUlaunchConfig_st, sizeof(__pyx_k_CUlaunchConfig_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchConfig_st */
  {__pyx_k_CUlaunchConfig_st___reduce_cytho, sizeof(__pyx_k_CUlaunchConfig_st___reduce_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchConfig_st___reduce_cytho */
  {__pyx_k_CUlaunchConfig_st___setstate_cyt, sizeof(__pyx_k_CUlaunchConfig_st___setstate_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchConfig_st___setstate_cyt */
  {__pyx_k_CUlaunchConfig_st_getPtr, sizeof(__pyx_k_CUlaunchConfig_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchConfig_st_getPtr */
  {__pyx_k_CUlaunchMemSyncDomain, sizeof(__pyx_k_CUlaunchMemSyncDomain), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchMemSyncDomain */
  {__pyx_k_CUlaunchMemSyncDomainMap, sizeof(__pyx_k_CUlaunchMemSyncDomainMap), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchMemSyncDomainMap */
  {__pyx_k_CUlaunchMemSyncDomainMap_st, sizeof(__pyx_k_CUlaunchMemSyncDomainMap_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchMemSyncDomainMap_st */
  {__pyx_k_CUlaunchMemSyncDomainMap_st___re, sizeof(__pyx_k_CUlaunchMemSyncDomainMap_st___re), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchMemSyncDomainMap_st___re */
  {__pyx_k_CUlaunchMemSyncDomainMap_st___se, sizeof(__pyx_k_CUlaunchMemSyncDomainMap_st___se), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchMemSyncDomainMap_st___se */
  {__pyx_k_CUlaunchMemSyncDomainMap_st_getP, sizeof(__pyx_k_CUlaunchMemSyncDomainMap_st_getP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlaunchMemSyncDomainMap_st_getP */
  {__pyx_k_CUlibrary, sizeof(__pyx_k_CUlibrary), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUlibrary */
  {__pyx_k_CUlibraryHostUniversalFunctionAn, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibraryHostUniversalFunctionAn */
  {__pyx_k_CUlibraryHostUniversalFunctionAn_2, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibraryHostUniversalFunctionAn_2 */
  {__pyx_k_CUlibraryHostUniversalFunctionAn_3, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibraryHostUniversalFunctionAn_3 */
  {__pyx_k_CUlibraryHostUniversalFunctionAn_4, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibraryHostUniversalFunctionAn_4 */
  {__pyx_k_CUlibraryHostUniversalFunctionAn_5, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibraryHostUniversalFunctionAn_5 */
  {__pyx_k_CUlibraryOption, sizeof(__pyx_k_CUlibraryOption), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibraryOption */
  {__pyx_k_CUlibrary_2, sizeof(__pyx_k_CUlibrary_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibrary_2 */
  {__pyx_k_CUlibrary___reduce_cython, sizeof(__pyx_k_CUlibrary___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibrary___reduce_cython */
  {__pyx_k_CUlibrary___setstate_cython, sizeof(__pyx_k_CUlibrary___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibrary___setstate_cython */
  {__pyx_k_CUlibrary_getPtr, sizeof(__pyx_k_CUlibrary_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibrary_getPtr */
  {__pyx_k_CUlibrary_getter, sizeof(__pyx_k_CUlibrary_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlibrary_getter */
  {__pyx_k_CUlimit, sizeof(__pyx_k_CUlimit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlimit */
  {__pyx_k_CUlinkState, sizeof(__pyx_k_CUlinkState), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUlinkState */
  {__pyx_k_CUlinkState_2, sizeof(__pyx_k_CUlinkState_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlinkState_2 */
  {__pyx_k_CUlinkState___reduce_cython, sizeof(__pyx_k_CUlinkState___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlinkState___reduce_cython */
  {__pyx_k_CUlinkState___setstate_cython, sizeof(__pyx_k_CUlinkState___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlinkState___setstate_cython */
  {__pyx_k_CUlinkState_getPtr, sizeof(__pyx_k_CUlinkState_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlinkState_getPtr */
  {__pyx_k_CUlinkState_getter, sizeof(__pyx_k_CUlinkState_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlinkState_getter */
  {__pyx_k_CUlogIterator, sizeof(__pyx_k_CUlogIterator), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUlogIterator */
  {__pyx_k_CUlogIterator_2, sizeof(__pyx_k_CUlogIterator_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogIterator_2 */
  {__pyx_k_CUlogIterator___reduce_cython, sizeof(__pyx_k_CUlogIterator___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogIterator___reduce_cython */
  {__pyx_k_CUlogIterator___setstate_cython, sizeof(__pyx_k_CUlogIterator___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogIterator___setstate_cython */
  {__pyx_k_CUlogIterator_getPtr, sizeof(__pyx_k_CUlogIterator_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogIterator_getPtr */
  {__pyx_k_CUlogLevel, sizeof(__pyx_k_CUlogLevel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogLevel */
  {__pyx_k_CUlogsCallback, sizeof(__pyx_k_CUlogsCallback), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUlogsCallback */
  {__pyx_k_CUlogsCallbackHandle, sizeof(__pyx_k_CUlogsCallbackHandle), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUlogsCallbackHandle */
  {__pyx_k_CUlogsCallbackHandle_2, sizeof(__pyx_k_CUlogsCallbackHandle_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallbackHandle_2 */
  {__pyx_k_CUlogsCallbackHandle___reduce_cy, sizeof(__pyx_k_CUlogsCallbackHandle___reduce_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallbackHandle___reduce_cy */
  {__pyx_k_CUlogsCallbackHandle___setstate, sizeof(__pyx_k_CUlogsCallbackHandle___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallbackHandle___setstate */
  {__pyx_k_CUlogsCallbackHandle_getPtr, sizeof(__pyx_k_CUlogsCallbackHandle_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallbackHandle_getPtr */
  {__pyx_k_CUlogsCallbackHandle_getter, sizeof(__pyx_k_CUlogsCallbackHandle_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallbackHandle_getter */
  {__pyx_k_CUlogsCallback_2, sizeof(__pyx_k_CUlogsCallback_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallback_2 */
  {__pyx_k_CUlogsCallback___reduce_cython, sizeof(__pyx_k_CUlogsCallback___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallback___reduce_cython */
  {__pyx_k_CUlogsCallback___setstate_cython, sizeof(__pyx_k_CUlogsCallback___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallback___setstate_cython */
  {__pyx_k_CUlogsCallback_getPtr, sizeof(__pyx_k_CUlogsCallback_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUlogsCallback_getPtr */
  {__pyx_k_CUmemAccessDesc, sizeof(__pyx_k_CUmemAccessDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAccessDesc */
  {__pyx_k_CUmemAccessDesc_st, sizeof(__pyx_k_CUmemAccessDesc_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAccessDesc_st */
  {__pyx_k_CUmemAccessDesc_st___reduce_cyth, sizeof(__pyx_k_CUmemAccessDesc_st___reduce_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAccessDesc_st___reduce_cyth */
  {__pyx_k_CUmemAccessDesc_st___setstate_cy, sizeof(__pyx_k_CUmemAccessDesc_st___setstate_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAccessDesc_st___setstate_cy */
  {__pyx_k_CUmemAccessDesc_st_getPtr, sizeof(__pyx_k_CUmemAccessDesc_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAccessDesc_st_getPtr */
  {__pyx_k_CUmemAccessDesc_v1, sizeof(__pyx_k_CUmemAccessDesc_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAccessDesc_v1 */
  {__pyx_k_CUmemAccess_flags, sizeof(__pyx_k_CUmemAccess_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAccess_flags */
  {__pyx_k_CUmemAllocationCompType, sizeof(__pyx_k_CUmemAllocationCompType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationCompType */
  {__pyx_k_CUmemAllocationGranularity_flags, sizeof(__pyx_k_CUmemAllocationGranularity_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationGranularity_flags */
  {__pyx_k_CUmemAllocationHandleType, sizeof(__pyx_k_CUmemAllocationHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationHandleType */
  {__pyx_k_CUmemAllocationProp, sizeof(__pyx_k_CUmemAllocationProp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationProp */
  {__pyx_k_CUmemAllocationProp_st, sizeof(__pyx_k_CUmemAllocationProp_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationProp_st */
  {__pyx_k_CUmemAllocationProp_st___reduce, sizeof(__pyx_k_CUmemAllocationProp_st___reduce), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationProp_st___reduce */
  {__pyx_k_CUmemAllocationProp_st___setstat, sizeof(__pyx_k_CUmemAllocationProp_st___setstat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationProp_st___setstat */
  {__pyx_k_CUmemAllocationProp_st_getPtr, sizeof(__pyx_k_CUmemAllocationProp_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationProp_st_getPtr */
  {__pyx_k_CUmemAllocationProp_v1, sizeof(__pyx_k_CUmemAllocationProp_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationProp_v1 */
  {__pyx_k_CUmemAllocationType, sizeof(__pyx_k_CUmemAllocationType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAllocationType */
  {__pyx_k_CUmemAttach_flags, sizeof(__pyx_k_CUmemAttach_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemAttach_flags */
  {__pyx_k_CUmemDecompressAlgorithm, sizeof(__pyx_k_CUmemDecompressAlgorithm), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemDecompressAlgorithm */
  {__pyx_k_CUmemDecompressParams, sizeof(__pyx_k_CUmemDecompressParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemDecompressParams */
  {__pyx_k_CUmemDecompressParams_st, sizeof(__pyx_k_CUmemDecompressParams_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemDecompressParams_st */
  {__pyx_k_CUmemDecompressParams_st___reduc, sizeof(__pyx_k_CUmemDecompressParams_st___reduc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemDecompressParams_st___reduc */
  {__pyx_k_CUmemDecompressParams_st___setst, sizeof(__pyx_k_CUmemDecompressParams_st___setst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemDecompressParams_st___setst */
  {__pyx_k_CUmemDecompressParams_st_getPtr, sizeof(__pyx_k_CUmemDecompressParams_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemDecompressParams_st_getPtr */
  {__pyx_k_CUmemFabricHandle, sizeof(__pyx_k_CUmemFabricHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemFabricHandle */
  {__pyx_k_CUmemFabricHandle_st, sizeof(__pyx_k_CUmemFabricHandle_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemFabricHandle_st */
  {__pyx_k_CUmemFabricHandle_st___reduce_cy, sizeof(__pyx_k_CUmemFabricHandle_st___reduce_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemFabricHandle_st___reduce_cy */
  {__pyx_k_CUmemFabricHandle_st___setstate, sizeof(__pyx_k_CUmemFabricHandle_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemFabricHandle_st___setstate */
  {__pyx_k_CUmemFabricHandle_st_getPtr, sizeof(__pyx_k_CUmemFabricHandle_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemFabricHandle_st_getPtr */
  {__pyx_k_CUmemFabricHandle_v1, sizeof(__pyx_k_CUmemFabricHandle_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemFabricHandle_v1 */
  {__pyx_k_CUmemGenericAllocationHandle, sizeof(__pyx_k_CUmemGenericAllocationHandle), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUmemGenericAllocationHandle */
  {__pyx_k_CUmemGenericAllocationHandle_2, sizeof(__pyx_k_CUmemGenericAllocationHandle_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemGenericAllocationHandle_2 */
  {__pyx_k_CUmemGenericAllocationHandle___r, sizeof(__pyx_k_CUmemGenericAllocationHandle___r), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemGenericAllocationHandle___r */
  {__pyx_k_CUmemGenericAllocationHandle___s, sizeof(__pyx_k_CUmemGenericAllocationHandle___s), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemGenericAllocationHandle___s */
  {__pyx_k_CUmemGenericAllocationHandle_get, sizeof(__pyx_k_CUmemGenericAllocationHandle_get), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemGenericAllocationHandle_get */
  {__pyx_k_CUmemGenericAllocationHandle_v1, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUmemGenericAllocationHandle_v1 */
  {__pyx_k_CUmemGenericAllocationHandle_v1_2, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemGenericAllocationHandle_v1_2 */
  {__pyx_k_CUmemGenericAllocationHandle_v1_3, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemGenericAllocationHandle_v1_3 */
  {__pyx_k_CUmemGenericAllocationHandle_v1_4, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemGenericAllocationHandle_v1_4 */
  {__pyx_k_CUmemGenericAllocationHandle_v1_5, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemGenericAllocationHandle_v1_5 */
  {__pyx_k_CUmemHandleType, sizeof(__pyx_k_CUmemHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemHandleType */
  {__pyx_k_CUmemLocation, sizeof(__pyx_k_CUmemLocation), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemLocation */
  {__pyx_k_CUmemLocationType, sizeof(__pyx_k_CUmemLocationType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemLocationType */
  {__pyx_k_CUmemLocation_st, sizeof(__pyx_k_CUmemLocation_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemLocation_st */
  {__pyx_k_CUmemLocation_st___reduce_cython, sizeof(__pyx_k_CUmemLocation_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemLocation_st___reduce_cython */
  {__pyx_k_CUmemLocation_st___setstate_cyth, sizeof(__pyx_k_CUmemLocation_st___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemLocation_st___setstate_cyth */
  {__pyx_k_CUmemLocation_st_getPtr, sizeof(__pyx_k_CUmemLocation_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemLocation_st_getPtr */
  {__pyx_k_CUmemLocation_v1, sizeof(__pyx_k_CUmemLocation_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemLocation_v1 */
  {__pyx_k_CUmemOperationType, sizeof(__pyx_k_CUmemOperationType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemOperationType */
  {__pyx_k_CUmemPoolProps, sizeof(__pyx_k_CUmemPoolProps), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolProps */
  {__pyx_k_CUmemPoolProps_st, sizeof(__pyx_k_CUmemPoolProps_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolProps_st */
  {__pyx_k_CUmemPoolProps_st___reduce_cytho, sizeof(__pyx_k_CUmemPoolProps_st___reduce_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolProps_st___reduce_cytho */
  {__pyx_k_CUmemPoolProps_st___setstate_cyt, sizeof(__pyx_k_CUmemPoolProps_st___setstate_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolProps_st___setstate_cyt */
  {__pyx_k_CUmemPoolProps_st_getPtr, sizeof(__pyx_k_CUmemPoolProps_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolProps_st_getPtr */
  {__pyx_k_CUmemPoolProps_v1, sizeof(__pyx_k_CUmemPoolProps_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolProps_v1 */
  {__pyx_k_CUmemPoolPtrExportData, sizeof(__pyx_k_CUmemPoolPtrExportData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolPtrExportData */
  {__pyx_k_CUmemPoolPtrExportData_st, sizeof(__pyx_k_CUmemPoolPtrExportData_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolPtrExportData_st */
  {__pyx_k_CUmemPoolPtrExportData_st___redu, sizeof(__pyx_k_CUmemPoolPtrExportData_st___redu), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolPtrExportData_st___redu */
  {__pyx_k_CUmemPoolPtrExportData_st___sets, sizeof(__pyx_k_CUmemPoolPtrExportData_st___sets), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolPtrExportData_st___sets */
  {__pyx_k_CUmemPoolPtrExportData_st_getPtr, sizeof(__pyx_k_CUmemPoolPtrExportData_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolPtrExportData_st_getPtr */
  {__pyx_k_CUmemPoolPtrExportData_v1, sizeof(__pyx_k_CUmemPoolPtrExportData_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPoolPtrExportData_v1 */
  {__pyx_k_CUmemPool_attribute, sizeof(__pyx_k_CUmemPool_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemPool_attribute */
  {__pyx_k_CUmemRangeFlags, sizeof(__pyx_k_CUmemRangeFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemRangeFlags */
  {__pyx_k_CUmemRangeHandleType, sizeof(__pyx_k_CUmemRangeHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemRangeHandleType */
  {__pyx_k_CUmem_advise, sizeof(__pyx_k_CUmem_advise), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmem_advise */
  {__pyx_k_CUmem_range_attribute, sizeof(__pyx_k_CUmem_range_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmem_range_attribute */
  {__pyx_k_CUmemcpy3DOperand, sizeof(__pyx_k_CUmemcpy3DOperand), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpy3DOperand */
  {__pyx_k_CUmemcpy3DOperandType, sizeof(__pyx_k_CUmemcpy3DOperandType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpy3DOperandType */
  {__pyx_k_CUmemcpy3DOperand_st, sizeof(__pyx_k_CUmemcpy3DOperand_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpy3DOperand_st */
  {__pyx_k_CUmemcpy3DOperand_st___reduce_cy, sizeof(__pyx_k_CUmemcpy3DOperand_st___reduce_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpy3DOperand_st___reduce_cy */
  {__pyx_k_CUmemcpy3DOperand_st___setstate, sizeof(__pyx_k_CUmemcpy3DOperand_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpy3DOperand_st___setstate */
  {__pyx_k_CUmemcpy3DOperand_st_getPtr, sizeof(__pyx_k_CUmemcpy3DOperand_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpy3DOperand_st_getPtr */
  {__pyx_k_CUmemcpy3DOperand_v1, sizeof(__pyx_k_CUmemcpy3DOperand_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpy3DOperand_v1 */
  {__pyx_k_CUmemcpyAttributes, sizeof(__pyx_k_CUmemcpyAttributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpyAttributes */
  {__pyx_k_CUmemcpyAttributes_st, sizeof(__pyx_k_CUmemcpyAttributes_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpyAttributes_st */
  {__pyx_k_CUmemcpyAttributes_st___reduce_c, sizeof(__pyx_k_CUmemcpyAttributes_st___reduce_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpyAttributes_st___reduce_c */
  {__pyx_k_CUmemcpyAttributes_st___setstate, sizeof(__pyx_k_CUmemcpyAttributes_st___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpyAttributes_st___setstate */
  {__pyx_k_CUmemcpyAttributes_st_getPtr, sizeof(__pyx_k_CUmemcpyAttributes_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpyAttributes_st_getPtr */
  {__pyx_k_CUmemcpyAttributes_v1, sizeof(__pyx_k_CUmemcpyAttributes_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpyAttributes_v1 */
  {__pyx_k_CUmemcpyFlags, sizeof(__pyx_k_CUmemcpyFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpyFlags */
  {__pyx_k_CUmemcpySrcAccessOrder, sizeof(__pyx_k_CUmemcpySrcAccessOrder), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemcpySrcAccessOrder */
  {__pyx_k_CUmemoryPool, sizeof(__pyx_k_CUmemoryPool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemoryPool */
  {__pyx_k_CUmemoryPool_2, sizeof(__pyx_k_CUmemoryPool_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUmemoryPool_2 */
  {__pyx_k_CUmemoryPool___reduce_cython, sizeof(__pyx_k_CUmemoryPool___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemoryPool___reduce_cython */
  {__pyx_k_CUmemoryPool___setstate_cython, sizeof(__pyx_k_CUmemoryPool___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemoryPool___setstate_cython */
  {__pyx_k_CUmemoryPool_getPtr, sizeof(__pyx_k_CUmemoryPool_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemoryPool_getPtr */
  {__pyx_k_CUmemoryPool_getter, sizeof(__pyx_k_CUmemoryPool_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemoryPool_getter */
  {__pyx_k_CUmemorytype, sizeof(__pyx_k_CUmemorytype), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmemorytype */
  {__pyx_k_CUmipmappedArray, sizeof(__pyx_k_CUmipmappedArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUmipmappedArray */
  {__pyx_k_CUmipmappedArray_2, sizeof(__pyx_k_CUmipmappedArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmipmappedArray_2 */
  {__pyx_k_CUmipmappedArray___reduce_cython, sizeof(__pyx_k_CUmipmappedArray___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmipmappedArray___reduce_cython */
  {__pyx_k_CUmipmappedArray___setstate_cyth, sizeof(__pyx_k_CUmipmappedArray___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmipmappedArray___setstate_cyth */
  {__pyx_k_CUmipmappedArray_getPtr, sizeof(__pyx_k_CUmipmappedArray_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmipmappedArray_getPtr */
  {__pyx_k_CUmipmappedArray_getter, sizeof(__pyx_k_CUmipmappedArray_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmipmappedArray_getter */
  {__pyx_k_CUmodule, sizeof(__pyx_k_CUmodule), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUmodule */
  {__pyx_k_CUmoduleLoadingMode, sizeof(__pyx_k_CUmoduleLoadingMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmoduleLoadingMode */
  {__pyx_k_CUmodule_2, sizeof(__pyx_k_CUmodule_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmodule_2 */
  {__pyx_k_CUmodule___reduce_cython, sizeof(__pyx_k_CUmodule___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmodule___reduce_cython */
  {__pyx_k_CUmodule___setstate_cython, sizeof(__pyx_k_CUmodule___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmodule___setstate_cython */
  {__pyx_k_CUmodule_getPtr, sizeof(__pyx_k_CUmodule_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmodule_getPtr */
  {__pyx_k_CUmodule_getter, sizeof(__pyx_k_CUmodule_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmodule_getter */
  {__pyx_k_CUmulticastGranularity_flags, sizeof(__pyx_k_CUmulticastGranularity_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmulticastGranularity_flags */
  {__pyx_k_CUmulticastObjectProp, sizeof(__pyx_k_CUmulticastObjectProp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmulticastObjectProp */
  {__pyx_k_CUmulticastObjectProp_st, sizeof(__pyx_k_CUmulticastObjectProp_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmulticastObjectProp_st */
  {__pyx_k_CUmulticastObjectProp_st___reduc, sizeof(__pyx_k_CUmulticastObjectProp_st___reduc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmulticastObjectProp_st___reduc */
  {__pyx_k_CUmulticastObjectProp_st___setst, sizeof(__pyx_k_CUmulticastObjectProp_st___setst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmulticastObjectProp_st___setst */
  {__pyx_k_CUmulticastObjectProp_st_getPtr, sizeof(__pyx_k_CUmulticastObjectProp_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmulticastObjectProp_st_getPtr */
  {__pyx_k_CUmulticastObjectProp_v1, sizeof(__pyx_k_CUmulticastObjectProp_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUmulticastObjectProp_v1 */
  {__pyx_k_CUoccupancyB2DSize, sizeof(__pyx_k_CUoccupancyB2DSize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUoccupancyB2DSize */
  {__pyx_k_CUoccupancyB2DSize_2, sizeof(__pyx_k_CUoccupancyB2DSize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoccupancyB2DSize_2 */
  {__pyx_k_CUoccupancyB2DSize___reduce_cyth, sizeof(__pyx_k_CUoccupancyB2DSize___reduce_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoccupancyB2DSize___reduce_cyth */
  {__pyx_k_CUoccupancyB2DSize___setstate_cy, sizeof(__pyx_k_CUoccupancyB2DSize___setstate_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoccupancyB2DSize___setstate_cy */
  {__pyx_k_CUoccupancyB2DSize_getPtr, sizeof(__pyx_k_CUoccupancyB2DSize_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoccupancyB2DSize_getPtr */
  {__pyx_k_CUoccupancy_flags, sizeof(__pyx_k_CUoccupancy_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoccupancy_flags */
  {__pyx_k_CUoffset3D, sizeof(__pyx_k_CUoffset3D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoffset3D */
  {__pyx_k_CUoffset3D_st, sizeof(__pyx_k_CUoffset3D_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoffset3D_st */
  {__pyx_k_CUoffset3D_st___reduce_cython, sizeof(__pyx_k_CUoffset3D_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoffset3D_st___reduce_cython */
  {__pyx_k_CUoffset3D_st___setstate_cython, sizeof(__pyx_k_CUoffset3D_st___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoffset3D_st___setstate_cython */
  {__pyx_k_CUoffset3D_st_getPtr, sizeof(__pyx_k_CUoffset3D_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoffset3D_st_getPtr */
  {__pyx_k_CUoffset3D_v1, sizeof(__pyx_k_CUoffset3D_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoffset3D_v1 */
  {__pyx_k_CUoutput_mode, sizeof(__pyx_k_CUoutput_mode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUoutput_mode */
  {__pyx_k_CUpointer_attribute, sizeof(__pyx_k_CUpointer_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUpointer_attribute */
  {__pyx_k_CUprocessState, sizeof(__pyx_k_CUprocessState), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUprocessState */
  {__pyx_k_CUresourceViewFormat, sizeof(__pyx_k_CUresourceViewFormat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUresourceViewFormat */
  {__pyx_k_CUresourcetype, sizeof(__pyx_k_CUresourcetype), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUresourcetype */
  {__pyx_k_CUresult, sizeof(__pyx_k_CUresult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUresult */
  {__pyx_k_CUshared_carveout, sizeof(__pyx_k_CUshared_carveout), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUshared_carveout */
  {__pyx_k_CUsharedconfig, sizeof(__pyx_k_CUsharedconfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsharedconfig */
  {__pyx_k_CUstream, sizeof(__pyx_k_CUstream), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUstream */
  {__pyx_k_CUstreamAttrID, sizeof(__pyx_k_CUstreamAttrID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamAttrID */
  {__pyx_k_CUstreamAttrValue, sizeof(__pyx_k_CUstreamAttrValue), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamAttrValue */
  {__pyx_k_CUstreamAttrValue_v1, sizeof(__pyx_k_CUstreamAttrValue_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamAttrValue_v1 */
  {__pyx_k_CUstreamBatchMemOpParams, sizeof(__pyx_k_CUstreamBatchMemOpParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamBatchMemOpParams */
  {__pyx_k_CUstreamBatchMemOpParams_union, sizeof(__pyx_k_CUstreamBatchMemOpParams_union), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamBatchMemOpParams_union */
  {__pyx_k_CUstreamBatchMemOpParams_union_2, sizeof(__pyx_k_CUstreamBatchMemOpParams_union_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamBatchMemOpParams_union_2 */
  {__pyx_k_CUstreamBatchMemOpParams_union_3, sizeof(__pyx_k_CUstreamBatchMemOpParams_union_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamBatchMemOpParams_union_3 */
  {__pyx_k_CUstreamBatchMemOpParams_union_g, sizeof(__pyx_k_CUstreamBatchMemOpParams_union_g), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamBatchMemOpParams_union_g */
  {__pyx_k_CUstreamBatchMemOpParams_v1, sizeof(__pyx_k_CUstreamBatchMemOpParams_v1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamBatchMemOpParams_v1 */
  {__pyx_k_CUstreamBatchMemOpType, sizeof(__pyx_k_CUstreamBatchMemOpType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamBatchMemOpType */
  {__pyx_k_CUstreamCallback, sizeof(__pyx_k_CUstreamCallback), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUstreamCallback */
  {__pyx_k_CUstreamCallback_2, sizeof(__pyx_k_CUstreamCallback_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamCallback_2 */
  {__pyx_k_CUstreamCallback___reduce_cython, sizeof(__pyx_k_CUstreamCallback___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamCallback___reduce_cython */
  {__pyx_k_CUstreamCallback___setstate_cyth, sizeof(__pyx_k_CUstreamCallback___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamCallback___setstate_cyth */
  {__pyx_k_CUstreamCallback_getPtr, sizeof(__pyx_k_CUstreamCallback_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamCallback_getPtr */
  {__pyx_k_CUstreamCaptureMode, sizeof(__pyx_k_CUstreamCaptureMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamCaptureMode */
  {__pyx_k_CUstreamCaptureStatus, sizeof(__pyx_k_CUstreamCaptureStatus), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamCaptureStatus */
  {__pyx_k_CUstreamMemOpFlushRemoteWritesPa, sizeof(__pyx_k_CUstreamMemOpFlushRemoteWritesPa), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa */
  {__pyx_k_CUstreamMemOpFlushRemoteWritesPa_2, sizeof(__pyx_k_CUstreamMemOpFlushRemoteWritesPa_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_2 */
  {__pyx_k_CUstreamMemOpFlushRemoteWritesPa_3, sizeof(__pyx_k_CUstreamMemOpFlushRemoteWritesPa_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_3 */
  {__pyx_k_CUstreamMemOpFlushRemoteWritesPa_4, sizeof(__pyx_k_CUstreamMemOpFlushRemoteWritesPa_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_4 */
  {__pyx_k_CUstreamMemOpMemoryBarrierParams, sizeof(__pyx_k_CUstreamMemOpMemoryBarrierParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpMemoryBarrierParams */
  {__pyx_k_CUstreamMemOpMemoryBarrierParams_2, sizeof(__pyx_k_CUstreamMemOpMemoryBarrierParams_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpMemoryBarrierParams_2 */
  {__pyx_k_CUstreamMemOpMemoryBarrierParams_3, sizeof(__pyx_k_CUstreamMemOpMemoryBarrierParams_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpMemoryBarrierParams_3 */
  {__pyx_k_CUstreamMemOpMemoryBarrierParams_4, sizeof(__pyx_k_CUstreamMemOpMemoryBarrierParams_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpMemoryBarrierParams_4 */
  {__pyx_k_CUstreamMemOpWaitValueParams_st, sizeof(__pyx_k_CUstreamMemOpWaitValueParams_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpWaitValueParams_st */
  {__pyx_k_CUstreamMemOpWaitValueParams_st_2, sizeof(__pyx_k_CUstreamMemOpWaitValueParams_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpWaitValueParams_st_2 */
  {__pyx_k_CUstreamMemOpWaitValueParams_st_3, sizeof(__pyx_k_CUstreamMemOpWaitValueParams_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpWaitValueParams_st_3 */
  {__pyx_k_CUstreamMemOpWaitValueParams_st_4, sizeof(__pyx_k_CUstreamMemOpWaitValueParams_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpWaitValueParams_st_4 */
  {__pyx_k_CUstreamMemOpWriteValueParams_st, sizeof(__pyx_k_CUstreamMemOpWriteValueParams_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpWriteValueParams_st */
  {__pyx_k_CUstreamMemOpWriteValueParams_st_2, sizeof(__pyx_k_CUstreamMemOpWriteValueParams_st_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpWriteValueParams_st_2 */
  {__pyx_k_CUstreamMemOpWriteValueParams_st_3, sizeof(__pyx_k_CUstreamMemOpWriteValueParams_st_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpWriteValueParams_st_3 */
  {__pyx_k_CUstreamMemOpWriteValueParams_st_4, sizeof(__pyx_k_CUstreamMemOpWriteValueParams_st_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemOpWriteValueParams_st_4 */
  {__pyx_k_CUstreamMemoryBarrier_flags, sizeof(__pyx_k_CUstreamMemoryBarrier_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamMemoryBarrier_flags */
  {__pyx_k_CUstreamUpdateCaptureDependencie, sizeof(__pyx_k_CUstreamUpdateCaptureDependencie), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamUpdateCaptureDependencie */
  {__pyx_k_CUstreamWaitValue_flags, sizeof(__pyx_k_CUstreamWaitValue_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamWaitValue_flags */
  {__pyx_k_CUstreamWriteValue_flags, sizeof(__pyx_k_CUstreamWriteValue_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstreamWriteValue_flags */
  {__pyx_k_CUstream_2, sizeof(__pyx_k_CUstream_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstream_2 */
  {__pyx_k_CUstream___reduce_cython, sizeof(__pyx_k_CUstream___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstream___reduce_cython */
  {__pyx_k_CUstream___setstate_cython, sizeof(__pyx_k_CUstream___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstream___setstate_cython */
  {__pyx_k_CUstream_flags, sizeof(__pyx_k_CUstream_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstream_flags */
  {__pyx_k_CUstream_getPtr, sizeof(__pyx_k_CUstream_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstream_getPtr */
  {__pyx_k_CUstream_getter, sizeof(__pyx_k_CUstream_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUstream_getter */
  {__pyx_k_CUsurfObject, sizeof(__pyx_k_CUsurfObject), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUsurfObject */
  {__pyx_k_CUsurfObject_2, sizeof(__pyx_k_CUsurfObject_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfObject_2 */
  {__pyx_k_CUsurfObject___reduce_cython, sizeof(__pyx_k_CUsurfObject___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfObject___reduce_cython */
  {__pyx_k_CUsurfObject___setstate_cython, sizeof(__pyx_k_CUsurfObject___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfObject___setstate_cython */
  {__pyx_k_CUsurfObject_getPtr, sizeof(__pyx_k_CUsurfObject_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfObject_getPtr */
  {__pyx_k_CUsurfObject_v1, sizeof(__pyx_k_CUsurfObject_v1), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUsurfObject_v1 */
  {__pyx_k_CUsurfObject_v1_2, sizeof(__pyx_k_CUsurfObject_v1_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfObject_v1_2 */
  {__pyx_k_CUsurfObject_v1___reduce_cython, sizeof(__pyx_k_CUsurfObject_v1___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfObject_v1___reduce_cython */
  {__pyx_k_CUsurfObject_v1___setstate_cytho, sizeof(__pyx_k_CUsurfObject_v1___setstate_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfObject_v1___setstate_cytho */
  {__pyx_k_CUsurfObject_v1_getPtr, sizeof(__pyx_k_CUsurfObject_v1_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfObject_v1_getPtr */
  {__pyx_k_CUsurfref, sizeof(__pyx_k_CUsurfref), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUsurfref */
  {__pyx_k_CUsurfref_2, sizeof(__pyx_k_CUsurfref_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfref_2 */
  {__pyx_k_CUsurfref___reduce_cython, sizeof(__pyx_k_CUsurfref___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfref___reduce_cython */
  {__pyx_k_CUsurfref___setstate_cython, sizeof(__pyx_k_CUsurfref___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfref___setstate_cython */
  {__pyx_k_CUsurfref_getPtr, sizeof(__pyx_k_CUsurfref_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfref_getPtr */
  {__pyx_k_CUsurfref_getter, sizeof(__pyx_k_CUsurfref_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsurfref_getter */
  {__pyx_k_CUsynchronizationPolicy, sizeof(__pyx_k_CUsynchronizationPolicy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUsynchronizationPolicy */
  {__pyx_k_CUtensorMap, sizeof(__pyx_k_CUtensorMap), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMap */
  {__pyx_k_CUtensorMapDataType, sizeof(__pyx_k_CUtensorMapDataType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMapDataType */
  {__pyx_k_CUtensorMapFloatOOBfill, sizeof(__pyx_k_CUtensorMapFloatOOBfill), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMapFloatOOBfill */
  {__pyx_k_CUtensorMapIm2ColWideMode, sizeof(__pyx_k_CUtensorMapIm2ColWideMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMapIm2ColWideMode */
  {__pyx_k_CUtensorMapInterleave, sizeof(__pyx_k_CUtensorMapInterleave), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMapInterleave */
  {__pyx_k_CUtensorMapL2promotion, sizeof(__pyx_k_CUtensorMapL2promotion), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMapL2promotion */
  {__pyx_k_CUtensorMapSwizzle, sizeof(__pyx_k_CUtensorMapSwizzle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMapSwizzle */
  {__pyx_k_CUtensorMap_st, sizeof(__pyx_k_CUtensorMap_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMap_st */
  {__pyx_k_CUtensorMap_st___reduce_cython, sizeof(__pyx_k_CUtensorMap_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMap_st___reduce_cython */
  {__pyx_k_CUtensorMap_st___setstate_cython, sizeof(__pyx_k_CUtensorMap_st___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMap_st___setstate_cython */
  {__pyx_k_CUtensorMap_st_getPtr, sizeof(__pyx_k_CUtensorMap_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtensorMap_st_getPtr */
  {__pyx_k_CUtexObject, sizeof(__pyx_k_CUtexObject), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUtexObject */
  {__pyx_k_CUtexObject_2, sizeof(__pyx_k_CUtexObject_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexObject_2 */
  {__pyx_k_CUtexObject___reduce_cython, sizeof(__pyx_k_CUtexObject___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexObject___reduce_cython */
  {__pyx_k_CUtexObject___setstate_cython, sizeof(__pyx_k_CUtexObject___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexObject___setstate_cython */
  {__pyx_k_CUtexObject_getPtr, sizeof(__pyx_k_CUtexObject_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexObject_getPtr */
  {__pyx_k_CUtexObject_v1, sizeof(__pyx_k_CUtexObject_v1), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUtexObject_v1 */
  {__pyx_k_CUtexObject_v1_2, sizeof(__pyx_k_CUtexObject_v1_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexObject_v1_2 */
  {__pyx_k_CUtexObject_v1___reduce_cython, sizeof(__pyx_k_CUtexObject_v1___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexObject_v1___reduce_cython */
  {__pyx_k_CUtexObject_v1___setstate_cython, sizeof(__pyx_k_CUtexObject_v1___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexObject_v1___setstate_cython */
  {__pyx_k_CUtexObject_v1_getPtr, sizeof(__pyx_k_CUtexObject_v1_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexObject_v1_getPtr */
  {__pyx_k_CUtexref, sizeof(__pyx_k_CUtexref), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUtexref */
  {__pyx_k_CUtexref_2, sizeof(__pyx_k_CUtexref_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexref_2 */
  {__pyx_k_CUtexref___reduce_cython, sizeof(__pyx_k_CUtexref___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexref___reduce_cython */
  {__pyx_k_CUtexref___setstate_cython, sizeof(__pyx_k_CUtexref___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexref___setstate_cython */
  {__pyx_k_CUtexref_getPtr, sizeof(__pyx_k_CUtexref_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexref_getPtr */
  {__pyx_k_CUtexref_getter, sizeof(__pyx_k_CUtexref_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUtexref_getter */
  {__pyx_k_CUuserObject, sizeof(__pyx_k_CUuserObject), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_CUuserObject */
  {__pyx_k_CUuserObjectRetain_flags, sizeof(__pyx_k_CUuserObjectRetain_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuserObjectRetain_flags */
  {__pyx_k_CUuserObject_2, sizeof(__pyx_k_CUuserObject_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuserObject_2 */
  {__pyx_k_CUuserObject___reduce_cython, sizeof(__pyx_k_CUuserObject___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuserObject___reduce_cython */
  {__pyx_k_CUuserObject___setstate_cython, sizeof(__pyx_k_CUuserObject___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuserObject___setstate_cython */
  {__pyx_k_CUuserObject_flags, sizeof(__pyx_k_CUuserObject_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuserObject_flags */
  {__pyx_k_CUuserObject_getPtr, sizeof(__pyx_k_CUuserObject_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuserObject_getPtr */
  {__pyx_k_CUuserObject_getter, sizeof(__pyx_k_CUuserObject_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuserObject_getter */
  {__pyx_k_CUuuid, sizeof(__pyx_k_CUuuid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuuid */
  {__pyx_k_CUuuid_st, sizeof(__pyx_k_CUuuid_st), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuuid_st */
  {__pyx_k_CUuuid_st___reduce_cython, sizeof(__pyx_k_CUuuid_st___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuuid_st___reduce_cython */
  {__pyx_k_CUuuid_st___setstate_cython, sizeof(__pyx_k_CUuuid_st___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuuid_st___setstate_cython */
  {__pyx_k_CUuuid_st_getPtr, sizeof(__pyx_k_CUuuid_st_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_CUuuid_st_getPtr */
  {__pyx_k_Caching_modes_for_dlcm, sizeof(__pyx_k_Caching_modes_for_dlcm), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Caching_modes_for_dlcm */
  {__pyx_k_Child_graph_node_ownership, sizeof(__pyx_k_Child_graph_node_ownership), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Child_graph_node_ownership */
  {__pyx_k_Cluster_scheduling_policies_The, sizeof(__pyx_k_Cluster_scheduling_policies_The), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Cluster_scheduling_policies_The */
  {__pyx_k_Compute_Modes, sizeof(__pyx_k_Compute_Modes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Compute_Modes */
  {__pyx_k_Conditional_node_types, sizeof(__pyx_k_Conditional_node_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Conditional_node_types */
  {__pyx_k_Context_creation_flags, sizeof(__pyx_k_Context_creation_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Context_creation_flags */
  {__pyx_k_Cubin_matching_fallback_strateg, sizeof(__pyx_k_Cubin_matching_fallback_strateg), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Cubin_matching_fallback_strateg */
  {__pyx_k_Defines_the_allocation_types_av, sizeof(__pyx_k_Defines_the_allocation_types_av), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Defines_the_allocation_types_av */
  {__pyx_k_Deprecated_Shared_memory_config, sizeof(__pyx_k_Deprecated_Shared_memory_config), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Deprecated_Shared_memory_config */
  {__pyx_k_Depth, sizeof(__pyx_k_Depth), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Depth */
  {__pyx_k_Depth_2, sizeof(__pyx_k_Depth_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Depth_2 */
  {__pyx_k_Depth_ValueError, sizeof(__pyx_k_Depth_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Depth_ValueError */
  {__pyx_k_Device_code_formats, sizeof(__pyx_k_Device_code_formats), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Device_code_formats */
  {__pyx_k_Device_properties, sizeof(__pyx_k_Device_properties), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Device_properties */
  {__pyx_k_EGLImageKHR, sizeof(__pyx_k_EGLImageKHR), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_EGLImageKHR */
  {__pyx_k_EGLImageKHR_2, sizeof(__pyx_k_EGLImageKHR_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLImageKHR_2 */
  {__pyx_k_EGLImageKHR___reduce_cython, sizeof(__pyx_k_EGLImageKHR___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLImageKHR___reduce_cython */
  {__pyx_k_EGLImageKHR___setstate_cython, sizeof(__pyx_k_EGLImageKHR___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLImageKHR___setstate_cython */
  {__pyx_k_EGLImageKHR_getPtr, sizeof(__pyx_k_EGLImageKHR_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLImageKHR_getPtr */
  {__pyx_k_EGLImageKHR_getter, sizeof(__pyx_k_EGLImageKHR_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLImageKHR_getter */
  {__pyx_k_EGLStreamKHR, sizeof(__pyx_k_EGLStreamKHR), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_EGLStreamKHR */
  {__pyx_k_EGLStreamKHR_2, sizeof(__pyx_k_EGLStreamKHR_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLStreamKHR_2 */
  {__pyx_k_EGLStreamKHR___reduce_cython, sizeof(__pyx_k_EGLStreamKHR___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLStreamKHR___reduce_cython */
  {__pyx_k_EGLStreamKHR___setstate_cython, sizeof(__pyx_k_EGLStreamKHR___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLStreamKHR___setstate_cython */
  {__pyx_k_EGLStreamKHR_getPtr, sizeof(__pyx_k_EGLStreamKHR_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLStreamKHR_getPtr */
  {__pyx_k_EGLStreamKHR_getter, sizeof(__pyx_k_EGLStreamKHR_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLStreamKHR_getter */
  {__pyx_k_EGLSyncKHR, sizeof(__pyx_k_EGLSyncKHR), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_EGLSyncKHR */
  {__pyx_k_EGLSyncKHR_2, sizeof(__pyx_k_EGLSyncKHR_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLSyncKHR_2 */
  {__pyx_k_EGLSyncKHR___reduce_cython, sizeof(__pyx_k_EGLSyncKHR___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLSyncKHR___reduce_cython */
  {__pyx_k_EGLSyncKHR___setstate_cython, sizeof(__pyx_k_EGLSyncKHR___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLSyncKHR___setstate_cython */
  {__pyx_k_EGLSyncKHR_getPtr, sizeof(__pyx_k_EGLSyncKHR_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLSyncKHR_getPtr */
  {__pyx_k_EGLSyncKHR_getter, sizeof(__pyx_k_EGLSyncKHR_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLSyncKHR_getter */
  {__pyx_k_EGLint, sizeof(__pyx_k_EGLint), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_EGLint */
  {__pyx_k_EGLint_2, sizeof(__pyx_k_EGLint_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLint_2 */
  {__pyx_k_EGLint___reduce_cython, sizeof(__pyx_k_EGLint___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLint___reduce_cython */
  {__pyx_k_EGLint___setstate_cython, sizeof(__pyx_k_EGLint___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLint___setstate_cython */
  {__pyx_k_EGLint_getPtr, sizeof(__pyx_k_EGLint_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_EGLint_getPtr */
  {__pyx_k_ElementSizeBytes, sizeof(__pyx_k_ElementSizeBytes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ElementSizeBytes */
  {__pyx_k_Enum, sizeof(__pyx_k_Enum), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Enum */
  {__pyx_k_Enum_2, sizeof(__pyx_k_Enum_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Enum_2 */
  {__pyx_k_Error_codes, sizeof(__pyx_k_Error_codes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Error_codes */
  {__pyx_k_Event_creation_flags, sizeof(__pyx_k_Event_creation_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Event_creation_flags */
  {__pyx_k_Event_record_flags, sizeof(__pyx_k_Event_record_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Event_record_flags */
  {__pyx_k_Event_sched_flags, sizeof(__pyx_k_Event_sched_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Event_sched_flags */
  {__pyx_k_Event_wait_flags, sizeof(__pyx_k_Event_wait_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Event_wait_flags */
  {__pyx_k_Execution_Affinity_Types, sizeof(__pyx_k_Execution_Affinity_Types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Execution_Affinity_Types */
  {__pyx_k_External_memory_handle_types, sizeof(__pyx_k_External_memory_handle_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_External_memory_handle_types */
  {__pyx_k_External_semaphore_handle_types, sizeof(__pyx_k_External_semaphore_handle_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_External_semaphore_handle_types */
  {__pyx_k_Failed_to_allocate_length_x_size, sizeof(__pyx_k_Failed_to_allocate_length_x_size), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Failed_to_allocate_length_x_size */
  {__pyx_k_Failed_to_allocated_length_x_siz, sizeof(__pyx_k_Failed_to_allocated_length_x_siz), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Failed_to_allocated_length_x_siz */
  {__pyx_k_Failed_to_retrieve_buffer_throug, sizeof(__pyx_k_Failed_to_retrieve_buffer_throug), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Failed_to_retrieve_buffer_throug */
  {__pyx_k_Flag_for_requesting_different_o, sizeof(__pyx_k_Flag_for_requesting_different_o), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flag_for_requesting_different_o */
  {__pyx_k_Flag_for_requesting_handle_type, sizeof(__pyx_k_Flag_for_requesting_handle_type), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flag_for_requesting_handle_type */
  {__pyx_k_Flags, sizeof(__pyx_k_Flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags */
  {__pyx_k_Flags_2, sizeof(__pyx_k_Flags_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Flags_2 */
  {__pyx_k_Flags_ValueError, sizeof(__pyx_k_Flags_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_ValueError */
  {__pyx_k_Flags_for_choosing_a_coredump_a, sizeof(__pyx_k_Flags_for_choosing_a_coredump_a), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_choosing_a_coredump_a */
  {__pyx_k_Flags_for_controlling_coredump, sizeof(__pyx_k_Flags_for_controlling_coredump), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_controlling_coredump */
  {__pyx_k_Flags_for_instantiating_a_graph, sizeof(__pyx_k_Flags_for_instantiating_a_graph), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_instantiating_a_graph */
  {__pyx_k_Flags_for_mapping_and_unmapping, sizeof(__pyx_k_Flags_for_mapping_and_unmapping), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_mapping_and_unmapping */
  {__pyx_k_Flags_for_py_obj_CUstreamBatchM, sizeof(__pyx_k_Flags_for_py_obj_CUstreamBatchM), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_py_obj_CUstreamBatchM */
  {__pyx_k_Flags_for_py_obj_cuStreamUpdate, sizeof(__pyx_k_Flags_for_py_obj_cuStreamUpdate), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_py_obj_cuStreamUpdate */
  {__pyx_k_Flags_for_py_obj_cuStreamWaitVa, sizeof(__pyx_k_Flags_for_py_obj_cuStreamWaitVa), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_py_obj_cuStreamWaitVa */
  {__pyx_k_Flags_for_py_obj_cuStreamWriteV, sizeof(__pyx_k_Flags_for_py_obj_cuStreamWriteV), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_py_obj_cuStreamWriteV */
  {__pyx_k_Flags_for_querying_different_gr, sizeof(__pyx_k_Flags_for_querying_different_gr), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_querying_different_gr */
  {__pyx_k_Flags_for_retaining_user_object, sizeof(__pyx_k_Flags_for_retaining_user_object), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_retaining_user_object */
  {__pyx_k_Flags_for_specifying_particular, sizeof(__pyx_k_Flags_for_specifying_particular), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_specifying_particular */
  {__pyx_k_Flags_for_user_objects_for_grap, sizeof(__pyx_k_Flags_for_user_objects_for_grap), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_for_user_objects_for_grap */
  {__pyx_k_Flags_to_indicate_search_status, sizeof(__pyx_k_Flags_to_indicate_search_status), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_to_indicate_search_status */
  {__pyx_k_Flags_to_map_or_unmap_a_resourc, sizeof(__pyx_k_Flags_to_map_or_unmap_a_resourc), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_to_map_or_unmap_a_resourc */
  {__pyx_k_Flags_to_register_a_graphics_re, sizeof(__pyx_k_Flags_to_register_a_graphics_re), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_to_register_a_graphics_re */
  {__pyx_k_Flags_to_specify_for_copies_wit, sizeof(__pyx_k_Flags_to_specify_for_copies_wit), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_to_specify_for_copies_wit */
  {__pyx_k_Flags_to_specify_search_options, sizeof(__pyx_k_Flags_to_specify_search_options), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Flags_to_specify_search_options */
  {__pyx_k_Format, sizeof(__pyx_k_Format), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Format */
  {__pyx_k_Format_2, sizeof(__pyx_k_Format_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Format_2 */
  {__pyx_k_Format_ValueError, sizeof(__pyx_k_Format_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Format_ValueError */
  {__pyx_k_Function_cache_configurations, sizeof(__pyx_k_Function_cache_configurations), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Function_cache_configurations */
  {__pyx_k_Function_properties, sizeof(__pyx_k_Function_properties), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Function_properties */
  {__pyx_k_GLenum, sizeof(__pyx_k_GLenum), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_GLenum */
  {__pyx_k_GLenum_2, sizeof(__pyx_k_GLenum_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_GLenum_2 */
  {__pyx_k_GLenum___reduce_cython, sizeof(__pyx_k_GLenum___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_GLenum___reduce_cython */
  {__pyx_k_GLenum___setstate_cython, sizeof(__pyx_k_GLenum___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_GLenum___setstate_cython */
  {__pyx_k_GLenum_getPtr, sizeof(__pyx_k_GLenum_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_GLenum_getPtr */
  {__pyx_k_GLuint, sizeof(__pyx_k_GLuint), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_GLuint */
  {__pyx_k_GLuint_2, sizeof(__pyx_k_GLuint_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_GLuint_2 */
  {__pyx_k_GLuint___reduce_cython, sizeof(__pyx_k_GLuint___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_GLuint___reduce_cython */
  {__pyx_k_GLuint___setstate_cython, sizeof(__pyx_k_GLuint___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_GLuint___setstate_cython */
  {__pyx_k_GLuint_getPtr, sizeof(__pyx_k_GLuint_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_GLuint_getPtr */
  {__pyx_k_Graph_instantiation_results, sizeof(__pyx_k_Graph_instantiation_results), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Graph_instantiation_results */
  {__pyx_k_Graph_node_types, sizeof(__pyx_k_Graph_node_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Graph_node_types */
  {__pyx_k_Height, sizeof(__pyx_k_Height), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Height */
  {__pyx_k_Height_2, sizeof(__pyx_k_Height_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Height_2 */
  {__pyx_k_Height_ValueError, sizeof(__pyx_k_Height_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Height_ValueError */
  {__pyx_k_HelperCUcoredumpSettings, sizeof(__pyx_k_HelperCUcoredumpSettings), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUcoredumpSettings */
  {__pyx_k_HelperCUcoredumpSettings___redu, sizeof(__pyx_k_HelperCUcoredumpSettings___redu), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUcoredumpSettings___redu */
  {__pyx_k_HelperCUcoredumpSettings___sets, sizeof(__pyx_k_HelperCUcoredumpSettings___sets), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUcoredumpSettings___sets */
  {__pyx_k_HelperCUcoredumpSettings_pyObj, sizeof(__pyx_k_HelperCUcoredumpSettings_pyObj), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUcoredumpSettings_pyObj */
  {__pyx_k_HelperCUcoredumpSettings_size, sizeof(__pyx_k_HelperCUcoredumpSettings_size), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUcoredumpSettings_size */
  {__pyx_k_HelperCUgraphMem_attribute, sizeof(__pyx_k_HelperCUgraphMem_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUgraphMem_attribute */
  {__pyx_k_HelperCUgraphMem_attribute___re, sizeof(__pyx_k_HelperCUgraphMem_attribute___re), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUgraphMem_attribute___re */
  {__pyx_k_HelperCUgraphMem_attribute___se, sizeof(__pyx_k_HelperCUgraphMem_attribute___se), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUgraphMem_attribute___se */
  {__pyx_k_HelperCUgraphMem_attribute_pyOb, sizeof(__pyx_k_HelperCUgraphMem_attribute_pyOb), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUgraphMem_attribute_pyOb */
  {__pyx_k_HelperCUjit_option, sizeof(__pyx_k_HelperCUjit_option), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUjit_option */
  {__pyx_k_HelperCUjit_option___reduce_cyt, sizeof(__pyx_k_HelperCUjit_option___reduce_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUjit_option___reduce_cyt */
  {__pyx_k_HelperCUjit_option___setstate_c, sizeof(__pyx_k_HelperCUjit_option___setstate_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUjit_option___setstate_c */
  {__pyx_k_HelperCUlibraryOption, sizeof(__pyx_k_HelperCUlibraryOption), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUlibraryOption */
  {__pyx_k_HelperCUlibraryOption___reduce, sizeof(__pyx_k_HelperCUlibraryOption___reduce), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUlibraryOption___reduce */
  {__pyx_k_HelperCUlibraryOption___setstat, sizeof(__pyx_k_HelperCUlibraryOption___setstat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUlibraryOption___setstat */
  {__pyx_k_HelperCUmemAllocationHandleType, sizeof(__pyx_k_HelperCUmemAllocationHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmemAllocationHandleType */
  {__pyx_k_HelperCUmemAllocationHandleType_2, sizeof(__pyx_k_HelperCUmemAllocationHandleType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmemAllocationHandleType_2 */
  {__pyx_k_HelperCUmemAllocationHandleType_3, sizeof(__pyx_k_HelperCUmemAllocationHandleType_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmemAllocationHandleType_3 */
  {__pyx_k_HelperCUmemAllocationHandleType_4, sizeof(__pyx_k_HelperCUmemAllocationHandleType_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmemAllocationHandleType_4 */
  {__pyx_k_HelperCUmemPool_attribute, sizeof(__pyx_k_HelperCUmemPool_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmemPool_attribute */
  {__pyx_k_HelperCUmemPool_attribute___red, sizeof(__pyx_k_HelperCUmemPool_attribute___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmemPool_attribute___red */
  {__pyx_k_HelperCUmemPool_attribute___set, sizeof(__pyx_k_HelperCUmemPool_attribute___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmemPool_attribute___set */
  {__pyx_k_HelperCUmemPool_attribute_pyObj, sizeof(__pyx_k_HelperCUmemPool_attribute_pyObj), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmemPool_attribute_pyObj */
  {__pyx_k_HelperCUmem_range_attribute, sizeof(__pyx_k_HelperCUmem_range_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmem_range_attribute */
  {__pyx_k_HelperCUmem_range_attribute___r, sizeof(__pyx_k_HelperCUmem_range_attribute___r), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmem_range_attribute___r */
  {__pyx_k_HelperCUmem_range_attribute___s, sizeof(__pyx_k_HelperCUmem_range_attribute___s), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmem_range_attribute___s */
  {__pyx_k_HelperCUmem_range_attribute_pyO, sizeof(__pyx_k_HelperCUmem_range_attribute_pyO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUmem_range_attribute_pyO */
  {__pyx_k_HelperCUpointer_attribute, sizeof(__pyx_k_HelperCUpointer_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUpointer_attribute */
  {__pyx_k_HelperCUpointer_attribute___red, sizeof(__pyx_k_HelperCUpointer_attribute___red), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUpointer_attribute___red */
  {__pyx_k_HelperCUpointer_attribute___set, sizeof(__pyx_k_HelperCUpointer_attribute___set), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUpointer_attribute___set */
  {__pyx_k_HelperCUpointer_attribute_pyObj, sizeof(__pyx_k_HelperCUpointer_attribute_pyObj), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCUpointer_attribute_pyObj */
  {__pyx_k_HelperCudaJitOption, sizeof(__pyx_k_HelperCudaJitOption), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCudaJitOption */
  {__pyx_k_HelperCudaJitOption___reduce_cy, sizeof(__pyx_k_HelperCudaJitOption___reduce_cy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCudaJitOption___reduce_cy */
  {__pyx_k_HelperCudaJitOption___setstate, sizeof(__pyx_k_HelperCudaJitOption___setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCudaJitOption___setstate */
  {__pyx_k_HelperCudaLibraryOption, sizeof(__pyx_k_HelperCudaLibraryOption), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCudaLibraryOption */
  {__pyx_k_HelperCudaLibraryOption___reduc, sizeof(__pyx_k_HelperCudaLibraryOption___reduc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCudaLibraryOption___reduc */
  {__pyx_k_HelperCudaLibraryOption___setst, sizeof(__pyx_k_HelperCudaLibraryOption___setst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperCudaLibraryOption___setst */
  {__pyx_k_HelperInputVoidPtr, sizeof(__pyx_k_HelperInputVoidPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperInputVoidPtr */
  {__pyx_k_HelperInputVoidPtr___reduce_cyt, sizeof(__pyx_k_HelperInputVoidPtr___reduce_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperInputVoidPtr___reduce_cyt */
  {__pyx_k_HelperInputVoidPtr___setstate_c, sizeof(__pyx_k_HelperInputVoidPtr___setstate_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperInputVoidPtr___setstate_c */
  {__pyx_k_HelperKernelParams, sizeof(__pyx_k_HelperKernelParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperKernelParams */
  {__pyx_k_HelperKernelParams___reduce_cyt, sizeof(__pyx_k_HelperKernelParams___reduce_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperKernelParams___reduce_cyt */
  {__pyx_k_HelperKernelParams___setstate_c, sizeof(__pyx_k_HelperKernelParams___setstate_c), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperKernelParams___setstate_c */
  {__pyx_k_HelperKernelParams_lambda, sizeof(__pyx_k_HelperKernelParams_lambda), 0, 1, 1}, /* PyObject cname: __pyx_n_u_HelperKernelParams_lambda */
  {__pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 1, 1}, /* PyObject cname: __pyx_n_u_IndexError */
  {__pyx_k_InputVoidPtrPtrHelper, sizeof(__pyx_k_InputVoidPtrPtrHelper), 0, 1, 1}, /* PyObject cname: __pyx_n_u_InputVoidPtrPtrHelper */
  {__pyx_k_InputVoidPtrPtrHelper___reduce, sizeof(__pyx_k_InputVoidPtrPtrHelper___reduce), 0, 1, 1}, /* PyObject cname: __pyx_n_u_InputVoidPtrPtrHelper___reduce */
  {__pyx_k_InputVoidPtrPtrHelper___setstat, sizeof(__pyx_k_InputVoidPtrPtrHelper___setstat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_InputVoidPtrPtrHelper___setstat */
  {__pyx_k_IntEnum, sizeof(__pyx_k_IntEnum), 0, 1, 1}, /* PyObject cname: __pyx_n_u_IntEnum */
  {__pyx_k_Launch_attributes_enum_used_as, sizeof(__pyx_k_Launch_attributes_enum_used_as), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Launch_attributes_enum_used_as */
  {__pyx_k_Library_options_to_be_specified, sizeof(__pyx_k_Library_options_to_be_specified), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Library_options_to_be_specified */
  {__pyx_k_Limits, sizeof(__pyx_k_Limits), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Limits */
  {__pyx_k_List_is_too_small, sizeof(__pyx_k_List_is_too_small), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_List_is_too_small */
  {__pyx_k_MAX_PLANES, sizeof(__pyx_k_MAX_PLANES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_MAX_PLANES */
  {__pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 1, 1}, /* PyObject cname: __pyx_n_u_MemoryError */
  {__pyx_k_Memory_Synchronization_Domain_A, sizeof(__pyx_k_Memory_Synchronization_Domain_A), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Memory_Synchronization_Domain_A */
  {__pyx_k_Memory_advise_values, sizeof(__pyx_k_Memory_advise_values), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Memory_advise_values */
  {__pyx_k_Memory_handle_types, sizeof(__pyx_k_Memory_handle_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Memory_handle_types */
  {__pyx_k_Memory_operation_types, sizeof(__pyx_k_Memory_operation_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Memory_operation_types */
  {__pyx_k_Memory_types, sizeof(__pyx_k_Memory_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Memory_types */
  {__pyx_k_N, sizeof(__pyx_k_N), 0, 1, 1}, /* PyObject cname: __pyx_n_u_N */
  {__pyx_k_NVCL_CTX_SCHED_AUTO, sizeof(__pyx_k_NVCL_CTX_SCHED_AUTO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NVCL_CTX_SCHED_AUTO */
  {__pyx_k_NVCL_CTX_SCHED_BLOCKING_SYNC, sizeof(__pyx_k_NVCL_CTX_SCHED_BLOCKING_SYNC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NVCL_CTX_SCHED_BLOCKING_SYNC */
  {__pyx_k_NVCL_CTX_SCHED_SPIN, sizeof(__pyx_k_NVCL_CTX_SCHED_SPIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NVCL_CTX_SCHED_SPIN */
  {__pyx_k_NVCL_CTX_SCHED_YIELD, sizeof(__pyx_k_NVCL_CTX_SCHED_YIELD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NVCL_CTX_SCHED_YIELD */
  {__pyx_k_NVCL_EVENT_SCHED_AUTO, sizeof(__pyx_k_NVCL_EVENT_SCHED_AUTO), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NVCL_EVENT_SCHED_AUTO */
  {__pyx_k_NVCL_EVENT_SCHED_BLOCKING_SYNC, sizeof(__pyx_k_NVCL_EVENT_SCHED_BLOCKING_SYNC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NVCL_EVENT_SCHED_BLOCKING_SYNC */
  {__pyx_k_NVCL_EVENT_SCHED_SPIN, sizeof(__pyx_k_NVCL_EVENT_SCHED_SPIN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NVCL_EVENT_SCHED_SPIN */
  {__pyx_k_NVCL_EVENT_SCHED_YIELD, sizeof(__pyx_k_NVCL_EVENT_SCHED_YIELD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NVCL_EVENT_SCHED_YIELD */
  {__pyx_k_NVCL_context_scheduling_flags, sizeof(__pyx_k_NVCL_context_scheduling_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_NVCL_context_scheduling_flags */
  {__pyx_k_NVCL_event_scheduling_flags, sizeof(__pyx_k_NVCL_event_scheduling_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_NVCL_event_scheduling_flags */
  {__pyx_k_Note_that_Cython_is_deliberately, sizeof(__pyx_k_Note_that_Cython_is_deliberately), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Note_that_Cython_is_deliberately */
  {__pyx_k_NumChannels, sizeof(__pyx_k_NumChannels), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_NumChannels */
  {__pyx_k_NumChannels_2, sizeof(__pyx_k_NumChannels_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NumChannels_2 */
  {__pyx_k_NumChannels_ValueError, sizeof(__pyx_k_NumChannels_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_NumChannels_ValueError */
  {__pyx_k_NumPackedComponents, sizeof(__pyx_k_NumPackedComponents), 0, 1, 1}, /* PyObject cname: __pyx_n_u_NumPackedComponents */
  {__pyx_k_Occupancy_calculator_flag, sizeof(__pyx_k_Occupancy_calculator_flag), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Occupancy_calculator_flag */
  {__pyx_k_Online_compilation_targets, sizeof(__pyx_k_Online_compilation_targets), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Online_compilation_targets */
  {__pyx_k_Online_compiler_and_linker_opti, sizeof(__pyx_k_Online_compiler_and_linker_opti), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Online_compiler_and_linker_opti */
  {__pyx_k_Operations_for_py_obj_cuStreamB, sizeof(__pyx_k_Operations_for_py_obj_cuStreamB), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Operations_for_py_obj_cuStreamB */
  {__pyx_k_Optional, sizeof(__pyx_k_Optional), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Optional */
  {__pyx_k_Optional_CUDA_ARRAY3D_DESCRIPTOR, sizeof(__pyx_k_Optional_CUDA_ARRAY3D_DESCRIPTOR), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_ARRAY3D_DESCRIPTOR */
  {__pyx_k_Optional_CUDA_ARRAY_DESCRIPTOR, sizeof(__pyx_k_Optional_CUDA_ARRAY_DESCRIPTOR), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_ARRAY_DESCRIPTOR */
  {__pyx_k_Optional_CUDA_BATCH_MEM_OP_NODE, sizeof(__pyx_k_Optional_CUDA_BATCH_MEM_OP_NODE), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_BATCH_MEM_OP_NODE */
  {__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_BU, sizeof(__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_BU), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_BU */
  {__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_HA, sizeof(__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_HA), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_HA */
  {__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_MI, sizeof(__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_MI), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_MI */
  {__pyx_k_Optional_CUDA_EXTERNAL_SEMAPHORE, sizeof(__pyx_k_Optional_CUDA_EXTERNAL_SEMAPHORE), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_EXTERNAL_SEMAPHORE */
  {__pyx_k_Optional_CUDA_EXT_SEM_SIGNAL_NOD, sizeof(__pyx_k_Optional_CUDA_EXT_SEM_SIGNAL_NOD), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_EXT_SEM_SIGNAL_NOD */
  {__pyx_k_Optional_CUDA_EXT_SEM_WAIT_NODE, sizeof(__pyx_k_Optional_CUDA_EXT_SEM_WAIT_NODE), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_EXT_SEM_WAIT_NODE */
  {__pyx_k_Optional_CUDA_GRAPH_INSTANTIATE, sizeof(__pyx_k_Optional_CUDA_GRAPH_INSTANTIATE), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_GRAPH_INSTANTIATE */
  {__pyx_k_Optional_CUDA_HOST_NODE_PARAMS, sizeof(__pyx_k_Optional_CUDA_HOST_NODE_PARAMS), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_HOST_NODE_PARAMS */
  {__pyx_k_Optional_CUDA_KERNEL_NODE_PARAMS, sizeof(__pyx_k_Optional_CUDA_KERNEL_NODE_PARAMS), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_KERNEL_NODE_PARAMS */
  {__pyx_k_Optional_CUDA_MEMCPY2D, sizeof(__pyx_k_Optional_CUDA_MEMCPY2D), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_MEMCPY2D */
  {__pyx_k_Optional_CUDA_MEMCPY3D, sizeof(__pyx_k_Optional_CUDA_MEMCPY3D), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_MEMCPY3D */
  {__pyx_k_Optional_CUDA_MEMCPY3D_PEER, sizeof(__pyx_k_Optional_CUDA_MEMCPY3D_PEER), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_MEMCPY3D_PEER */
  {__pyx_k_Optional_CUDA_MEMSET_NODE_PARAMS, sizeof(__pyx_k_Optional_CUDA_MEMSET_NODE_PARAMS), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_MEMSET_NODE_PARAMS */
  {__pyx_k_Optional_CUDA_MEM_ALLOC_NODE_PAR, sizeof(__pyx_k_Optional_CUDA_MEM_ALLOC_NODE_PAR), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_MEM_ALLOC_NODE_PAR */
  {__pyx_k_Optional_CUDA_RESOURCE_DESC, sizeof(__pyx_k_Optional_CUDA_RESOURCE_DESC), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_RESOURCE_DESC */
  {__pyx_k_Optional_CUDA_RESOURCE_VIEW_DESC, sizeof(__pyx_k_Optional_CUDA_RESOURCE_VIEW_DESC), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_RESOURCE_VIEW_DESC */
  {__pyx_k_Optional_CUDA_TEXTURE_DESC, sizeof(__pyx_k_Optional_CUDA_TEXTURE_DESC), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUDA_TEXTURE_DESC */
  {__pyx_k_Optional_CUcheckpointCheckpointA, sizeof(__pyx_k_Optional_CUcheckpointCheckpointA), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUcheckpointCheckpointA */
  {__pyx_k_Optional_CUcheckpointLockArgs, sizeof(__pyx_k_Optional_CUcheckpointLockArgs), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUcheckpointLockArgs */
  {__pyx_k_Optional_CUcheckpointRestoreArgs, sizeof(__pyx_k_Optional_CUcheckpointRestoreArgs), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUcheckpointRestoreArgs */
  {__pyx_k_Optional_CUcheckpointUnlockArgs, sizeof(__pyx_k_Optional_CUcheckpointUnlockArgs), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUcheckpointUnlockArgs */
  {__pyx_k_Optional_CUctxCreateParams, sizeof(__pyx_k_Optional_CUctxCreateParams), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUctxCreateParams */
  {__pyx_k_Optional_CUdevResource, sizeof(__pyx_k_Optional_CUdevResource), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUdevResource */
  {__pyx_k_Optional_CUeglFrame, sizeof(__pyx_k_Optional_CUeglFrame), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUeglFrame */
  {__pyx_k_Optional_CUgraphNodeParams, sizeof(__pyx_k_Optional_CUgraphNodeParams), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUgraphNodeParams */
  {__pyx_k_Optional_CUkernelNodeAttrValue, sizeof(__pyx_k_Optional_CUkernelNodeAttrValue), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUkernelNodeAttrValue */
  {__pyx_k_Optional_CUlaunchConfig, sizeof(__pyx_k_Optional_CUlaunchConfig), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUlaunchConfig */
  {__pyx_k_Optional_CUlogIterator, sizeof(__pyx_k_Optional_CUlogIterator), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUlogIterator */
  {__pyx_k_Optional_CUmemAllocationProp, sizeof(__pyx_k_Optional_CUmemAllocationProp), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUmemAllocationProp */
  {__pyx_k_Optional_CUmemDecompressParams, sizeof(__pyx_k_Optional_CUmemDecompressParams), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUmemDecompressParams */
  {__pyx_k_Optional_CUmemLocation, sizeof(__pyx_k_Optional_CUmemLocation), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUmemLocation */
  {__pyx_k_Optional_CUmemPoolProps, sizeof(__pyx_k_Optional_CUmemPoolProps), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUmemPoolProps */
  {__pyx_k_Optional_CUmemPoolPtrExportData, sizeof(__pyx_k_Optional_CUmemPoolPtrExportData), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUmemPoolPtrExportData */
  {__pyx_k_Optional_CUmulticastObjectProp, sizeof(__pyx_k_Optional_CUmulticastObjectProp), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUmulticastObjectProp */
  {__pyx_k_Optional_CUstreamAttrValue, sizeof(__pyx_k_Optional_CUstreamAttrValue), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUstreamAttrValue */
  {__pyx_k_Optional_CUtensorMap, sizeof(__pyx_k_Optional_CUtensorMap), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUtensorMap */
  {__pyx_k_Optional_CUuuid, sizeof(__pyx_k_Optional_CUuuid), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_CUuuid */
  {__pyx_k_Optional_tuple_Any_list_Any, sizeof(__pyx_k_Optional_tuple_Any_list_Any), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_Any_list_Any */
  {__pyx_k_Optional_tuple_CUDA_EXTERNAL_SEM, sizeof(__pyx_k_Optional_tuple_CUDA_EXTERNAL_SEM), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUDA_EXTERNAL_SEM */
  {__pyx_k_Optional_tuple_CUDA_EXTERNAL_SEM_2, sizeof(__pyx_k_Optional_tuple_CUDA_EXTERNAL_SEM_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUDA_EXTERNAL_SEM_2 */
  {__pyx_k_Optional_tuple_CUDA_LAUNCH_PARAM, sizeof(__pyx_k_Optional_tuple_CUDA_LAUNCH_PARAM), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUDA_LAUNCH_PARAM */
  {__pyx_k_Optional_tuple_CUDA_MEMCPY3D_BAT, sizeof(__pyx_k_Optional_tuple_CUDA_MEMCPY3D_BAT), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUDA_MEMCPY3D_BAT */
  {__pyx_k_Optional_tuple_CUarrayMapInfo_li, sizeof(__pyx_k_Optional_tuple_CUarrayMapInfo_li), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUarrayMapInfo_li */
  {__pyx_k_Optional_tuple_CUdevResource_lis, sizeof(__pyx_k_Optional_tuple_CUdevResource_lis), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUdevResource_lis */
  {__pyx_k_Optional_tuple_CUdeviceptr_list, sizeof(__pyx_k_Optional_tuple_CUdeviceptr_list), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUdeviceptr_list */
  {__pyx_k_Optional_tuple_CUexecAffinityPar, sizeof(__pyx_k_Optional_tuple_CUexecAffinityPar), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUexecAffinityPar */
  {__pyx_k_Optional_tuple_CUexternalSemapho, sizeof(__pyx_k_Optional_tuple_CUexternalSemapho), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUexternalSemapho */
  {__pyx_k_Optional_tuple_CUgraphEdgeData_l, sizeof(__pyx_k_Optional_tuple_CUgraphEdgeData_l), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUgraphEdgeData_l */
  {__pyx_k_Optional_tuple_CUgraphNode_list, sizeof(__pyx_k_Optional_tuple_CUgraphNode_list), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUgraphNode_list */
  {__pyx_k_Optional_tuple_CUjit_option_list, sizeof(__pyx_k_Optional_tuple_CUjit_option_list), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUjit_option_list */
  {__pyx_k_Optional_tuple_CUlibraryOption_l, sizeof(__pyx_k_Optional_tuple_CUlibraryOption_l), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUlibraryOption_l */
  {__pyx_k_Optional_tuple_CUmemAccessDesc_l, sizeof(__pyx_k_Optional_tuple_CUmemAccessDesc_l), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUmemAccessDesc_l */
  {__pyx_k_Optional_tuple_CUmem_range_attri, sizeof(__pyx_k_Optional_tuple_CUmem_range_attri), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUmem_range_attri */
  {__pyx_k_Optional_tuple_CUmemcpyAttribute, sizeof(__pyx_k_Optional_tuple_CUmemcpyAttribute), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUmemcpyAttribute */
  {__pyx_k_Optional_tuple_CUpointer_attribu, sizeof(__pyx_k_Optional_tuple_CUpointer_attribu), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUpointer_attribu */
  {__pyx_k_Optional_tuple_CUstreamBatchMemO, sizeof(__pyx_k_Optional_tuple_CUstreamBatchMemO), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_CUstreamBatchMemO */
  {__pyx_k_Optional_tuple_cuuint32_t_list_c, sizeof(__pyx_k_Optional_tuple_cuuint32_t_list_c), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_cuuint32_t_list_c */
  {__pyx_k_Optional_tuple_cuuint64_t_list_c, sizeof(__pyx_k_Optional_tuple_cuuint64_t_list_c), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_cuuint64_t_list_c */
  {__pyx_k_Optional_tuple_int_list_int, sizeof(__pyx_k_Optional_tuple_int_list_int), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Optional_tuple_int_list_int */
  {__pyx_k_OverflowError, sizeof(__pyx_k_OverflowError), 0, 1, 1}, /* PyObject cname: __pyx_n_u_OverflowError */
  {__pyx_k_P2P_Attributes, sizeof(__pyx_k_P2P_Attributes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_P2P_Attributes */
  {__pyx_k_Pitch, sizeof(__pyx_k_Pitch), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Pitch */
  {__pyx_k_Platform_native_ordering_for_GP, sizeof(__pyx_k_Platform_native_ordering_for_GP), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Platform_native_ordering_for_GP */
  {__pyx_k_Pointer_information, sizeof(__pyx_k_Pointer_information), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Pointer_information */
  {__pyx_k_Possible_modes_for_stream_captu, sizeof(__pyx_k_Possible_modes_for_stream_captu), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Possible_modes_for_stream_captu */
  {__pyx_k_Possible_stream_capture_statuse, sizeof(__pyx_k_Possible_stream_capture_statuse), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Possible_stream_capture_statuse */
  {__pyx_k_Profiler_Output_Modes, sizeof(__pyx_k_Profiler_Output_Modes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Profiler_Output_Modes */
  {__pyx_k_Provided_argument_is_of_type_but, sizeof(__pyx_k_Provided_argument_is_of_type_but), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Provided_argument_is_of_type_but */
  {__pyx_k_Provided_argument_is_of_type_but_2, sizeof(__pyx_k_Provided_argument_is_of_type_but_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Provided_argument_is_of_type_but_2 */
  {__pyx_k_RESOURCE_ABI_EXTERNAL_BYTES, sizeof(__pyx_k_RESOURCE_ABI_EXTERNAL_BYTES), 0, 1, 1}, /* PyObject cname: __pyx_n_u_RESOURCE_ABI_EXTERNAL_BYTES */
  {__pyx_k_RESOURCE_ABI_VERSION, sizeof(__pyx_k_RESOURCE_ABI_VERSION), 0, 1, 1}, /* PyObject cname: __pyx_n_u_RESOURCE_ABI_VERSION */
  {__pyx_k_Resource_location_flags_sysmem, sizeof(__pyx_k_Resource_location_flags_sysmem), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Resource_location_flags_sysmem */
  {__pyx_k_Resource_types, sizeof(__pyx_k_Resource_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Resource_types */
  {__pyx_k_Resource_view_format, sizeof(__pyx_k_Resource_view_format), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Resource_view_format */
  {__pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 1, 1}, /* PyObject cname: __pyx_n_u_RuntimeError */
  {__pyx_k_SIMDWidth, sizeof(__pyx_k_SIMDWidth), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_SIMDWidth */
  {__pyx_k_SIMDWidth_2, sizeof(__pyx_k_SIMDWidth_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_SIMDWidth_2 */
  {__pyx_k_SIMDWidth_ValueError, sizeof(__pyx_k_SIMDWidth_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_SIMDWidth_ValueError */
  {__pyx_k_Shared_memory_carveout_configur, sizeof(__pyx_k_Shared_memory_carveout_configur), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Shared_memory_carveout_configur */
  {__pyx_k_Sparse_subresource_types, sizeof(__pyx_k_Sparse_subresource_types), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Sparse_subresource_types */
  {__pyx_k_Specifies_compression_attribute, sizeof(__pyx_k_Specifies_compression_attribute), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Specifies_compression_attribute */
  {__pyx_k_Specifies_performance_hint_with, sizeof(__pyx_k_Specifies_performance_hint_with), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Specifies_performance_hint_with */
  {__pyx_k_Specifies_the_handle_type_for_a, sizeof(__pyx_k_Specifies_the_handle_type_for_a), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Specifies_the_handle_type_for_a */
  {__pyx_k_Specifies_the_memory_protection, sizeof(__pyx_k_Specifies_the_memory_protection), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Specifies_the_memory_protection */
  {__pyx_k_Specifies_the_type_of_location, sizeof(__pyx_k_Specifies_the_type_of_location), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Specifies_the_type_of_location */
  {__pyx_k_Stream_creation_flags, sizeof(__pyx_k_Stream_creation_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Stream_creation_flags */
  {__pyx_k_Structure, sizeof(__pyx_k_Structure), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Structure */
  {__pyx_k_Tensor_map_Im2Col_wide_mode, sizeof(__pyx_k_Tensor_map_Im2Col_wide_mode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Tensor_map_Im2Col_wide_mode */
  {__pyx_k_Tensor_map_L2_promotion_type, sizeof(__pyx_k_Tensor_map_L2_promotion_type), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Tensor_map_L2_promotion_type */
  {__pyx_k_Tensor_map_data_type, sizeof(__pyx_k_Tensor_map_data_type), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Tensor_map_data_type */
  {__pyx_k_Tensor_map_interleave_layout_ty, sizeof(__pyx_k_Tensor_map_interleave_layout_ty), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Tensor_map_interleave_layout_ty */
  {__pyx_k_Tensor_map_out_of_bounds_fill_t, sizeof(__pyx_k_Tensor_map_out_of_bounds_fill_t), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Tensor_map_out_of_bounds_fill_t */
  {__pyx_k_Tensor_map_swizzling_mode_of_sh, sizeof(__pyx_k_Tensor_map_swizzling_mode_of_sh), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Tensor_map_swizzling_mode_of_sh */
  {__pyx_k_Texture_reference_addressing_mo, sizeof(__pyx_k_Texture_reference_addressing_mo), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Texture_reference_addressing_mo */
  {__pyx_k_Texture_reference_filtering_mod, sizeof(__pyx_k_Texture_reference_filtering_mod), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Texture_reference_filtering_mod */
  {__pyx_k_The_additional_write_options_fo, sizeof(__pyx_k_The_additional_write_options_fo), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_The_additional_write_options_fo */
  {__pyx_k_The_scopes_for_py_obj_cuFlushGP, sizeof(__pyx_k_The_scopes_for_py_obj_cuFlushGP), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_The_scopes_for_py_obj_cuFlushGP */
  {__pyx_k_The_targets_for_py_obj_cuFlushG, sizeof(__pyx_k_The_targets_for_py_obj_cuFlushG), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_The_targets_for_py_obj_cuFlushG */
  {__pyx_k_These_flags_allow_applications, sizeof(__pyx_k_These_flags_allow_applications), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_These_flags_allow_applications */
  {__pyx_k_These_flags_allow_applications_2, sizeof(__pyx_k_These_flags_allow_applications_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_These_flags_allow_applications_2 */
  {__pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 1, 1}, /* PyObject cname: __pyx_n_u_TypeError */
  {__pyx_k_Type_annotations_that_can_be_ap, sizeof(__pyx_k_Type_annotations_that_can_be_ap), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Type_annotations_that_can_be_ap */
  {__pyx_k_Type_of_resource, sizeof(__pyx_k_Type_of_resource), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Type_of_resource */
  {__pyx_k_Types_of_async_notification_tha, sizeof(__pyx_k_Types_of_async_notification_tha), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Types_of_async_notification_tha */
  {__pyx_k_Unknown_type, sizeof(__pyx_k_Unknown_type), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Unknown_type */
  {__pyx_k_Unsupported_attribute, sizeof(__pyx_k_Unsupported_attribute), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Unsupported_attribute */
  {__pyx_k_Unsupported_attribute_value, sizeof(__pyx_k_Unsupported_attribute_value), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Unsupported_attribute_value */
  {__pyx_k_Unsupported_type, sizeof(__pyx_k_Unsupported_type), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Unsupported_type */
  {__pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ValueError */
  {__pyx_k_VdpDevice, sizeof(__pyx_k_VdpDevice), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_VdpDevice */
  {__pyx_k_VdpDevice_2, sizeof(__pyx_k_VdpDevice_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpDevice_2 */
  {__pyx_k_VdpDevice___reduce_cython, sizeof(__pyx_k_VdpDevice___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpDevice___reduce_cython */
  {__pyx_k_VdpDevice___setstate_cython, sizeof(__pyx_k_VdpDevice___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpDevice___setstate_cython */
  {__pyx_k_VdpDevice_getPtr, sizeof(__pyx_k_VdpDevice_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpDevice_getPtr */
  {__pyx_k_VdpGetProcAddress, sizeof(__pyx_k_VdpGetProcAddress), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_VdpGetProcAddress */
  {__pyx_k_VdpGetProcAddress_2, sizeof(__pyx_k_VdpGetProcAddress_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpGetProcAddress_2 */
  {__pyx_k_VdpGetProcAddress___reduce_cytho, sizeof(__pyx_k_VdpGetProcAddress___reduce_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpGetProcAddress___reduce_cytho */
  {__pyx_k_VdpGetProcAddress___setstate_cyt, sizeof(__pyx_k_VdpGetProcAddress___setstate_cyt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpGetProcAddress___setstate_cyt */
  {__pyx_k_VdpGetProcAddress_getPtr, sizeof(__pyx_k_VdpGetProcAddress_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpGetProcAddress_getPtr */
  {__pyx_k_VdpOutputSurface, sizeof(__pyx_k_VdpOutputSurface), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_VdpOutputSurface */
  {__pyx_k_VdpOutputSurface_2, sizeof(__pyx_k_VdpOutputSurface_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpOutputSurface_2 */
  {__pyx_k_VdpOutputSurface___reduce_cython, sizeof(__pyx_k_VdpOutputSurface___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpOutputSurface___reduce_cython */
  {__pyx_k_VdpOutputSurface___setstate_cyth, sizeof(__pyx_k_VdpOutputSurface___setstate_cyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpOutputSurface___setstate_cyth */
  {__pyx_k_VdpOutputSurface_getPtr, sizeof(__pyx_k_VdpOutputSurface_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpOutputSurface_getPtr */
  {__pyx_k_VdpVideoSurface, sizeof(__pyx_k_VdpVideoSurface), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_VdpVideoSurface */
  {__pyx_k_VdpVideoSurface_2, sizeof(__pyx_k_VdpVideoSurface_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpVideoSurface_2 */
  {__pyx_k_VdpVideoSurface___reduce_cython, sizeof(__pyx_k_VdpVideoSurface___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpVideoSurface___reduce_cython */
  {__pyx_k_VdpVideoSurface___setstate_cytho, sizeof(__pyx_k_VdpVideoSurface___setstate_cytho), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpVideoSurface___setstate_cytho */
  {__pyx_k_VdpVideoSurface_getPtr, sizeof(__pyx_k_VdpVideoSurface_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_VdpVideoSurface_getPtr */
  {__pyx_k_Width, sizeof(__pyx_k_Width), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Width */
  {__pyx_k_WidthInBytes, sizeof(__pyx_k_WidthInBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_WidthInBytes */
  {__pyx_k_WidthInBytes_2, sizeof(__pyx_k_WidthInBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_WidthInBytes_2 */
  {__pyx_k_WidthInBytes_ValueError, sizeof(__pyx_k_WidthInBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_WidthInBytes_ValueError */
  {__pyx_k_Width_2, sizeof(__pyx_k_Width_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_Width_2 */
  {__pyx_k_Width_ValueError, sizeof(__pyx_k_Width_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_Width_ValueError */
  {__pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u__2 */
  {__pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u__3 */
  {__pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0}, /* PyObject cname: __pyx_kp_u__4 */
  {__pyx_k__5, sizeof(__pyx_k__5), 0, 0, 0}, /* PyObject cname: __pyx_kp_b__5 */
  {__pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0}, /* PyObject cname: __pyx_kp_u__6 */
  {__pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0}, /* PyObject cname: __pyx_kp_u__7 */
  {__pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0}, /* PyObject cname: __pyx_kp_u__8 */
  {__pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0}, /* PyObject cname: __pyx_kp_u__9 */
  {__pyx_k_accessDescCount, sizeof(__pyx_k_accessDescCount), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_accessDescCount */
  {__pyx_k_accessDescCount_2, sizeof(__pyx_k_accessDescCount_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_accessDescCount_2 */
  {__pyx_k_accessDescCount_ValueError, sizeof(__pyx_k_accessDescCount_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_accessDescCount_ValueError */
  {__pyx_k_accessDescs, sizeof(__pyx_k_accessDescs), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_accessDescs */
  {__pyx_k_accessDescs_2, sizeof(__pyx_k_accessDescs_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_accessDescs_2 */
  {__pyx_k_accessDescs_ValueError, sizeof(__pyx_k_accessDescs_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_accessDescs_ValueError */
  {__pyx_k_accessPolicyWindow, sizeof(__pyx_k_accessPolicyWindow), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_accessPolicyWindow */
  {__pyx_k_accessPolicyWindow_2, sizeof(__pyx_k_accessPolicyWindow_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_accessPolicyWindow_2 */
  {__pyx_k_accessPolicyWindow_ValueError, sizeof(__pyx_k_accessPolicyWindow_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_accessPolicyWindow_ValueError */
  {__pyx_k_active, sizeof(__pyx_k_active), 0, 1, 1}, /* PyObject cname: __pyx_n_u_active */
  {__pyx_k_add_cuda_native_handle_getter, sizeof(__pyx_k_add_cuda_native_handle_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_cuda_native_handle_getter */
  {__pyx_k_add_native_handle_getters_local, sizeof(__pyx_k_add_native_handle_getters_local), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local */
  {__pyx_k_add_native_handle_getters_local_10, sizeof(__pyx_k_add_native_handle_getters_local_10), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_10 */
  {__pyx_k_add_native_handle_getters_local_11, sizeof(__pyx_k_add_native_handle_getters_local_11), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_11 */
  {__pyx_k_add_native_handle_getters_local_12, sizeof(__pyx_k_add_native_handle_getters_local_12), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_12 */
  {__pyx_k_add_native_handle_getters_local_13, sizeof(__pyx_k_add_native_handle_getters_local_13), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_13 */
  {__pyx_k_add_native_handle_getters_local_14, sizeof(__pyx_k_add_native_handle_getters_local_14), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_14 */
  {__pyx_k_add_native_handle_getters_local_15, sizeof(__pyx_k_add_native_handle_getters_local_15), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_15 */
  {__pyx_k_add_native_handle_getters_local_16, sizeof(__pyx_k_add_native_handle_getters_local_16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_16 */
  {__pyx_k_add_native_handle_getters_local_17, sizeof(__pyx_k_add_native_handle_getters_local_17), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_17 */
  {__pyx_k_add_native_handle_getters_local_18, sizeof(__pyx_k_add_native_handle_getters_local_18), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_18 */
  {__pyx_k_add_native_handle_getters_local_19, sizeof(__pyx_k_add_native_handle_getters_local_19), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_19 */
  {__pyx_k_add_native_handle_getters_local_2, sizeof(__pyx_k_add_native_handle_getters_local_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_2 */
  {__pyx_k_add_native_handle_getters_local_20, sizeof(__pyx_k_add_native_handle_getters_local_20), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_20 */
  {__pyx_k_add_native_handle_getters_local_21, sizeof(__pyx_k_add_native_handle_getters_local_21), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_21 */
  {__pyx_k_add_native_handle_getters_local_22, sizeof(__pyx_k_add_native_handle_getters_local_22), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_22 */
  {__pyx_k_add_native_handle_getters_local_23, sizeof(__pyx_k_add_native_handle_getters_local_23), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_23 */
  {__pyx_k_add_native_handle_getters_local_24, sizeof(__pyx_k_add_native_handle_getters_local_24), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_24 */
  {__pyx_k_add_native_handle_getters_local_25, sizeof(__pyx_k_add_native_handle_getters_local_25), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_25 */
  {__pyx_k_add_native_handle_getters_local_26, sizeof(__pyx_k_add_native_handle_getters_local_26), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_26 */
  {__pyx_k_add_native_handle_getters_local_27, sizeof(__pyx_k_add_native_handle_getters_local_27), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_27 */
  {__pyx_k_add_native_handle_getters_local_28, sizeof(__pyx_k_add_native_handle_getters_local_28), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_28 */
  {__pyx_k_add_native_handle_getters_local_29, sizeof(__pyx_k_add_native_handle_getters_local_29), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_29 */
  {__pyx_k_add_native_handle_getters_local_3, sizeof(__pyx_k_add_native_handle_getters_local_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_3 */
  {__pyx_k_add_native_handle_getters_local_4, sizeof(__pyx_k_add_native_handle_getters_local_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_4 */
  {__pyx_k_add_native_handle_getters_local_5, sizeof(__pyx_k_add_native_handle_getters_local_5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_5 */
  {__pyx_k_add_native_handle_getters_local_6, sizeof(__pyx_k_add_native_handle_getters_local_6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_6 */
  {__pyx_k_add_native_handle_getters_local_7, sizeof(__pyx_k_add_native_handle_getters_local_7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_7 */
  {__pyx_k_add_native_handle_getters_local_8, sizeof(__pyx_k_add_native_handle_getters_local_8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_8 */
  {__pyx_k_add_native_handle_getters_local_9, sizeof(__pyx_k_add_native_handle_getters_local_9), 0, 1, 1}, /* PyObject cname: __pyx_n_u_add_native_handle_getters_local_9 */
  {__pyx_k_add_note, sizeof(__pyx_k_add_note), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_add_note */
  {__pyx_k_addr, sizeof(__pyx_k_addr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_addr */
  {__pyx_k_address, sizeof(__pyx_k_address), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_address */
  {__pyx_k_addressMode, sizeof(__pyx_k_addressMode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_addressMode */
  {__pyx_k_addressMode_2, sizeof(__pyx_k_addressMode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_addressMode_2 */
  {__pyx_k_addressMode_ValueError, sizeof(__pyx_k_addressMode_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_addressMode_ValueError */
  {__pyx_k_address_2, sizeof(__pyx_k_address_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_address_2 */
  {__pyx_k_address_ValueError, sizeof(__pyx_k_address_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_address_ValueError */
  {__pyx_k_addressof, sizeof(__pyx_k_addressof), 0, 1, 1}, /* PyObject cname: __pyx_n_u_addressof */
  {__pyx_k_advice, sizeof(__pyx_k_advice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_advice */
  {__pyx_k_algo, sizeof(__pyx_k_algo), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_algo */
  {__pyx_k_algo_2, sizeof(__pyx_k_algo_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_algo_2 */
  {__pyx_k_algo_ValueError, sizeof(__pyx_k_algo_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_algo_ValueError */
  {__pyx_k_alias, sizeof(__pyx_k_alias), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_alias */
  {__pyx_k_alias_2, sizeof(__pyx_k_alias_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_alias_2 */
  {__pyx_k_alias_ValueError, sizeof(__pyx_k_alias_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_alias_ValueError */
  {__pyx_k_alignment, sizeof(__pyx_k_alignment), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_alignment */
  {__pyx_k_alignment_2, sizeof(__pyx_k_alignment_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_alignment_2 */
  {__pyx_k_alignment_ValueError, sizeof(__pyx_k_alignment_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_alignment_ValueError */
  {__pyx_k_alloc, sizeof(__pyx_k_alloc), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_alloc */
  {__pyx_k_allocFlags, sizeof(__pyx_k_allocFlags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_allocFlags */
  {__pyx_k_allocFlags_2, sizeof(__pyx_k_allocFlags_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_allocFlags_2 */
  {__pyx_k_allocFlags_ValueError, sizeof(__pyx_k_allocFlags_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_allocFlags_ValueError */
  {__pyx_k_allocType, sizeof(__pyx_k_allocType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_allocType */
  {__pyx_k_allocType_2, sizeof(__pyx_k_allocType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_allocType_2 */
  {__pyx_k_allocType_ValueError, sizeof(__pyx_k_allocType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_allocType_ValueError */
  {__pyx_k_alloc_2, sizeof(__pyx_k_alloc_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_alloc_2 */
  {__pyx_k_alloc_ValueError, sizeof(__pyx_k_alloc_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_alloc_ValueError */
  {__pyx_k_am, sizeof(__pyx_k_am), 0, 1, 1}, /* PyObject cname: __pyx_n_u_am */
  {__pyx_k_anon_struct0, sizeof(__pyx_k_anon_struct0), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct0 */
  {__pyx_k_anon_struct0___reduce_cython, sizeof(__pyx_k_anon_struct0___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct0___reduce_cython */
  {__pyx_k_anon_struct0___setstate_cython, sizeof(__pyx_k_anon_struct0___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct0___setstate_cython */
  {__pyx_k_anon_struct0_getPtr, sizeof(__pyx_k_anon_struct0_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct0_getPtr */
  {__pyx_k_anon_struct1, sizeof(__pyx_k_anon_struct1), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct1 */
  {__pyx_k_anon_struct10, sizeof(__pyx_k_anon_struct10), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct10 */
  {__pyx_k_anon_struct10___reduce_cython, sizeof(__pyx_k_anon_struct10___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct10___reduce_cython */
  {__pyx_k_anon_struct10___setstate_cython, sizeof(__pyx_k_anon_struct10___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct10___setstate_cython */
  {__pyx_k_anon_struct10_getPtr, sizeof(__pyx_k_anon_struct10_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct10_getPtr */
  {__pyx_k_anon_struct11, sizeof(__pyx_k_anon_struct11), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct11 */
  {__pyx_k_anon_struct11___reduce_cython, sizeof(__pyx_k_anon_struct11___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct11___reduce_cython */
  {__pyx_k_anon_struct11___setstate_cython, sizeof(__pyx_k_anon_struct11___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct11___setstate_cython */
  {__pyx_k_anon_struct11_getPtr, sizeof(__pyx_k_anon_struct11_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct11_getPtr */
  {__pyx_k_anon_struct12, sizeof(__pyx_k_anon_struct12), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct12 */
  {__pyx_k_anon_struct12___reduce_cython, sizeof(__pyx_k_anon_struct12___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct12___reduce_cython */
  {__pyx_k_anon_struct12___setstate_cython, sizeof(__pyx_k_anon_struct12___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct12___setstate_cython */
  {__pyx_k_anon_struct12_getPtr, sizeof(__pyx_k_anon_struct12_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct12_getPtr */
  {__pyx_k_anon_struct13, sizeof(__pyx_k_anon_struct13), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct13 */
  {__pyx_k_anon_struct13___reduce_cython, sizeof(__pyx_k_anon_struct13___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct13___reduce_cython */
  {__pyx_k_anon_struct13___setstate_cython, sizeof(__pyx_k_anon_struct13___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct13___setstate_cython */
  {__pyx_k_anon_struct13_getPtr, sizeof(__pyx_k_anon_struct13_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct13_getPtr */
  {__pyx_k_anon_struct14, sizeof(__pyx_k_anon_struct14), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct14 */
  {__pyx_k_anon_struct14___reduce_cython, sizeof(__pyx_k_anon_struct14___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct14___reduce_cython */
  {__pyx_k_anon_struct14___setstate_cython, sizeof(__pyx_k_anon_struct14___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct14___setstate_cython */
  {__pyx_k_anon_struct14_getPtr, sizeof(__pyx_k_anon_struct14_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct14_getPtr */
  {__pyx_k_anon_struct15, sizeof(__pyx_k_anon_struct15), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct15 */
  {__pyx_k_anon_struct15___reduce_cython, sizeof(__pyx_k_anon_struct15___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct15___reduce_cython */
  {__pyx_k_anon_struct15___setstate_cython, sizeof(__pyx_k_anon_struct15___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct15___setstate_cython */
  {__pyx_k_anon_struct15_getPtr, sizeof(__pyx_k_anon_struct15_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct15_getPtr */
  {__pyx_k_anon_struct16, sizeof(__pyx_k_anon_struct16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct16 */
  {__pyx_k_anon_struct16___reduce_cython, sizeof(__pyx_k_anon_struct16___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct16___reduce_cython */
  {__pyx_k_anon_struct16___setstate_cython, sizeof(__pyx_k_anon_struct16___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct16___setstate_cython */
  {__pyx_k_anon_struct16_getPtr, sizeof(__pyx_k_anon_struct16_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct16_getPtr */
  {__pyx_k_anon_struct17, sizeof(__pyx_k_anon_struct17), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct17 */
  {__pyx_k_anon_struct17___reduce_cython, sizeof(__pyx_k_anon_struct17___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct17___reduce_cython */
  {__pyx_k_anon_struct17___setstate_cython, sizeof(__pyx_k_anon_struct17___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct17___setstate_cython */
  {__pyx_k_anon_struct17_getPtr, sizeof(__pyx_k_anon_struct17_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct17_getPtr */
  {__pyx_k_anon_struct18, sizeof(__pyx_k_anon_struct18), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct18 */
  {__pyx_k_anon_struct18___reduce_cython, sizeof(__pyx_k_anon_struct18___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct18___reduce_cython */
  {__pyx_k_anon_struct18___setstate_cython, sizeof(__pyx_k_anon_struct18___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct18___setstate_cython */
  {__pyx_k_anon_struct18_getPtr, sizeof(__pyx_k_anon_struct18_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct18_getPtr */
  {__pyx_k_anon_struct19, sizeof(__pyx_k_anon_struct19), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct19 */
  {__pyx_k_anon_struct19___reduce_cython, sizeof(__pyx_k_anon_struct19___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct19___reduce_cython */
  {__pyx_k_anon_struct19___setstate_cython, sizeof(__pyx_k_anon_struct19___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct19___setstate_cython */
  {__pyx_k_anon_struct19_getPtr, sizeof(__pyx_k_anon_struct19_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct19_getPtr */
  {__pyx_k_anon_struct1___reduce_cython, sizeof(__pyx_k_anon_struct1___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct1___reduce_cython */
  {__pyx_k_anon_struct1___setstate_cython, sizeof(__pyx_k_anon_struct1___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct1___setstate_cython */
  {__pyx_k_anon_struct1_getPtr, sizeof(__pyx_k_anon_struct1_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct1_getPtr */
  {__pyx_k_anon_struct2, sizeof(__pyx_k_anon_struct2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct2 */
  {__pyx_k_anon_struct20, sizeof(__pyx_k_anon_struct20), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct20 */
  {__pyx_k_anon_struct20___reduce_cython, sizeof(__pyx_k_anon_struct20___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct20___reduce_cython */
  {__pyx_k_anon_struct20___setstate_cython, sizeof(__pyx_k_anon_struct20___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct20___setstate_cython */
  {__pyx_k_anon_struct20_getPtr, sizeof(__pyx_k_anon_struct20_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct20_getPtr */
  {__pyx_k_anon_struct21, sizeof(__pyx_k_anon_struct21), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct21 */
  {__pyx_k_anon_struct21___reduce_cython, sizeof(__pyx_k_anon_struct21___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct21___reduce_cython */
  {__pyx_k_anon_struct21___setstate_cython, sizeof(__pyx_k_anon_struct21___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct21___setstate_cython */
  {__pyx_k_anon_struct21_getPtr, sizeof(__pyx_k_anon_struct21_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct21_getPtr */
  {__pyx_k_anon_struct22, sizeof(__pyx_k_anon_struct22), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct22 */
  {__pyx_k_anon_struct22___reduce_cython, sizeof(__pyx_k_anon_struct22___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct22___reduce_cython */
  {__pyx_k_anon_struct22___setstate_cython, sizeof(__pyx_k_anon_struct22___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct22___setstate_cython */
  {__pyx_k_anon_struct22_getPtr, sizeof(__pyx_k_anon_struct22_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct22_getPtr */
  {__pyx_k_anon_struct23, sizeof(__pyx_k_anon_struct23), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct23 */
  {__pyx_k_anon_struct23___reduce_cython, sizeof(__pyx_k_anon_struct23___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct23___reduce_cython */
  {__pyx_k_anon_struct23___setstate_cython, sizeof(__pyx_k_anon_struct23___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct23___setstate_cython */
  {__pyx_k_anon_struct23_getPtr, sizeof(__pyx_k_anon_struct23_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct23_getPtr */
  {__pyx_k_anon_struct24, sizeof(__pyx_k_anon_struct24), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct24 */
  {__pyx_k_anon_struct24___reduce_cython, sizeof(__pyx_k_anon_struct24___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct24___reduce_cython */
  {__pyx_k_anon_struct24___setstate_cython, sizeof(__pyx_k_anon_struct24___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct24___setstate_cython */
  {__pyx_k_anon_struct24_getPtr, sizeof(__pyx_k_anon_struct24_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct24_getPtr */
  {__pyx_k_anon_struct2___reduce_cython, sizeof(__pyx_k_anon_struct2___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct2___reduce_cython */
  {__pyx_k_anon_struct2___setstate_cython, sizeof(__pyx_k_anon_struct2___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct2___setstate_cython */
  {__pyx_k_anon_struct2_getPtr, sizeof(__pyx_k_anon_struct2_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct2_getPtr */
  {__pyx_k_anon_struct3, sizeof(__pyx_k_anon_struct3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct3 */
  {__pyx_k_anon_struct3___reduce_cython, sizeof(__pyx_k_anon_struct3___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct3___reduce_cython */
  {__pyx_k_anon_struct3___setstate_cython, sizeof(__pyx_k_anon_struct3___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct3___setstate_cython */
  {__pyx_k_anon_struct3_getPtr, sizeof(__pyx_k_anon_struct3_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct3_getPtr */
  {__pyx_k_anon_struct4, sizeof(__pyx_k_anon_struct4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct4 */
  {__pyx_k_anon_struct4___reduce_cython, sizeof(__pyx_k_anon_struct4___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct4___reduce_cython */
  {__pyx_k_anon_struct4___setstate_cython, sizeof(__pyx_k_anon_struct4___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct4___setstate_cython */
  {__pyx_k_anon_struct4_getPtr, sizeof(__pyx_k_anon_struct4_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct4_getPtr */
  {__pyx_k_anon_struct5, sizeof(__pyx_k_anon_struct5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct5 */
  {__pyx_k_anon_struct5___reduce_cython, sizeof(__pyx_k_anon_struct5___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct5___reduce_cython */
  {__pyx_k_anon_struct5___setstate_cython, sizeof(__pyx_k_anon_struct5___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct5___setstate_cython */
  {__pyx_k_anon_struct5_getPtr, sizeof(__pyx_k_anon_struct5_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct5_getPtr */
  {__pyx_k_anon_struct6, sizeof(__pyx_k_anon_struct6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct6 */
  {__pyx_k_anon_struct6___reduce_cython, sizeof(__pyx_k_anon_struct6___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct6___reduce_cython */
  {__pyx_k_anon_struct6___setstate_cython, sizeof(__pyx_k_anon_struct6___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct6___setstate_cython */
  {__pyx_k_anon_struct6_getPtr, sizeof(__pyx_k_anon_struct6_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct6_getPtr */
  {__pyx_k_anon_struct7, sizeof(__pyx_k_anon_struct7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct7 */
  {__pyx_k_anon_struct7___reduce_cython, sizeof(__pyx_k_anon_struct7___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct7___reduce_cython */
  {__pyx_k_anon_struct7___setstate_cython, sizeof(__pyx_k_anon_struct7___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct7___setstate_cython */
  {__pyx_k_anon_struct7_getPtr, sizeof(__pyx_k_anon_struct7_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct7_getPtr */
  {__pyx_k_anon_struct8, sizeof(__pyx_k_anon_struct8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct8 */
  {__pyx_k_anon_struct8___reduce_cython, sizeof(__pyx_k_anon_struct8___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct8___reduce_cython */
  {__pyx_k_anon_struct8___setstate_cython, sizeof(__pyx_k_anon_struct8___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct8___setstate_cython */
  {__pyx_k_anon_struct8_getPtr, sizeof(__pyx_k_anon_struct8_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct8_getPtr */
  {__pyx_k_anon_struct9, sizeof(__pyx_k_anon_struct9), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct9 */
  {__pyx_k_anon_struct9___reduce_cython, sizeof(__pyx_k_anon_struct9___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct9___reduce_cython */
  {__pyx_k_anon_struct9___setstate_cython, sizeof(__pyx_k_anon_struct9___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct9___setstate_cython */
  {__pyx_k_anon_struct9_getPtr, sizeof(__pyx_k_anon_struct9_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_struct9_getPtr */
  {__pyx_k_anon_union10, sizeof(__pyx_k_anon_union10), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union10 */
  {__pyx_k_anon_union10___reduce_cython, sizeof(__pyx_k_anon_union10___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union10___reduce_cython */
  {__pyx_k_anon_union10___setstate_cython, sizeof(__pyx_k_anon_union10___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union10___setstate_cython */
  {__pyx_k_anon_union10_getPtr, sizeof(__pyx_k_anon_union10_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union10_getPtr */
  {__pyx_k_anon_union11, sizeof(__pyx_k_anon_union11), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union11 */
  {__pyx_k_anon_union11___reduce_cython, sizeof(__pyx_k_anon_union11___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union11___reduce_cython */
  {__pyx_k_anon_union11___setstate_cython, sizeof(__pyx_k_anon_union11___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union11___setstate_cython */
  {__pyx_k_anon_union11_getPtr, sizeof(__pyx_k_anon_union11_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union11_getPtr */
  {__pyx_k_anon_union12, sizeof(__pyx_k_anon_union12), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union12 */
  {__pyx_k_anon_union12___reduce_cython, sizeof(__pyx_k_anon_union12___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union12___reduce_cython */
  {__pyx_k_anon_union12___setstate_cython, sizeof(__pyx_k_anon_union12___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union12___setstate_cython */
  {__pyx_k_anon_union12_getPtr, sizeof(__pyx_k_anon_union12_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union12_getPtr */
  {__pyx_k_anon_union15, sizeof(__pyx_k_anon_union15), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union15 */
  {__pyx_k_anon_union15___reduce_cython, sizeof(__pyx_k_anon_union15___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union15___reduce_cython */
  {__pyx_k_anon_union15___setstate_cython, sizeof(__pyx_k_anon_union15___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union15___setstate_cython */
  {__pyx_k_anon_union15_getPtr, sizeof(__pyx_k_anon_union15_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union15_getPtr */
  {__pyx_k_anon_union2, sizeof(__pyx_k_anon_union2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union2 */
  {__pyx_k_anon_union2___reduce_cython, sizeof(__pyx_k_anon_union2___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union2___reduce_cython */
  {__pyx_k_anon_union2___setstate_cython, sizeof(__pyx_k_anon_union2___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union2___setstate_cython */
  {__pyx_k_anon_union2_getPtr, sizeof(__pyx_k_anon_union2_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union2_getPtr */
  {__pyx_k_anon_union3, sizeof(__pyx_k_anon_union3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union3 */
  {__pyx_k_anon_union3___reduce_cython, sizeof(__pyx_k_anon_union3___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union3___reduce_cython */
  {__pyx_k_anon_union3___setstate_cython, sizeof(__pyx_k_anon_union3___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union3___setstate_cython */
  {__pyx_k_anon_union3_getPtr, sizeof(__pyx_k_anon_union3_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union3_getPtr */
  {__pyx_k_anon_union4, sizeof(__pyx_k_anon_union4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union4 */
  {__pyx_k_anon_union4___reduce_cython, sizeof(__pyx_k_anon_union4___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union4___reduce_cython */
  {__pyx_k_anon_union4___setstate_cython, sizeof(__pyx_k_anon_union4___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union4___setstate_cython */
  {__pyx_k_anon_union4_getPtr, sizeof(__pyx_k_anon_union4_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union4_getPtr */
  {__pyx_k_anon_union5, sizeof(__pyx_k_anon_union5), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union5 */
  {__pyx_k_anon_union5___reduce_cython, sizeof(__pyx_k_anon_union5___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union5___reduce_cython */
  {__pyx_k_anon_union5___setstate_cython, sizeof(__pyx_k_anon_union5___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union5___setstate_cython */
  {__pyx_k_anon_union5_getPtr, sizeof(__pyx_k_anon_union5_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union5_getPtr */
  {__pyx_k_anon_union6, sizeof(__pyx_k_anon_union6), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union6 */
  {__pyx_k_anon_union6___reduce_cython, sizeof(__pyx_k_anon_union6___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union6___reduce_cython */
  {__pyx_k_anon_union6___setstate_cython, sizeof(__pyx_k_anon_union6___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union6___setstate_cython */
  {__pyx_k_anon_union6_getPtr, sizeof(__pyx_k_anon_union6_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union6_getPtr */
  {__pyx_k_anon_union7, sizeof(__pyx_k_anon_union7), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union7 */
  {__pyx_k_anon_union7___reduce_cython, sizeof(__pyx_k_anon_union7___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union7___reduce_cython */
  {__pyx_k_anon_union7___setstate_cython, sizeof(__pyx_k_anon_union7___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union7___setstate_cython */
  {__pyx_k_anon_union7_getPtr, sizeof(__pyx_k_anon_union7_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union7_getPtr */
  {__pyx_k_anon_union8, sizeof(__pyx_k_anon_union8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union8 */
  {__pyx_k_anon_union8___reduce_cython, sizeof(__pyx_k_anon_union8___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union8___reduce_cython */
  {__pyx_k_anon_union8___setstate_cython, sizeof(__pyx_k_anon_union8___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union8___setstate_cython */
  {__pyx_k_anon_union8_getPtr, sizeof(__pyx_k_anon_union8_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union8_getPtr */
  {__pyx_k_anon_union9, sizeof(__pyx_k_anon_union9), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union9 */
  {__pyx_k_anon_union9___reduce_cython, sizeof(__pyx_k_anon_union9___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union9___reduce_cython */
  {__pyx_k_anon_union9___setstate_cython, sizeof(__pyx_k_anon_union9___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union9___setstate_cython */
  {__pyx_k_anon_union9_getPtr, sizeof(__pyx_k_anon_union9_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_anon_union9_getPtr */
  {__pyx_k_args, sizeof(__pyx_k_args), 0, 1, 1}, /* PyObject cname: __pyx_n_u_args */
  {__pyx_k_array, sizeof(__pyx_k_array), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_array */
  {__pyx_k_arrayDesc, sizeof(__pyx_k_arrayDesc), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_arrayDesc */
  {__pyx_k_arrayDesc_2, sizeof(__pyx_k_arrayDesc_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_arrayDesc_2 */
  {__pyx_k_arrayDesc_ValueError, sizeof(__pyx_k_arrayDesc_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_arrayDesc_ValueError */
  {__pyx_k_arrayIndex, sizeof(__pyx_k_arrayIndex), 0, 1, 1}, /* PyObject cname: __pyx_n_u_arrayIndex */
  {__pyx_k_array_2, sizeof(__pyx_k_array_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_array_2 */
  {__pyx_k_array_3, sizeof(__pyx_k_array_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_array_3 */
  {__pyx_k_array_ValueError, sizeof(__pyx_k_array_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_array_ValueError */
  {__pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 1, 1}, /* PyObject cname: __pyx_n_u_asyncio_coroutines */
  {__pyx_k_attr, sizeof(__pyx_k_attr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_attr */
  {__pyx_k_attrib, sizeof(__pyx_k_attrib), 0, 1, 1}, /* PyObject cname: __pyx_n_u_attrib */
  {__pyx_k_attribute, sizeof(__pyx_k_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_attribute */
  {__pyx_k_attributes, sizeof(__pyx_k_attributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_attributes */
  {__pyx_k_attrs, sizeof(__pyx_k_attrs), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_attrs */
  {__pyx_k_attrsIdxs, sizeof(__pyx_k_attrsIdxs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_attrsIdxs */
  {__pyx_k_attrs_2, sizeof(__pyx_k_attrs_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_attrs_2 */
  {__pyx_k_attrs_ValueError, sizeof(__pyx_k_attrs_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_attrs_ValueError */
  {__pyx_k_base_ptr, sizeof(__pyx_k_base_ptr), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_base_ptr */
  {__pyx_k_base_ptr_2, sizeof(__pyx_k_base_ptr_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_base_ptr_2 */
  {__pyx_k_base_ptr_ValueError, sizeof(__pyx_k_base_ptr_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_base_ptr_ValueError */
  {__pyx_k_bias, sizeof(__pyx_k_bias), 0, 1, 1}, /* PyObject cname: __pyx_n_u_bias */
  {__pyx_k_bindings, sizeof(__pyx_k_bindings), 0, 1, 1}, /* PyObject cname: __pyx_n_u_bindings */
  {__pyx_k_blockDimX, sizeof(__pyx_k_blockDimX), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_blockDimX */
  {__pyx_k_blockDimX_2, sizeof(__pyx_k_blockDimX_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_blockDimX_2 */
  {__pyx_k_blockDimX_ValueError, sizeof(__pyx_k_blockDimX_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_blockDimX_ValueError */
  {__pyx_k_blockDimY, sizeof(__pyx_k_blockDimY), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_blockDimY */
  {__pyx_k_blockDimY_2, sizeof(__pyx_k_blockDimY_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_blockDimY_2 */
  {__pyx_k_blockDimY_ValueError, sizeof(__pyx_k_blockDimY_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_blockDimY_ValueError */
  {__pyx_k_blockDimZ, sizeof(__pyx_k_blockDimZ), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_blockDimZ */
  {__pyx_k_blockDimZ_2, sizeof(__pyx_k_blockDimZ_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_blockDimZ_2 */
  {__pyx_k_blockDimZ_ValueError, sizeof(__pyx_k_blockDimZ_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_blockDimZ_ValueError */
  {__pyx_k_blockSize, sizeof(__pyx_k_blockSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_blockSize */
  {__pyx_k_blockSizeLimit, sizeof(__pyx_k_blockSizeLimit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_blockSizeLimit */
  {__pyx_k_blockSizeToDynamicSMemSize, sizeof(__pyx_k_blockSizeToDynamicSMemSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_blockSizeToDynamicSMemSize */
  {__pyx_k_borderColor, sizeof(__pyx_k_borderColor), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_borderColor */
  {__pyx_k_borderColor_2, sizeof(__pyx_k_borderColor_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_borderColor_2 */
  {__pyx_k_borderColor_ValueError, sizeof(__pyx_k_borderColor_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_borderColor_ValueError */
  {__pyx_k_boxDim, sizeof(__pyx_k_boxDim), 0, 1, 1}, /* PyObject cname: __pyx_n_u_boxDim */
  {__pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_buffer */
  {__pyx_k_bufferDesc, sizeof(__pyx_k_bufferDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_bufferDesc */
  {__pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_bytes */
  {__pyx_k_bytesOverBudget, sizeof(__pyx_k_bytesOverBudget), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_bytesOverBudget */
  {__pyx_k_bytesOverBudget_2, sizeof(__pyx_k_bytesOverBudget_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_bytesOverBudget_2 */
  {__pyx_k_bytesOverBudget_ValueError, sizeof(__pyx_k_bytesOverBudget_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_bytesOverBudget_ValueError */
  {__pyx_k_bytes_2, sizeof(__pyx_k_bytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_bytes_2 */
  {__pyx_k_bytes_ValueError, sizeof(__pyx_k_bytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_bytes_ValueError */
  {__pyx_k_bytesize, sizeof(__pyx_k_bytesize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_bytesize */
  {__pyx_k_bytesize_2, sizeof(__pyx_k_bytesize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_bytesize_2 */
  {__pyx_k_bytesize_ValueError, sizeof(__pyx_k_bytesize_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_bytesize_ValueError */
  {__pyx_k_c_bool, sizeof(__pyx_k_c_bool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_bool */
  {__pyx_k_c_byte, sizeof(__pyx_k_c_byte), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_byte */
  {__pyx_k_c_char, sizeof(__pyx_k_c_char), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_char */
  {__pyx_k_c_double, sizeof(__pyx_k_c_double), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_double */
  {__pyx_k_c_float, sizeof(__pyx_k_c_float), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_float */
  {__pyx_k_c_int, sizeof(__pyx_k_c_int), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_int */
  {__pyx_k_c_long, sizeof(__pyx_k_c_long), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_long */
  {__pyx_k_c_longlong, sizeof(__pyx_k_c_longlong), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_longlong */
  {__pyx_k_c_short, sizeof(__pyx_k_c_short), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_short */
  {__pyx_k_c_size_t, sizeof(__pyx_k_c_size_t), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_size_t */
  {__pyx_k_c_ubyte, sizeof(__pyx_k_c_ubyte), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_ubyte */
  {__pyx_k_c_uint, sizeof(__pyx_k_c_uint), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_uint */
  {__pyx_k_c_ulong, sizeof(__pyx_k_c_ulong), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_ulong */
  {__pyx_k_c_ulonglong, sizeof(__pyx_k_c_ulonglong), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_ulonglong */
  {__pyx_k_c_ushort, sizeof(__pyx_k_c_ushort), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_ushort */
  {__pyx_k_c_void_p, sizeof(__pyx_k_c_void_p), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_void_p */
  {__pyx_k_c_wchar, sizeof(__pyx_k_c_wchar), 0, 1, 1}, /* PyObject cname: __pyx_n_u_c_wchar */
  {__pyx_k_callback, sizeof(__pyx_k_callback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_callback */
  {__pyx_k_callbackFunc, sizeof(__pyx_k_callbackFunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_callbackFunc */
  {__pyx_k_callback_out, sizeof(__pyx_k_callback_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_callback_out */
  {__pyx_k_canAccessPeer, sizeof(__pyx_k_canAccessPeer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_canAccessPeer */
  {__pyx_k_captureStatus, sizeof(__pyx_k_captureStatus), 0, 1, 1}, /* PyObject cname: __pyx_n_u_captureStatus */
  {__pyx_k_captureStatus_out, sizeof(__pyx_k_captureStatus_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_captureStatus_out */
  {__pyx_k_cbData, sizeof(__pyx_k_cbData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cbData */
  {__pyx_k_channelsPerPixel, sizeof(__pyx_k_channelsPerPixel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_channelsPerPixel */
  {__pyx_k_childGraph, sizeof(__pyx_k_childGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_childGraph */
  {__pyx_k_cigParams, sizeof(__pyx_k_cigParams), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cigParams */
  {__pyx_k_cigParams_2, sizeof(__pyx_k_cigParams_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cigParams_2 */
  {__pyx_k_cigParams_ValueError, sizeof(__pyx_k_cigParams_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cigParams_ValueError */
  {__pyx_k_ckernelParams, sizeof(__pyx_k_ckernelParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ckernelParams */
  {__pyx_k_cl_context_flags, sizeof(__pyx_k_cl_context_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cl_context_flags */
  {__pyx_k_cl_event_flags, sizeof(__pyx_k_cl_event_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cl_event_flags */
  {__pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_class_getitem */
  {__pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cline_in_traceback */
  {__pyx_k_clockRate, sizeof(__pyx_k_clockRate), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_clockRate */
  {__pyx_k_clockRate_2, sizeof(__pyx_k_clockRate_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_clockRate_2 */
  {__pyx_k_clockRate_ValueError, sizeof(__pyx_k_clockRate_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_clockRate_ValueError */
  {__pyx_k_close, sizeof(__pyx_k_close), 0, 1, 1}, /* PyObject cname: __pyx_n_u_close */
  {__pyx_k_clusterDim, sizeof(__pyx_k_clusterDim), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_clusterDim */
  {__pyx_k_clusterDim_2, sizeof(__pyx_k_clusterDim_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_clusterDim_2 */
  {__pyx_k_clusterDim_ValueError, sizeof(__pyx_k_clusterDim_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_clusterDim_ValueError */
  {__pyx_k_clusterSchedulingPolicyPreferenc, sizeof(__pyx_k_clusterSchedulingPolicyPreferenc), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_clusterSchedulingPolicyPreferenc */
  {__pyx_k_clusterSchedulingPolicyPreferenc_2, sizeof(__pyx_k_clusterSchedulingPolicyPreferenc_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_clusterSchedulingPolicyPreferenc_2 */
  {__pyx_k_clusterSchedulingPolicyPreferenc_3, sizeof(__pyx_k_clusterSchedulingPolicyPreferenc_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_clusterSchedulingPolicyPreferenc_3 */
  {__pyx_k_clusterSize, sizeof(__pyx_k_clusterSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_clusterSize */
  {__pyx_k_code, sizeof(__pyx_k_code), 0, 1, 1}, /* PyObject cname: __pyx_n_u_code */
  {__pyx_k_compressionType, sizeof(__pyx_k_compressionType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_compressionType */
  {__pyx_k_compressionType_2, sizeof(__pyx_k_compressionType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_compressionType_2 */
  {__pyx_k_compressionType_ValueError, sizeof(__pyx_k_compressionType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_compressionType_ValueError */
  {__pyx_k_conditional, sizeof(__pyx_k_conditional), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_conditional */
  {__pyx_k_conditional_2, sizeof(__pyx_k_conditional_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_conditional_2 */
  {__pyx_k_conditional_ValueError, sizeof(__pyx_k_conditional_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_conditional_ValueError */
  {__pyx_k_config, sizeof(__pyx_k_config), 0, 1, 1}, /* PyObject cname: __pyx_n_u_config */
  {__pyx_k_conn, sizeof(__pyx_k_conn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_conn */
  {__pyx_k_cooperative, sizeof(__pyx_k_cooperative), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cooperative */
  {__pyx_k_cooperative_2, sizeof(__pyx_k_cooperative_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cooperative_2 */
  {__pyx_k_cooperative_ValueError, sizeof(__pyx_k_cooperative_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cooperative_ValueError */
  {__pyx_k_copyCtx, sizeof(__pyx_k_copyCtx), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_copyCtx */
  {__pyx_k_copyCtx_2, sizeof(__pyx_k_copyCtx_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_copyCtx_2 */
  {__pyx_k_copyCtx_ValueError, sizeof(__pyx_k_copyCtx_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_copyCtx_ValueError */
  {__pyx_k_copyParams, sizeof(__pyx_k_copyParams), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_copyParams */
  {__pyx_k_copyParams_2, sizeof(__pyx_k_copyParams_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_copyParams_2 */
  {__pyx_k_copyParams_ValueError, sizeof(__pyx_k_copyParams_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_copyParams_ValueError */
  {__pyx_k_count, sizeof(__pyx_k_count), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_count */
  {__pyx_k_count_2, sizeof(__pyx_k_count_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_count_2 */
  {__pyx_k_count_ValueError, sizeof(__pyx_k_count_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_count_ValueError */
  {__pyx_k_cptr, sizeof(__pyx_k_cptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cptr */
  {__pyx_k_ctx, sizeof(__pyx_k_ctx), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_ctx */
  {__pyx_k_ctxCreateParams, sizeof(__pyx_k_ctxCreateParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ctxCreateParams */
  {__pyx_k_ctxId, sizeof(__pyx_k_ctxId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ctxId */
  {__pyx_k_ctx_2, sizeof(__pyx_k_ctx_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ctx_2 */
  {__pyx_k_ctx_ValueError, sizeof(__pyx_k_ctx_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_ctx_ValueError */
  {__pyx_k_ctypes, sizeof(__pyx_k_ctypes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ctypes */
  {__pyx_k_ctypes_2, sizeof(__pyx_k_ctypes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ctypes_2 */
  {__pyx_k_cuArray3DCreate, sizeof(__pyx_k_cuArray3DCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuArray3DCreate */
  {__pyx_k_cuArray3DGetDescriptor, sizeof(__pyx_k_cuArray3DGetDescriptor), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuArray3DGetDescriptor */
  {__pyx_k_cuArrayCreate, sizeof(__pyx_k_cuArrayCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuArrayCreate */
  {__pyx_k_cuArrayDestroy, sizeof(__pyx_k_cuArrayDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuArrayDestroy */
  {__pyx_k_cuArrayGetDescriptor, sizeof(__pyx_k_cuArrayGetDescriptor), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuArrayGetDescriptor */
  {__pyx_k_cuArrayGetMemoryRequirements, sizeof(__pyx_k_cuArrayGetMemoryRequirements), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuArrayGetMemoryRequirements */
  {__pyx_k_cuArrayGetPlane, sizeof(__pyx_k_cuArrayGetPlane), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuArrayGetPlane */
  {__pyx_k_cuArrayGetSparseProperties, sizeof(__pyx_k_cuArrayGetSparseProperties), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuArrayGetSparseProperties */
  {__pyx_k_cuCheckpointProcessCheckpoint, sizeof(__pyx_k_cuCheckpointProcessCheckpoint), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCheckpointProcessCheckpoint */
  {__pyx_k_cuCheckpointProcessGetRestoreThr, sizeof(__pyx_k_cuCheckpointProcessGetRestoreThr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCheckpointProcessGetRestoreThr */
  {__pyx_k_cuCheckpointProcessGetState, sizeof(__pyx_k_cuCheckpointProcessGetState), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCheckpointProcessGetState */
  {__pyx_k_cuCheckpointProcessLock, sizeof(__pyx_k_cuCheckpointProcessLock), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCheckpointProcessLock */
  {__pyx_k_cuCheckpointProcessRestore, sizeof(__pyx_k_cuCheckpointProcessRestore), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCheckpointProcessRestore */
  {__pyx_k_cuCheckpointProcessUnlock, sizeof(__pyx_k_cuCheckpointProcessUnlock), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCheckpointProcessUnlock */
  {__pyx_k_cuCoredumpGetAttribute, sizeof(__pyx_k_cuCoredumpGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCoredumpGetAttribute */
  {__pyx_k_cuCoredumpGetAttributeGlobal, sizeof(__pyx_k_cuCoredumpGetAttributeGlobal), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCoredumpGetAttributeGlobal */
  {__pyx_k_cuCoredumpSetAttribute, sizeof(__pyx_k_cuCoredumpSetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCoredumpSetAttribute */
  {__pyx_k_cuCoredumpSetAttributeGlobal, sizeof(__pyx_k_cuCoredumpSetAttributeGlobal), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCoredumpSetAttributeGlobal */
  {__pyx_k_cuCtxAttach, sizeof(__pyx_k_cuCtxAttach), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxAttach */
  {__pyx_k_cuCtxCreate, sizeof(__pyx_k_cuCtxCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxCreate */
  {__pyx_k_cuCtxCreate_v3, sizeof(__pyx_k_cuCtxCreate_v3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxCreate_v3 */
  {__pyx_k_cuCtxCreate_v3_locals_genexpr, sizeof(__pyx_k_cuCtxCreate_v3_locals_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxCreate_v3_locals_genexpr */
  {__pyx_k_cuCtxCreate_v4, sizeof(__pyx_k_cuCtxCreate_v4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxCreate_v4 */
  {__pyx_k_cuCtxDestroy, sizeof(__pyx_k_cuCtxDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxDestroy */
  {__pyx_k_cuCtxDetach, sizeof(__pyx_k_cuCtxDetach), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxDetach */
  {__pyx_k_cuCtxDisablePeerAccess, sizeof(__pyx_k_cuCtxDisablePeerAccess), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxDisablePeerAccess */
  {__pyx_k_cuCtxEnablePeerAccess, sizeof(__pyx_k_cuCtxEnablePeerAccess), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxEnablePeerAccess */
  {__pyx_k_cuCtxFromGreenCtx, sizeof(__pyx_k_cuCtxFromGreenCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxFromGreenCtx */
  {__pyx_k_cuCtxGetApiVersion, sizeof(__pyx_k_cuCtxGetApiVersion), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetApiVersion */
  {__pyx_k_cuCtxGetCacheConfig, sizeof(__pyx_k_cuCtxGetCacheConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetCacheConfig */
  {__pyx_k_cuCtxGetCurrent, sizeof(__pyx_k_cuCtxGetCurrent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetCurrent */
  {__pyx_k_cuCtxGetDevResource, sizeof(__pyx_k_cuCtxGetDevResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetDevResource */
  {__pyx_k_cuCtxGetDevice, sizeof(__pyx_k_cuCtxGetDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetDevice */
  {__pyx_k_cuCtxGetExecAffinity, sizeof(__pyx_k_cuCtxGetExecAffinity), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetExecAffinity */
  {__pyx_k_cuCtxGetFlags, sizeof(__pyx_k_cuCtxGetFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetFlags */
  {__pyx_k_cuCtxGetId, sizeof(__pyx_k_cuCtxGetId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetId */
  {__pyx_k_cuCtxGetLimit, sizeof(__pyx_k_cuCtxGetLimit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetLimit */
  {__pyx_k_cuCtxGetSharedMemConfig, sizeof(__pyx_k_cuCtxGetSharedMemConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetSharedMemConfig */
  {__pyx_k_cuCtxGetStreamPriorityRange, sizeof(__pyx_k_cuCtxGetStreamPriorityRange), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxGetStreamPriorityRange */
  {__pyx_k_cuCtxPopCurrent, sizeof(__pyx_k_cuCtxPopCurrent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxPopCurrent */
  {__pyx_k_cuCtxPushCurrent, sizeof(__pyx_k_cuCtxPushCurrent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxPushCurrent */
  {__pyx_k_cuCtxRecordEvent, sizeof(__pyx_k_cuCtxRecordEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxRecordEvent */
  {__pyx_k_cuCtxResetPersistingL2Cache, sizeof(__pyx_k_cuCtxResetPersistingL2Cache), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxResetPersistingL2Cache */
  {__pyx_k_cuCtxSetCacheConfig, sizeof(__pyx_k_cuCtxSetCacheConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxSetCacheConfig */
  {__pyx_k_cuCtxSetCurrent, sizeof(__pyx_k_cuCtxSetCurrent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxSetCurrent */
  {__pyx_k_cuCtxSetFlags, sizeof(__pyx_k_cuCtxSetFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxSetFlags */
  {__pyx_k_cuCtxSetLimit, sizeof(__pyx_k_cuCtxSetLimit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxSetLimit */
  {__pyx_k_cuCtxSetSharedMemConfig, sizeof(__pyx_k_cuCtxSetSharedMemConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxSetSharedMemConfig */
  {__pyx_k_cuCtxSynchronize, sizeof(__pyx_k_cuCtxSynchronize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxSynchronize */
  {__pyx_k_cuCtxWaitEvent, sizeof(__pyx_k_cuCtxWaitEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuCtxWaitEvent */
  {__pyx_k_cuDestroyExternalMemory, sizeof(__pyx_k_cuDestroyExternalMemory), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDestroyExternalMemory */
  {__pyx_k_cuDestroyExternalSemaphore, sizeof(__pyx_k_cuDestroyExternalSemaphore), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDestroyExternalSemaphore */
  {__pyx_k_cuDevResourceGenerateDesc, sizeof(__pyx_k_cuDevResourceGenerateDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDevResourceGenerateDesc */
  {__pyx_k_cuDevResourceGenerateDesc_locals, sizeof(__pyx_k_cuDevResourceGenerateDesc_locals), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDevResourceGenerateDesc_locals */
  {__pyx_k_cuDevSmResourceSplitByCount, sizeof(__pyx_k_cuDevSmResourceSplitByCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDevSmResourceSplitByCount */
  {__pyx_k_cuDeviceCanAccessPeer, sizeof(__pyx_k_cuDeviceCanAccessPeer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceCanAccessPeer */
  {__pyx_k_cuDeviceComputeCapability, sizeof(__pyx_k_cuDeviceComputeCapability), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceComputeCapability */
  {__pyx_k_cuDeviceGet, sizeof(__pyx_k_cuDeviceGet), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGet */
  {__pyx_k_cuDeviceGetAttribute, sizeof(__pyx_k_cuDeviceGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetAttribute */
  {__pyx_k_cuDeviceGetByPCIBusId, sizeof(__pyx_k_cuDeviceGetByPCIBusId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetByPCIBusId */
  {__pyx_k_cuDeviceGetCount, sizeof(__pyx_k_cuDeviceGetCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetCount */
  {__pyx_k_cuDeviceGetDefaultMemPool, sizeof(__pyx_k_cuDeviceGetDefaultMemPool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetDefaultMemPool */
  {__pyx_k_cuDeviceGetDevResource, sizeof(__pyx_k_cuDeviceGetDevResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetDevResource */
  {__pyx_k_cuDeviceGetExecAffinitySupport, sizeof(__pyx_k_cuDeviceGetExecAffinitySupport), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetExecAffinitySupport */
  {__pyx_k_cuDeviceGetGraphMemAttribute, sizeof(__pyx_k_cuDeviceGetGraphMemAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetGraphMemAttribute */
  {__pyx_k_cuDeviceGetLuid, sizeof(__pyx_k_cuDeviceGetLuid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetLuid */
  {__pyx_k_cuDeviceGetMemPool, sizeof(__pyx_k_cuDeviceGetMemPool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetMemPool */
  {__pyx_k_cuDeviceGetName, sizeof(__pyx_k_cuDeviceGetName), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetName */
  {__pyx_k_cuDeviceGetNvSciSyncAttributes, sizeof(__pyx_k_cuDeviceGetNvSciSyncAttributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetNvSciSyncAttributes */
  {__pyx_k_cuDeviceGetP2PAttribute, sizeof(__pyx_k_cuDeviceGetP2PAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetP2PAttribute */
  {__pyx_k_cuDeviceGetPCIBusId, sizeof(__pyx_k_cuDeviceGetPCIBusId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetPCIBusId */
  {__pyx_k_cuDeviceGetProperties, sizeof(__pyx_k_cuDeviceGetProperties), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetProperties */
  {__pyx_k_cuDeviceGetTexture1DLinearMaxWid, sizeof(__pyx_k_cuDeviceGetTexture1DLinearMaxWid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetTexture1DLinearMaxWid */
  {__pyx_k_cuDeviceGetUuid, sizeof(__pyx_k_cuDeviceGetUuid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetUuid */
  {__pyx_k_cuDeviceGetUuid_v2, sizeof(__pyx_k_cuDeviceGetUuid_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGetUuid_v2 */
  {__pyx_k_cuDeviceGraphMemTrim, sizeof(__pyx_k_cuDeviceGraphMemTrim), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceGraphMemTrim */
  {__pyx_k_cuDevicePrimaryCtxGetState, sizeof(__pyx_k_cuDevicePrimaryCtxGetState), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDevicePrimaryCtxGetState */
  {__pyx_k_cuDevicePrimaryCtxRelease, sizeof(__pyx_k_cuDevicePrimaryCtxRelease), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDevicePrimaryCtxRelease */
  {__pyx_k_cuDevicePrimaryCtxReset, sizeof(__pyx_k_cuDevicePrimaryCtxReset), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDevicePrimaryCtxReset */
  {__pyx_k_cuDevicePrimaryCtxRetain, sizeof(__pyx_k_cuDevicePrimaryCtxRetain), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDevicePrimaryCtxRetain */
  {__pyx_k_cuDevicePrimaryCtxSetFlags, sizeof(__pyx_k_cuDevicePrimaryCtxSetFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDevicePrimaryCtxSetFlags */
  {__pyx_k_cuDeviceRegisterAsyncNotificatio, sizeof(__pyx_k_cuDeviceRegisterAsyncNotificatio), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceRegisterAsyncNotificatio */
  {__pyx_k_cuDeviceSetGraphMemAttribute, sizeof(__pyx_k_cuDeviceSetGraphMemAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceSetGraphMemAttribute */
  {__pyx_k_cuDeviceSetMemPool, sizeof(__pyx_k_cuDeviceSetMemPool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceSetMemPool */
  {__pyx_k_cuDeviceTotalMem, sizeof(__pyx_k_cuDeviceTotalMem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceTotalMem */
  {__pyx_k_cuDeviceUnregisterAsyncNotificat, sizeof(__pyx_k_cuDeviceUnregisterAsyncNotificat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDeviceUnregisterAsyncNotificat */
  {__pyx_k_cuDriverGetVersion, sizeof(__pyx_k_cuDriverGetVersion), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuDriverGetVersion */
  {__pyx_k_cuEGLStreamConsumerAcquireFrame, sizeof(__pyx_k_cuEGLStreamConsumerAcquireFrame), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamConsumerAcquireFrame */
  {__pyx_k_cuEGLStreamConsumerConnect, sizeof(__pyx_k_cuEGLStreamConsumerConnect), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamConsumerConnect */
  {__pyx_k_cuEGLStreamConsumerConnectWithFl, sizeof(__pyx_k_cuEGLStreamConsumerConnectWithFl), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamConsumerConnectWithFl */
  {__pyx_k_cuEGLStreamConsumerDisconnect, sizeof(__pyx_k_cuEGLStreamConsumerDisconnect), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamConsumerDisconnect */
  {__pyx_k_cuEGLStreamConsumerReleaseFrame, sizeof(__pyx_k_cuEGLStreamConsumerReleaseFrame), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamConsumerReleaseFrame */
  {__pyx_k_cuEGLStreamProducerConnect, sizeof(__pyx_k_cuEGLStreamProducerConnect), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamProducerConnect */
  {__pyx_k_cuEGLStreamProducerDisconnect, sizeof(__pyx_k_cuEGLStreamProducerDisconnect), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamProducerDisconnect */
  {__pyx_k_cuEGLStreamProducerPresentFrame, sizeof(__pyx_k_cuEGLStreamProducerPresentFrame), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamProducerPresentFrame */
  {__pyx_k_cuEGLStreamProducerReturnFrame, sizeof(__pyx_k_cuEGLStreamProducerReturnFrame), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEGLStreamProducerReturnFrame */
  {__pyx_k_cuEventCreate, sizeof(__pyx_k_cuEventCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventCreate */
  {__pyx_k_cuEventCreateFromEGLSync, sizeof(__pyx_k_cuEventCreateFromEGLSync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventCreateFromEGLSync */
  {__pyx_k_cuEventDestroy, sizeof(__pyx_k_cuEventDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventDestroy */
  {__pyx_k_cuEventElapsedTime, sizeof(__pyx_k_cuEventElapsedTime), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventElapsedTime */
  {__pyx_k_cuEventElapsedTime_v2, sizeof(__pyx_k_cuEventElapsedTime_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventElapsedTime_v2 */
  {__pyx_k_cuEventQuery, sizeof(__pyx_k_cuEventQuery), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventQuery */
  {__pyx_k_cuEventRecord, sizeof(__pyx_k_cuEventRecord), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventRecord */
  {__pyx_k_cuEventRecordWithFlags, sizeof(__pyx_k_cuEventRecordWithFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventRecordWithFlags */
  {__pyx_k_cuEventSynchronize, sizeof(__pyx_k_cuEventSynchronize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuEventSynchronize */
  {__pyx_k_cuExternalMemoryGetMappedBuffer, sizeof(__pyx_k_cuExternalMemoryGetMappedBuffer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuExternalMemoryGetMappedBuffer */
  {__pyx_k_cuExternalMemoryGetMappedMipmapp, sizeof(__pyx_k_cuExternalMemoryGetMappedMipmapp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuExternalMemoryGetMappedMipmapp */
  {__pyx_k_cuFlushGPUDirectRDMAWrites, sizeof(__pyx_k_cuFlushGPUDirectRDMAWrites), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFlushGPUDirectRDMAWrites */
  {__pyx_k_cuFormat, sizeof(__pyx_k_cuFormat), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cuFormat */
  {__pyx_k_cuFormat_2, sizeof(__pyx_k_cuFormat_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFormat_2 */
  {__pyx_k_cuFormat_ValueError, sizeof(__pyx_k_cuFormat_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cuFormat_ValueError */
  {__pyx_k_cuFuncGetAttribute, sizeof(__pyx_k_cuFuncGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncGetAttribute */
  {__pyx_k_cuFuncGetModule, sizeof(__pyx_k_cuFuncGetModule), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncGetModule */
  {__pyx_k_cuFuncGetName, sizeof(__pyx_k_cuFuncGetName), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncGetName */
  {__pyx_k_cuFuncGetParamInfo, sizeof(__pyx_k_cuFuncGetParamInfo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncGetParamInfo */
  {__pyx_k_cuFuncIsLoaded, sizeof(__pyx_k_cuFuncIsLoaded), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncIsLoaded */
  {__pyx_k_cuFuncLoad, sizeof(__pyx_k_cuFuncLoad), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncLoad */
  {__pyx_k_cuFuncSetAttribute, sizeof(__pyx_k_cuFuncSetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncSetAttribute */
  {__pyx_k_cuFuncSetBlockShape, sizeof(__pyx_k_cuFuncSetBlockShape), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncSetBlockShape */
  {__pyx_k_cuFuncSetCacheConfig, sizeof(__pyx_k_cuFuncSetCacheConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncSetCacheConfig */
  {__pyx_k_cuFuncSetSharedMemConfig, sizeof(__pyx_k_cuFuncSetSharedMemConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncSetSharedMemConfig */
  {__pyx_k_cuFuncSetSharedSize, sizeof(__pyx_k_cuFuncSetSharedSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuFuncSetSharedSize */
  {__pyx_k_cuGLGetDevices, sizeof(__pyx_k_cuGLGetDevices), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGLGetDevices */
  {__pyx_k_cuGetErrorName, sizeof(__pyx_k_cuGetErrorName), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGetErrorName */
  {__pyx_k_cuGetErrorString, sizeof(__pyx_k_cuGetErrorString), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGetErrorString */
  {__pyx_k_cuGetExportTable, sizeof(__pyx_k_cuGetExportTable), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGetExportTable */
  {__pyx_k_cuGetProcAddress, sizeof(__pyx_k_cuGetProcAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGetProcAddress */
  {__pyx_k_cuGraphAddBatchMemOpNode, sizeof(__pyx_k_cuGraphAddBatchMemOpNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddBatchMemOpNode */
  {__pyx_k_cuGraphAddBatchMemOpNode_locals, sizeof(__pyx_k_cuGraphAddBatchMemOpNode_locals), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddBatchMemOpNode_locals */
  {__pyx_k_cuGraphAddChildGraphNode, sizeof(__pyx_k_cuGraphAddChildGraphNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddChildGraphNode */
  {__pyx_k_cuGraphAddChildGraphNode_locals, sizeof(__pyx_k_cuGraphAddChildGraphNode_locals), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddChildGraphNode_locals */
  {__pyx_k_cuGraphAddDependencies, sizeof(__pyx_k_cuGraphAddDependencies), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddDependencies */
  {__pyx_k_cuGraphAddDependencies_locals_ge, sizeof(__pyx_k_cuGraphAddDependencies_locals_ge), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddDependencies_locals_ge */
  {__pyx_k_cuGraphAddDependencies_v2, sizeof(__pyx_k_cuGraphAddDependencies_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddDependencies_v2 */
  {__pyx_k_cuGraphAddDependencies_v2_locals, sizeof(__pyx_k_cuGraphAddDependencies_v2_locals), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddDependencies_v2_locals */
  {__pyx_k_cuGraphAddEmptyNode, sizeof(__pyx_k_cuGraphAddEmptyNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddEmptyNode */
  {__pyx_k_cuGraphAddEmptyNode_locals_genex, sizeof(__pyx_k_cuGraphAddEmptyNode_locals_genex), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddEmptyNode_locals_genex */
  {__pyx_k_cuGraphAddEventRecordNode, sizeof(__pyx_k_cuGraphAddEventRecordNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddEventRecordNode */
  {__pyx_k_cuGraphAddEventRecordNode_locals, sizeof(__pyx_k_cuGraphAddEventRecordNode_locals), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddEventRecordNode_locals */
  {__pyx_k_cuGraphAddEventWaitNode, sizeof(__pyx_k_cuGraphAddEventWaitNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddEventWaitNode */
  {__pyx_k_cuGraphAddEventWaitNode_locals_g, sizeof(__pyx_k_cuGraphAddEventWaitNode_locals_g), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddEventWaitNode_locals_g */
  {__pyx_k_cuGraphAddExternalSemaphoresSign, sizeof(__pyx_k_cuGraphAddExternalSemaphoresSign), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddExternalSemaphoresSign */
  {__pyx_k_cuGraphAddExternalSemaphoresSign_2, sizeof(__pyx_k_cuGraphAddExternalSemaphoresSign_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddExternalSemaphoresSign_2 */
  {__pyx_k_cuGraphAddExternalSemaphoresWait, sizeof(__pyx_k_cuGraphAddExternalSemaphoresWait), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddExternalSemaphoresWait */
  {__pyx_k_cuGraphAddExternalSemaphoresWait_2, sizeof(__pyx_k_cuGraphAddExternalSemaphoresWait_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddExternalSemaphoresWait_2 */
  {__pyx_k_cuGraphAddHostNode, sizeof(__pyx_k_cuGraphAddHostNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddHostNode */
  {__pyx_k_cuGraphAddHostNode_locals_genexp, sizeof(__pyx_k_cuGraphAddHostNode_locals_genexp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddHostNode_locals_genexp */
  {__pyx_k_cuGraphAddKernelNode, sizeof(__pyx_k_cuGraphAddKernelNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddKernelNode */
  {__pyx_k_cuGraphAddKernelNode_locals_gene, sizeof(__pyx_k_cuGraphAddKernelNode_locals_gene), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddKernelNode_locals_gene */
  {__pyx_k_cuGraphAddMemAllocNode, sizeof(__pyx_k_cuGraphAddMemAllocNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddMemAllocNode */
  {__pyx_k_cuGraphAddMemAllocNode_locals_ge, sizeof(__pyx_k_cuGraphAddMemAllocNode_locals_ge), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddMemAllocNode_locals_ge */
  {__pyx_k_cuGraphAddMemFreeNode, sizeof(__pyx_k_cuGraphAddMemFreeNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddMemFreeNode */
  {__pyx_k_cuGraphAddMemFreeNode_locals_gen, sizeof(__pyx_k_cuGraphAddMemFreeNode_locals_gen), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddMemFreeNode_locals_gen */
  {__pyx_k_cuGraphAddMemcpyNode, sizeof(__pyx_k_cuGraphAddMemcpyNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddMemcpyNode */
  {__pyx_k_cuGraphAddMemcpyNode_locals_gene, sizeof(__pyx_k_cuGraphAddMemcpyNode_locals_gene), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddMemcpyNode_locals_gene */
  {__pyx_k_cuGraphAddMemsetNode, sizeof(__pyx_k_cuGraphAddMemsetNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddMemsetNode */
  {__pyx_k_cuGraphAddMemsetNode_locals_gene, sizeof(__pyx_k_cuGraphAddMemsetNode_locals_gene), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddMemsetNode_locals_gene */
  {__pyx_k_cuGraphAddNode, sizeof(__pyx_k_cuGraphAddNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddNode */
  {__pyx_k_cuGraphAddNode_locals_genexpr, sizeof(__pyx_k_cuGraphAddNode_locals_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddNode_locals_genexpr */
  {__pyx_k_cuGraphAddNode_v2, sizeof(__pyx_k_cuGraphAddNode_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddNode_v2 */
  {__pyx_k_cuGraphAddNode_v2_locals_genexpr, sizeof(__pyx_k_cuGraphAddNode_v2_locals_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphAddNode_v2_locals_genexpr */
  {__pyx_k_cuGraphBatchMemOpNodeGetParams, sizeof(__pyx_k_cuGraphBatchMemOpNodeGetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphBatchMemOpNodeGetParams */
  {__pyx_k_cuGraphBatchMemOpNodeSetParams, sizeof(__pyx_k_cuGraphBatchMemOpNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphBatchMemOpNodeSetParams */
  {__pyx_k_cuGraphChildGraphNodeGetGraph, sizeof(__pyx_k_cuGraphChildGraphNodeGetGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphChildGraphNodeGetGraph */
  {__pyx_k_cuGraphClone, sizeof(__pyx_k_cuGraphClone), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphClone */
  {__pyx_k_cuGraphConditionalHandleCreate, sizeof(__pyx_k_cuGraphConditionalHandleCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphConditionalHandleCreate */
  {__pyx_k_cuGraphCreate, sizeof(__pyx_k_cuGraphCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphCreate */
  {__pyx_k_cuGraphDebugDotPrint, sizeof(__pyx_k_cuGraphDebugDotPrint), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphDebugDotPrint */
  {__pyx_k_cuGraphDestroy, sizeof(__pyx_k_cuGraphDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphDestroy */
  {__pyx_k_cuGraphDestroyNode, sizeof(__pyx_k_cuGraphDestroyNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphDestroyNode */
  {__pyx_k_cuGraphEventRecordNodeGetEvent, sizeof(__pyx_k_cuGraphEventRecordNodeGetEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphEventRecordNodeGetEvent */
  {__pyx_k_cuGraphEventRecordNodeSetEvent, sizeof(__pyx_k_cuGraphEventRecordNodeSetEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphEventRecordNodeSetEvent */
  {__pyx_k_cuGraphEventWaitNodeGetEvent, sizeof(__pyx_k_cuGraphEventWaitNodeGetEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphEventWaitNodeGetEvent */
  {__pyx_k_cuGraphEventWaitNodeSetEvent, sizeof(__pyx_k_cuGraphEventWaitNodeSetEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphEventWaitNodeSetEvent */
  {__pyx_k_cuGraphExecBatchMemOpNodeSetPara, sizeof(__pyx_k_cuGraphExecBatchMemOpNodeSetPara), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecBatchMemOpNodeSetPara */
  {__pyx_k_cuGraphExecChildGraphNodeSetPara, sizeof(__pyx_k_cuGraphExecChildGraphNodeSetPara), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecChildGraphNodeSetPara */
  {__pyx_k_cuGraphExecDestroy, sizeof(__pyx_k_cuGraphExecDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecDestroy */
  {__pyx_k_cuGraphExecEventRecordNodeSetEve, sizeof(__pyx_k_cuGraphExecEventRecordNodeSetEve), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecEventRecordNodeSetEve */
  {__pyx_k_cuGraphExecEventWaitNodeSetEvent, sizeof(__pyx_k_cuGraphExecEventWaitNodeSetEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecEventWaitNodeSetEvent */
  {__pyx_k_cuGraphExecExternalSemaphoresSig, sizeof(__pyx_k_cuGraphExecExternalSemaphoresSig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecExternalSemaphoresSig */
  {__pyx_k_cuGraphExecExternalSemaphoresWai, sizeof(__pyx_k_cuGraphExecExternalSemaphoresWai), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecExternalSemaphoresWai */
  {__pyx_k_cuGraphExecGetFlags, sizeof(__pyx_k_cuGraphExecGetFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecGetFlags */
  {__pyx_k_cuGraphExecHostNodeSetParams, sizeof(__pyx_k_cuGraphExecHostNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecHostNodeSetParams */
  {__pyx_k_cuGraphExecKernelNodeSetParams, sizeof(__pyx_k_cuGraphExecKernelNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecKernelNodeSetParams */
  {__pyx_k_cuGraphExecMemcpyNodeSetParams, sizeof(__pyx_k_cuGraphExecMemcpyNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecMemcpyNodeSetParams */
  {__pyx_k_cuGraphExecMemsetNodeSetParams, sizeof(__pyx_k_cuGraphExecMemsetNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecMemsetNodeSetParams */
  {__pyx_k_cuGraphExecNodeSetParams, sizeof(__pyx_k_cuGraphExecNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecNodeSetParams */
  {__pyx_k_cuGraphExecUpdate, sizeof(__pyx_k_cuGraphExecUpdate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExecUpdate */
  {__pyx_k_cuGraphExternalSemaphoresSignalN, sizeof(__pyx_k_cuGraphExternalSemaphoresSignalN), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExternalSemaphoresSignalN */
  {__pyx_k_cuGraphExternalSemaphoresSignalN_2, sizeof(__pyx_k_cuGraphExternalSemaphoresSignalN_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExternalSemaphoresSignalN_2 */
  {__pyx_k_cuGraphExternalSemaphoresWaitNod, sizeof(__pyx_k_cuGraphExternalSemaphoresWaitNod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExternalSemaphoresWaitNod */
  {__pyx_k_cuGraphExternalSemaphoresWaitNod_2, sizeof(__pyx_k_cuGraphExternalSemaphoresWaitNod_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphExternalSemaphoresWaitNod_2 */
  {__pyx_k_cuGraphGetEdges, sizeof(__pyx_k_cuGraphGetEdges), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphGetEdges */
  {__pyx_k_cuGraphGetEdges_v2, sizeof(__pyx_k_cuGraphGetEdges_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphGetEdges_v2 */
  {__pyx_k_cuGraphGetNodes, sizeof(__pyx_k_cuGraphGetNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphGetNodes */
  {__pyx_k_cuGraphGetRootNodes, sizeof(__pyx_k_cuGraphGetRootNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphGetRootNodes */
  {__pyx_k_cuGraphHostNodeGetParams, sizeof(__pyx_k_cuGraphHostNodeGetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphHostNodeGetParams */
  {__pyx_k_cuGraphHostNodeSetParams, sizeof(__pyx_k_cuGraphHostNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphHostNodeSetParams */
  {__pyx_k_cuGraphInstantiate, sizeof(__pyx_k_cuGraphInstantiate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphInstantiate */
  {__pyx_k_cuGraphInstantiateWithParams, sizeof(__pyx_k_cuGraphInstantiateWithParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphInstantiateWithParams */
  {__pyx_k_cuGraphKernelNodeCopyAttributes, sizeof(__pyx_k_cuGraphKernelNodeCopyAttributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphKernelNodeCopyAttributes */
  {__pyx_k_cuGraphKernelNodeGetAttribute, sizeof(__pyx_k_cuGraphKernelNodeGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphKernelNodeGetAttribute */
  {__pyx_k_cuGraphKernelNodeGetParams, sizeof(__pyx_k_cuGraphKernelNodeGetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphKernelNodeGetParams */
  {__pyx_k_cuGraphKernelNodeSetAttribute, sizeof(__pyx_k_cuGraphKernelNodeSetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphKernelNodeSetAttribute */
  {__pyx_k_cuGraphKernelNodeSetParams, sizeof(__pyx_k_cuGraphKernelNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphKernelNodeSetParams */
  {__pyx_k_cuGraphLaunch, sizeof(__pyx_k_cuGraphLaunch), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphLaunch */
  {__pyx_k_cuGraphMemAllocNodeGetParams, sizeof(__pyx_k_cuGraphMemAllocNodeGetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphMemAllocNodeGetParams */
  {__pyx_k_cuGraphMemFreeNodeGetParams, sizeof(__pyx_k_cuGraphMemFreeNodeGetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphMemFreeNodeGetParams */
  {__pyx_k_cuGraphMemcpyNodeGetParams, sizeof(__pyx_k_cuGraphMemcpyNodeGetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphMemcpyNodeGetParams */
  {__pyx_k_cuGraphMemcpyNodeSetParams, sizeof(__pyx_k_cuGraphMemcpyNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphMemcpyNodeSetParams */
  {__pyx_k_cuGraphMemsetNodeGetParams, sizeof(__pyx_k_cuGraphMemsetNodeGetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphMemsetNodeGetParams */
  {__pyx_k_cuGraphMemsetNodeSetParams, sizeof(__pyx_k_cuGraphMemsetNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphMemsetNodeSetParams */
  {__pyx_k_cuGraphNodeFindInClone, sizeof(__pyx_k_cuGraphNodeFindInClone), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeFindInClone */
  {__pyx_k_cuGraphNodeGetDependencies, sizeof(__pyx_k_cuGraphNodeGetDependencies), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeGetDependencies */
  {__pyx_k_cuGraphNodeGetDependencies_v2, sizeof(__pyx_k_cuGraphNodeGetDependencies_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeGetDependencies_v2 */
  {__pyx_k_cuGraphNodeGetDependentNodes, sizeof(__pyx_k_cuGraphNodeGetDependentNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeGetDependentNodes */
  {__pyx_k_cuGraphNodeGetDependentNodes_v2, sizeof(__pyx_k_cuGraphNodeGetDependentNodes_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeGetDependentNodes_v2 */
  {__pyx_k_cuGraphNodeGetEnabled, sizeof(__pyx_k_cuGraphNodeGetEnabled), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeGetEnabled */
  {__pyx_k_cuGraphNodeGetType, sizeof(__pyx_k_cuGraphNodeGetType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeGetType */
  {__pyx_k_cuGraphNodeSetEnabled, sizeof(__pyx_k_cuGraphNodeSetEnabled), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeSetEnabled */
  {__pyx_k_cuGraphNodeSetParams, sizeof(__pyx_k_cuGraphNodeSetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphNodeSetParams */
  {__pyx_k_cuGraphReleaseUserObject, sizeof(__pyx_k_cuGraphReleaseUserObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphReleaseUserObject */
  {__pyx_k_cuGraphRemoveDependencies, sizeof(__pyx_k_cuGraphRemoveDependencies), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphRemoveDependencies */
  {__pyx_k_cuGraphRemoveDependencies_locals, sizeof(__pyx_k_cuGraphRemoveDependencies_locals), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphRemoveDependencies_locals */
  {__pyx_k_cuGraphRemoveDependencies_v2, sizeof(__pyx_k_cuGraphRemoveDependencies_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphRemoveDependencies_v2 */
  {__pyx_k_cuGraphRemoveDependencies_v2_loc, sizeof(__pyx_k_cuGraphRemoveDependencies_v2_loc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphRemoveDependencies_v2_loc */
  {__pyx_k_cuGraphRetainUserObject, sizeof(__pyx_k_cuGraphRetainUserObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphRetainUserObject */
  {__pyx_k_cuGraphUpload, sizeof(__pyx_k_cuGraphUpload), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphUpload */
  {__pyx_k_cuGraphicsEGLRegisterImage, sizeof(__pyx_k_cuGraphicsEGLRegisterImage), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsEGLRegisterImage */
  {__pyx_k_cuGraphicsGLRegisterBuffer, sizeof(__pyx_k_cuGraphicsGLRegisterBuffer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsGLRegisterBuffer */
  {__pyx_k_cuGraphicsGLRegisterImage, sizeof(__pyx_k_cuGraphicsGLRegisterImage), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsGLRegisterImage */
  {__pyx_k_cuGraphicsMapResources, sizeof(__pyx_k_cuGraphicsMapResources), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsMapResources */
  {__pyx_k_cuGraphicsResourceGetMappedEglFr, sizeof(__pyx_k_cuGraphicsResourceGetMappedEglFr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsResourceGetMappedEglFr */
  {__pyx_k_cuGraphicsResourceGetMappedMipma, sizeof(__pyx_k_cuGraphicsResourceGetMappedMipma), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsResourceGetMappedMipma */
  {__pyx_k_cuGraphicsResourceGetMappedPoint, sizeof(__pyx_k_cuGraphicsResourceGetMappedPoint), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsResourceGetMappedPoint */
  {__pyx_k_cuGraphicsResourceSetMapFlags, sizeof(__pyx_k_cuGraphicsResourceSetMapFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsResourceSetMapFlags */
  {__pyx_k_cuGraphicsSubResourceGetMappedAr, sizeof(__pyx_k_cuGraphicsSubResourceGetMappedAr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsSubResourceGetMappedAr */
  {__pyx_k_cuGraphicsUnmapResources, sizeof(__pyx_k_cuGraphicsUnmapResources), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsUnmapResources */
  {__pyx_k_cuGraphicsUnregisterResource, sizeof(__pyx_k_cuGraphicsUnregisterResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsUnregisterResource */
  {__pyx_k_cuGraphicsVDPAURegisterOutputSur, sizeof(__pyx_k_cuGraphicsVDPAURegisterOutputSur), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsVDPAURegisterOutputSur */
  {__pyx_k_cuGraphicsVDPAURegisterVideoSurf, sizeof(__pyx_k_cuGraphicsVDPAURegisterVideoSurf), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGraphicsVDPAURegisterVideoSurf */
  {__pyx_k_cuGreenCtxCreate, sizeof(__pyx_k_cuGreenCtxCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGreenCtxCreate */
  {__pyx_k_cuGreenCtxDestroy, sizeof(__pyx_k_cuGreenCtxDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGreenCtxDestroy */
  {__pyx_k_cuGreenCtxGetDevResource, sizeof(__pyx_k_cuGreenCtxGetDevResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGreenCtxGetDevResource */
  {__pyx_k_cuGreenCtxRecordEvent, sizeof(__pyx_k_cuGreenCtxRecordEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGreenCtxRecordEvent */
  {__pyx_k_cuGreenCtxStreamCreate, sizeof(__pyx_k_cuGreenCtxStreamCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGreenCtxStreamCreate */
  {__pyx_k_cuGreenCtxWaitEvent, sizeof(__pyx_k_cuGreenCtxWaitEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuGreenCtxWaitEvent */
  {__pyx_k_cuImportExternalMemory, sizeof(__pyx_k_cuImportExternalMemory), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuImportExternalMemory */
  {__pyx_k_cuImportExternalSemaphore, sizeof(__pyx_k_cuImportExternalSemaphore), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuImportExternalSemaphore */
  {__pyx_k_cuInit, sizeof(__pyx_k_cuInit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuInit */
  {__pyx_k_cuIpcCloseMemHandle, sizeof(__pyx_k_cuIpcCloseMemHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuIpcCloseMemHandle */
  {__pyx_k_cuIpcGetEventHandle, sizeof(__pyx_k_cuIpcGetEventHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuIpcGetEventHandle */
  {__pyx_k_cuIpcGetMemHandle, sizeof(__pyx_k_cuIpcGetMemHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuIpcGetMemHandle */
  {__pyx_k_cuIpcOpenEventHandle, sizeof(__pyx_k_cuIpcOpenEventHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuIpcOpenEventHandle */
  {__pyx_k_cuIpcOpenMemHandle, sizeof(__pyx_k_cuIpcOpenMemHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuIpcOpenMemHandle */
  {__pyx_k_cuKernelGetAttribute, sizeof(__pyx_k_cuKernelGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuKernelGetAttribute */
  {__pyx_k_cuKernelGetFunction, sizeof(__pyx_k_cuKernelGetFunction), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuKernelGetFunction */
  {__pyx_k_cuKernelGetLibrary, sizeof(__pyx_k_cuKernelGetLibrary), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuKernelGetLibrary */
  {__pyx_k_cuKernelGetName, sizeof(__pyx_k_cuKernelGetName), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuKernelGetName */
  {__pyx_k_cuKernelGetParamInfo, sizeof(__pyx_k_cuKernelGetParamInfo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuKernelGetParamInfo */
  {__pyx_k_cuKernelSetAttribute, sizeof(__pyx_k_cuKernelSetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuKernelSetAttribute */
  {__pyx_k_cuKernelSetCacheConfig, sizeof(__pyx_k_cuKernelSetCacheConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuKernelSetCacheConfig */
  {__pyx_k_cuLaunch, sizeof(__pyx_k_cuLaunch), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunch */
  {__pyx_k_cuLaunchCooperativeKernel, sizeof(__pyx_k_cuLaunchCooperativeKernel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunchCooperativeKernel */
  {__pyx_k_cuLaunchCooperativeKernelMultiDe, sizeof(__pyx_k_cuLaunchCooperativeKernelMultiDe), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunchCooperativeKernelMultiDe */
  {__pyx_k_cuLaunchCooperativeKernelMultiDe_2, sizeof(__pyx_k_cuLaunchCooperativeKernelMultiDe_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunchCooperativeKernelMultiDe_2 */
  {__pyx_k_cuLaunchGrid, sizeof(__pyx_k_cuLaunchGrid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunchGrid */
  {__pyx_k_cuLaunchGridAsync, sizeof(__pyx_k_cuLaunchGridAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunchGridAsync */
  {__pyx_k_cuLaunchHostFunc, sizeof(__pyx_k_cuLaunchHostFunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunchHostFunc */
  {__pyx_k_cuLaunchKernel, sizeof(__pyx_k_cuLaunchKernel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunchKernel */
  {__pyx_k_cuLaunchKernelEx, sizeof(__pyx_k_cuLaunchKernelEx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLaunchKernelEx */
  {__pyx_k_cuLibraryEnumerateKernels, sizeof(__pyx_k_cuLibraryEnumerateKernels), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryEnumerateKernels */
  {__pyx_k_cuLibraryGetGlobal, sizeof(__pyx_k_cuLibraryGetGlobal), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryGetGlobal */
  {__pyx_k_cuLibraryGetKernel, sizeof(__pyx_k_cuLibraryGetKernel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryGetKernel */
  {__pyx_k_cuLibraryGetKernelCount, sizeof(__pyx_k_cuLibraryGetKernelCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryGetKernelCount */
  {__pyx_k_cuLibraryGetManaged, sizeof(__pyx_k_cuLibraryGetManaged), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryGetManaged */
  {__pyx_k_cuLibraryGetModule, sizeof(__pyx_k_cuLibraryGetModule), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryGetModule */
  {__pyx_k_cuLibraryGetUnifiedFunction, sizeof(__pyx_k_cuLibraryGetUnifiedFunction), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryGetUnifiedFunction */
  {__pyx_k_cuLibraryLoadData, sizeof(__pyx_k_cuLibraryLoadData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryLoadData */
  {__pyx_k_cuLibraryLoadData_locals_genexpr, sizeof(__pyx_k_cuLibraryLoadData_locals_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryLoadData_locals_genexpr */
  {__pyx_k_cuLibraryLoadFromFile, sizeof(__pyx_k_cuLibraryLoadFromFile), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryLoadFromFile */
  {__pyx_k_cuLibraryLoadFromFile_locals_gen, sizeof(__pyx_k_cuLibraryLoadFromFile_locals_gen), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryLoadFromFile_locals_gen */
  {__pyx_k_cuLibraryUnload, sizeof(__pyx_k_cuLibraryUnload), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLibraryUnload */
  {__pyx_k_cuLinkAddData, sizeof(__pyx_k_cuLinkAddData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLinkAddData */
  {__pyx_k_cuLinkAddData_locals_genexpr, sizeof(__pyx_k_cuLinkAddData_locals_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLinkAddData_locals_genexpr */
  {__pyx_k_cuLinkAddFile, sizeof(__pyx_k_cuLinkAddFile), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLinkAddFile */
  {__pyx_k_cuLinkAddFile_locals_genexpr, sizeof(__pyx_k_cuLinkAddFile_locals_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLinkAddFile_locals_genexpr */
  {__pyx_k_cuLinkComplete, sizeof(__pyx_k_cuLinkComplete), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLinkComplete */
  {__pyx_k_cuLinkCreate, sizeof(__pyx_k_cuLinkCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLinkCreate */
  {__pyx_k_cuLinkCreate_locals_genexpr, sizeof(__pyx_k_cuLinkCreate_locals_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLinkCreate_locals_genexpr */
  {__pyx_k_cuLinkDestroy, sizeof(__pyx_k_cuLinkDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLinkDestroy */
  {__pyx_k_cuLogsCurrent, sizeof(__pyx_k_cuLogsCurrent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLogsCurrent */
  {__pyx_k_cuLogsDumpToFile, sizeof(__pyx_k_cuLogsDumpToFile), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLogsDumpToFile */
  {__pyx_k_cuLogsDumpToMemory, sizeof(__pyx_k_cuLogsDumpToMemory), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLogsDumpToMemory */
  {__pyx_k_cuLogsRegisterCallback, sizeof(__pyx_k_cuLogsRegisterCallback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLogsRegisterCallback */
  {__pyx_k_cuLogsUnregisterCallback, sizeof(__pyx_k_cuLogsUnregisterCallback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuLogsUnregisterCallback */
  {__pyx_k_cuMemAddressFree, sizeof(__pyx_k_cuMemAddressFree), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAddressFree */
  {__pyx_k_cuMemAddressReserve, sizeof(__pyx_k_cuMemAddressReserve), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAddressReserve */
  {__pyx_k_cuMemAdvise, sizeof(__pyx_k_cuMemAdvise), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAdvise */
  {__pyx_k_cuMemAdvise_v2, sizeof(__pyx_k_cuMemAdvise_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAdvise_v2 */
  {__pyx_k_cuMemAlloc, sizeof(__pyx_k_cuMemAlloc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAlloc */
  {__pyx_k_cuMemAllocAsync, sizeof(__pyx_k_cuMemAllocAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAllocAsync */
  {__pyx_k_cuMemAllocFromPoolAsync, sizeof(__pyx_k_cuMemAllocFromPoolAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAllocFromPoolAsync */
  {__pyx_k_cuMemAllocHost, sizeof(__pyx_k_cuMemAllocHost), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAllocHost */
  {__pyx_k_cuMemAllocManaged, sizeof(__pyx_k_cuMemAllocManaged), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAllocManaged */
  {__pyx_k_cuMemAllocPitch, sizeof(__pyx_k_cuMemAllocPitch), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemAllocPitch */
  {__pyx_k_cuMemBatchDecompressAsync, sizeof(__pyx_k_cuMemBatchDecompressAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemBatchDecompressAsync */
  {__pyx_k_cuMemCreate, sizeof(__pyx_k_cuMemCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemCreate */
  {__pyx_k_cuMemExportToShareableHandle, sizeof(__pyx_k_cuMemExportToShareableHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemExportToShareableHandle */
  {__pyx_k_cuMemFree, sizeof(__pyx_k_cuMemFree), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemFree */
  {__pyx_k_cuMemFreeAsync, sizeof(__pyx_k_cuMemFreeAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemFreeAsync */
  {__pyx_k_cuMemFreeHost, sizeof(__pyx_k_cuMemFreeHost), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemFreeHost */
  {__pyx_k_cuMemGetAccess, sizeof(__pyx_k_cuMemGetAccess), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemGetAccess */
  {__pyx_k_cuMemGetAddressRange, sizeof(__pyx_k_cuMemGetAddressRange), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemGetAddressRange */
  {__pyx_k_cuMemGetAllocationGranularity, sizeof(__pyx_k_cuMemGetAllocationGranularity), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemGetAllocationGranularity */
  {__pyx_k_cuMemGetAllocationPropertiesFrom, sizeof(__pyx_k_cuMemGetAllocationPropertiesFrom), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemGetAllocationPropertiesFrom */
  {__pyx_k_cuMemGetHandleForAddressRange, sizeof(__pyx_k_cuMemGetHandleForAddressRange), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemGetHandleForAddressRange */
  {__pyx_k_cuMemGetInfo, sizeof(__pyx_k_cuMemGetInfo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemGetInfo */
  {__pyx_k_cuMemHostAlloc, sizeof(__pyx_k_cuMemHostAlloc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemHostAlloc */
  {__pyx_k_cuMemHostGetDevicePointer, sizeof(__pyx_k_cuMemHostGetDevicePointer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemHostGetDevicePointer */
  {__pyx_k_cuMemHostGetFlags, sizeof(__pyx_k_cuMemHostGetFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemHostGetFlags */
  {__pyx_k_cuMemHostRegister, sizeof(__pyx_k_cuMemHostRegister), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemHostRegister */
  {__pyx_k_cuMemHostUnregister, sizeof(__pyx_k_cuMemHostUnregister), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemHostUnregister */
  {__pyx_k_cuMemImportFromShareableHandle, sizeof(__pyx_k_cuMemImportFromShareableHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemImportFromShareableHandle */
  {__pyx_k_cuMemMap, sizeof(__pyx_k_cuMemMap), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemMap */
  {__pyx_k_cuMemMapArrayAsync, sizeof(__pyx_k_cuMemMapArrayAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemMapArrayAsync */
  {__pyx_k_cuMemMapArrayAsync_locals_genexp, sizeof(__pyx_k_cuMemMapArrayAsync_locals_genexp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemMapArrayAsync_locals_genexp */
  {__pyx_k_cuMemPoolCreate, sizeof(__pyx_k_cuMemPoolCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolCreate */
  {__pyx_k_cuMemPoolDestroy, sizeof(__pyx_k_cuMemPoolDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolDestroy */
  {__pyx_k_cuMemPoolExportPointer, sizeof(__pyx_k_cuMemPoolExportPointer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolExportPointer */
  {__pyx_k_cuMemPoolExportToShareableHandle, sizeof(__pyx_k_cuMemPoolExportToShareableHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolExportToShareableHandle */
  {__pyx_k_cuMemPoolGetAccess, sizeof(__pyx_k_cuMemPoolGetAccess), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolGetAccess */
  {__pyx_k_cuMemPoolGetAttribute, sizeof(__pyx_k_cuMemPoolGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolGetAttribute */
  {__pyx_k_cuMemPoolImportFromShareableHand, sizeof(__pyx_k_cuMemPoolImportFromShareableHand), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolImportFromShareableHand */
  {__pyx_k_cuMemPoolImportPointer, sizeof(__pyx_k_cuMemPoolImportPointer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolImportPointer */
  {__pyx_k_cuMemPoolSetAccess, sizeof(__pyx_k_cuMemPoolSetAccess), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolSetAccess */
  {__pyx_k_cuMemPoolSetAccess_locals_genexp, sizeof(__pyx_k_cuMemPoolSetAccess_locals_genexp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolSetAccess_locals_genexp */
  {__pyx_k_cuMemPoolSetAttribute, sizeof(__pyx_k_cuMemPoolSetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolSetAttribute */
  {__pyx_k_cuMemPoolTrimTo, sizeof(__pyx_k_cuMemPoolTrimTo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPoolTrimTo */
  {__pyx_k_cuMemPrefetchAsync, sizeof(__pyx_k_cuMemPrefetchAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPrefetchAsync */
  {__pyx_k_cuMemPrefetchAsync_v2, sizeof(__pyx_k_cuMemPrefetchAsync_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemPrefetchAsync_v2 */
  {__pyx_k_cuMemRangeGetAttribute, sizeof(__pyx_k_cuMemRangeGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemRangeGetAttribute */
  {__pyx_k_cuMemRangeGetAttributes, sizeof(__pyx_k_cuMemRangeGetAttributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemRangeGetAttributes */
  {__pyx_k_cuMemRangeGetAttributes_locals_g, sizeof(__pyx_k_cuMemRangeGetAttributes_locals_g), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemRangeGetAttributes_locals_g */
  {__pyx_k_cuMemRelease, sizeof(__pyx_k_cuMemRelease), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemRelease */
  {__pyx_k_cuMemRetainAllocationHandle, sizeof(__pyx_k_cuMemRetainAllocationHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemRetainAllocationHandle */
  {__pyx_k_cuMemSetAccess, sizeof(__pyx_k_cuMemSetAccess), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemSetAccess */
  {__pyx_k_cuMemSetAccess_locals_genexpr, sizeof(__pyx_k_cuMemSetAccess_locals_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemSetAccess_locals_genexpr */
  {__pyx_k_cuMemUnmap, sizeof(__pyx_k_cuMemUnmap), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemUnmap */
  {__pyx_k_cuMemcpy, sizeof(__pyx_k_cuMemcpy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy */
  {__pyx_k_cuMemcpy2D, sizeof(__pyx_k_cuMemcpy2D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy2D */
  {__pyx_k_cuMemcpy2DAsync, sizeof(__pyx_k_cuMemcpy2DAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy2DAsync */
  {__pyx_k_cuMemcpy2DUnaligned, sizeof(__pyx_k_cuMemcpy2DUnaligned), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy2DUnaligned */
  {__pyx_k_cuMemcpy3D, sizeof(__pyx_k_cuMemcpy3D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy3D */
  {__pyx_k_cuMemcpy3DAsync, sizeof(__pyx_k_cuMemcpy3DAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy3DAsync */
  {__pyx_k_cuMemcpy3DBatchAsync, sizeof(__pyx_k_cuMemcpy3DBatchAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy3DBatchAsync */
  {__pyx_k_cuMemcpy3DBatchAsync_locals_gene, sizeof(__pyx_k_cuMemcpy3DBatchAsync_locals_gene), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy3DBatchAsync_locals_gene */
  {__pyx_k_cuMemcpy3DPeer, sizeof(__pyx_k_cuMemcpy3DPeer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy3DPeer */
  {__pyx_k_cuMemcpy3DPeerAsync, sizeof(__pyx_k_cuMemcpy3DPeerAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpy3DPeerAsync */
  {__pyx_k_cuMemcpyAsync, sizeof(__pyx_k_cuMemcpyAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyAsync */
  {__pyx_k_cuMemcpyAtoA, sizeof(__pyx_k_cuMemcpyAtoA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyAtoA */
  {__pyx_k_cuMemcpyAtoD, sizeof(__pyx_k_cuMemcpyAtoD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyAtoD */
  {__pyx_k_cuMemcpyAtoH, sizeof(__pyx_k_cuMemcpyAtoH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyAtoH */
  {__pyx_k_cuMemcpyAtoHAsync, sizeof(__pyx_k_cuMemcpyAtoHAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyAtoHAsync */
  {__pyx_k_cuMemcpyBatchAsync, sizeof(__pyx_k_cuMemcpyBatchAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyBatchAsync */
  {__pyx_k_cuMemcpyBatchAsync_locals_genexp, sizeof(__pyx_k_cuMemcpyBatchAsync_locals_genexp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyBatchAsync_locals_genexp */
  {__pyx_k_cuMemcpyDtoA, sizeof(__pyx_k_cuMemcpyDtoA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyDtoA */
  {__pyx_k_cuMemcpyDtoD, sizeof(__pyx_k_cuMemcpyDtoD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyDtoD */
  {__pyx_k_cuMemcpyDtoDAsync, sizeof(__pyx_k_cuMemcpyDtoDAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyDtoDAsync */
  {__pyx_k_cuMemcpyDtoH, sizeof(__pyx_k_cuMemcpyDtoH), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyDtoH */
  {__pyx_k_cuMemcpyDtoHAsync, sizeof(__pyx_k_cuMemcpyDtoHAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyDtoHAsync */
  {__pyx_k_cuMemcpyHtoA, sizeof(__pyx_k_cuMemcpyHtoA), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyHtoA */
  {__pyx_k_cuMemcpyHtoAAsync, sizeof(__pyx_k_cuMemcpyHtoAAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyHtoAAsync */
  {__pyx_k_cuMemcpyHtoD, sizeof(__pyx_k_cuMemcpyHtoD), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyHtoD */
  {__pyx_k_cuMemcpyHtoDAsync, sizeof(__pyx_k_cuMemcpyHtoDAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyHtoDAsync */
  {__pyx_k_cuMemcpyPeer, sizeof(__pyx_k_cuMemcpyPeer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyPeer */
  {__pyx_k_cuMemcpyPeerAsync, sizeof(__pyx_k_cuMemcpyPeerAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemcpyPeerAsync */
  {__pyx_k_cuMemsetD16, sizeof(__pyx_k_cuMemsetD16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD16 */
  {__pyx_k_cuMemsetD16Async, sizeof(__pyx_k_cuMemsetD16Async), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD16Async */
  {__pyx_k_cuMemsetD2D16, sizeof(__pyx_k_cuMemsetD2D16), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD2D16 */
  {__pyx_k_cuMemsetD2D16Async, sizeof(__pyx_k_cuMemsetD2D16Async), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD2D16Async */
  {__pyx_k_cuMemsetD2D32, sizeof(__pyx_k_cuMemsetD2D32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD2D32 */
  {__pyx_k_cuMemsetD2D32Async, sizeof(__pyx_k_cuMemsetD2D32Async), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD2D32Async */
  {__pyx_k_cuMemsetD2D8, sizeof(__pyx_k_cuMemsetD2D8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD2D8 */
  {__pyx_k_cuMemsetD2D8Async, sizeof(__pyx_k_cuMemsetD2D8Async), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD2D8Async */
  {__pyx_k_cuMemsetD32, sizeof(__pyx_k_cuMemsetD32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD32 */
  {__pyx_k_cuMemsetD32Async, sizeof(__pyx_k_cuMemsetD32Async), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD32Async */
  {__pyx_k_cuMemsetD8, sizeof(__pyx_k_cuMemsetD8), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD8 */
  {__pyx_k_cuMemsetD8Async, sizeof(__pyx_k_cuMemsetD8Async), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMemsetD8Async */
  {__pyx_k_cuMipmappedArrayCreate, sizeof(__pyx_k_cuMipmappedArrayCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMipmappedArrayCreate */
  {__pyx_k_cuMipmappedArrayDestroy, sizeof(__pyx_k_cuMipmappedArrayDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMipmappedArrayDestroy */
  {__pyx_k_cuMipmappedArrayGetLevel, sizeof(__pyx_k_cuMipmappedArrayGetLevel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMipmappedArrayGetLevel */
  {__pyx_k_cuMipmappedArrayGetMemoryRequire, sizeof(__pyx_k_cuMipmappedArrayGetMemoryRequire), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMipmappedArrayGetMemoryRequire */
  {__pyx_k_cuMipmappedArrayGetSparsePropert, sizeof(__pyx_k_cuMipmappedArrayGetSparsePropert), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMipmappedArrayGetSparsePropert */
  {__pyx_k_cuModuleEnumerateFunctions, sizeof(__pyx_k_cuModuleEnumerateFunctions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleEnumerateFunctions */
  {__pyx_k_cuModuleGetFunction, sizeof(__pyx_k_cuModuleGetFunction), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleGetFunction */
  {__pyx_k_cuModuleGetFunctionCount, sizeof(__pyx_k_cuModuleGetFunctionCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleGetFunctionCount */
  {__pyx_k_cuModuleGetGlobal, sizeof(__pyx_k_cuModuleGetGlobal), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleGetGlobal */
  {__pyx_k_cuModuleGetLoadingMode, sizeof(__pyx_k_cuModuleGetLoadingMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleGetLoadingMode */
  {__pyx_k_cuModuleGetSurfRef, sizeof(__pyx_k_cuModuleGetSurfRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleGetSurfRef */
  {__pyx_k_cuModuleGetTexRef, sizeof(__pyx_k_cuModuleGetTexRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleGetTexRef */
  {__pyx_k_cuModuleLoad, sizeof(__pyx_k_cuModuleLoad), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleLoad */
  {__pyx_k_cuModuleLoadData, sizeof(__pyx_k_cuModuleLoadData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleLoadData */
  {__pyx_k_cuModuleLoadDataEx, sizeof(__pyx_k_cuModuleLoadDataEx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleLoadDataEx */
  {__pyx_k_cuModuleLoadDataEx_locals_genexp, sizeof(__pyx_k_cuModuleLoadDataEx_locals_genexp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleLoadDataEx_locals_genexp */
  {__pyx_k_cuModuleLoadFatBinary, sizeof(__pyx_k_cuModuleLoadFatBinary), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleLoadFatBinary */
  {__pyx_k_cuModuleUnload, sizeof(__pyx_k_cuModuleUnload), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuModuleUnload */
  {__pyx_k_cuMulticastAddDevice, sizeof(__pyx_k_cuMulticastAddDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMulticastAddDevice */
  {__pyx_k_cuMulticastBindAddr, sizeof(__pyx_k_cuMulticastBindAddr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMulticastBindAddr */
  {__pyx_k_cuMulticastBindMem, sizeof(__pyx_k_cuMulticastBindMem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMulticastBindMem */
  {__pyx_k_cuMulticastCreate, sizeof(__pyx_k_cuMulticastCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMulticastCreate */
  {__pyx_k_cuMulticastGetGranularity, sizeof(__pyx_k_cuMulticastGetGranularity), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMulticastGetGranularity */
  {__pyx_k_cuMulticastUnbind, sizeof(__pyx_k_cuMulticastUnbind), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuMulticastUnbind */
  {__pyx_k_cuOccupancyAvailableDynamicSMemP, sizeof(__pyx_k_cuOccupancyAvailableDynamicSMemP), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuOccupancyAvailableDynamicSMemP */
  {__pyx_k_cuOccupancyMaxActiveBlocksPerMul, sizeof(__pyx_k_cuOccupancyMaxActiveBlocksPerMul), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuOccupancyMaxActiveBlocksPerMul */
  {__pyx_k_cuOccupancyMaxActiveBlocksPerMul_2, sizeof(__pyx_k_cuOccupancyMaxActiveBlocksPerMul_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuOccupancyMaxActiveBlocksPerMul_2 */
  {__pyx_k_cuOccupancyMaxActiveClusters, sizeof(__pyx_k_cuOccupancyMaxActiveClusters), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuOccupancyMaxActiveClusters */
  {__pyx_k_cuOccupancyMaxPotentialBlockSize, sizeof(__pyx_k_cuOccupancyMaxPotentialBlockSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuOccupancyMaxPotentialBlockSize */
  {__pyx_k_cuOccupancyMaxPotentialBlockSize_2, sizeof(__pyx_k_cuOccupancyMaxPotentialBlockSize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuOccupancyMaxPotentialBlockSize_2 */
  {__pyx_k_cuOccupancyMaxPotentialClusterSi, sizeof(__pyx_k_cuOccupancyMaxPotentialClusterSi), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuOccupancyMaxPotentialClusterSi */
  {__pyx_k_cuParamSetSize, sizeof(__pyx_k_cuParamSetSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuParamSetSize */
  {__pyx_k_cuParamSetTexRef, sizeof(__pyx_k_cuParamSetTexRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuParamSetTexRef */
  {__pyx_k_cuParamSetf, sizeof(__pyx_k_cuParamSetf), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuParamSetf */
  {__pyx_k_cuParamSeti, sizeof(__pyx_k_cuParamSeti), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuParamSeti */
  {__pyx_k_cuParamSetv, sizeof(__pyx_k_cuParamSetv), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuParamSetv */
  {__pyx_k_cuPointerGetAttribute, sizeof(__pyx_k_cuPointerGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuPointerGetAttribute */
  {__pyx_k_cuPointerGetAttributes, sizeof(__pyx_k_cuPointerGetAttributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuPointerGetAttributes */
  {__pyx_k_cuPointerGetAttributes_locals_ge, sizeof(__pyx_k_cuPointerGetAttributes_locals_ge), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuPointerGetAttributes_locals_ge */
  {__pyx_k_cuPointerSetAttribute, sizeof(__pyx_k_cuPointerSetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuPointerSetAttribute */
  {__pyx_k_cuProfilerStart, sizeof(__pyx_k_cuProfilerStart), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuProfilerStart */
  {__pyx_k_cuProfilerStop, sizeof(__pyx_k_cuProfilerStop), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuProfilerStop */
  {__pyx_k_cuSignalExternalSemaphoresAsync, sizeof(__pyx_k_cuSignalExternalSemaphoresAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuSignalExternalSemaphoresAsync */
  {__pyx_k_cuSignalExternalSemaphoresAsync_2, sizeof(__pyx_k_cuSignalExternalSemaphoresAsync_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuSignalExternalSemaphoresAsync_2 */
  {__pyx_k_cuStreamAddCallback, sizeof(__pyx_k_cuStreamAddCallback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamAddCallback */
  {__pyx_k_cuStreamAttachMemAsync, sizeof(__pyx_k_cuStreamAttachMemAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamAttachMemAsync */
  {__pyx_k_cuStreamBatchMemOp, sizeof(__pyx_k_cuStreamBatchMemOp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamBatchMemOp */
  {__pyx_k_cuStreamBatchMemOp_locals_genexp, sizeof(__pyx_k_cuStreamBatchMemOp_locals_genexp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamBatchMemOp_locals_genexp */
  {__pyx_k_cuStreamBeginCapture, sizeof(__pyx_k_cuStreamBeginCapture), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamBeginCapture */
  {__pyx_k_cuStreamBeginCaptureToGraph, sizeof(__pyx_k_cuStreamBeginCaptureToGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamBeginCaptureToGraph */
  {__pyx_k_cuStreamBeginCaptureToGraph_loca, sizeof(__pyx_k_cuStreamBeginCaptureToGraph_loca), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamBeginCaptureToGraph_loca */
  {__pyx_k_cuStreamCopyAttributes, sizeof(__pyx_k_cuStreamCopyAttributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamCopyAttributes */
  {__pyx_k_cuStreamCreate, sizeof(__pyx_k_cuStreamCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamCreate */
  {__pyx_k_cuStreamCreateWithPriority, sizeof(__pyx_k_cuStreamCreateWithPriority), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamCreateWithPriority */
  {__pyx_k_cuStreamDestroy, sizeof(__pyx_k_cuStreamDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamDestroy */
  {__pyx_k_cuStreamEndCapture, sizeof(__pyx_k_cuStreamEndCapture), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamEndCapture */
  {__pyx_k_cuStreamGetAttribute, sizeof(__pyx_k_cuStreamGetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetAttribute */
  {__pyx_k_cuStreamGetCaptureInfo, sizeof(__pyx_k_cuStreamGetCaptureInfo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetCaptureInfo */
  {__pyx_k_cuStreamGetCaptureInfo_v3, sizeof(__pyx_k_cuStreamGetCaptureInfo_v3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetCaptureInfo_v3 */
  {__pyx_k_cuStreamGetCtx, sizeof(__pyx_k_cuStreamGetCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetCtx */
  {__pyx_k_cuStreamGetCtx_v2, sizeof(__pyx_k_cuStreamGetCtx_v2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetCtx_v2 */
  {__pyx_k_cuStreamGetDevice, sizeof(__pyx_k_cuStreamGetDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetDevice */
  {__pyx_k_cuStreamGetFlags, sizeof(__pyx_k_cuStreamGetFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetFlags */
  {__pyx_k_cuStreamGetGreenCtx, sizeof(__pyx_k_cuStreamGetGreenCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetGreenCtx */
  {__pyx_k_cuStreamGetId, sizeof(__pyx_k_cuStreamGetId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetId */
  {__pyx_k_cuStreamGetPriority, sizeof(__pyx_k_cuStreamGetPriority), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamGetPriority */
  {__pyx_k_cuStreamIsCapturing, sizeof(__pyx_k_cuStreamIsCapturing), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamIsCapturing */
  {__pyx_k_cuStreamQuery, sizeof(__pyx_k_cuStreamQuery), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamQuery */
  {__pyx_k_cuStreamSetAttribute, sizeof(__pyx_k_cuStreamSetAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamSetAttribute */
  {__pyx_k_cuStreamSynchronize, sizeof(__pyx_k_cuStreamSynchronize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamSynchronize */
  {__pyx_k_cuStreamUpdateCaptureDependencie, sizeof(__pyx_k_cuStreamUpdateCaptureDependencie), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamUpdateCaptureDependencie */
  {__pyx_k_cuStreamUpdateCaptureDependencie_2, sizeof(__pyx_k_cuStreamUpdateCaptureDependencie_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamUpdateCaptureDependencie_2 */
  {__pyx_k_cuStreamUpdateCaptureDependencie_3, sizeof(__pyx_k_cuStreamUpdateCaptureDependencie_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamUpdateCaptureDependencie_3 */
  {__pyx_k_cuStreamUpdateCaptureDependencie_4, sizeof(__pyx_k_cuStreamUpdateCaptureDependencie_4), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamUpdateCaptureDependencie_4 */
  {__pyx_k_cuStreamWaitEvent, sizeof(__pyx_k_cuStreamWaitEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamWaitEvent */
  {__pyx_k_cuStreamWaitValue32, sizeof(__pyx_k_cuStreamWaitValue32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamWaitValue32 */
  {__pyx_k_cuStreamWaitValue64, sizeof(__pyx_k_cuStreamWaitValue64), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamWaitValue64 */
  {__pyx_k_cuStreamWriteValue32, sizeof(__pyx_k_cuStreamWriteValue32), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamWriteValue32 */
  {__pyx_k_cuStreamWriteValue64, sizeof(__pyx_k_cuStreamWriteValue64), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuStreamWriteValue64 */
  {__pyx_k_cuSurfObjectCreate, sizeof(__pyx_k_cuSurfObjectCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuSurfObjectCreate */
  {__pyx_k_cuSurfObjectDestroy, sizeof(__pyx_k_cuSurfObjectDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuSurfObjectDestroy */
  {__pyx_k_cuSurfObjectGetResourceDesc, sizeof(__pyx_k_cuSurfObjectGetResourceDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuSurfObjectGetResourceDesc */
  {__pyx_k_cuSurfRefGetArray, sizeof(__pyx_k_cuSurfRefGetArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuSurfRefGetArray */
  {__pyx_k_cuSurfRefSetArray, sizeof(__pyx_k_cuSurfRefSetArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuSurfRefSetArray */
  {__pyx_k_cuTensorMapEncodeIm2col, sizeof(__pyx_k_cuTensorMapEncodeIm2col), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTensorMapEncodeIm2col */
  {__pyx_k_cuTensorMapEncodeIm2colWide, sizeof(__pyx_k_cuTensorMapEncodeIm2colWide), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTensorMapEncodeIm2colWide */
  {__pyx_k_cuTensorMapEncodeIm2colWide_loca, sizeof(__pyx_k_cuTensorMapEncodeIm2colWide_loca), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTensorMapEncodeIm2colWide_loca */
  {__pyx_k_cuTensorMapEncodeIm2col_locals_g, sizeof(__pyx_k_cuTensorMapEncodeIm2col_locals_g), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTensorMapEncodeIm2col_locals_g */
  {__pyx_k_cuTensorMapEncodeTiled, sizeof(__pyx_k_cuTensorMapEncodeTiled), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTensorMapEncodeTiled */
  {__pyx_k_cuTensorMapEncodeTiled_locals_ge, sizeof(__pyx_k_cuTensorMapEncodeTiled_locals_ge), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTensorMapEncodeTiled_locals_ge */
  {__pyx_k_cuTensorMapReplaceAddress, sizeof(__pyx_k_cuTensorMapReplaceAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTensorMapReplaceAddress */
  {__pyx_k_cuTexObjectCreate, sizeof(__pyx_k_cuTexObjectCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexObjectCreate */
  {__pyx_k_cuTexObjectDestroy, sizeof(__pyx_k_cuTexObjectDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexObjectDestroy */
  {__pyx_k_cuTexObjectGetResourceDesc, sizeof(__pyx_k_cuTexObjectGetResourceDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexObjectGetResourceDesc */
  {__pyx_k_cuTexObjectGetResourceViewDesc, sizeof(__pyx_k_cuTexObjectGetResourceViewDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexObjectGetResourceViewDesc */
  {__pyx_k_cuTexObjectGetTextureDesc, sizeof(__pyx_k_cuTexObjectGetTextureDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexObjectGetTextureDesc */
  {__pyx_k_cuTexRefCreate, sizeof(__pyx_k_cuTexRefCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefCreate */
  {__pyx_k_cuTexRefDestroy, sizeof(__pyx_k_cuTexRefDestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefDestroy */
  {__pyx_k_cuTexRefGetAddress, sizeof(__pyx_k_cuTexRefGetAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetAddress */
  {__pyx_k_cuTexRefGetAddressMode, sizeof(__pyx_k_cuTexRefGetAddressMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetAddressMode */
  {__pyx_k_cuTexRefGetArray, sizeof(__pyx_k_cuTexRefGetArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetArray */
  {__pyx_k_cuTexRefGetBorderColor, sizeof(__pyx_k_cuTexRefGetBorderColor), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetBorderColor */
  {__pyx_k_cuTexRefGetFilterMode, sizeof(__pyx_k_cuTexRefGetFilterMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetFilterMode */
  {__pyx_k_cuTexRefGetFlags, sizeof(__pyx_k_cuTexRefGetFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetFlags */
  {__pyx_k_cuTexRefGetFormat, sizeof(__pyx_k_cuTexRefGetFormat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetFormat */
  {__pyx_k_cuTexRefGetMaxAnisotropy, sizeof(__pyx_k_cuTexRefGetMaxAnisotropy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetMaxAnisotropy */
  {__pyx_k_cuTexRefGetMipmapFilterMode, sizeof(__pyx_k_cuTexRefGetMipmapFilterMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetMipmapFilterMode */
  {__pyx_k_cuTexRefGetMipmapLevelBias, sizeof(__pyx_k_cuTexRefGetMipmapLevelBias), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetMipmapLevelBias */
  {__pyx_k_cuTexRefGetMipmapLevelClamp, sizeof(__pyx_k_cuTexRefGetMipmapLevelClamp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetMipmapLevelClamp */
  {__pyx_k_cuTexRefGetMipmappedArray, sizeof(__pyx_k_cuTexRefGetMipmappedArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefGetMipmappedArray */
  {__pyx_k_cuTexRefSetAddress, sizeof(__pyx_k_cuTexRefSetAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetAddress */
  {__pyx_k_cuTexRefSetAddress2D, sizeof(__pyx_k_cuTexRefSetAddress2D), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetAddress2D */
  {__pyx_k_cuTexRefSetAddressMode, sizeof(__pyx_k_cuTexRefSetAddressMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetAddressMode */
  {__pyx_k_cuTexRefSetArray, sizeof(__pyx_k_cuTexRefSetArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetArray */
  {__pyx_k_cuTexRefSetBorderColor, sizeof(__pyx_k_cuTexRefSetBorderColor), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetBorderColor */
  {__pyx_k_cuTexRefSetFilterMode, sizeof(__pyx_k_cuTexRefSetFilterMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetFilterMode */
  {__pyx_k_cuTexRefSetFlags, sizeof(__pyx_k_cuTexRefSetFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetFlags */
  {__pyx_k_cuTexRefSetFormat, sizeof(__pyx_k_cuTexRefSetFormat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetFormat */
  {__pyx_k_cuTexRefSetMaxAnisotropy, sizeof(__pyx_k_cuTexRefSetMaxAnisotropy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetMaxAnisotropy */
  {__pyx_k_cuTexRefSetMipmapFilterMode, sizeof(__pyx_k_cuTexRefSetMipmapFilterMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetMipmapFilterMode */
  {__pyx_k_cuTexRefSetMipmapLevelBias, sizeof(__pyx_k_cuTexRefSetMipmapLevelBias), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetMipmapLevelBias */
  {__pyx_k_cuTexRefSetMipmapLevelClamp, sizeof(__pyx_k_cuTexRefSetMipmapLevelClamp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetMipmapLevelClamp */
  {__pyx_k_cuTexRefSetMipmappedArray, sizeof(__pyx_k_cuTexRefSetMipmappedArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuTexRefSetMipmappedArray */
  {__pyx_k_cuThreadExchangeStreamCaptureMod, sizeof(__pyx_k_cuThreadExchangeStreamCaptureMod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuThreadExchangeStreamCaptureMod */
  {__pyx_k_cuUserObjectCreate, sizeof(__pyx_k_cuUserObjectCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuUserObjectCreate */
  {__pyx_k_cuUserObjectRelease, sizeof(__pyx_k_cuUserObjectRelease), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuUserObjectRelease */
  {__pyx_k_cuUserObjectRetain, sizeof(__pyx_k_cuUserObjectRetain), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuUserObjectRetain */
  {__pyx_k_cuVDPAUCtxCreate, sizeof(__pyx_k_cuVDPAUCtxCreate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuVDPAUCtxCreate */
  {__pyx_k_cuVDPAUGetDevice, sizeof(__pyx_k_cuVDPAUGetDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuVDPAUGetDevice */
  {__pyx_k_cuWaitExternalSemaphoresAsync, sizeof(__pyx_k_cuWaitExternalSemaphoresAsync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuWaitExternalSemaphoresAsync */
  {__pyx_k_cuWaitExternalSemaphoresAsync_lo, sizeof(__pyx_k_cuWaitExternalSemaphoresAsync_lo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuWaitExternalSemaphoresAsync_lo */
  {__pyx_k_cubinOut, sizeof(__pyx_k_cubinOut), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cubinOut */
  {__pyx_k_cuda, sizeof(__pyx_k_cuda), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuda */
  {__pyx_k_cudaBindingsDriverGlobal, sizeof(__pyx_k_cudaBindingsDriverGlobal), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cudaBindingsDriverGlobal */
  {__pyx_k_cudaBindingsDriverGlobal___reduc, sizeof(__pyx_k_cudaBindingsDriverGlobal___reduc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cudaBindingsDriverGlobal___reduc */
  {__pyx_k_cudaBindingsDriverGlobal___setst, sizeof(__pyx_k_cudaBindingsDriverGlobal___setst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cudaBindingsDriverGlobal___setst */
  {__pyx_k_cudaDeviceCount, sizeof(__pyx_k_cudaDeviceCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cudaDeviceCount */
  {__pyx_k_cudaVersion, sizeof(__pyx_k_cudaVersion), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cudaVersion */
  {__pyx_k_cuda_bindings__lib_utils_pxi, sizeof(__pyx_k_cuda_bindings__lib_utils_pxi), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cuda_bindings__lib_utils_pxi */
  {__pyx_k_cuda_bindings_driver, sizeof(__pyx_k_cuda_bindings_driver), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuda_bindings_driver */
  {__pyx_k_cuda_bindings_driver_pyx, sizeof(__pyx_k_cuda_bindings_driver_pyx), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cuda_bindings_driver_pyx */
  {__pyx_k_cuda_bindings_utils, sizeof(__pyx_k_cuda_bindings_utils), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuda_bindings_utils */
  {__pyx_k_cuuint32_t, sizeof(__pyx_k_cuuint32_t), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cuuint32_t */
  {__pyx_k_cuuint32_t_2, sizeof(__pyx_k_cuuint32_t_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuuint32_t_2 */
  {__pyx_k_cuuint32_t___reduce_cython, sizeof(__pyx_k_cuuint32_t___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuuint32_t___reduce_cython */
  {__pyx_k_cuuint32_t___setstate_cython, sizeof(__pyx_k_cuuint32_t___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuuint32_t___setstate_cython */
  {__pyx_k_cuuint32_t_getPtr, sizeof(__pyx_k_cuuint32_t_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuuint32_t_getPtr */
  {__pyx_k_cuuint64_t, sizeof(__pyx_k_cuuint64_t), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuuint64_t */
  {__pyx_k_cuuint64_t_2, sizeof(__pyx_k_cuuint64_t_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_cuuint64_t_2 */
  {__pyx_k_cuuint64_t___reduce_cython, sizeof(__pyx_k_cuuint64_t___reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuuint64_t___reduce_cython */
  {__pyx_k_cuuint64_t___setstate_cython, sizeof(__pyx_k_cuuint64_t___setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuuint64_t___setstate_cython */
  {__pyx_k_cuuint64_t_getPtr, sizeof(__pyx_k_cuuint64_t_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cuuint64_t_getPtr */
  {__pyx_k_cyaddr, sizeof(__pyx_k_cyaddr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyaddr */
  {__pyx_k_cyaddr_ptr, sizeof(__pyx_k_cyaddr_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyaddr_ptr */
  {__pyx_k_cyadvice, sizeof(__pyx_k_cyadvice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyadvice */
  {__pyx_k_cyam, sizeof(__pyx_k_cyam), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyam */
  {__pyx_k_cyargs_ptr, sizeof(__pyx_k_cyargs_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyargs_ptr */
  {__pyx_k_cyarray, sizeof(__pyx_k_cyarray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyarray */
  {__pyx_k_cyattr, sizeof(__pyx_k_cyattr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyattr */
  {__pyx_k_cyattrib, sizeof(__pyx_k_cyattrib), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyattrib */
  {__pyx_k_cyattribute, sizeof(__pyx_k_cyattribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyattribute */
  {__pyx_k_cyattributes, sizeof(__pyx_k_cyattributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyattributes */
  {__pyx_k_cyattrs, sizeof(__pyx_k_cyattrs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyattrs */
  {__pyx_k_cyattrsIdxs, sizeof(__pyx_k_cyattrsIdxs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyattrsIdxs */
  {__pyx_k_cyblockSizeToDynamicSMemSize, sizeof(__pyx_k_cyblockSizeToDynamicSMemSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyblockSizeToDynamicSMemSize */
  {__pyx_k_cyboxDim, sizeof(__pyx_k_cyboxDim), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyboxDim */
  {__pyx_k_cybuffer, sizeof(__pyx_k_cybuffer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cybuffer */
  {__pyx_k_cybufferDesc_ptr, sizeof(__pyx_k_cybufferDesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cybufferDesc_ptr */
  {__pyx_k_cycallback, sizeof(__pyx_k_cycallback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cycallback */
  {__pyx_k_cycallbackFunc, sizeof(__pyx_k_cycallbackFunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cycallbackFunc */
  {__pyx_k_cychannelsPerPixel, sizeof(__pyx_k_cychannelsPerPixel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cychannelsPerPixel */
  {__pyx_k_cychildGraph, sizeof(__pyx_k_cychildGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cychildGraph */
  {__pyx_k_cycode, sizeof(__pyx_k_cycode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cycode */
  {__pyx_k_cycode_ptr, sizeof(__pyx_k_cycode_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cycode_ptr */
  {__pyx_k_cyconfig, sizeof(__pyx_k_cyconfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyconfig */
  {__pyx_k_cyconfig_ptr, sizeof(__pyx_k_cyconfig_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyconfig_ptr */
  {__pyx_k_cyconn, sizeof(__pyx_k_cyconn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyconn */
  {__pyx_k_cycopyParams_ptr, sizeof(__pyx_k_cycopyParams_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cycopyParams_ptr */
  {__pyx_k_cyctx, sizeof(__pyx_k_cyctx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyctx */
  {__pyx_k_cyctxCreateParams_ptr, sizeof(__pyx_k_cyctxCreateParams_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyctxCreateParams_ptr */
  {__pyx_k_cydata, sizeof(__pyx_k_cydata), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydata */
  {__pyx_k_cydataSizes, sizeof(__pyx_k_cydataSizes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydataSizes */
  {__pyx_k_cydata_ptr, sizeof(__pyx_k_cydata_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydata_ptr */
  {__pyx_k_cydependencies, sizeof(__pyx_k_cydependencies), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydependencies */
  {__pyx_k_cydependencies_out, sizeof(__pyx_k_cydependencies_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydependencies_out */
  {__pyx_k_cydependencyData, sizeof(__pyx_k_cydependencyData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydependencyData */
  {__pyx_k_cydependentNodes, sizeof(__pyx_k_cydependentNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydependentNodes */
  {__pyx_k_cydesc, sizeof(__pyx_k_cydesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydesc */
  {__pyx_k_cydesc_ptr, sizeof(__pyx_k_cydesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydesc_ptr */
  {__pyx_k_cydestroy, sizeof(__pyx_k_cydestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydestroy */
  {__pyx_k_cydev, sizeof(__pyx_k_cydev), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydev */
  {__pyx_k_cydevPtr, sizeof(__pyx_k_cydevPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydevPtr */
  {__pyx_k_cydevice, sizeof(__pyx_k_cydevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydevice */
  {__pyx_k_cydeviceList, sizeof(__pyx_k_cydeviceList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydeviceList */
  {__pyx_k_cydptr, sizeof(__pyx_k_cydptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydptr */
  {__pyx_k_cydst, sizeof(__pyx_k_cydst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydst */
  {__pyx_k_cydstArray, sizeof(__pyx_k_cydstArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydstArray */
  {__pyx_k_cydstContext, sizeof(__pyx_k_cydstContext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydstContext */
  {__pyx_k_cydstDevice, sizeof(__pyx_k_cydstDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydstDevice */
  {__pyx_k_cydstHost, sizeof(__pyx_k_cydstHost), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydstHost */
  {__pyx_k_cydstHost_ptr, sizeof(__pyx_k_cydstHost_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydstHost_ptr */
  {__pyx_k_cydsts, sizeof(__pyx_k_cydsts), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cydsts */
  {__pyx_k_cyedgeData, sizeof(__pyx_k_cyedgeData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyedgeData */
  {__pyx_k_cyedgeData_out, sizeof(__pyx_k_cyedgeData_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyedgeData_out */
  {__pyx_k_cyeglSync, sizeof(__pyx_k_cyeglSync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyeglSync */
  {__pyx_k_cyeglframe_ptr, sizeof(__pyx_k_cyeglframe_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyeglframe_ptr */
  {__pyx_k_cyelementStrides, sizeof(__pyx_k_cyelementStrides), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyelementStrides */
  {__pyx_k_cyerror, sizeof(__pyx_k_cyerror), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyerror */
  {__pyx_k_cyevent, sizeof(__pyx_k_cyevent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyevent */
  {__pyx_k_cyextMem, sizeof(__pyx_k_cyextMem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyextMem */
  {__pyx_k_cyextSem, sizeof(__pyx_k_cyextSem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyextSem */
  {__pyx_k_cyextSemArray, sizeof(__pyx_k_cyextSemArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyextSemArray */
  {__pyx_k_cyf, sizeof(__pyx_k_cyf), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyf */
  {__pyx_k_cyfatCubin, sizeof(__pyx_k_cyfatCubin), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfatCubin */
  {__pyx_k_cyfatCubin_ptr, sizeof(__pyx_k_cyfatCubin_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfatCubin_ptr */
  {__pyx_k_cyflags, sizeof(__pyx_k_cyflags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyflags */
  {__pyx_k_cyfm, sizeof(__pyx_k_cyfm), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfm */
  {__pyx_k_cyfmt, sizeof(__pyx_k_cyfmt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfmt */
  {__pyx_k_cyfn, sizeof(__pyx_k_cyfn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfn */
  {__pyx_k_cyfrom, sizeof(__pyx_k_cyfrom), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfrom */
  {__pyx_k_cyfunc, sizeof(__pyx_k_cyfunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfunc */
  {__pyx_k_cyfunction, sizeof(__pyx_k_cyfunction), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfunction */
  {__pyx_k_cyfunctions, sizeof(__pyx_k_cyfunctions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyfunctions */
  {__pyx_k_cyglobalAddress, sizeof(__pyx_k_cyglobalAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyglobalAddress */
  {__pyx_k_cyglobalAddress_ptr, sizeof(__pyx_k_cyglobalAddress_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyglobalAddress_ptr */
  {__pyx_k_cyglobalDim, sizeof(__pyx_k_cyglobalDim), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyglobalDim */
  {__pyx_k_cyglobalStrides, sizeof(__pyx_k_cyglobalStrides), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyglobalStrides */
  {__pyx_k_cygraph, sizeof(__pyx_k_cygraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cygraph */
  {__pyx_k_cygreenCtx, sizeof(__pyx_k_cygreenCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cygreenCtx */
  {__pyx_k_cyhArray, sizeof(__pyx_k_cyhArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhArray */
  {__pyx_k_cyhClonedGraph, sizeof(__pyx_k_cyhClonedGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhClonedGraph */
  {__pyx_k_cyhCtx, sizeof(__pyx_k_cyhCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhCtx */
  {__pyx_k_cyhEnd, sizeof(__pyx_k_cyhEnd), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhEnd */
  {__pyx_k_cyhEvent, sizeof(__pyx_k_cyhEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhEvent */
  {__pyx_k_cyhGraph, sizeof(__pyx_k_cyhGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhGraph */
  {__pyx_k_cyhGraphExec, sizeof(__pyx_k_cyhGraphExec), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhGraphExec */
  {__pyx_k_cyhMipmappedArray, sizeof(__pyx_k_cyhMipmappedArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhMipmappedArray */
  {__pyx_k_cyhNode, sizeof(__pyx_k_cyhNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhNode */
  {__pyx_k_cyhOriginalNode, sizeof(__pyx_k_cyhOriginalNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhOriginalNode */
  {__pyx_k_cyhStart, sizeof(__pyx_k_cyhStart), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhStart */
  {__pyx_k_cyhStream, sizeof(__pyx_k_cyhStream), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhStream */
  {__pyx_k_cyhSurfRef, sizeof(__pyx_k_cyhSurfRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhSurfRef */
  {__pyx_k_cyhTexRef, sizeof(__pyx_k_cyhTexRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhTexRef */
  {__pyx_k_cyhandle, sizeof(__pyx_k_cyhandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhandle */
  {__pyx_k_cyhandleType, sizeof(__pyx_k_cyhandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhandleType */
  {__pyx_k_cyhandle_out, sizeof(__pyx_k_cyhandle_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhandle_out */
  {__pyx_k_cyhandle_out_ptr, sizeof(__pyx_k_cyhandle_out_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhandle_out_ptr */
  {__pyx_k_cyhandle_ptr, sizeof(__pyx_k_cyhandle_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhandle_ptr */
  {__pyx_k_cyheight, sizeof(__pyx_k_cyheight), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyheight */
  {__pyx_k_cyhfunc, sizeof(__pyx_k_cyhfunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhfunc */
  {__pyx_k_cyhmod, sizeof(__pyx_k_cyhmod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyhmod */
  {__pyx_k_cyimage, sizeof(__pyx_k_cyimage), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyimage */
  {__pyx_k_cyimage_ptr, sizeof(__pyx_k_cyimage_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyimage_ptr */
  {__pyx_k_cyinput__ptr, sizeof(__pyx_k_cyinput__ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyinput__ptr */
  {__pyx_k_cyinstantiateParams_ptr, sizeof(__pyx_k_cyinstantiateParams_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyinstantiateParams_ptr */
  {__pyx_k_cyinterleave, sizeof(__pyx_k_cyinterleave), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyinterleave */
  {__pyx_k_cyiterator, sizeof(__pyx_k_cyiterator), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyiterator */
  {__pyx_k_cyjitOptions, sizeof(__pyx_k_cyjitOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyjitOptions */
  {__pyx_k_cyjitOptionsValues_ptr, sizeof(__pyx_k_cyjitOptionsValues_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyjitOptionsValues_ptr */
  {__pyx_k_cykernel, sizeof(__pyx_k_cykernel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cykernel */
  {__pyx_k_cykernelParams, sizeof(__pyx_k_cykernelParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cykernelParams */
  {__pyx_k_cykernelParams_ptr, sizeof(__pyx_k_cykernelParams_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cykernelParams_ptr */
  {__pyx_k_cykernels, sizeof(__pyx_k_cykernels), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cykernels */
  {__pyx_k_cyl2Promotion, sizeof(__pyx_k_cyl2Promotion), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyl2Promotion */
  {__pyx_k_cylaunchParamsList, sizeof(__pyx_k_cylaunchParamsList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cylaunchParamsList */
  {__pyx_k_cylib, sizeof(__pyx_k_cylib), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cylib */
  {__pyx_k_cylibrary, sizeof(__pyx_k_cylibrary), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cylibrary */
  {__pyx_k_cylibraryOptionValues_ptr, sizeof(__pyx_k_cylibraryOptionValues_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cylibraryOptionValues_ptr */
  {__pyx_k_cylibraryOptions, sizeof(__pyx_k_cylibraryOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cylibraryOptions */
  {__pyx_k_cylimit, sizeof(__pyx_k_cylimit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cylimit */
  {__pyx_k_cylocation_ptr, sizeof(__pyx_k_cylocation_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cylocation_ptr */
  {__pyx_k_cymap, sizeof(__pyx_k_cymap), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymap */
  {__pyx_k_cymapInfoList, sizeof(__pyx_k_cymapInfoList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymapInfoList */
  {__pyx_k_cymcHandle, sizeof(__pyx_k_cymcHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymcHandle */
  {__pyx_k_cymemHandle, sizeof(__pyx_k_cymemHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymemHandle */
  {__pyx_k_cymemHandleDesc_ptr, sizeof(__pyx_k_cymemHandleDesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymemHandleDesc_ptr */
  {__pyx_k_cymemPool, sizeof(__pyx_k_cymemPool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymemPool */
  {__pyx_k_cymemptr, sizeof(__pyx_k_cymemptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymemptr */
  {__pyx_k_cymemsetParams_ptr, sizeof(__pyx_k_cymemsetParams_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymemsetParams_ptr */
  {__pyx_k_cymipmap, sizeof(__pyx_k_cymipmap), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymipmap */
  {__pyx_k_cymipmapDesc_ptr, sizeof(__pyx_k_cymipmapDesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymipmapDesc_ptr */
  {__pyx_k_cymod, sizeof(__pyx_k_cymod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymod */
  {__pyx_k_cymode, sizeof(__pyx_k_cymode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cymode */
  {__pyx_k_cynbGroups, sizeof(__pyx_k_cynbGroups), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cynbGroups */
  {__pyx_k_cynodeParams_ptr, sizeof(__pyx_k_cynodeParams_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cynodeParams_ptr */
  {__pyx_k_cynodes, sizeof(__pyx_k_cynodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cynodes */
  {__pyx_k_cynvSciSyncAttrList, sizeof(__pyx_k_cynvSciSyncAttrList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cynvSciSyncAttrList */
  {__pyx_k_cynvSciSyncAttrList_ptr, sizeof(__pyx_k_cynvSciSyncAttrList_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cynvSciSyncAttrList_ptr */
  {__pyx_k_cyobject, sizeof(__pyx_k_cyobject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyobject */
  {__pyx_k_cyoobFill, sizeof(__pyx_k_cyoobFill), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyoobFill */
  {__pyx_k_cyopList, sizeof(__pyx_k_cyopList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyopList */
  {__pyx_k_cyoption, sizeof(__pyx_k_cyoption), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyoption */
  {__pyx_k_cyoptionValues_ptr, sizeof(__pyx_k_cyoptionValues_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyoptionValues_ptr */
  {__pyx_k_cyoptions, sizeof(__pyx_k_cyoptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyoptions */
  {__pyx_k_cyoriginalGraph, sizeof(__pyx_k_cyoriginalGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyoriginalGraph */
  {__pyx_k_cyosHandle, sizeof(__pyx_k_cyosHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyosHandle */
  {__pyx_k_cyosHandle_ptr, sizeof(__pyx_k_cyosHandle_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyosHandle_ptr */
  {__pyx_k_cyp, sizeof(__pyx_k_cyp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyp */
  {__pyx_k_cypAllocateArray_ptr, sizeof(__pyx_k_cypAllocateArray_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypAllocateArray_ptr */
  {__pyx_k_cypCopy_ptr, sizeof(__pyx_k_cypCopy_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypCopy_ptr */
  {__pyx_k_cypCudaDevices, sizeof(__pyx_k_cypCudaDevices), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypCudaDevices */
  {__pyx_k_cypCudaResource, sizeof(__pyx_k_cypCudaResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypCudaResource */
  {__pyx_k_cypExportTableId_ptr, sizeof(__pyx_k_cypExportTableId_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypExportTableId_ptr */
  {__pyx_k_cypMipmappedArrayDesc_ptr, sizeof(__pyx_k_cypMipmappedArrayDesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypMipmappedArrayDesc_ptr */
  {__pyx_k_cypResDesc_ptr, sizeof(__pyx_k_cypResDesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypResDesc_ptr */
  {__pyx_k_cypResViewDesc_ptr, sizeof(__pyx_k_cypResViewDesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypResViewDesc_ptr */
  {__pyx_k_cypStream, sizeof(__pyx_k_cypStream), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypStream */
  {__pyx_k_cypTexDesc_ptr, sizeof(__pyx_k_cypTexDesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypTexDesc_ptr */
  {__pyx_k_cyp_ptr, sizeof(__pyx_k_cyp_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyp_ptr */
  {__pyx_k_cyparamArray, sizeof(__pyx_k_cyparamArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyparamArray */
  {__pyx_k_cyparamsArray, sizeof(__pyx_k_cyparamsArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyparamsArray */
  {__pyx_k_cyparamsArray_ptr, sizeof(__pyx_k_cyparamsArray_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyparamsArray_ptr */
  {__pyx_k_cypeerContext, sizeof(__pyx_k_cypeerContext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypeerContext */
  {__pyx_k_cypeerDev, sizeof(__pyx_k_cypeerDev), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypeerDev */
  {__pyx_k_cypformat, sizeof(__pyx_k_cypformat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypformat */
  {__pyx_k_cypixelBoxLowerCorner, sizeof(__pyx_k_cypixelBoxLowerCorner), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypixelBoxLowerCorner */
  {__pyx_k_cypixelBoxUpperCorner, sizeof(__pyx_k_cypixelBoxUpperCorner), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypixelBoxUpperCorner */
  {__pyx_k_cypixelsPerColumn, sizeof(__pyx_k_cypixelsPerColumn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypixelsPerColumn */
  {__pyx_k_cypool, sizeof(__pyx_k_cypool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypool */
  {__pyx_k_cypoolProps_ptr, sizeof(__pyx_k_cypoolProps_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cypoolProps_ptr */
  {__pyx_k_cyprop_ptr, sizeof(__pyx_k_cyprop_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyprop_ptr */
  {__pyx_k_cyptr, sizeof(__pyx_k_cyptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyptr */
  {__pyx_k_cyptr_ptr, sizeof(__pyx_k_cyptr_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyptr_ptr */
  {__pyx_k_cyresource, sizeof(__pyx_k_cyresource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyresource */
  {__pyx_k_cyresources, sizeof(__pyx_k_cyresources), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyresources */
  {__pyx_k_cyresult, sizeof(__pyx_k_cyresult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyresult */
  {__pyx_k_cyrootNodes, sizeof(__pyx_k_cyrootNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyrootNodes */
  {__pyx_k_cyscope, sizeof(__pyx_k_cyscope), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyscope */
  {__pyx_k_cysemHandleDesc_ptr, sizeof(__pyx_k_cysemHandleDesc_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysemHandleDesc_ptr */
  {__pyx_k_cyshHandleType, sizeof(__pyx_k_cyshHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyshHandleType */
  {__pyx_k_cyshareData_ptr, sizeof(__pyx_k_cyshareData_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyshareData_ptr */
  {__pyx_k_cyshareableHandle, sizeof(__pyx_k_cyshareableHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyshareableHandle */
  {__pyx_k_cyshareableHandle_ptr, sizeof(__pyx_k_cyshareableHandle_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyshareableHandle_ptr */
  {__pyx_k_cysizes, sizeof(__pyx_k_cysizes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysizes */
  {__pyx_k_cysrc, sizeof(__pyx_k_cysrc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysrc */
  {__pyx_k_cysrcArray, sizeof(__pyx_k_cysrcArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysrcArray */
  {__pyx_k_cysrcContext, sizeof(__pyx_k_cysrcContext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysrcContext */
  {__pyx_k_cysrcDevice, sizeof(__pyx_k_cysrcDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysrcDevice */
  {__pyx_k_cysrcHost, sizeof(__pyx_k_cysrcHost), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysrcHost */
  {__pyx_k_cysrcHost_ptr, sizeof(__pyx_k_cysrcHost_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysrcHost_ptr */
  {__pyx_k_cysrcs, sizeof(__pyx_k_cysrcs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysrcs */
  {__pyx_k_cystate, sizeof(__pyx_k_cystate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cystate */
  {__pyx_k_cystream, sizeof(__pyx_k_cystream), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cystream */
  {__pyx_k_cysurfObject, sizeof(__pyx_k_cysurfObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cysurfObject */
  {__pyx_k_cyswizzle, sizeof(__pyx_k_cyswizzle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyswizzle */
  {__pyx_k_cytarget, sizeof(__pyx_k_cytarget), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cytarget */
  {__pyx_k_cytensorDataType, sizeof(__pyx_k_cytensorDataType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cytensorDataType */
  {__pyx_k_cytensorMap_ptr, sizeof(__pyx_k_cytensorMap_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cytensorMap_ptr */
  {__pyx_k_cytensorRank, sizeof(__pyx_k_cytensorRank), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cytensorRank */
  {__pyx_k_cytexObject, sizeof(__pyx_k_cytexObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cytexObject */
  {__pyx_k_cyto, sizeof(__pyx_k_cyto), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyto */
  {__pyx_k_cytypename, sizeof(__pyx_k_cytypename), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cytypename */
  {__pyx_k_cyuserData, sizeof(__pyx_k_cyuserData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyuserData */
  {__pyx_k_cyuserData_ptr, sizeof(__pyx_k_cyuserData_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyuserData_ptr */
  {__pyx_k_cyvalue, sizeof(__pyx_k_cyvalue), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyvalue */
  {__pyx_k_cyvalue_ptr, sizeof(__pyx_k_cyvalue_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyvalue_ptr */
  {__pyx_k_cyvdpDevice, sizeof(__pyx_k_cyvdpDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyvdpDevice */
  {__pyx_k_cyvdpGetProcAddress, sizeof(__pyx_k_cyvdpGetProcAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyvdpGetProcAddress */
  {__pyx_k_cyvdpSurface, sizeof(__pyx_k_cyvdpSurface), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyvdpSurface */
  {__pyx_k_cyvoidStarHelper_ptr, sizeof(__pyx_k_cyvoidStarHelper_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cyvoidStarHelper_ptr */
  {__pyx_k_cywidth, sizeof(__pyx_k_cywidth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_cywidth */
  {__pyx_k_data, sizeof(__pyx_k_data), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_data */
  {__pyx_k_dataSize, sizeof(__pyx_k_dataSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dataSize */
  {__pyx_k_dataSizes, sizeof(__pyx_k_dataSizes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dataSizes */
  {__pyx_k_dataTable, sizeof(__pyx_k_dataTable), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dataTable */
  {__pyx_k_dataTable_2, sizeof(__pyx_k_dataTable_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dataTable_2 */
  {__pyx_k_dataTable_ValueError, sizeof(__pyx_k_dataTable_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dataTable_ValueError */
  {__pyx_k_dataWindowSize, sizeof(__pyx_k_dataWindowSize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dataWindowSize */
  {__pyx_k_dataWindowSize_2, sizeof(__pyx_k_dataWindowSize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dataWindowSize_2 */
  {__pyx_k_dataWindowSize_ValueError, sizeof(__pyx_k_dataWindowSize_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dataWindowSize_ValueError */
  {__pyx_k_data_2, sizeof(__pyx_k_data_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_data_2 */
  {__pyx_k_data_ValueError, sizeof(__pyx_k_data_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_data_ValueError */
  {__pyx_k_data_length_must_be_64_is, sizeof(__pyx_k_data_length_must_be_64_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_data_length_must_be_64_is */
  {__pyx_k_data_size, sizeof(__pyx_k_data_size), 0, 1, 1}, /* PyObject cname: __pyx_n_u_data_size */
  {__pyx_k_default, sizeof(__pyx_k_default), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_default */
  {__pyx_k_defaultLaunchValue, sizeof(__pyx_k_defaultLaunchValue), 0, 1, 1}, /* PyObject cname: __pyx_n_u_defaultLaunchValue */
  {__pyx_k_default_2, sizeof(__pyx_k_default_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_default_2 */
  {__pyx_k_default__ValueError, sizeof(__pyx_k_default__ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_default__ValueError */
  {__pyx_k_dependencies, sizeof(__pyx_k_dependencies), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dependencies */
  {__pyx_k_dependencyData, sizeof(__pyx_k_dependencyData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dependencyData */
  {__pyx_k_depth, sizeof(__pyx_k_depth), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_depth */
  {__pyx_k_depth_2, sizeof(__pyx_k_depth_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_depth_2 */
  {__pyx_k_depth_ValueError, sizeof(__pyx_k_depth_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_depth_ValueError */
  {__pyx_k_desc, sizeof(__pyx_k_desc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_desc */
  {__pyx_k_destroy, sizeof(__pyx_k_destroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_destroy */
  {__pyx_k_dev, sizeof(__pyx_k_dev), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dev */
  {__pyx_k_devNode, sizeof(__pyx_k_devNode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_devNode */
  {__pyx_k_devNode_2, sizeof(__pyx_k_devNode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_devNode_2 */
  {__pyx_k_devNode_ValueError, sizeof(__pyx_k_devNode_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_devNode_ValueError */
  {__pyx_k_devPtr, sizeof(__pyx_k_devPtr), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_devPtr */
  {__pyx_k_devPtr_2, sizeof(__pyx_k_devPtr_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_devPtr_2 */
  {__pyx_k_devPtr_ValueError, sizeof(__pyx_k_devPtr_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_devPtr_ValueError */
  {__pyx_k_device, sizeof(__pyx_k_device), 0, 1, 1}, /* PyObject cname: __pyx_n_u_device */
  {__pyx_k_deviceBitMask, sizeof(__pyx_k_deviceBitMask), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_deviceBitMask */
  {__pyx_k_deviceBitMask_2, sizeof(__pyx_k_deviceBitMask_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_deviceBitMask_2 */
  {__pyx_k_deviceBitMask_ValueError, sizeof(__pyx_k_deviceBitMask_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_deviceBitMask_ValueError */
  {__pyx_k_deviceList, sizeof(__pyx_k_deviceList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_deviceList */
  {__pyx_k_deviceNodeMask, sizeof(__pyx_k_deviceNodeMask), 0, 1, 1}, /* PyObject cname: __pyx_n_u_deviceNodeMask */
  {__pyx_k_deviceUpdatable, sizeof(__pyx_k_deviceUpdatable), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_deviceUpdatable */
  {__pyx_k_deviceUpdatableKernelNode, sizeof(__pyx_k_deviceUpdatableKernelNode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_deviceUpdatableKernelNode */
  {__pyx_k_deviceUpdatableKernelNode_2, sizeof(__pyx_k_deviceUpdatableKernelNode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_deviceUpdatableKernelNode_2 */
  {__pyx_k_deviceUpdatableKernelNode_ValueE, sizeof(__pyx_k_deviceUpdatableKernelNode_ValueE), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_deviceUpdatableKernelNode_ValueE */
  {__pyx_k_deviceUpdatable_2, sizeof(__pyx_k_deviceUpdatable_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_deviceUpdatable_2 */
  {__pyx_k_deviceUpdatable_ValueError, sizeof(__pyx_k_deviceUpdatable_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_deviceUpdatable_ValueError */
  {__pyx_k_dict_CUCoredumpGenerationFlags, sizeof(__pyx_k_dict_CUCoredumpGenerationFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUCoredumpGenerationFlags */
  {__pyx_k_dict_CUDA_POINTER_ATTRIBUTE_ACC, sizeof(__pyx_k_dict_CUDA_POINTER_ATTRIBUTE_ACC), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUDA_POINTER_ATTRIBUTE_ACC */
  {__pyx_k_dict_CUGLDeviceList, sizeof(__pyx_k_dict_CUGLDeviceList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUGLDeviceList */
  {__pyx_k_dict_CUGLmap_flags, sizeof(__pyx_k_dict_CUGLmap_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUGLmap_flags */
  {__pyx_k_dict_CUGPUDirectRDMAWritesOrder, sizeof(__pyx_k_dict_CUGPUDirectRDMAWritesOrder), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUGPUDirectRDMAWritesOrder */
  {__pyx_k_dict_CUaccessProperty, sizeof(__pyx_k_dict_CUaccessProperty), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUaccessProperty */
  {__pyx_k_dict_CUaddress_mode, sizeof(__pyx_k_dict_CUaddress_mode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUaddress_mode */
  {__pyx_k_dict_CUarraySparseSubresourceTy, sizeof(__pyx_k_dict_CUarraySparseSubresourceTy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUarraySparseSubresourceTy */
  {__pyx_k_dict_CUarray_cubemap_face, sizeof(__pyx_k_dict_CUarray_cubemap_face), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUarray_cubemap_face */
  {__pyx_k_dict_CUarray_format, sizeof(__pyx_k_dict_CUarray_format), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUarray_format */
  {__pyx_k_dict_CUasyncNotificationType, sizeof(__pyx_k_dict_CUasyncNotificationType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUasyncNotificationType */
  {__pyx_k_dict_CUcigDataType, sizeof(__pyx_k_dict_CUcigDataType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUcigDataType */
  {__pyx_k_dict_CUclusterSchedulingPolicy, sizeof(__pyx_k_dict_CUclusterSchedulingPolicy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUclusterSchedulingPolicy */
  {__pyx_k_dict_CUcomputemode, sizeof(__pyx_k_dict_CUcomputemode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUcomputemode */
  {__pyx_k_dict_CUcoredumpSettings, sizeof(__pyx_k_dict_CUcoredumpSettings), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUcoredumpSettings */
  {__pyx_k_dict_CUctx_flags, sizeof(__pyx_k_dict_CUctx_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUctx_flags */
  {__pyx_k_dict_CUdevResourceType, sizeof(__pyx_k_dict_CUdevResourceType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUdevResourceType */
  {__pyx_k_dict_CUdevSmResourceSplit_flags, sizeof(__pyx_k_dict_CUdevSmResourceSplit_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUdevSmResourceSplit_flags */
  {__pyx_k_dict_CUdeviceNumaConfig, sizeof(__pyx_k_dict_CUdeviceNumaConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUdeviceNumaConfig */
  {__pyx_k_dict_CUdevice_P2PAttribute, sizeof(__pyx_k_dict_CUdevice_P2PAttribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUdevice_P2PAttribute */
  {__pyx_k_dict_CUdevice_attribute, sizeof(__pyx_k_dict_CUdevice_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUdevice_attribute */
  {__pyx_k_dict_CUdriverProcAddressQueryRe, sizeof(__pyx_k_dict_CUdriverProcAddressQueryRe), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUdriverProcAddressQueryRe */
  {__pyx_k_dict_CUdriverProcAddress_flags, sizeof(__pyx_k_dict_CUdriverProcAddress_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUdriverProcAddress_flags */
  {__pyx_k_dict_CUeglColorFormat, sizeof(__pyx_k_dict_CUeglColorFormat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUeglColorFormat */
  {__pyx_k_dict_CUeglFrameType, sizeof(__pyx_k_dict_CUeglFrameType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUeglFrameType */
  {__pyx_k_dict_CUeglResourceLocationFlags, sizeof(__pyx_k_dict_CUeglResourceLocationFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUeglResourceLocationFlags */
  {__pyx_k_dict_CUevent_flags, sizeof(__pyx_k_dict_CUevent_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUevent_flags */
  {__pyx_k_dict_CUevent_record_flags, sizeof(__pyx_k_dict_CUevent_record_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUevent_record_flags */
  {__pyx_k_dict_CUevent_sched_flags, sizeof(__pyx_k_dict_CUevent_sched_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUevent_sched_flags */
  {__pyx_k_dict_CUevent_wait_flags, sizeof(__pyx_k_dict_CUevent_wait_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUevent_wait_flags */
  {__pyx_k_dict_CUexecAffinityType, sizeof(__pyx_k_dict_CUexecAffinityType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUexecAffinityType */
  {__pyx_k_dict_CUexternalMemoryHandleType, sizeof(__pyx_k_dict_CUexternalMemoryHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUexternalMemoryHandleType */
  {__pyx_k_dict_CUexternalSemaphoreHandleT, sizeof(__pyx_k_dict_CUexternalSemaphoreHandleT), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUexternalSemaphoreHandleT */
  {__pyx_k_dict_CUfilter_mode, sizeof(__pyx_k_dict_CUfilter_mode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUfilter_mode */
  {__pyx_k_dict_CUflushGPUDirectRDMAWrites, sizeof(__pyx_k_dict_CUflushGPUDirectRDMAWrites), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUflushGPUDirectRDMAWrites */
  {__pyx_k_dict_CUflushGPUDirectRDMAWrites_2, sizeof(__pyx_k_dict_CUflushGPUDirectRDMAWrites_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUflushGPUDirectRDMAWrites_2 */
  {__pyx_k_dict_CUflushGPUDirectRDMAWrites_3, sizeof(__pyx_k_dict_CUflushGPUDirectRDMAWrites_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUflushGPUDirectRDMAWrites_3 */
  {__pyx_k_dict_CUfunc_cache, sizeof(__pyx_k_dict_CUfunc_cache), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUfunc_cache */
  {__pyx_k_dict_CUfunctionLoadingState, sizeof(__pyx_k_dict_CUfunctionLoadingState), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUfunctionLoadingState */
  {__pyx_k_dict_CUfunction_attribute, sizeof(__pyx_k_dict_CUfunction_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUfunction_attribute */
  {__pyx_k_dict_CUgraphChildGraphNodeOwner, sizeof(__pyx_k_dict_CUgraphChildGraphNodeOwner), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphChildGraphNodeOwner */
  {__pyx_k_dict_CUgraphConditionalNodeType, sizeof(__pyx_k_dict_CUgraphConditionalNodeType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphConditionalNodeType */
  {__pyx_k_dict_CUgraphDebugDot_flags, sizeof(__pyx_k_dict_CUgraphDebugDot_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphDebugDot_flags */
  {__pyx_k_dict_CUgraphDependencyType, sizeof(__pyx_k_dict_CUgraphDependencyType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphDependencyType */
  {__pyx_k_dict_CUgraphExecUpdateResult, sizeof(__pyx_k_dict_CUgraphExecUpdateResult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphExecUpdateResult */
  {__pyx_k_dict_CUgraphInstantiateResult, sizeof(__pyx_k_dict_CUgraphInstantiateResult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphInstantiateResult */
  {__pyx_k_dict_CUgraphInstantiate_flags, sizeof(__pyx_k_dict_CUgraphInstantiate_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphInstantiate_flags */
  {__pyx_k_dict_CUgraphMem_attribute, sizeof(__pyx_k_dict_CUgraphMem_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphMem_attribute */
  {__pyx_k_dict_CUgraphNodeType, sizeof(__pyx_k_dict_CUgraphNodeType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphNodeType */
  {__pyx_k_dict_CUgraphicsMapResourceFlags, sizeof(__pyx_k_dict_CUgraphicsMapResourceFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphicsMapResourceFlags */
  {__pyx_k_dict_CUgraphicsRegisterFlags, sizeof(__pyx_k_dict_CUgraphicsRegisterFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgraphicsRegisterFlags */
  {__pyx_k_dict_CUgreenCtxCreate_flags, sizeof(__pyx_k_dict_CUgreenCtxCreate_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUgreenCtxCreate_flags */
  {__pyx_k_dict_CUipcMem_flags, sizeof(__pyx_k_dict_CUipcMem_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUipcMem_flags */
  {__pyx_k_dict_CUjitInputType, sizeof(__pyx_k_dict_CUjitInputType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUjitInputType */
  {__pyx_k_dict_CUjit_cacheMode, sizeof(__pyx_k_dict_CUjit_cacheMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUjit_cacheMode */
  {__pyx_k_dict_CUjit_fallback, sizeof(__pyx_k_dict_CUjit_fallback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUjit_fallback */
  {__pyx_k_dict_CUjit_option, sizeof(__pyx_k_dict_CUjit_option), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUjit_option */
  {__pyx_k_dict_CUjit_target, sizeof(__pyx_k_dict_CUjit_target), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUjit_target */
  {__pyx_k_dict_CUlaunchAttributeID, sizeof(__pyx_k_dict_CUlaunchAttributeID), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUlaunchAttributeID */
  {__pyx_k_dict_CUlaunchMemSyncDomain, sizeof(__pyx_k_dict_CUlaunchMemSyncDomain), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUlaunchMemSyncDomain */
  {__pyx_k_dict_CUlibraryOption, sizeof(__pyx_k_dict_CUlibraryOption), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUlibraryOption */
  {__pyx_k_dict_CUlimit, sizeof(__pyx_k_dict_CUlimit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUlimit */
  {__pyx_k_dict_CUlogLevel, sizeof(__pyx_k_dict_CUlogLevel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUlogLevel */
  {__pyx_k_dict_CUmemAccess_flags, sizeof(__pyx_k_dict_CUmemAccess_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemAccess_flags */
  {__pyx_k_dict_CUmemAllocationCompType, sizeof(__pyx_k_dict_CUmemAllocationCompType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemAllocationCompType */
  {__pyx_k_dict_CUmemAllocationGranularity, sizeof(__pyx_k_dict_CUmemAllocationGranularity), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemAllocationGranularity */
  {__pyx_k_dict_CUmemAllocationHandleType, sizeof(__pyx_k_dict_CUmemAllocationHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemAllocationHandleType */
  {__pyx_k_dict_CUmemAllocationType, sizeof(__pyx_k_dict_CUmemAllocationType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemAllocationType */
  {__pyx_k_dict_CUmemAttach_flags, sizeof(__pyx_k_dict_CUmemAttach_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemAttach_flags */
  {__pyx_k_dict_CUmemDecompressAlgorithm, sizeof(__pyx_k_dict_CUmemDecompressAlgorithm), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemDecompressAlgorithm */
  {__pyx_k_dict_CUmemHandleType, sizeof(__pyx_k_dict_CUmemHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemHandleType */
  {__pyx_k_dict_CUmemLocationType, sizeof(__pyx_k_dict_CUmemLocationType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemLocationType */
  {__pyx_k_dict_CUmemOperationType, sizeof(__pyx_k_dict_CUmemOperationType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemOperationType */
  {__pyx_k_dict_CUmemPool_attribute, sizeof(__pyx_k_dict_CUmemPool_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemPool_attribute */
  {__pyx_k_dict_CUmemRangeFlags, sizeof(__pyx_k_dict_CUmemRangeFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemRangeFlags */
  {__pyx_k_dict_CUmemRangeHandleType, sizeof(__pyx_k_dict_CUmemRangeHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemRangeHandleType */
  {__pyx_k_dict_CUmem_advise, sizeof(__pyx_k_dict_CUmem_advise), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmem_advise */
  {__pyx_k_dict_CUmem_range_attribute, sizeof(__pyx_k_dict_CUmem_range_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmem_range_attribute */
  {__pyx_k_dict_CUmemcpy3DOperandType, sizeof(__pyx_k_dict_CUmemcpy3DOperandType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemcpy3DOperandType */
  {__pyx_k_dict_CUmemcpyFlags, sizeof(__pyx_k_dict_CUmemcpyFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemcpyFlags */
  {__pyx_k_dict_CUmemcpySrcAccessOrder, sizeof(__pyx_k_dict_CUmemcpySrcAccessOrder), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemcpySrcAccessOrder */
  {__pyx_k_dict_CUmemorytype, sizeof(__pyx_k_dict_CUmemorytype), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmemorytype */
  {__pyx_k_dict_CUmoduleLoadingMode, sizeof(__pyx_k_dict_CUmoduleLoadingMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmoduleLoadingMode */
  {__pyx_k_dict_CUmulticastGranularity_fla, sizeof(__pyx_k_dict_CUmulticastGranularity_fla), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUmulticastGranularity_fla */
  {__pyx_k_dict_CUoccupancy_flags, sizeof(__pyx_k_dict_CUoccupancy_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUoccupancy_flags */
  {__pyx_k_dict_CUoutput_mode, sizeof(__pyx_k_dict_CUoutput_mode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUoutput_mode */
  {__pyx_k_dict_CUpointer_attribute, sizeof(__pyx_k_dict_CUpointer_attribute), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUpointer_attribute */
  {__pyx_k_dict_CUprocessState, sizeof(__pyx_k_dict_CUprocessState), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUprocessState */
  {__pyx_k_dict_CUresourceViewFormat, sizeof(__pyx_k_dict_CUresourceViewFormat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUresourceViewFormat */
  {__pyx_k_dict_CUresourcetype, sizeof(__pyx_k_dict_CUresourcetype), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUresourcetype */
  {__pyx_k_dict_CUresult, sizeof(__pyx_k_dict_CUresult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUresult */
  {__pyx_k_dict_CUshared_carveout, sizeof(__pyx_k_dict_CUshared_carveout), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUshared_carveout */
  {__pyx_k_dict_CUsharedconfig, sizeof(__pyx_k_dict_CUsharedconfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUsharedconfig */
  {__pyx_k_dict_CUstreamBatchMemOpType, sizeof(__pyx_k_dict_CUstreamBatchMemOpType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUstreamBatchMemOpType */
  {__pyx_k_dict_CUstreamCaptureMode, sizeof(__pyx_k_dict_CUstreamCaptureMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUstreamCaptureMode */
  {__pyx_k_dict_CUstreamCaptureStatus, sizeof(__pyx_k_dict_CUstreamCaptureStatus), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUstreamCaptureStatus */
  {__pyx_k_dict_CUstreamMemoryBarrier_flag, sizeof(__pyx_k_dict_CUstreamMemoryBarrier_flag), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUstreamMemoryBarrier_flag */
  {__pyx_k_dict_CUstreamUpdateCaptureDepen, sizeof(__pyx_k_dict_CUstreamUpdateCaptureDepen), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUstreamUpdateCaptureDepen */
  {__pyx_k_dict_CUstreamWaitValue_flags, sizeof(__pyx_k_dict_CUstreamWaitValue_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUstreamWaitValue_flags */
  {__pyx_k_dict_CUstreamWriteValue_flags, sizeof(__pyx_k_dict_CUstreamWriteValue_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUstreamWriteValue_flags */
  {__pyx_k_dict_CUstream_flags, sizeof(__pyx_k_dict_CUstream_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUstream_flags */
  {__pyx_k_dict_CUsynchronizationPolicy, sizeof(__pyx_k_dict_CUsynchronizationPolicy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUsynchronizationPolicy */
  {__pyx_k_dict_CUtensorMapDataType, sizeof(__pyx_k_dict_CUtensorMapDataType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUtensorMapDataType */
  {__pyx_k_dict_CUtensorMapFloatOOBfill, sizeof(__pyx_k_dict_CUtensorMapFloatOOBfill), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUtensorMapFloatOOBfill */
  {__pyx_k_dict_CUtensorMapIm2ColWideMode, sizeof(__pyx_k_dict_CUtensorMapIm2ColWideMode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUtensorMapIm2ColWideMode */
  {__pyx_k_dict_CUtensorMapInterleave, sizeof(__pyx_k_dict_CUtensorMapInterleave), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUtensorMapInterleave */
  {__pyx_k_dict_CUtensorMapL2promotion, sizeof(__pyx_k_dict_CUtensorMapL2promotion), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUtensorMapL2promotion */
  {__pyx_k_dict_CUtensorMapSwizzle, sizeof(__pyx_k_dict_CUtensorMapSwizzle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUtensorMapSwizzle */
  {__pyx_k_dict_CUuserObjectRetain_flags, sizeof(__pyx_k_dict_CUuserObjectRetain_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUuserObjectRetain_flags */
  {__pyx_k_dict_CUuserObject_flags, sizeof(__pyx_k_dict_CUuserObject_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_CUuserObject_flags */
  {__pyx_k_dict_cl_context_flags, sizeof(__pyx_k_dict_cl_context_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_cl_context_flags */
  {__pyx_k_dict_cl_event_flags, sizeof(__pyx_k_dict_cl_event_flags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dict_cl_event_flags */
  {__pyx_k_dim, sizeof(__pyx_k_dim), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dim */
  {__pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_disable */
  {__pyx_k_doc, sizeof(__pyx_k_doc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_doc */
  {__pyx_k_dptr, sizeof(__pyx_k_dptr), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dptr */
  {__pyx_k_dptr_2, sizeof(__pyx_k_dptr_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dptr_2 */
  {__pyx_k_dptr_ValueError, sizeof(__pyx_k_dptr_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dptr_ValueError */
  {__pyx_k_dptr_out, sizeof(__pyx_k_dptr_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dptr_out */
  {__pyx_k_driver, sizeof(__pyx_k_driver), 0, 1, 1}, /* PyObject cname: __pyx_n_u_driver */
  {__pyx_k_driverVersion, sizeof(__pyx_k_driverVersion), 0, 1, 1}, /* PyObject cname: __pyx_n_u_driverVersion */
  {__pyx_k_driver_2, sizeof(__pyx_k_driver_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_driver_2 */
  {__pyx_k_dst, sizeof(__pyx_k_dst), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dst */
  {__pyx_k_dstActBytes, sizeof(__pyx_k_dstActBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstActBytes */
  {__pyx_k_dstActBytes_2, sizeof(__pyx_k_dstActBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstActBytes_2 */
  {__pyx_k_dstActBytes_ValueError, sizeof(__pyx_k_dstActBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstActBytes_ValueError */
  {__pyx_k_dstArray, sizeof(__pyx_k_dstArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstArray */
  {__pyx_k_dstArray_2, sizeof(__pyx_k_dstArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstArray_2 */
  {__pyx_k_dstArray_ValueError, sizeof(__pyx_k_dstArray_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstArray_ValueError */
  {__pyx_k_dstContext, sizeof(__pyx_k_dstContext), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstContext */
  {__pyx_k_dstContext_2, sizeof(__pyx_k_dstContext_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstContext_2 */
  {__pyx_k_dstContext_ValueError, sizeof(__pyx_k_dstContext_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstContext_ValueError */
  {__pyx_k_dstDevice, sizeof(__pyx_k_dstDevice), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstDevice */
  {__pyx_k_dstDevice_2, sizeof(__pyx_k_dstDevice_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstDevice_2 */
  {__pyx_k_dstDevice_ValueError, sizeof(__pyx_k_dstDevice_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstDevice_ValueError */
  {__pyx_k_dstHeight, sizeof(__pyx_k_dstHeight), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstHeight */
  {__pyx_k_dstHeight_2, sizeof(__pyx_k_dstHeight_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstHeight_2 */
  {__pyx_k_dstHeight_ValueError, sizeof(__pyx_k_dstHeight_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstHeight_ValueError */
  {__pyx_k_dstHost, sizeof(__pyx_k_dstHost), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstHost */
  {__pyx_k_dstHost_2, sizeof(__pyx_k_dstHost_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstHost_2 */
  {__pyx_k_dstHost_ValueError, sizeof(__pyx_k_dstHost_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstHost_ValueError */
  {__pyx_k_dstLOD, sizeof(__pyx_k_dstLOD), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstLOD */
  {__pyx_k_dstLOD_2, sizeof(__pyx_k_dstLOD_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstLOD_2 */
  {__pyx_k_dstLOD_ValueError, sizeof(__pyx_k_dstLOD_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstLOD_ValueError */
  {__pyx_k_dstLocHint, sizeof(__pyx_k_dstLocHint), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstLocHint */
  {__pyx_k_dstLocHint_2, sizeof(__pyx_k_dstLocHint_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstLocHint_2 */
  {__pyx_k_dstLocHint_ValueError, sizeof(__pyx_k_dstLocHint_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstLocHint_ValueError */
  {__pyx_k_dstMemoryType, sizeof(__pyx_k_dstMemoryType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstMemoryType */
  {__pyx_k_dstMemoryType_2, sizeof(__pyx_k_dstMemoryType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstMemoryType_2 */
  {__pyx_k_dstMemoryType_ValueError, sizeof(__pyx_k_dstMemoryType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstMemoryType_ValueError */
  {__pyx_k_dstNumBytes, sizeof(__pyx_k_dstNumBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstNumBytes */
  {__pyx_k_dstNumBytes_2, sizeof(__pyx_k_dstNumBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstNumBytes_2 */
  {__pyx_k_dstNumBytes_ValueError, sizeof(__pyx_k_dstNumBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstNumBytes_ValueError */
  {__pyx_k_dstOffset, sizeof(__pyx_k_dstOffset), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstOffset */
  {__pyx_k_dstPitch, sizeof(__pyx_k_dstPitch), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstPitch */
  {__pyx_k_dstPitch_2, sizeof(__pyx_k_dstPitch_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstPitch_2 */
  {__pyx_k_dstPitch_ValueError, sizeof(__pyx_k_dstPitch_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstPitch_ValueError */
  {__pyx_k_dstXInBytes, sizeof(__pyx_k_dstXInBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstXInBytes */
  {__pyx_k_dstXInBytes_2, sizeof(__pyx_k_dstXInBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstXInBytes_2 */
  {__pyx_k_dstXInBytes_ValueError, sizeof(__pyx_k_dstXInBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstXInBytes_ValueError */
  {__pyx_k_dstY, sizeof(__pyx_k_dstY), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstY */
  {__pyx_k_dstY_2, sizeof(__pyx_k_dstY_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstY_2 */
  {__pyx_k_dstY_ValueError, sizeof(__pyx_k_dstY_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstY_ValueError */
  {__pyx_k_dstZ, sizeof(__pyx_k_dstZ), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstZ */
  {__pyx_k_dstZ_2, sizeof(__pyx_k_dstZ_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dstZ_2 */
  {__pyx_k_dstZ_ValueError, sizeof(__pyx_k_dstZ_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dstZ_ValueError */
  {__pyx_k_dst_2, sizeof(__pyx_k_dst_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dst_2 */
  {__pyx_k_dst_3, sizeof(__pyx_k_dst_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dst_3 */
  {__pyx_k_dst_ValueError, sizeof(__pyx_k_dst_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_dst_ValueError */
  {__pyx_k_dsts, sizeof(__pyx_k_dsts), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dsts */
  {__pyx_k_dynamicSMemSize, sizeof(__pyx_k_dynamicSMemSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dynamicSMemSize */
  {__pyx_k_dynamicSmemSize, sizeof(__pyx_k_dynamicSmemSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_dynamicSmemSize */
  {__pyx_k_edgeData, sizeof(__pyx_k_edgeData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_edgeData */
  {__pyx_k_eglColorFormat, sizeof(__pyx_k_eglColorFormat), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_eglColorFormat */
  {__pyx_k_eglColorFormat_2, sizeof(__pyx_k_eglColorFormat_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_eglColorFormat_2 */
  {__pyx_k_eglColorFormat_ValueError, sizeof(__pyx_k_eglColorFormat_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_eglColorFormat_ValueError */
  {__pyx_k_eglFrame, sizeof(__pyx_k_eglFrame), 0, 1, 1}, /* PyObject cname: __pyx_n_u_eglFrame */
  {__pyx_k_eglSync, sizeof(__pyx_k_eglSync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_eglSync */
  {__pyx_k_eglframe, sizeof(__pyx_k_eglframe), 0, 1, 1}, /* PyObject cname: __pyx_n_u_eglframe */
  {__pyx_k_elementSize, sizeof(__pyx_k_elementSize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_elementSize */
  {__pyx_k_elementSize_2, sizeof(__pyx_k_elementSize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_elementSize_2 */
  {__pyx_k_elementSize_ValueError, sizeof(__pyx_k_elementSize_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_elementSize_ValueError */
  {__pyx_k_elementStrides, sizeof(__pyx_k_elementStrides), 0, 1, 1}, /* PyObject cname: __pyx_n_u_elementStrides */
  {__pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_enable */
  {__pyx_k_enum, sizeof(__pyx_k_enum), 0, 1, 1}, /* PyObject cname: __pyx_n_u_enum */
  {__pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_enumerate */
  {__pyx_k_err, sizeof(__pyx_k_err), 0, 1, 1}, /* PyObject cname: __pyx_n_u_err */
  {__pyx_k_error, sizeof(__pyx_k_error), 0, 1, 1}, /* PyObject cname: __pyx_n_u_error */
  {__pyx_k_errorFromNode, sizeof(__pyx_k_errorFromNode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_errorFromNode */
  {__pyx_k_errorFromNode_2, sizeof(__pyx_k_errorFromNode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_errorFromNode_2 */
  {__pyx_k_errorFromNode_ValueError, sizeof(__pyx_k_errorFromNode_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_errorFromNode_ValueError */
  {__pyx_k_errorIndex, sizeof(__pyx_k_errorIndex), 0, 1, 1}, /* PyObject cname: __pyx_n_u_errorIndex */
  {__pyx_k_errorNode, sizeof(__pyx_k_errorNode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_errorNode */
  {__pyx_k_errorNode_2, sizeof(__pyx_k_errorNode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_errorNode_2 */
  {__pyx_k_errorNode_ValueError, sizeof(__pyx_k_errorNode_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_errorNode_ValueError */
  {__pyx_k_event, sizeof(__pyx_k_event), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_event */
  {__pyx_k_eventRecord, sizeof(__pyx_k_eventRecord), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_eventRecord */
  {__pyx_k_eventRecord_2, sizeof(__pyx_k_eventRecord_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_eventRecord_2 */
  {__pyx_k_eventRecord_ValueError, sizeof(__pyx_k_eventRecord_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_eventRecord_ValueError */
  {__pyx_k_eventWait, sizeof(__pyx_k_eventWait), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_eventWait */
  {__pyx_k_eventWait_2, sizeof(__pyx_k_eventWait_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_eventWait_2 */
  {__pyx_k_eventWait_ValueError, sizeof(__pyx_k_eventWait_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_eventWait_ValueError */
  {__pyx_k_event_2, sizeof(__pyx_k_event_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_event_2 */
  {__pyx_k_event_ValueError, sizeof(__pyx_k_event_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_event_ValueError */
  {__pyx_k_event_out, sizeof(__pyx_k_event_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_event_out */
  {__pyx_k_execAffinityParams, sizeof(__pyx_k_execAffinityParams), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_execAffinityParams */
  {__pyx_k_execAffinityParams_2, sizeof(__pyx_k_execAffinityParams_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_execAffinityParams_2 */
  {__pyx_k_execAffinityParams_ValueError, sizeof(__pyx_k_execAffinityParams_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_execAffinityParams_ValueError */
  {__pyx_k_extMem, sizeof(__pyx_k_extMem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extMem */
  {__pyx_k_extMem_out, sizeof(__pyx_k_extMem_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extMem_out */
  {__pyx_k_extSem, sizeof(__pyx_k_extSem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extSem */
  {__pyx_k_extSemArray, sizeof(__pyx_k_extSemArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extSemArray */
  {__pyx_k_extSemArray_2, sizeof(__pyx_k_extSemArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extSemArray_2 */
  {__pyx_k_extSemArray_ValueError, sizeof(__pyx_k_extSemArray_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extSemArray_ValueError */
  {__pyx_k_extSemSignal, sizeof(__pyx_k_extSemSignal), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extSemSignal */
  {__pyx_k_extSemSignal_2, sizeof(__pyx_k_extSemSignal_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extSemSignal_2 */
  {__pyx_k_extSemSignal_ValueError, sizeof(__pyx_k_extSemSignal_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extSemSignal_ValueError */
  {__pyx_k_extSemWait, sizeof(__pyx_k_extSemWait), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extSemWait */
  {__pyx_k_extSemWait_2, sizeof(__pyx_k_extSemWait_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extSemWait_2 */
  {__pyx_k_extSemWait_ValueError, sizeof(__pyx_k_extSemWait_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extSemWait_ValueError */
  {__pyx_k_extSem_out, sizeof(__pyx_k_extSem_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extSem_out */
  {__pyx_k_extent, sizeof(__pyx_k_extent), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extent */
  {__pyx_k_extentDepth, sizeof(__pyx_k_extentDepth), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extentDepth */
  {__pyx_k_extentDepth_2, sizeof(__pyx_k_extentDepth_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extentDepth_2 */
  {__pyx_k_extentDepth_ValueError, sizeof(__pyx_k_extentDepth_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extentDepth_ValueError */
  {__pyx_k_extentHeight, sizeof(__pyx_k_extentHeight), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extentHeight */
  {__pyx_k_extentHeight_2, sizeof(__pyx_k_extentHeight_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extentHeight_2 */
  {__pyx_k_extentHeight_ValueError, sizeof(__pyx_k_extentHeight_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extentHeight_ValueError */
  {__pyx_k_extentWidth, sizeof(__pyx_k_extentWidth), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extentWidth */
  {__pyx_k_extentWidth_2, sizeof(__pyx_k_extentWidth_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extentWidth_2 */
  {__pyx_k_extentWidth_ValueError, sizeof(__pyx_k_extentWidth_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extentWidth_ValueError */
  {__pyx_k_extent_2, sizeof(__pyx_k_extent_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extent_2 */
  {__pyx_k_extent_ValueError, sizeof(__pyx_k_extent_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extent_ValueError */
  {__pyx_k_extra, sizeof(__pyx_k_extra), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extra */
  {__pyx_k_extra_2, sizeof(__pyx_k_extra_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_extra_2 */
  {__pyx_k_extra_ValueError, sizeof(__pyx_k_extra_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_extra_ValueError */
  {__pyx_k_f, sizeof(__pyx_k_f), 0, 1, 1}, /* PyObject cname: __pyx_n_u_f */
  {__pyx_k_failIdx, sizeof(__pyx_k_failIdx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_failIdx */
  {__pyx_k_fatCubin, sizeof(__pyx_k_fatCubin), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fatCubin */
  {__pyx_k_fd, sizeof(__pyx_k_fd), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_fd */
  {__pyx_k_fd_2, sizeof(__pyx_k_fd_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fd_2 */
  {__pyx_k_fd_ValueError, sizeof(__pyx_k_fd_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_fd_ValueError */
  {__pyx_k_fence, sizeof(__pyx_k_fence), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_fence */
  {__pyx_k_fence_2, sizeof(__pyx_k_fence_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fence_2 */
  {__pyx_k_fence_3, sizeof(__pyx_k_fence_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_fence_3 */
  {__pyx_k_fence_ValueError, sizeof(__pyx_k_fence_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_fence_ValueError */
  {__pyx_k_fileName, sizeof(__pyx_k_fileName), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fileName */
  {__pyx_k_filterMode, sizeof(__pyx_k_filterMode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_filterMode */
  {__pyx_k_filterMode_2, sizeof(__pyx_k_filterMode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_filterMode_2 */
  {__pyx_k_filterMode_ValueError, sizeof(__pyx_k_filterMode_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_filterMode_ValueError */
  {__pyx_k_firstLayer, sizeof(__pyx_k_firstLayer), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_firstLayer */
  {__pyx_k_firstLayer_2, sizeof(__pyx_k_firstLayer_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_firstLayer_2 */
  {__pyx_k_firstLayer_ValueError, sizeof(__pyx_k_firstLayer_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_firstLayer_ValueError */
  {__pyx_k_firstMipmapLevel, sizeof(__pyx_k_firstMipmapLevel), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_firstMipmapLevel */
  {__pyx_k_firstMipmapLevel_2, sizeof(__pyx_k_firstMipmapLevel_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_firstMipmapLevel_2 */
  {__pyx_k_firstMipmapLevel_ValueError, sizeof(__pyx_k_firstMipmapLevel_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_firstMipmapLevel_ValueError */
  {__pyx_k_flags, sizeof(__pyx_k_flags), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_flags */
  {__pyx_k_flags_2, sizeof(__pyx_k_flags_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_flags_2 */
  {__pyx_k_flags_ValueError, sizeof(__pyx_k_flags_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_flags_ValueError */
  {__pyx_k_flushRemoteWrites, sizeof(__pyx_k_flushRemoteWrites), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_flushRemoteWrites */
  {__pyx_k_flushRemoteWrites_2, sizeof(__pyx_k_flushRemoteWrites_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_flushRemoteWrites_2 */
  {__pyx_k_flushRemoteWrites_ValueError, sizeof(__pyx_k_flushRemoteWrites_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_flushRemoteWrites_ValueError */
  {__pyx_k_fm, sizeof(__pyx_k_fm), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fm */
  {__pyx_k_fmt, sizeof(__pyx_k_fmt), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fmt */
  {__pyx_k_fn, sizeof(__pyx_k_fn), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_fn */
  {__pyx_k_fn_2, sizeof(__pyx_k_fn_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fn_2 */
  {__pyx_k_fn_ValueError, sizeof(__pyx_k_fn_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_fn_ValueError */
  {__pyx_k_fname, sizeof(__pyx_k_fname), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fname */
  {__pyx_k_format, sizeof(__pyx_k_format), 0, 1, 1}, /* PyObject cname: __pyx_n_u_format */
  {__pyx_k_format_2, sizeof(__pyx_k_format_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_format_2 */
  {__pyx_k_format_ValueError, sizeof(__pyx_k_format_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_format_ValueError */
  {__pyx_k_fptr, sizeof(__pyx_k_fptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_fptr */
  {__pyx_k_frame, sizeof(__pyx_k_frame), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_frame */
  {__pyx_k_frameType, sizeof(__pyx_k_frameType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_frameType */
  {__pyx_k_frameType_2, sizeof(__pyx_k_frameType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_frameType_2 */
  {__pyx_k_frameType_ValueError, sizeof(__pyx_k_frameType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_frameType_ValueError */
  {__pyx_k_frame_2, sizeof(__pyx_k_frame_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_frame_2 */
  {__pyx_k_frame_ValueError, sizeof(__pyx_k_frame_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_frame_ValueError */
  {__pyx_k_free, sizeof(__pyx_k_free), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_free */
  {__pyx_k_free_2, sizeof(__pyx_k_free_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_free_2 */
  {__pyx_k_free_ValueError, sizeof(__pyx_k_free_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_free_ValueError */
  {__pyx_k_from, sizeof(__pyx_k_from), 0, 1, 1}, /* PyObject cname: __pyx_n_u_from */
  {__pyx_k_from_port, sizeof(__pyx_k_from_port), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_from_port */
  {__pyx_k_from_port_2, sizeof(__pyx_k_from_port_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_from_port_2 */
  {__pyx_k_from_port_ValueError, sizeof(__pyx_k_from_port_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_from_port_ValueError */
  {__pyx_k_func, sizeof(__pyx_k_func), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_func */
  {__pyx_k_func_2, sizeof(__pyx_k_func_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_func_2 */
  {__pyx_k_func_3, sizeof(__pyx_k_func_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_func_3 */
  {__pyx_k_func_ValueError, sizeof(__pyx_k_func_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_func_ValueError */
  {__pyx_k_function, sizeof(__pyx_k_function), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_function */
  {__pyx_k_functionTable, sizeof(__pyx_k_functionTable), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_functionTable */
  {__pyx_k_functionTable_2, sizeof(__pyx_k_functionTable_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_functionTable_2 */
  {__pyx_k_functionTable_ValueError, sizeof(__pyx_k_functionTable_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_functionTable_ValueError */
  {__pyx_k_functionWindowSize, sizeof(__pyx_k_functionWindowSize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_functionWindowSize */
  {__pyx_k_functionWindowSize_2, sizeof(__pyx_k_functionWindowSize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_functionWindowSize_2 */
  {__pyx_k_functionWindowSize_ValueError, sizeof(__pyx_k_functionWindowSize_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_functionWindowSize_ValueError */
  {__pyx_k_function_2, sizeof(__pyx_k_function_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_function_2 */
  {__pyx_k_function_ValueError, sizeof(__pyx_k_function_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_function_ValueError */
  {__pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gc */
  {__pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_genexpr */
  {__pyx_k_getPtr, sizeof(__pyx_k_getPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_getPtr */
  {__pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_getstate */
  {__pyx_k_globalAddress, sizeof(__pyx_k_globalAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_globalAddress */
  {__pyx_k_globalDim, sizeof(__pyx_k_globalDim), 0, 1, 1}, /* PyObject cname: __pyx_n_u_globalDim */
  {__pyx_k_globalStrides, sizeof(__pyx_k_globalStrides), 0, 1, 1}, /* PyObject cname: __pyx_n_u_globalStrides */
  {__pyx_k_gpuDirectRDMACapable, sizeof(__pyx_k_gpuDirectRDMACapable), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gpuDirectRDMACapable */
  {__pyx_k_gpuDirectRDMACapable_2, sizeof(__pyx_k_gpuDirectRDMACapable_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_gpuDirectRDMACapable_2 */
  {__pyx_k_gpuDirectRDMACapable_ValueError, sizeof(__pyx_k_gpuDirectRDMACapable_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gpuDirectRDMACapable_ValueError */
  {__pyx_k_granularity, sizeof(__pyx_k_granularity), 0, 1, 1}, /* PyObject cname: __pyx_n_u_granularity */
  {__pyx_k_graph, sizeof(__pyx_k_graph), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_graph */
  {__pyx_k_graph_2, sizeof(__pyx_k_graph_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_graph_2 */
  {__pyx_k_graph_3, sizeof(__pyx_k_graph_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_graph_3 */
  {__pyx_k_graph_ValueError, sizeof(__pyx_k_graph_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_graph_ValueError */
  {__pyx_k_graph_length, sizeof(__pyx_k_graph_length), 0, 1, 1}, /* PyObject cname: __pyx_n_u_graph_length */
  {__pyx_k_graph_out, sizeof(__pyx_k_graph_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_graph_out */
  {__pyx_k_greatestPriority, sizeof(__pyx_k_greatestPriority), 0, 1, 1}, /* PyObject cname: __pyx_n_u_greatestPriority */
  {__pyx_k_greenCtx, sizeof(__pyx_k_greenCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_greenCtx */
  {__pyx_k_gridDimX, sizeof(__pyx_k_gridDimX), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gridDimX */
  {__pyx_k_gridDimX_2, sizeof(__pyx_k_gridDimX_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_gridDimX_2 */
  {__pyx_k_gridDimX_ValueError, sizeof(__pyx_k_gridDimX_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gridDimX_ValueError */
  {__pyx_k_gridDimY, sizeof(__pyx_k_gridDimY), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gridDimY */
  {__pyx_k_gridDimY_2, sizeof(__pyx_k_gridDimY_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_gridDimY_2 */
  {__pyx_k_gridDimY_ValueError, sizeof(__pyx_k_gridDimY_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gridDimY_ValueError */
  {__pyx_k_gridDimZ, sizeof(__pyx_k_gridDimZ), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gridDimZ */
  {__pyx_k_gridDimZ_2, sizeof(__pyx_k_gridDimZ_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_gridDimZ_2 */
  {__pyx_k_gridDimZ_ValueError, sizeof(__pyx_k_gridDimZ_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_gridDimZ_ValueError */
  {__pyx_k_grid_height, sizeof(__pyx_k_grid_height), 0, 1, 1}, /* PyObject cname: __pyx_n_u_grid_height */
  {__pyx_k_grid_width, sizeof(__pyx_k_grid_width), 0, 1, 1}, /* PyObject cname: __pyx_n_u_grid_width */
  {__pyx_k_hArray, sizeof(__pyx_k_hArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hArray */
  {__pyx_k_hArray_2, sizeof(__pyx_k_hArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hArray_2 */
  {__pyx_k_hArray_ValueError, sizeof(__pyx_k_hArray_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hArray_ValueError */
  {__pyx_k_hClonedGraph, sizeof(__pyx_k_hClonedGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hClonedGraph */
  {__pyx_k_hCtx, sizeof(__pyx_k_hCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hCtx */
  {__pyx_k_hEnd, sizeof(__pyx_k_hEnd), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hEnd */
  {__pyx_k_hErrNode_out, sizeof(__pyx_k_hErrNode_out), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hErrNode_out */
  {__pyx_k_hErrNode_out_2, sizeof(__pyx_k_hErrNode_out_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hErrNode_out_2 */
  {__pyx_k_hErrNode_out_ValueError, sizeof(__pyx_k_hErrNode_out_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hErrNode_out_ValueError */
  {__pyx_k_hEvent, sizeof(__pyx_k_hEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hEvent */
  {__pyx_k_hGraph, sizeof(__pyx_k_hGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hGraph */
  {__pyx_k_hGraphExec, sizeof(__pyx_k_hGraphExec), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hGraphExec */
  {__pyx_k_hMipmappedArray, sizeof(__pyx_k_hMipmappedArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hMipmappedArray */
  {__pyx_k_hMipmappedArray_2, sizeof(__pyx_k_hMipmappedArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hMipmappedArray_2 */
  {__pyx_k_hMipmappedArray_ValueError, sizeof(__pyx_k_hMipmappedArray_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hMipmappedArray_ValueError */
  {__pyx_k_hNode, sizeof(__pyx_k_hNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hNode */
  {__pyx_k_hOriginalNode, sizeof(__pyx_k_hOriginalNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hOriginalNode */
  {__pyx_k_hStart, sizeof(__pyx_k_hStart), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hStart */
  {__pyx_k_hStream, sizeof(__pyx_k_hStream), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hStream */
  {__pyx_k_hStream_2, sizeof(__pyx_k_hStream_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hStream_2 */
  {__pyx_k_hStream_ValueError, sizeof(__pyx_k_hStream_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hStream_ValueError */
  {__pyx_k_hSurfRef, sizeof(__pyx_k_hSurfRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hSurfRef */
  {__pyx_k_hTexRef, sizeof(__pyx_k_hTexRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hTexRef */
  {__pyx_k_hUploadStream, sizeof(__pyx_k_hUploadStream), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hUploadStream */
  {__pyx_k_hUploadStream_2, sizeof(__pyx_k_hUploadStream_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hUploadStream_2 */
  {__pyx_k_hUploadStream_ValueError, sizeof(__pyx_k_hUploadStream_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hUploadStream_ValueError */
  {__pyx_k_handle, sizeof(__pyx_k_handle), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_handle */
  {__pyx_k_handleType, sizeof(__pyx_k_handleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_handleType */
  {__pyx_k_handleTypes, sizeof(__pyx_k_handleTypes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_handleTypes */
  {__pyx_k_handleTypes_2, sizeof(__pyx_k_handleTypes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_handleTypes_2 */
  {__pyx_k_handleTypes_ValueError, sizeof(__pyx_k_handleTypes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_handleTypes_ValueError */
  {__pyx_k_handle_2, sizeof(__pyx_k_handle_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_handle_2 */
  {__pyx_k_handle_3, sizeof(__pyx_k_handle_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_handle_3 */
  {__pyx_k_handle_ValueError, sizeof(__pyx_k_handle_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_handle_ValueError */
  {__pyx_k_height, sizeof(__pyx_k_height), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_height */
  {__pyx_k_height_2, sizeof(__pyx_k_height_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_height_2 */
  {__pyx_k_height_ValueError, sizeof(__pyx_k_height_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_height_ValueError */
  {__pyx_k_hex, sizeof(__pyx_k_hex), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hex */
  {__pyx_k_hfunc, sizeof(__pyx_k_hfunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hfunc */
  {__pyx_k_hitProp, sizeof(__pyx_k_hitProp), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hitProp */
  {__pyx_k_hitProp_2, sizeof(__pyx_k_hitProp_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hitProp_2 */
  {__pyx_k_hitProp_ValueError, sizeof(__pyx_k_hitProp_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hitProp_ValueError */
  {__pyx_k_hitRatio, sizeof(__pyx_k_hitRatio), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hitRatio */
  {__pyx_k_hitRatio_2, sizeof(__pyx_k_hitRatio_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hitRatio_2 */
  {__pyx_k_hitRatio_ValueError, sizeof(__pyx_k_hitRatio_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_hitRatio_ValueError */
  {__pyx_k_hmod, sizeof(__pyx_k_hmod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_hmod */
  {__pyx_k_host, sizeof(__pyx_k_host), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_host */
  {__pyx_k_host_2, sizeof(__pyx_k_host_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_host_2 */
  {__pyx_k_host_ValueError, sizeof(__pyx_k_host_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_host_ValueError */
  {__pyx_k_id, sizeof(__pyx_k_id), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_id */
  {__pyx_k_id_2, sizeof(__pyx_k_id_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_id_2 */
  {__pyx_k_id_ValueError, sizeof(__pyx_k_id_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_id_ValueError */
  {__pyx_k_id_out, sizeof(__pyx_k_id_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_id_out */
  {__pyx_k_idx, sizeof(__pyx_k_idx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_idx */
  {__pyx_k_image, sizeof(__pyx_k_image), 0, 1, 1}, /* PyObject cname: __pyx_n_u_image */
  {__pyx_k_index, sizeof(__pyx_k_index), 0, 1, 1}, /* PyObject cname: __pyx_n_u_index */
  {__pyx_k_info, sizeof(__pyx_k_info), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_info */
  {__pyx_k_info_2, sizeof(__pyx_k_info_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_info_2 */
  {__pyx_k_info_ValueError, sizeof(__pyx_k_info_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_info_ValueError */
  {__pyx_k_init_value, sizeof(__pyx_k_init_value), 0, 1, 1}, /* PyObject cname: __pyx_n_u_init_value */
  {__pyx_k_initialRefcount, sizeof(__pyx_k_initialRefcount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_initialRefcount */
  {__pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 1, 1}, /* PyObject cname: __pyx_n_u_initializing */
  {__pyx_k_input, sizeof(__pyx_k_input), 0, 1, 1}, /* PyObject cname: __pyx_n_u_input */
  {__pyx_k_instantiateParams, sizeof(__pyx_k_instantiateParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_instantiateParams */
  {__pyx_k_int, sizeof(__pyx_k_int), 0, 1, 1}, /* PyObject cname: __pyx_n_u_int */
  {__pyx_k_interleave, sizeof(__pyx_k_interleave), 0, 1, 1}, /* PyObject cname: __pyx_n_u_interleave */
  {__pyx_k_internal_padding, sizeof(__pyx_k_internal_padding), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_internal_padding */
  {__pyx_k_internal_padding_2, sizeof(__pyx_k_internal_padding_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_internal_padding_2 */
  {__pyx_k_internal_padding_ValueError, sizeof(__pyx_k_internal_padding_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_internal_padding_ValueError */
  {__pyx_k_internal_padding_length_must_be, sizeof(__pyx_k_internal_padding_length_must_be), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_internal_padding_length_must_be */
  {__pyx_k_isEnabled, sizeof(__pyx_k_isEnabled), 0, 1, 1}, /* PyObject cname: __pyx_n_u_isEnabled */
  {__pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 1, 1}, /* PyObject cname: __pyx_n_u_is_coroutine */
  {__pyx_k_is_getter, sizeof(__pyx_k_is_getter), 0, 1, 1}, /* PyObject cname: __pyx_n_u_is_getter */
  {__pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_isenabled */
  {__pyx_k_items, sizeof(__pyx_k_items), 0, 1, 1}, /* PyObject cname: __pyx_n_u_items */
  {__pyx_k_iterator, sizeof(__pyx_k_iterator), 0, 1, 1}, /* PyObject cname: __pyx_n_u_iterator */
  {__pyx_k_iterator_out, sizeof(__pyx_k_iterator_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_iterator_out */
  {__pyx_k_jitOptions, sizeof(__pyx_k_jitOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_jitOptions */
  {__pyx_k_jitOptionsValues, sizeof(__pyx_k_jitOptionsValues), 0, 1, 1}, /* PyObject cname: __pyx_n_u_jitOptionsValues */
  {__pyx_k_k, sizeof(__pyx_k_k), 0, 1, 1}, /* PyObject cname: __pyx_n_u_k */
  {__pyx_k_kern, sizeof(__pyx_k_kern), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_kern */
  {__pyx_k_kern_2, sizeof(__pyx_k_kern_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_kern_2 */
  {__pyx_k_kern_ValueError, sizeof(__pyx_k_kern_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_kern_ValueError */
  {__pyx_k_kernel, sizeof(__pyx_k_kernel), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_kernel */
  {__pyx_k_kernelParams, sizeof(__pyx_k_kernelParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_kernelParams */
  {__pyx_k_kernelParams_2, sizeof(__pyx_k_kernelParams_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_kernelParams_2 */
  {__pyx_k_kernelParams_ValueError, sizeof(__pyx_k_kernelParams_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_kernelParams_ValueError */
  {__pyx_k_kernel_2, sizeof(__pyx_k_kernel_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_kernel_2 */
  {__pyx_k_kernel_ValueError, sizeof(__pyx_k_kernel_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_kernel_ValueError */
  {__pyx_k_key, sizeof(__pyx_k_key), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_key */
  {__pyx_k_key_2, sizeof(__pyx_k_key_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_key_2 */
  {__pyx_k_key_ValueError, sizeof(__pyx_k_key_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_key_ValueError */
  {__pyx_k_keyedMutex, sizeof(__pyx_k_keyedMutex), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_keyedMutex */
  {__pyx_k_keyedMutex_2, sizeof(__pyx_k_keyedMutex_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_keyedMutex_2 */
  {__pyx_k_keyedMutex_ValueError, sizeof(__pyx_k_keyedMutex_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_keyedMutex_ValueError */
  {__pyx_k_l2Promotion, sizeof(__pyx_k_l2Promotion), 0, 1, 1}, /* PyObject cname: __pyx_n_u_l2Promotion */
  {__pyx_k_lambda, sizeof(__pyx_k_lambda), 0, 1, 1}, /* PyObject cname: __pyx_n_u_lambda */
  {__pyx_k_lastLayer, sizeof(__pyx_k_lastLayer), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_lastLayer */
  {__pyx_k_lastLayer_2, sizeof(__pyx_k_lastLayer_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_lastLayer_2 */
  {__pyx_k_lastLayer_ValueError, sizeof(__pyx_k_lastLayer_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_lastLayer_ValueError */
  {__pyx_k_lastMipmapLevel, sizeof(__pyx_k_lastMipmapLevel), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_lastMipmapLevel */
  {__pyx_k_lastMipmapLevel_2, sizeof(__pyx_k_lastMipmapLevel_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_lastMipmapLevel_2 */
  {__pyx_k_lastMipmapLevel_ValueError, sizeof(__pyx_k_lastMipmapLevel_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_lastMipmapLevel_ValueError */
  {__pyx_k_launchCompletionEvent, sizeof(__pyx_k_launchCompletionEvent), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_launchCompletionEvent */
  {__pyx_k_launchCompletionEvent_2, sizeof(__pyx_k_launchCompletionEvent_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_launchCompletionEvent_2 */
  {__pyx_k_launchCompletionEvent_ValueError, sizeof(__pyx_k_launchCompletionEvent_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_launchCompletionEvent_ValueError */
  {__pyx_k_launchParamsList, sizeof(__pyx_k_launchParamsList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_launchParamsList */
  {__pyx_k_layer, sizeof(__pyx_k_layer), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_layer */
  {__pyx_k_layerHeight, sizeof(__pyx_k_layerHeight), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_layerHeight */
  {__pyx_k_layerHeight_2, sizeof(__pyx_k_layerHeight_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_layerHeight_2 */
  {__pyx_k_layerHeight_ValueError, sizeof(__pyx_k_layerHeight_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_layerHeight_ValueError */
  {__pyx_k_layer_2, sizeof(__pyx_k_layer_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_layer_2 */
  {__pyx_k_layer_ValueError, sizeof(__pyx_k_layer_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_layer_ValueError */
  {__pyx_k_leastPriority, sizeof(__pyx_k_leastPriority), 0, 1, 1}, /* PyObject cname: __pyx_n_u_leastPriority */
  {__pyx_k_length, sizeof(__pyx_k_length), 0, 1, 1}, /* PyObject cname: __pyx_n_u_length */
  {__pyx_k_level, sizeof(__pyx_k_level), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_level */
  {__pyx_k_level_2, sizeof(__pyx_k_level_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_level_2 */
  {__pyx_k_level_ValueError, sizeof(__pyx_k_level_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_level_ValueError */
  {__pyx_k_lib, sizeof(__pyx_k_lib), 0, 1, 1}, /* PyObject cname: __pyx_n_u_lib */
  {__pyx_k_library, sizeof(__pyx_k_library), 0, 1, 1}, /* PyObject cname: __pyx_n_u_library */
  {__pyx_k_libraryOptionValues, sizeof(__pyx_k_libraryOptionValues), 0, 1, 1}, /* PyObject cname: __pyx_n_u_libraryOptionValues */
  {__pyx_k_libraryOptions, sizeof(__pyx_k_libraryOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_libraryOptions */
  {__pyx_k_limit, sizeof(__pyx_k_limit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_limit */
  {__pyx_k_linear, sizeof(__pyx_k_linear), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_linear */
  {__pyx_k_linear_2, sizeof(__pyx_k_linear_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_linear_2 */
  {__pyx_k_linear_ValueError, sizeof(__pyx_k_linear_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_linear_ValueError */
  {__pyx_k_locHint, sizeof(__pyx_k_locHint), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_locHint */
  {__pyx_k_locHint_2, sizeof(__pyx_k_locHint_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_locHint_2 */
  {__pyx_k_locHint_ValueError, sizeof(__pyx_k_locHint_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_locHint_ValueError */
  {__pyx_k_location, sizeof(__pyx_k_location), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_location */
  {__pyx_k_location_2, sizeof(__pyx_k_location_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_location_2 */
  {__pyx_k_location_ValueError, sizeof(__pyx_k_location_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_location_ValueError */
  {__pyx_k_lst, sizeof(__pyx_k_lst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_lst */
  {__pyx_k_luid, sizeof(__pyx_k_luid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_luid */
  {__pyx_k_main, sizeof(__pyx_k_main), 0, 1, 1}, /* PyObject cname: __pyx_n_u_main */
  {__pyx_k_major, sizeof(__pyx_k_major), 0, 1, 1}, /* PyObject cname: __pyx_n_u_major */
  {__pyx_k_map, sizeof(__pyx_k_map), 0, 1, 1}, /* PyObject cname: __pyx_n_u_map */
  {__pyx_k_mapInfoList, sizeof(__pyx_k_mapInfoList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mapInfoList */
  {__pyx_k_max, sizeof(__pyx_k_max), 0, 1, 1}, /* PyObject cname: __pyx_n_u_max */
  {__pyx_k_maxAniso, sizeof(__pyx_k_maxAniso), 0, 1, 1}, /* PyObject cname: __pyx_n_u_maxAniso */
  {__pyx_k_maxAnisotropy, sizeof(__pyx_k_maxAnisotropy), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxAnisotropy */
  {__pyx_k_maxAnisotropy_2, sizeof(__pyx_k_maxAnisotropy_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_maxAnisotropy_2 */
  {__pyx_k_maxAnisotropy_ValueError, sizeof(__pyx_k_maxAnisotropy_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxAnisotropy_ValueError */
  {__pyx_k_maxGridSize, sizeof(__pyx_k_maxGridSize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxGridSize */
  {__pyx_k_maxGridSize_2, sizeof(__pyx_k_maxGridSize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_maxGridSize_2 */
  {__pyx_k_maxGridSize_ValueError, sizeof(__pyx_k_maxGridSize_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxGridSize_ValueError */
  {__pyx_k_maxMipmapLevelClamp, sizeof(__pyx_k_maxMipmapLevelClamp), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxMipmapLevelClamp */
  {__pyx_k_maxMipmapLevelClamp_2, sizeof(__pyx_k_maxMipmapLevelClamp_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_maxMipmapLevelClamp_2 */
  {__pyx_k_maxMipmapLevelClamp_ValueError, sizeof(__pyx_k_maxMipmapLevelClamp_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxMipmapLevelClamp_ValueError */
  {__pyx_k_maxSize, sizeof(__pyx_k_maxSize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxSize */
  {__pyx_k_maxSize_2, sizeof(__pyx_k_maxSize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_maxSize_2 */
  {__pyx_k_maxSize_ValueError, sizeof(__pyx_k_maxSize_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxSize_ValueError */
  {__pyx_k_maxThreadsDim, sizeof(__pyx_k_maxThreadsDim), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxThreadsDim */
  {__pyx_k_maxThreadsDim_2, sizeof(__pyx_k_maxThreadsDim_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_maxThreadsDim_2 */
  {__pyx_k_maxThreadsDim_ValueError, sizeof(__pyx_k_maxThreadsDim_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxThreadsDim_ValueError */
  {__pyx_k_maxThreadsPerBlock, sizeof(__pyx_k_maxThreadsPerBlock), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxThreadsPerBlock */
  {__pyx_k_maxThreadsPerBlock_2, sizeof(__pyx_k_maxThreadsPerBlock_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_maxThreadsPerBlock_2 */
  {__pyx_k_maxThreadsPerBlock_ValueError, sizeof(__pyx_k_maxThreadsPerBlock_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_maxThreadsPerBlock_ValueError */
  {__pyx_k_maxWidthInElements, sizeof(__pyx_k_maxWidthInElements), 0, 1, 1}, /* PyObject cname: __pyx_n_u_maxWidthInElements */
  {__pyx_k_max_param_size, sizeof(__pyx_k_max_param_size), 0, 1, 1}, /* PyObject cname: __pyx_n_u_max_param_size */
  {__pyx_k_mcHandle, sizeof(__pyx_k_mcHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mcHandle */
  {__pyx_k_mcOffset, sizeof(__pyx_k_mcOffset), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mcOffset */
  {__pyx_k_memHandle, sizeof(__pyx_k_memHandle), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memHandle */
  {__pyx_k_memHandleDesc, sizeof(__pyx_k_memHandleDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memHandleDesc */
  {__pyx_k_memHandleType, sizeof(__pyx_k_memHandleType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memHandleType */
  {__pyx_k_memHandleType_2, sizeof(__pyx_k_memHandleType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memHandleType_2 */
  {__pyx_k_memHandleType_ValueError, sizeof(__pyx_k_memHandleType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memHandleType_ValueError */
  {__pyx_k_memHandle_2, sizeof(__pyx_k_memHandle_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memHandle_2 */
  {__pyx_k_memHandle_3, sizeof(__pyx_k_memHandle_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memHandle_3 */
  {__pyx_k_memHandle_ValueError, sizeof(__pyx_k_memHandle_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memHandle_ValueError */
  {__pyx_k_memOffset, sizeof(__pyx_k_memOffset), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memOffset */
  {__pyx_k_memOp, sizeof(__pyx_k_memOp), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memOp */
  {__pyx_k_memOp_2, sizeof(__pyx_k_memOp_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memOp_2 */
  {__pyx_k_memOp_ValueError, sizeof(__pyx_k_memOp_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memOp_ValueError */
  {__pyx_k_memOperationType, sizeof(__pyx_k_memOperationType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memOperationType */
  {__pyx_k_memOperationType_2, sizeof(__pyx_k_memOperationType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memOperationType_2 */
  {__pyx_k_memOperationType_ValueError, sizeof(__pyx_k_memOperationType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memOperationType_ValueError */
  {__pyx_k_memPitch, sizeof(__pyx_k_memPitch), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memPitch */
  {__pyx_k_memPitch_2, sizeof(__pyx_k_memPitch_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memPitch_2 */
  {__pyx_k_memPitch_ValueError, sizeof(__pyx_k_memPitch_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memPitch_ValueError */
  {__pyx_k_memPool, sizeof(__pyx_k_memPool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memPool */
  {__pyx_k_memSyncDomain, sizeof(__pyx_k_memSyncDomain), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memSyncDomain */
  {__pyx_k_memSyncDomainMap, sizeof(__pyx_k_memSyncDomainMap), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memSyncDomainMap */
  {__pyx_k_memSyncDomainMap_2, sizeof(__pyx_k_memSyncDomainMap_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memSyncDomainMap_2 */
  {__pyx_k_memSyncDomainMap_ValueError, sizeof(__pyx_k_memSyncDomainMap_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memSyncDomainMap_ValueError */
  {__pyx_k_memSyncDomain_2, sizeof(__pyx_k_memSyncDomain_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memSyncDomain_2 */
  {__pyx_k_memSyncDomain_ValueError, sizeof(__pyx_k_memSyncDomain_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memSyncDomain_ValueError */
  {__pyx_k_members, sizeof(__pyx_k_members), 0, 1, 1}, /* PyObject cname: __pyx_n_u_members */
  {__pyx_k_memcpy, sizeof(__pyx_k_memcpy), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memcpy */
  {__pyx_k_memcpy_2, sizeof(__pyx_k_memcpy_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memcpy_2 */
  {__pyx_k_memcpy_ValueError, sizeof(__pyx_k_memcpy_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memcpy_ValueError */
  {__pyx_k_memoryBarrier, sizeof(__pyx_k_memoryBarrier), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memoryBarrier */
  {__pyx_k_memoryBarrier_2, sizeof(__pyx_k_memoryBarrier_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memoryBarrier_2 */
  {__pyx_k_memoryBarrier_ValueError, sizeof(__pyx_k_memoryBarrier_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memoryBarrier_ValueError */
  {__pyx_k_memoryRequirements, sizeof(__pyx_k_memoryRequirements), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memoryRequirements */
  {__pyx_k_memptr, sizeof(__pyx_k_memptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memptr */
  {__pyx_k_memset, sizeof(__pyx_k_memset), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memset */
  {__pyx_k_memsetParams, sizeof(__pyx_k_memsetParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memsetParams */
  {__pyx_k_memset_2, sizeof(__pyx_k_memset_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_memset_2 */
  {__pyx_k_memset_ValueError, sizeof(__pyx_k_memset_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_memset_ValueError */
  {__pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 1, 1}, /* PyObject cname: __pyx_n_u_metaclass */
  {__pyx_k_minBytesToKeep, sizeof(__pyx_k_minBytesToKeep), 0, 1, 1}, /* PyObject cname: __pyx_n_u_minBytesToKeep */
  {__pyx_k_minCount, sizeof(__pyx_k_minCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_minCount */
  {__pyx_k_minGridSize, sizeof(__pyx_k_minGridSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_minGridSize */
  {__pyx_k_minMipmapLevelClamp, sizeof(__pyx_k_minMipmapLevelClamp), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_minMipmapLevelClamp */
  {__pyx_k_minMipmapLevelClamp_2, sizeof(__pyx_k_minMipmapLevelClamp_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_minMipmapLevelClamp_2 */
  {__pyx_k_minMipmapLevelClamp_ValueError, sizeof(__pyx_k_minMipmapLevelClamp_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_minMipmapLevelClamp_ValueError */
  {__pyx_k_minor, sizeof(__pyx_k_minor), 0, 1, 1}, /* PyObject cname: __pyx_n_u_minor */
  {__pyx_k_mipLevel, sizeof(__pyx_k_mipLevel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mipLevel */
  {__pyx_k_mipmap, sizeof(__pyx_k_mipmap), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_mipmap */
  {__pyx_k_mipmapDesc, sizeof(__pyx_k_mipmapDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mipmapDesc */
  {__pyx_k_mipmapFilterMode, sizeof(__pyx_k_mipmapFilterMode), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_mipmapFilterMode */
  {__pyx_k_mipmapFilterMode_2, sizeof(__pyx_k_mipmapFilterMode_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mipmapFilterMode_2 */
  {__pyx_k_mipmapFilterMode_ValueError, sizeof(__pyx_k_mipmapFilterMode_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_mipmapFilterMode_ValueError */
  {__pyx_k_mipmapLevelBias, sizeof(__pyx_k_mipmapLevelBias), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_mipmapLevelBias */
  {__pyx_k_mipmapLevelBias_2, sizeof(__pyx_k_mipmapLevelBias_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mipmapLevelBias_2 */
  {__pyx_k_mipmapLevelBias_ValueError, sizeof(__pyx_k_mipmapLevelBias_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_mipmapLevelBias_ValueError */
  {__pyx_k_mipmap_2, sizeof(__pyx_k_mipmap_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mipmap_2 */
  {__pyx_k_mipmap_3, sizeof(__pyx_k_mipmap_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_mipmap_3 */
  {__pyx_k_mipmap_ValueError, sizeof(__pyx_k_mipmap_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_mipmap_ValueError */
  {__pyx_k_miptail, sizeof(__pyx_k_miptail), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_miptail */
  {__pyx_k_miptailFirstLevel, sizeof(__pyx_k_miptailFirstLevel), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_miptailFirstLevel */
  {__pyx_k_miptailFirstLevel_2, sizeof(__pyx_k_miptailFirstLevel_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_miptailFirstLevel_2 */
  {__pyx_k_miptailFirstLevel_ValueError, sizeof(__pyx_k_miptailFirstLevel_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_miptailFirstLevel_ValueError */
  {__pyx_k_miptailSize, sizeof(__pyx_k_miptailSize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_miptailSize */
  {__pyx_k_miptailSize_2, sizeof(__pyx_k_miptailSize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_miptailSize_2 */
  {__pyx_k_miptailSize_ValueError, sizeof(__pyx_k_miptailSize_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_miptailSize_ValueError */
  {__pyx_k_miptail_2, sizeof(__pyx_k_miptail_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_miptail_2 */
  {__pyx_k_miptail_ValueError, sizeof(__pyx_k_miptail_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_miptail_ValueError */
  {__pyx_k_missProp, sizeof(__pyx_k_missProp), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_missProp */
  {__pyx_k_missProp_2, sizeof(__pyx_k_missProp_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_missProp_2 */
  {__pyx_k_missProp_ValueError, sizeof(__pyx_k_missProp_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_missProp_ValueError */
  {__pyx_k_mod, sizeof(__pyx_k_mod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mod */
  {__pyx_k_mode, sizeof(__pyx_k_mode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mode */
  {__pyx_k_module, sizeof(__pyx_k_module), 0, 1, 1}, /* PyObject cname: __pyx_n_u_module */
  {__pyx_k_module_2, sizeof(__pyx_k_module_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_module_2 */
  {__pyx_k_mro_entries, sizeof(__pyx_k_mro_entries), 0, 1, 1}, /* PyObject cname: __pyx_n_u_mro_entries */
  {__pyx_k_name, sizeof(__pyx_k_name), 0, 1, 1}, /* PyObject cname: __pyx_n_u_name */
  {__pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_name_2 */
  {__pyx_k_name_3, sizeof(__pyx_k_name_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_name_3 */
  {__pyx_k_name_ValueError, sizeof(__pyx_k_name_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_name_ValueError */
  {__pyx_k_nbGroups, sizeof(__pyx_k_nbGroups), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nbGroups */
  {__pyx_k_nbResources, sizeof(__pyx_k_nbResources), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nbResources */
  {__pyx_k_next, sizeof(__pyx_k_next), 0, 1, 1}, /* PyObject cname: __pyx_n_u_next */
  {__pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_no_default___reduce___due_to_non */
  {__pyx_k_nodeParams, sizeof(__pyx_k_nodeParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nodeParams */
  {__pyx_k_nodeParams_out, sizeof(__pyx_k_nodeParams_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nodeParams_out */
  {__pyx_k_not_enough_values_found_during_a, sizeof(__pyx_k_not_enough_values_found_during_a), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_not_enough_values_found_during_a */
  {__pyx_k_numAttributes, sizeof(__pyx_k_numAttributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numAttributes */
  {__pyx_k_numAttrs, sizeof(__pyx_k_numAttrs), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numAttrs */
  {__pyx_k_numAttrs_2, sizeof(__pyx_k_numAttrs_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numAttrs_2 */
  {__pyx_k_numAttrs_ValueError, sizeof(__pyx_k_numAttrs_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numAttrs_ValueError */
  {__pyx_k_numBlocks, sizeof(__pyx_k_numBlocks), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numBlocks */
  {__pyx_k_numChannels, sizeof(__pyx_k_numChannels), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numChannels */
  {__pyx_k_numChannels_2, sizeof(__pyx_k_numChannels_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numChannels_2 */
  {__pyx_k_numChannels_ValueError, sizeof(__pyx_k_numChannels_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numChannels_ValueError */
  {__pyx_k_numClusters, sizeof(__pyx_k_numClusters), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numClusters */
  {__pyx_k_numDependencies, sizeof(__pyx_k_numDependencies), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numDependencies */
  {__pyx_k_numDependencies_out, sizeof(__pyx_k_numDependencies_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numDependencies_out */
  {__pyx_k_numDependentNodes, sizeof(__pyx_k_numDependentNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numDependentNodes */
  {__pyx_k_numDevices, sizeof(__pyx_k_numDevices), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numDevices */
  {__pyx_k_numDevices_2, sizeof(__pyx_k_numDevices_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numDevices_2 */
  {__pyx_k_numDevices_ValueError, sizeof(__pyx_k_numDevices_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numDevices_ValueError */
  {__pyx_k_numEdges, sizeof(__pyx_k_numEdges), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numEdges */
  {__pyx_k_numExecAffinityParams, sizeof(__pyx_k_numExecAffinityParams), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numExecAffinityParams */
  {__pyx_k_numExecAffinityParams_2, sizeof(__pyx_k_numExecAffinityParams_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numExecAffinityParams_2 */
  {__pyx_k_numExecAffinityParams_ValueError, sizeof(__pyx_k_numExecAffinityParams_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numExecAffinityParams_ValueError */
  {__pyx_k_numExtSems, sizeof(__pyx_k_numExtSems), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numExtSems */
  {__pyx_k_numExtSems_2, sizeof(__pyx_k_numExtSems_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numExtSems_2 */
  {__pyx_k_numExtSems_ValueError, sizeof(__pyx_k_numExtSems_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numExtSems_ValueError */
  {__pyx_k_numFunctions, sizeof(__pyx_k_numFunctions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numFunctions */
  {__pyx_k_numJitOptions, sizeof(__pyx_k_numJitOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numJitOptions */
  {__pyx_k_numKernels, sizeof(__pyx_k_numKernels), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numKernels */
  {__pyx_k_numLevels, sizeof(__pyx_k_numLevels), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numLevels */
  {__pyx_k_numLevels_2, sizeof(__pyx_k_numLevels_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numLevels_2 */
  {__pyx_k_numLevels_ValueError, sizeof(__pyx_k_numLevels_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_numLevels_ValueError */
  {__pyx_k_numLibraryOptions, sizeof(__pyx_k_numLibraryOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numLibraryOptions */
  {__pyx_k_numMipmapLevels, sizeof(__pyx_k_numMipmapLevels), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numMipmapLevels */
  {__pyx_k_numNodes, sizeof(__pyx_k_numNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numNodes */
  {__pyx_k_numOps, sizeof(__pyx_k_numOps), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numOps */
  {__pyx_k_numOptions, sizeof(__pyx_k_numOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numOptions */
  {__pyx_k_numParams, sizeof(__pyx_k_numParams), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numParams */
  {__pyx_k_numRootNodes, sizeof(__pyx_k_numRootNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numRootNodes */
  {__pyx_k_num_bytes, sizeof(__pyx_k_num_bytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_num_bytes */
  {__pyx_k_num_bytes_2, sizeof(__pyx_k_num_bytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_num_bytes_2 */
  {__pyx_k_num_bytes_ValueError, sizeof(__pyx_k_num_bytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_num_bytes_ValueError */
  {__pyx_k_numbytes, sizeof(__pyx_k_numbytes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_numbytes */
  {__pyx_k_nvSciBufObject, sizeof(__pyx_k_nvSciBufObject), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_nvSciBufObject */
  {__pyx_k_nvSciBufObject_2, sizeof(__pyx_k_nvSciBufObject_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nvSciBufObject_2 */
  {__pyx_k_nvSciBufObject_ValueError, sizeof(__pyx_k_nvSciBufObject_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_nvSciBufObject_ValueError */
  {__pyx_k_nvSciSync, sizeof(__pyx_k_nvSciSync), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_nvSciSync */
  {__pyx_k_nvSciSyncAttrList, sizeof(__pyx_k_nvSciSyncAttrList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nvSciSyncAttrList */
  {__pyx_k_nvSciSyncObj, sizeof(__pyx_k_nvSciSyncObj), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_nvSciSyncObj */
  {__pyx_k_nvSciSyncObj_2, sizeof(__pyx_k_nvSciSyncObj_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nvSciSyncObj_2 */
  {__pyx_k_nvSciSyncObj_ValueError, sizeof(__pyx_k_nvSciSyncObj_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_nvSciSyncObj_ValueError */
  {__pyx_k_nvSciSync_2, sizeof(__pyx_k_nvSciSync_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nvSciSync_2 */
  {__pyx_k_nvSciSync_ValueError, sizeof(__pyx_k_nvSciSync_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_nvSciSync_ValueError */
  {__pyx_k_obj, sizeof(__pyx_k_obj), 0, 1, 1}, /* PyObject cname: __pyx_n_u_obj */
  {__pyx_k_objType, sizeof(__pyx_k_objType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_objType */
  {__pyx_k_object, sizeof(__pyx_k_object), 0, 1, 1}, /* PyObject cname: __pyx_n_u_object */
  {__pyx_k_object_out, sizeof(__pyx_k_object_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_object_out */
  {__pyx_k_offset, sizeof(__pyx_k_offset), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offset */
  {__pyx_k_offsetX, sizeof(__pyx_k_offsetX), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offsetX */
  {__pyx_k_offsetX_2, sizeof(__pyx_k_offsetX_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_offsetX_2 */
  {__pyx_k_offsetX_ValueError, sizeof(__pyx_k_offsetX_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offsetX_ValueError */
  {__pyx_k_offsetY, sizeof(__pyx_k_offsetY), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offsetY */
  {__pyx_k_offsetY_2, sizeof(__pyx_k_offsetY_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_offsetY_2 */
  {__pyx_k_offsetY_ValueError, sizeof(__pyx_k_offsetY_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offsetY_ValueError */
  {__pyx_k_offsetZ, sizeof(__pyx_k_offsetZ), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offsetZ */
  {__pyx_k_offsetZ_2, sizeof(__pyx_k_offsetZ_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_offsetZ_2 */
  {__pyx_k_offsetZ_ValueError, sizeof(__pyx_k_offsetZ_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offsetZ_ValueError */
  {__pyx_k_offset_2, sizeof(__pyx_k_offset_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_offset_2 */
  {__pyx_k_offset_3, sizeof(__pyx_k_offset_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offset_3 */
  {__pyx_k_offset_ValueError, sizeof(__pyx_k_offset_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_offset_ValueError */
  {__pyx_k_oobFill, sizeof(__pyx_k_oobFill), 0, 1, 1}, /* PyObject cname: __pyx_n_u_oobFill */
  {__pyx_k_op, sizeof(__pyx_k_op), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_op */
  {__pyx_k_opList, sizeof(__pyx_k_opList), 0, 1, 1}, /* PyObject cname: __pyx_n_u_opList */
  {__pyx_k_op_2, sizeof(__pyx_k_op_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_op_2 */
  {__pyx_k_op_ValueError, sizeof(__pyx_k_op_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_op_ValueError */
  {__pyx_k_opaque, sizeof(__pyx_k_opaque), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_opaque */
  {__pyx_k_opaque_2, sizeof(__pyx_k_opaque_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_opaque_2 */
  {__pyx_k_opaque_ValueError, sizeof(__pyx_k_opaque_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_opaque_ValueError */
  {__pyx_k_operation, sizeof(__pyx_k_operation), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_operation */
  {__pyx_k_operation_2, sizeof(__pyx_k_operation_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_operation_2 */
  {__pyx_k_operation_ValueError, sizeof(__pyx_k_operation_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_operation_ValueError */
  {__pyx_k_option, sizeof(__pyx_k_option), 0, 1, 1}, /* PyObject cname: __pyx_n_u_option */
  {__pyx_k_optionValues, sizeof(__pyx_k_optionValues), 0, 1, 1}, /* PyObject cname: __pyx_n_u_optionValues */
  {__pyx_k_options, sizeof(__pyx_k_options), 0, 1, 1}, /* PyObject cname: __pyx_n_u_options */
  {__pyx_k_ordinal, sizeof(__pyx_k_ordinal), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ordinal */
  {__pyx_k_originalGraph, sizeof(__pyx_k_originalGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_originalGraph */
  {__pyx_k_osHandle, sizeof(__pyx_k_osHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_osHandle */
  {__pyx_k_overBudget, sizeof(__pyx_k_overBudget), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_overBudget */
  {__pyx_k_overBudget_2, sizeof(__pyx_k_overBudget_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_overBudget_2 */
  {__pyx_k_overBudget_ValueError, sizeof(__pyx_k_overBudget_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_overBudget_ValueError */
  {__pyx_k_oversize, sizeof(__pyx_k_oversize), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_oversize */
  {__pyx_k_oversize_2, sizeof(__pyx_k_oversize_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_oversize_2 */
  {__pyx_k_oversize_ValueError, sizeof(__pyx_k_oversize_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_oversize_ValueError */
  {__pyx_k_oversize_length_must_be_48_is, sizeof(__pyx_k_oversize_length_must_be_48_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_oversize_length_must_be_48_is */
  {__pyx_k_ownership, sizeof(__pyx_k_ownership), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_ownership */
  {__pyx_k_ownership_2, sizeof(__pyx_k_ownership_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ownership_2 */
  {__pyx_k_ownership_ValueError, sizeof(__pyx_k_ownership_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_ownership_ValueError */
  {__pyx_k_p, sizeof(__pyx_k_p), 0, 1, 1}, /* PyObject cname: __pyx_n_u_p */
  {__pyx_k_p2pToken, sizeof(__pyx_k_p2pToken), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_p2pToken */
  {__pyx_k_p2pToken_2, sizeof(__pyx_k_p2pToken_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_p2pToken_2 */
  {__pyx_k_p2pToken_ValueError, sizeof(__pyx_k_p2pToken_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_p2pToken_ValueError */
  {__pyx_k_pAllocateArray, sizeof(__pyx_k_pAllocateArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pAllocateArray */
  {__pyx_k_pArray, sizeof(__pyx_k_pArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pArray */
  {__pyx_k_pArrayDescriptor, sizeof(__pyx_k_pArrayDescriptor), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pArrayDescriptor */
  {__pyx_k_pArray_2, sizeof(__pyx_k_pArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pArray_2 */
  {__pyx_k_pArray_ValueError, sizeof(__pyx_k_pArray_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pArray_ValueError */
  {__pyx_k_pBorderColor, sizeof(__pyx_k_pBorderColor), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pBorderColor */
  {__pyx_k_pConfig, sizeof(__pyx_k_pConfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pConfig */
  {__pyx_k_pContext, sizeof(__pyx_k_pContext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pContext */
  {__pyx_k_pCopy, sizeof(__pyx_k_pCopy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pCopy */
  {__pyx_k_pCtx, sizeof(__pyx_k_pCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pCtx */
  {__pyx_k_pCudaDeviceCount, sizeof(__pyx_k_pCudaDeviceCount), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pCudaDeviceCount */
  {__pyx_k_pCudaResource, sizeof(__pyx_k_pCudaResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pCudaResource */
  {__pyx_k_pDevPtr, sizeof(__pyx_k_pDevPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pDevPtr */
  {__pyx_k_pDevice, sizeof(__pyx_k_pDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pDevice */
  {__pyx_k_pExecAffinity, sizeof(__pyx_k_pExecAffinity), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pExecAffinity */
  {__pyx_k_pExportTableId, sizeof(__pyx_k_pExportTableId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pExportTableId */
  {__pyx_k_pFlags, sizeof(__pyx_k_pFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pFlags */
  {__pyx_k_pFormat, sizeof(__pyx_k_pFormat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pFormat */
  {__pyx_k_pFunc, sizeof(__pyx_k_pFunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pFunc */
  {__pyx_k_pGreenCtx, sizeof(__pyx_k_pGreenCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pGreenCtx */
  {__pyx_k_pHandle, sizeof(__pyx_k_pHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pHandle */
  {__pyx_k_pHandle_out, sizeof(__pyx_k_pHandle_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pHandle_out */
  {__pyx_k_pKernel, sizeof(__pyx_k_pKernel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pKernel */
  {__pyx_k_pLevelArray, sizeof(__pyx_k_pLevelArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pLevelArray */
  {__pyx_k_pLib, sizeof(__pyx_k_pLib), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pLib */
  {__pyx_k_pMilliseconds, sizeof(__pyx_k_pMilliseconds), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pMilliseconds */
  {__pyx_k_pMipmappedArray, sizeof(__pyx_k_pMipmappedArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pMipmappedArray */
  {__pyx_k_pMipmappedArrayDesc, sizeof(__pyx_k_pMipmappedArrayDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pMipmappedArrayDesc */
  {__pyx_k_pMod, sizeof(__pyx_k_pMod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pMod */
  {__pyx_k_pNumChannels, sizeof(__pyx_k_pNumChannels), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pNumChannels */
  {__pyx_k_pPitch, sizeof(__pyx_k_pPitch), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pPitch */
  {__pyx_k_pPitch_2, sizeof(__pyx_k_pPitch_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pPitch_2 */
  {__pyx_k_pPitch_ValueError, sizeof(__pyx_k_pPitch_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pPitch_ValueError */
  {__pyx_k_pPlaneArray, sizeof(__pyx_k_pPlaneArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pPlaneArray */
  {__pyx_k_pResDesc, sizeof(__pyx_k_pResDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pResDesc */
  {__pyx_k_pResViewDesc, sizeof(__pyx_k_pResViewDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pResViewDesc */
  {__pyx_k_pSize, sizeof(__pyx_k_pSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pSize */
  {__pyx_k_pStr, sizeof(__pyx_k_pStr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pStr */
  {__pyx_k_pStream, sizeof(__pyx_k_pStream), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pStream */
  {__pyx_k_pSurfObject, sizeof(__pyx_k_pSurfObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pSurfObject */
  {__pyx_k_pSurfRef, sizeof(__pyx_k_pSurfRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pSurfRef */
  {__pyx_k_pTexDesc, sizeof(__pyx_k_pTexDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pTexDesc */
  {__pyx_k_pTexObject, sizeof(__pyx_k_pTexObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pTexObject */
  {__pyx_k_pTexRef, sizeof(__pyx_k_pTexRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pTexRef */
  {__pyx_k_pad, sizeof(__pyx_k_pad), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pad */
  {__pyx_k_pad_2, sizeof(__pyx_k_pad_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pad_2 */
  {__pyx_k_pad_ValueError, sizeof(__pyx_k_pad_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pad_ValueError */
  {__pyx_k_pad_length_must_be_64_is, sizeof(__pyx_k_pad_length_must_be_64_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pad_length_must_be_64_is */
  {__pyx_k_padding, sizeof(__pyx_k_padding), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_padding */
  {__pyx_k_padding_2, sizeof(__pyx_k_padding_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_padding_2 */
  {__pyx_k_padding_ValueError, sizeof(__pyx_k_padding_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_padding_ValueError */
  {__pyx_k_padding_length_must_be_20_is, sizeof(__pyx_k_padding_length_must_be_20_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_padding_length_must_be_20_is */
  {__pyx_k_paddr, sizeof(__pyx_k_paddr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_paddr */
  {__pyx_k_pam, sizeof(__pyx_k_pam), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pam */
  {__pyx_k_param, sizeof(__pyx_k_param), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_param */
  {__pyx_k_paramArray, sizeof(__pyx_k_paramArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_paramArray */
  {__pyx_k_paramArray_2, sizeof(__pyx_k_paramArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_paramArray_2 */
  {__pyx_k_paramArray_ValueError, sizeof(__pyx_k_paramArray_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_paramArray_ValueError */
  {__pyx_k_paramIndex, sizeof(__pyx_k_paramIndex), 0, 1, 1}, /* PyObject cname: __pyx_n_u_paramIndex */
  {__pyx_k_paramOffset, sizeof(__pyx_k_paramOffset), 0, 1, 1}, /* PyObject cname: __pyx_n_u_paramOffset */
  {__pyx_k_paramSize, sizeof(__pyx_k_paramSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_paramSize */
  {__pyx_k_param_2, sizeof(__pyx_k_param_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_param_2 */
  {__pyx_k_param_ValueError, sizeof(__pyx_k_param_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_param_ValueError */
  {__pyx_k_params, sizeof(__pyx_k_params), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_params */
  {__pyx_k_paramsArray, sizeof(__pyx_k_paramsArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_paramsArray */
  {__pyx_k_paramsArray_2, sizeof(__pyx_k_paramsArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_paramsArray_2 */
  {__pyx_k_paramsArray_ValueError, sizeof(__pyx_k_paramsArray_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_paramsArray_ValueError */
  {__pyx_k_params_2, sizeof(__pyx_k_params_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_params_2 */
  {__pyx_k_params_ValueError, sizeof(__pyx_k_params_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_params_ValueError */
  {__pyx_k_params_out, sizeof(__pyx_k_params_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_params_out */
  {__pyx_k_parray, sizeof(__pyx_k_parray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_parray */
  {__pyx_k_path, sizeof(__pyx_k_path), 0, 1, 1}, /* PyObject cname: __pyx_n_u_path */
  {__pyx_k_pathToFile, sizeof(__pyx_k_pathToFile), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pathToFile */
  {__pyx_k_pbase, sizeof(__pyx_k_pbase), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pbase */
  {__pyx_k_pbias, sizeof(__pyx_k_pbias), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pbias */
  {__pyx_k_pblockSizeToDynamicSMemSize, sizeof(__pyx_k_pblockSizeToDynamicSMemSize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pblockSizeToDynamicSMemSize */
  {__pyx_k_pbuffer, sizeof(__pyx_k_pbuffer), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pbuffer */
  {__pyx_k_pcallback, sizeof(__pyx_k_pcallback), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pcallback */
  {__pyx_k_pcallbackFunc, sizeof(__pyx_k_pcallbackFunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pcallbackFunc */
  {__pyx_k_pchannelsPerPixel, sizeof(__pyx_k_pchannelsPerPixel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pchannelsPerPixel */
  {__pyx_k_pchildGraph, sizeof(__pyx_k_pchildGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pchildGraph */
  {__pyx_k_pciBusId, sizeof(__pyx_k_pciBusId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pciBusId */
  {__pyx_k_pconfig, sizeof(__pyx_k_pconfig), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pconfig */
  {__pyx_k_pconn, sizeof(__pyx_k_pconn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pconn */
  {__pyx_k_pctx, sizeof(__pyx_k_pctx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pctx */
  {__pyx_k_pdesc, sizeof(__pyx_k_pdesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdesc */
  {__pyx_k_pdestroy, sizeof(__pyx_k_pdestroy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdestroy */
  {__pyx_k_pdev, sizeof(__pyx_k_pdev), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdev */
  {__pyx_k_pdevPtr, sizeof(__pyx_k_pdevPtr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdevPtr */
  {__pyx_k_pdevice, sizeof(__pyx_k_pdevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdevice */
  {__pyx_k_pdptr, sizeof(__pyx_k_pdptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdptr */
  {__pyx_k_pdst, sizeof(__pyx_k_pdst), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdst */
  {__pyx_k_pdstArray, sizeof(__pyx_k_pdstArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdstArray */
  {__pyx_k_pdstContext, sizeof(__pyx_k_pdstContext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdstContext */
  {__pyx_k_pdstDevice, sizeof(__pyx_k_pdstDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pdstDevice */
  {__pyx_k_peerContext, sizeof(__pyx_k_peerContext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_peerContext */
  {__pyx_k_peerDev, sizeof(__pyx_k_peerDev), 0, 1, 1}, /* PyObject cname: __pyx_n_u_peerDev */
  {__pyx_k_peglSync, sizeof(__pyx_k_peglSync), 0, 1, 1}, /* PyObject cname: __pyx_n_u_peglSync */
  {__pyx_k_pevent, sizeof(__pyx_k_pevent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pevent */
  {__pyx_k_pextMem, sizeof(__pyx_k_pextMem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pextMem */
  {__pyx_k_pextSem, sizeof(__pyx_k_pextSem), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pextSem */
  {__pyx_k_pf, sizeof(__pyx_k_pf), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pf */
  {__pyx_k_pflags, sizeof(__pyx_k_pflags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pflags */
  {__pyx_k_pfm, sizeof(__pyx_k_pfm), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pfm */
  {__pyx_k_pfn, sizeof(__pyx_k_pfn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pfn */
  {__pyx_k_pformat, sizeof(__pyx_k_pformat), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pformat */
  {__pyx_k_pfunc, sizeof(__pyx_k_pfunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pfunc */
  {__pyx_k_pfunction, sizeof(__pyx_k_pfunction), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pfunction */
  {__pyx_k_pgraph, sizeof(__pyx_k_pgraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pgraph */
  {__pyx_k_pgreenCtx, sizeof(__pyx_k_pgreenCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pgreenCtx */
  {__pyx_k_phArray, sizeof(__pyx_k_phArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phArray */
  {__pyx_k_phClonedGraph, sizeof(__pyx_k_phClonedGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phClonedGraph */
  {__pyx_k_phCtx, sizeof(__pyx_k_phCtx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phCtx */
  {__pyx_k_phDesc, sizeof(__pyx_k_phDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phDesc */
  {__pyx_k_phEnd, sizeof(__pyx_k_phEnd), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phEnd */
  {__pyx_k_phEvent, sizeof(__pyx_k_phEvent), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phEvent */
  {__pyx_k_phGraph, sizeof(__pyx_k_phGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phGraph */
  {__pyx_k_phGraphClone, sizeof(__pyx_k_phGraphClone), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phGraphClone */
  {__pyx_k_phGraphExec, sizeof(__pyx_k_phGraphExec), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phGraphExec */
  {__pyx_k_phGraphNode, sizeof(__pyx_k_phGraphNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phGraphNode */
  {__pyx_k_phGraph_out, sizeof(__pyx_k_phGraph_out), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_phGraph_out */
  {__pyx_k_phGraph_out_2, sizeof(__pyx_k_phGraph_out_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phGraph_out_2 */
  {__pyx_k_phGraph_out_ValueError, sizeof(__pyx_k_phGraph_out_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_phGraph_out_ValueError */
  {__pyx_k_phMipmappedArray, sizeof(__pyx_k_phMipmappedArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phMipmappedArray */
  {__pyx_k_phNode, sizeof(__pyx_k_phNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phNode */
  {__pyx_k_phOriginalNode, sizeof(__pyx_k_phOriginalNode), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phOriginalNode */
  {__pyx_k_phStart, sizeof(__pyx_k_phStart), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phStart */
  {__pyx_k_phStream, sizeof(__pyx_k_phStream), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phStream */
  {__pyx_k_phSurfRef, sizeof(__pyx_k_phSurfRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phSurfRef */
  {__pyx_k_phTexRef, sizeof(__pyx_k_phTexRef), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phTexRef */
  {__pyx_k_phandle, sizeof(__pyx_k_phandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phandle */
  {__pyx_k_pheight, sizeof(__pyx_k_pheight), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pheight */
  {__pyx_k_phfunc, sizeof(__pyx_k_phfunc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phfunc */
  {__pyx_k_phmod, sizeof(__pyx_k_phmod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_phmod */
  {__pyx_k_pi, sizeof(__pyx_k_pi), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pi */
  {__pyx_k_pid, sizeof(__pyx_k_pid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pid */
  {__pyx_k_pimage, sizeof(__pyx_k_pimage), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pimage */
  {__pyx_k_pitch, sizeof(__pyx_k_pitch), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pitch */
  {__pyx_k_pitch2D, sizeof(__pyx_k_pitch2D), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pitch2D */
  {__pyx_k_pitch2D_2, sizeof(__pyx_k_pitch2D_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pitch2D_2 */
  {__pyx_k_pitch2D_ValueError, sizeof(__pyx_k_pitch2D_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pitch2D_ValueError */
  {__pyx_k_pitchInBytes, sizeof(__pyx_k_pitchInBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pitchInBytes */
  {__pyx_k_pitchInBytes_2, sizeof(__pyx_k_pitchInBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pitchInBytes_2 */
  {__pyx_k_pitchInBytes_ValueError, sizeof(__pyx_k_pitchInBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pitchInBytes_ValueError */
  {__pyx_k_pitch_2, sizeof(__pyx_k_pitch_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pitch_2 */
  {__pyx_k_pitch_ValueError, sizeof(__pyx_k_pitch_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_pitch_ValueError */
  {__pyx_k_pixelBoxLowerCorner, sizeof(__pyx_k_pixelBoxLowerCorner), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pixelBoxLowerCorner */
  {__pyx_k_pixelBoxLowerCornerWidth, sizeof(__pyx_k_pixelBoxLowerCornerWidth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pixelBoxLowerCornerWidth */
  {__pyx_k_pixelBoxUpperCorner, sizeof(__pyx_k_pixelBoxUpperCorner), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pixelBoxUpperCorner */
  {__pyx_k_pixelBoxUpperCornerWidth, sizeof(__pyx_k_pixelBoxUpperCornerWidth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pixelBoxUpperCornerWidth */
  {__pyx_k_pixelsPerColumn, sizeof(__pyx_k_pixelsPerColumn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pixelsPerColumn */
  {__pyx_k_pkernel, sizeof(__pyx_k_pkernel), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pkernel */
  {__pyx_k_planeCount, sizeof(__pyx_k_planeCount), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_planeCount */
  {__pyx_k_planeCount_2, sizeof(__pyx_k_planeCount_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_planeCount_2 */
  {__pyx_k_planeCount_ValueError, sizeof(__pyx_k_planeCount_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_planeCount_ValueError */
  {__pyx_k_planeIdx, sizeof(__pyx_k_planeIdx), 0, 1, 1}, /* PyObject cname: __pyx_n_u_planeIdx */
  {__pyx_k_plib, sizeof(__pyx_k_plib), 0, 1, 1}, /* PyObject cname: __pyx_n_u_plib */
  {__pyx_k_plibrary, sizeof(__pyx_k_plibrary), 0, 1, 1}, /* PyObject cname: __pyx_n_u_plibrary */
  {__pyx_k_pmaxAniso, sizeof(__pyx_k_pmaxAniso), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pmaxAniso */
  {__pyx_k_pmaxMipmapLevelClamp, sizeof(__pyx_k_pmaxMipmapLevelClamp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pmaxMipmapLevelClamp */
  {__pyx_k_pmcHandle, sizeof(__pyx_k_pmcHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pmcHandle */
  {__pyx_k_pmemHandle, sizeof(__pyx_k_pmemHandle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pmemHandle */
  {__pyx_k_pmemPool, sizeof(__pyx_k_pmemPool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pmemPool */
  {__pyx_k_pmemptr, sizeof(__pyx_k_pmemptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pmemptr */
  {__pyx_k_pminMipmapLevelClamp, sizeof(__pyx_k_pminMipmapLevelClamp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pminMipmapLevelClamp */
  {__pyx_k_pmipmap, sizeof(__pyx_k_pmipmap), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pmipmap */
  {__pyx_k_pmod, sizeof(__pyx_k_pmod), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pmod */
  {__pyx_k_pobject, sizeof(__pyx_k_pobject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pobject */
  {__pyx_k_pool, sizeof(__pyx_k_pool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pool */
  {__pyx_k_poolProps, sizeof(__pyx_k_poolProps), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_poolProps */
  {__pyx_k_poolProps_2, sizeof(__pyx_k_poolProps_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_poolProps_2 */
  {__pyx_k_poolProps_ValueError, sizeof(__pyx_k_poolProps_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_poolProps_ValueError */
  {__pyx_k_pool_out, sizeof(__pyx_k_pool_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pool_out */
  {__pyx_k_pop, sizeof(__pyx_k_pop), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pop */
  {__pyx_k_poriginalGraph, sizeof(__pyx_k_poriginalGraph), 0, 1, 1}, /* PyObject cname: __pyx_n_u_poriginalGraph */
  {__pyx_k_pp, sizeof(__pyx_k_pp), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pp */
  {__pyx_k_ppCudaResource, sizeof(__pyx_k_ppCudaResource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ppCudaResource */
  {__pyx_k_ppExportTable, sizeof(__pyx_k_ppExportTable), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ppExportTable */
  {__pyx_k_ppStream, sizeof(__pyx_k_ppStream), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ppStream */
  {__pyx_k_ppeerContext, sizeof(__pyx_k_ppeerContext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ppeerContext */
  {__pyx_k_ppeerDev, sizeof(__pyx_k_ppeerDev), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ppeerDev */
  {__pyx_k_ppixelsPerColumn, sizeof(__pyx_k_ppixelsPerColumn), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ppixelsPerColumn */
  {__pyx_k_ppool, sizeof(__pyx_k_ppool), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ppool */
  {__pyx_k_pptr, sizeof(__pyx_k_pptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pptr */
  {__pyx_k_preferredClusterDim, sizeof(__pyx_k_preferredClusterDim), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_preferredClusterDim */
  {__pyx_k_preferredClusterDim_2, sizeof(__pyx_k_preferredClusterDim_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_preferredClusterDim_2 */
  {__pyx_k_preferredClusterDim_ValueError, sizeof(__pyx_k_preferredClusterDim_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_preferredClusterDim_ValueError */
  {__pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 1, 1}, /* PyObject cname: __pyx_n_u_prepare */
  {__pyx_k_presource, sizeof(__pyx_k_presource), 0, 1, 1}, /* PyObject cname: __pyx_n_u_presource */
  {__pyx_k_presources, sizeof(__pyx_k_presources), 0, 1, 1}, /* PyObject cname: __pyx_n_u_presources */
  {__pyx_k_priority, sizeof(__pyx_k_priority), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_priority */
  {__pyx_k_priority_2, sizeof(__pyx_k_priority_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_priority_2 */
  {__pyx_k_priority_ValueError, sizeof(__pyx_k_priority_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_priority_ValueError */
  {__pyx_k_programmaticEvent, sizeof(__pyx_k_programmaticEvent), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_programmaticEvent */
  {__pyx_k_programmaticEvent_2, sizeof(__pyx_k_programmaticEvent_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_programmaticEvent_2 */
  {__pyx_k_programmaticEvent_ValueError, sizeof(__pyx_k_programmaticEvent_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_programmaticEvent_ValueError */
  {__pyx_k_programmaticStreamSerializationA, sizeof(__pyx_k_programmaticStreamSerializationA), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_programmaticStreamSerializationA */
  {__pyx_k_programmaticStreamSerializationA_2, sizeof(__pyx_k_programmaticStreamSerializationA_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_programmaticStreamSerializationA_2 */
  {__pyx_k_programmaticStreamSerializationA_3, sizeof(__pyx_k_programmaticStreamSerializationA_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_programmaticStreamSerializationA_3 */
  {__pyx_k_prop, sizeof(__pyx_k_prop), 0, 1, 1}, /* PyObject cname: __pyx_n_u_prop */
  {__pyx_k_psize, sizeof(__pyx_k_psize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_psize */
  {__pyx_k_psrc, sizeof(__pyx_k_psrc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_psrc */
  {__pyx_k_psrcArray, sizeof(__pyx_k_psrcArray), 0, 1, 1}, /* PyObject cname: __pyx_n_u_psrcArray */
  {__pyx_k_psrcContext, sizeof(__pyx_k_psrcContext), 0, 1, 1}, /* PyObject cname: __pyx_n_u_psrcContext */
  {__pyx_k_psrcDevice, sizeof(__pyx_k_psrcDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_psrcDevice */
  {__pyx_k_pstate, sizeof(__pyx_k_pstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pstate */
  {__pyx_k_pstream, sizeof(__pyx_k_pstream), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pstream */
  {__pyx_k_psurfObject, sizeof(__pyx_k_psurfObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_psurfObject */
  {__pyx_k_ptarget, sizeof(__pyx_k_ptarget), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ptarget */
  {__pyx_k_ptensorRank, sizeof(__pyx_k_ptensorRank), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ptensorRank */
  {__pyx_k_ptexObject, sizeof(__pyx_k_ptexObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ptexObject */
  {__pyx_k_ptr, sizeof(__pyx_k_ptr), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ptr */
  {__pyx_k_ptr_2, sizeof(__pyx_k_ptr_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ptr_2 */
  {__pyx_k_ptr_3, sizeof(__pyx_k_ptr_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_ptr_3 */
  {__pyx_k_ptr_4, sizeof(__pyx_k_ptr_4), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_ptr_4 */
  {__pyx_k_ptr_ValueError, sizeof(__pyx_k_ptr_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_ptr_ValueError */
  {__pyx_k_ptr_out, sizeof(__pyx_k_ptr_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ptr_out */
  {__pyx_k_pvalue, sizeof(__pyx_k_pvalue), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pvalue */
  {__pyx_k_pvdpDevice, sizeof(__pyx_k_pvdpDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pvdpDevice */
  {__pyx_k_pvdpGetProcAddress, sizeof(__pyx_k_pvdpGetProcAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pvdpGetProcAddress */
  {__pyx_k_pvdpSurface, sizeof(__pyx_k_pvdpSurface), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pvdpSurface */
  {__pyx_k_pwidth, sizeof(__pyx_k_pwidth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pwidth */
  {__pyx_k_pyObj, sizeof(__pyx_k_pyObj), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyObj */
  {__pyx_k_pyattributes, sizeof(__pyx_k_pyattributes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyattributes */
  {__pyx_k_pydataSizes, sizeof(__pyx_k_pydataSizes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pydataSizes */
  {__pyx_k_pydependencies, sizeof(__pyx_k_pydependencies), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pydependencies */
  {__pyx_k_pydependencies_out, sizeof(__pyx_k_pydependencies_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pydependencies_out */
  {__pyx_k_pydependentNodes, sizeof(__pyx_k_pydependentNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pydependentNodes */
  {__pyx_k_pyedgeData, sizeof(__pyx_k_pyedgeData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyedgeData */
  {__pyx_k_pyedgeData_out, sizeof(__pyx_k_pyedgeData_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyedgeData_out */
  {__pyx_k_pyfrom, sizeof(__pyx_k_pyfrom), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyfrom */
  {__pyx_k_pyfunctions, sizeof(__pyx_k_pyfunctions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyfunctions */
  {__pyx_k_pyjitOptions, sizeof(__pyx_k_pyjitOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyjitOptions */
  {__pyx_k_pykernels, sizeof(__pyx_k_pykernels), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pykernels */
  {__pyx_k_pylibraryOptions, sizeof(__pyx_k_pylibraryOptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pylibraryOptions */
  {__pyx_k_pylist, sizeof(__pyx_k_pylist), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pylist */
  {__pyx_k_pyname, sizeof(__pyx_k_pyname), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyname */
  {__pyx_k_pynodes, sizeof(__pyx_k_pynodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pynodes */
  {__pyx_k_pyoptionValues, sizeof(__pyx_k_pyoptionValues), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyoptionValues */
  {__pyx_k_pyoptions, sizeof(__pyx_k_pyoptions), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyoptions */
  {__pyx_k_pypCudaDevices, sizeof(__pyx_k_pypCudaDevices), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pypCudaDevices */
  {__pyx_k_pypciBusId, sizeof(__pyx_k_pypciBusId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pypciBusId */
  {__pyx_k_pyresult, sizeof(__pyx_k_pyresult), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyresult */
  {__pyx_k_pyrootNodes, sizeof(__pyx_k_pyrootNodes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyrootNodes */
  {__pyx_k_pyto, sizeof(__pyx_k_pyto), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyto */
  {__pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyx_state */
  {__pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 1, 1}, /* PyObject cname: __pyx_n_u_qualname */
  {__pyx_k_range, sizeof(__pyx_k_range), 0, 1, 1}, /* PyObject cname: __pyx_n_u_range */
  {__pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 1, 1}, /* PyObject cname: __pyx_n_u_reduce */
  {__pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_reduce_cython */
  {__pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 1, 1}, /* PyObject cname: __pyx_n_u_reduce_ex */
  {__pyx_k_regsPerBlock, sizeof(__pyx_k_regsPerBlock), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_regsPerBlock */
  {__pyx_k_regsPerBlock_2, sizeof(__pyx_k_regsPerBlock_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_regsPerBlock_2 */
  {__pyx_k_regsPerBlock_ValueError, sizeof(__pyx_k_regsPerBlock_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_regsPerBlock_ValueError */
  {__pyx_k_remaining, sizeof(__pyx_k_remaining), 0, 1, 1}, /* PyObject cname: __pyx_n_u_remaining */
  {__pyx_k_remote, sizeof(__pyx_k_remote), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_remote */
  {__pyx_k_remote_2, sizeof(__pyx_k_remote_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_remote_2 */
  {__pyx_k_remote_ValueError, sizeof(__pyx_k_remote_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_remote_ValueError */
  {__pyx_k_requestedHandleTypes, sizeof(__pyx_k_requestedHandleTypes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_requestedHandleTypes */
  {__pyx_k_requestedHandleTypes_2, sizeof(__pyx_k_requestedHandleTypes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_requestedHandleTypes_2 */
  {__pyx_k_requestedHandleTypes_ValueError, sizeof(__pyx_k_requestedHandleTypes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_requestedHandleTypes_ValueError */
  {__pyx_k_res, sizeof(__pyx_k_res), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_res */
  {__pyx_k_resType, sizeof(__pyx_k_resType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_resType */
  {__pyx_k_resType_2, sizeof(__pyx_k_resType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_resType_2 */
  {__pyx_k_resType_ValueError, sizeof(__pyx_k_resType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_resType_ValueError */
  {__pyx_k_res_2, sizeof(__pyx_k_res_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_res_2 */
  {__pyx_k_res_ValueError, sizeof(__pyx_k_res_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_res_ValueError */
  {__pyx_k_reserved, sizeof(__pyx_k_reserved), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved */
  {__pyx_k_reserved0, sizeof(__pyx_k_reserved0), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved0 */
  {__pyx_k_reserved0_2, sizeof(__pyx_k_reserved0_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_reserved0_2 */
  {__pyx_k_reserved0_ValueError, sizeof(__pyx_k_reserved0_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved0_ValueError */
  {__pyx_k_reserved1, sizeof(__pyx_k_reserved1), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved1 */
  {__pyx_k_reserved1_2, sizeof(__pyx_k_reserved1_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_reserved1_2 */
  {__pyx_k_reserved1_ValueError, sizeof(__pyx_k_reserved1_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved1_ValueError */
  {__pyx_k_reserved2, sizeof(__pyx_k_reserved2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved2 */
  {__pyx_k_reserved2_2, sizeof(__pyx_k_reserved2_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_reserved2_2 */
  {__pyx_k_reserved2_ValueError, sizeof(__pyx_k_reserved2_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved2_ValueError */
  {__pyx_k_reserved_2, sizeof(__pyx_k_reserved_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_reserved_2 */
  {__pyx_k_reserved_3, sizeof(__pyx_k_reserved_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved_3 */
  {__pyx_k_reserved_ValueError, sizeof(__pyx_k_reserved_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved_ValueError */
  {__pyx_k_reserved_length_must_be_4_is, sizeof(__pyx_k_reserved_length_must_be_4_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved_length_must_be_4_is */
  {__pyx_k_reserved_length_must_be_54_is, sizeof(__pyx_k_reserved_length_must_be_54_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved_length_must_be_54_is */
  {__pyx_k_reserved_length_must_be_5_is, sizeof(__pyx_k_reserved_length_must_be_5_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved_length_must_be_5_is */
  {__pyx_k_reserved_length_must_be_64_is, sizeof(__pyx_k_reserved_length_must_be_64_is), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_reserved_length_must_be_64_is */
  {__pyx_k_resource, sizeof(__pyx_k_resource), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_resource */
  {__pyx_k_resourceType, sizeof(__pyx_k_resourceType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_resourceType */
  {__pyx_k_resourceType_2, sizeof(__pyx_k_resourceType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_resourceType_2 */
  {__pyx_k_resourceType_ValueError, sizeof(__pyx_k_resourceType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_resourceType_ValueError */
  {__pyx_k_resource_2, sizeof(__pyx_k_resource_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_resource_2 */
  {__pyx_k_resource_ValueError, sizeof(__pyx_k_resource_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_resource_ValueError */
  {__pyx_k_resources, sizeof(__pyx_k_resources), 0, 1, 1}, /* PyObject cname: __pyx_n_u_resources */
  {__pyx_k_result, sizeof(__pyx_k_result), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_result */
  {__pyx_k_resultInfo, sizeof(__pyx_k_resultInfo), 0, 1, 1}, /* PyObject cname: __pyx_n_u_resultInfo */
  {__pyx_k_result_2, sizeof(__pyx_k_result_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_result_2 */
  {__pyx_k_result_ValueError, sizeof(__pyx_k_result_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_result_ValueError */
  {__pyx_k_result_out, sizeof(__pyx_k_result_out), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_result_out */
  {__pyx_k_result_out_2, sizeof(__pyx_k_result_out_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_result_out_2 */
  {__pyx_k_result_out_ValueError, sizeof(__pyx_k_result_out_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_result_out_ValueError */
  {__pyx_k_rowLength, sizeof(__pyx_k_rowLength), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_rowLength */
  {__pyx_k_rowLength_2, sizeof(__pyx_k_rowLength_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_rowLength_2 */
  {__pyx_k_rowLength_ValueError, sizeof(__pyx_k_rowLength_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_rowLength_ValueError */
  {__pyx_k_scope, sizeof(__pyx_k_scope), 0, 1, 1}, /* PyObject cname: __pyx_n_u_scope */
  {__pyx_k_self, sizeof(__pyx_k_self), 0, 1, 1}, /* PyObject cname: __pyx_n_u_self */
  {__pyx_k_self__allocated_cannot_be_conver, sizeof(__pyx_k_self__allocated_cannot_be_conver), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_self__allocated_cannot_be_conver */
  {__pyx_k_semHandleDesc, sizeof(__pyx_k_semHandleDesc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_semHandleDesc */
  {__pyx_k_send, sizeof(__pyx_k_send), 0, 1, 1}, /* PyObject cname: __pyx_n_u_send */
  {__pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 1, 1}, /* PyObject cname: __pyx_n_u_set_name */
  {__pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 1, 1}, /* PyObject cname: __pyx_n_u_setstate */
  {__pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 1, 1}, /* PyObject cname: __pyx_n_u_setstate_cython */
  {__pyx_k_shHandleType, sizeof(__pyx_k_shHandleType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_shHandleType */
  {__pyx_k_shareData, sizeof(__pyx_k_shareData), 0, 1, 1}, /* PyObject cname: __pyx_n_u_shareData */
  {__pyx_k_shareData_out, sizeof(__pyx_k_shareData_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_shareData_out */
  {__pyx_k_sharedData, sizeof(__pyx_k_sharedData), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedData */
  {__pyx_k_sharedDataType, sizeof(__pyx_k_sharedDataType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedDataType */
  {__pyx_k_sharedDataType_2, sizeof(__pyx_k_sharedDataType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sharedDataType_2 */
  {__pyx_k_sharedDataType_ValueError, sizeof(__pyx_k_sharedDataType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedDataType_ValueError */
  {__pyx_k_sharedData_2, sizeof(__pyx_k_sharedData_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sharedData_2 */
  {__pyx_k_sharedData_ValueError, sizeof(__pyx_k_sharedData_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedData_ValueError */
  {__pyx_k_sharedMemBytes, sizeof(__pyx_k_sharedMemBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedMemBytes */
  {__pyx_k_sharedMemBytes_2, sizeof(__pyx_k_sharedMemBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sharedMemBytes_2 */
  {__pyx_k_sharedMemBytes_ValueError, sizeof(__pyx_k_sharedMemBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedMemBytes_ValueError */
  {__pyx_k_sharedMemCarveout, sizeof(__pyx_k_sharedMemCarveout), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedMemCarveout */
  {__pyx_k_sharedMemCarveout_2, sizeof(__pyx_k_sharedMemCarveout_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sharedMemCarveout_2 */
  {__pyx_k_sharedMemCarveout_ValueError, sizeof(__pyx_k_sharedMemCarveout_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedMemCarveout_ValueError */
  {__pyx_k_sharedMemPerBlock, sizeof(__pyx_k_sharedMemPerBlock), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedMemPerBlock */
  {__pyx_k_sharedMemPerBlock_2, sizeof(__pyx_k_sharedMemPerBlock_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sharedMemPerBlock_2 */
  {__pyx_k_sharedMemPerBlock_ValueError, sizeof(__pyx_k_sharedMemPerBlock_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sharedMemPerBlock_ValueError */
  {__pyx_k_size, sizeof(__pyx_k_size), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_size */
  {__pyx_k_sizeInBytes, sizeof(__pyx_k_sizeInBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sizeInBytes */
  {__pyx_k_sizeInBytes_2, sizeof(__pyx_k_sizeInBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sizeInBytes_2 */
  {__pyx_k_sizeInBytes_ValueError, sizeof(__pyx_k_sizeInBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sizeInBytes_ValueError */
  {__pyx_k_sizeOut, sizeof(__pyx_k_sizeOut), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sizeOut */
  {__pyx_k_size_2, sizeof(__pyx_k_size_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_size_2 */
  {__pyx_k_size_ValueError, sizeof(__pyx_k_size_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_size_ValueError */
  {__pyx_k_sizeof, sizeof(__pyx_k_sizeof), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sizeof */
  {__pyx_k_sizes, sizeof(__pyx_k_sizes), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sizes */
  {__pyx_k_sm, sizeof(__pyx_k_sm), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sm */
  {__pyx_k_smCount, sizeof(__pyx_k_smCount), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_smCount */
  {__pyx_k_smCount_2, sizeof(__pyx_k_smCount_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_smCount_2 */
  {__pyx_k_smCount_3, sizeof(__pyx_k_smCount_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_smCount_3 */
  {__pyx_k_smCount_ValueError, sizeof(__pyx_k_smCount_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_smCount_ValueError */
  {__pyx_k_sm_2, sizeof(__pyx_k_sm_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sm_2 */
  {__pyx_k_sm_ValueError, sizeof(__pyx_k_sm_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sm_ValueError */
  {__pyx_k_sparseLevel, sizeof(__pyx_k_sparseLevel), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sparseLevel */
  {__pyx_k_sparseLevel_2, sizeof(__pyx_k_sparseLevel_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sparseLevel_2 */
  {__pyx_k_sparseLevel_ValueError, sizeof(__pyx_k_sparseLevel_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_sparseLevel_ValueError */
  {__pyx_k_sparseProperties, sizeof(__pyx_k_sparseProperties), 0, 1, 1}, /* PyObject cname: __pyx_n_u_sparseProperties */
  {__pyx_k_spec, sizeof(__pyx_k_spec), 0, 1, 1}, /* PyObject cname: __pyx_n_u_spec */
  {__pyx_k_src, sizeof(__pyx_k_src), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_src */
  {__pyx_k_srcAccessOrder, sizeof(__pyx_k_srcAccessOrder), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcAccessOrder */
  {__pyx_k_srcAccessOrder_2, sizeof(__pyx_k_srcAccessOrder_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcAccessOrder_2 */
  {__pyx_k_srcAccessOrder_ValueError, sizeof(__pyx_k_srcAccessOrder_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcAccessOrder_ValueError */
  {__pyx_k_srcArray, sizeof(__pyx_k_srcArray), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcArray */
  {__pyx_k_srcArray_2, sizeof(__pyx_k_srcArray_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcArray_2 */
  {__pyx_k_srcArray_ValueError, sizeof(__pyx_k_srcArray_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcArray_ValueError */
  {__pyx_k_srcContext, sizeof(__pyx_k_srcContext), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcContext */
  {__pyx_k_srcContext_2, sizeof(__pyx_k_srcContext_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcContext_2 */
  {__pyx_k_srcContext_ValueError, sizeof(__pyx_k_srcContext_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcContext_ValueError */
  {__pyx_k_srcDevice, sizeof(__pyx_k_srcDevice), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcDevice */
  {__pyx_k_srcDevice_2, sizeof(__pyx_k_srcDevice_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcDevice_2 */
  {__pyx_k_srcDevice_ValueError, sizeof(__pyx_k_srcDevice_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcDevice_ValueError */
  {__pyx_k_srcHeight, sizeof(__pyx_k_srcHeight), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcHeight */
  {__pyx_k_srcHeight_2, sizeof(__pyx_k_srcHeight_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcHeight_2 */
  {__pyx_k_srcHeight_ValueError, sizeof(__pyx_k_srcHeight_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcHeight_ValueError */
  {__pyx_k_srcHost, sizeof(__pyx_k_srcHost), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcHost */
  {__pyx_k_srcHost_2, sizeof(__pyx_k_srcHost_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcHost_2 */
  {__pyx_k_srcHost_ValueError, sizeof(__pyx_k_srcHost_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcHost_ValueError */
  {__pyx_k_srcLOD, sizeof(__pyx_k_srcLOD), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcLOD */
  {__pyx_k_srcLOD_2, sizeof(__pyx_k_srcLOD_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcLOD_2 */
  {__pyx_k_srcLOD_ValueError, sizeof(__pyx_k_srcLOD_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcLOD_ValueError */
  {__pyx_k_srcLocHint, sizeof(__pyx_k_srcLocHint), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcLocHint */
  {__pyx_k_srcLocHint_2, sizeof(__pyx_k_srcLocHint_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcLocHint_2 */
  {__pyx_k_srcLocHint_ValueError, sizeof(__pyx_k_srcLocHint_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcLocHint_ValueError */
  {__pyx_k_srcMemoryType, sizeof(__pyx_k_srcMemoryType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcMemoryType */
  {__pyx_k_srcMemoryType_2, sizeof(__pyx_k_srcMemoryType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcMemoryType_2 */
  {__pyx_k_srcMemoryType_ValueError, sizeof(__pyx_k_srcMemoryType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcMemoryType_ValueError */
  {__pyx_k_srcNumBytes, sizeof(__pyx_k_srcNumBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcNumBytes */
  {__pyx_k_srcNumBytes_2, sizeof(__pyx_k_srcNumBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcNumBytes_2 */
  {__pyx_k_srcNumBytes_ValueError, sizeof(__pyx_k_srcNumBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcNumBytes_ValueError */
  {__pyx_k_srcOffset, sizeof(__pyx_k_srcOffset), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcOffset */
  {__pyx_k_srcPitch, sizeof(__pyx_k_srcPitch), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcPitch */
  {__pyx_k_srcPitch_2, sizeof(__pyx_k_srcPitch_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcPitch_2 */
  {__pyx_k_srcPitch_ValueError, sizeof(__pyx_k_srcPitch_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcPitch_ValueError */
  {__pyx_k_srcXInBytes, sizeof(__pyx_k_srcXInBytes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcXInBytes */
  {__pyx_k_srcXInBytes_2, sizeof(__pyx_k_srcXInBytes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcXInBytes_2 */
  {__pyx_k_srcXInBytes_ValueError, sizeof(__pyx_k_srcXInBytes_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcXInBytes_ValueError */
  {__pyx_k_srcY, sizeof(__pyx_k_srcY), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcY */
  {__pyx_k_srcY_2, sizeof(__pyx_k_srcY_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcY_2 */
  {__pyx_k_srcY_ValueError, sizeof(__pyx_k_srcY_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcY_ValueError */
  {__pyx_k_srcZ, sizeof(__pyx_k_srcZ), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcZ */
  {__pyx_k_srcZ_2, sizeof(__pyx_k_srcZ_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcZ_2 */
  {__pyx_k_srcZ_ValueError, sizeof(__pyx_k_srcZ_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_srcZ_ValueError */
  {__pyx_k_src_2, sizeof(__pyx_k_src_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_src_2 */
  {__pyx_k_src_3, sizeof(__pyx_k_src_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_src_3 */
  {__pyx_k_src_ValueError, sizeof(__pyx_k_src_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_src_ValueError */
  {__pyx_k_srcs, sizeof(__pyx_k_srcs), 0, 1, 1}, /* PyObject cname: __pyx_n_u_srcs */
  {__pyx_k_state, sizeof(__pyx_k_state), 0, 1, 1}, /* PyObject cname: __pyx_n_u_state */
  {__pyx_k_stateOut, sizeof(__pyx_k_stateOut), 0, 1, 1}, /* PyObject cname: __pyx_n_u_stateOut */
  {__pyx_k_stream, sizeof(__pyx_k_stream), 0, 1, 1}, /* PyObject cname: __pyx_n_u_stream */
  {__pyx_k_streamId, sizeof(__pyx_k_streamId), 0, 1, 1}, /* PyObject cname: __pyx_n_u_streamId */
  {__pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_stringsource */
  {__pyx_k_subresource, sizeof(__pyx_k_subresource), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_subresource */
  {__pyx_k_subresourceType, sizeof(__pyx_k_subresourceType), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_subresourceType */
  {__pyx_k_subresourceType_2, sizeof(__pyx_k_subresourceType_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_subresourceType_2 */
  {__pyx_k_subresourceType_ValueError, sizeof(__pyx_k_subresourceType_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_subresourceType_ValueError */
  {__pyx_k_subresource_2, sizeof(__pyx_k_subresource_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_subresource_2 */
  {__pyx_k_subresource_ValueError, sizeof(__pyx_k_subresource_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_subresource_ValueError */
  {__pyx_k_supported_types, sizeof(__pyx_k_supported_types), 0, 1, 1}, /* PyObject cname: __pyx_n_u_supported_types */
  {__pyx_k_surfObject, sizeof(__pyx_k_surfObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_surfObject */
  {__pyx_k_swizzle, sizeof(__pyx_k_swizzle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_swizzle */
  {__pyx_k_symbol, sizeof(__pyx_k_symbol), 0, 1, 1}, /* PyObject cname: __pyx_n_u_symbol */
  {__pyx_k_symbolStatus, sizeof(__pyx_k_symbolStatus), 0, 1, 1}, /* PyObject cname: __pyx_n_u_symbolStatus */
  {__pyx_k_syncPolicy, sizeof(__pyx_k_syncPolicy), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_syncPolicy */
  {__pyx_k_syncPolicy_2, sizeof(__pyx_k_syncPolicy_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_syncPolicy_2 */
  {__pyx_k_syncPolicy_ValueError, sizeof(__pyx_k_syncPolicy_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_syncPolicy_ValueError */
  {__pyx_k_t, sizeof(__pyx_k_t), 0, 1, 1}, /* PyObject cname: __pyx_n_u_t */
  {__pyx_k_target, sizeof(__pyx_k_target), 0, 1, 1}, /* PyObject cname: __pyx_n_u_target */
  {__pyx_k_tensorDataType, sizeof(__pyx_k_tensorDataType), 0, 1, 1}, /* PyObject cname: __pyx_n_u_tensorDataType */
  {__pyx_k_tensorMap, sizeof(__pyx_k_tensorMap), 0, 1, 1}, /* PyObject cname: __pyx_n_u_tensorMap */
  {__pyx_k_tensorRank, sizeof(__pyx_k_tensorRank), 0, 1, 1}, /* PyObject cname: __pyx_n_u_tensorRank */
  {__pyx_k_test, sizeof(__pyx_k_test), 0, 1, 1}, /* PyObject cname: __pyx_n_u_test */
  {__pyx_k_texObject, sizeof(__pyx_k_texObject), 0, 1, 1}, /* PyObject cname: __pyx_n_u_texObject */
  {__pyx_k_textureAlign, sizeof(__pyx_k_textureAlign), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_textureAlign */
  {__pyx_k_textureAlign_2, sizeof(__pyx_k_textureAlign_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_textureAlign_2 */
  {__pyx_k_textureAlign_ValueError, sizeof(__pyx_k_textureAlign_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_textureAlign_ValueError */
  {__pyx_k_texunit, sizeof(__pyx_k_texunit), 0, 1, 1}, /* PyObject cname: __pyx_n_u_texunit */
  {__pyx_k_throw, sizeof(__pyx_k_throw), 0, 1, 1}, /* PyObject cname: __pyx_n_u_throw */
  {__pyx_k_tid, sizeof(__pyx_k_tid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_tid */
  {__pyx_k_tileExtent, sizeof(__pyx_k_tileExtent), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_tileExtent */
  {__pyx_k_tileExtent_2, sizeof(__pyx_k_tileExtent_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_tileExtent_2 */
  {__pyx_k_tileExtent_ValueError, sizeof(__pyx_k_tileExtent_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_tileExtent_ValueError */
  {__pyx_k_timeout, sizeof(__pyx_k_timeout), 0, 1, 1}, /* PyObject cname: __pyx_n_u_timeout */
  {__pyx_k_timeoutMs, sizeof(__pyx_k_timeoutMs), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_timeoutMs */
  {__pyx_k_timeoutMs_2, sizeof(__pyx_k_timeoutMs_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_timeoutMs_2 */
  {__pyx_k_timeoutMs_ValueError, sizeof(__pyx_k_timeoutMs_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_timeoutMs_ValueError */
  {__pyx_k_to, sizeof(__pyx_k_to), 0, 1, 1}, /* PyObject cname: __pyx_n_u_to */
  {__pyx_k_to_port, sizeof(__pyx_k_to_port), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_to_port */
  {__pyx_k_to_port_2, sizeof(__pyx_k_to_port_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_to_port_2 */
  {__pyx_k_to_port_ValueError, sizeof(__pyx_k_to_port_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_to_port_ValueError */
  {__pyx_k_total, sizeof(__pyx_k_total), 0, 1, 1}, /* PyObject cname: __pyx_n_u_total */
  {__pyx_k_totalConstantMemory, sizeof(__pyx_k_totalConstantMemory), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_totalConstantMemory */
  {__pyx_k_totalConstantMemory_2, sizeof(__pyx_k_totalConstantMemory_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_totalConstantMemory_2 */
  {__pyx_k_totalConstantMemory_ValueError, sizeof(__pyx_k_totalConstantMemory_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_totalConstantMemory_ValueError */
  {__pyx_k_triggerAtBlockStart, sizeof(__pyx_k_triggerAtBlockStart), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_triggerAtBlockStart */
  {__pyx_k_triggerAtBlockStart_2, sizeof(__pyx_k_triggerAtBlockStart_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_triggerAtBlockStart_2 */
  {__pyx_k_triggerAtBlockStart_ValueError, sizeof(__pyx_k_triggerAtBlockStart_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_triggerAtBlockStart_ValueError */
  {__pyx_k_tuple_int_list_int, sizeof(__pyx_k_tuple_int_list_int), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_tuple_int_list_int */
  {__pyx_k_type, sizeof(__pyx_k_type), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_type */
  {__pyx_k_type_2, sizeof(__pyx_k_type_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_type_2 */
  {__pyx_k_type_ValueError, sizeof(__pyx_k_type_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_type_ValueError */
  {__pyx_k_typename, sizeof(__pyx_k_typename), 0, 1, 1}, /* PyObject cname: __pyx_n_u_typename */
  {__pyx_k_typing, sizeof(__pyx_k_typing), 0, 1, 1}, /* PyObject cname: __pyx_n_u_typing */
  {__pyx_k_uc, sizeof(__pyx_k_uc), 0, 1, 1}, /* PyObject cname: __pyx_n_u_uc */
  {__pyx_k_ui, sizeof(__pyx_k_ui), 0, 1, 1}, /* PyObject cname: __pyx_n_u_ui */
  {__pyx_k_us, sizeof(__pyx_k_us), 0, 1, 1}, /* PyObject cname: __pyx_n_u_us */
  {__pyx_k_usage, sizeof(__pyx_k_usage), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_usage */
  {__pyx_k_usage_2, sizeof(__pyx_k_usage_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_usage_2 */
  {__pyx_k_usage_ValueError, sizeof(__pyx_k_usage_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_usage_ValueError */
  {__pyx_k_useFlags, sizeof(__pyx_k_useFlags), 0, 1, 1}, /* PyObject cname: __pyx_n_u_useFlags */
  {__pyx_k_userData, sizeof(__pyx_k_userData), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_userData */
  {__pyx_k_userData_2, sizeof(__pyx_k_userData_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_userData_2 */
  {__pyx_k_userData_ValueError, sizeof(__pyx_k_userData_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_userData_ValueError */
  {__pyx_k_uuid, sizeof(__pyx_k_uuid), 0, 1, 1}, /* PyObject cname: __pyx_n_u_uuid */
  {__pyx_k_v, sizeof(__pyx_k_v), 0, 1, 1}, /* PyObject cname: __pyx_n_u_v */
  {__pyx_k_vaSpaceToken, sizeof(__pyx_k_vaSpaceToken), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_vaSpaceToken */
  {__pyx_k_vaSpaceToken_2, sizeof(__pyx_k_vaSpaceToken_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_vaSpaceToken_2 */
  {__pyx_k_vaSpaceToken_ValueError, sizeof(__pyx_k_vaSpaceToken_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_vaSpaceToken_ValueError */
  {__pyx_k_val, sizeof(__pyx_k_val), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_val */
  {__pyx_k_val_2, sizeof(__pyx_k_val_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_val_2 */
  {__pyx_k_val_ValueError, sizeof(__pyx_k_val_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_val_ValueError */
  {__pyx_k_value, sizeof(__pyx_k_value), 0, 1, 1}, /* PyObject cname: __pyx_n_u_value */
  {__pyx_k_value64, sizeof(__pyx_k_value64), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_value64 */
  {__pyx_k_value64_2, sizeof(__pyx_k_value64_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_value64_2 */
  {__pyx_k_value64_ValueError, sizeof(__pyx_k_value64_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_value64_ValueError */
  {__pyx_k_value_2, sizeof(__pyx_k_value_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_value_2 */
  {__pyx_k_value_3, sizeof(__pyx_k_value_3), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_value_3 */
  {__pyx_k_value_ValueError, sizeof(__pyx_k_value_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_value_ValueError */
  {__pyx_k_value_out, sizeof(__pyx_k_value_out), 0, 1, 1}, /* PyObject cname: __pyx_n_u_value_out */
  {__pyx_k_vdpDevice, sizeof(__pyx_k_vdpDevice), 0, 1, 1}, /* PyObject cname: __pyx_n_u_vdpDevice */
  {__pyx_k_vdpGetProcAddress, sizeof(__pyx_k_vdpGetProcAddress), 0, 1, 1}, /* PyObject cname: __pyx_n_u_vdpGetProcAddress */
  {__pyx_k_vdpSurface, sizeof(__pyx_k_vdpSurface), 0, 1, 1}, /* PyObject cname: __pyx_n_u_vdpSurface */
  {__pyx_k_version, sizeof(__pyx_k_version), 0, 1, 1}, /* PyObject cname: __pyx_n_u_version */
  {__pyx_k_voidStarHelperdata, sizeof(__pyx_k_voidStarHelperdata), 0, 1, 1}, /* PyObject cname: __pyx_n_u_voidStarHelperdata */
  {__pyx_k_voidStarHelperjitOptionsValues, sizeof(__pyx_k_voidStarHelperjitOptionsValues), 0, 1, 1}, /* PyObject cname: __pyx_n_u_voidStarHelperjitOptionsValues */
  {__pyx_k_voidStarHelperlibraryOptionValue, sizeof(__pyx_k_voidStarHelperlibraryOptionValue), 0, 1, 1}, /* PyObject cname: __pyx_n_u_voidStarHelperlibraryOptionValue */
  {__pyx_k_voidStarHelperoptionValues, sizeof(__pyx_k_voidStarHelperoptionValues), 0, 1, 1}, /* PyObject cname: __pyx_n_u_voidStarHelperoptionValues */
  {__pyx_k_waitValue, sizeof(__pyx_k_waitValue), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_waitValue */
  {__pyx_k_waitValue_2, sizeof(__pyx_k_waitValue_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_waitValue_2 */
  {__pyx_k_waitValue_ValueError, sizeof(__pyx_k_waitValue_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_waitValue_ValueError */
  {__pyx_k_width, sizeof(__pyx_k_width), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_width */
  {__pyx_k_width_2, sizeof(__pyx_k_width_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_width_2 */
  {__pyx_k_width_ValueError, sizeof(__pyx_k_width_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_width_ValueError */
  {__pyx_k_win32, sizeof(__pyx_k_win32), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_win32 */
  {__pyx_k_win32HandleMetaData, sizeof(__pyx_k_win32HandleMetaData), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_win32HandleMetaData */
  {__pyx_k_win32HandleMetaData_2, sizeof(__pyx_k_win32HandleMetaData_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_win32HandleMetaData_2 */
  {__pyx_k_win32HandleMetaData_ValueError, sizeof(__pyx_k_win32HandleMetaData_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_win32HandleMetaData_ValueError */
  {__pyx_k_win32SecurityAttributes, sizeof(__pyx_k_win32SecurityAttributes), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_win32SecurityAttributes */
  {__pyx_k_win32SecurityAttributes_2, sizeof(__pyx_k_win32SecurityAttributes_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_win32SecurityAttributes_2 */
  {__pyx_k_win32SecurityAttributes_ValueErr, sizeof(__pyx_k_win32SecurityAttributes_ValueErr), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_win32SecurityAttributes_ValueErr */
  {__pyx_k_win32_2, sizeof(__pyx_k_win32_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_win32_2 */
  {__pyx_k_win32_ValueError, sizeof(__pyx_k_win32_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_win32_ValueError */
  {__pyx_k_writeValue, sizeof(__pyx_k_writeValue), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_writeValue */
  {__pyx_k_writeValue_2, sizeof(__pyx_k_writeValue_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_writeValue_2 */
  {__pyx_k_writeValue_ValueError, sizeof(__pyx_k_writeValue_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_writeValue_ValueError */
  {__pyx_k_x, sizeof(__pyx_k_x), 0, 1, 1}, /* PyObject cname: __pyx_n_u_x */
  {__pyx_k_x_2, sizeof(__pyx_k_x_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_x_2 */
  {__pyx_k_x_3, sizeof(__pyx_k_x_3), 0, 1, 1}, /* PyObject cname: __pyx_n_u_x_3 */
  {__pyx_k_x_ValueError, sizeof(__pyx_k_x_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_x_ValueError */
  {__pyx_k_y, sizeof(__pyx_k_y), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_y */
  {__pyx_k_y_2, sizeof(__pyx_k_y_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_y_2 */
  {__pyx_k_y_ValueError, sizeof(__pyx_k_y_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_y_ValueError */
  {__pyx_k_z, sizeof(__pyx_k_z), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_z */
  {__pyx_k_z_2, sizeof(__pyx_k_z_2), 0, 1, 1}, /* PyObject cname: __pyx_n_u_z_2 */
  {__pyx_k_z_ValueError, sizeof(__pyx_k_z_ValueError), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_z_ValueError */
  {__pyx_k_zip, sizeof(__pyx_k_zip), 0, 1, 1}, /* PyObject cname: __pyx_n_u_zip */
  {0, 0, 0, 0, 0}
};
/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry const *t, PyObject **target, const char* const* encoding_names);

/* #### Code section: cached_builtins ### */

static int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate) {
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_max); if (!__pyx_builtin_max) __PYX_ERR(1, 41, __pyx_L1_error)
  __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(1, 18, __pyx_L1_error)
  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 55, __pyx_L1_error)
  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 61, __pyx_L1_error)
  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_zip); if (!__pyx_builtin_zip) __PYX_ERR(1, 70, __pyx_L1_error)
  __pyx_builtin_AssertionError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_AssertionError); if (!__pyx_builtin_AssertionError) __PYX_ERR(1, 188, __pyx_L1_error)
  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_range); if (!__pyx_builtin_range) __PYX_ERR(1, 230, __pyx_L1_error)
  __pyx_builtin_hex = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_hex); if (!__pyx_builtin_hex) __PYX_ERR(0, 5275, __pyx_L1_error)
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 6389, __pyx_L1_error)
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 6443, __pyx_L1_error)
  __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(0, 17309, __pyx_L1_error)
  __pyx_builtin_OverflowError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_OverflowError); if (!__pyx_builtin_OverflowError) __PYX_ERR(2, 83, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: cached_constants ### */

static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "cuda/bindings/driver.pyx":17
 * from cpython.buffer cimport PyObject_CheckBuffer, PyObject_GetBuffer, PyBuffer_Release, PyBUF_SIMPLE, PyBUF_ANY_CONTIGUOUS
 * from cpython.bytes cimport PyBytes_FromStringAndSize
 * import cuda.bindings.driver             # <<<<<<<<<<<<<<
 * from libcpp.map cimport map
 * 
*/
  __pyx_mstate_global->__pyx_tuple[0] = PyTuple_Pack(3, __pyx_mstate_global->__pyx_n_u_cuda, __pyx_mstate_global->__pyx_n_u_bindings, __pyx_mstate_global->__pyx_n_u_driver_2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[0])) __PYX_ERR(0, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[0]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[0]);
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}
/* #### Code section: init_constants ### */

static int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate) {
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __pyx_mstate->__pyx_umethod_PyDict_Type_pop.type = (PyObject*)&PyDict_Type;
  __pyx_mstate->__pyx_umethod_PyDict_Type_pop.method_name = &__pyx_mstate->__pyx_n_u_pop;
  if (__Pyx_InitStrings(__pyx_string_tab, __pyx_mstate->__pyx_string_tab, __pyx_string_tab_encodings) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  __pyx_mstate->__pyx_int_0 = PyLong_FromLong(0); if (unlikely(!__pyx_mstate->__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_int_1 = PyLong_FromLong(1); if (unlikely(!__pyx_mstate->__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_int_127 = PyLong_FromLong(127); if (unlikely(!__pyx_mstate->__pyx_int_127)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_int_256 = PyLong_FromLong(256); if (unlikely(!__pyx_mstate->__pyx_int_256)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_int_1024 = PyLong_FromLong(1024); if (unlikely(!__pyx_mstate->__pyx_int_1024)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_int_neg_129 = PyLong_FromLong(-129); if (unlikely(!__pyx_mstate->__pyx_int_neg_129)) __PYX_ERR(0, 1, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: init_codeobjects ### */
\
        typedef struct {
            unsigned int argcount : 4;
            unsigned int num_posonly_args : 1;
            unsigned int num_kwonly_args : 1;
            unsigned int nlocals : 6;
            unsigned int flags : 10;
            unsigned int first_line : 16;
            unsigned int line_table_length : 17;
        } __Pyx_PyCode_New_function_description;
/* NewCodeObj.proto */
static PyObject* __Pyx_PyCode_New(
        const __Pyx_PyCode_New_function_description descr,
        PyObject * const *varnames,
        PyObject *filename,
        PyObject *funcname,
        const char *line_table,
        PyObject *tuple_dedup_map
);


static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) {
  PyObject* tuple_dedup_map = PyDict_New();
  if (unlikely(!tuple_dedup_map)) return -1;
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 362, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 379, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 419, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 438, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[3] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[3])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 457, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[4] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[4])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 476, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[5] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__11, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[5])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 489, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[6] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[6])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 509, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[7] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[7])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 524, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[8] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[8])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 538, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[9] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[9])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 574, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[10] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[10])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 592, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[11] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__13, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[11])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 618, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[12] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[12])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 631, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[13] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[13])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 645, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[14] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[14])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 658, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[15] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[15])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 668, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[16] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[16])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 843, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[17] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[17])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 862, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[18] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[18])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 875, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[19] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[19])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1381, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[20] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[20])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1466, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[21] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[21])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1588, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[22] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[22])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1607, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[23] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[23])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1623, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[24] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[24])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1640, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[25] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[25])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1659, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[26] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[26])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1677, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[27] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[27])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1704, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[28] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[28])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1737, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[29] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[29])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 1968, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[30] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[30])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2076, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[31] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[31])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2090, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[32] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[32])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2106, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[33] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[33])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2142, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[34] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[34])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2154, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[35] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[35])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2164, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[36] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__14, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[36])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2189, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[37] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[37])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2232, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[38] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[38])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2251, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[39] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[39])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2268, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[40] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__11, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[40])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2289, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[41] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__14, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[41])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2362, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[42] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[42])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2380, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[43] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[43])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2409, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[44] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__13, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[44])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2420, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[45] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[45])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2438, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[46] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__15, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[46])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2468, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[47] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[47])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2643, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[48] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[48])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2661, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[49] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[49])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2673, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[50] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[50])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2690, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[51] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__15, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[51])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2707, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[52] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[52])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2718, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[53] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[53])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2729, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[54] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[54])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2751, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[55] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[55])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3238, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[56] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__16, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[56])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3261, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[57] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[57])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3373, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[58] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[58])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3396, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[59] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[59])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3406, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[60] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[60])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3420, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[61] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[61])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3431, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[62] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[62])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3440, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[63] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[63])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3449, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[64] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__15, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[64])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3470, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[65] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[65])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3501, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[66] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__14, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[66])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3540, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[67] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[67])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3564, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[68] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__15, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[68])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3581, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[69] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[69])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3602, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[70] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[70])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3615, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[71] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[71])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3629, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[72] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__17, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[72])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3638, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[73] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[73])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3648, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[74] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[74])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3657, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[75] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[75])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3666, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[76] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[76])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3674, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[77] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[77])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3687, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[78] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[78])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3700, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[79] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[79])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3739, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[80] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[80])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3787, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[81] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[81])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3800, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[82] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[82])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3835, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[83] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[83])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3850, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[84] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[84])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3875, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[85] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[85])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3898, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[86] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[86])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3915, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[87] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__18, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[87])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3935, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[88] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[88])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3949, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[89] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_q_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[89])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3960, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[90] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__17, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[90])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4015, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[91] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[91])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4026, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[92] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[92])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4037, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[93] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__13, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[93])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4062, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[94] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__13, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[94])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4076, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[95] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[95])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4097, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[96] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[96])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4110, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[97] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[97])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4129, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[98] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__13, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[98])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4139, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[99] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[99])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4154, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[100] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__12, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[100])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4169, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[101] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__15, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[101])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4179, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[102] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[102])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4188, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[103] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__14, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[103])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4199, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[104] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__10, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[104])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4208, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[105] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__19, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[105])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4221, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[106] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[106])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4234, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[107] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[107])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4257, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[108] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__14, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[108])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4717, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[109] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__11, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[109])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4735, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[110] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[110])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 4745, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[111] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[111])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 5053, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[112] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[112])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 5228, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[113] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[113])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 19749, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[114] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[114])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 21069, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[115] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[115])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 21416, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[116] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[116])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 21482, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[117] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[117])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 21551, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[118] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[118])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 21804, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[119] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[119])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 21808, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[120] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[120])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 21900, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[121] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[121])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 21904, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[122] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[122])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 25714, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[123] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[123])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 25717, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[124] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[124])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 25719, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[125] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[125])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 25722, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[126] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[126])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 25725, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[127] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[127])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 25894, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[128] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[128])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 27847, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[129] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[129])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 27954, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[130] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[130])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 28552, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[131] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[131])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 30383, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[132] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[132])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 30385, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[133] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[133])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 30531, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[134] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[134])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 31227, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[135] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[135])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 31230, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[136] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[136])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 31678, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[137] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[137])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 31749, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[138] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[138])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 31752, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[139] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[139])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 33144, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[140] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[140])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 33147, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[141] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[141])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 33271, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[142] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[142])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 33274, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[143] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[143])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 33643, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[144] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[144])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 34789, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[145] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[145])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 35556, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[146] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[146])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 35725, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[147] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[147])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 35875, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[148] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[148])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 36015, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[149] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[149])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 36166, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[150] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[150])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 36276, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[151] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[151])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 36351, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[152] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[152])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 36507, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[153] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[153])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 36654, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[154] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[154])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 36802, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[155] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[155])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 36953, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[156] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[156])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 37210, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[157] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[157])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 37344, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[158] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[158])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38249, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[159] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[159])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38252, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[160] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[160])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38325, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[161] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[161])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38328, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[162] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[162])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38331, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[163] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[163])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38416, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[164] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[164])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38419, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[165] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[165])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38498, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[166] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[166])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38501, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[167] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[167])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 38504, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[168] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[168])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 40366, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[169] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[169])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 40446, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[170] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[170])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 40449, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[171] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[171])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43122, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[172] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[172])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43125, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[173] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[173])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43128, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[174] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[174])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43131, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[175] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[175])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43457, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[176] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[176])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43476, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[177] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[177])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43479, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[178] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[178])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43482, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[179] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[179])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43485, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[180] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[180])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43788, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[181] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[181])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43807, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[182] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[182])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 43810, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[183] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[183])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 45521, 2};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x_3};
    __pyx_mstate_global->__pyx_codeobj_tab[184] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_k__20, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[184])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47855, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[185] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUcontext_getter, __pyx_k_wk_UUVV___a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[185])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47857, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[186] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUmodule_getter, __pyx_k_WKw_RRSS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[186])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47859, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[187] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUfunction_getter, __pyx_k_7BXXYYbbccd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[187])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47861, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[188] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUlibrary_getter, __pyx_k_wk_UUVV___a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[188])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47863, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[189] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUkernel_getter, __pyx_k_WKw_RRSS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[189])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47865, 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[190] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUarray_getter, __pyx_k_7_W_OqPYYZZ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[190])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47867, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[191] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUmipmappedArray_getter, __pyx_k_5WKwNjjkkttuuv, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[191])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47869, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[192] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUtexref_getter, __pyx_k_WKw_RRSS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[192])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47871, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[193] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUsurfref_getter, __pyx_k_wk_UUVV___a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[193])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47873, 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[194] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUevent_getter, __pyx_k_7_W_OqPYYZZ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[194])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47875, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[195] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUstream_getter, __pyx_k_WKw_RRSS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[195])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47877, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[196] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUgraphicsResource_getter, __pyx_k_9_7Rppqqzz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[196])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47879, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[197] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUexternalMemory_getter, __pyx_k_5WKwNjjkkttuuv, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[197])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47881, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[198] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUexternalSemaphore_getter, __pyx_k_7_WTsstt, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[198])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47883, 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[199] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUgraph_getter, __pyx_k_7_W_OqPYYZZ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[199])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47885, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[200] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUgraphNode_getter, __pyx_k_7_WD_eeffg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[200])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47887, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[201] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUgraphExec_getter, __pyx_k_7_WD_eeffg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[201])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47889, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[202] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUmemoryPool_getter, __pyx_k_WKwF___hhiij, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[202])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47891, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[203] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUuserObject_getter, __pyx_k_WKwF___hhiij, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[203])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47893, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[204] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUgraphDeviceNode_getter, __pyx_k_7wk_Pmmnnwwxxy, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[204])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47895, 37};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[205] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUasyncCallbackHandle_getter, __pyx_k_wkQXXyyz_D_D_E_E_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[205])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47897, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[206] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUgreenCtx_getter, __pyx_k_7BXXYYbbccd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[206])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47899, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[207] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUlinkState_getter, __pyx_k_7_WD_eeffg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[207])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47901, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[208] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUdevResourceDesc_getter, __pyx_k_7wk_Pmmnnwwxxy, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[208])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47903, 36};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[209] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUlogsCallbackHandle_getter, __pyx_k_WKwVvvw_x_A_A_B_B_C, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[209])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47905, 37};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[210] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_CUeglStreamConnection_getter, __pyx_k_wkQXXyyz_D_D_E_E_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[210])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47907, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[211] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_EGLImageKHR_getter, __pyx_k_7_WD_eeffg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[211])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47909, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[212] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_EGLStreamKHR_getter, __pyx_k_WKwF___hhiij, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[212])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47911, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[213] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_EGLSyncKHR_getter, __pyx_k_7BXXYYbbccd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[213])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41, 15};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_t};
    __pyx_mstate_global->__pyx_codeobj_tab[214] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings__lib_utils_pxi, __pyx_mstate->__pyx_n_u_lambda, __pyx_k_U_eellmmn, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[214])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[215] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[215])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[216] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[216])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[217] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[217])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[218] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[218])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 187, 85};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[219] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings__lib_utils_pxi, __pyx_mstate->__pyx_n_u_pyObj, __pyx_k_A_t_s_4w_1_4q_Q_4q_1_WAT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[219])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[220] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[220])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[221] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[221])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 224, 90};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[222] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings__lib_utils_pxi, __pyx_mstate->__pyx_n_u_pyObj, __pyx_k_A_4w_Q_4q_q_1D_auD_uAS_PQQR_1_WA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[222])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[223] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[223])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[224] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[224])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 295, 212};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[225] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings__lib_utils_pxi, __pyx_mstate->__pyx_n_u_pyObj, __pyx_k_A_t_s_4w_1_4q_Q_4q_Q_4q_Q_T_Q_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[225])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[226] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[226])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[227] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[227])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 349, 59};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[228] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings__lib_utils_pxi, __pyx_mstate->__pyx_n_u_pyObj, __pyx_k_A_t_s_4w_A_4q_1_WAT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[228])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[229] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[229])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[230] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[230])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[231] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[231])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[232] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[232])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[233] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[233])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[234] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[234])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[235] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[235])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[236] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[236])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[237] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[237])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[238] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[238])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 528, 110};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[239] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings__lib_utils_pxi, __pyx_mstate->__pyx_n_u_pyObj, __pyx_k_A_C1_4q_C1_4q_C1_T_C1_4q_C1_4q_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[239])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[240] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[240])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[241] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[241])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[242] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[242])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[243] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[243])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 590, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[244] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings__lib_utils_pxi, __pyx_mstate->__pyx_n_u_size_2, __pyx_k_A_t1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[244])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 593, 79};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[245] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings__lib_utils_pxi, __pyx_mstate->__pyx_n_u_pyObj, __pyx_k_A_t_s_4y_A_4q_a_4q_1_WAT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[245])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[246] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[246])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[247] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[247])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4771, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[248] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[248])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[249] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[249])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[250] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[250])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4798, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[251] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[251])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[252] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[252])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[253] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[253])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4825, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[254] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[254])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[255] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[255])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[256] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[256])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4852, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[257] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[257])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[258] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[258])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[259] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[259])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4877, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[260] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[260])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[261] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[261])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[262] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[262])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5252, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[263] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[263])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[264] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[264])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[265] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[265])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5286, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[266] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[266])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[267] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[267])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[268] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[268])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5320, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[269] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[269])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[270] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[270])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[271] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[271])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5354, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[272] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[272])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[273] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[273])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[274] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[274])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5388, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[275] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[275])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[276] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[276])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[277] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[277])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5422, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[278] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[278])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[279] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[279])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[280] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[280])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5456, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[281] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[281])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[282] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[282])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[283] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[283])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5490, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[284] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[284])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[285] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[285])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[286] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[286])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5524, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[287] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[287])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[288] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[288])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[289] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[289])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5558, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[290] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[290])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[291] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[291])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[292] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[292])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5592, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[293] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[293])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[294] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[294])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[295] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[295])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5626, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[296] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[296])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[297] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[297])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[298] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[298])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5660, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[299] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[299])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[300] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[300])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[301] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[301])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5694, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[302] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[302])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[303] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[303])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[304] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[304])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5728, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[305] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[305])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[306] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[306])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[307] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[307])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5762, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[308] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[308])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[309] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[309])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[310] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[310])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5796, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[311] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[311])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[312] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[312])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[313] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[313])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5830, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[314] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[314])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[315] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[315])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[316] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[316])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5864, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[317] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[317])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[318] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[318])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[319] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[319])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5898, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[320] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[320])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[321] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[321])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[322] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[322])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5932, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[323] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[323])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[324] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[324])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[325] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[325])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5966, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[326] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[326])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[327] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[327])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[328] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[328])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6000, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[329] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[329])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[330] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[330])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[331] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[331])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6032, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[332] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[332])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[333] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[333])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[334] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[334])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6066, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[335] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[335])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[336] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[336])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[337] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[337])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6098, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[338] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[338])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[339] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[339])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[340] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[340])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6132, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[341] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[341])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[342] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[342])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[343] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[343])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6164, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[344] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[344])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[345] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[345])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[346] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[346])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6196, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[347] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[347])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[348] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[348])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[349] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[349])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6228, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[350] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[350])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[351] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[351])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[352] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[352])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6254, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[353] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[353])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[354] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[354])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[355] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[355])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6280, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[356] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[356])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[357] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[357])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[358] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[358])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6306, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[359] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[359])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[360] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[360])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[361] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[361])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6332, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[362] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[362])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[363] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[363])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[364] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[364])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6358, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[365] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[365])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[366] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[366])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[367] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[367])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6382, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[368] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[368])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[369] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[369])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[370] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[370])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6424, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[371] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[371])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[372] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[372])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[373] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[373])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6469, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[374] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[374])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[375] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[375])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[376] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[376])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6522, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[377] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[377])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[378] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[378])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[379] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[379])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6585, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[380] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[380])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[381] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[381])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[382] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[382])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6729, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[383] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[383])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[384] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[384])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[385] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[385])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6861, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[386] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[386])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[387] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[387])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[388] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[388])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6913, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[389] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[389])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[390] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[390])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[391] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[391])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6981, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[392] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[392])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[393] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[393])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[394] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[394])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7083, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[395] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[395])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[396] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[396])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[397] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[397])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7188, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[398] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[398])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[399] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[399])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[400] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[400])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7280, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[401] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[401])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[402] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[402])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[403] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[403])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7319, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[404] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[404])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[405] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[405])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[406] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[406])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7367, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[407] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[407])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[408] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[408])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[409] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[409])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7439, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[410] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[410])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[411] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[411])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[412] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[412])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7591, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[413] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[413])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[414] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[414])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[415] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[415])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7697, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[416] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[416])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[417] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[417])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[418] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[418])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7866, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[419] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[419])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[420] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[420])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[421] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[421])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8073, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[422] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[422])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[423] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[423])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[424] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[424])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8264, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[425] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[425])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[426] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[426])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[427] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[427])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8380, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[428] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[428])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[429] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[429])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[430] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[430])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8504, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[431] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[431])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[432] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[432])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[433] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[433])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8569, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[434] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[434])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[435] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[435])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[436] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[436])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8660, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[437] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[437])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[438] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[438])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[439] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[439])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8786, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[440] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[440])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[441] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[441])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[442] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[442])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8870, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[443] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[443])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[444] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[444])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[445] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[445])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8980, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[446] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[446])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[447] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[447])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[448] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[448])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9032, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[449] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[449])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[450] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[450])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[451] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[451])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9095, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[452] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[452])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[453] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[453])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[454] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[454])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9165, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[455] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[455])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[456] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[456])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[457] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[457])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9226, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[458] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[458])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[459] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[459])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[460] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[460])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9287, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[461] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[461])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[462] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[462])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[463] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[463])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9424, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[464] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[464])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[465] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[465])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[466] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[466])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9626, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[467] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[467])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[468] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[468])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[469] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[469])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9701, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[470] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[470])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[471] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[471])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[472] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[472])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9857, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[473] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[473])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[474] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[474])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[475] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[475])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9896, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[476] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[476])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[477] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[477])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[478] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[478])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9943, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[479] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[479])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[480] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[480])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[481] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[481])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9999, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[482] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[482])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[483] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[483])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[484] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[484])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10063, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[485] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[485])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[486] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[486])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[487] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[487])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10159, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[488] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[488])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[489] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[489])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[490] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[490])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10267, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[491] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[491])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[492] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[492])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[493] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[493])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10556, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[494] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[494])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[495] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[495])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[496] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[496])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10940, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[497] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[497])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[498] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[498])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[499] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[499])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11292, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[500] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[500])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[501] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[501])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[502] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[502])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11379, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[503] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[503])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[504] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[504])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[505] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[505])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11463, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[506] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[506])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[507] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[507])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[508] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[508])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11557, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[509] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[509])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[510] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[510])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[511] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[511])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11629, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[512] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[512])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[513] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[513])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[514] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[514])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11715, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[515] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[515])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[516] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[516])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[517] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[517])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11774, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[518] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[518])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[519] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[519])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[520] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[520])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11822, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[521] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[521])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[522] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[522])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[523] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[523])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11876, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[524] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[524])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[525] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[525])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[526] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[526])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11967, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[527] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[527])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[528] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[528])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[529] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[529])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12067, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[530] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[530])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[531] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[531])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[532] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[532])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12118, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[533] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[533])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[534] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[534])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[535] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[535])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12207, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[536] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[536])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[537] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[537])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[538] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[538])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12289, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[539] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[539])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[540] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[540])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[541] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[541])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12441, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[542] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[542])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[543] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[543])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[544] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[544])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12566, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[545] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[545])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[546] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[546])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[547] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[547])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12611, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[548] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[548])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[549] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[549])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[550] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[550])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12683, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[551] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[551])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[552] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[552])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[553] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[553])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12832, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[554] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[554])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[555] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[555])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[556] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[556])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12887, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[557] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[557])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[558] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[558])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[559] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[559])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12961, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[560] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[560])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[561] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[561])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[562] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[562])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13051, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[563] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[563])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[564] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[564])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[565] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[565])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13131, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[566] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[566])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[567] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[567])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[568] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[568])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13201, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[569] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[569])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[570] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[570])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[571] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[571])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13256, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[572] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[572])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[573] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[573])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[574] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[574])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13328, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[575] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[575])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[576] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[576])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[577] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[577])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13398, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[578] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[578])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[579] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[579])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[580] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[580])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13438, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[581] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[581])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[582] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[582])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[583] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[583])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13487, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[584] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[584])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[585] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[585])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[586] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[586])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13534, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[587] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[587])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[588] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[588])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[589] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[589])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13618, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[590] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[590])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[591] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[591])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[592] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[592])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13676, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[593] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[593])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[594] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[594])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[595] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[595])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13716, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[596] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[596])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[597] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[597])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[598] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[598])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13767, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[599] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[599])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[600] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[600])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[601] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[601])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13824, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[602] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[602])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[603] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[603])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[604] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[604])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13908, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[605] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[605])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[606] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[606])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[607] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[607])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 13979, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[608] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[608])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[609] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[609])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[610] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[610])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14080, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[611] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[611])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[612] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[612])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[613] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[613])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14181, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[614] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[614])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[615] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[615])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[616] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[616])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14282, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[617] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[617])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[618] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[618])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[619] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[619])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14374, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[620] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[620])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[621] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[621])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[622] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[622])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14454, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[623] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[623])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[624] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[624])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[625] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[625])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14566, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[626] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[626])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[627] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[627])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[628] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[628])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14628, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[629] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[629])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[630] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[630])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[631] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[631])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14677, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[632] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[632])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[633] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[633])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[634] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[634])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14755, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[635] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[635])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[636] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[636])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[637] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[637])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14907, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[638] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[638])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[639] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[639])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[640] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[640])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14963, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[641] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[641])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[642] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[642])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[643] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[643])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15052, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[644] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[644])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[645] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[645])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[646] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[646])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15148, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[647] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[647])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[648] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[648])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[649] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[649])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15223, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[650] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[650])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[651] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[651])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[652] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[652])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15286, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[653] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[653])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[654] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[654])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[655] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[655])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15387, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[656] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[656])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[657] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[657])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[658] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[658])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15497, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[659] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[659])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[660] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[660])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[661] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[661])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15554, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[662] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[662])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[663] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[663])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[664] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[664])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15632, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[665] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[665])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[666] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[666])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[667] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[667])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15698, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[668] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[668])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[669] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[669])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[670] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[670])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15764, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[671] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[671])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[672] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[672])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[673] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[673])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15846, 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[674] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[674])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[675] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[675])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[676] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[676])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15907, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[677] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[677])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[678] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[678])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[679] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[679])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15964, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[680] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[680])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[681] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[681])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[682] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[682])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16028, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[683] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[683])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[684] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[684])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[685] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[685])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16128, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[686] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[686])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[687] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[687])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[688] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[688])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16251, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[689] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[689])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[690] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[690])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[691] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[691])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16359, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[692] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[692])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[693] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[693])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[694] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[694])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16418, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[695] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[695])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[696] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[696])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[697] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[697])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16482, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[698] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[698])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[699] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[699])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[700] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[700])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16534, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[701] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[701])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[702] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[702])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[703] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[703])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16632, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[704] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[704])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[705] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[705])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[706] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[706])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16841, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[707] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[707])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[708] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[708])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[709] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[709])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16904, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[710] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[710])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[711] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[711])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[712] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[712])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16947, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[713] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[713])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[714] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[714])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[715] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[715])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16990, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[716] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[716])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[717] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[717])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[718] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[718])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17055, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[719] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[719])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[720] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[720])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[721] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[721])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17160, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[722] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[722])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[723] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[723])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[724] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[724])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17209, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[725] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[725])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[726] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[726])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[727] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[727])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17287, 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[728] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[728])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[729] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[729])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[730] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[730])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17371, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[731] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[731])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[732] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[732])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[733] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[733])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17508, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[734] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[734])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[735] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[735])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[736] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[736])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17533, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[737] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[737])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[738] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[738])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[739] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[739])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17560, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[740] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[740])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[741] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[741])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[742] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[742])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17587, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[743] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[743])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[744] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[744])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[745] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[745])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17614, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[746] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[746])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[747] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[747])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[748] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[748])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17641, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[749] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[749])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[750] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[750])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[751] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[751])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17666, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[752] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[752])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[753] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[753])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[754] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[754])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17691, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[755] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[755])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[756] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[756])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[757] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[757])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17716, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[758] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[758])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[759] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[759])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[760] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[760])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17741, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[761] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[761])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[762] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[762])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[763] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[763])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17766, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[764] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[764])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[765] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[765])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[766] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[766])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17791, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[767] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[767])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[768] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[768])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[769] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[769])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17816, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[770] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[770])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[771] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[771])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[772] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[772])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17841, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[773] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[773])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[774] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[774])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[775] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[775])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17866, 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[776] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_getPtr, __pyx_k_A_z_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[776])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[777] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[777])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[778] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[778])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17869, 77};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_error, __pyx_mstate->__pyx_n_u_cyerror, __pyx_mstate->__pyx_n_u_pStr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[779] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGetErrorString, __pyx_k_0_U_A_q_t_a_avQ_N_6_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[779])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17902, 76};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_error, __pyx_mstate->__pyx_n_u_cyerror, __pyx_mstate->__pyx_n_u_pStr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[780] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGetErrorName, __pyx_k_0_U_A_oQiq_t_a_avQ_N_6_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[780])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17935, 25};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[781] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuInit, __pyx_k_gQa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[781])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17953, 55};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_driverVersion, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[782] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDriverGetVersion, __pyx_k_Q_1_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[782])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17982, 61};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ordinal, __pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[783] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGet, __pyx_k_81_l_7v_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[783])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18012, 55};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[784] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetCount, __pyx_k_Q_q_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[784])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18038, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pyname, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[785] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetName, __pyx_k_8_t3a_q_1F_s_1_s_81A_q_U_A_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[785])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18081, 115};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_uuid, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[786] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetUuid, __pyx_k_8_t3a_q_1F_s_1_s_81A_q_vQ_a_9_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[786])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18123, 115};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_uuid, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[787] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetUuid_v2, __pyx_k_2_t3a_q_1F_s_1_s_81A_q_vQ_D_1_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[787])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18162, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_luid, __pyx_mstate->__pyx_n_u_deviceNodeMask, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[788] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetLuid, __pyx_k_4_t3a_q_1F_s_1_s_81A_q_q_avQ_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[788])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18203, 110};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_numbytes, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[789] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceTotalMem, __pyx_k_0_t3a_q_1F_s_1_s_81A_q_1_q_1_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[789])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18241, 127};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pformat, __pyx_mstate->__pyx_n_u_numChannels_2, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_maxWidthInElements, __pyx_mstate->__pyx_n_u_cypformat, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[790] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetTexture1DLinearMaxWid, __pyx_k_t3a_q_1F_s_1_s_81A_q_Q_WA_9_O_Z, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[790])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18286, 123};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pi, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[791] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetAttribute, __pyx_k_V_t3a_q_1F_s_1_s_81A_q_0_a_1AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[791])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18729, 108};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_nvSciSyncAttrList, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_cynvSciSyncAttrList, __pyx_mstate->__pyx_n_u_cynvSciSyncAttrList_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[792] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetNvSciSyncAttributes, __pyx_k_d_t3a_q_1F_s_1_s_81A_q_Qa_MQ_5Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[792])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18824, 136};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[793] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceSetMemPool, __pyx_k_uCq_1G1_1A_1L_Ja_t3a_q_1F_s_1_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[793])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18873, 116};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[794] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetMemPool, __pyx_k_6_t3a_q_1F_s_1_s_81A_q_B_kQR_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[794])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18914, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pool_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[795] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetDefaultMemPool, __pyx_k_0_t3a_q_1F_s_1_s_81A_q_Q_0_1I_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[795])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18952, 122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_typename, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pi, __pyx_mstate->__pyx_n_u_cytypename, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[796] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetExecAffinitySupport, __pyx_k_78_t3a_q_1F_s_1_s_81A_q_2_5Qat, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[796])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18997, 49};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_target, __pyx_mstate->__pyx_n_u_scope, __pyx_mstate->__pyx_n_u_cytarget, __pyx_mstate->__pyx_n_u_cyscope, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[797] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFlushGPUDirectRDMAWrites, __pyx_k_1ddeR_fA_E_1_A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[797])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19045, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_prop, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[798] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetProperties, __pyx_k_t3a_q_1F_s_1_s_81A_q_1_A_B_kQR, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[798])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19122, 123};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_major, __pyx_mstate->__pyx_n_u_minor, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[799] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceComputeCapability, __pyx_k_t3a_q_1F_s_1_s_81A_q_Q_Q_0_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[799])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19168, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[800] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDevicePrimaryCtxRetain, __pyx_k_R_t3a_q_1F_s_1_s_81A_q_1_q0ET_T, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[800])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19223, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[801] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDevicePrimaryCtxRelease, __pyx_k_t3a_q_1F_s_1_s_81A_q_0_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[801])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19266, 82};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[802] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDevicePrimaryCtxSetFlags, __pyx_k_H_t3a_q_1F_s_1_s_81A_q_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[802])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19377, 123};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_active, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[803] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDevicePrimaryCtxGetState, __pyx_k_6_t3a_q_1F_s_1_s_81A_q_a_a_1_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[803])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19419, 79};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[804] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDevicePrimaryCtxReset, __pyx_k_t3a_q_1F_s_1_s_81A_q_aq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[804])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19461, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[805] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxCreate, __pyx_k_t3a_q_1F_s_1_s_81A_q_1_l_8_Kwa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[805])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19603, 344};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_paramsArray_2, __pyx_mstate->__pyx_n_u_numParams, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_cyparamsArray, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[806] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxCreate_v3, __pyx_k_R_t3a_q_1F_s_1_s_81A_q_Cz_iq_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[806])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19769, 144};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ctxCreateParams, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_cyctxCreateParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[807] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxCreate_v4, __pyx_k_H_t3a_q_1F_s_1_s_81A_q_1__MYiip, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[807])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19949, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[808] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxDestroy, __pyx_k_b_t3a_q_1F_s_1_s_9AQ_m1A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[808])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20009, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[809] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxPushCurrent, __pyx_k_6_t3a_q_1F_s_1_s_9AQ_q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[809])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20047, 60};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[810] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxPopCurrent, __pyx_k_1_a_D_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[810])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20077, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[811] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxSetCurrent, __pyx_k_t3a_q_1F_s_1_s_9AQ_aq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[811])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20117, 60};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[812] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetCurrent, __pyx_k_1_a_D_t_a_avQ_N_6_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[812])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20143, 59};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[813] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetDevice, __pyx_k_81_oQ_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[813])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20167, 54};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[814] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetFlags, __pyx_k_a_nAQa_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[814])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20192, 25};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[815] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxSetFlags, __pyx_k_nAQ_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[815])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20217, 111};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_ctxId, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[816] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetId, __pyx_k_4_t3a_q_1F_s_1_s_9AQ_A_k_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[816])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20257, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[817] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxSynchronize, __pyx_k_q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[817])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20282, 38};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_limit, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cylimit, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[818] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxSetLimit, __pyx_k_D_E_nAYa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[818])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20386, 67};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_limit, __pyx_mstate->__pyx_n_u_pvalue, __pyx_mstate->__pyx_n_u_cylimit, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[819] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetLimit, __pyx_k_E_nAQha_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[819])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20442, 55};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pconfig, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[820] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetCacheConfig, __pyx_k_N_1A_t_a_avQ_N_6_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[820])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20487, 37};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_config, __pyx_mstate->__pyx_n_u_cyconfig, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[821] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxSetCacheConfig, __pyx_k_b_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[821])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20542, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_version, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[822] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetApiVersion, __pyx_k_t3a_q_1F_s_1_s_9AQ_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[822])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20587, 69};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_leastPriority, __pyx_mstate->__pyx_n_u_greatestPriority, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[823] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetStreamPriorityRange, __pyx_k_F_Q_2_1O1A_t_a_avV1_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[823])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20630, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[824] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxResetPersistingL2Cache, __pyx_k_2_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[824])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20650, 75};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_typename, __pyx_mstate->__pyx_n_u_pExecAffinity, __pyx_mstate->__pyx_n_u_cytypename, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[825] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetExecAffinity, __pyx_k_2_2_1_K_Xccd_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[825])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20684, 139};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hCtx, __pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_cyhCtx, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[826] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxRecordEvent, __pyx_k_L_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[826])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20741, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hCtx, __pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_cyhCtx, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[827] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxWaitEvent, __pyx_k_J_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[827])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20797, 61};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[828] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxAttach, __pyx_k_1_l_8_Kq_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[828])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20835, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[829] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxDetach, __pyx_k_8_t3a_q_1F_s_1_s_9AQ_l_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[829])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20874, 55};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pConfig, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[830] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetSharedMemConfig, __pyx_k_D_aq_t_a_avQ_N_6_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[830])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20914, 37};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_config, __pyx_mstate->__pyx_n_u_cyconfig, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[831] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxSetSharedMemConfig, __pyx_k_F_aq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[831])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20966, 61};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_fname, __pyx_mstate->__pyx_n_u_module_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[832] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleLoad, __pyx_k_81_m1_8_k_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[832])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21002, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_image, __pyx_mstate->__pyx_n_u_module_2, __pyx_mstate->__pyx_n_u_cyimage, __pyx_mstate->__pyx_n_u_cyimage_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[833] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleLoadData, __pyx_k_2_81_WJgQ_q_F_Q_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[833])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21036, 347};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_image, __pyx_mstate->__pyx_n_u_numOptions, __pyx_mstate->__pyx_n_u_options, __pyx_mstate->__pyx_n_u_optionValues, __pyx_mstate->__pyx_n_u_module_2, __pyx_mstate->__pyx_n_u_cyimage, __pyx_mstate->__pyx_n_u_cyimage_ptr, __pyx_mstate->__pyx_n_u_cyoptions, __pyx_mstate->__pyx_n_u_pylist, __pyx_mstate->__pyx_n_u_voidStarHelperoptionValues, __pyx_mstate->__pyx_n_u_cyoptionValues_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptionValues};
    __pyx_mstate_global->__pyx_codeobj_tab[834] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleLoadDataEx, __pyx_k_B_E_E_F_6_c_1_fHCz_iq_81_WJgQ_C, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[834])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21086, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_fatCubin, __pyx_mstate->__pyx_n_u_module_2, __pyx_mstate->__pyx_n_u_cyfatCubin, __pyx_mstate->__pyx_n_u_cyfatCubin_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[835] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleLoadFatBinary, __pyx_k_81_AQ_z_1_A_A_RS_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[835])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21126, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hmod, __pyx_mstate->__pyx_n_u_cyhmod, __pyx_mstate->__pyx_n_u_phmod, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[836] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleUnload, __pyx_k_0_uCq_1G1_1A_1HAQ_oQa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[836])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21161, 55};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mode, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[837] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleGetLoadingMode, __pyx_k_Qaq_t_a_avQ_N_6_4AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[837])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21186, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hmod, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cyhmod, __pyx_mstate->__pyx_n_u_phmod, __pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[838] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleGetFunction, __pyx_k_8_uCq_1G1_1A_1HAQ_Ja_A_kQYYZ_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[838])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21228, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mod, __pyx_mstate->__pyx_n_u_cymod, __pyx_mstate->__pyx_n_u_pmod, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[839] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleGetFunctionCount, __pyx_k_t3a_q_1F_s_1_s_81A_z_a_q_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[839])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21261, 252};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_numFunctions, __pyx_mstate->__pyx_n_u_mod, __pyx_mstate->__pyx_n_u_cymod, __pyx_mstate->__pyx_n_u_pmod, __pyx_mstate->__pyx_n_u_cyfunctions, __pyx_mstate->__pyx_n_u_pyfunctions, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[840] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleEnumerateFunctions, __pyx_k_B_t3a_q_1F_s_1_s_81A_z_A_Cq_F_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[840])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21317, 135};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hmod, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cyhmod, __pyx_mstate->__pyx_n_u_phmod, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_numbytes, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[841] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleGetGlobal, __pyx_k_uCq_1G1_1A_1HAQ_Kq_1_KqPZZbbc_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[841])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21363, 340};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_numOptions, __pyx_mstate->__pyx_n_u_options, __pyx_mstate->__pyx_n_u_optionValues, __pyx_mstate->__pyx_n_u_cyoptions, __pyx_mstate->__pyx_n_u_pylist, __pyx_mstate->__pyx_n_u_voidStarHelperoptionValues, __pyx_mstate->__pyx_n_u_cyoptionValues_ptr, __pyx_mstate->__pyx_n_u_stateOut, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_option, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptionValues};
    __pyx_mstate_global->__pyx_codeobj_tab[842] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLinkCreate, __pyx_k_4wwxd_6_c_1_fHCz_iq_Cq_A5K2SPQQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[842])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 23, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21434, 384};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_typename, __pyx_mstate->__pyx_n_u_data_2, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_numOptions, __pyx_mstate->__pyx_n_u_options, __pyx_mstate->__pyx_n_u_optionValues, __pyx_mstate->__pyx_n_u_cystate, __pyx_mstate->__pyx_n_u_pstate, __pyx_mstate->__pyx_n_u_cytypename, __pyx_mstate->__pyx_n_u_cydata, __pyx_mstate->__pyx_n_u_cydata_ptr, __pyx_mstate->__pyx_n_u_cyoptions, __pyx_mstate->__pyx_n_u_pylist, __pyx_mstate->__pyx_n_u_voidStarHelperoptionValues, __pyx_mstate->__pyx_n_u_cyoptionValues_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptionValues};
    __pyx_mstate_global->__pyx_codeobj_tab[843] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLinkAddData, __pyx_k_C_C_D_Z_6_c_1_fHCz_iq_vS_1HA_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[843])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21505, 357};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_typename, __pyx_mstate->__pyx_n_u_path, __pyx_mstate->__pyx_n_u_numOptions, __pyx_mstate->__pyx_n_u_options, __pyx_mstate->__pyx_n_u_optionValues, __pyx_mstate->__pyx_n_u_cystate, __pyx_mstate->__pyx_n_u_pstate, __pyx_mstate->__pyx_n_u_cytypename, __pyx_mstate->__pyx_n_u_cyoptions, __pyx_mstate->__pyx_n_u_pylist, __pyx_mstate->__pyx_n_u_voidStarHelperoptionValues, __pyx_mstate->__pyx_n_u_cyoptionValues_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptionValues};
    __pyx_mstate_global->__pyx_codeobj_tab[844] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLinkAddFile, __pyx_k_l_m_p_p_q_V_6_c_1_fHCz_iq_vS_1H, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[844])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21572, 126};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_cystate, __pyx_mstate->__pyx_n_u_pstate, __pyx_mstate->__pyx_n_u_cubinOut, __pyx_mstate->__pyx_n_u_sizeOut, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[845] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLinkComplete, __pyx_k_vS_1HA_AQ_A_Ja_Q_oQixq_1_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[845])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21616, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_cystate, __pyx_mstate->__pyx_n_u_pstate, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[846] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLinkDestroy, __pyx_k_vS_1HA_AQ_A_Ja_nAQ_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[846])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21646, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hmod, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cyhmod, __pyx_mstate->__pyx_n_u_phmod, __pyx_mstate->__pyx_n_u_pTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[847] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleGetTexRef, __pyx_k_uCq_1G1_1A_1HAQ_HA_WKxWX_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[847])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21692, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hmod, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cyhmod, __pyx_mstate->__pyx_n_u_phmod, __pyx_mstate->__pyx_n_u_pSurfRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[848] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuModuleGetSurfRef, __pyx_k_uCq_1G1_1A_1HAQ_iq_x_RZZ_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[848])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 27, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21736, 700};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_code, __pyx_mstate->__pyx_n_u_jitOptions, __pyx_mstate->__pyx_n_u_jitOptionsValues, __pyx_mstate->__pyx_n_u_numJitOptions, __pyx_mstate->__pyx_n_u_libraryOptions, __pyx_mstate->__pyx_n_u_libraryOptionValues, __pyx_mstate->__pyx_n_u_numLibraryOptions, __pyx_mstate->__pyx_n_u_library, __pyx_mstate->__pyx_n_u_cycode, __pyx_mstate->__pyx_n_u_cycode_ptr, __pyx_mstate->__pyx_n_u_cyjitOptions, __pyx_mstate->__pyx_n_u_pylist, __pyx_mstate->__pyx_n_u_voidStarHelperjitOptionsValues, __pyx_mstate->__pyx_n_u_cyjitOptionsValues_ptr, __pyx_mstate->__pyx_n_u_cylibraryOptions, __pyx_mstate->__pyx_n_u_voidStarHelperlibraryOptionValue, __pyx_mstate->__pyx_n_u_cylibraryOptionValues_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_pyjitOptions, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptionValues, __pyx_mstate->__pyx_n_u_pylibraryOptions, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptionValues};
    __pyx_mstate_global->__pyx_codeobj_tab[849] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryLoadData, __pyx_k_p_q_P_P_Q_B_4Cz_V_Zq_iq_v_c_1_Z, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[849])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 25, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21831, 679};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_fileName, __pyx_mstate->__pyx_n_u_jitOptions, __pyx_mstate->__pyx_n_u_jitOptionsValues, __pyx_mstate->__pyx_n_u_numJitOptions, __pyx_mstate->__pyx_n_u_libraryOptions, __pyx_mstate->__pyx_n_u_libraryOptionValues, __pyx_mstate->__pyx_n_u_numLibraryOptions, __pyx_mstate->__pyx_n_u_library, __pyx_mstate->__pyx_n_u_cyjitOptions, __pyx_mstate->__pyx_n_u_pylist, __pyx_mstate->__pyx_n_u_voidStarHelperjitOptionsValues, __pyx_mstate->__pyx_n_u_cyjitOptionsValues_ptr, __pyx_mstate->__pyx_n_u_cylibraryOptions, __pyx_mstate->__pyx_n_u_voidStarHelperlibraryOptionValue, __pyx_mstate->__pyx_n_u_cylibraryOptionValues_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_pyjitOptions, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptionValues, __pyx_mstate->__pyx_n_u_pylibraryOptions, __pyx_mstate->__pyx_n_u_pyoptions, __pyx_mstate->__pyx_n_u_pyoptionValues};
    __pyx_mstate_global->__pyx_codeobj_tab[850] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryLoadFromFile, __pyx_k_7_N_N___D_4Cz_V_Zq_iq_v_c_1_Zq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[850])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21925, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_library, __pyx_mstate->__pyx_n_u_cylibrary, __pyx_mstate->__pyx_n_u_plibrary, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[851] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryUnload, __pyx_k_xs_1_1Ja_3aq_3ay_Ja_aq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[851])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21957, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_library, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cylibrary, __pyx_mstate->__pyx_n_u_plibrary, __pyx_mstate->__pyx_n_u_pKernel, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[852] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryGetKernel, __pyx_k_6_xs_1_1Ja_3aq_3ay_Ja_HA_g_P_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[852])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 21998, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_lib, __pyx_mstate->__pyx_n_u_cylib, __pyx_mstate->__pyx_n_u_plib, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[853] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryGetKernelCount, __pyx_k_t3a_q_1F_s_1_s_9AQ_a_aq_q_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[853])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22031, 250};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_numKernels, __pyx_mstate->__pyx_n_u_lib, __pyx_mstate->__pyx_n_u_cylib, __pyx_mstate->__pyx_n_u_plib, __pyx_mstate->__pyx_n_u_cykernels, __pyx_mstate->__pyx_n_u_pykernels, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[854] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryEnumerateKernels, __pyx_k_6_t3a_q_1F_s_1_s_9AQ_Q_a_1_S_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[854])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22081, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_library, __pyx_mstate->__pyx_n_u_cylibrary, __pyx_mstate->__pyx_n_u_plibrary, __pyx_mstate->__pyx_n_u_pMod, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[855] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryGetModule, __pyx_k_2_xs_1_1Ja_3aq_3ay_Ja_d_Q_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[855])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22120, 118};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_kernel_2, __pyx_mstate->__pyx_n_u_cykernel, __pyx_mstate->__pyx_n_u_pkernel, __pyx_mstate->__pyx_n_u_pFunc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[856] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuKernelGetFunction, __pyx_k_2_wc_1IQ_Qa_Qhaq_A_Ja_A_kQR_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[856])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22159, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_kernel_2, __pyx_mstate->__pyx_n_u_cykernel, __pyx_mstate->__pyx_n_u_pkernel, __pyx_mstate->__pyx_n_u_pLib, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[857] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuKernelGetLibrary, __pyx_k_0_wc_1IQ_Qa_Qhaq_A_1_t_a_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[857])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22197, 136};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_library, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cylibrary, __pyx_mstate->__pyx_n_u_plibrary, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_numbytes, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[858] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryGetGlobal, __pyx_k_xs_1_1Ja_3aq_3ay_Ja_Kq_1_A_PQQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[858])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22243, 137};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_library, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cylibrary, __pyx_mstate->__pyx_n_u_plibrary, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_numbytes, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[859] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryGetManaged, __pyx_k_B_xs_1_1Ja_3aq_3ay_Ja_Kq_1_B_kQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[859])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22291, 116};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_library, __pyx_mstate->__pyx_n_u_symbol, __pyx_mstate->__pyx_n_u_cylibrary, __pyx_mstate->__pyx_n_u_plibrary, __pyx_mstate->__pyx_n_u_fptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[860] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLibraryGetUnifiedFunction, __pyx_k_xs_1_1Ja_3aq_3ay_Ja_2_81F_Q_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[860])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22335, 180};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_kernel_2, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_cykernel, __pyx_mstate->__pyx_n_u_pkernel, __pyx_mstate->__pyx_n_u_pi, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[861] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuKernelGetAttribute, __pyx_k_X_t3a_q_1F_s_1_s_81A_q_wc_1IQ_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[861])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22467, 151};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_val_2, __pyx_mstate->__pyx_n_u_kernel_2, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_cykernel, __pyx_mstate->__pyx_n_u_pkernel, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[862] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuKernelSetAttribute, __pyx_k_v_t3a_q_1F_s_1_s_81A_q_wc_1IQ_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[862])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22579, 149};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_kernel_2, __pyx_mstate->__pyx_n_u_config, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_cykernel, __pyx_mstate->__pyx_n_u_pkernel, __pyx_mstate->__pyx_n_u_cyconfig, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[863] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuKernelSetCacheConfig, __pyx_k_56x_t3a_q_1F_s_1_s_81A_q_wc_1IQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[863])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22660, 122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[864] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuKernelGetName, __pyx_k_2_vS_1HA_AQ_AXQa_1_A_aq_a_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[864])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22699, 130};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_kernel_2, __pyx_mstate->__pyx_n_u_paramIndex, __pyx_mstate->__pyx_n_u_cykernel, __pyx_mstate->__pyx_n_u_pkernel, __pyx_mstate->__pyx_n_u_paramOffset, __pyx_mstate->__pyx_n_u_paramSize, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[865] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuKernelGetParamInfo, __pyx_k_J_wc_1IQ_Qa_Qhaq_A_a_A_1Jl_PQQR, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[865])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22751, 68};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_free_2, __pyx_mstate->__pyx_n_u_total, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[866] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemGetInfo, __pyx_k_D_q_m1AV1A_t_a_avV1_N_6_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[866])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22793, 61};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_bytesize_2, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[867] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAlloc, __pyx_k_4_Kq_k_9_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[867])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22826, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_WidthInBytes_2, __pyx_mstate->__pyx_n_u_Height_2, __pyx_mstate->__pyx_n_u_ElementSizeBytes, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_pPitch_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[868] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAllocPitch, __pyx_k_t_Kq_a_d_QhVddllm_t_a_avV1_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[868])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22892, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[869] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemFree, __pyx_k_D_uCq_1G1_1A_1Kq_Q_j_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[869])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22937, 133};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_pbase, __pyx_mstate->__pyx_n_u_psize, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[870] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemGetAddressRange, __pyx_k_8_uCq_1G1_1A_1Kq_Q_1_C5_STT_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[870])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22980, 59};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_bytesize_2, __pyx_mstate->__pyx_n_u_pp, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[871] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAllocHost, __pyx_k_q_oQhat1_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[871])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23034, 46};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_p, __pyx_mstate->__pyx_n_u_cyp, __pyx_mstate->__pyx_n_u_cyp_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[872] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemFreeHost, __pyx_k_Qa_Q_nAQ_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[872])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23061, 61};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_bytesize_2, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_pp, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[873] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemHostAlloc, __pyx_k_f_q_oQhat_Q_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[873])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23151, 88};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_p, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_cyp, __pyx_mstate->__pyx_n_u_cyp_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[874] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemHostGetDevicePointer, __pyx_k_f_Qa_Q_0_1H_Xaab_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[874])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23211, 78};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_p, __pyx_mstate->__pyx_n_u_pFlags, __pyx_mstate->__pyx_n_u_cyp, __pyx_mstate->__pyx_n_u_cyp_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[875] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemHostGetFlags, __pyx_k_6_q_Qa_Q_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[875])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23247, 66};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_bytesize_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[876] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAllocManaged, __pyx_k_Kq_KzYZ_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[876])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23393, 318};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_callbackFunc, __pyx_mstate->__pyx_n_u_userData_2, __pyx_mstate->__pyx_n_u_cycallbackFunc, __pyx_mstate->__pyx_n_u_pcallbackFunc, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_cyuserData, __pyx_mstate->__pyx_n_u_cyuserData_ptr, __pyx_mstate->__pyx_n_u_cbData, __pyx_mstate->__pyx_n_u_callback, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[877] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceRegisterAsyncNotificatio, __pyx_k_X_Cq_1O1_1A_1O1A_z_wc_1IQ_Qa_Qh, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[877])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23473, 172};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_callback, __pyx_mstate->__pyx_n_u_cycallback, __pyx_mstate->__pyx_n_u_pcallback, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[878] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceUnregisterAsyncNotificat, __pyx_k_2_y_1_A_1Kq_Cq_Cq_Qa_1_1_wc_1IQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[878])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23520, 62};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pciBusId, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[879] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetByPCIBusId, __pyx_k_2_A_A_Kq_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[879])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23552, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_pypciBusId, __pyx_mstate->__pyx_n_u_pciBusId, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[880] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetPCIBusId, __pyx_k_t3a_q_1F_s_1_s_81A_q_b_XQ_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[880])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23598, 120};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_event_2, __pyx_mstate->__pyx_n_u_cyevent, __pyx_mstate->__pyx_n_u_pevent, __pyx_mstate->__pyx_n_u_pHandle, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[881] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuIpcGetEventHandle, __pyx_k_X_vS_1HA_AQ_AWAQ_4A_GwkYZ_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[881])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23656, 76};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[882] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuIpcOpenEventHandle, __pyx_k_H_7_1_wkQWW_aab_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[882])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23700, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_pHandle, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[883] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuIpcGetMemHandle, __pyx_k_N_uCq_1G1_1A_1Kq_Q_C7_UV_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[883])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23753, 79};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[884] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuIpcOpenMemHandle, __pyx_k_t_A_kQWW_aaeef_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[884])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23819, 82};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[885] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuIpcCloseMemHandle, __pyx_k_F_uCq_1G1_1A_1Kq_Q_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[885])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23865, 52};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_p, __pyx_mstate->__pyx_n_u_bytesize_2, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cyp, __pyx_mstate->__pyx_n_u_cyp_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[886] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemHostRegister, __pyx_k_Qa_Q_A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[886])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23967, 47};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_p, __pyx_mstate->__pyx_n_u_cyp, __pyx_mstate->__pyx_n_u_cyp_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[887] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemHostUnregister, __pyx_k_0_Qa_Q_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[887])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23997, 139};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dst_2, __pyx_mstate->__pyx_n_u_src_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cysrc, __pyx_mstate->__pyx_n_u_psrc, __pyx_mstate->__pyx_n_u_cydst, __pyx_mstate->__pyx_n_u_pdst, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[888] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy, __pyx_k_t3a_q_1F_s_1_s_aq_A_t3a_q_1F_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[888])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24046, 255};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_dstContext_2, __pyx_mstate->__pyx_n_u_srcDevice_2, __pyx_mstate->__pyx_n_u_srcContext_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cysrcContext, __pyx_mstate->__pyx_n_u_psrcContext, __pyx_mstate->__pyx_n_u_cysrcDevice, __pyx_mstate->__pyx_n_u_psrcDevice, __pyx_mstate->__pyx_n_u_cydstContext, __pyx_mstate->__pyx_n_u_pdstContext, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[889] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyPeer, __pyx_k_B_Q_a_1M_c_c_1A_z_z_A_Q_1L_S_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[889])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24114, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_srcHost_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_cysrcHost, __pyx_mstate->__pyx_n_u_cysrcHost_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[890] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyHtoD, __pyx_k_6_z_A_Q_1L_S_S_AQ_1A_wj_m1M_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[890])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24154, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstHost_2, __pyx_mstate->__pyx_n_u_srcDevice_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cysrcDevice, __pyx_mstate->__pyx_n_u_psrcDevice, __pyx_mstate->__pyx_n_u_cydstHost, __pyx_mstate->__pyx_n_u_cydstHost_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[891] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyDtoH, __pyx_k_6_z_A_Q_1L_S_S_AQ_1A_wj_m1O_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[891])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24194, 139};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_srcDevice_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cysrcDevice, __pyx_mstate->__pyx_n_u_psrcDevice, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[892] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyDtoD, __pyx_k_6_z_A_Q_1L_S_S_AQ_z_A_Q_1L_S_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[892])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24240, 141};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstArray_2, __pyx_mstate->__pyx_n_u_dstOffset, __pyx_mstate->__pyx_n_u_srcDevice_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cysrcDevice, __pyx_mstate->__pyx_n_u_psrcDevice, __pyx_mstate->__pyx_n_u_cydstArray, __pyx_mstate->__pyx_n_u_pdstArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[893] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyDtoA, __pyx_k_z_A_Q_1L_S_S_AQ_y_1_A_1Kq_Cq_Cq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[893])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24289, 142};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_srcArray_2, __pyx_mstate->__pyx_n_u_srcOffset, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cysrcArray, __pyx_mstate->__pyx_n_u_psrcArray, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[894] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyAtoD, __pyx_k_y_1_A_1Kq_Cq_Cq_q_Q_z_A_Q_1L_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[894])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24340, 107};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstArray_2, __pyx_mstate->__pyx_n_u_dstOffset, __pyx_mstate->__pyx_n_u_srcHost_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cydstArray, __pyx_mstate->__pyx_n_u_pdstArray, __pyx_mstate->__pyx_n_u_cysrcHost, __pyx_mstate->__pyx_n_u_cysrcHost_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[895] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyHtoA, __pyx_k_y_1_A_1Kq_Cq_Cq_q_Q_1A_wj_m1L_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[895])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24383, 107};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstHost_2, __pyx_mstate->__pyx_n_u_srcArray_2, __pyx_mstate->__pyx_n_u_srcOffset, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cysrcArray, __pyx_mstate->__pyx_n_u_psrcArray, __pyx_mstate->__pyx_n_u_cydstHost, __pyx_mstate->__pyx_n_u_cydstHost_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[896] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyAtoH, __pyx_k_y_1_A_1Kq_Cq_Cq_q_Q_1A_wj_m1O_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[896])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24426, 145};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstArray_2, __pyx_mstate->__pyx_n_u_dstOffset, __pyx_mstate->__pyx_n_u_srcArray_2, __pyx_mstate->__pyx_n_u_srcOffset, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_cysrcArray, __pyx_mstate->__pyx_n_u_psrcArray, __pyx_mstate->__pyx_n_u_cydstArray, __pyx_mstate->__pyx_n_u_pdstArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[897] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyAtoA, __pyx_k_F_y_1_A_1Kq_Cq_Cq_q_Q_y_1_A_1Kq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[897])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24480, 45};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pCopy, __pyx_mstate->__pyx_n_u_cypCopy_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[898] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy2D, __pyx_k_l_0uM_wjXY_k_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[898])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24604, 46};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pCopy, __pyx_mstate->__pyx_n_u_cypCopy_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[899] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy2DUnaligned, __pyx_k_l_0uM_wjXY_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[899])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24728, 45};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pCopy, __pyx_mstate->__pyx_n_u_cypCopy_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[900] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy3D, __pyx_k_r_0uM_wjXY_k_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[900])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24855, 45};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pCopy, __pyx_mstate->__pyx_n_u_cypCopy_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[901] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy3DPeer, __pyx_k_5E_fGS_oQa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[901])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24882, 197};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dst_2, __pyx_mstate->__pyx_n_u_src_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cysrc, __pyx_mstate->__pyx_n_u_psrc, __pyx_mstate->__pyx_n_u_cydst, __pyx_mstate->__pyx_n_u_pdst, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[902] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyAsync, __pyx_k_xs_1_1Ja_3aq_3axq_Q_t3a_q_1F_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[902])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24941, 315};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_dstContext_2, __pyx_mstate->__pyx_n_u_srcDevice_2, __pyx_mstate->__pyx_n_u_srcContext_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cysrcContext, __pyx_mstate->__pyx_n_u_psrcContext, __pyx_mstate->__pyx_n_u_cysrcDevice, __pyx_mstate->__pyx_n_u_psrcDevice, __pyx_mstate->__pyx_n_u_cydstContext, __pyx_mstate->__pyx_n_u_pdstContext, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[903] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyPeerAsync, __pyx_k_F_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[903])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25019, 164};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_srcHost_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_cysrcHost, __pyx_mstate->__pyx_n_u_cysrcHost_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[904] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyHtoDAsync, __pyx_k_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[904])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25069, 164};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstHost_2, __pyx_mstate->__pyx_n_u_srcDevice_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cysrcDevice, __pyx_mstate->__pyx_n_u_psrcDevice, __pyx_mstate->__pyx_n_u_cydstHost, __pyx_mstate->__pyx_n_u_cydstHost_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[905] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyDtoHAsync, __pyx_k_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[905])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25119, 197};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_srcDevice_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cysrcDevice, __pyx_mstate->__pyx_n_u_psrcDevice, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[906] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyDtoDAsync, __pyx_k_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[906])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25175, 167};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstArray_2, __pyx_mstate->__pyx_n_u_dstOffset, __pyx_mstate->__pyx_n_u_srcHost_2, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstArray, __pyx_mstate->__pyx_n_u_pdstArray, __pyx_mstate->__pyx_n_u_cysrcHost, __pyx_mstate->__pyx_n_u_cysrcHost_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[907] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyHtoAAsync, __pyx_k_xs_1_1Ja_3aq_3axq_Q_y_1_A_1Kq_C, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[907])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25228, 167};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstHost_2, __pyx_mstate->__pyx_n_u_srcArray_2, __pyx_mstate->__pyx_n_u_srcOffset, __pyx_mstate->__pyx_n_u_ByteCount, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cysrcArray, __pyx_mstate->__pyx_n_u_psrcArray, __pyx_mstate->__pyx_n_u_cydstHost, __pyx_mstate->__pyx_n_u_cydstHost_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[908] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyAtoHAsync, __pyx_k_xs_1_1Ja_3aq_3axq_Q_y_1_A_1Kq_C_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[908])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25281, 103};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pCopy, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cypCopy_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[909] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy2DAsync, __pyx_k_xs_1_1Ja_3aq_3axq_Q_uM_wjXY_a_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[909])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25422, 103};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pCopy, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cypCopy_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[910] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy3DAsync, __pyx_k_x_xs_1_1Ja_3aq_3axq_Q_uM_wjXY_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[910])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25559, 103};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pCopy, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cypCopy_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[911] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy3DPeerAsync, __pyx_k_0_xs_1_1Ja_3aq_3axq_Q_4E_fGS_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[911])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 24, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25596, 1160};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dsts, __pyx_mstate->__pyx_n_u_srcs, __pyx_mstate->__pyx_n_u_sizes, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_attrs_2, __pyx_mstate->__pyx_n_u_attrsIdxs, __pyx_mstate->__pyx_n_u_numAttrs_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydsts, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cysrcs, __pyx_mstate->__pyx_n_u_cysizes, __pyx_mstate->__pyx_n_u_cyattrs, __pyx_mstate->__pyx_n_u_cyattrsIdxs, __pyx_mstate->__pyx_n_u_failIdx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[912] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpyBatchAsync, __pyx_k_W_X_R_R_L_L_M_xs_1_1Ja_3aq_3axq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[912])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25776, 394};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_numOps, __pyx_mstate->__pyx_n_u_opList, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyopList, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_failIdx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[913] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemcpy3DBatchAsync, __pyx_k_12Z_xs_1_1Ja_3aq_3axq_Q_V7_Zq_i, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[913])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25915, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_uc, __pyx_mstate->__pyx_n_u_N, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[914] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD8, __pyx_k_2_z_A_Q_1L_S_S_AQ_k_t1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[914])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25951, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_us, __pyx_mstate->__pyx_n_u_N, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[915] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD16, __pyx_k_4_z_A_Q_1L_S_S_AQ_l_A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[915])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 25988, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_ui, __pyx_mstate->__pyx_n_u_N, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[916] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD32, __pyx_k_4_z_A_Q_1L_S_S_AQ_l_A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[916])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26025, 89};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_dstPitch_2, __pyx_mstate->__pyx_n_u_uc, __pyx_mstate->__pyx_n_u_Width_2, __pyx_mstate->__pyx_n_u_Height_2, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[917] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD2D8, __pyx_k_B_z_A_Q_1L_S_S_AQ_m1M_4wa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[917])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26069, 89};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_dstPitch_2, __pyx_mstate->__pyx_n_u_us, __pyx_mstate->__pyx_n_u_Width_2, __pyx_mstate->__pyx_n_u_Height_2, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[918] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD2D16, __pyx_k_D_z_A_Q_1L_S_S_AQ_nA_D_q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[918])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26114, 89};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_dstPitch_2, __pyx_mstate->__pyx_n_u_ui, __pyx_mstate->__pyx_n_u_Width_2, __pyx_mstate->__pyx_n_u_Height_2, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[919] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD2D32, __pyx_k_D_z_A_Q_1L_S_S_AQ_nA_D_q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[919])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26159, 142};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_uc, __pyx_mstate->__pyx_n_u_N, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[920] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD8Async, __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[920])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26205, 142};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_us, __pyx_mstate->__pyx_n_u_N, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[921] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD16Async, __pyx_k_8_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[921])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26252, 142};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_ui, __pyx_mstate->__pyx_n_u_N, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[922] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD32Async, __pyx_k_8_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[922])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26299, 148};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_dstPitch_2, __pyx_mstate->__pyx_n_u_uc, __pyx_mstate->__pyx_n_u_Width_2, __pyx_mstate->__pyx_n_u_Height_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[923] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD2D8Async, __pyx_k_F_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[923])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26353, 148};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_dstPitch_2, __pyx_mstate->__pyx_n_u_us, __pyx_mstate->__pyx_n_u_Width_2, __pyx_mstate->__pyx_n_u_Height_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[924] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD2D16Async, __pyx_k_H_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[924])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26408, 148};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_dstPitch_2, __pyx_mstate->__pyx_n_u_ui, __pyx_mstate->__pyx_n_u_Width_2, __pyx_mstate->__pyx_n_u_Height_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[925] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemsetD2D32Async, __pyx_k_H_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[925])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26463, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pAllocateArray, __pyx_mstate->__pyx_n_u_pHandle, __pyx_mstate->__pyx_n_u_cypAllocateArray_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[926] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuArrayCreate, __pyx_k_v_7_m_jjqq_nA_8_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[926])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26531, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hArray_2, __pyx_mstate->__pyx_n_u_cyhArray, __pyx_mstate->__pyx_n_u_phArray, __pyx_mstate->__pyx_n_u_pArrayDescriptor, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[927] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuArrayGetDescriptor, __pyx_k_4_wc_1IQ_Qa_QgQa_1_22Gq_1_MM_hh, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[927])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26571, 123};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_array_2, __pyx_mstate->__pyx_n_u_cyarray, __pyx_mstate->__pyx_n_u_parray, __pyx_mstate->__pyx_n_u_sparseProperties, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[928] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuArrayGetSparseProperties, __pyx_k_N_vS_1HA_AQ_AWAQ_99UUV_1_2ZZjju, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[928])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26624, 124};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mipmap_2, __pyx_mstate->__pyx_n_u_cymipmap, __pyx_mstate->__pyx_n_u_pmipmap, __pyx_mstate->__pyx_n_u_sparseProperties, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[929] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMipmappedArrayGetSparsePropert, __pyx_k_R_wc_1IQ_Qa_Q_aq_A_99UUV_ccss_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[929])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26679, 187};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_array_2, __pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_cyarray, __pyx_mstate->__pyx_n_u_parray, __pyx_mstate->__pyx_n_u_memoryRequirements, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[930] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuArrayGetMemoryRequirements, __pyx_k_B_wc_1IQ_Qa_Qhaq_vS_1HA_AQ_AWAQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[930])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26734, 192};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mipmap_2, __pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_cymipmap, __pyx_mstate->__pyx_n_u_pmipmap, __pyx_mstate->__pyx_n_u_memoryRequirements, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[931] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMipmappedArrayGetMemoryRequire, __pyx_k_D_wc_1IQ_Qa_Qhaq_wc_1IQ_Qa_Q_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[931])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26790, 122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hArray_2, __pyx_mstate->__pyx_n_u_planeIdx, __pyx_mstate->__pyx_n_u_cyhArray, __pyx_mstate->__pyx_n_u_phArray, __pyx_mstate->__pyx_n_u_pPlaneArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[932] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuArrayGetPlane, __pyx_k_N_wc_1IQ_Qa_QgQa_1_wa_a_PZZ_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[932])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26843, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hArray_2, __pyx_mstate->__pyx_n_u_cyhArray, __pyx_mstate->__pyx_n_u_phArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[933] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuArrayDestroy, __pyx_k_wc_1IQ_Qa_QgQa_1_oQa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[933])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26875, 86};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pAllocateArray, __pyx_mstate->__pyx_n_u_pHandle, __pyx_mstate->__pyx_n_u_cypAllocateArray_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[934] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuArray3DCreate, __pyx_k_v_7_B_P_llss_a_A_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[934])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27007, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hArray_2, __pyx_mstate->__pyx_n_u_cyhArray, __pyx_mstate->__pyx_n_u_phArray, __pyx_mstate->__pyx_n_u_pArrayDescriptor, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[935] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuArray3DGetDescriptor, __pyx_k_wc_1IQ_Qa_QgQa_1_44K1_Q_QQaallm, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[935])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27051, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pMipmappedArrayDesc, __pyx_mstate->__pyx_n_u_numMipmapLevels, __pyx_mstate->__pyx_n_u_pHandle, __pyx_mstate->__pyx_n_u_cypMipmappedArrayDesc_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[936] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMipmappedArrayCreate, __pyx_k_12_4A_GGZZgg_C_C_M_M_N_Q_J_Q_ww, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[936])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27171, 124};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hMipmappedArray_2, __pyx_mstate->__pyx_n_u_level_2, __pyx_mstate->__pyx_n_u_cyhMipmappedArray, __pyx_mstate->__pyx_n_u_phMipmappedArray, __pyx_mstate->__pyx_n_u_pLevelArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[937] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMipmappedArrayGetLevel, __pyx_k_s_1_1_a_3aq_3a_q_3_Q_wa_q0C_kYl, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[937])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27214, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hMipmappedArray_2, __pyx_mstate->__pyx_n_u_cyhMipmappedArray, __pyx_mstate->__pyx_n_u_phMipmappedArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[938] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMipmappedArrayDestroy, __pyx_k_s_1_1_a_3aq_3a_q_3_Q_aq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[938])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27246, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_handleType, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_cyhandle_ptr, __pyx_mstate->__pyx_n_u_cyhandleType, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[939] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemGetHandleForAddressRange, __pyx_k_KLt_uCq_1G1_1A_1Kq_Q_a_gQa_6j_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[939])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27321, 145};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_paramsArray_2, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_cyparamsArray_ptr, __pyx_mstate->__pyx_n_u_errorIndex, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[940] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemBatchDecompressAsync, __pyx_k_F_wc_1IQ_Qa_Qhaq_A_Uaahhrrs_Q_0, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[940])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27404, 128};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_alignment_2, __pyx_mstate->__pyx_n_u_addr, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyaddr, __pyx_mstate->__pyx_n_u_paddr, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[941] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAddressReserve, __pyx_k_H_uCq_1G1_1A_1Kq_Q_a_B_PVVaaiij, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[941])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27454, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[942] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAddressFree, __pyx_k_2_t3a_q_1F_s_1_s_aq_A_q_q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[942])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27490, 91};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_prop, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_cyprop_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[943] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemCreate, __pyx_k_T_0_K1_4D_U_Q_l_K6Q_bbnno_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[943])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27573, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_cyhandle, __pyx_mstate->__pyx_n_u_phandle, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[944] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemRelease, __pyx_k_wc_1IQ_Qa_Q_2_1_6j_m1A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[944])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27614, 145};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_offset_2, __pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyhandle, __pyx_mstate->__pyx_n_u_phandle, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[945] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemMap, __pyx_k_z_wc_1IQ_Qa_Q_2_1_6j_t3a_q_1F_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[945])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27694, 358};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mapInfoList, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cymapInfoList, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[946] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemMapArrayAsync, __pyx_k_xs_1_1Ja_3aq_3axq_Q_Cz_iq_2_s_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[946])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27865, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[947] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemUnmap, __pyx_k_D_t3a_q_1F_s_1_s_aq_A_k_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[947])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27910, 360};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_cydesc, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[948] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemSetAccess, __pyx_k_T_6_c_1_iq_t3a_q_1F_s_1_s_aq_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[948])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27980, 135};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_location_2, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cylocation_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[949] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemGetAccess, __pyx_k_t3a_q_1F_s_1_s_aq_A_A_2_yPWWaab, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[949])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28018, 153};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_handleType, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyhandle, __pyx_mstate->__pyx_n_u_phandle, __pyx_mstate->__pyx_n_u_cyshareableHandle, __pyx_mstate->__pyx_n_u_cyshareableHandle_ptr, __pyx_mstate->__pyx_n_u_cyhandleType, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[950] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemExportToShareableHandle, __pyx_k_P_wc_1IQ_Qa_Q_2_1_6j____wj8I_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[950])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28075, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_osHandle, __pyx_mstate->__pyx_n_u_shHandleType, __pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_cyosHandle, __pyx_mstate->__pyx_n_u_cyosHandle_ptr, __pyx_mstate->__pyx_n_u_cyshHandleType, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[951] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemImportFromShareableHandle, __pyx_k_EFH_0_K1_AQ_z_1_5Q6_ddoo_A_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[951])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28122, 89};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_prop, __pyx_mstate->__pyx_n_u_option, __pyx_mstate->__pyx_n_u_granularity, __pyx_mstate->__pyx_n_u_cyprop_ptr, __pyx_mstate->__pyx_n_u_cyoption, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[952] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemGetAllocationGranularity, __pyx_k_ZZ_4_a_4D_U_Q_fA_4AQm_q_t_a_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[952])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28158, 122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_cyhandle, __pyx_mstate->__pyx_n_u_phandle, __pyx_mstate->__pyx_n_u_prop, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[953] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemGetAllocationPropertiesFrom, __pyx_k_wc_1IQ_Qa_Q_2_1_6j_7q_Q_aallm_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[953])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28194, 87};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_addr, __pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_cyaddr, __pyx_mstate->__pyx_n_u_cyaddr_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[954] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemRetainAllocationHandle, __pyx_k_0_K1_G_V1_2_3_aallm_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[954])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28232, 137};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[955] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemFreeAsync, __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_uCq_1G1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[955])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28277, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_bytesize_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[956] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAllocAsync, __pyx_k_J_xs_1_1Ja_3aq_3axq_Q_Kq_a_d_ZW, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[956])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28328, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_minBytesToKeep, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[957] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolTrimTo, __pyx_k_H_uCq_1G1_1A_1L_Ja_axq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[957])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28375, 125};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_attr, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_cyattr, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[958] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolSetAttribute, __pyx_k_01r_uCq_1G1_1A_1L_Ja_t1_H_wV_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[958])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28447, 151};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_attr, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_cyattr, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[959] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolGetAttribute, __pyx_k_01_uCq_1G1_1A_1L_Ja_t1_H_sR_WJg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[959])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28528, 357};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_map, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_cymap, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[960] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolSetAccess, __pyx_k_Cz_iq_uCq_1G1_1A_1L_Ja_1_s_5_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[960])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28578, 135};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_memPool, __pyx_mstate->__pyx_n_u_location_2, __pyx_mstate->__pyx_n_u_cymemPool, __pyx_mstate->__pyx_n_u_pmemPool, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cylocation_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[961] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolGetAccess, __pyx_k_2_xs_1_1Ja_3aq_3a_1A_z_2_yPWWaa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[961])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28619, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_poolProps_2, __pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_cypoolProps_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[962] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolCreate, __pyx_k_4I_T_eef_a_t_a_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[962])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28691, 82};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[963] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolDestroy, __pyx_k_uCq_1G1_1A_1L_Ja_q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[963])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28734, 180};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_bytesize_2, __pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[964] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAllocFromPoolAsync, __pyx_k_D_xs_1_1Ja_3aq_3axq_Q_uCq_1G1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[964])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28790, 150};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_handleType, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_cyhandle_out, __pyx_mstate->__pyx_n_u_cyhandle_out_ptr, __pyx_mstate->__pyx_n_u_cyhandleType, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[965] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolExportToShareableHandle, __pyx_k_ABJ_uCq_1G1_1A_1L_Ja_99YYZZ_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[965])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28844, 111};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_handle_2, __pyx_mstate->__pyx_n_u_handleType, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_pool_out, __pyx_mstate->__pyx_n_u_cyhandle, __pyx_mstate->__pyx_n_u_cyhandle_ptr, __pyx_mstate->__pyx_n_u_cyhandleType, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[966] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolImportFromShareableHand, __pyx_k_EFF_Q_1_gZxq_Q_9_RRZZees_t_B_B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[966])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28890, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_shareData_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[967] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolExportPointer, __pyx_k_4_t3a_q_1F_s_1_s_aq_A_00Fa_Q_PP, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[967])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28930, 144};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pool, __pyx_mstate->__pyx_n_u_shareData, __pyx_mstate->__pyx_n_u_cypool, __pyx_mstate->__pyx_n_u_ppool, __pyx_mstate->__pyx_n_u_ptr_out, __pyx_mstate->__pyx_n_u_cyshareData_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[968] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPoolImportPointer, __pyx_k_D_uCq_1G1_1A_1L_Ja_I_R_ccmmn_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[968])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28980, 87};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_prop, __pyx_mstate->__pyx_n_u_mcHandle, __pyx_mstate->__pyx_n_u_cyprop_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[969] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMulticastCreate, __pyx_k_b_21MQ_6d_uGS_QQYYdde_t_a_avQ_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[969])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29038, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mcHandle, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_cymcHandle, __pyx_mstate->__pyx_n_u_pmcHandle, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[970] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMulticastAddDevice, __pyx_k_D_t3a_q_1F_s_1_s_81A_q_y_1_A_1K, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[970])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29091, 151};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mcHandle, __pyx_mstate->__pyx_n_u_mcOffset, __pyx_mstate->__pyx_n_u_memHandle_2, __pyx_mstate->__pyx_n_u_memOffset, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cymemHandle, __pyx_mstate->__pyx_n_u_pmemHandle, __pyx_mstate->__pyx_n_u_cymcHandle, __pyx_mstate->__pyx_n_u_pmcHandle, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[971] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMulticastBindMem, __pyx_k_t_z_A_Q_1L_S_S_5Qa_9_1_y_1_A_1K, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[971])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29168, 147};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mcHandle, __pyx_mstate->__pyx_n_u_mcOffset, __pyx_mstate->__pyx_n_u_memptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cymemptr, __pyx_mstate->__pyx_n_u_pmemptr, __pyx_mstate->__pyx_n_u_cymcHandle, __pyx_mstate->__pyx_n_u_pmcHandle, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[972] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMulticastBindAddr, __pyx_k_l_wc_1IQ_Qa_Qk_Zq_y_1_A_1Kq_Cq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[972])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29241, 142};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mcHandle, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_mcOffset, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_cymcHandle, __pyx_mstate->__pyx_n_u_pmcHandle, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[973] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMulticastUnbind, __pyx_k_J_t3a_q_1F_s_1_s_81A_q_y_1_A_1K, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[973])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29297, 89};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_prop, __pyx_mstate->__pyx_n_u_option, __pyx_mstate->__pyx_n_u_granularity, __pyx_mstate->__pyx_n_u_cyprop_ptr, __pyx_mstate->__pyx_n_u_cyoption, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[974] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMulticastGetGranularity, __pyx_k_XXY4_a_6d_uGS_0_1_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[974])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29333, 152};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attribute, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_cydata, __pyx_mstate->__pyx_n_u_cydata_ptr, __pyx_mstate->__pyx_n_u_cyattribute, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[975] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuPointerGetAttribute, __pyx_k_0B_t3a_q_1F_s_1_s_aq_A_Gq_SVV_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[975])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29543, 196};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_devPtr_2, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_cydevPtr, __pyx_mstate->__pyx_n_u_pdevPtr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[976] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPrefetchAsync, __pyx_k_n_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[976])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29657, 157};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_devPtr_2, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_location_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydevPtr, __pyx_mstate->__pyx_n_u_pdevPtr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[977] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemPrefetchAsync_v2, __pyx_k_DEF_xs_1_1Ja_3aq_3axq_Q_wc_1IQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[977])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29776, 150};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_devPtr_2, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_advice, __pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_cydevPtr, __pyx_mstate->__pyx_n_u_pdevPtr, __pyx_mstate->__pyx_n_u_cyadvice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[978] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAdvise, __pyx_k_89B_wc_1IQ_Qa_Qhaq_wc_1IQ_Qa_Qk, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[978])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 29958, 108};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_devPtr_2, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_advice, __pyx_mstate->__pyx_n_u_location_2, __pyx_mstate->__pyx_n_u_cydevPtr, __pyx_mstate->__pyx_n_u_pdevPtr, __pyx_mstate->__pyx_n_u_cyadvice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[979] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemAdvise_v2, __pyx_k_wc_1IQ_Qa_Qk_Zq_oQj_z_RSST_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[979])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30161, 152};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dataSize, __pyx_mstate->__pyx_n_u_attribute, __pyx_mstate->__pyx_n_u_devPtr_2, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_cydevPtr, __pyx_mstate->__pyx_n_u_pdevPtr, __pyx_mstate->__pyx_n_u_cydata, __pyx_mstate->__pyx_n_u_cydata_ptr, __pyx_mstate->__pyx_n_u_cyattribute, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[980] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemRangeGetAttribute, __pyx_k_ABT_wc_1IQ_Qa_Qk_Zq_K1KWX_G_V1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[980])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30316, 404};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dataSizes, __pyx_mstate->__pyx_n_u_attributes, __pyx_mstate->__pyx_n_u_numAttributes, __pyx_mstate->__pyx_n_u_devPtr_2, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_cydevPtr, __pyx_mstate->__pyx_n_u_pdevPtr, __pyx_mstate->__pyx_n_u_pylist, __pyx_mstate->__pyx_n_u_voidStarHelperdata, __pyx_mstate->__pyx_n_u_cyvoidStarHelper_ptr, __pyx_mstate->__pyx_n_u_cydataSizes, __pyx_mstate->__pyx_n_u_cyattributes, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_pyattributes, __pyx_mstate->__pyx_n_u_pydataSizes, __pyx_mstate->__pyx_n_u_pyattributes, __pyx_mstate->__pyx_n_u_obj};
    __pyx_mstate_global->__pyx_codeobj_tab[981] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuMemRangeGetAttributes, __pyx_k_MQt_wc_1IQ_Qa_Qk_Zq_Zq_iq_iq_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[981])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30400, 126};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_attribute, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_cyattribute, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[982] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuPointerSetAttribute, __pyx_k_67L_t3a_q_1F_s_1_s_aq_A_H_T_eef, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[982])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30453, 288};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_numAttributes, __pyx_mstate->__pyx_n_u_attributes, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_pptr, __pyx_mstate->__pyx_n_u_cyattributes, __pyx_mstate->__pyx_n_u_pylist, __pyx_mstate->__pyx_n_u_voidStarHelperdata, __pyx_mstate->__pyx_n_u_cyvoidStarHelper_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_pyattributes, __pyx_mstate->__pyx_n_u_pyattributes, __pyx_mstate->__pyx_n_u_obj};
    __pyx_mstate_global->__pyx_codeobj_tab[983] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuPointerGetAttributes, __pyx_k_DEJ_t3a_q_1F_s_1_s_aq_A_Zq_iq_R, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[983])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30544, 62};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[984] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamCreate, __pyx_k_XQ_oQ_Q_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[984])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30583, 67};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_priority_2, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[985] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamCreateWithPriority, __pyx_k_Z_XQ_1_2FhkY_a_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[985])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30635, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_priority_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[986] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetPriority, __pyx_k_xs_1_1Ja_3aq_3axq_Q_aq_t_a_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[986])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30680, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[987] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetDevice, __pyx_k_xs_1_1Ja_3aq_3axq_Q_81_4H_a_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[987])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30717, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[988] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetFlags, __pyx_k_8_xs_1_1Ja_3aq_3axq_Q_a_q_1A_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[988])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30759, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_streamId, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[989] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetId, __pyx_k_P_xs_1_1Ja_3aq_3axq_Q_q_nA_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[989])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30813, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[990] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetCtx, __pyx_k_b_xs_1_1Ja_3aq_3axq_Q_1_oQk1Fd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[990])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30876, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_pCtx, __pyx_mstate->__pyx_n_u_pGreenCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[991] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetCtx_v2, __pyx_k_x_xs_1_1Ja_3aq_3axq_Q_1_4I_Xnnw, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[991])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30951, 141};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[992] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamWaitEvent, __pyx_k_J_wc_1IQ_Qa_QgQa_1_xs_1_1Ja_3aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[992])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31020, 243};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_callback, __pyx_mstate->__pyx_n_u_userData_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cycallback, __pyx_mstate->__pyx_n_u_pcallback, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyuserData, __pyx_mstate->__pyx_n_u_cyuserData_ptr, __pyx_mstate->__pyx_n_u_cbData, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[993] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamAddCallback, __pyx_k_L_y_1_A_1Kq_Cq_Cq_Ja_xs_1_1Ja_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[993])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31121, 94};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_mode, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cymode, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[994] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamBeginCapture, __pyx_k_23P_xs_1_1Ja_3aq_3axq_Q_t1_1Kq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[994])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31174, 779};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_dependencyData, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_mode, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cydependencyData, __pyx_mstate->__pyx_n_u_cymode, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[995] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamBeginCaptureToGraph, __pyx_k_A_D_D_f_f_g_f_V_Zq_iq_6_c_1_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[995])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31278, 66};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_mode, __pyx_mstate->__pyx_n_u_cymode, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[996] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuThreadExchangeStreamCaptureMod, __pyx_k_67_0t1_8_t_a_avQ_N_6_4AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[996])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31349, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[997] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamEndCapture, __pyx_k_xs_1_1Ja_3aq_3axq_Q_7_5H_q_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[997])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31394, 113};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_captureStatus, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[998] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamIsCapturing, __pyx_k_xs_1_1Ja_3aq_3axq_Q_aq_t_a_avQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[998])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31454, 275};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_captureStatus_out, __pyx_mstate->__pyx_n_u_id_out, __pyx_mstate->__pyx_n_u_graph_out, __pyx_mstate->__pyx_n_u_cydependencies_out, __pyx_mstate->__pyx_n_u_pydependencies_out, __pyx_mstate->__pyx_n_u_numDependencies_out, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[999] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetCaptureInfo, __pyx_k_x_xs_1_1Ja_3aq_3axq_Q_Zq_WA_a_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[999])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31535, 364};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_captureStatus_out, __pyx_mstate->__pyx_n_u_id_out, __pyx_mstate->__pyx_n_u_graph_out, __pyx_mstate->__pyx_n_u_cydependencies_out, __pyx_mstate->__pyx_n_u_pydependencies_out, __pyx_mstate->__pyx_n_u_cyedgeData_out, __pyx_mstate->__pyx_n_u_pyedgeData_out, __pyx_mstate->__pyx_n_u_numDependencies_out, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1000] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetCaptureInfo_v3, __pyx_k_P_xs_1_1Ja_3aq_3axq_Q_Zq_WA_Q_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1000])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31632, 388};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1001] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamUpdateCaptureDependencie_3, __pyx_k_X_6_c_1_iq_xs_1_1Ja_3aq_3axq_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1001])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31705, 549};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_dependencyData, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cydependencyData, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1002] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamUpdateCaptureDependencie_4, __pyx_k_B_E_E_F_T_V_Zq_iq_6_c_1_iq_xs_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1002])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31789, 143};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_length, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1003] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamAttachMemAsync, __pyx_k_v_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1003])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31899, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1004] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamQuery, __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_nAQ_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1004])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31937, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1005] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamSynchronize, __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1005])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31974, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1006] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamDestroy, __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_aq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1006])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32012, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dst_2, __pyx_mstate->__pyx_n_u_src_2, __pyx_mstate->__pyx_n_u_cysrc, __pyx_mstate->__pyx_n_u_psrc, __pyx_mstate->__pyx_n_u_cydst, __pyx_mstate->__pyx_n_u_pdst, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1007] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamCopyAttributes, __pyx_k_0_t3a_q_1F_s_1_s_81A_z_t3a_q_1F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1007])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32055, 132};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_attr, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyattr, __pyx_mstate->__pyx_n_u_value_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1008] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetAttribute, __pyx_k_232_xs_1_1Ja_3aq_3axq_Q_a_8_1Kx, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1008])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32096, 114};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_attr, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyattr, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1009] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamSetAttribute, __pyx_k_2J_4_xs_1_1Ja_3aq_3axq_Q_a_35_V, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1009])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32136, 62};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1010] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventCreate, __pyx_k_R_7_nA_8_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1010])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32184, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1011] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventRecord, __pyx_k_L_xs_1_1Ja_3aq_3axq_Q_wc_1IQ_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1011])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32241, 141};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1012] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventRecordWithFlags, __pyx_k_xs_1_1Ja_3aq_3axq_Q_wc_1IQ_Qa_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1012])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32308, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1013] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventQuery, __pyx_k_wc_1IQ_Qa_QgQa_1_m1A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1013])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32350, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1014] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventSynchronize, __pyx_k_wc_1IQ_Qa_QgQa_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1014])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32391, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1015] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventDestroy, __pyx_k_6_wc_1IQ_Qa_QgQa_1_oQa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1015])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32429, 170};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStart, __pyx_mstate->__pyx_n_u_hEnd, __pyx_mstate->__pyx_n_u_cyhEnd, __pyx_mstate->__pyx_n_u_phEnd, __pyx_mstate->__pyx_n_u_cyhStart, __pyx_mstate->__pyx_n_u_phStart, __pyx_mstate->__pyx_n_u_pMilliseconds, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1016] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventElapsedTime, __pyx_k_uCq_1G1_1A_1G1A_z_wc_1IQ_Qa_QgQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1016])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32499, 170};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStart, __pyx_mstate->__pyx_n_u_hEnd, __pyx_mstate->__pyx_n_u_cyhEnd, __pyx_mstate->__pyx_n_u_phEnd, __pyx_mstate->__pyx_n_u_cyhStart, __pyx_mstate->__pyx_n_u_phStart, __pyx_mstate->__pyx_n_u_pMilliseconds, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1017] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventElapsedTime_v2, __pyx_k_uCq_1G1_1A_1G1A_z_wc_1IQ_Qa_QgQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1017])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32569, 97};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_memHandleDesc, __pyx_mstate->__pyx_n_u_extMem_out, __pyx_mstate->__pyx_n_u_cymemHandleDesc_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1018] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuImportExternalMemory, __pyx_k_7q_J_Wddrry_z_D_D_E_Q_J_T___t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1018])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32722, 147};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_extMem, __pyx_mstate->__pyx_n_u_bufferDesc, __pyx_mstate->__pyx_n_u_cyextMem, __pyx_mstate->__pyx_n_u_pextMem, __pyx_mstate->__pyx_n_u_devPtr_2, __pyx_mstate->__pyx_n_u_cybufferDesc_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1019] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuExternalMemoryGetMappedBuffer, __pyx_k_9_f_wc_1IQ_Qa_Q_aq_A_k_GzQ_iipp, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1019])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32789, 158};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_extMem, __pyx_mstate->__pyx_n_u_mipmapDesc, __pyx_mstate->__pyx_n_u_cyextMem, __pyx_mstate->__pyx_n_u_pextMem, __pyx_mstate->__pyx_n_u_mipmap_2, __pyx_mstate->__pyx_n_u_cymipmapDesc_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1020] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuExternalMemoryGetMappedMipmapp, __pyx_k_ABl_wc_1IQ_Qa_Q_aq_A_31_PPZZggr, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1020])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32859, 82};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_extMem, __pyx_mstate->__pyx_n_u_cyextMem, __pyx_mstate->__pyx_n_u_pextMem, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1021] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDestroyExternalMemory, __pyx_k_0_wc_1IQ_Qa_Q_aq_A_aq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1021])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32894, 98};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_semHandleDesc, __pyx_mstate->__pyx_n_u_extSem_out, __pyx_mstate->__pyx_n_u_cysemHandleDesc_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1022] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuImportExternalSemaphore, __pyx_k_V_Q_M_Zgguu_G_G_H_0_1PPZZeef_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1022])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33042, 663};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_extSemArray_2, __pyx_mstate->__pyx_n_u_paramsArray_2, __pyx_mstate->__pyx_n_u_numExtSems_2, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_cyextSemArray, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyparamsArray, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1023] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuSignalExternalSemaphoresAsync_2, __pyx_k_3C_C_D_z_wc_1IQ_Qa_Qhaq_A_Cz_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1023])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33178, 661};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_extSemArray_2, __pyx_mstate->__pyx_n_u_paramsArray_2, __pyx_mstate->__pyx_n_u_numExtSems_2, __pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_cyextSemArray, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyparamsArray, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1024] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuWaitExternalSemaphoresAsync, __pyx_k_1A_A_B_h_wc_1IQ_Qa_Qhaq_A_Cz_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1024])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33305, 82};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_extSem, __pyx_mstate->__pyx_n_u_cyextSem, __pyx_mstate->__pyx_n_u_pextSem, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1025] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDestroyExternalSemaphore, __pyx_k_wc_1IQ_Qa_Q_Zq_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1025])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33339, 198};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_addr, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_pvalue, __pyx_mstate->__pyx_n_u_cyaddr, __pyx_mstate->__pyx_n_u_paddr, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1026] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamWaitValue32, __pyx_k_X_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1026])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33410, 198};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_addr, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_pvalue, __pyx_mstate->__pyx_n_u_cyaddr, __pyx_mstate->__pyx_n_u_paddr, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1027] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamWaitValue64, __pyx_k_T_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1027])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33479, 198};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_addr, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_pvalue, __pyx_mstate->__pyx_n_u_cyaddr, __pyx_mstate->__pyx_n_u_paddr, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1028] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamWriteValue32, __pyx_k_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1Kq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1028])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33538, 198};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_addr, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_pvalue, __pyx_mstate->__pyx_n_u_cyaddr, __pyx_mstate->__pyx_n_u_paddr, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1029] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamWriteValue64, __pyx_k_D_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1029])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33599, 362};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_paramArray_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_cyparamArray, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1030] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamBatchMemOp, __pyx_k_AT_Zq_iq_wc_1IQ_Qa_Qhaq_A_vRs_l, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1030])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33669, 125};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_pi, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1031] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncGetAttribute, __pyx_k_j_vS_1HA_AQ_AZq_Q_2_4z_t_a_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1031])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33802, 96};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1032] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncSetAttribute, __pyx_k_01_vS_1HA_AQ_AZq_Q_2_Q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1032])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33893, 94};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_config, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_cyconfig, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1033] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncSetCacheConfig, __pyx_k_23d_vS_1HA_AQ_AZq_Q_1IQ_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1033])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33956, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_hmod, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1034] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncGetModule, __pyx_k_6_vS_1HA_AQ_AZq_Q_a_4_t_a_avQ_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1034])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 33997, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1035] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncGetName, __pyx_k_2_vS_1HA_AQ_AZq_Q_A_nAQfA_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1035])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34036, 128};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_paramIndex, __pyx_mstate->__pyx_n_u_cyfunc, __pyx_mstate->__pyx_n_u_pfunc, __pyx_mstate->__pyx_n_u_paramOffset, __pyx_mstate->__pyx_n_u_paramSize, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1036] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncGetParamInfo, __pyx_k_J_uCq_1G1_1A_1Jaq_A_a_A_a_AQ_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1036])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34088, 111};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_function_2, __pyx_mstate->__pyx_n_u_cyfunction, __pyx_mstate->__pyx_n_u_pfunction, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1037] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncIsLoaded, __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_oQawa_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1037])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34125, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_function_2, __pyx_mstate->__pyx_n_u_cyfunction, __pyx_mstate->__pyx_n_u_pfunction, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1038] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncLoad, __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_k_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1038])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {11, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34158, 202};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_gridDimX_2, __pyx_mstate->__pyx_n_u_gridDimY_2, __pyx_mstate->__pyx_n_u_gridDimZ_2, __pyx_mstate->__pyx_n_u_blockDimX_2, __pyx_mstate->__pyx_n_u_blockDimY_2, __pyx_mstate->__pyx_n_u_blockDimZ_2, __pyx_mstate->__pyx_n_u_sharedMemBytes_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_kernelParams, __pyx_mstate->__pyx_n_u_extra_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyf, __pyx_mstate->__pyx_n_u_pf, __pyx_mstate->__pyx_n_u_cykernelParams, __pyx_mstate->__pyx_n_u_cykernelParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1039] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLaunchKernel, __pyx_k_Z_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1039])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34288, 133};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_config, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_kernelParams, __pyx_mstate->__pyx_n_u_extra_2, __pyx_mstate->__pyx_n_u_cyf, __pyx_mstate->__pyx_n_u_pf, __pyx_mstate->__pyx_n_u_cyconfig_ptr, __pyx_mstate->__pyx_n_u_cykernelParams, __pyx_mstate->__pyx_n_u_cykernelParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1040] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLaunchKernelEx, __pyx_k_r_A_Q_1D_S_S_1A_z_1_G7R_XZ_Q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1040])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {10, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34526, 194};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_gridDimX_2, __pyx_mstate->__pyx_n_u_gridDimY_2, __pyx_mstate->__pyx_n_u_gridDimZ_2, __pyx_mstate->__pyx_n_u_blockDimX_2, __pyx_mstate->__pyx_n_u_blockDimY_2, __pyx_mstate->__pyx_n_u_blockDimZ_2, __pyx_mstate->__pyx_n_u_sharedMemBytes_2, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_kernelParams, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyf, __pyx_mstate->__pyx_n_u_pf, __pyx_mstate->__pyx_n_u_cykernelParams, __pyx_mstate->__pyx_n_u_cykernelParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1041] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLaunchCooperativeKernel, __pyx_k_r_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1041])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34636, 327};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_launchParamsList, __pyx_mstate->__pyx_n_u_numDevices_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cylaunchParamsList, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1042] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLaunchCooperativeKernelMultiDe_2, __pyx_k_n_v_c_1_iq_1_s_Rq_F_3aGZZ_c_Q_J, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1042])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34820, 239};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_fn_2, __pyx_mstate->__pyx_n_u_userData_2, __pyx_mstate->__pyx_n_u_cyfn, __pyx_mstate->__pyx_n_u_pfn, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyuserData, __pyx_mstate->__pyx_n_u_cyuserData_ptr, __pyx_mstate->__pyx_n_u_cbData, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1043] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLaunchHostFunc, __pyx_k_s_Q_a_1E_c_c_1_j_xs_1_1Ja_3aq_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1043])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34913, 87};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_y_2, __pyx_mstate->__pyx_n_u_z_2, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1044] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncSetBlockShape, __pyx_k_vS_1HA_AQ_AZq_Q_9Cs_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1044])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34954, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_numbytes, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1045] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncSetSharedSize, __pyx_k_6_vS_1HA_AQ_AZq_Q_9A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1045])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34992, 82};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_numbytes, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1046] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuParamSetSize, __pyx_k_4_vS_1HA_AQ_AZq_Q_oQiq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1046])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35029, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_offset_2, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1047] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuParamSeti, __pyx_k_vS_1HA_AQ_AZq_Q_l_9HA_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1047])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35069, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_offset_2, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1048] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuParamSetf, __pyx_k_vS_1HA_AQ_AZq_Q_l_9HA_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1048])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35109, 107};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_offset_2, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_numbytes, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_cyptr_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1049] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuParamSetv, __pyx_k_vS_1HA_AQ_AZq_Q_q_7_E_l_9HKq_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1049])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35153, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cyf, __pyx_mstate->__pyx_n_u_pf, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1050] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLaunch, __pyx_k_J_r_A_Q_1D_S_S_1A_z_iq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1050])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35201, 85};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_grid_width, __pyx_mstate->__pyx_n_u_grid_height, __pyx_mstate->__pyx_n_u_cyf, __pyx_mstate->__pyx_n_u_pf, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1051] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLaunchGrid, __pyx_k_R_r_A_Q_1D_S_S_1A_z_m1E_Q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1051])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35253, 143};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_grid_width, __pyx_mstate->__pyx_n_u_grid_height, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyf, __pyx_mstate->__pyx_n_u_pf, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1052] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLaunchGridAsync, __pyx_k_b_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1052])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35321, 140};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_texunit, __pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1053] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuParamSetTexRef, __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_vS_1HA_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1053])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35367, 94};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hfunc, __pyx_mstate->__pyx_n_u_config, __pyx_mstate->__pyx_n_u_cyhfunc, __pyx_mstate->__pyx_n_u_phfunc, __pyx_mstate->__pyx_n_u_cyconfig, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1054] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuFuncSetSharedMemConfig, __pyx_k_67r_vS_1HA_AQ_AZq_Q_F_q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1054])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35437, 61};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1055] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphCreate, __pyx_k_7_nA_8_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1055])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35466, 462};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1056] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddKernelNode, __pyx_k_1H_H_I_p_6_c_1_iq_wc_1IQ_Qa_QgQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1056])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35587, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1057] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphKernelNodeGetParams, __pyx_k_vS_1HA_AQ_A_Ja_EQ_1_hhi_t_a_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1057])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35633, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1058] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphKernelNodeSetParams, __pyx_k_34_vS_1HA_AQ_A_Ja_j_U_ggqqr_1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1058])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35668, 523};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_copyParams_2, __pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cycopyParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1059] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddMemcpyNode, __pyx_k_1H_H_I_t3a_q_1F_s_1_s_9AQ_6_c_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1059])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35756, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1060] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphMemcpyNodeGetParams, __pyx_k_vS_1HA_AQ_A_Ja_M_1_TT___t_a_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1060])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35793, 104};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1061] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphMemcpyNodeSetParams, __pyx_k_34_vS_1HA_AQ_A_Ja_4Jm_V_ggh_1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1061])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35828, 524};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_memsetParams, __pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cymemsetParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1062] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddMemsetNode, __pyx_k_1J_J_K_L_t3a_q_1F_s_1_s_9AQ_6_c, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1062])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35906, 120};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1063] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphMemsetNodeGetParams, __pyx_k_vS_1HA_AQ_A_Ja_EQ_1_hhi_t_a_avQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1063])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35943, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1064] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphMemsetNodeSetParams, __pyx_k_34_vS_1HA_AQ_A_Ja_j_U_ggqqr_1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1064])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35978, 462};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1065] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddHostNode, __pyx_k_F_F_G_F_6_c_1_iq_wc_1IQ_Qa_QgQa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1065])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36046, 120};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1066] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphHostNodeGetParams, __pyx_k_vS_1HA_AQ_A_Ja_A_q_9ZZdde_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1066])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36083, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1067] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphHostNodeSetParams, __pyx_k_12_vS_1HA_AQ_A_Ja_JmS_eeoop_q_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1067])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36118, 489};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_childGraph, __pyx_mstate->__pyx_n_u_cychildGraph, __pyx_mstate->__pyx_n_u_pchildGraph, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1068] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddChildGraphNode, __pyx_k_45N_Q_a_1M_c_c_Zq_6_c_1_iq_wc_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1068])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36196, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1069] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphChildGraphNodeGetGraph, __pyx_k_8_vS_1HA_AQ_A_Ja_7_4AY_QQXXY_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1069])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36238, 422};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1070] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddEmptyNode, __pyx_k_0H_6_c_1_iq_wc_1IQ_Qa_QgQa_1_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1070])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36306, 489};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_event_2, __pyx_mstate->__pyx_n_u_cyevent, __pyx_mstate->__pyx_n_u_pevent, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1071] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddEventRecordNode, __pyx_k_56H_vS_1HA_AQ_AWAQ_6_c_1_iq_wc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1071])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36381, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_event_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1072] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphEventRecordNodeGetEvent, __pyx_k_vS_1HA_AQ_A_Ja_WA_5Qi_RR_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1072])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36418, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_event_2, __pyx_mstate->__pyx_n_u_cyevent, __pyx_mstate->__pyx_n_u_pevent, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1073] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphEventRecordNodeSetEvent, __pyx_k_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1073])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36460, 489};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_event_2, __pyx_mstate->__pyx_n_u_cyevent, __pyx_mstate->__pyx_n_u_pevent, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1074] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddEventWaitNode, __pyx_k_34L_vS_1HA_AQ_AWAQ_6_c_1_iq_wc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1074])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36537, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_event_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1075] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphEventWaitNodeGetEvent, __pyx_k_vS_1HA_AQ_A_Ja_WA_31I_PPYYZ_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1075])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36574, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_event_2, __pyx_mstate->__pyx_n_u_cyevent, __pyx_mstate->__pyx_n_u_pevent, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1076] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphEventWaitNodeSetEvent, __pyx_k_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1076])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36616, 470};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1077] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddExternalSemaphoresSign_2, __pyx_k_C_Z_Z_H_6_c_1_iq_wc_1IQ_Qa_QgQa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1077])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36685, 129};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_params_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1078] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExternalSemaphoresSignalN, __pyx_k_vS_1HA_AQ_A_Ja_66UUV_C1IMx_y_C, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1078])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36728, 106};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1079] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExternalSemaphoresSignalN_2, __pyx_k_EF_vS_1HA_AQ_A_Ja_FjP_hhooyyz_C, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1079])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36764, 469};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1080] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddExternalSemaphoresWait_2, __pyx_k_A_X_X_Y_H_6_c_1_iq_wc_1IQ_Qa_Qg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1080])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36833, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_params_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1081] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExternalSemaphoresWaitNod, __pyx_k_vS_1HA_AQ_A_Ja_44QQR_A_Ktt_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1081])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36876, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1082] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExternalSemaphoresWaitNod_2, __pyx_k_CD_vS_1HA_AQ_A_Ja_DJm_ffmmwwx_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1082])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36912, 463};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1083] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddBatchMemOpNode, __pyx_k_5L_L_M_N_6_c_1_iq_wc_1IQ_Qa_QgQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1083])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36984, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_nodeParams_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1084] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphBatchMemOpNodeGetParams, __pyx_k_8_vS_1HA_AQ_A_Ja_88UUV_5Qi_hhvv, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1084])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37026, 105};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1085] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphBatchMemOpNodeSetParams, __pyx_k_782_vS_1HA_AQ_A_Ja_DJm_ffmmwwx, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1085])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37064, 164};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1086] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecBatchMemOpNodeSetPara, __pyx_k_GH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1086])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37132, 463};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1087] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddMemAllocNode, __pyx_k_3J_J_K_X_6_c_1_iq_wc_1IQ_Qa_QgQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1087])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37241, 120};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_params_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1088] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphMemAllocNodeGetParams, __pyx_k_4_vS_1HA_AQ_A_Ja_11K1_31I_ccmmn, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1088])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37281, 488};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1089] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddMemFreeNode, __pyx_k_12l_uCq_1G1_1A_1Kq_Q_6_c_1_iq_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1089])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37374, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_dptr_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1090] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphMemFreeNodeGetParams, __pyx_k_vS_1HA_AQ_A_Ja_1_2_9_SS_t_a_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1090])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37411, 79};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1091] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGraphMemTrim, __pyx_k_wc_1IQ_Qa_Qhaq_1A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1091])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37445, 150};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_attr, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_cyattr, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1092] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetGraphMemAttribute, __pyx_k_9_N_wc_1IQ_Qa_Qhaq_0_A_J_6QTT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1092])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37501, 124};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_attr, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_cyattr, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1093] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceSetGraphMemAttribute, __pyx_k_9_wc_1IQ_Qa_Qhaq_0_A_J_6QXXbbc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1093])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37548, 118};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_originalGraph, __pyx_mstate->__pyx_n_u_cyoriginalGraph, __pyx_mstate->__pyx_n_u_poriginalGraph, __pyx_mstate->__pyx_n_u_phGraphClone, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1094] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphClone, __pyx_k_B_S_1_A_AQ_AWAQ_q_m1_7_a_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1094])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37595, 178};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hOriginalNode, __pyx_mstate->__pyx_n_u_hClonedGraph, __pyx_mstate->__pyx_n_u_cyhClonedGraph, __pyx_mstate->__pyx_n_u_phClonedGraph, __pyx_mstate->__pyx_n_u_cyhOriginalNode, __pyx_mstate->__pyx_n_u_phOriginalNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1095] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeFindInClone, __pyx_k_Cq_1O1_1A_1G1A_z_S_1_A_AQ_A_Ja, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1095])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37649, 111};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_typename, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1096] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeGetType, __pyx_k_vS_1HA_AQ_A_Ja_1A_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1096])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37686, 264};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_numNodes, __pyx_mstate->__pyx_n_u_graph_length, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cynodes, __pyx_mstate->__pyx_n_u_pynodes, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1097] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphGetNodes, __pyx_k_wc_1IQ_Qa_QgQa_1_a_S_q_q_83a_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1097])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37742, 265};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_numRootNodes, __pyx_mstate->__pyx_n_u_graph_length, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyrootNodes, __pyx_mstate->__pyx_n_u_pyrootNodes, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1098] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphGetRootNodes, __pyx_k_wc_1IQ_Qa_QgQa_1_Q_S_V1O1_s_Q_J, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1098])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37798, 412};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_numEdges, __pyx_mstate->__pyx_n_u_graph_length, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyfrom, __pyx_mstate->__pyx_n_u_pyfrom, __pyx_mstate->__pyx_n_u_cyto, __pyx_mstate->__pyx_n_u_pyto, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1099] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphGetEdges, __pyx_k_D_wc_1IQ_Qa_QgQa_1_a_S_q_q_83a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1099])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37868, 565};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_numEdges, __pyx_mstate->__pyx_n_u_graph_length, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyfrom, __pyx_mstate->__pyx_n_u_pyfrom, __pyx_mstate->__pyx_n_u_cyto, __pyx_mstate->__pyx_n_u_pyto, __pyx_mstate->__pyx_n_u_cyedgeData, __pyx_mstate->__pyx_n_u_pyedgeData, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1100] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphGetEdges_v2, __pyx_k_R_wc_1IQ_Qa_QgQa_1_a_S_q_q_83a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1100])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 37955, 269};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_graph_length, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_pydependencies, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1101] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeGetDependencies, __pyx_k_vS_1HA_AQ_A_Ja_0_Q_S_0_a_a_Q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1101])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38012, 424};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_graph_length, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_pydependencies, __pyx_mstate->__pyx_n_u_cyedgeData, __pyx_mstate->__pyx_n_u_pyedgeData, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1102] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeGetDependencies_v2, __pyx_k_L_vS_1HA_AQ_A_Ja_0_Q_S_0_a_a_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1102])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38086, 273};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_numDependentNodes, __pyx_mstate->__pyx_n_u_graph_length, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cydependentNodes, __pyx_mstate->__pyx_n_u_pydependentNodes, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1103] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeGetDependentNodes, __pyx_k_vS_1HA_AQ_A_Ja_2_q_S_2_Cq_Q_J_C, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1103])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38143, 428};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_numDependentNodes, __pyx_mstate->__pyx_n_u_graph_length, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cydependentNodes, __pyx_mstate->__pyx_n_u_pydependentNodes, __pyx_mstate->__pyx_n_u_cyedgeData, __pyx_mstate->__pyx_n_u_pyedgeData, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1104] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeGetDependentNodes_v2, __pyx_k_L_vS_1HA_AQ_A_Ja_2_q_S_2_Cq_Q_J, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1104])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38217, 521};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_from, __pyx_mstate->__pyx_n_u_to, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyfrom, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyto, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1105] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddDependencies, __pyx_k_bbc_s_Zq_iq_F_Q_iq_wc_1IQ_Qa_Qg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1105])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38290, 749};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_from, __pyx_mstate->__pyx_n_u_to, __pyx_mstate->__pyx_n_u_edgeData, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyfrom, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyto, __pyx_mstate->__pyx_n_u_cyedgeData, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1106] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddDependencies_v2, __pyx_k_e_f_c_c_d_B_vYc_1_iq_s_Zq_iq_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1106])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38380, 522};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_from, __pyx_mstate->__pyx_n_u_to, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyfrom, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyto, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1107] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphRemoveDependencies, __pyx_k_eefD_s_Zq_iq_F_Q_iq_wc_1IQ_Qa_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1107])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38457, 749};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_from, __pyx_mstate->__pyx_n_u_to, __pyx_mstate->__pyx_n_u_edgeData, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyfrom, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyto, __pyx_mstate->__pyx_n_u_cyedgeData, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1108] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphRemoveDependencies_v2, __pyx_k_1h_i_f_f_g_N_vYc_1_iq_s_Zq_iq_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1108])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38553, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1109] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphDestroyNode, __pyx_k_2_vS_1HA_AQ_A_Ja_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1109])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38589, 122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1110] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphInstantiate, __pyx_k_p_wc_1IQ_Qa_QgQa_1_a_A_KWaab_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1110])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38691, 159};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_instantiateParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cyinstantiateParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1111] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphInstantiateWithParams, __pyx_k_wc_1IQ_Qa_QgQa_1_a_KK_ii_C_C_M, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1111])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38834, 118};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1112] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecGetFlags, __pyx_k_4_Q_a_1M_c_c_Qa_1_Ja_9OuTU_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1112])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38874, 163};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1113] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecKernelNodeSetParams, __pyx_k_CDr_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1113])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38952, 221};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_copyParams_2, __pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cycopyParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1114] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecMemcpyNodeSetParams, __pyx_k_CDV_t3a_q_1F_s_1_s_9AQ_vS_1HA_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1114])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39024, 222};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_memsetParams, __pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cymemsetParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1115] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecMemsetNodeSetParams, __pyx_k_EF_t3a_q_1F_s_1_s_9AQ_vS_1HA_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1115])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39101, 162};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1116] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecHostNodeSetParams, __pyx_k_AB_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1116])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39153, 197};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_childGraph, __pyx_mstate->__pyx_n_u_cychildGraph, __pyx_mstate->__pyx_n_u_pchildGraph, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1117] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecChildGraphNodeSetPara, __pyx_k_P_Q_a_1M_c_c_Zq_vS_1HA_AQ_A_Ja, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1117])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39220, 197};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_event_2, __pyx_mstate->__pyx_n_u_cyevent, __pyx_mstate->__pyx_n_u_pevent, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1118] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecEventRecordNodeSetEve, __pyx_k_B_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1118])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39280, 196};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_event_2, __pyx_mstate->__pyx_n_u_cyevent, __pyx_mstate->__pyx_n_u_pevent, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1119] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecEventWaitNodeSetEvent, __pyx_k_B_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1119])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39340, 166};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1120] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecExternalSemaphoresSig, __pyx_k_UVH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1120])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39397, 165};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1121] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecExternalSemaphoresWai, __pyx_k_STH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1121])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39454, 141};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_isEnabled, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1122] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeSetEnabled, __pyx_k_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1122])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39520, 170};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_isEnabled, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1123] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeGetEnabled, __pyx_k_H_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1123])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39578, 137};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1124] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphUpload, __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1124])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39624, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1125] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphLaunch, __pyx_k_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c_c, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1125])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39675, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1126] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecDestroy, __pyx_k_Q_a_1M_c_c_Qa_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1126])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39709, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1127] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphDestroy, __pyx_k_wc_1IQ_Qa_QgQa_1_oQa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1127])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39741, 178};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_resultInfo, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1128] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecUpdate, __pyx_k_v_wc_1IQ_Qa_QgQa_1_Q_a_1M_c_c_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1128])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39918, 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dst_2, __pyx_mstate->__pyx_n_u_src_2, __pyx_mstate->__pyx_n_u_cysrc, __pyx_mstate->__pyx_n_u_psrc, __pyx_mstate->__pyx_n_u_cydst, __pyx_mstate->__pyx_n_u_pdst, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1129] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphKernelNodeCopyAttributes, __pyx_k_2_t3a_q_1F_s_1_s_aq_A_t3a_q_1F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1129])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 39962, 132};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_attr, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyattr, __pyx_mstate->__pyx_n_u_value_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1130] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphKernelNodeGetAttribute, __pyx_k_9_2_vS_1HA_AQ_A_Ja_d_4AYhFggppq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1130])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40003, 115};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_attr, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyattr, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1131] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphKernelNodeSetAttribute, __pyx_k_9UUV2_vS_1HA_AQ_A_Ja_d_7uM_wV_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1131])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40042, 85};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_path, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1132] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphDebugDotPrint, __pyx_k_4_wc_1IQ_Qa_QgQa_1_1JfA_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1132])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40079, 149};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_destroy, __pyx_mstate->__pyx_n_u_initialRefcount, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cydestroy, __pyx_mstate->__pyx_n_u_pdestroy, __pyx_mstate->__pyx_n_u_object_out, __pyx_mstate->__pyx_n_u_cyptr, __pyx_mstate->__pyx_n_u_cyptr_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1133] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuUserObjectCreate, __pyx_k_V_xs_1_1Ja_3aq_3axq_Q_q_q_7_E_B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1133])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40138, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_object, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_cyobject, __pyx_mstate->__pyx_n_u_pobject, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1134] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuUserObjectRetain, __pyx_k_8_wc_1IQ_Qa_Ql_1_j_A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1134])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40177, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_object, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_cyobject, __pyx_mstate->__pyx_n_u_pobject, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1135] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuUserObjectRelease, __pyx_k_wc_1IQ_Qa_Ql_1_j_Q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1135])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40219, 143};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_graph_2, __pyx_mstate->__pyx_n_u_object, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyobject, __pyx_mstate->__pyx_n_u_pobject, __pyx_mstate->__pyx_n_u_cygraph, __pyx_mstate->__pyx_n_u_pgraph, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1136] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphRetainUserObject, __pyx_k_D_wc_1IQ_Qa_Ql_1_j_vS_1HA_AQ_AW, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1136])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40272, 140};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_graph_2, __pyx_mstate->__pyx_n_u_object, __pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_cyobject, __pyx_mstate->__pyx_n_u_pobject, __pyx_mstate->__pyx_n_u_cygraph, __pyx_mstate->__pyx_n_u_pgraph, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1137] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphReleaseUserObject, __pyx_k_wc_1IQ_Qa_Ql_1_j_vS_1HA_AQ_AWAQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1137])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40320, 452};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1138] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddNode, __pyx_k_B_B_C_X_6_c_1_iq_wc_1IQ_Qa_QgQa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1138])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40397, 778};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_dependencies, __pyx_mstate->__pyx_n_u_dependencyData, __pyx_mstate->__pyx_n_u_numDependencies, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_phGraphNode, __pyx_mstate->__pyx_n_u_cydependencies, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cydependencyData, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1139] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphAddNode_v2, __pyx_k_p_q_P_P_Q_V_Zq_iq_6_c_1_iq_wc_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1139])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40492, 104};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1140] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphNodeSetParams, __pyx_k_8_vS_1HA_AQ_A_Ja_8_Zaakkl_1IQ_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1140])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40533, 162};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraphExec, __pyx_mstate->__pyx_n_u_hNode, __pyx_mstate->__pyx_n_u_nodeParams, __pyx_mstate->__pyx_n_u_cyhNode, __pyx_mstate->__pyx_n_u_phNode, __pyx_mstate->__pyx_n_u_cyhGraphExec, __pyx_mstate->__pyx_n_u_phGraphExec, __pyx_mstate->__pyx_n_u_cynodeParams_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1141] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphExecNodeSetParams, __pyx_k_H_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1141])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40590, 198};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hGraph, __pyx_mstate->__pyx_n_u_ctx_2, __pyx_mstate->__pyx_n_u_defaultLaunchValue, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyctx, __pyx_mstate->__pyx_n_u_pctx, __pyx_mstate->__pyx_n_u_cyhGraph, __pyx_mstate->__pyx_n_u_phGraph, __pyx_mstate->__pyx_n_u_pHandle_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1142] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphConditionalHandleCreate, __pyx_k_P_t3a_q_1F_s_1_s_9AQ_wc_1IQ_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1142])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40652, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_blockSize, __pyx_mstate->__pyx_n_u_dynamicSMemSize, __pyx_mstate->__pyx_n_u_cyfunc, __pyx_mstate->__pyx_n_u_pfunc, __pyx_mstate->__pyx_n_u_numBlocks, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1143] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuOccupancyMaxActiveBlocksPerMul, __pyx_k_D_uCq_1G1_1A_1Jaq_A_B_1KxWbbc_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1143])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40700, 123};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_blockSize, __pyx_mstate->__pyx_n_u_dynamicSMemSize, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyfunc, __pyx_mstate->__pyx_n_u_pfunc, __pyx_mstate->__pyx_n_u_numBlocks, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1144] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuOccupancyMaxActiveBlocksPerMul_2, __pyx_k_h_uCq_1G1_1A_1Jaq_A_K1A_X_kk_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1144])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40766, 202};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_blockSizeToDynamicSMemSize, __pyx_mstate->__pyx_n_u_dynamicSMemSize, __pyx_mstate->__pyx_n_u_blockSizeLimit, __pyx_mstate->__pyx_n_u_cyblockSizeToDynamicSMemSize, __pyx_mstate->__pyx_n_u_pblockSizeToDynamicSMemSize, __pyx_mstate->__pyx_n_u_cyfunc, __pyx_mstate->__pyx_n_u_pfunc, __pyx_mstate->__pyx_n_u_minGridSize, __pyx_mstate->__pyx_n_u_blockSize, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1145] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuOccupancyMaxPotentialBlockSize, __pyx_k_z_Q_a_1_1_c_c_AQ_uCq_1G1_1A_1Ja, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1145])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40850, 214};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_blockSizeToDynamicSMemSize, __pyx_mstate->__pyx_n_u_dynamicSMemSize, __pyx_mstate->__pyx_n_u_blockSizeLimit, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyblockSizeToDynamicSMemSize, __pyx_mstate->__pyx_n_u_pblockSizeToDynamicSMemSize, __pyx_mstate->__pyx_n_u_cyfunc, __pyx_mstate->__pyx_n_u_pfunc, __pyx_mstate->__pyx_n_u_minGridSize, __pyx_mstate->__pyx_n_u_blockSize, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1146] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuOccupancyMaxPotentialBlockSize_2, __pyx_k_x_Q_a_1_1_c_c_AQ_uCq_1G1_1A_1Ja, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1146])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40933, 120};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_numBlocks, __pyx_mstate->__pyx_n_u_blockSize, __pyx_mstate->__pyx_n_u_cyfunc, __pyx_mstate->__pyx_n_u_pfunc, __pyx_mstate->__pyx_n_u_dynamicSmemSize, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1147] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuOccupancyAvailableDynamicSMemP, __pyx_k_uCq_1G1_1A_1Jaq_A_aq_QQYYdde_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1147])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40977, 136};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_config, __pyx_mstate->__pyx_n_u_cyfunc, __pyx_mstate->__pyx_n_u_pfunc, __pyx_mstate->__pyx_n_u_clusterSize, __pyx_mstate->__pyx_n_u_cyconfig_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1148] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuOccupancyMaxPotentialClusterSi, __pyx_k_67R_uCq_1G1_1A_1Jaq_A_1_1_G7R_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1148])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41034, 135};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_config, __pyx_mstate->__pyx_n_u_cyfunc, __pyx_mstate->__pyx_n_u_pfunc, __pyx_mstate->__pyx_n_u_numClusters, __pyx_mstate->__pyx_n_u_cyconfig_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1149] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuOccupancyMaxActiveClusters, __pyx_k_01R_uCq_1G1_1A_1Jaq_A_1_1_G7R_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1149])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41091, 140};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_hArray_2, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cyhArray, __pyx_mstate->__pyx_n_u_phArray, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1150] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetArray, __pyx_k_wc_1IQ_Qa_QgQa_1_xs_1_1Ja_3aq_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1150])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41141, 144};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_hMipmappedArray_2, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cyhMipmappedArray, __pyx_mstate->__pyx_n_u_phMipmappedArray, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1151] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetMipmappedArray, __pyx_k_s_1_1_a_3aq_3a_q_3_Q_xs_1_1Ja_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1151])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41191, 172};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_numbytes, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_ByteOffset, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1152] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetAddress, __pyx_k_d_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1152])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41263, 163};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_dptr_2, __pyx_mstate->__pyx_n_u_Pitch, __pyx_mstate->__pyx_n_u_cydptr, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_cydesc_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1153] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetAddress2D, __pyx_k_r_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1153])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41341, 95};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_fmt, __pyx_mstate->__pyx_n_u_NumPackedComponents, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_cyfmt, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1154] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetFormat, __pyx_k_xs_1_1Ja_3aq_3axq_Q_A_G1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1154])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41384, 96};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_dim, __pyx_mstate->__pyx_n_u_am, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_cyam, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1155] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetAddressMode, __pyx_k_J_xs_1_1Ja_3aq_3axq_Q_Qk_a_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1155])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41434, 93};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_fm, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_cyfm, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1156] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetFilterMode, __pyx_k_12_xs_1_1Ja_3aq_3axq_Q_r_A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1156])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41478, 93};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_fm, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_cyfm, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1157] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetMipmapFilterMode, __pyx_k_78_xs_1_1Ja_3aq_3axq_Q_r_2_a_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1157])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41522, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_bias, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1158] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetMipmapLevelBias, __pyx_k_xs_1_1Ja_3aq_3axq_Q_1_Q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1158])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41563, 88};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_minMipmapLevelClamp_2, __pyx_mstate->__pyx_n_u_maxMipmapLevelClamp_2, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1159] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetMipmapLevelClamp, __pyx_k_xs_1_1Ja_3aq_3axq_Q_2_SST_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1159])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41606, 83};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_maxAniso, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1160] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetMaxAnisotropy, __pyx_k_xs_1_1Ja_3aq_3axq_Q_q_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1160])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41646, 86};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_pBorderColor, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1161] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetBorderColor, __pyx_k_D_xs_1_1Ja_3aq_3axq_Q_Qk_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1161])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41691, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1162] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefSetFlags, __pyx_k_X_xs_1_1Ja_3aq_3axq_Q_q_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1162])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41746, 118};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pdptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1163] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetAddress, __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_A_kQR_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1163])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41787, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_phArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1164] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetArray, __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_7_q_7_Q_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1164])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41828, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_phMipmappedArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1165] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetMipmappedArray, __pyx_k_8_xs_1_1Ja_3aq_3axq_Q_Q_0_1MM_h, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1165])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41870, 113};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_dim, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pam, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1166] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetAddressMode, __pyx_k_xs_1_1Ja_3aq_3axq_Q_QauKq_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1166])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41913, 111};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pfm, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1167] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetFilterMode, __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_AQe1_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1167])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41953, 124};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pFormat, __pyx_mstate->__pyx_n_u_pNumChannels, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1168] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetFormat, __pyx_k_xs_1_1Ja_3aq_3axq_Q_A_1N_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1168])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 41997, 111};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pfm, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1169] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetMipmapFilterMode, __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_2_1E_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1169])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42037, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pbias, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1170] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetMipmapLevelBias, __pyx_k_6_xs_1_1Ja_3aq_3axq_Q_q_1_7_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1170])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42078, 129};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pminMipmapLevelClamp, __pyx_mstate->__pyx_n_u_pmaxMipmapLevelClamp, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1171] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetMipmapLevelClamp, __pyx_k_xs_1_1Ja_3aq_3axq_Q_a_a_2_14J_K, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1171])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42122, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pmaxAniso, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1172] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetMaxAnisotropy, __pyx_k_4_xs_1_1Ja_3aq_3axq_Q_q_A_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1172])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42162, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pBorderColor, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1173] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetBorderColor, __pyx_k_xs_1_1Ja_3aq_3axq_Q_a_Qa_Q_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1173])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42205, 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_pFlags, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1174] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefGetFlags, __pyx_k_2_xs_1_1Ja_3aq_3axq_Q_q_q_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1174])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42244, 59};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1175] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefCreate, __pyx_k_0_HA_oQ_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1175])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42275, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hTexRef, __pyx_mstate->__pyx_n_u_cyhTexRef, __pyx_mstate->__pyx_n_u_phTexRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1176] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexRefDestroy, __pyx_k_xs_1_1Ja_3aq_3axq_Q_aq_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1176])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42309, 141};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hSurfRef, __pyx_mstate->__pyx_n_u_hArray_2, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cyhArray, __pyx_mstate->__pyx_n_u_phArray, __pyx_mstate->__pyx_n_u_cyhSurfRef, __pyx_mstate->__pyx_n_u_phSurfRef, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1177] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuSurfRefSetArray, __pyx_k_wc_1IQ_Qa_QgQa_1_y_1_A_1Kq_Cq_C, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1177])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42360, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hSurfRef, __pyx_mstate->__pyx_n_u_cyhSurfRef, __pyx_mstate->__pyx_n_u_phSurfRef, __pyx_mstate->__pyx_n_u_phArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1178] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuSurfRefGetArray, __pyx_k_6_y_1_A_1Kq_Cq_Cq_Zq_7_G_a_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1178])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42401, 134};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pResDesc, __pyx_mstate->__pyx_n_u_pTexDesc, __pyx_mstate->__pyx_n_u_pResViewDesc, __pyx_mstate->__pyx_n_u_pTexObject, __pyx_mstate->__pyx_n_u_cypResDesc_ptr, __pyx_mstate->__pyx_n_u_cypTexDesc_ptr, __pyx_mstate->__pyx_n_u_cypResViewDesc_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1179] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexObjectCreate, __pyx_k_JJvvwD_Q_7x_IU_ffg_6hm9T_eef_MY, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1179])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42638, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_texObject, __pyx_mstate->__pyx_n_u_cytexObject, __pyx_mstate->__pyx_n_u_ptexObject, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1180] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexObjectDestroy, __pyx_k_z_A_Q_1L_S_S_AQ_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1180])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42670, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_texObject, __pyx_mstate->__pyx_n_u_cytexObject, __pyx_mstate->__pyx_n_u_ptexObject, __pyx_mstate->__pyx_n_u_pResDesc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1181] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexObjectGetResourceDesc, __pyx_k_0_z_A_Q_1L_S_S_AQ_9_1_2PPXXccd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1181])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42708, 120};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_texObject, __pyx_mstate->__pyx_n_u_cytexObject, __pyx_mstate->__pyx_n_u_ptexObject, __pyx_mstate->__pyx_n_u_pTexDesc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1182] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexObjectGetTextureDesc, __pyx_k_0_z_A_Q_1L_S_S_AQ_7q_0_1NhVaab, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1182])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42746, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_texObject, __pyx_mstate->__pyx_n_u_cytexObject, __pyx_mstate->__pyx_n_u_ptexObject, __pyx_mstate->__pyx_n_u_pResViewDesc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1183] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTexObjectGetResourceViewDesc, __pyx_k_2_z_A_Q_1L_S_S_AQ_00Gq_5Q6YYeep, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1183])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42785, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pResDesc, __pyx_mstate->__pyx_n_u_pSurfObject, __pyx_mstate->__pyx_n_u_cypResDesc_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1184] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuSurfObjectCreate, __pyx_k_L_7x_IU_ffg_B_XY_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1184])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42825, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_surfObject, __pyx_mstate->__pyx_n_u_cysurfObject, __pyx_mstate->__pyx_n_u_psurfObject, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1185] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuSurfObjectDestroy, __pyx_k_Q_a_1M_c_c_aq_A_1_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1185])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42857, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_surfObject, __pyx_mstate->__pyx_n_u_cysurfObject, __pyx_mstate->__pyx_n_u_psurfObject, __pyx_mstate->__pyx_n_u_pResDesc, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1186] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuSurfObjectGetResourceDesc, __pyx_k_0_Q_a_1M_c_c_aq_A_9_2_3QQYYdde, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1186])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {11, 0, 0, 32, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42895, 1173};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_tensorDataType, __pyx_mstate->__pyx_n_u_tensorRank, __pyx_mstate->__pyx_n_u_globalAddress, __pyx_mstate->__pyx_n_u_globalDim, __pyx_mstate->__pyx_n_u_globalStrides, __pyx_mstate->__pyx_n_u_boxDim, __pyx_mstate->__pyx_n_u_elementStrides, __pyx_mstate->__pyx_n_u_interleave, __pyx_mstate->__pyx_n_u_swizzle, __pyx_mstate->__pyx_n_u_l2Promotion, __pyx_mstate->__pyx_n_u_oobFill, __pyx_mstate->__pyx_n_u_cytensorRank, __pyx_mstate->__pyx_n_u_ptensorRank, __pyx_mstate->__pyx_n_u_tensorMap, __pyx_mstate->__pyx_n_u_cytensorDataType, __pyx_mstate->__pyx_n_u_cyglobalAddress, __pyx_mstate->__pyx_n_u_cyglobalAddress_ptr, __pyx_mstate->__pyx_n_u_cyglobalDim, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyglobalStrides, __pyx_mstate->__pyx_n_u_cyboxDim, __pyx_mstate->__pyx_n_u_cyelementStrides, __pyx_mstate->__pyx_n_u_cyinterleave, __pyx_mstate->__pyx_n_u_cyswizzle, __pyx_mstate->__pyx_n_u_cyl2Promotion, __pyx_mstate->__pyx_n_u_cyoobFill, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1187] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTensorMapEncodeTiled, __pyx_k_5q_r_r_r_k_k_l_l_r_r_G_G_r_r_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1187])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {14, 0, 0, 41, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 43203, 1201};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_tensorDataType, __pyx_mstate->__pyx_n_u_tensorRank, __pyx_mstate->__pyx_n_u_globalAddress, __pyx_mstate->__pyx_n_u_globalDim, __pyx_mstate->__pyx_n_u_globalStrides, __pyx_mstate->__pyx_n_u_pixelBoxLowerCorner, __pyx_mstate->__pyx_n_u_pixelBoxUpperCorner, __pyx_mstate->__pyx_n_u_channelsPerPixel, __pyx_mstate->__pyx_n_u_pixelsPerColumn, __pyx_mstate->__pyx_n_u_elementStrides, __pyx_mstate->__pyx_n_u_interleave, __pyx_mstate->__pyx_n_u_swizzle, __pyx_mstate->__pyx_n_u_l2Promotion, __pyx_mstate->__pyx_n_u_oobFill, __pyx_mstate->__pyx_n_u_cypixelsPerColumn, __pyx_mstate->__pyx_n_u_ppixelsPerColumn, __pyx_mstate->__pyx_n_u_cychannelsPerPixel, __pyx_mstate->__pyx_n_u_pchannelsPerPixel, __pyx_mstate->__pyx_n_u_cytensorRank, __pyx_mstate->__pyx_n_u_ptensorRank, __pyx_mstate->__pyx_n_u_tensorMap, __pyx_mstate->__pyx_n_u_cytensorDataType, __pyx_mstate->__pyx_n_u_cyglobalAddress, __pyx_mstate->__pyx_n_u_cyglobalAddress_ptr, __pyx_mstate->__pyx_n_u_cyglobalDim, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyglobalStrides, __pyx_mstate->__pyx_n_u_cypixelBoxLowerCorner, __pyx_mstate->__pyx_n_u_cypixelBoxUpperCorner, __pyx_mstate->__pyx_n_u_cyelementStrides, __pyx_mstate->__pyx_n_u_cyinterleave, __pyx_mstate->__pyx_n_u_cyswizzle, __pyx_mstate->__pyx_n_u_cyl2Promotion, __pyx_mstate->__pyx_n_u_cyoobFill, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1188] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTensorMapEncodeIm2col, __pyx_k_6r_s_s_s_y_y_q_q_G_G_M_M_w_w_b, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1188])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {15, 0, 0, 39, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 43547, 1109};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_tensorDataType, __pyx_mstate->__pyx_n_u_tensorRank, __pyx_mstate->__pyx_n_u_globalAddress, __pyx_mstate->__pyx_n_u_globalDim, __pyx_mstate->__pyx_n_u_globalStrides, __pyx_mstate->__pyx_n_u_pixelBoxLowerCornerWidth, __pyx_mstate->__pyx_n_u_pixelBoxUpperCornerWidth, __pyx_mstate->__pyx_n_u_channelsPerPixel, __pyx_mstate->__pyx_n_u_pixelsPerColumn, __pyx_mstate->__pyx_n_u_elementStrides, __pyx_mstate->__pyx_n_u_interleave, __pyx_mstate->__pyx_n_u_mode, __pyx_mstate->__pyx_n_u_swizzle, __pyx_mstate->__pyx_n_u_l2Promotion, __pyx_mstate->__pyx_n_u_oobFill, __pyx_mstate->__pyx_n_u_cypixelsPerColumn, __pyx_mstate->__pyx_n_u_ppixelsPerColumn, __pyx_mstate->__pyx_n_u_cychannelsPerPixel, __pyx_mstate->__pyx_n_u_pchannelsPerPixel, __pyx_mstate->__pyx_n_u_cytensorRank, __pyx_mstate->__pyx_n_u_ptensorRank, __pyx_mstate->__pyx_n_u_tensorMap, __pyx_mstate->__pyx_n_u_cytensorDataType, __pyx_mstate->__pyx_n_u_cyglobalAddress, __pyx_mstate->__pyx_n_u_cyglobalAddress_ptr, __pyx_mstate->__pyx_n_u_cyglobalDim, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_cyglobalStrides, __pyx_mstate->__pyx_n_u_cyelementStrides, __pyx_mstate->__pyx_n_u_cyinterleave, __pyx_mstate->__pyx_n_u_cymode, __pyx_mstate->__pyx_n_u_cyswizzle, __pyx_mstate->__pyx_n_u_cyl2Promotion, __pyx_mstate->__pyx_n_u_cyoobFill, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1189] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTensorMapEncodeIm2colWide, __pyx_k_v_w_w_w_W_W_D_D_r_r_H_H_I_V_Zq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1189])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 43871, 71};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_tensorMap, __pyx_mstate->__pyx_n_u_globalAddress, __pyx_mstate->__pyx_n_u_cytensorMap_ptr, __pyx_mstate->__pyx_n_u_cyglobalAddress, __pyx_mstate->__pyx_n_u_cyglobalAddress_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1190] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuTensorMapReplaceAddress, __pyx_k_6_2_zQXXbbc_WJoQ_0_1B_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1190])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 43906, 165};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_peerDev, __pyx_mstate->__pyx_n_u_cypeerDev, __pyx_mstate->__pyx_n_u_ppeerDev, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_canAccessPeer, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1191] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceCanAccessPeer, __pyx_k_xs_1_1Ja_3aq_3axq_1_t3a_q_1F_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1191])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 43959, 84};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_peerContext, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cypeerContext, __pyx_mstate->__pyx_n_u_ppeerContext, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1192] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxEnablePeerAccess, __pyx_k_p_3a_q_1N_s_1_s_9AQ_A_A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1192])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44026, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_peerContext, __pyx_mstate->__pyx_n_u_cypeerContext, __pyx_mstate->__pyx_n_u_ppeerContext, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1193] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxDisablePeerAccess, __pyx_k_4_3a_q_1N_s_1_s_9AQ_Qa_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1193])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44063, 178};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_srcDevice_2, __pyx_mstate->__pyx_n_u_dstDevice_2, __pyx_mstate->__pyx_n_u_cydstDevice, __pyx_mstate->__pyx_n_u_pdstDevice, __pyx_mstate->__pyx_n_u_cysrcDevice, __pyx_mstate->__pyx_n_u_psrcDevice, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1194] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetP2PAttribute, __pyx_k_z_A_Q_1L_S_S_Q_z_A_Q_1L_S_S_Q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1194])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44134, 82};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_cyresource, __pyx_mstate->__pyx_n_u_presource, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1195] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsUnregisterResource, __pyx_k_2_y_1_A_1Kq_Cq_Cq_1_j_31A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1195])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44170, 127};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_arrayIndex, __pyx_mstate->__pyx_n_u_mipLevel, __pyx_mstate->__pyx_n_u_cyresource, __pyx_mstate->__pyx_n_u_presource, __pyx_mstate->__pyx_n_u_pArray_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1196] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsSubResourceGetMappedAr, __pyx_k_R_y_1_A_1Kq_Cq_Cq_1_j_NfT__kkww, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1196])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44225, 122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_cyresource, __pyx_mstate->__pyx_n_u_presource, __pyx_mstate->__pyx_n_u_pMipmappedArray, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1197] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsResourceGetMappedMipma, __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_A_A_llwwx_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1197])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44269, 136};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_cyresource, __pyx_mstate->__pyx_n_u_presource, __pyx_mstate->__pyx_n_u_pDevPtr, __pyx_mstate->__pyx_n_u_pSize, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1198] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsResourceGetMappedPoint, __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_9_QQXXccddk, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1198])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44313, 85};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyresource, __pyx_mstate->__pyx_n_u_presource, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1199] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsResourceSetMapFlags, __pyx_k_Z_y_1_A_1Kq_Cq_Cq_1_j_4A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1199])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44369, 207};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_resources, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyresources, __pyx_mstate->__pyx_n_u_presources, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1200] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsMapResources, __pyx_k_N_xs_1_1Ja_3aq_3axq_Q_z_A_4Ja_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1200])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44429, 207};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_count_2, __pyx_mstate->__pyx_n_u_resources, __pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_cyresources, __pyx_mstate->__pyx_n_u_presources, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1201] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsUnmapResources, __pyx_k_J_xs_1_1Ja_3aq_3axq_Q_z_A_4Ja_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1201])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44487, 134};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_symbol, __pyx_mstate->__pyx_n_u_cudaVersion, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyflags, __pyx_mstate->__pyx_n_u_pflags, __pyx_mstate->__pyx_n_u_pfn, __pyx_mstate->__pyx_n_u_symbolStatus, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1202] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGetProcAddress, __pyx_k_l_vS_1HA_AQ_AZq_Q_q_m9TUUV_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1202])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44588, 107};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1203] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCoredumpGetAttribute, __pyx_k_T_1_a_FaxsR_WJgQ_we1_Qj_Qa_t_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1203])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44705, 107};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1204] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCoredumpGetAttributeGlobal, __pyx_k_34L_1_a_FaxsR_WJgQ_we1_31Jm1A_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1204])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44818, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1205] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCoredumpSetAttribute, __pyx_k_Z_1_a_FaxwV_a_WJgQ_we1_Qj_Qa_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1205])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44936, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_attrib, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_cyattrib, __pyx_mstate->__pyx_n_u_cyvalue, __pyx_mstate->__pyx_n_u_cyvalue_ptr, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1206] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCoredumpSetAttributeGlobal, __pyx_k_34d_1_a_FaxwV_a_WJgQ_we1_31Jm1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1206])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45059, 80};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pExportTableId, __pyx_mstate->__pyx_n_u_ppExportTable, __pyx_mstate->__pyx_n_u_cypExportTableId_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1207] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGetExportTable, __pyx_k_1_O_bbllm_q_a_a_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1207])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45083, 178};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_dev, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cydev, __pyx_mstate->__pyx_n_u_pdev, __pyx_mstate->__pyx_n_u_cydesc, __pyx_mstate->__pyx_n_u_pdesc, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1208] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGreenCtxCreate, __pyx_k_f_t3a_q_1F_s_1_s_81A_q_uCq_1G1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1208])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45156, 81};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hCtx, __pyx_mstate->__pyx_n_u_cyhCtx, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1209] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGreenCtxDestroy, __pyx_k_0_uCq_1G1_1A_1Jaq_A_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1209])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45191, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hCtx, __pyx_mstate->__pyx_n_u_cyhCtx, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_pContext, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1210] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxFromGreenCtx, __pyx_k_uCq_1G1_1A_1Jaq_A_iq_hkQR_t_a_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1210])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45237, 130};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_typename, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_cytypename, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1211] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDeviceGetDevResource, __pyx_k_788_wc_1IQ_Qa_Qhaq_q_1_Qj8QQYYd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1211])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45281, 131};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hCtx, __pyx_mstate->__pyx_n_u_typename, __pyx_mstate->__pyx_n_u_cyhCtx, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_cytypename, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1212] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCtxGetDevResource, __pyx_k_232_uCq_1G1_1A_1IQa_1_q_1_83LHT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1212])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45322, 132};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hCtx, __pyx_mstate->__pyx_n_u_typename, __pyx_mstate->__pyx_n_u_cyhCtx, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_cytypename, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1213] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGreenCtxGetDevResource, __pyx_k_782_uCq_1G1_1A_1Jaq_A_q_1_q_8QQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1213])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45363, 285};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_nbGroups, __pyx_mstate->__pyx_n_u_input, __pyx_mstate->__pyx_n_u_useFlags, __pyx_mstate->__pyx_n_u_minCount, __pyx_mstate->__pyx_n_u_cyresult, __pyx_mstate->__pyx_n_u_pyresult, __pyx_mstate->__pyx_n_u_cynbGroups, __pyx_mstate->__pyx_n_u_cyinput__ptr, __pyx_mstate->__pyx_n_u_remaining, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1214] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDevSmResourceSplitByCount, __pyx_k_A_A_q_S_G5_y_1_F_Q_9Cq_Q_J_CqPZ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1214])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45478, 340};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_resources, __pyx_mstate->__pyx_n_u_nbResources, __pyx_mstate->__pyx_n_u_phDesc, __pyx_mstate->__pyx_n_u_cyresources, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[1215] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuDevResourceGenerateDesc, __pyx_k_R_j_Q_iq_5Q_q_s_b_0_as_q_s_Q_J, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1215])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45542, 139};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hCtx, __pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_cyhCtx, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1216] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGreenCtxRecordEvent, __pyx_k_B_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1216])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45594, 139};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hCtx, __pyx_mstate->__pyx_n_u_hEvent, __pyx_mstate->__pyx_n_u_cyhEvent, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_cyhCtx, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1217] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGreenCtxWaitEvent, __pyx_k_B_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1217])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45646, 119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_hStream_2, __pyx_mstate->__pyx_n_u_cyhStream, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_phCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1218] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuStreamGetGreenCtx, __pyx_k_V_xs_1_1Ja_3aq_3axq_Q_Ja_6LEQR, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1218])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45703, 125};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_greenCtx, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_priority_2, __pyx_mstate->__pyx_n_u_cygreenCtx, __pyx_mstate->__pyx_n_u_pgreenCtx, __pyx_mstate->__pyx_n_u_phStream, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1219] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGreenCtxStreamCreate, __pyx_k_t_y_1_A_1Kq_Cq_Cq_1_j_XQ_Q_B_Ua, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1219])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45787, 251};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_callbackFunc, __pyx_mstate->__pyx_n_u_userData_2, __pyx_mstate->__pyx_n_u_cycallbackFunc, __pyx_mstate->__pyx_n_u_pcallbackFunc, __pyx_mstate->__pyx_n_u_cyuserData, __pyx_mstate->__pyx_n_u_cyuserData_ptr, __pyx_mstate->__pyx_n_u_cbData, __pyx_mstate->__pyx_n_u_callback_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1220] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLogsRegisterCallback, __pyx_k_Cq_1O1_1A_1N_1_j_AQ_z_1_a_6_q_w, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1220])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45836, 117};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_callback, __pyx_mstate->__pyx_n_u_cycallback, __pyx_mstate->__pyx_n_u_pcallback, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1221] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLogsUnregisterCallback, __pyx_k_y_1_A_1Kq_Cq_Cq_AQ_0_q_t_a_AX_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1221])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45865, 62};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_iterator_out, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1222] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLogsCurrent, __pyx_k_m1_nA_l_UV_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1222])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45888, 76};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_iterator, __pyx_mstate->__pyx_n_u_pathToFile, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyiterator, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1223] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLogsDumpToFile, __pyx_k_a_y_q_XQ_q_L_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1223])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45929, 85};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_iterator, __pyx_mstate->__pyx_n_u_buffer, __pyx_mstate->__pyx_n_u_size_2, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyiterator, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1224] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuLogsDumpToMemory, __pyx_k_Z_a_y_q_XQ_havQ_t_a_avV1_N_6_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1224])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 45984, 57};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pid, __pyx_mstate->__pyx_n_u_tid, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1225] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCheckpointProcessGetRestoreThr, __pyx_k_1_AU_1_t_a_avQ_N_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1225])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46010, 56};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pid, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1226] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCheckpointProcessGetState, __pyx_k_2_5_t_a_avQ_N_6_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1226])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46036, 48};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pid, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_cyargs_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1227] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCheckpointProcessLock, __pyx_k_6T_e7R_auA_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1227])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46065, 49};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pid, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_cyargs_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1228] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCheckpointProcessCheckpoint, __pyx_k_23_4_EQXXbbc_4AU_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1228])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46093, 48};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pid, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_cyargs_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1229] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCheckpointProcessRestore, __pyx_k_06_9_M_gU___1_q_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1229])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46126, 48};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pid, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_cyargs_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1230] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuCheckpointProcessUnlock, __pyx_k_8t_WT___0_a_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1230])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46152, 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1231] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuProfilerStart, __pyx_k_a_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1231])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46177, 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1232] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuProfilerStop, __pyx_k_oQ_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1232])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46202, 125};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_image, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyimage, __pyx_mstate->__pyx_n_u_pimage, __pyx_mstate->__pyx_n_u_pCudaResource, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1233] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsEGLRegisterImage, __pyx_k_v_vS_1HA_AQ_A_Ja_a_1_2PP_hhqqr, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1233])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46275, 121};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1234] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamConsumerConnect, __pyx_k_4_wc_1IQ_Qa_Ql_1_j_1_1_2SSWWbbc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1234])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46315, 124};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1235] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamConsumerConnectWithFl, __pyx_k_wc_1IQ_Qa_Ql_1_j_1_kkuuv_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1235])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46359, 147};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_cyconn, __pyx_mstate->__pyx_n_u_pconn, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1236] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamConsumerDisconnect, __pyx_k_uCq_2_A_1G1_G1_2_A_1G1_2_A_iq_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1236])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46393, 386};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_pCudaResource, __pyx_mstate->__pyx_n_u_pStream, __pyx_mstate->__pyx_n_u_timeout, __pyx_mstate->__pyx_n_u_cypStream, __pyx_mstate->__pyx_n_u_ppStream, __pyx_mstate->__pyx_n_u_cypCudaResource, __pyx_mstate->__pyx_n_u_ppCudaResource, __pyx_mstate->__pyx_n_u_cyconn, __pyx_mstate->__pyx_n_u_pconn, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1237] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamConsumerAcquireFrame, __pyx_k_H_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1237])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46462, 316};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_pCudaResource, __pyx_mstate->__pyx_n_u_pStream, __pyx_mstate->__pyx_n_u_cypStream, __pyx_mstate->__pyx_n_u_ppStream, __pyx_mstate->__pyx_n_u_cypCudaResource, __pyx_mstate->__pyx_n_u_ppCudaResource, __pyx_mstate->__pyx_n_u_cyconn, __pyx_mstate->__pyx_n_u_pconn, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1238] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamConsumerReleaseFrame, __pyx_k_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B_C, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1238])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46522, 237};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_stream, __pyx_mstate->__pyx_n_u_width_2, __pyx_mstate->__pyx_n_u_height_2, __pyx_mstate->__pyx_n_u_cyheight, __pyx_mstate->__pyx_n_u_pheight, __pyx_mstate->__pyx_n_u_cywidth, __pyx_mstate->__pyx_n_u_pwidth, __pyx_mstate->__pyx_n_u_cystream, __pyx_mstate->__pyx_n_u_pstream, __pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1239] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamProducerConnect, __pyx_k_wc_1IQ_Qa_QfAQ_vS_1HA_AQ_AV1A_z, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1239])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46582, 147};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_cyconn, __pyx_mstate->__pyx_n_u_pconn, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1240] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamProducerDisconnect, __pyx_k_uCq_2_A_1G1_G1_2_A_1G1_2_A_iq_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1240])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46616, 270};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_eglframe, __pyx_mstate->__pyx_n_u_pStream, __pyx_mstate->__pyx_n_u_cypStream, __pyx_mstate->__pyx_n_u_ppStream, __pyx_mstate->__pyx_n_u_cyconn, __pyx_mstate->__pyx_n_u_pconn, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1241] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamProducerPresentFrame, __pyx_k_V_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1241])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46683, 278};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_conn, __pyx_mstate->__pyx_n_u_eglframe, __pyx_mstate->__pyx_n_u_pStream, __pyx_mstate->__pyx_n_u_cypStream, __pyx_mstate->__pyx_n_u_ppStream, __pyx_mstate->__pyx_n_u_cyconn, __pyx_mstate->__pyx_n_u_pconn, __pyx_mstate->__pyx_n_u_cyeglframe_ptr, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1242] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEGLStreamProducerReturnFrame, __pyx_k_456_xs_1Ja_7_1Ja_iq_vvxx_A_A_B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1242])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46735, 128};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_resource_2, __pyx_mstate->__pyx_n_u_index, __pyx_mstate->__pyx_n_u_mipLevel, __pyx_mstate->__pyx_n_u_cyresource, __pyx_mstate->__pyx_n_u_presource, __pyx_mstate->__pyx_n_u_eglFrame, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1243] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsResourceGetMappedEglFr, __pyx_k_y_1_A_1Kq_Cq_Cq_1_j_z_QQYYddppw, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1243])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46781, 122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_eglSync, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyeglSync, __pyx_mstate->__pyx_n_u_peglSync, __pyx_mstate->__pyx_n_u_phEvent, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1244] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuEventCreateFromEGLSync, __pyx_k_T_xs_1_1Ja_3aq_3az_Zq_7_q0C7_U, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1244])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46837, 125};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_buffer, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cybuffer, __pyx_mstate->__pyx_n_u_pbuffer, __pyx_mstate->__pyx_n_u_pCudaResource, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1245] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsGLRegisterBuffer, __pyx_k_P_wc_1IQ_Qa_QfAQ_a_1_2PP_hhrrs, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1245])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46891, 182};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_image, __pyx_mstate->__pyx_n_u_target, __pyx_mstate->__pyx_n_u_Flags_2, __pyx_mstate->__pyx_n_u_cytarget, __pyx_mstate->__pyx_n_u_ptarget, __pyx_mstate->__pyx_n_u_cyimage, __pyx_mstate->__pyx_n_u_pimage, __pyx_mstate->__pyx_n_u_pCudaResource, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1246] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsGLRegisterImage, __pyx_k_V_wc_1IQ_Qa_QfAQ_vS_1HA_AQ_AV1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1246])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 46988, 227};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cudaDeviceCount, __pyx_mstate->__pyx_n_u_deviceList, __pyx_mstate->__pyx_n_u_pCudaDeviceCount, __pyx_mstate->__pyx_n_u_cypCudaDevices, __pyx_mstate->__pyx_n_u_pypCudaDevices, __pyx_mstate->__pyx_n_u_cydeviceList, __pyx_mstate->__pyx_n_u_err, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[1247] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGLGetDevices, __pyx_k_GH_Q_Q_s_V14EQ_Q_Q_J_CqPaaccggi, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1247])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47054, 245};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_vdpDevice, __pyx_mstate->__pyx_n_u_vdpGetProcAddress, __pyx_mstate->__pyx_n_u_cyvdpGetProcAddress, __pyx_mstate->__pyx_n_u_pvdpGetProcAddress, __pyx_mstate->__pyx_n_u_cyvdpDevice, __pyx_mstate->__pyx_n_u_pvdpDevice, __pyx_mstate->__pyx_n_u_pDevice, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1248] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuVDPAUGetDevice, __pyx_k_4_A_Q_1_gQ_Q_1_Q_iq_J_J_L_L_O_O, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1248])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47104, 305};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_device, __pyx_mstate->__pyx_n_u_vdpDevice, __pyx_mstate->__pyx_n_u_vdpGetProcAddress, __pyx_mstate->__pyx_n_u_cyvdpGetProcAddress, __pyx_mstate->__pyx_n_u_pvdpGetProcAddress, __pyx_mstate->__pyx_n_u_cyvdpDevice, __pyx_mstate->__pyx_n_u_pvdpDevice, __pyx_mstate->__pyx_n_u_cydevice, __pyx_mstate->__pyx_n_u_pdevice, __pyx_mstate->__pyx_n_u_pCtx, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1249] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuVDPAUCtxCreate, __pyx_k_B_A_Q_1_gQ_Q_1_Q_iq_J_J_L_L_O_O, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1249])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47169, 129};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_vdpSurface, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyvdpSurface, __pyx_mstate->__pyx_n_u_pvdpSurface, __pyx_mstate->__pyx_n_u_pCudaResource, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1250] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsVDPAURegisterVideoSurf, __pyx_k_Q_a_1M_c_c_Zq_a_YYffqq_A_t_a_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1250])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47229, 134};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_vdpSurface, __pyx_mstate->__pyx_n_u_flags_2, __pyx_mstate->__pyx_n_u_cyvdpSurface, __pyx_mstate->__pyx_n_u_pvdpSurface, __pyx_mstate->__pyx_n_u_pCudaResource, __pyx_mstate->__pyx_n_u_err};
    __pyx_mstate_global->__pyx_codeobj_tab[1251] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_cuGraphicsVDPAURegisterOutputSur, __pyx_k_Q_a_1M_c_c_1_j_a_1_ZZggr_s_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1251])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[1252] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1252])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3, 9};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[1253] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_k_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1253])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 47301, 3774};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_objType};
    __pyx_mstate_global->__pyx_codeobj_tab[1254] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_cuda_bindings_driver_pyx, __pyx_mstate->__pyx_n_u_sizeof, __pyx_k_xs_q_xs_q_xs_q_xs_q_xs_q_xs_q_x, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1254])) goto bad;
  }
  Py_DECREF(tuple_dedup_map);
  return 0;
  bad:
  Py_DECREF(tuple_dedup_map);
  return -1;
}
/* #### Code section: init_globals ### */

static int __Pyx_InitGlobals(void) {
  /* PythonCompatibility.init */
  if (likely(__Pyx_init_co_variables() == 0)); else

if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* AssertionsEnabled.init */
  if (likely(__Pyx_init_assertions_enabled() == 0)); else

if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* CachedMethodType.init */
  #if CYTHON_COMPILING_IN_LIMITED_API
{
    PyObject *typesModule=NULL;
    typesModule = PyImport_ImportModule("types");
    if (typesModule) {
        __pyx_mstate_global->__Pyx_CachedMethodType = PyObject_GetAttrString(typesModule, "MethodType");
        Py_DECREF(typesModule);
    }
} // error handling follows
#endif

if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: cleanup_globals ### */
/* #### Code section: cleanup_module ### */
/* #### Code section: main_method ### */
/* #### Code section: utility_code_pragmas ### */
#ifdef _MSC_VER
#pragma warning( push )
/* Warning 4127: conditional expression is constant
 * Cython uses constant conditional expressions to allow in inline functions to be optimized at
 * compile-time, so this warning is not useful
 */
#pragma warning( disable : 4127 )
#endif



/* #### Code section: utility_code_def ### */

/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule(modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, "RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* PyErrExceptionMatches */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    n = PyTuple_GET_SIZE(tuple);
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
    for (i=0; i<n; i++) {
        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
    int result;
    PyObject *exc_type;
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *current_exception = tstate->current_exception;
    if (unlikely(!current_exception)) return 0;
    exc_type = (PyObject*) Py_TYPE(current_exception);
    if (exc_type == err) return 1;
#else
    exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
#endif
    #if CYTHON_AVOID_BORROWED_REFS
    Py_INCREF(exc_type);
    #endif
    if (unlikely(PyTuple_Check(err))) {
        result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    } else {
        result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
    }
    #if CYTHON_AVOID_BORROWED_REFS
    Py_DECREF(exc_type);
    #endif
    return result;
}
#endif

/* PyErrFetchRestore */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *tmp_value;
    assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value)));
    if (value) {
        #if CYTHON_COMPILING_IN_CPYTHON
        if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb))
        #endif
            PyException_SetTraceback(value, tb);
    }
    tmp_value = tstate->current_exception;
    tstate->current_exception = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
#else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#endif
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject* exc_value;
    exc_value = tstate->current_exception;
    tstate->current_exception = 0;
    *value = exc_value;
    *type = NULL;
    *tb = NULL;
    if (exc_value) {
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        #if CYTHON_COMPILING_IN_CPYTHON
        *tb = ((PyBaseExceptionObject*) exc_value)->traceback;
        Py_XINCREF(*tb);
        #else
        *tb = PyException_GetTraceback(exc_value);
        #endif
    }
#else
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#endif
}
#endif

/* PyObjectGetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro))
        return tp->tp_getattro(obj, attr_name);
    return PyObject_GetAttr(obj, attr_name);
}
#endif

/* PyObjectGetAttrStrNoError */
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        __Pyx_PyErr_Clear();
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
    PyObject *result;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
    return result;
#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
        return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
    }
#endif
    result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
    if (unlikely(!result)) {
        __Pyx_PyObject_GetAttrStr_ClearAttributeError();
    }
    return result;
#endif
}

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_mstate_global->__pyx_b, name);
    if (unlikely(!result) && !PyErr_Occurred()) {
        PyErr_Format(PyExc_NameError,
            "name '%U' is not defined", name);
    }
    return result;
}

/* IterFinish */
static CYTHON_INLINE int __Pyx_IterFinish(void) {
    PyObject* exc_type;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    exc_type = __Pyx_PyErr_CurrentExceptionType();
    if (unlikely(exc_type)) {
        if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))
            return -1;
        __Pyx_PyErr_Clear();
        return 0;
    }
    return 0;
}

/* PyFunctionFastCall */
#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL
static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject *const *args, Py_ssize_t na,
                                               PyObject *globals) {
    PyFrameObject *f;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject **fastlocals;
    Py_ssize_t i;
    PyObject *result;
    assert(globals != NULL);
    /* XXX Perhaps we should create a specialized
       PyFrame_New() that doesn't take locals, but does
       take builtins without sanity checking them.
       */
    assert(tstate != NULL);
    f = PyFrame_New(tstate, co, globals, NULL);
    if (f == NULL) {
        return NULL;
    }
    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
    for (i = 0; i < na; i++) {
        Py_INCREF(*args);
        fastlocals[i] = *args++;
    }
    result = PyEval_EvalFrameEx(f,0);
    ++tstate->recursion_depth;
    Py_DECREF(f);
    --tstate->recursion_depth;
    return result;
}
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject *const *args, Py_ssize_t nargs, PyObject *kwargs) {
    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
    PyObject *globals = PyFunction_GET_GLOBALS(func);
    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
    PyObject *closure;
    PyObject *kwdefs;
    PyObject *kwtuple, **k;
    PyObject **d;
    Py_ssize_t nd;
    Py_ssize_t nk;
    PyObject *result;
    assert(kwargs == NULL || PyDict_Check(kwargs));
    nk = kwargs ? PyDict_Size(kwargs) : 0;
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
        return NULL;
    }
    if (
            co->co_kwonlyargcount == 0 &&
            likely(kwargs == NULL || nk == 0) &&
            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
        if (argdefs == NULL && co->co_argcount == nargs) {
            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
            goto done;
        }
        else if (nargs == 0 && argdefs != NULL
                 && co->co_argcount == Py_SIZE(argdefs)) {
            /* function called with no arguments, but all parameters have
               a default value: use default values as arguments .*/
            args = &PyTuple_GET_ITEM(argdefs, 0);
            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
            goto done;
        }
    }
    if (kwargs != NULL) {
        Py_ssize_t pos, i;
        kwtuple = PyTuple_New(2 * nk);
        if (kwtuple == NULL) {
            result = NULL;
            goto done;
        }
        k = &PyTuple_GET_ITEM(kwtuple, 0);
        pos = i = 0;
        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
            Py_INCREF(k[i]);
            Py_INCREF(k[i+1]);
            i += 2;
        }
        nk = i / 2;
    }
    else {
        kwtuple = NULL;
        k = NULL;
    }
    closure = PyFunction_GET_CLOSURE(func);
    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
    if (argdefs != NULL) {
        d = &PyTuple_GET_ITEM(argdefs, 0);
        nd = Py_SIZE(argdefs);
    }
    else {
        d = NULL;
        nd = 0;
    }
    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
                               args, (int)nargs,
                               k, (int)nk,
                               d, (int)nd, kwdefs, closure);
    Py_XDECREF(kwtuple);
done:
    Py_LeaveRecursiveCall();
    return result;
}
#endif

/* PyObjectCall */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = Py_TYPE(func)->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
    self = __Pyx_CyOrPyCFunction_GET_SELF(func);
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    result = cfunc(self, arg);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectFastCall */
#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject * const*args, size_t nargs, PyObject *kwargs) {
    PyObject *argstuple;
    PyObject *result = 0;
    size_t i;
    argstuple = PyTuple_New((Py_ssize_t)nargs);
    if (unlikely(!argstuple)) return NULL;
    for (i = 0; i < nargs; i++) {
        Py_INCREF(args[i]);
        if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) != (0)) goto bad;
    }
    result = __Pyx_PyObject_Call(func, argstuple, kwargs);
  bad:
    Py_DECREF(argstuple);
    return result;
}
#endif
#if CYTHON_VECTORCALL && !CYTHON_COMPILING_IN_LIMITED_API
  #if PY_VERSION_HEX < 0x03090000
    #define __Pyx_PyVectorcall_Function(callable) _PyVectorcall_Function(callable)
  #elif CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE vectorcallfunc __Pyx_PyVectorcall_Function(PyObject *callable) {
    PyTypeObject *tp = Py_TYPE(callable);
    #if defined(__Pyx_CyFunction_USED)
    if (__Pyx_CyFunction_CheckExact(callable)) {
        return __Pyx_CyFunction_func_vectorcall(callable);
    }
    #endif
    if (!PyType_HasFeature(tp, Py_TPFLAGS_HAVE_VECTORCALL)) {
        return NULL;
    }
    assert(PyCallable_Check(callable));
    Py_ssize_t offset = tp->tp_vectorcall_offset;
    assert(offset > 0);
    vectorcallfunc ptr;
    memcpy(&ptr, (char *) callable + offset, sizeof(ptr));
    return ptr;
}
  #else
    #define __Pyx_PyVectorcall_Function(callable) PyVectorcall_Function(callable)
  #endif
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject *const *args, size_t _nargs, PyObject *kwargs) {
    Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
    if (nargs == 0 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
            return __Pyx_PyObject_CallMethO(func, NULL);
    }
    else if (nargs == 1 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
            return __Pyx_PyObject_CallMethO(func, args[0]);
    }
#endif
    #if PY_VERSION_HEX < 0x030800B1
    #if CYTHON_FAST_PYCCALL
    if (PyCFunction_Check(func)) {
        if (kwargs) {
            return _PyCFunction_FastCallDict(func, args, nargs, kwargs);
        } else {
            return _PyCFunction_FastCallKeywords(func, args, nargs, NULL);
        }
    }
    if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) {
        return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL);
    }
    #endif
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs);
    }
    #endif
    #endif
    if (kwargs == NULL) {
        #if CYTHON_VECTORCALL && !CYTHON_COMPILING_IN_LIMITED_API
        vectorcallfunc f = __Pyx_PyVectorcall_Function(func);
        if (f) {
            return f(func, args, _nargs, NULL);
        }
        #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
        if (__Pyx_CyFunction_CheckExact(func)) {
            __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
            if (f) return f(func, args, _nargs, NULL);
        }
        #elif CYTHON_COMPILING_IN_LIMITED_API && CYTHON_VECTORCALL
        return PyObject_Vectorcall(func, args, _nargs, NULL);
        #endif
    }
    if (nargs == 0) {
        return __Pyx_PyObject_Call(func, __pyx_mstate_global->__pyx_empty_tuple, kwargs);
    }
    #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
    #else
    return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
    #endif
}

/* PyObjectCallNoArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
    PyObject *arg[2] = {NULL, NULL};
    return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectCallOneArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *args[2] = {NULL, arg};
    return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectGetMethod */
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
    PyObject *attr;
#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
    __Pyx_TypeName type_name;
    PyTypeObject *tp = Py_TYPE(obj);
    PyObject *descr;
    descrgetfunc f = NULL;
    PyObject **dictptr, *dict;
    int meth_found = 0;
    assert (*method == NULL);
    if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
        attr = __Pyx_PyObject_GetAttrStr(obj, name);
        goto try_unpack;
    }
    if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
        return 0;
    }
    descr = _PyType_Lookup(tp, name);
    if (likely(descr != NULL)) {
        Py_INCREF(descr);
#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
        if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
#else
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
        #endif
#endif
        {
            meth_found = 1;
        } else {
            f = Py_TYPE(descr)->tp_descr_get;
            if (f != NULL && PyDescr_IsData(descr)) {
                attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
                Py_DECREF(descr);
                goto try_unpack;
            }
        }
    }
    dictptr = _PyObject_GetDictPtr(obj);
    if (dictptr != NULL && (dict = *dictptr) != NULL) {
        Py_INCREF(dict);
        attr = __Pyx_PyDict_GetItemStr(dict, name);
        if (attr != NULL) {
            Py_INCREF(attr);
            Py_DECREF(dict);
            Py_XDECREF(descr);
            goto try_unpack;
        }
        Py_DECREF(dict);
    }
    if (meth_found) {
        *method = descr;
        return 1;
    }
    if (f != NULL) {
        attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
        Py_DECREF(descr);
        goto try_unpack;
    }
    if (likely(descr != NULL)) {
        *method = descr;
        return 0;
    }
    type_name = __Pyx_PyType_GetFullyQualifiedName(tp);
    PyErr_Format(PyExc_AttributeError,
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
                 type_name, name);
    __Pyx_DECREF_TypeName(type_name);
    return 0;
#else
    attr = __Pyx_PyObject_GetAttrStr(obj, name);
    goto try_unpack;
#endif
try_unpack:
#if CYTHON_UNPACK_METHODS
    if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
        PyObject *function = PyMethod_GET_FUNCTION(attr);
        Py_INCREF(function);
        Py_DECREF(attr);
        *method = function;
        return 1;
    }
#endif
    *method = attr;
    return 0;
}

/* PyObjectCallMethod0 */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
    PyObject *args[1] = {obj};
    (void) __Pyx_PyObject_GetMethod;
    (void) __Pyx_PyObject_CallOneArg;
    (void) __Pyx_PyObject_CallNoArg;
    return PyObject_VectorcallMethod(method_name, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#else
    PyObject *method = NULL, *result = NULL;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_CallOneArg(method, obj);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) goto bad;
    result = __Pyx_PyObject_CallNoArg(method);
    Py_DECREF(method);
bad:
    return result;
#endif
}

/* RaiseNeedMoreValuesToUnpack */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
    PyErr_Format(PyExc_ValueError,
                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
                 index, (index == 1) ? "" : "s");
}

/* RaiseTooManyValuesToUnpack */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
    PyErr_Format(PyExc_ValueError,
                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
}

/* UnpackItemEndCheck */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    }
    return __Pyx_IterFinish();
}

/* RaiseNoneIterError */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
}

/* UnpackTupleError */
static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
    if (t == Py_None) {
      __Pyx_RaiseNoneNotIterableError();
    } else {
      Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(t);
 #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely(size < 0)) return;
 #endif
      if (size < index) {
        __Pyx_RaiseNeedMoreValuesError(size);
      } else {
        __Pyx_RaiseTooManyValuesError(index);
      }
    }
}

/* UnpackTuple2 */
static CYTHON_INLINE int __Pyx_unpack_tuple2(
        PyObject* tuple, PyObject** value1, PyObject** value2, int is_tuple, int has_known_size, int decref_tuple) {
    if (likely(is_tuple || PyTuple_Check(tuple))) {
        Py_ssize_t size;
        if (has_known_size) {
            return __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple);
        }
        size = __Pyx_PyTuple_GET_SIZE(tuple);
        if (likely(size == 2)) {
            return __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple);
        }
        if (size >= 0) {
            __Pyx_UnpackTupleError(tuple, 2);
        }
        return -1;
    } else {
        return __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple);
    }
}
static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
        PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
    PyObject *value1 = NULL, *value2 = NULL;
#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
    value1 = __Pyx_PySequence_ITEM(tuple, 0);  if (unlikely(!value1)) goto bad;
    value2 = __Pyx_PySequence_ITEM(tuple, 1);  if (unlikely(!value2)) goto bad;
#else
    value1 = PyTuple_GET_ITEM(tuple, 0);  Py_INCREF(value1);
    value2 = PyTuple_GET_ITEM(tuple, 1);  Py_INCREF(value2);
#endif
    if (decref_tuple) {
        Py_DECREF(tuple);
    }
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
bad:
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
#endif
}
static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
                                       int has_known_size, int decref_tuple) {
    Py_ssize_t index;
    PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
    iternextfunc iternext;
    iter = PyObject_GetIter(tuple);
    if (unlikely(!iter)) goto bad;
    if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
    iternext = __Pyx_PyObject_GetIterNextFunc(iter);
    value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
    value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
    if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
    Py_DECREF(iter);
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
unpacking_failed:
    if (!has_known_size && __Pyx_IterFinish() == 0)
        __Pyx_RaiseNeedMoreValuesError(index);
bad:
    Py_XDECREF(iter);
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
}

/* dict_iter */
#if CYTHON_COMPILING_IN_PYPY
#include <string.h>
#endif
static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_source_is_dict) {
    is_dict = is_dict || likely(PyDict_CheckExact(iterable));
    *p_source_is_dict = is_dict;
    if (is_dict) {
#if !CYTHON_COMPILING_IN_PYPY
        *p_orig_length = PyDict_Size(iterable);
        Py_INCREF(iterable);
        return iterable;
#else
        static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL;
        PyObject **pp = NULL;
        if (method_name) {
            const char *name = PyUnicode_AsUTF8(method_name);
            if (strcmp(name, "iteritems") == 0) pp = &py_items;
            else if (strcmp(name, "iterkeys") == 0) pp = &py_keys;
            else if (strcmp(name, "itervalues") == 0) pp = &py_values;
            if (pp) {
                if (!*pp) {
                    *pp = PyUnicode_FromString(name + 4);
                    if (!*pp)
                        return NULL;
                }
                method_name = *pp;
            }
        }
#endif
    }
    *p_orig_length = 0;
    if (method_name) {
        PyObject* iter;
        iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
        if (!iterable)
            return NULL;
#if !CYTHON_COMPILING_IN_PYPY
        if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
            return iterable;
#endif
        iter = PyObject_GetIter(iterable);
        Py_DECREF(iterable);
        return iter;
    }
    return PyObject_GetIter(iterable);
}
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE int __Pyx_dict_iter_next_source_is_dict(
        PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
        PyObject** pkey, PyObject** pvalue, PyObject** pitem) {
    PyObject *key, *value;
    if (unlikely(orig_length != PyDict_Size(iter_obj))) {
        PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
        return -1;
    }
    if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
        return 0;
    }
    if (pitem) {
        PyObject* tuple = PyTuple_New(2);
        if (unlikely(!tuple)) {
            return -1;
        }
        Py_INCREF(key);
        Py_INCREF(value);
        #if CYTHON_ASSUME_SAFE_MACROS
        PyTuple_SET_ITEM(tuple, 0, key);
        PyTuple_SET_ITEM(tuple, 1, value);
        #else
        if (unlikely(PyTuple_SetItem(tuple, 0, key) < 0)) {
            Py_DECREF(value);
            Py_DECREF(tuple);
            return -1;
        }
        if (unlikely(PyTuple_SetItem(tuple, 1, value) < 0)) {
            Py_DECREF(tuple);
            return -1;
        }
        #endif
        *pitem = tuple;
    } else {
        if (pkey) {
            Py_INCREF(key);
            *pkey = key;
        }
        if (pvalue) {
            Py_INCREF(value);
            *pvalue = value;
        }
    }
    return 1;
}
#endif
static CYTHON_INLINE int __Pyx_dict_iter_next(
        PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
        PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
    PyObject* next_item;
#if !CYTHON_COMPILING_IN_PYPY
    if (source_is_dict) {
        int result;
#if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_BEGIN_CRITICAL_SECTION(iter_obj);
#endif
        result = __Pyx_dict_iter_next_source_is_dict(iter_obj, orig_length, ppos, pkey, pvalue, pitem);
#if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_END_CRITICAL_SECTION();
#endif
        return result;
    } else if (PyTuple_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        Py_ssize_t tuple_size = __Pyx_PyTuple_GET_SIZE(iter_obj);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(tuple_size < 0)) return -1;
        #endif
        if (unlikely(pos >= tuple_size)) return 0;
        *ppos = pos + 1;
        #if CYTHON_ASSUME_SAFE_MACROS
        next_item = PyTuple_GET_ITEM(iter_obj, pos);
        #else
        next_item = PyTuple_GetItem(iter_obj, pos);
        if (unlikely(!next_item)) return -1;
        #endif
        Py_INCREF(next_item);
    } else if (PyList_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        Py_ssize_t list_size = __Pyx_PyList_GET_SIZE(iter_obj);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(list_size < 0)) return -1;
        #endif
        if (unlikely(pos >= list_size)) return 0;
        *ppos = pos + 1;
        #if CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
        next_item = PyList_GetItemRef(iter_obj, pos);
        if (unlikely(!next_item)) return -1;
        #elif CYTHON_ASSUME_SAFE_MACROS
        next_item = PyList_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
        #else
        next_item = PyList_GetItem(iter_obj, pos);
        if (unlikely(!next_item)) return -1;
        Py_INCREF(next_item);
        #endif
    } else
#endif
    {
        next_item = PyIter_Next(iter_obj);
        if (unlikely(!next_item)) {
            return __Pyx_IterFinish();
        }
    }
    if (pitem) {
        *pitem = next_item;
    } else if (pkey && pvalue) {
        if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
            return -1;
    } else if (pkey) {
        *pkey = next_item;
    } else {
        *pvalue = next_item;
    }
    return 1;
}

/* RaiseUnboundLocalError */
static void __Pyx_RaiseUnboundLocalError(const char *varname) {
    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}

/* GetException */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
#endif
{
    PyObject *local_type = NULL, *local_value, *local_tb = NULL;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if PY_VERSION_HEX >= 0x030C0000
    local_value = tstate->current_exception;
    tstate->current_exception = 0;
  #else
    local_type = tstate->curexc_type;
    local_value = tstate->curexc_value;
    local_tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
  #endif
#elif __PYX_LIMITED_VERSION_HEX > 0x030C0000
    local_value = PyErr_GetRaisedException();
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
#if __PYX_LIMITED_VERSION_HEX > 0x030C0000
    if (likely(local_value)) {
        local_type = (PyObject*) Py_TYPE(local_value);
        Py_INCREF(local_type);
        local_tb = PyException_GetTraceback(local_value);
    }
#else
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_FAST_THREAD_STATE
    if (unlikely(tstate->curexc_type))
#else
    if (unlikely(PyErr_Occurred()))
#endif
        goto bad;
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
#endif // __PYX_LIMITED_VERSION_HEX > 0x030C0000
    Py_XINCREF(local_tb);
    Py_XINCREF(local_type);
    Py_XINCREF(local_value);
    *type = local_type;
    *value = local_value;
    *tb = local_tb;
#if CYTHON_FAST_THREAD_STATE
    #if CYTHON_USE_EXC_INFO_STACK
    {
        _PyErr_StackItem *exc_info = tstate->exc_info;
      #if PY_VERSION_HEX >= 0x030B00a4
        tmp_value = exc_info->exc_value;
        exc_info->exc_value = local_value;
        tmp_type = NULL;
        tmp_tb = NULL;
        Py_XDECREF(local_type);
        Py_XDECREF(local_tb);
      #else
        tmp_type = exc_info->exc_type;
        tmp_value = exc_info->exc_value;
        tmp_tb = exc_info->exc_traceback;
        exc_info->exc_type = local_type;
        exc_info->exc_value = local_value;
        exc_info->exc_traceback = local_tb;
      #endif
    }
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = local_type;
    tstate->exc_value = local_value;
    tstate->exc_traceback = local_tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#elif __PYX_LIMITED_VERSION_HEX >= 0x030b0000
    PyErr_SetHandledException(local_value);
    Py_XDECREF(local_value);
    Py_XDECREF(local_type);
    Py_XDECREF(local_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
#if __PYX_LIMITED_VERSION_HEX <= 0x030C0000
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
#endif
}

/* pep479 */
static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) {
    PyObject *exc, *val, *tb, *cur_exc, *new_exc;
    __Pyx_PyThreadState_declare
    int is_async_stopiteration = 0;
    CYTHON_MAYBE_UNUSED_VAR(in_async_gen);
    __Pyx_PyThreadState_assign
    cur_exc = __Pyx_PyErr_CurrentExceptionType();
    if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) {
        if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopAsyncIteration))) {
            is_async_stopiteration = 1;
        } else {
            return;
        }
    }
    __Pyx_GetException(&exc, &val, &tb);
    Py_XDECREF(exc);
    Py_XDECREF(tb);
    new_exc = PyObject_CallFunction(PyExc_RuntimeError, "s",
        is_async_stopiteration ? "async generator raised StopAsyncIteration" :
        in_async_gen ? "async generator raised StopIteration" :
        "generator raised StopIteration");
    if (!new_exc) {
        Py_XDECREF(val);
        return;
    }
    PyException_SetCause(new_exc, val); // steals ref to val
    PyErr_SetObject(PyExc_RuntimeError, new_exc);
}

/* GetTopmostException */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
    _PyErr_StackItem *exc_info = tstate->exc_info;
    while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
           exc_info->previous_item != NULL)
    {
        exc_info = exc_info->previous_item;
    }
    return exc_info;
}
#endif

/* SaveResetException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    PyObject *exc_value = exc_info->exc_value;
    if (exc_value == NULL || exc_value == Py_None) {
        *value = NULL;
        *type = NULL;
        *tb = NULL;
    } else {
        *value = exc_value;
        Py_INCREF(*value);
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        *tb = PyException_GetTraceback(exc_value);
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    *type = exc_info->exc_type;
    *value = exc_info->exc_value;
    *tb = exc_info->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #endif
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    PyObject *tmp_value = exc_info->exc_value;
    exc_info->exc_value = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
  #else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = type;
    exc_info->exc_value = value;
    exc_info->exc_traceback = tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
  #endif
}
#endif

/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*);
        if (a == b)
            return 1;
    }
    return b == &PyBaseObject_Type;
}
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (a == b) return 1;
    mro = a->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(a, b);
}
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (cls == a || cls == b) return 1;
    mro = cls->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            PyObject *base = PyTuple_GET_ITEM(mro, i);
            if (base == (PyObject *)a || base == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b);
}
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    if (exc_type1) {
        return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2);
    } else {
        return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
}
static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    assert(PyExceptionClass_Check(exc_type));
    n = PyTuple_GET_SIZE(tuple);
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        if (likely(PyExceptionClass_Check(t))) {
            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
        } else {
        }
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
    if (likely(err == exc_type)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        if (likely(PyExceptionClass_Check(exc_type))) {
            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
        } else if (likely(PyTuple_Check(exc_type))) {
            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
        } else {
        }
    }
    return PyErr_GivenExceptionMatches(err, exc_type);
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
    assert(PyExceptionClass_Check(exc_type1));
    assert(PyExceptionClass_Check(exc_type2));
    if (likely(err == exc_type1 || err == exc_type2)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
    }
    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
}
#endif

/* PyObjectFastCallMethod */
#if !CYTHON_VECTORCALL || PY_VERSION_HEX < 0x03090000
static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *const *args, size_t nargsf) {
    PyObject *result;
    PyObject *attr = PyObject_GetAttr(args[0], name);
    if (unlikely(!attr))
        return NULL;
    result = __Pyx_PyObject_FastCall(attr, args+1, nargsf - 1);
    Py_DECREF(attr);
    return result;
}
#endif

/* RaiseException */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    PyObject* owned_instance = NULL;
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;
    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (PyExceptionClass_Check(type)) {
        PyObject *instance_class = NULL;
        if (value && PyExceptionInstance_Check(value)) {
            instance_class = (PyObject*) Py_TYPE(value);
            if (instance_class != type) {
                int is_subclass = PyObject_IsSubclass(instance_class, type);
                if (!is_subclass) {
                    instance_class = NULL;
                } else if (unlikely(is_subclass == -1)) {
                    goto bad;
                } else {
                    type = instance_class;
                }
            }
        }
        if (!instance_class) {
            PyObject *args;
            if (!value)
                args = PyTuple_New(0);
            else if (PyTuple_Check(value)) {
                Py_INCREF(value);
                args = value;
            } else
                args = PyTuple_Pack(1, value);
            if (!args)
                goto bad;
            owned_instance = PyObject_Call(type, args, NULL);
            Py_DECREF(args);
            if (!owned_instance)
                goto bad;
            value = owned_instance;
            if (!PyExceptionInstance_Check(value)) {
                PyErr_Format(PyExc_TypeError,
                             "calling %R should have returned an instance of "
                             "BaseException, not %R",
                             type, Py_TYPE(value));
                goto bad;
            }
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
    if (cause) {
        PyObject *fixed_cause;
        if (cause == Py_None) {
            fixed_cause = NULL;
        } else if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        } else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        } else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    PyErr_SetObject(type, value);
    if (tb) {
#if PY_VERSION_HEX >= 0x030C00A6
        PyException_SetTraceback(value, tb);
#elif CYTHON_FAST_THREAD_STATE
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
#else
        PyObject *tmp_type, *tmp_value, *tmp_tb;
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
        Py_INCREF(tb);
        PyErr_Restore(tmp_type, tmp_value, tb);
        Py_XDECREF(tmp_tb);
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}

/* TupleAndListFromArray */
#if !CYTHON_COMPILING_IN_CPYTHON && CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject *
__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    Py_ssize_t i;
    if (n <= 0) {
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple);
    }
    res = PyTuple_New(n);
    if (unlikely(res == NULL)) return NULL;
    for (i = 0; i < n; i++) {
        if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < (0))) {
            Py_DECREF(res);
            return NULL;
        }
        Py_INCREF(src[i]);
    }
    return res;
}
#elif CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
    PyObject *v;
    Py_ssize_t i;
    for (i = 0; i < length; i++) {
        v = dest[i] = src[i];
        Py_INCREF(v);
    }
}
static CYTHON_INLINE PyObject *
__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple);
    }
    res = PyTuple_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n);
    return res;
}
static CYTHON_INLINE PyObject *
__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        return PyList_New(0);
    }
    res = PyList_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n);
    return res;
}
#endif

/* BytesEquals */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL ||\
        !(CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS)
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    if (s1 == s2) {
        return (equals == Py_EQ);
    } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
        const char *ps1, *ps2;
        Py_ssize_t length = PyBytes_GET_SIZE(s1);
        if (length != PyBytes_GET_SIZE(s2))
            return (equals == Py_NE);
        ps1 = PyBytes_AS_STRING(s1);
        ps2 = PyBytes_AS_STRING(s2);
        if (ps1[0] != ps2[0]) {
            return (equals == Py_NE);
        } else if (length == 1) {
            return (equals == Py_EQ);
        } else {
            int result;
#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
            Py_hash_t hash1, hash2;
            hash1 = ((PyBytesObject*)s1)->ob_shash;
            hash2 = ((PyBytesObject*)s2)->ob_shash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                return (equals == Py_NE);
            }
#endif
            result = memcmp(ps1, ps2, (size_t)length);
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
        return (equals == Py_NE);
    } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
        return (equals == Py_NE);
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
#endif
}

/* UnicodeEquals */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    int s1_is_unicode, s2_is_unicode;
    if (s1 == s2) {
        goto return_eq;
    }
    s1_is_unicode = PyUnicode_CheckExact(s1);
    s2_is_unicode = PyUnicode_CheckExact(s2);
    if (s1_is_unicode & s2_is_unicode) {
        Py_ssize_t length, length2;
        int kind;
        void *data1, *data2;
        #if !CYTHON_COMPILING_IN_LIMITED_API
        if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
            return -1;
        #endif
        length = __Pyx_PyUnicode_GET_LENGTH(s1);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(length < 0)) return -1;
        #endif
        length2 = __Pyx_PyUnicode_GET_LENGTH(s2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(length2 < 0)) return -1;
        #endif
        if (length != length2) {
            goto return_ne;
        }
#if CYTHON_USE_UNICODE_INTERNALS
        {
            Py_hash_t hash1, hash2;
            hash1 = ((PyASCIIObject*)s1)->hash;
            hash2 = ((PyASCIIObject*)s2)->hash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                goto return_ne;
            }
        }
#endif
        kind = __Pyx_PyUnicode_KIND(s1);
        if (kind != __Pyx_PyUnicode_KIND(s2)) {
            goto return_ne;
        }
        data1 = __Pyx_PyUnicode_DATA(s1);
        data2 = __Pyx_PyUnicode_DATA(s2);
        if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
            goto return_ne;
        } else if (length == 1) {
            goto return_eq;
        } else {
            int result = memcmp(data1, data2, (size_t)(length * kind));
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & s2_is_unicode) {
        goto return_ne;
    } else if ((s2 == Py_None) & s1_is_unicode) {
        goto return_ne;
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
return_eq:
    return (equals == Py_EQ);
return_ne:
    return (equals == Py_NE);
#endif
}

/* fastcall */
#if CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s)
{
    Py_ssize_t i, n = __Pyx_PyTuple_GET_SIZE(kwnames);
    #if !CYTHON_ASSUME_SAFE_SIZE
    if (unlikely(n == -1)) return NULL;
    #endif
    for (i = 0; i < n; i++)
    {
        PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!namei)) return NULL;
        #endif
        if (s == namei) return kwvalues[i];
    }
    for (i = 0; i < n; i++)
    {
        PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!namei)) return NULL;
        #endif
        int eq = __Pyx_PyUnicode_Equals(s, namei, Py_EQ);
        if (unlikely(eq != 0)) {
            if (unlikely(eq < 0)) return NULL;
            return kwvalues[i];
        }
    }
    return NULL;
}
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
    Py_ssize_t i, nkwargs;
    PyObject *dict;
#if !CYTHON_ASSUME_SAFE_SIZE
    nkwargs = PyTuple_Size(kwnames);
    if (unlikely(nkwargs < 0)) return NULL;
#else
    nkwargs = PyTuple_GET_SIZE(kwnames);
#endif
    dict = PyDict_New();
    if (unlikely(!dict))
        return NULL;
    for (i=0; i<nkwargs; i++) {
#if !CYTHON_ASSUME_SAFE_MACROS
        PyObject *key = PyTuple_GetItem(kwnames, i);
        if (!key) goto bad;
#else
        PyObject *key = PyTuple_GET_ITEM(kwnames, i);
#endif
        if (unlikely(PyDict_SetItem(dict, key, kwvalues[i]) < 0))
            goto bad;
    }
    return dict;
bad:
    Py_DECREF(dict);
    return NULL;
}
#endif
#endif

/* RaiseDoubleKeywords */
static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
}

/* UnpackUnboundCMethod */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030C0000
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *args, PyObject *kwargs) {
    PyObject *result;
    PyObject *selfless_args = PyTuple_GetSlice(args, 1, PyTuple_Size(args));
    if (unlikely(!selfless_args)) return NULL;
    result = PyObject_Call(method, selfless_args, kwargs);
    Py_DECREF(selfless_args);
    return result;
}
#elif CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03090000
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject **args, Py_ssize_t nargs, PyObject *kwnames) {
        return _PyObject_Vectorcall
            (method, args ? args+1 : NULL, nargs ? nargs-1 : 0, kwnames);
}
#else
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) {
    return
#if PY_VERSION_HEX < 0x03090000
    _PyObject_Vectorcall
#else
    PyObject_Vectorcall
#endif
        (method, args ? args+1 : NULL, nargs ? (size_t) nargs-1 : 0, kwnames);
}
#endif
static PyMethodDef __Pyx_UnboundCMethod_Def = {
     "CythonUnboundCMethod",
     __PYX_REINTERPRET_FUNCION(PyCFunction, __Pyx_SelflessCall),
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030C0000
     METH_VARARGS | METH_KEYWORDS,
#else
     METH_FASTCALL | METH_KEYWORDS,
#endif
     NULL
};
static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
    PyObject *method, *result=NULL;
    method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
    if (unlikely(!method))
        return -1;
    result = method;
#if CYTHON_COMPILING_IN_CPYTHON
    if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
    {
        PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
        target->func = descr->d_method->ml_meth;
        target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
    } else
#endif
#if CYTHON_COMPILING_IN_PYPY
#else
    if (PyCFunction_Check(method))
#endif
    {
        PyObject *self;
        int self_found;
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        self = PyObject_GetAttrString(method, "__self__");
        if (!self) {
            PyErr_Clear();
        }
#else
        self = PyCFunction_GET_SELF(method);
#endif
        self_found = (self && self != Py_None);
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        Py_XDECREF(self);
#endif
        if (self_found) {
            PyObject *unbound_method = PyCFunction_New(&__Pyx_UnboundCMethod_Def, method);
            if (unlikely(!unbound_method)) return -1;
            Py_DECREF(method);
            result = unbound_method;
        }
    }
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    if (unlikely(target->method)) {
        Py_DECREF(result);
    } else
#endif
    target->method = result;
    return 0;
}

/* CallUnboundCMethod2 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) {
    int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc);
    if (likely(was_initialized == 2 && cfunc->func)) {
        PyObject *args[2] = {arg1, arg2};
        if (cfunc->flag == METH_FASTCALL) {
            return __Pyx_CallCFunctionFast(cfunc, self, args, 2);
        }
        if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
            return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, 2, NULL);
    }
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    else if (unlikely(was_initialized == 1)) {
        __Pyx_CachedCFunction tmp_cfunc = {
#ifndef __cplusplus
            0
#endif
        };
        tmp_cfunc.type = cfunc->type;
        tmp_cfunc.method_name = cfunc->method_name;
        return __Pyx__CallUnboundCMethod2(&tmp_cfunc, self, arg1, arg2);
    }
#endif
    PyObject *result = __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2);
    __Pyx_CachedCFunction_SetFinishedInitializing(cfunc);
    return result;
}
#endif
static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){
    if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_COMPILING_IN_CPYTHON
    if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
        PyObject *result = NULL;
        PyObject *args = PyTuple_New(2);
        if (unlikely(!args)) return NULL;
        Py_INCREF(arg1);
        PyTuple_SET_ITEM(args, 0, arg1);
        Py_INCREF(arg2);
        PyTuple_SET_ITEM(args, 1, arg2);
        if (cfunc->flag & METH_KEYWORDS)
            result = __Pyx_CallCFunctionWithKeywords(cfunc, self, args, NULL);
        else
            result = __Pyx_CallCFunction(cfunc, self, args);
        Py_DECREF(args);
        return result;
    }
#endif
    {
        PyObject *args[4] = {NULL, self, arg1, arg2};
        return __Pyx_PyObject_FastCall(cfunc->method, args+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
    }
}

/* ParseKeywords */
static int __Pyx_ValidateDuplicatePosArgs(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    const char* function_name)
{
    PyObject ** const *name = argnames;
    while (name != first_kw_arg) {
        PyObject *key = **name;
        int found = PyDict_Contains(kwds, key);
        if (unlikely(found)) {
            if (found == 1) __Pyx_RaiseDoubleKeywordsError(function_name, key);
            goto bad;
        }
        name++;
    }
    return 0;
bad:
    return -1;
}
#if CYTHON_USE_UNICODE_INTERNALS
static CYTHON_INLINE int __Pyx_UnicodeKeywordsEqual(PyObject *s1, PyObject *s2) {
    int kind;
    Py_ssize_t len = PyUnicode_GET_LENGTH(s1);
    if (len != PyUnicode_GET_LENGTH(s2)) return 0;
    kind = PyUnicode_KIND(s1);
    if (kind != PyUnicode_KIND(s2)) return 0;
    const void *data1 = PyUnicode_DATA(s1);
    const void *data2 = PyUnicode_DATA(s2);
    return (memcmp(data1, data2, (size_t) len * (size_t) kind) == 0);
}
#endif
static int __Pyx_MatchKeywordArg_str(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    PyObject ** const *name;
    #if CYTHON_USE_UNICODE_INTERNALS
    Py_hash_t key_hash = ((PyASCIIObject*)key)->hash;
    if (unlikely(key_hash == -1)) {
        key_hash = PyObject_Hash(key);
        if (unlikely(key_hash == -1))
            goto bad;
    }
    #endif
    name = first_kw_arg;
    while (*name) {
        PyObject *name_str = **name;
        #if CYTHON_USE_UNICODE_INTERNALS
        if (key_hash == ((PyASCIIObject*)name_str)->hash && __Pyx_UnicodeKeywordsEqual(name_str, key)) {
            *index_found = (size_t) (name - argnames);
            return 1;
        }
        #else
        #if CYTHON_ASSUME_SAFE_SIZE
        if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key))
        #endif
        {
            int cmp = PyUnicode_Compare(name_str, key);
            if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
            if (cmp == 0) {
                *index_found = (size_t) (name - argnames);
                return 1;
            }
        }
        #endif
        name++;
    }
    name = argnames;
    while (name != first_kw_arg) {
        PyObject *name_str = **name;
        #if CYTHON_USE_UNICODE_INTERNALS
        if (unlikely(key_hash == ((PyASCIIObject*)name_str)->hash)) {
            if (__Pyx_UnicodeKeywordsEqual(name_str, key))
                goto arg_passed_twice;
        }
        #else
        #if CYTHON_ASSUME_SAFE_SIZE
        if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key))
        #endif
        {
            if (unlikely(name_str == key)) goto arg_passed_twice;
            int cmp = PyUnicode_Compare(name_str, key);
            if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
            if (cmp == 0) goto arg_passed_twice;
        }
        #endif
        name++;
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
bad:
    return -1;
}
static int __Pyx_MatchKeywordArg_nostr(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    PyObject ** const *name;
    if (unlikely(!PyUnicode_Check(key))) goto invalid_keyword_type;
    name = first_kw_arg;
    while (*name) {
        int cmp = PyObject_RichCompareBool(**name, key, Py_EQ);
        if (cmp == 1) {
            *index_found = (size_t) (name - argnames);
            return 1;
        }
        if (unlikely(cmp == -1)) goto bad;
        name++;
    }
    name = argnames;
    while (name != first_kw_arg) {
        int cmp = PyObject_RichCompareBool(**name, key, Py_EQ);
        if (unlikely(cmp != 0)) {
            if (cmp == 1) goto arg_passed_twice;
            else goto bad;
        }
        name++;
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    goto bad;
bad:
    return -1;
}
static CYTHON_INLINE int __Pyx_MatchKeywordArg(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    return likely(PyUnicode_CheckExact(key)) ?
        __Pyx_MatchKeywordArg_str(key, argnames, first_kw_arg, index_found, function_name) :
        __Pyx_MatchKeywordArg_nostr(key, argnames, first_kw_arg, index_found, function_name);
}
static void __Pyx_RejectUnknownKeyword(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    const char *function_name)
{
    Py_ssize_t pos = 0;
    PyObject *key = NULL;
    __Pyx_BEGIN_CRITICAL_SECTION(kwds);
    while (PyDict_Next(kwds, &pos, &key, NULL)) {
        PyObject** const *name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (!*name) {
            #if CYTHON_AVOID_BORROWED_REFS
            Py_INCREF(key);
            #endif
            size_t index_found = 0;
            int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name);
            if (cmp != 1) {
                if (cmp == 0) {
                    PyErr_Format(PyExc_TypeError,
                        "%s() got an unexpected keyword argument '%U'",
                        function_name, key);
                }
                #if CYTHON_AVOID_BORROWED_REFS
                Py_DECREF(key);
                #endif
                break;
            }
            #if CYTHON_AVOID_BORROWED_REFS
            Py_DECREF(key);
            #endif
        }
    }
    __Pyx_END_CRITICAL_SECTION();
    assert(PyErr_Occurred());
}
static int __Pyx_ParseKeywordDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    PyObject** const *name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    Py_ssize_t extracted = 0;
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
    if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return -1;
#endif
    name = first_kw_arg;
    while (*name && num_kwargs > extracted) {
        PyObject * key = **name;
        PyObject *value;
        int found = 0;
        #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
        found = PyDict_GetItemRef(kwds, key, &value);
        #else
        value = PyDict_GetItemWithError(kwds, key);
        if (value) {
            Py_INCREF(value);
            found = 1;
        } else {
            if (unlikely(PyErr_Occurred())) goto bad;
        }
        #endif
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
            extracted++;
        }
        name++;
    }
    if (num_kwargs > extracted) {
        if (ignore_unknown_kwargs) {
            if (unlikely(__Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name) == -1))
                goto bad;
        } else {
            __Pyx_RejectUnknownKeyword(kwds, argnames, first_kw_arg, function_name);
            goto bad;
        }
    }
    return 0;
bad:
    return -1;
}
static int __Pyx_ParseKeywordDictToDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject** const *name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    Py_ssize_t len;
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
    if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return -1;
#endif
    if (PyDict_Update(kwds2, kwds) < 0) goto bad;
    name = first_kw_arg;
    while (*name) {
        PyObject *key = **name;
        PyObject *value;
#if !CYTHON_COMPILING_IN_LIMITED_API && (PY_VERSION_HEX >= 0x030d00A2 || defined(PyDict_Pop))
        int found = PyDict_Pop(kwds2, key, &value);
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
        }
#elif __PYX_LIMITED_VERSION_HEX >= 0x030d0000
        int found = PyDict_GetItemRef(kwds2, key, &value);
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
            if (unlikely(PyDict_DelItem(kwds2, key) < 0)) goto bad;
        }
#else
    #if CYTHON_COMPILING_IN_CPYTHON
        value = _PyDict_Pop(kwds2, key, kwds2);
    #else
        value = __Pyx_CallUnboundCMethod2(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_pop, kwds2, key, kwds2);
    #endif
        if (value == kwds2) {
            Py_DECREF(value);
        } else {
            if (unlikely(!value)) goto bad;
            values[name-argnames] = value;
        }
#endif
        name++;
    }
    len = PyDict_Size(kwds2);
    if (len > 0) {
        return __Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name);
    } else if (unlikely(len == -1)) {
        goto bad;
    }
    return 0;
bad:
    return -1;
}
static int __Pyx_ParseKeywordsTuple(
    PyObject *kwds,
    PyObject * const *kwvalues,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    PyObject *key = NULL;
    PyObject** const * name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    for (Py_ssize_t pos = 0; pos < num_kwargs; pos++) {
#if CYTHON_AVOID_BORROWED_REFS
        key = __Pyx_PySequence_ITEM(kwds, pos);
#else
        key = __Pyx_PyTuple_GET_ITEM(kwds, pos);
#endif
#if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!key)) goto bad;
#endif
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            PyObject *value = kwvalues[pos];
            values[name-argnames] = __Pyx_NewRef(value);
        } else {
            size_t index_found = 0;
            int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name);
            if (cmp == 1) {
                PyObject *value = kwvalues[pos];
                values[index_found] = __Pyx_NewRef(value);
            } else {
                if (unlikely(cmp == -1)) goto bad;
                if (kwds2) {
                    PyObject *value = kwvalues[pos];
                    if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
                } else if (!ignore_unknown_kwargs) {
                    goto invalid_keyword;
                }
            }
        }
        #if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(key);
        key = NULL;
        #endif
    }
    return 0;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    goto bad;
bad:
    #if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(key);
    #endif
    return -1;
}
static int __Pyx_ParseKeywords(
    PyObject *kwds,
    PyObject * const *kwvalues,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)))
        return __Pyx_ParseKeywordsTuple(kwds, kwvalues, argnames, kwds2, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs);
    else if (kwds2)
        return __Pyx_ParseKeywordDictToDict(kwds, argnames, kwds2, values, num_pos_args, function_name);
    else
        return __Pyx_ParseKeywordDict(kwds, argnames, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs);
}

/* RaiseArgTupleInvalid */
static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *more_or_less;
    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    PyErr_Format(PyExc_TypeError,
                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

/* PyDictVersioning */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
    PyObject **dictptr = NULL;
    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
    if (offset) {
#if CYTHON_COMPILING_IN_CPYTHON
        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
#else
        dictptr = _PyObject_GetDictPtr(obj);
#endif
    }
    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
}
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
        return 0;
    return obj_dict_version == __Pyx_get_object_dict_version(obj);
}
#endif

/* GetModuleGlobalName */
#if CYTHON_USE_DICT_VERSIONS
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
#else
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
#endif
{
    PyObject *result;
#if CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(!__pyx_m)) {
        if (!PyErr_Occurred())
            PyErr_SetNone(PyExc_NameError);
        return NULL;
    }
    result = PyObject_GetAttr(__pyx_m, name);
    if (likely(result)) {
        return result;
    }
    PyErr_Clear();
#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    if (unlikely(__Pyx_PyDict_GetItemRef(__pyx_mstate_global->__pyx_d, name, &result) == -1)) PyErr_Clear();
    __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return result;
    }
#else
    result = _PyDict_GetItem_KnownHash(__pyx_mstate_global->__pyx_d, name, ((PyASCIIObject *) name)->hash);
    __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
    PyErr_Clear();
#endif
    return __Pyx_GetBuiltinName(name);
}

/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (unlikely(!j)) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE && !CYTHON_AVOID_BORROWED_REFS && !CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyList_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyTuple_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     CYTHON_NCP_UNUSED int wraparound,
                                                     CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
            return __Pyx_PyList_GetItemRef(o, n);
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
        PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
        if (mm && mm->mp_subscript) {
            PyObject *r, *key = PyLong_FromSsize_t(i);
            if (unlikely(!key)) return NULL;
            r = mm->mp_subscript(o, key);
            Py_DECREF(key);
            return r;
        }
        if (likely(sm && sm->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
                Py_ssize_t l = sm->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return sm->sq_item(o, i);
        }
    }
#else
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
}

/* GetAttr3 */
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    Py_INCREF(d);
    return d;
}
#endif
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
    PyObject *r;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    int res = PyObject_GetOptionalAttr(o, n, &r);
    return (res != 0) ? r : __Pyx_NewRef(d);
#else
  #if CYTHON_USE_TYPE_SLOTS
    if (likely(PyUnicode_Check(n))) {
        r = __Pyx_PyObject_GetAttrStrNoError(o, n);
        if (unlikely(!r) && likely(!PyErr_Occurred())) {
            r = __Pyx_NewRef(d);
        }
        return r;
    }
  #endif
    r = PyObject_GetAttr(o, n);
    return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
#endif
}

/* PyLongCompare */
static CYTHON_INLINE int __Pyx_PyLong_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(inplace);
    if (op1 == op2) {
        return 1;
    }
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        int unequal;
        unsigned long uintval;
        Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
        const digit* digits = __Pyx_PyLong_Digits(op1);
        if (intval == 0) {
            return (__Pyx_PyLong_IsZero(op1) == 1);
        } else if (intval < 0) {
            if (__Pyx_PyLong_IsNonNeg(op1))
                return 0;
            intval = -intval;
        } else {
            if (__Pyx_PyLong_IsNeg(op1))
                return 0;
        }
        uintval = (unsigned long) intval;
#if PyLong_SHIFT * 4 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 4)) {
            unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 3 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 3)) {
            unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 2 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 2)) {
            unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 1 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 1)) {
            unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
            unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
        return (unequal == 0);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = __Pyx_PyFloat_AS_DOUBLE(op1);
        return ((double)a == (double)b);
    }
    return __Pyx_PyObject_IsTrueAndDecref(
        PyObject_RichCompare(op1, op2, Py_EQ));
}

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a, x;
#ifdef HAVE_LONG_LONG
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla, llx;
#endif
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return __Pyx_NewRef(op2);
    }
    if (unlikely(!__Pyx_PyLong_CompactAsLong(op1, &a))) {
        const digit* digits = __Pyx_PyLong_Digits(op1);
        const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
        switch (size) {
            case -2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case -3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case -4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
        }
    }
            x = a + b;
        return PyLong_FromLong(x);
#ifdef HAVE_LONG_LONG
    long_long:
            llx = lla + llb;
        return PyLong_FromLongLong(llx);
#endif
    return __Pyx_Fallback___Pyx_PyLong_AddObjC(op1, op2, inplace);
    
    
}
#endif
static PyObject* __Pyx_Float___Pyx_PyLong_AddObjC(PyObject *float_val, long intval, int zerodivision_check) {
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    double a = __Pyx_PyFloat_AS_DOUBLE(float_val);
        double result;
        
        result = ((double)a) + (double)b;
        return PyFloat_FromDouble(result);
}
static CYTHON_INLINE PyObject* __Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_AddObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        return __Pyx_Float___Pyx_PyLong_AddObjC(op1, intval, zerodivision_check);
    }
    return __Pyx_Fallback___Pyx_PyLong_AddObjC(op1, op2, inplace);
}
#endif

/* RejectKeywords */
static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds) {
    PyObject *key = NULL;
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds))) {
        key = __Pyx_PySequence_ITEM(kwds, 0);
    } else {
        Py_ssize_t pos = 0;
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
        if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return;
#endif
        PyDict_Next(kwds, &pos, &key, NULL);
        Py_INCREF(key);
    }
    if (likely(key)) {
        PyErr_Format(PyExc_TypeError,
            "%s() got an unexpected keyword argument '%U'",
            function_name, key);
        Py_DECREF(key);
    }
}

/* ExtTypeTest */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
    __Pyx_TypeName obj_type_name;
    __Pyx_TypeName type_name;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (likely(__Pyx_TypeCheck(obj, type)))
        return 1;
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    type_name = __Pyx_PyType_GetFullyQualifiedName(type);
    PyErr_Format(PyExc_TypeError,
                 "Cannot convert " __Pyx_FMT_TYPENAME " to " __Pyx_FMT_TYPENAME,
                 obj_type_name, type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    __Pyx_DECREF_TypeName(type_name);
    return 0;
}

/* RaiseUnexpectedTypeError */
static int
__Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj)
{
    __Pyx_TypeName obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError, "Expected %s, got " __Pyx_FMT_TYPENAME,
                 expected, obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* UnicodeConcatInPlace */
# if CYTHON_COMPILING_IN_CPYTHON
static int
__Pyx_unicode_modifiable(PyObject *unicode)
{
    if (Py_REFCNT(unicode) != 1)
        return 0;
    if (!PyUnicode_CheckExact(unicode))
        return 0;
    if (PyUnicode_CHECK_INTERNED(unicode))
        return 0;
    return 1;
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    ) {
    PyObject *left = *p_left;
    Py_ssize_t left_len, right_len, new_len;
    if (unlikely(__Pyx_PyUnicode_READY(left) == -1))
        return NULL;
    if (unlikely(__Pyx_PyUnicode_READY(right) == -1))
        return NULL;
    left_len = PyUnicode_GET_LENGTH(left);
    if (left_len == 0) {
        Py_INCREF(right);
        return right;
    }
    right_len = PyUnicode_GET_LENGTH(right);
    if (right_len == 0) {
        Py_INCREF(left);
        return left;
    }
    if (unlikely(left_len > PY_SSIZE_T_MAX - right_len)) {
        PyErr_SetString(PyExc_OverflowError,
                        "strings are too large to concat");
        return NULL;
    }
    new_len = left_len + right_len;
    if (__Pyx_unicode_modifiable(left)
            && PyUnicode_CheckExact(right)
            && PyUnicode_KIND(right) <= PyUnicode_KIND(left)
            && !(PyUnicode_IS_ASCII(left) && !PyUnicode_IS_ASCII(right))) {
        int ret;
        __Pyx_GIVEREF(*p_left);
        ret = PyUnicode_Resize(p_left, new_len);
        __Pyx_GOTREF(*p_left);
        if (unlikely(ret != 0))
            return NULL;
        #if PY_VERSION_HEX >= 0x030d0000
        if (unlikely(PyUnicode_CopyCharacters(*p_left, left_len, right, 0, right_len) < 0)) return NULL;
        #else
        _PyUnicode_FastCopyCharacters(*p_left, left_len, right, 0, right_len);
        #endif
        __Pyx_INCREF(*p_left);
        __Pyx_GIVEREF(*p_left);
        return *p_left;
    } else {
        return __Pyx_PyUnicode_Concat(left, right);
    }
  }
#endif

/* KeywordStringCheck */
static int __Pyx_CheckKeywordStrings(
    const char* function_name,
    PyObject *kw)
{
#if CYTHON_COMPILING_IN_PYPY && !defined(PyArg_ValidateKeywordArguments)
    CYTHON_UNUSED_VAR(function_name);
    CYTHON_UNUSED_VAR(kw);
    return 0;
#else
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
#if PY_VERSION_HEX >= 0x03090000
        CYTHON_UNUSED_VAR(function_name);
#else
        Py_ssize_t kwsize;
        #if CYTHON_ASSUME_SAFE_SIZE
        kwsize = PyTuple_GET_SIZE(kw);
        #else
        kwsize = PyTuple_Size(kw);
        if (unlikely(kwsize < 0)) return -1;
        #endif
        for (Py_ssize_t pos = 0; pos < kwsize; pos++) {
            PyObject* key = NULL;
            #if CYTHON_ASSUME_SAFE_MACROS
            key = PyTuple_GET_ITEM(kw, pos);
            #else
            key = PyTuple_GetItem(kw, pos);
            if (unlikely(!key)) return -1;
            #endif
            if (unlikely(!PyUnicode_Check(key))) {
                PyErr_Format(PyExc_TypeError,
                    "%.200s() keywords must be strings", function_name);
                return -1;
            }
        }
#endif
    } else {
        if (unlikely(!PyArg_ValidateKeywordArguments(kw))) return -1;
    }
    return 0;
#endif
}

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a, x;
#ifdef HAVE_LONG_LONG
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla, llx;
#endif
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return PyLong_FromLong(-intval);
    }
    if (unlikely(!__Pyx_PyLong_CompactAsLong(op1, &a))) {
        const digit* digits = __Pyx_PyLong_Digits(op1);
        const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
        switch (size) {
            case -2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case -3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case -4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    break;
                #ifdef HAVE_LONG_LONG
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    goto long_long;
                #endif
                }
                CYTHON_FALLTHROUGH;
            default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
        }
    }
            x = a - b;
        return PyLong_FromLong(x);
#ifdef HAVE_LONG_LONG
    long_long:
            llx = lla - llb;
        return PyLong_FromLongLong(llx);
#endif
    return __Pyx_Fallback___Pyx_PyLong_SubtractObjC(op1, op2, inplace);
    
    
}
#endif
static PyObject* __Pyx_Float___Pyx_PyLong_SubtractObjC(PyObject *float_val, long intval, int zerodivision_check) {
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    double a = __Pyx_PyFloat_AS_DOUBLE(float_val);
        double result;
        
        result = ((double)a) - (double)b;
        return PyFloat_FromDouble(result);
}
static CYTHON_INLINE PyObject* __Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_SubtractObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        return __Pyx_Float___Pyx_PyLong_SubtractObjC(op1, intval, zerodivision_check);
    }
    return __Pyx_Fallback___Pyx_PyLong_SubtractObjC(op1, op2, inplace);
}
#endif

/* PyObjectVectorCallKwBuilder */
#if CYTHON_VECTORCALL
static int __Pyx_VectorcallBuilder_AddArg(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    (void)__Pyx_PyObject_FastCallDict;
    if (__Pyx_PyTuple_SET_ITEM(builder, n, key) != (0)) return -1;
    Py_INCREF(key);
    args[n] = value;
    return 0;
}
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    (void)__Pyx_VectorcallBuilder_AddArgStr;
    if (unlikely(!PyUnicode_Check(key))) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        return -1;
    }
    return __Pyx_VectorcallBuilder_AddArg(key, value, builder, args, n);
}
static int __Pyx_VectorcallBuilder_AddArgStr(const char *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    PyObject *pyKey = PyUnicode_FromString(key);
    if (!pyKey) return -1;
    return __Pyx_VectorcallBuilder_AddArg(pyKey, value, builder, args, n);
}
#else // CYTHON_VECTORCALL
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, CYTHON_UNUSED PyObject **args, CYTHON_UNUSED int n) {
    if (unlikely(!PyUnicode_Check(key))) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        return -1;
    }
    return PyDict_SetItem(builder, key, value);
}
#endif

/* ObjectGetItem */
#if CYTHON_USE_TYPE_SLOTS
static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) {
    PyObject *runerr = NULL;
    Py_ssize_t key_value;
    key_value = __Pyx_PyIndex_AsSsize_t(index);
    if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
        return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
    }
    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
        __Pyx_TypeName index_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(index));
        PyErr_Clear();
        PyErr_Format(PyExc_IndexError,
            "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name);
        __Pyx_DECREF_TypeName(index_type_name);
    }
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
    __Pyx_TypeName obj_type_name;
    if (likely(PyType_Check(obj))) {
        PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_mstate_global->__pyx_n_u_class_getitem);
        if (!meth) {
            PyErr_Clear();
        } else {
            PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
            Py_DECREF(meth);
            return result;
        }
    }
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) {
    PyTypeObject *tp = Py_TYPE(obj);
    PyMappingMethods *mm = tp->tp_as_mapping;
    PySequenceMethods *sm = tp->tp_as_sequence;
    if (likely(mm && mm->mp_subscript)) {
        return mm->mp_subscript(obj, key);
    }
    if (likely(sm && sm->sq_item)) {
        return __Pyx_PyObject_GetIndex(obj, key);
    }
    return __Pyx_PyObject_GetItem_Slow(obj, key);
}
#endif

/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    __Pyx_TypeName type_name;
    __Pyx_TypeName obj_type_name;
    PyObject *extra_info = __pyx_mstate_global->__pyx_empty_unicode;
    int from_annotation_subclass = 0;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    else if (!exact) {
        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
    } else if (exact == 2) {
        if (__Pyx_TypeCheck(obj, type)) {
            from_annotation_subclass = 1;
            extra_info = __pyx_mstate_global->__pyx_kp_u_Note_that_Cython_is_deliberately;
        }
    }
    type_name = __Pyx_PyType_GetFullyQualifiedName(type);
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME
        ", got " __Pyx_FMT_TYPENAME ")"
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
        "%s%U"
#endif
        , name, type_name, obj_type_name
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
        , (from_annotation_subclass ? ". " : ""), extra_info
#endif
        );
#if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
    if (exact == 2 && from_annotation_subclass) {
        PyObject *res;
        PyObject *vargs[2];
        vargs[0] = PyErr_GetRaisedException();
        vargs[1] = extra_info;
        res = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_kp_u_add_note, vargs, 2, NULL);
        Py_XDECREF(res);
        PyErr_SetRaisedException(vargs[0]);
    }
#endif
    __Pyx_DECREF_TypeName(type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* ErrOccurredWithGIL */
static CYTHON_INLINE int __Pyx_ErrOccurredWithGIL(void) {
  int err;
  PyGILState_STATE _save = PyGILState_Ensure();
  err = !!PyErr_Occurred();
  PyGILState_Release(_save);
  return err;
}

/* PySequenceMultiply */
static PyObject* __Pyx_PySequence_Multiply_Generic(PyObject *seq, Py_ssize_t mul) {
    PyObject *result, *pymul = PyLong_FromSsize_t(mul);
    if (unlikely(!pymul))
        return NULL;
    result = PyNumber_Multiply(seq, pymul);
    Py_DECREF(pymul);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul) {
#if CYTHON_USE_TYPE_SLOTS
    PyTypeObject *type = Py_TYPE(seq);
    if (likely(type->tp_as_sequence && type->tp_as_sequence->sq_repeat)) {
        return type->tp_as_sequence->sq_repeat(seq, mul);
    } else
#endif
    {
        return __Pyx_PySequence_Multiply_Generic(seq, mul);
    }
}

/* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
    PyObject *module = 0;
    PyObject *empty_dict = 0;
    PyObject *empty_list = 0;
    empty_dict = PyDict_New();
    if (unlikely(!empty_dict))
        goto bad;
    if (level == -1) {
        const char* package_sep = strchr(__Pyx_MODULE_NAME, '.');
        if (package_sep != (0)) {
            module = PyImport_ImportModuleLevelObject(
                name, __pyx_mstate_global->__pyx_d, empty_dict, from_list, 1);
            if (unlikely(!module)) {
                if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
                    goto bad;
                PyErr_Clear();
            }
        }
        level = 0;
    }
    if (!module) {
        module = PyImport_ImportModuleLevelObject(
            name, __pyx_mstate_global->__pyx_d, empty_dict, from_list, level);
    }
bad:
    Py_XDECREF(empty_dict);
    Py_XDECREF(empty_list);
    return module;
}

/* ImportFrom */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
        const char* module_name_str = 0;
        PyObject* module_name = 0;
        PyObject* module_dot = 0;
        PyObject* full_name = 0;
        PyErr_Clear();
        module_name_str = PyModule_GetName(module);
        if (unlikely(!module_name_str)) { goto modbad; }
        module_name = PyUnicode_FromString(module_name_str);
        if (unlikely(!module_name)) { goto modbad; }
        module_dot = PyUnicode_Concat(module_name, __pyx_mstate_global->__pyx_kp_u__7);
        if (unlikely(!module_dot)) { goto modbad; }
        full_name = PyUnicode_Concat(module_dot, name);
        if (unlikely(!full_name)) { goto modbad; }
        #if (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM  < 0x07030400) ||\
                CYTHON_COMPILING_IN_GRAAL
        {
            PyObject *modules = PyImport_GetModuleDict();
            if (unlikely(!modules))
                goto modbad;
            value = PyObject_GetItem(modules, full_name);
        }
        #else
        value = PyImport_GetModule(full_name);
        #endif
      modbad:
        Py_XDECREF(full_name);
        Py_XDECREF(module_dot);
        Py_XDECREF(module_name);
    }
    if (unlikely(!value)) {
        PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
    }
    return value;
}

/* LimitedApiGetTypeDict */
#if CYTHON_COMPILING_IN_LIMITED_API
static Py_ssize_t __Pyx_GetTypeDictOffset(void) {
    PyObject *tp_dictoffset_o;
    Py_ssize_t tp_dictoffset;
    tp_dictoffset_o = PyObject_GetAttrString((PyObject*)(&PyType_Type), "__dictoffset__");
    if (unlikely(!tp_dictoffset_o)) return -1;
    tp_dictoffset = PyLong_AsSsize_t(tp_dictoffset_o);
    Py_DECREF(tp_dictoffset_o);
    if (unlikely(tp_dictoffset == 0)) {
        PyErr_SetString(
            PyExc_TypeError,
            "'type' doesn't have a dictoffset");
        return -1;
    } else if (unlikely(tp_dictoffset < 0)) {
        PyErr_SetString(
            PyExc_TypeError,
            "'type' has an unexpected negative dictoffset. "
            "Please report this as Cython bug");
        return -1;
    }
    return tp_dictoffset;
}
static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp) {
    static Py_ssize_t tp_dictoffset = 0;
    if (unlikely(tp_dictoffset == 0)) {
        tp_dictoffset = __Pyx_GetTypeDictOffset();
        if (unlikely(tp_dictoffset == -1 && PyErr_Occurred())) {
            tp_dictoffset = 0; // try again next time?
            return NULL;
        }
    }
    return *(PyObject**)((char*)tp + tp_dictoffset);
}
#endif

/* SetItemOnTypeDict */
static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v) {
    int result;
    PyObject *tp_dict;
#if CYTHON_COMPILING_IN_LIMITED_API
    tp_dict = __Pyx_GetTypeDict(tp);
    if (unlikely(!tp_dict)) return -1;
#else
    tp_dict = tp->tp_dict;
#endif
    result = PyDict_SetItem(tp_dict, k, v);
    if (likely(!result)) {
        PyType_Modified(tp);
        if (unlikely(PyObject_HasAttr(v, __pyx_mstate_global->__pyx_n_u_set_name))) {
            PyObject *setNameResult = PyObject_CallMethodObjArgs(v, __pyx_mstate_global->__pyx_n_u_set_name,  (PyObject *) tp, k, NULL);
            if (!setNameResult) return -1;
            Py_DECREF(setNameResult);
        }
    }
    return result;
}

/* FixUpExtensionType */
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
#if __PYX_LIMITED_VERSION_HEX > 0x030900B1
    CYTHON_UNUSED_VAR(spec);
    CYTHON_UNUSED_VAR(type);
    CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
#else
    const PyType_Slot *slot = spec->slots;
    int changed = 0;
#if !CYTHON_COMPILING_IN_LIMITED_API
    while (slot && slot->slot && slot->slot != Py_tp_members)
        slot++;
    if (slot && slot->slot == Py_tp_members) {
#if !CYTHON_COMPILING_IN_CPYTHON
        const
#endif  // !CYTHON_COMPILING_IN_CPYTHON)
            PyMemberDef *memb = (PyMemberDef*) slot->pfunc;
        while (memb && memb->name) {
            if (memb->name[0] == '_' && memb->name[1] == '_') {
                if (strcmp(memb->name, "__weaklistoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_weaklistoffset = memb->offset;
                    changed = 1;
                }
                else if (strcmp(memb->name, "__dictoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_dictoffset = memb->offset;
                    changed = 1;
                }
#if CYTHON_METH_FASTCALL
                else if (strcmp(memb->name, "__vectorcalloffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
#if PY_VERSION_HEX >= 0x030800b4
                    type->tp_vectorcall_offset = memb->offset;
#else
                    type->tp_print = (printfunc) memb->offset;
#endif
                    changed = 1;
                }
#endif  // CYTHON_METH_FASTCALL
#if !CYTHON_COMPILING_IN_PYPY
                else if (strcmp(memb->name, "__module__") == 0) {
                    PyObject *descr;
                    assert(memb->type == T_OBJECT);
                    assert(memb->flags == 0 || memb->flags == READONLY);
                    descr = PyDescr_NewMember(type, memb);
                    if (unlikely(!descr))
                        return -1;
                    int set_item_result = PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr);
                    Py_DECREF(descr);
                    if (unlikely(set_item_result < 0)) {
                        return -1;
                    }
                    changed = 1;
                }
#endif  // !CYTHON_COMPILING_IN_PYPY
            }
            memb++;
        }
    }
#endif  // !CYTHON_COMPILING_IN_LIMITED_API
#if !CYTHON_COMPILING_IN_PYPY
    slot = spec->slots;
    while (slot && slot->slot && slot->slot != Py_tp_getset)
        slot++;
    if (slot && slot->slot == Py_tp_getset) {
        PyGetSetDef *getset = (PyGetSetDef*) slot->pfunc;
        while (getset && getset->name) {
            if (getset->name[0] == '_' && getset->name[1] == '_' && strcmp(getset->name, "__module__") == 0) {
                PyObject *descr = PyDescr_NewGetSet(type, getset);
                if (unlikely(!descr))
                    return -1;
                #if CYTHON_COMPILING_IN_LIMITED_API
                PyObject *pyname = PyUnicode_FromString(getset->name);
                if (unlikely(!pyname)) {
                    Py_DECREF(descr);
                    return -1;
                }
                int set_item_result = __Pyx_SetItemOnTypeDict(type, pyname, descr);
                Py_DECREF(pyname);
                #else
                CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
                int set_item_result = PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr);
                #endif
                Py_DECREF(descr);
                if (unlikely(set_item_result < 0)) {
                    return -1;
                }
                changed = 1;
            }
            ++getset;
        }
    }
#endif  // !CYTHON_COMPILING_IN_PYPY
    if (changed)
        PyType_Modified(type);
#endif  // PY_VERSION_HEX > 0x030900B1
    return 0;
}

/* FetchSharedCythonModule */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
    return __Pyx_PyImport_AddModuleRef(__PYX_ABI_MODULE_NAME);
}

/* dict_setdefault */
static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value,
                                                       int is_safe_type) {
    PyObject* value;
    CYTHON_MAYBE_UNUSED_VAR(is_safe_type);
#if CYTHON_COMPILING_IN_LIMITED_API
    value = PyObject_CallMethod(d, "setdefault", "OO", key, default_value);
#elif PY_VERSION_HEX >= 0x030d0000
    PyDict_SetDefaultRef(d, key, default_value, &value);
#else
    value = PyDict_SetDefault(d, key, default_value);
    if (unlikely(!value)) return NULL;
    Py_INCREF(value);
#endif
    return value;
}

/* FetchCommonType */
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
static PyObject* __Pyx_PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
    PyObject *result = __Pyx_PyType_FromModuleAndSpec(module, spec, bases);
    if (result && metaclass) {
        PyObject *old_tp = (PyObject*)Py_TYPE(result);
    Py_INCREF((PyObject*)metaclass);
#if __PYX_LIMITED_VERSION_HEX >= 0x03090000
        Py_SET_TYPE(result, metaclass);
#else
        result->ob_type = metaclass;
#endif
        Py_DECREF(old_tp);
    }
    return result;
}
#else
#define __Pyx_PyType_FromMetaclass(me, mo, s, b) PyType_FromMetaclass(me, mo, s, b)
#endif
static int __Pyx_VerifyCachedType(PyObject *cached_type,
                               const char *name,
                               Py_ssize_t expected_basicsize) {
    Py_ssize_t basicsize;
    if (!PyType_Check(cached_type)) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s is not a type object", name);
        return -1;
    }
    if (expected_basicsize == 0) {
        return 0; // size is inherited, nothing useful to check
    }
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_basicsize;
    py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
    if (unlikely(!py_basicsize)) return -1;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = NULL;
    if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) return -1;
#else
    basicsize = ((PyTypeObject*) cached_type)->tp_basicsize;
#endif
    if (basicsize != expected_basicsize) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s has the wrong size, try recompiling",
            name);
        return -1;
    }
    return 0;
}
static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
    PyObject *abi_module = NULL, *cached_type = NULL, *abi_module_dict, *new_cached_type, *py_object_name;
    int get_item_ref_result;
    const char* object_name = strrchr(spec->name, '.');
    object_name = object_name ? object_name+1 : spec->name;
    py_object_name = PyUnicode_FromString(object_name);
    if (!py_object_name) return NULL;
    abi_module = __Pyx_FetchSharedCythonABIModule();
    if (!abi_module) goto done;
    abi_module_dict = PyModule_GetDict(abi_module);
    if (!abi_module_dict) goto done;
    get_item_ref_result = __Pyx_PyDict_GetItemRef(abi_module_dict, py_object_name, &cached_type);
    if (get_item_ref_result == 1) {
        if (__Pyx_VerifyCachedType(
              cached_type,
              object_name,
              spec->basicsize) < 0) {
            goto bad;
        }
        goto done;
    } else if (unlikely(get_item_ref_result == -1)) {
        goto bad;
    }
    CYTHON_UNUSED_VAR(module);
    cached_type = __Pyx_PyType_FromMetaclass(metaclass, abi_module, spec, bases);
    if (unlikely(!cached_type)) goto bad;
    if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
    new_cached_type = __Pyx_PyDict_SetDefault(abi_module_dict, py_object_name, cached_type, 1);
    if (unlikely(new_cached_type != cached_type)) {
        if (unlikely(!new_cached_type)) goto bad;
        Py_DECREF(cached_type);
        cached_type = new_cached_type;
        if (__Pyx_VerifyCachedType(
                cached_type,
                object_name,
                spec->basicsize) < 0) {
            goto bad;
        }
        goto done;
    } else {
        Py_DECREF(new_cached_type);
    }
done:
    Py_XDECREF(abi_module);
    Py_DECREF(py_object_name);
    assert(cached_type == NULL || PyType_Check(cached_type));
    return (PyTypeObject *) cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}

/* CommonTypesMetaclass */
static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
    return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
}
static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
    {"__module__", __pyx_CommonTypesMetaclass_get_module, NULL, NULL, NULL},
    {0, 0, 0, 0, 0}
};
static PyType_Slot __pyx_CommonTypesMetaclass_slots[] = {
    {Py_tp_getset, (void *)__pyx_CommonTypesMetaclass_getset},
    {0, 0}
};
static PyType_Spec __pyx_CommonTypesMetaclass_spec = {
    __PYX_TYPE_MODULE_PREFIX "_common_types_metatype",
    0,
    0,
#if PY_VERSION_HEX >= 0x030A0000
    Py_TPFLAGS_IMMUTABLETYPE |
    Py_TPFLAGS_DISALLOW_INSTANTIATION |
#endif
    Py_TPFLAGS_DEFAULT,
    __pyx_CommonTypesMetaclass_slots
};
static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
    __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
    PyObject *bases = PyTuple_Pack(1, &PyType_Type);
    if (unlikely(!bases)) {
        return -1;
    }
    mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
    Py_DECREF(bases);
    if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
        return -1;
    }
    return 0;
}

/* CallTypeTraverse */
#if !CYTHON_USE_TYPE_SPECS || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x03090000)
#else
static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg) {
    #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x03090000
    if (__Pyx_get_runtime_version() < 0x03090000) return 0;
    #endif
    if (!always_call) {
        PyTypeObject *base = __Pyx_PyObject_GetSlot(o, tp_base, PyTypeObject*);
        unsigned long flags = PyType_GetFlags(base);
        if (flags & Py_TPFLAGS_HEAPTYPE) {
            return 0;
        }
    }
    Py_VISIT((PyObject*)Py_TYPE(o));
    return 0;
}
#endif

/* PyMethodNew */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    PyObject *result;
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    #if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
    {
        PyObject *args[] = {func, self};
        result = PyObject_Vectorcall(__pyx_mstate_global->__Pyx_CachedMethodType, args, 2, NULL);
    }
    #else
    result = PyObject_CallFunctionObjArgs(__pyx_mstate_global->__Pyx_CachedMethodType, func, self, NULL);
    #endif
    return result;
}
#else
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    return PyMethod_New(func, self);
}
#endif

/* PyVectorcallFastCallDict */
#if CYTHON_METH_FASTCALL && (CYTHON_VECTORCALL || CYTHON_BACKPORT_VECTORCALL)
static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    PyObject *res = NULL;
    PyObject *kwnames;
    PyObject **newargs;
    PyObject **kwvalues;
    Py_ssize_t i, pos;
    size_t j;
    PyObject *key, *value;
    unsigned long keys_are_strings;
    #if !CYTHON_ASSUME_SAFE_SIZE
    Py_ssize_t nkw = PyDict_Size(kw);
    if (unlikely(nkw == -1)) return NULL;
    #else
    Py_ssize_t nkw = PyDict_GET_SIZE(kw);
    #endif
    newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
    if (unlikely(newargs == NULL)) {
        PyErr_NoMemory();
        return NULL;
    }
    for (j = 0; j < nargs; j++) newargs[j] = args[j];
    kwnames = PyTuple_New(nkw);
    if (unlikely(kwnames == NULL)) {
        PyMem_Free(newargs);
        return NULL;
    }
    kwvalues = newargs + nargs;
    pos = i = 0;
    keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
    while (PyDict_Next(kw, &pos, &key, &value)) {
        keys_are_strings &=
        #if CYTHON_COMPILING_IN_LIMITED_API
            PyType_GetFlags(Py_TYPE(key));
        #else
            Py_TYPE(key)->tp_flags;
        #endif
        Py_INCREF(key);
        Py_INCREF(value);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(PyTuple_SetItem(kwnames, i, key) < 0)) goto cleanup;
        #else
        PyTuple_SET_ITEM(kwnames, i, key);
        #endif
        kwvalues[i] = value;
        i++;
    }
    if (unlikely(!keys_are_strings)) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        goto cleanup;
    }
    res = vc(func, newargs, nargs, kwnames);
cleanup:
    Py_DECREF(kwnames);
    for (i = 0; i < nkw; i++)
        Py_DECREF(kwvalues[i]);
    PyMem_Free(newargs);
    return res;
}
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    Py_ssize_t kw_size =
        likely(kw == NULL) ?
        0 :
#if !CYTHON_ASSUME_SAFE_SIZE
        PyDict_Size(kw);
#else
        PyDict_GET_SIZE(kw);
#endif
    if (kw_size == 0) {
        return vc(func, args, nargs, NULL);
    }
#if !CYTHON_ASSUME_SAFE_SIZE
    else if (unlikely(kw_size == -1)) {
        return NULL;
    }
#endif
    return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
}
#endif

/* CythonFunctionShared */
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunctionNoMethod(PyObject *func, void (*cfunc)(void)) {
    if (__Pyx_CyFunction_Check(func)) {
        return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
    } else if (PyCFunction_Check(func)) {
        return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)) {
    if ((PyObject*)Py_TYPE(func) == __pyx_mstate_global->__Pyx_CachedMethodType) {
        int result;
        PyObject *newFunc = PyObject_GetAttr(func, __pyx_mstate_global->__pyx_n_u_func_3);
        if (unlikely(!newFunc)) {
            PyErr_Clear(); // It's only an optimization, so don't throw an error
            return 0;
        }
        result = __Pyx__IsSameCyOrCFunctionNoMethod(newFunc, cfunc);
        Py_DECREF(newFunc);
        return result;
    }
    return __Pyx__IsSameCyOrCFunctionNoMethod(func, cfunc);
}
#else
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)) {
    if (PyMethod_Check(func)) {
        func = PyMethod_GET_FUNCTION(func);
    }
    return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
}
#endif
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    __Pyx_Py_XDECREF_SET(
        __Pyx_CyFunction_GetClassObj(f),
            ((classobj) ? __Pyx_NewRef(classobj) : NULL));
#else
    __Pyx_Py_XDECREF_SET(
        ((PyCMethodObject *) (f))->mm_class,
        (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
#endif
}
static PyObject *
__Pyx_CyFunction_get_doc_locked(__pyx_CyFunctionObject *op)
{
    if (unlikely(op->func_doc == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
        if (unlikely(!op->func_doc)) return NULL;
#else
        if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
            op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
            if (unlikely(op->func_doc == NULL))
                return NULL;
        } else {
            Py_INCREF(Py_None);
            return Py_None;
        }
#endif
    }
    Py_INCREF(op->func_doc);
    return op->func_doc;
}
static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) {
    PyObject *result;
    CYTHON_UNUSED_VAR(closure);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_doc_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (value == NULL) {
        value = Py_None;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_doc, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_name_locked(__pyx_CyFunctionObject *op)
{
    if (unlikely(op->func_name == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_name = PyObject_GetAttrString(op->func, "__name__");
#else
        op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#endif
        if (unlikely(op->func_name == NULL))
            return NULL;
    }
    Py_INCREF(op->func_name);
    return op->func_name;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
    PyObject *result = NULL;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_name_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_name, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    PyObject *result;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    Py_INCREF(op->func_qualname);
    result = op->func_qualname;
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_qualname, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_dict_locked(__pyx_CyFunctionObject *op)
{
    if (unlikely(op->func_dict == NULL)) {
        op->func_dict = PyDict_New();
        if (unlikely(op->func_dict == NULL))
            return NULL;
    }
    Py_INCREF(op->func_dict);
    return op->func_dict;
}
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    PyObject *result;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_dict_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL)) {
        PyErr_SetString(PyExc_TypeError,
               "function's dictionary may not be deleted");
        return -1;
    }
    if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
               "setting function's dictionary to a non-dict");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_dict, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(op->func_globals);
    return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(op);
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
{
    PyObject* result = (op->func_code) ? op->func_code : Py_None;
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
    int result = 0;
    PyObject *res = op->defaults_getter((PyObject *) op);
    if (unlikely(!res))
        return -1;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
    Py_INCREF(op->defaults_tuple);
    op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
    Py_INCREF(op->defaults_kwdict);
    #else
    op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
    if (unlikely(!op->defaults_tuple)) result = -1;
    else {
        op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
        if (unlikely(!op->defaults_kwdict)) result = -1;
    }
    #endif
    Py_DECREF(res);
    return result;
}
static int
__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__defaults__ must be set to a tuple object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->defaults_tuple;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_tuple;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = NULL;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_defaults_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__kwdefaults__ must be set to a dict object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->defaults_kwdict;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_kwdict;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_kwdefaults_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value || value == Py_None) {
        value = NULL;
    } else if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__annotations__ must be set to a dict object");
        return -1;
    }
    Py_XINCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_annotations, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->func_annotations;
    if (unlikely(!result)) {
        result = PyDict_New();
        if (unlikely(!result)) return NULL;
        op->func_annotations = result;
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
    PyObject *result;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_annotations_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static PyObject *
__Pyx_CyFunction_get_is_coroutine_value(__pyx_CyFunctionObject *op) {
    int is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
    if (is_coroutine) {
        PyObject *is_coroutine_value, *module, *fromlist, *marker = __pyx_mstate_global->__pyx_n_u_is_coroutine;
        fromlist = PyList_New(1);
        if (unlikely(!fromlist)) return NULL;
        Py_INCREF(marker);
#if CYTHON_ASSUME_SAFE_MACROS
        PyList_SET_ITEM(fromlist, 0, marker);
#else
        if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
            Py_DECREF(marker);
            Py_DECREF(fromlist);
            return NULL;
        }
#endif
        module = PyImport_ImportModuleLevelObject(__pyx_mstate_global->__pyx_n_u_asyncio_coroutines, NULL, NULL, fromlist, 0);
        Py_DECREF(fromlist);
        if (unlikely(!module)) goto ignore;
        is_coroutine_value = __Pyx_PyObject_GetAttrStr(module, marker);
        Py_DECREF(module);
        if (likely(is_coroutine_value)) {
            return is_coroutine_value;
        }
ignore:
        PyErr_Clear();
    }
    return __Pyx_PyBool_FromLong(is_coroutine);
}
static PyObject *
__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
    PyObject *result;
    CYTHON_UNUSED_VAR(context);
    if (op->func_is_coroutine) {
        return __Pyx_NewRef(op->func_is_coroutine);
    }
    result = __Pyx_CyFunction_get_is_coroutine_value(op);
    if (unlikely(!result))
        return NULL;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    if (op->func_is_coroutine) {
        Py_DECREF(result);
        result = __Pyx_NewRef(op->func_is_coroutine);
    } else {
        op->func_is_coroutine = __Pyx_NewRef(result);
    }
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static void __Pyx_CyFunction_raise_argument_count_error(__pyx_CyFunctionObject *func, const char* message, Py_ssize_t size) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL);
    if (!py_name) return;
    PyErr_Format(PyExc_TypeError,
        "%.200S() %s (%" CYTHON_FORMAT_SSIZE_T "d given)",
        py_name, message, size);
    Py_DECREF(py_name);
#else
    const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name;
    PyErr_Format(PyExc_TypeError,
        "%.200s() %s (%" CYTHON_FORMAT_SSIZE_T "d given)",
        name, message, size);
#endif
}
static void __Pyx_CyFunction_raise_type_error(__pyx_CyFunctionObject *func, const char* message) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL);
    if (!py_name) return;
    PyErr_Format(PyExc_TypeError,
        "%.200S() %s",
        py_name, message);
    Py_DECREF(py_name);
#else
    const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name;
    PyErr_Format(PyExc_TypeError,
        "%.200s() %s",
        name, message);
#endif
}
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *
__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_GetAttrString(op->func, "__module__");
}
static int
__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_SetAttrString(op->func, "__module__", value);
}
#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
    {"func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {"__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {"func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {"__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {"__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
    {"func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {"__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {"func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {"__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {"func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {"__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {"func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {"__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {"func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {"__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {"__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
    {"__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
    {"_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
#endif
    {0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
#if !CYTHON_COMPILING_IN_LIMITED_API
    {"__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
#endif
    {"__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#if CYTHON_METH_FASTCALL
#if CYTHON_BACKPORT_VECTORCALL || CYTHON_COMPILING_IN_LIMITED_API
    {"__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
    {"__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
    {"__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
#endif
#endif
    {0, 0, 0,  0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
{
    PyObject *result = NULL;
    CYTHON_UNUSED_VAR(args);
    __Pyx_BEGIN_CRITICAL_SECTION(m);
    Py_INCREF(m->func_qualname);
    result = m->func_qualname;
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static PyMethodDef __pyx_CyFunction_methods[] = {
    {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
    {0, 0, 0, 0}
};
#if CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
                                       PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
#if !CYTHON_COMPILING_IN_LIMITED_API
    PyCFunctionObject *cf = (PyCFunctionObject*) op;
#endif
    if (unlikely(op == NULL))
        return NULL;
#if CYTHON_COMPILING_IN_LIMITED_API
    op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
    if (unlikely(!op->func)) return NULL;
#endif
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
#if !CYTHON_COMPILING_IN_LIMITED_API
    cf->m_ml = ml;
    cf->m_self = (PyObject *) op;
#endif
    Py_XINCREF(closure);
    op->func_closure = closure;
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_XINCREF(module);
    cf->m_module = module;
#endif
    op->func_dict = NULL;
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    op->func_classobj = NULL;
#else
    ((PyCMethodObject*)op)->mm_class = NULL;
#endif
    op->func_globals = globals;
    Py_INCREF(op->func_globals);
    Py_XINCREF(code);
    op->func_code = code;
    op->defaults = NULL;
    op->defaults_tuple = NULL;
    op->defaults_kwdict = NULL;
    op->defaults_getter = NULL;
    op->func_annotations = NULL;
    op->func_is_coroutine = NULL;
#if CYTHON_METH_FASTCALL
    switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
    case METH_NOARGS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
        break;
    case METH_O:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
        break;
    case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
        break;
    case METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
        break;
    case METH_VARARGS | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = NULL;
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        Py_DECREF(op);
        return NULL;
    }
#endif
    return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
    Py_CLEAR(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_CLEAR(m->func);
#else
    Py_CLEAR(((PyCFunctionObject*)m)->m_module);
#endif
    Py_CLEAR(m->func_dict);
    Py_CLEAR(m->func_name);
    Py_CLEAR(m->func_qualname);
    Py_CLEAR(m->func_doc);
    Py_CLEAR(m->func_globals);
    Py_CLEAR(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
    Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
    {
        PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
        ((PyCMethodObject *) (m))->mm_class = NULL;
        Py_XDECREF(cls);
    }
#endif
#endif
    Py_CLEAR(m->defaults_tuple);
    Py_CLEAR(m->defaults_kwdict);
    Py_CLEAR(m->func_annotations);
    Py_CLEAR(m->func_is_coroutine);
    Py_CLEAR(m->defaults);
    return 0;
}
static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    if (__Pyx_CyFunction_weakreflist(m) != NULL)
        PyObject_ClearWeakRefs((PyObject *) m);
    __Pyx_CyFunction_clear(m);
    __Pyx_PyHeapTypeObject_GC_Del(m);
}
static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    PyObject_GC_UnTrack(m);
    __Pyx__CyFunction_dealloc(m);
}
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
    {
        int e = __Pyx_call_type_traverse((PyObject*)m, 1, visit, arg);
        if (e) return e;
    }
    Py_VISIT(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(m->func);
#else
    Py_VISIT(((PyCFunctionObject*)m)->m_module);
#endif
    Py_VISIT(m->func_dict);
    __Pyx_VISIT_CONST(m->func_name);
    __Pyx_VISIT_CONST(m->func_qualname);
    Py_VISIT(m->func_doc);
    Py_VISIT(m->func_globals);
    __Pyx_VISIT_CONST(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
#endif
    Py_VISIT(m->defaults_tuple);
    Py_VISIT(m->defaults_kwdict);
    Py_VISIT(m->func_is_coroutine);
    Py_VISIT(m->defaults);
    return 0;
}
static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
{
    PyObject *repr;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    repr = PyUnicode_FromFormat("<cyfunction %U at %p>",
                                op->func_qualname, (void *)op);
    __Pyx_END_CRITICAL_SECTION();
    return repr;
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
    PyCFunction meth;
    int flags;
    meth = PyCFunction_GetFunction(f);
    if (unlikely(!meth)) return NULL;
    flags = PyCFunction_GetFlags(f);
    if (unlikely(flags < 0)) return NULL;
#else
    PyCFunctionObject* f = (PyCFunctionObject*)func;
    PyCFunction meth = f->m_ml->ml_meth;
    int flags = f->m_ml->ml_flags;
#endif
    Py_ssize_t size;
    switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
    case METH_VARARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0))
            return (*meth)(self, arg);
        break;
    case METH_VARARGS | METH_KEYWORDS:
        return (*(PyCFunctionWithKeywords)(void(*)(void))meth)(self, arg, kw);
    case METH_NOARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_SIZE
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 0))
                return (*meth)(self, NULL);
            __Pyx_CyFunction_raise_argument_count_error(
                (__pyx_CyFunctionObject*)func,
                "takes no arguments", size);
            return NULL;
        }
        break;
    case METH_O:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_SIZE
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 1)) {
                PyObject *result, *arg0;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                arg0 = PyTuple_GET_ITEM(arg, 0);
                #else
                arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
                #endif
                result = (*meth)(self, arg0);
                #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
                Py_DECREF(arg0);
                #endif
                return result;
            }
            __Pyx_CyFunction_raise_argument_count_error(
                (__pyx_CyFunctionObject*)func,
                "takes exactly one argument", size);
            return NULL;
        }
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        return NULL;
    }
    __Pyx_CyFunction_raise_type_error(
        (__pyx_CyFunctionObject*)func, "takes no keyword arguments");
    return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *self, *result;
#if CYTHON_COMPILING_IN_LIMITED_API
    self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
    if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
    self = ((PyCFunctionObject*)func)->m_self;
#endif
    result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
    return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
    PyObject *result;
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
#if CYTHON_METH_FASTCALL && (CYTHON_VECTORCALL || CYTHON_BACKPORT_VECTORCALL)
     __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
    if (vc) {
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
        return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
#else
        (void) &__Pyx_PyVectorcall_FastCallDict;
        return PyVectorcall_Call(func, args, kw);
#endif
    }
#endif
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        Py_ssize_t argc;
        PyObject *new_args;
        PyObject *self;
#if CYTHON_ASSUME_SAFE_SIZE
        argc = PyTuple_GET_SIZE(args);
#else
        argc = PyTuple_Size(args);
        if (unlikely(argc < 0)) return NULL;
#endif
        new_args = PyTuple_GetSlice(args, 1, argc);
        if (unlikely(!new_args))
            return NULL;
        self = PyTuple_GetItem(args, 0);
        if (unlikely(!self)) {
            Py_DECREF(new_args);
            PyErr_Format(PyExc_TypeError,
                         "unbound method %.200S() needs an argument",
                         cyfunc->func_qualname);
            return NULL;
        }
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
        Py_DECREF(new_args);
    } else {
        result = __Pyx_CyFunction_Call(func, args, kw);
    }
    return result;
}
#if CYTHON_METH_FASTCALL && (CYTHON_VECTORCALL || CYTHON_BACKPORT_VECTORCALL)
static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
{
    int ret = 0;
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        if (unlikely(nargs < 1)) {
            __Pyx_CyFunction_raise_type_error(
                cyfunc, "needs an argument");
            return -1;
        }
        ret = 1;
    }
    if (unlikely(kwnames) && unlikely(__Pyx_PyTuple_GET_SIZE(kwnames))) {
        __Pyx_CyFunction_raise_type_error(
            cyfunc, "takes no keyword arguments");
        return -1;
    }
    return ret;
}
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 0)) {
        __Pyx_CyFunction_raise_argument_count_error(
            cyfunc, "takes no arguments", nargs);
        return NULL;
    }
    return meth(self, NULL);
}
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 1)) {
        __Pyx_CyFunction_raise_argument_count_error(
            cyfunc, "takes exactly one argument", nargs);
        return NULL;
    }
    return meth(self, args[0]);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))meth)(self, args, nargs, kwnames);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    return ((__Pyx_PyCMethod)(void(*)(void))meth)(self, cls, args, (size_t)nargs, kwnames);
}
#endif
static PyType_Slot __pyx_CyFunctionType_slots[] = {
    {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
    {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
    {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
    {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
    {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
    {Py_tp_methods, (void *)__pyx_CyFunction_methods},
    {Py_tp_members, (void *)__pyx_CyFunction_members},
    {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
    {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
    {0, 0},
};
static PyType_Spec __pyx_CyFunctionType_spec = {
    __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
    Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
#if CYTHON_METH_FASTCALL
#if defined(Py_TPFLAGS_HAVE_VECTORCALL)
    Py_TPFLAGS_HAVE_VECTORCALL |
#elif defined(_Py_TPFLAGS_HAVE_VECTORCALL)
    _Py_TPFLAGS_HAVE_VECTORCALL |
#endif
#endif // CYTHON_METH_FASTCALL
#if PY_VERSION_HEX >= 0x030A0000
    Py_TPFLAGS_IMMUTABLETYPE |
#endif
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
    __pyx_CyFunctionType_slots
};
static int __pyx_CyFunction_init(PyObject *module) {
    __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
    mstate->__pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(
        mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_CyFunctionType_spec, NULL);
    if (unlikely(mstate->__pyx_CyFunctionType == NULL)) {
        return -1;
    }
    return 0;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func, PyTypeObject *defaults_type) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults = PyObject_CallObject((PyObject*)defaults_type, NULL); // _PyObject_New(defaults_type);
    if (unlikely(!m->defaults))
        return NULL;
    return m->defaults;
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_tuple = tuple;
    Py_INCREF(tuple);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_kwdict = dict;
    Py_INCREF(dict);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->func_annotations = dict;
    Py_INCREF(dict);
}

/* CythonFunction */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
                                      PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
    PyObject *op = __Pyx_CyFunction_Init(
        PyObject_GC_New(__pyx_CyFunctionObject, __pyx_mstate_global->__pyx_CyFunctionType),
        ml, flags, qualname, closure, module, globals, code
    );
    if (likely(op)) {
        PyObject_GC_Track(op);
    }
    return op;
}

/* ValidateBasesTuple */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
    Py_ssize_t i, n;
#if CYTHON_ASSUME_SAFE_SIZE
    n = PyTuple_GET_SIZE(bases);
#else
    n = PyTuple_Size(bases);
    if (unlikely(n < 0)) return -1;
#endif
    for (i = 1; i < n; i++)
    {
        PyTypeObject *b;
#if CYTHON_AVOID_BORROWED_REFS
        PyObject *b0 = PySequence_GetItem(bases, i);
        if (!b0) return -1;
#elif CYTHON_ASSUME_SAFE_MACROS
        PyObject *b0 = PyTuple_GET_ITEM(bases, i);
#else
        PyObject *b0 = PyTuple_GetItem(bases, i);
        if (!b0) return -1;
#endif
        b = (PyTypeObject*) b0;
        if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE))
        {
            __Pyx_TypeName b_name = __Pyx_PyType_GetFullyQualifiedName(b);
            PyErr_Format(PyExc_TypeError,
                "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
            __Pyx_DECREF_TypeName(b_name);
#if CYTHON_AVOID_BORROWED_REFS
            Py_DECREF(b0);
#endif
            return -1;
        }
        if (dictoffset == 0)
        {
            Py_ssize_t b_dictoffset = 0;
#if CYTHON_USE_TYPE_SLOTS
            b_dictoffset = b->tp_dictoffset;
#else
            PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__");
            if (!py_b_dictoffset) goto dictoffset_return;
            b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset);
            Py_DECREF(py_b_dictoffset);
            if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return;
#endif
            if (b_dictoffset) {
                {
                    __Pyx_TypeName b_name = __Pyx_PyType_GetFullyQualifiedName(b);
                    PyErr_Format(PyExc_TypeError,
                        "extension type '%.200s' has no __dict__ slot, "
                        "but base type '" __Pyx_FMT_TYPENAME "' has: "
                        "either add 'cdef dict __dict__' to the extension type "
                        "or add '__slots__ = [...]' to the base type",
                        type_name, b_name);
                    __Pyx_DECREF_TypeName(b_name);
                }
#if !CYTHON_USE_TYPE_SLOTS
              dictoffset_return:
#endif
#if CYTHON_AVOID_BORROWED_REFS
                Py_DECREF(b0);
#endif
                return -1;
            }
        }
#if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(b0);
#endif
    }
    return 0;
}
#endif

/* PyType_Ready */
CYTHON_UNUSED static int __Pyx_PyType_HasMultipleInheritance(PyTypeObject *t) {
    while (t) {
        PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
        if (bases) {
            return 1;
        }
        t = __Pyx_PyType_GetSlot(t, tp_base, PyTypeObject*);
    }
    return 0;
}
static int __Pyx_PyType_Ready(PyTypeObject *t) {
#if CYTHON_USE_TYPE_SPECS || !CYTHON_COMPILING_IN_CPYTHON || defined(PYSTON_MAJOR_VERSION)
    (void)__Pyx_PyObject_CallMethod0;
#if CYTHON_USE_TYPE_SPECS
    (void)__Pyx_validate_bases_tuple;
#endif
    return PyType_Ready(t);
#else
    int r;
    if (!__Pyx_PyType_HasMultipleInheritance(t)) {
        return PyType_Ready(t);
    }
    PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
    if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1))
        return -1;
#if !defined(PYSTON_MAJOR_VERSION)
    {
        int gc_was_enabled;
    #if PY_VERSION_HEX >= 0x030A00b1
        gc_was_enabled = PyGC_Disable();
        (void)__Pyx_PyObject_CallMethod0;
    #else
        PyObject *ret, *py_status;
        PyObject *gc = NULL;
        #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) &&\
                !CYTHON_COMPILING_IN_GRAAL
        gc = PyImport_GetModule(__pyx_mstate_global->__pyx_kp_u_gc);
        #endif
        if (unlikely(!gc)) gc = PyImport_Import(__pyx_mstate_global->__pyx_kp_u_gc);
        if (unlikely(!gc)) return -1;
        py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_isenabled);
        if (unlikely(!py_status)) {
            Py_DECREF(gc);
            return -1;
        }
        gc_was_enabled = __Pyx_PyObject_IsTrue(py_status);
        Py_DECREF(py_status);
        if (gc_was_enabled > 0) {
            ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_disable);
            if (unlikely(!ret)) {
                Py_DECREF(gc);
                return -1;
            }
            Py_DECREF(ret);
        } else if (unlikely(gc_was_enabled == -1)) {
            Py_DECREF(gc);
            return -1;
        }
    #endif
        t->tp_flags |= Py_TPFLAGS_HEAPTYPE;
#if PY_VERSION_HEX >= 0x030A0000
        t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
#endif
#else
        (void)__Pyx_PyObject_CallMethod0;
#endif
    r = PyType_Ready(t);
#if !defined(PYSTON_MAJOR_VERSION)
        t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
    #if PY_VERSION_HEX >= 0x030A00b1
        if (gc_was_enabled)
            PyGC_Enable();
    #else
        if (gc_was_enabled) {
            PyObject *tp, *v, *tb;
            PyErr_Fetch(&tp, &v, &tb);
            ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_enable);
            if (likely(ret || r == -1)) {
                Py_XDECREF(ret);
                PyErr_Restore(tp, v, tb);
            } else {
                Py_XDECREF(tp);
                Py_XDECREF(v);
                Py_XDECREF(tb);
                r = -1;
            }
        }
        Py_DECREF(gc);
    #endif
    }
#endif
    return r;
#endif
}

/* DelItemOnTypeDict */
static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k) {
    int result;
    PyObject *tp_dict;
#if CYTHON_COMPILING_IN_LIMITED_API
    tp_dict = __Pyx_GetTypeDict(tp);
    if (unlikely(!tp_dict)) return -1;
#else
    tp_dict = tp->tp_dict;
#endif
    result = PyDict_DelItem(tp_dict, k);
    if (likely(!result)) PyType_Modified(tp);
    return result;
}

/* SetupReduce */
static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
  int ret;
  PyObject *name_attr;
  name_attr = __Pyx_PyObject_GetAttrStrNoError(meth, __pyx_mstate_global->__pyx_n_u_name_3);
  if (likely(name_attr)) {
      ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
  } else {
      ret = -1;
  }
  if (unlikely(ret < 0)) {
      PyErr_Clear();
      ret = 0;
  }
  Py_XDECREF(name_attr);
  return ret;
}
static int __Pyx_setup_reduce(PyObject* type_obj) {
    int ret = 0;
    PyObject *object_reduce = NULL;
    PyObject *object_getstate = NULL;
    PyObject *object_reduce_ex = NULL;
    PyObject *reduce = NULL;
    PyObject *reduce_ex = NULL;
    PyObject *reduce_cython = NULL;
    PyObject *setstate = NULL;
    PyObject *setstate_cython = NULL;
    PyObject *getstate = NULL;
#if CYTHON_USE_PYTYPE_LOOKUP
    getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_getstate);
#else
    getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_getstate);
    if (!getstate && PyErr_Occurred()) {
        goto __PYX_BAD;
    }
#endif
    if (getstate) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_getstate);
#else
        object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_getstate);
        if (!object_getstate && PyErr_Occurred()) {
            goto __PYX_BAD;
        }
#endif
        if (object_getstate != getstate) {
            goto __PYX_GOOD;
        }
    }
#if CYTHON_USE_PYTYPE_LOOKUP
    object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
#else
    object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
#endif
    reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;
    if (reduce_ex == object_reduce_ex) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce); if (!object_reduce) goto __PYX_BAD;
#else
        object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce); if (!object_reduce) goto __PYX_BAD;
#endif
        reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_mstate_global->__pyx_n_u_reduce); if (unlikely(!reduce)) goto __PYX_BAD;
        if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_mstate_global->__pyx_n_u_reduce_cython)) {
            reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_cython);
            if (likely(reduce_cython)) {
                ret = __Pyx_SetItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                ret = __Pyx_DelItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
            } else if (reduce == object_reduce || PyErr_Occurred()) {
                goto __PYX_BAD;
            }
            setstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_setstate);
            if (!setstate) PyErr_Clear();
            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_mstate_global->__pyx_n_u_setstate_cython)) {
                setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_setstate_cython);
                if (likely(setstate_cython)) {
                    ret = __Pyx_SetItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                    ret = __Pyx_DelItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                } else if (!setstate || PyErr_Occurred()) {
                    goto __PYX_BAD;
                }
            }
            PyType_Modified((PyTypeObject*)type_obj);
        }
    }
    goto __PYX_GOOD;
__PYX_BAD:
    if (!PyErr_Occurred()) {
        __Pyx_TypeName type_obj_name =
            __Pyx_PyType_GetFullyQualifiedName((PyTypeObject*)type_obj);
        PyErr_Format(PyExc_RuntimeError,
            "Unable to initialize pickling for " __Pyx_FMT_TYPENAME, type_obj_name);
        __Pyx_DECREF_TypeName(type_obj_name);
    }
    ret = -1;
__PYX_GOOD:
#if !CYTHON_USE_PYTYPE_LOOKUP
    Py_XDECREF(object_reduce);
    Py_XDECREF(object_reduce_ex);
    Py_XDECREF(object_getstate);
    Py_XDECREF(getstate);
#endif
    Py_XDECREF(reduce);
    Py_XDECREF(reduce_ex);
    Py_XDECREF(reduce_cython);
    Py_XDECREF(setstate);
    Py_XDECREF(setstate_cython);
    return ret;
}

/* TypeImport */
#ifndef __PYX_HAVE_RT_ImportType_3_1_5
#define __PYX_HAVE_RT_ImportType_3_1_5
static PyTypeObject *__Pyx_ImportType_3_1_5(PyObject *module, const char *module_name, const char *class_name,
    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_5 check_size)
{
    PyObject *result = 0;
    Py_ssize_t basicsize;
    Py_ssize_t itemsize;
#if defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API)
    PyObject *py_basicsize;
    PyObject *py_itemsize;
#endif
    result = PyObject_GetAttrString(module, class_name);
    if (!result)
        goto bad;
    if (!PyType_Check(result)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s.%.200s is not a type object",
            module_name, class_name);
        goto bad;
    }
#if !( defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API) )
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
    itemsize = ((PyTypeObject *)result)->tp_itemsize;
#else
    if (size == 0) {
        return (PyTypeObject *)result;
    }
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
    if (!py_basicsize)
        goto bad;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = 0;
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
    if (!py_itemsize)
        goto bad;
    itemsize = PyLong_AsSsize_t(py_itemsize);
    Py_DECREF(py_itemsize);
    py_itemsize = 0;
    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
#endif
    if (itemsize) {
        if (size % alignment) {
            alignment = size % alignment;
        }
        if (itemsize < (Py_ssize_t)alignment)
            itemsize = (Py_ssize_t)alignment;
    }
    if ((size_t)(basicsize + itemsize) < size) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize+itemsize);
        goto bad;
    }
    if (check_size == __Pyx_ImportType_CheckSize_Error_3_1_5 &&
            ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd-%zd from PyObject",
            module_name, class_name, size, basicsize, basicsize+itemsize);
        goto bad;
    }
    else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_1_5 && (size_t)basicsize > size) {
        if (PyErr_WarnFormat(NULL, 0,
                "%.200s.%.200s size changed, may indicate binary incompatibility. "
                "Expected %zd from C header, got %zd from PyObject",
                module_name, class_name, size, basicsize) < 0) {
            goto bad;
        }
    }
    return (PyTypeObject *)result;
bad:
    Py_XDECREF(result);
    return NULL;
}
#endif

/* ListPack */
static PyObject *__Pyx_PyList_Pack(Py_ssize_t n, ...) {
    va_list va;
    PyObject *l = PyList_New(n);
    va_start(va, n);
    if (unlikely(!l)) goto end;
    for (Py_ssize_t i=0; i<n; ++i) {
        PyObject *arg = va_arg(va, PyObject*);
        Py_INCREF(arg);
        if (__Pyx_PyList_SET_ITEM(l, i, arg) != (0)) {
            Py_CLEAR(l);
            goto end;
        }
    }
    end:
    va_end(va);
    return l;
}

/* ImportDottedModule */
static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) {
    PyObject *partial_name = NULL, *slice = NULL, *sep = NULL;
    Py_ssize_t size;
    if (unlikely(PyErr_Occurred())) {
        PyErr_Clear();
    }
#if CYTHON_ASSUME_SAFE_SIZE
    size = PyTuple_GET_SIZE(parts_tuple);
#else
    size = PyTuple_Size(parts_tuple);
    if (size < 0) goto bad;
#endif
    if (likely(size == count)) {
        partial_name = name;
    } else {
        slice = PySequence_GetSlice(parts_tuple, 0, count);
        if (unlikely(!slice))
            goto bad;
        sep = PyUnicode_FromStringAndSize(".", 1);
        if (unlikely(!sep))
            goto bad;
        partial_name = PyUnicode_Join(sep, slice);
    }
    PyErr_Format(
        PyExc_ModuleNotFoundError,
        "No module named '%U'", partial_name);
bad:
    Py_XDECREF(sep);
    Py_XDECREF(slice);
    Py_XDECREF(partial_name);
    return NULL;
}
static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) {
    PyObject *imported_module;
#if (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM  < 0x07030400) ||\
        CYTHON_COMPILING_IN_GRAAL
    PyObject *modules = PyImport_GetModuleDict();
    if (unlikely(!modules))
        return NULL;
    imported_module = __Pyx_PyDict_GetItemStr(modules, name);
    Py_XINCREF(imported_module);
#else
    imported_module = PyImport_GetModule(name);
#endif
    return imported_module;
}
static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) {
    Py_ssize_t i, nparts;
#if CYTHON_ASSUME_SAFE_SIZE
    nparts = PyTuple_GET_SIZE(parts_tuple);
#else
    nparts = PyTuple_Size(parts_tuple);
    if (nparts < 0) return NULL;
#endif
    for (i=1; i < nparts && module; i++) {
        PyObject *part, *submodule;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        part = PyTuple_GET_ITEM(parts_tuple, i);
#else
        part = __Pyx_PySequence_ITEM(parts_tuple, i);
        if (!part) return NULL;
#endif
        submodule = __Pyx_PyObject_GetAttrStrNoError(module, part);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
        Py_DECREF(part);
#endif
        Py_DECREF(module);
        module = submodule;
    }
    if (unlikely(!module)) {
        return __Pyx__ImportDottedModule_Error(name, parts_tuple, i);
    }
    return module;
}
static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
    PyObject *imported_module;
    PyObject *module = __Pyx_Import(name, NULL, 0);
    if (!parts_tuple || unlikely(!module))
        return module;
    imported_module = __Pyx__ImportDottedModule_Lookup(name);
    if (likely(imported_module)) {
        Py_DECREF(module);
        return imported_module;
    }
    PyErr_Clear();
    return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple);
}
static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject *module = __Pyx__ImportDottedModule_Lookup(name);
    if (likely(module)) {
        PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_mstate_global->__pyx_n_u_spec);
        if (likely(spec)) {
            PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_mstate_global->__pyx_n_u_initializing);
            if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) {
                Py_DECREF(spec);
                spec = NULL;
            }
            Py_XDECREF(unsafe);
        }
        if (likely(!spec)) {
            PyErr_Clear();
            return module;
        }
        Py_DECREF(spec);
        Py_DECREF(module);
    } else if (PyErr_Occurred()) {
        PyErr_Clear();
    }
#endif
    return __Pyx__ImportDottedModule(name, parts_tuple);
}

/* GetAttr */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
    if (likely(PyUnicode_Check(n)))
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* Globals */
static PyObject* __Pyx_Globals(void) {
    return __Pyx_NewRef(__pyx_mstate_global->__pyx_d);
}

/* Py3UpdateBases */
static PyObject*
__Pyx_PEP560_update_bases(PyObject *bases)
{
    Py_ssize_t i, j, size_bases;
    PyObject *base = NULL, *meth, *new_base, *result, *new_bases = NULL;
#if CYTHON_ASSUME_SAFE_SIZE
    size_bases = PyTuple_GET_SIZE(bases);
#else
    size_bases = PyTuple_Size(bases);
    if (size_bases < 0) return NULL;
#endif
    for (i = 0; i < size_bases; i++) {
#if CYTHON_AVOID_BORROWED_REFS
        Py_CLEAR(base);
#endif
#if CYTHON_ASSUME_SAFE_MACROS
        base = PyTuple_GET_ITEM(bases, i);
#else
        base = PyTuple_GetItem(bases, i);
        if (!base) goto error;
#endif
#if CYTHON_AVOID_BORROWED_REFS
        Py_INCREF(base);
#endif
        if (PyType_Check(base)) {
            if (new_bases) {
                if (PyList_Append(new_bases, base) < 0) {
                    goto error;
                }
            }
            continue;
        }
        meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_mstate_global->__pyx_n_u_mro_entries);
        if (!meth && PyErr_Occurred()) {
            goto error;
        }
        if (!meth) {
            if (new_bases) {
                if (PyList_Append(new_bases, base) < 0) {
                    goto error;
                }
            }
            continue;
        }
        new_base = __Pyx_PyObject_CallOneArg(meth, bases);
        Py_DECREF(meth);
        if (!new_base) {
            goto error;
        }
        if (!PyTuple_Check(new_base)) {
            PyErr_SetString(PyExc_TypeError,
                            "__mro_entries__ must return a tuple");
            Py_DECREF(new_base);
            goto error;
        }
        if (!new_bases) {
            if (!(new_bases = PyList_New(i))) {
                goto error;
            }
            for (j = 0; j < i; j++) {
                PyObject *base_from_list;
#if CYTHON_ASSUME_SAFE_MACROS
                base_from_list = PyTuple_GET_ITEM(bases, j);
                PyList_SET_ITEM(new_bases, j, base_from_list);
                Py_INCREF(base_from_list);
#else
                base_from_list = PyTuple_GetItem(bases, j);
                if (!base_from_list) goto error;
                Py_INCREF(base_from_list);
                if (PyList_SetItem(new_bases, j, base_from_list) < 0) goto error;
#endif
            }
        }
#if CYTHON_ASSUME_SAFE_SIZE
        j = PyList_GET_SIZE(new_bases);
#else
        j = PyList_Size(new_bases);
        if (j < 0) goto error;
#endif
        if (PyList_SetSlice(new_bases, j, j, new_base) < 0) {
            goto error;
        }
        Py_DECREF(new_base);
    }
    if (!new_bases) {
        Py_INCREF(bases);
        return bases;
    }
    result = PyList_AsTuple(new_bases);
    Py_DECREF(new_bases);
#if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(base);
#endif
    return result;
error:
    Py_XDECREF(new_bases);
#if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(base);
#endif
    return NULL;
}

/* CalculateMetaclass */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases;
#if CYTHON_ASSUME_SAFE_SIZE
    nbases = PyTuple_GET_SIZE(bases);
#else
    nbases = PyTuple_Size(bases);
    if (nbases < 0) return NULL;
#endif
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
#if CYTHON_ASSUME_SAFE_MACROS
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
#else
        PyObject *tmp = PyTuple_GetItem(bases, i);
        if (!tmp) return NULL;
#endif
        tmptype = Py_TYPE(tmp);
        if (!metaclass) {
            metaclass = tmptype;
            continue;
        }
        if (PyType_IsSubtype(metaclass, tmptype))
            continue;
        if (PyType_IsSubtype(tmptype, metaclass)) {
            metaclass = tmptype;
            continue;
        }
        PyErr_SetString(PyExc_TypeError,
                        "metaclass conflict: "
                        "the metaclass of a derived class "
                        "must be a (non-strict) subclass "
                        "of the metaclasses of all its bases");
        return NULL;
    }
    if (!metaclass) {
        metaclass = &PyType_Type;
    }
    Py_INCREF((PyObject*) metaclass);
    return (PyObject*) metaclass;
}

/* PyObjectCall2Args */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
    PyObject *args[3] = {NULL, arg1, arg2};
    return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectLookupSpecial */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) {
    PyObject *res;
    PyTypeObject *tp = Py_TYPE(obj);
    res = _PyType_Lookup(tp, attr_name);
    if (likely(res)) {
        descrgetfunc f = Py_TYPE(res)->tp_descr_get;
        if (!f) {
            Py_INCREF(res);
        } else {
            res = f(res, obj, (PyObject *)tp);
        }
    } else if (with_error) {
        PyErr_SetObject(PyExc_AttributeError, attr_name);
    }
    return res;
}
#endif

/* Py3ClassCreate */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
                                           PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
    PyObject *ns;
    if (metaclass) {
        PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_mstate_global->__pyx_n_u_prepare);
        if (prep) {
            PyObject *pargs[3] = {NULL, name, bases};
            ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
            Py_DECREF(prep);
        } else {
            if (unlikely(PyErr_Occurred()))
                return NULL;
            ns = PyDict_New();
        }
    } else {
        ns = PyDict_New();
    }
    if (unlikely(!ns))
        return NULL;
    if (unlikely(PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_module, modname) < 0)) goto bad;
    if (unlikely(PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_qualname, qualname) < 0)) goto bad;
    if (unlikely(doc && PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_doc, doc) < 0)) goto bad;
    return ns;
bad:
    Py_DECREF(ns);
    return NULL;
}
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
                                      PyObject *dict, PyObject *mkw,
                                      int calculate_metaclass, int allow_py2_metaclass) {
    PyObject *result;
    PyObject *owned_metaclass = NULL;
    PyObject *margs[4] = {NULL, name, bases, dict};
    if (allow_py2_metaclass) {
        owned_metaclass = PyObject_GetItem(dict, __pyx_mstate_global->__pyx_n_u_metaclass);
        if (owned_metaclass) {
            metaclass = owned_metaclass;
        } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
            PyErr_Clear();
        } else {
            return NULL;
        }
    }
    if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
        metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
        Py_XDECREF(owned_metaclass);
        if (unlikely(!metaclass))
            return NULL;
        owned_metaclass = metaclass;
    }
    result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
    Py_XDECREF(owned_metaclass);
    return result;
}

/* CLineInTraceback */
#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
    PyObject *use_cline;
    PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject **cython_runtime_dict;
#endif
    CYTHON_MAYBE_UNUSED_VAR(tstate);
    if (unlikely(!__pyx_mstate_global->__pyx_cython_runtime)) {
        return c_line;
    }
    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
#if CYTHON_COMPILING_IN_CPYTHON
    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_mstate_global->__pyx_cython_runtime);
    if (likely(cython_runtime_dict)) {
        __Pyx_BEGIN_CRITICAL_SECTION(*cython_runtime_dict);
        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
            use_cline, *cython_runtime_dict,
            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_mstate_global->__pyx_n_u_cline_in_traceback))
        Py_XINCREF(use_cline);
        __Pyx_END_CRITICAL_SECTION();
    } else
#endif
    {
      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_mstate_global->__pyx_cython_runtime, __pyx_mstate_global->__pyx_n_u_cline_in_traceback);
      if (use_cline_obj) {
        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
        Py_INCREF(use_cline);
        Py_DECREF(use_cline_obj);
      } else {
        PyErr_Clear();
        use_cline = NULL;
      }
    }
    if (!use_cline) {
        c_line = 0;
        (void) PyObject_SetAttr(__pyx_mstate_global->__pyx_cython_runtime, __pyx_mstate_global->__pyx_n_u_cline_in_traceback, Py_False);
    }
    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
        c_line = 0;
    }
    Py_XDECREF(use_cline);
    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
    return c_line;
}
#endif

/* CodeObjectCache */
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = start + (end - start) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static __Pyx_CachedCodeObjectType *__pyx__find_code_object(struct __Pyx_CodeObjectCache *code_cache, int code_line) {
    __Pyx_CachedCodeObjectType* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!code_cache->entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line);
    if (unlikely(pos >= code_cache->count) || unlikely(code_cache->entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = code_cache->entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static __Pyx_CachedCodeObjectType *__pyx_find_code_object(int code_line) {
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS
    (void)__pyx__find_code_object;
    return NULL; // Most implementation should have atomics. But otherwise, don't make it thread-safe, just miss.
#else
    struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_nonatomic_int_type old_count = __pyx_atomic_incr_acq_rel(&code_cache->accessor_count);
    if (old_count < 0) {
        __pyx_atomic_decr_acq_rel(&code_cache->accessor_count);
        return NULL;
    }
#endif
    __Pyx_CachedCodeObjectType *result = __pyx__find_code_object(code_cache, code_line);
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_atomic_decr_acq_rel(&code_cache->accessor_count);
#endif
    return result;
#endif
}
static void __pyx__insert_code_object(struct __Pyx_CodeObjectCache *code_cache, int code_line, __Pyx_CachedCodeObjectType* code_object)
{
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = code_cache->entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            code_cache->entries = entries;
            code_cache->max_count = 64;
            code_cache->count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line);
    if ((pos < code_cache->count) && unlikely(code_cache->entries[pos].code_line == code_line)) {
        __Pyx_CachedCodeObjectType* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_INCREF(code_object);
        Py_DECREF(tmp);
        return;
    }
    if (code_cache->count == code_cache->max_count) {
        int new_max = code_cache->max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            code_cache->entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        code_cache->entries = entries;
        code_cache->max_count = new_max;
    }
    for (i=code_cache->count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    code_cache->count++;
    Py_INCREF(code_object);
}
static void __pyx_insert_code_object(int code_line, __Pyx_CachedCodeObjectType* code_object) {
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS
    (void)__pyx__insert_code_object;
    return; // Most implementation should have atomics. But otherwise, don't make it thread-safe, just fail.
#else
    struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_nonatomic_int_type expected = 0;
    if (!__pyx_atomic_int_cmp_exchange(&code_cache->accessor_count, &expected, INT_MIN)) {
        return;
    }
#endif
    __pyx__insert_code_object(code_cache, code_line, code_object);
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_atomic_sub(&code_cache->accessor_count, INT_MIN);
#endif
#endif
}

/* AddTraceback */
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION)
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
                                                       PyObject *firstlineno, PyObject *name) {
    PyObject *replace = NULL;
    if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
    if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
    replace = PyObject_GetAttrString(code, "replace");
    if (likely(replace)) {
        PyObject *result = PyObject_Call(replace, __pyx_mstate_global->__pyx_empty_tuple, scratch_dict);
        Py_DECREF(replace);
        return result;
    }
    PyErr_Clear();
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
    PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
    PyObject *exc_type, *exc_value, *exc_traceback;
    int success = 0;
    if (c_line) {
        (void) __pyx_cfilenm;
        (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
    }
    PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
    code_object = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!code_object) {
        code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
        if (unlikely(!code_object)) goto bad;
        py_py_line = PyLong_FromLong(py_line);
        if (unlikely(!py_py_line)) goto bad;
        py_funcname = PyUnicode_FromString(funcname);
        if (unlikely(!py_funcname)) goto bad;
        dict = PyDict_New();
        if (unlikely(!dict)) goto bad;
        {
            PyObject *old_code_object = code_object;
            code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
            Py_DECREF(old_code_object);
        }
        if (unlikely(!code_object)) goto bad;
        __pyx_insert_code_object(c_line ? -c_line : py_line, code_object);
    } else {
        dict = PyDict_New();
    }
    getframe = PySys_GetObject("_getframe");
    if (unlikely(!getframe)) goto bad;
    if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
    frame = PyEval_EvalCode(code_object, dict, dict);
    if (unlikely(!frame) || frame == Py_None) goto bad;
    success = 1;
  bad:
    PyErr_Restore(exc_type, exc_value, exc_traceback);
    Py_XDECREF(code_object);
    Py_XDECREF(py_py_line);
    Py_XDECREF(py_funcname);
    Py_XDECREF(dict);
    Py_XDECREF(replace);
    if (success) {
        PyTraceBack_Here(
            (struct _frame*)frame);
    }
    Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = NULL;
    PyObject *py_funcname = NULL;
    if (c_line) {
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        if (!py_funcname) goto bad;
        funcname = PyUnicode_AsUTF8(py_funcname);
        if (!funcname) goto bad;
    }
    py_code = PyCode_NewEmpty(filename, funcname, py_line);
    Py_XDECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_funcname);
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject *ptype, *pvalue, *ptraceback;
    if (c_line) {
        c_line = __Pyx_CLineForTraceback(tstate, c_line);
    }
    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!py_code) {
        __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) {
            /* If the code object creation fails, then we should clear the
               fetched exception references and propagate the new exception */
            Py_XDECREF(ptype);
            Py_XDECREF(pvalue);
            Py_XDECREF(ptraceback);
            goto bad;
        }
        __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        tstate,            /*PyThreadState *tstate,*/
        py_code,           /*PyCodeObject *code,*/
        __pyx_mstate_global->__pyx_d,    /*PyObject *globals,*/
        0                  /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}
#endif

/* CIntFromPyVerify */
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
    {\
        func_type value = func_value;\
        if (sizeof(target_type) < sizeof(func_type)) {\
            if (unlikely(value != (func_type) (target_type) value)) {\
                func_type zero = 0;\
                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
                    return (target_type) -1;\
                if (is_unsigned && unlikely(value < zero))\
                    goto raise_neg_overflow;\
                else\
                    goto raise_overflow;\
            }\
        }\
        return (target_type) value;\
    }

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From___pyx_anon_enum(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUipcMem_flags_enum(enum CUipcMem_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUipcMem_flags_enum neg_one = (enum CUipcMem_flags_enum) -1, const_zero = (enum CUipcMem_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUipcMem_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUipcMem_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUipcMem_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUipcMem_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUipcMem_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUipcMem_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUipcMem_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAttach_flags_enum(enum CUmemAttach_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAttach_flags_enum neg_one = (enum CUmemAttach_flags_enum) -1, const_zero = (enum CUmemAttach_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAttach_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemAttach_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemAttach_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAttach_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAttach_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAttach_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAttach_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUctx_flags_enum(enum CUctx_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUctx_flags_enum neg_one = (enum CUctx_flags_enum) -1, const_zero = (enum CUctx_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUctx_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUctx_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUctx_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUctx_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUctx_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUctx_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUctx_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUevent_sched_flags_enum(enum CUevent_sched_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUevent_sched_flags_enum neg_one = (enum CUevent_sched_flags_enum) -1, const_zero = (enum CUevent_sched_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUevent_sched_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUevent_sched_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUevent_sched_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUevent_sched_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_sched_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUevent_sched_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUevent_sched_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__cl_event_flags_enum(enum cl_event_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cl_event_flags_enum neg_one = (enum cl_event_flags_enum) -1, const_zero = (enum cl_event_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum cl_event_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum cl_event_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum cl_event_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cl_event_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cl_event_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum cl_event_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum cl_event_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__cl_context_flags_enum(enum cl_context_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cl_context_flags_enum neg_one = (enum cl_context_flags_enum) -1, const_zero = (enum cl_context_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum cl_context_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum cl_context_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum cl_context_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cl_context_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cl_context_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum cl_context_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum cl_context_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstream_flags_enum(enum CUstream_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstream_flags_enum neg_one = (enum CUstream_flags_enum) -1, const_zero = (enum CUstream_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstream_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUstream_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUstream_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstream_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstream_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstream_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstream_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUevent_flags_enum(enum CUevent_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUevent_flags_enum neg_one = (enum CUevent_flags_enum) -1, const_zero = (enum CUevent_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUevent_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUevent_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUevent_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUevent_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUevent_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUevent_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUevent_record_flags_enum(enum CUevent_record_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUevent_record_flags_enum neg_one = (enum CUevent_record_flags_enum) -1, const_zero = (enum CUevent_record_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUevent_record_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUevent_record_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUevent_record_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUevent_record_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_record_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUevent_record_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUevent_record_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUevent_wait_flags_enum(enum CUevent_wait_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUevent_wait_flags_enum neg_one = (enum CUevent_wait_flags_enum) -1, const_zero = (enum CUevent_wait_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUevent_wait_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUevent_wait_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUevent_wait_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUevent_wait_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_wait_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUevent_wait_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUevent_wait_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamWaitValue_flags_enum(enum CUstreamWaitValue_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamWaitValue_flags_enum neg_one = (enum CUstreamWaitValue_flags_enum) -1, const_zero = (enum CUstreamWaitValue_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamWaitValue_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUstreamWaitValue_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUstreamWaitValue_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamWaitValue_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamWaitValue_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamWaitValue_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamWaitValue_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamWriteValue_flags_enum(enum CUstreamWriteValue_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamWriteValue_flags_enum neg_one = (enum CUstreamWriteValue_flags_enum) -1, const_zero = (enum CUstreamWriteValue_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamWriteValue_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUstreamWriteValue_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUstreamWriteValue_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamWriteValue_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamWriteValue_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamWriteValue_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamWriteValue_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum(enum CUstreamBatchMemOpType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamBatchMemOpType_enum neg_one = (enum CUstreamBatchMemOpType_enum) -1, const_zero = (enum CUstreamBatchMemOpType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamBatchMemOpType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamBatchMemOpType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamBatchMemOpType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamMemoryBarrier_flags_enum(enum CUstreamMemoryBarrier_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamMemoryBarrier_flags_enum neg_one = (enum CUstreamMemoryBarrier_flags_enum) -1, const_zero = (enum CUstreamMemoryBarrier_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamMemoryBarrier_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUstreamMemoryBarrier_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUstreamMemoryBarrier_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamMemoryBarrier_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamMemoryBarrier_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamMemoryBarrier_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamMemoryBarrier_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUoccupancy_flags_enum(enum CUoccupancy_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUoccupancy_flags_enum neg_one = (enum CUoccupancy_flags_enum) -1, const_zero = (enum CUoccupancy_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUoccupancy_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUoccupancy_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUoccupancy_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUoccupancy_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUoccupancy_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUoccupancy_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUoccupancy_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamUpdateCaptureDependencies_flags_enum(enum CUstreamUpdateCaptureDependencies_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamUpdateCaptureDependencies_flags_enum neg_one = (enum CUstreamUpdateCaptureDependencies_flags_enum) -1, const_zero = (enum CUstreamUpdateCaptureDependencies_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUasyncNotificationType_enum(enum CUasyncNotificationType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUasyncNotificationType_enum neg_one = (enum CUasyncNotificationType_enum) -1, const_zero = (enum CUasyncNotificationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUasyncNotificationType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUasyncNotificationType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUasyncNotificationType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUasyncNotificationType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUasyncNotificationType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUasyncNotificationType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUasyncNotificationType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUarray_format_enum(enum CUarray_format_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarray_format_enum neg_one = (enum CUarray_format_enum) -1, const_zero = (enum CUarray_format_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUarray_format_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUarray_format_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUarray_format_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUarray_format_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarray_format_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUarray_format_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUarray_format_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUaddress_mode_enum(enum CUaddress_mode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUaddress_mode_enum neg_one = (enum CUaddress_mode_enum) -1, const_zero = (enum CUaddress_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUaddress_mode_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUaddress_mode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUaddress_mode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUaddress_mode_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUaddress_mode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUaddress_mode_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUaddress_mode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUfilter_mode_enum(enum CUfilter_mode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfilter_mode_enum neg_one = (enum CUfilter_mode_enum) -1, const_zero = (enum CUfilter_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUfilter_mode_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUfilter_mode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUfilter_mode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUfilter_mode_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfilter_mode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUfilter_mode_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUfilter_mode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdevice_attribute_enum(enum CUdevice_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdevice_attribute_enum neg_one = (enum CUdevice_attribute_enum) -1, const_zero = (enum CUdevice_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdevice_attribute_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUdevice_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUdevice_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdevice_attribute_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdevice_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdevice_attribute_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdevice_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUpointer_attribute_enum(enum CUpointer_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUpointer_attribute_enum neg_one = (enum CUpointer_attribute_enum) -1, const_zero = (enum CUpointer_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUpointer_attribute_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUpointer_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUpointer_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUpointer_attribute_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUpointer_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUpointer_attribute_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUpointer_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUfunction_attribute_enum(enum CUfunction_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunction_attribute_enum neg_one = (enum CUfunction_attribute_enum) -1, const_zero = (enum CUfunction_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUfunction_attribute_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUfunction_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUfunction_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUfunction_attribute_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunction_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUfunction_attribute_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUfunction_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUfunc_cache_enum(enum CUfunc_cache_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunc_cache_enum neg_one = (enum CUfunc_cache_enum) -1, const_zero = (enum CUfunc_cache_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUfunc_cache_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUfunc_cache_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUfunc_cache_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUfunc_cache_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunc_cache_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUfunc_cache_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUfunc_cache_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUsharedconfig_enum(enum CUsharedconfig_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUsharedconfig_enum neg_one = (enum CUsharedconfig_enum) -1, const_zero = (enum CUsharedconfig_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUsharedconfig_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUsharedconfig_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUsharedconfig_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUsharedconfig_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUsharedconfig_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUsharedconfig_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUsharedconfig_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUshared_carveout_enum(enum CUshared_carveout_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUshared_carveout_enum neg_one = (enum CUshared_carveout_enum) -1, const_zero = (enum CUshared_carveout_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUshared_carveout_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUshared_carveout_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUshared_carveout_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUshared_carveout_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUshared_carveout_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUshared_carveout_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUshared_carveout_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemorytype_enum(enum CUmemorytype_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemorytype_enum neg_one = (enum CUmemorytype_enum) -1, const_zero = (enum CUmemorytype_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemorytype_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemorytype_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemorytype_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemorytype_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemorytype_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemorytype_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemorytype_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUcomputemode_enum(enum CUcomputemode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUcomputemode_enum neg_one = (enum CUcomputemode_enum) -1, const_zero = (enum CUcomputemode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUcomputemode_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUcomputemode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUcomputemode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUcomputemode_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUcomputemode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUcomputemode_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUcomputemode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmem_advise_enum(enum CUmem_advise_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmem_advise_enum neg_one = (enum CUmem_advise_enum) -1, const_zero = (enum CUmem_advise_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmem_advise_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmem_advise_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmem_advise_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmem_advise_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmem_advise_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmem_advise_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmem_advise_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(enum CUmem_range_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmem_range_attribute_enum neg_one = (enum CUmem_range_attribute_enum) -1, const_zero = (enum CUmem_range_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmem_range_attribute_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmem_range_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmem_range_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmem_range_attribute_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmem_range_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmem_range_attribute_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmem_range_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjit_option_enum(enum CUjit_option_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_option_enum neg_one = (enum CUjit_option_enum) -1, const_zero = (enum CUjit_option_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjit_option_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUjit_option_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUjit_option_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjit_option_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_option_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjit_option_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjit_option_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjit_target_enum(enum CUjit_target_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_target_enum neg_one = (enum CUjit_target_enum) -1, const_zero = (enum CUjit_target_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjit_target_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUjit_target_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUjit_target_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjit_target_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_target_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjit_target_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjit_target_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjit_fallback_enum(enum CUjit_fallback_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_fallback_enum neg_one = (enum CUjit_fallback_enum) -1, const_zero = (enum CUjit_fallback_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjit_fallback_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUjit_fallback_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUjit_fallback_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjit_fallback_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_fallback_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjit_fallback_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjit_fallback_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjit_cacheMode_enum(enum CUjit_cacheMode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_cacheMode_enum neg_one = (enum CUjit_cacheMode_enum) -1, const_zero = (enum CUjit_cacheMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjit_cacheMode_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUjit_cacheMode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUjit_cacheMode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjit_cacheMode_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_cacheMode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjit_cacheMode_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjit_cacheMode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUjitInputType_enum(enum CUjitInputType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjitInputType_enum neg_one = (enum CUjitInputType_enum) -1, const_zero = (enum CUjitInputType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjitInputType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUjitInputType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUjitInputType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjitInputType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjitInputType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjitInputType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjitInputType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphicsRegisterFlags_enum(enum CUgraphicsRegisterFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphicsRegisterFlags_enum neg_one = (enum CUgraphicsRegisterFlags_enum) -1, const_zero = (enum CUgraphicsRegisterFlags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphicsRegisterFlags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphicsRegisterFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphicsRegisterFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphicsRegisterFlags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphicsRegisterFlags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphicsRegisterFlags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphicsRegisterFlags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphicsMapResourceFlags_enum(enum CUgraphicsMapResourceFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphicsMapResourceFlags_enum neg_one = (enum CUgraphicsMapResourceFlags_enum) -1, const_zero = (enum CUgraphicsMapResourceFlags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphicsMapResourceFlags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphicsMapResourceFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphicsMapResourceFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphicsMapResourceFlags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphicsMapResourceFlags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphicsMapResourceFlags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphicsMapResourceFlags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUarray_cubemap_face_enum(enum CUarray_cubemap_face_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarray_cubemap_face_enum neg_one = (enum CUarray_cubemap_face_enum) -1, const_zero = (enum CUarray_cubemap_face_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUarray_cubemap_face_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUarray_cubemap_face_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUarray_cubemap_face_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUarray_cubemap_face_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarray_cubemap_face_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUarray_cubemap_face_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUarray_cubemap_face_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlimit_enum(enum CUlimit_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlimit_enum neg_one = (enum CUlimit_enum) -1, const_zero = (enum CUlimit_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlimit_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUlimit_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUlimit_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlimit_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlimit_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlimit_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlimit_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUresourcetype_enum(enum CUresourcetype_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUresourcetype_enum neg_one = (enum CUresourcetype_enum) -1, const_zero = (enum CUresourcetype_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUresourcetype_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUresourcetype_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUresourcetype_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUresourcetype_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUresourcetype_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUresourcetype_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUresourcetype_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUaccessProperty_enum(enum CUaccessProperty_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUaccessProperty_enum neg_one = (enum CUaccessProperty_enum) -1, const_zero = (enum CUaccessProperty_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUaccessProperty_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUaccessProperty_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUaccessProperty_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUaccessProperty_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUaccessProperty_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUaccessProperty_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUaccessProperty_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphConditionalNodeType_enum(enum CUgraphConditionalNodeType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphConditionalNodeType_enum neg_one = (enum CUgraphConditionalNodeType_enum) -1, const_zero = (enum CUgraphConditionalNodeType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphConditionalNodeType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphConditionalNodeType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphConditionalNodeType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphNodeType_enum(enum CUgraphNodeType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphNodeType_enum neg_one = (enum CUgraphNodeType_enum) -1, const_zero = (enum CUgraphNodeType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphNodeType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphNodeType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphNodeType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphNodeType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphNodeType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphNodeType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphNodeType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphDependencyType_enum(enum CUgraphDependencyType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphDependencyType_enum neg_one = (enum CUgraphDependencyType_enum) -1, const_zero = (enum CUgraphDependencyType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphDependencyType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphDependencyType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphDependencyType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphDependencyType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphDependencyType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphDependencyType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphDependencyType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphInstantiateResult_enum(enum CUgraphInstantiateResult_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphInstantiateResult_enum neg_one = (enum CUgraphInstantiateResult_enum) -1, const_zero = (enum CUgraphInstantiateResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphInstantiateResult_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphInstantiateResult_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphInstantiateResult_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUsynchronizationPolicy_enum(enum CUsynchronizationPolicy_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUsynchronizationPolicy_enum neg_one = (enum CUsynchronizationPolicy_enum) -1, const_zero = (enum CUsynchronizationPolicy_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUsynchronizationPolicy_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUsynchronizationPolicy_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUsynchronizationPolicy_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUclusterSchedulingPolicy_enum(enum CUclusterSchedulingPolicy_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUclusterSchedulingPolicy_enum neg_one = (enum CUclusterSchedulingPolicy_enum) -1, const_zero = (enum CUclusterSchedulingPolicy_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUclusterSchedulingPolicy_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUclusterSchedulingPolicy_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUclusterSchedulingPolicy_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlaunchMemSyncDomain_enum(enum CUlaunchMemSyncDomain_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlaunchMemSyncDomain_enum neg_one = (enum CUlaunchMemSyncDomain_enum) -1, const_zero = (enum CUlaunchMemSyncDomain_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlaunchMemSyncDomain_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlaunchMemSyncDomain_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlaunchMemSyncDomain_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlaunchAttributeID_enum(enum CUlaunchAttributeID_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlaunchAttributeID_enum neg_one = (enum CUlaunchAttributeID_enum) -1, const_zero = (enum CUlaunchAttributeID_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlaunchAttributeID_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUlaunchAttributeID_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUlaunchAttributeID_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlaunchAttributeID_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlaunchAttributeID_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlaunchAttributeID_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlaunchAttributeID_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(enum CUstreamCaptureStatus_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamCaptureStatus_enum neg_one = (enum CUstreamCaptureStatus_enum) -1, const_zero = (enum CUstreamCaptureStatus_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamCaptureStatus_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUstreamCaptureStatus_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUstreamCaptureStatus_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamCaptureStatus_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamCaptureStatus_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamCaptureStatus_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamCaptureStatus_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamCaptureMode_enum(enum CUstreamCaptureMode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamCaptureMode_enum neg_one = (enum CUstreamCaptureMode_enum) -1, const_zero = (enum CUstreamCaptureMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamCaptureMode_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUstreamCaptureMode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUstreamCaptureMode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamCaptureMode_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamCaptureMode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamCaptureMode_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamCaptureMode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdriverProcAddress_flags_enum(enum CUdriverProcAddress_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdriverProcAddress_flags_enum neg_one = (enum CUdriverProcAddress_flags_enum) -1, const_zero = (enum CUdriverProcAddress_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdriverProcAddress_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUdriverProcAddress_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUdriverProcAddress_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdriverProcAddress_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdriverProcAddress_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdriverProcAddress_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdriverProcAddress_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdriverProcAddressQueryResult_enum(enum CUdriverProcAddressQueryResult_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdriverProcAddressQueryResult_enum neg_one = (enum CUdriverProcAddressQueryResult_enum) -1, const_zero = (enum CUdriverProcAddressQueryResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdriverProcAddressQueryResult_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUdriverProcAddressQueryResult_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUdriverProcAddressQueryResult_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdriverProcAddressQueryResult_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdriverProcAddressQueryResult_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdriverProcAddressQueryResult_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdriverProcAddressQueryResult_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUexecAffinityType_enum(enum CUexecAffinityType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexecAffinityType_enum neg_one = (enum CUexecAffinityType_enum) -1, const_zero = (enum CUexecAffinityType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUexecAffinityType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUexecAffinityType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUexecAffinityType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUexecAffinityType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexecAffinityType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUexecAffinityType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUexecAffinityType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUcigDataType_enum(enum CUcigDataType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUcigDataType_enum neg_one = (enum CUcigDataType_enum) -1, const_zero = (enum CUcigDataType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUcigDataType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUcigDataType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUcigDataType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUcigDataType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUcigDataType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUcigDataType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUcigDataType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlibraryOption_enum(enum CUlibraryOption_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlibraryOption_enum neg_one = (enum CUlibraryOption_enum) -1, const_zero = (enum CUlibraryOption_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlibraryOption_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUlibraryOption_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUlibraryOption_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlibraryOption_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlibraryOption_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlibraryOption_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlibraryOption_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__cudaError_enum(enum cudaError_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaError_enum neg_one = (enum cudaError_enum) -1, const_zero = (enum cudaError_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum cudaError_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum cudaError_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum cudaError_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaError_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaError_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaError_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum cudaError_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdevice_P2PAttribute_enum(enum CUdevice_P2PAttribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdevice_P2PAttribute_enum neg_one = (enum CUdevice_P2PAttribute_enum) -1, const_zero = (enum CUdevice_P2PAttribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdevice_P2PAttribute_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdevice_P2PAttribute_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdevice_P2PAttribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUresourceViewFormat_enum(enum CUresourceViewFormat_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUresourceViewFormat_enum neg_one = (enum CUresourceViewFormat_enum) -1, const_zero = (enum CUresourceViewFormat_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUresourceViewFormat_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUresourceViewFormat_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUresourceViewFormat_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUresourceViewFormat_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUresourceViewFormat_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUresourceViewFormat_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUresourceViewFormat_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapDataType_enum(enum CUtensorMapDataType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapDataType_enum neg_one = (enum CUtensorMapDataType_enum) -1, const_zero = (enum CUtensorMapDataType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapDataType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapDataType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUtensorMapDataType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapDataType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapDataType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapDataType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapDataType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapInterleave_enum(enum CUtensorMapInterleave_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapInterleave_enum neg_one = (enum CUtensorMapInterleave_enum) -1, const_zero = (enum CUtensorMapInterleave_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapInterleave_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapInterleave_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUtensorMapInterleave_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapInterleave_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapInterleave_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapInterleave_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapInterleave_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapSwizzle_enum(enum CUtensorMapSwizzle_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapSwizzle_enum neg_one = (enum CUtensorMapSwizzle_enum) -1, const_zero = (enum CUtensorMapSwizzle_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapSwizzle_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapSwizzle_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapSwizzle_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapL2promotion_enum(enum CUtensorMapL2promotion_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapL2promotion_enum neg_one = (enum CUtensorMapL2promotion_enum) -1, const_zero = (enum CUtensorMapL2promotion_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapL2promotion_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapL2promotion_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapL2promotion_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapFloatOOBfill_enum(enum CUtensorMapFloatOOBfill_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapFloatOOBfill_enum neg_one = (enum CUtensorMapFloatOOBfill_enum) -1, const_zero = (enum CUtensorMapFloatOOBfill_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapFloatOOBfill_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapFloatOOBfill_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapFloatOOBfill_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUtensorMapIm2ColWideMode_enum(enum CUtensorMapIm2ColWideMode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapIm2ColWideMode_enum neg_one = (enum CUtensorMapIm2ColWideMode_enum) -1, const_zero = (enum CUtensorMapIm2ColWideMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapIm2ColWideMode_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapIm2ColWideMode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUtensorMapIm2ColWideMode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapIm2ColWideMode_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapIm2ColWideMode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapIm2ColWideMode_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapIm2ColWideMode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum neg_one = (enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) -1, const_zero = (enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUexternalMemoryHandleType_enum(enum CUexternalMemoryHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexternalMemoryHandleType_enum neg_one = (enum CUexternalMemoryHandleType_enum) -1, const_zero = (enum CUexternalMemoryHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUexternalMemoryHandleType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUexternalMemoryHandleType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUexternalMemoryHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUexternalSemaphoreHandleType_enum(enum CUexternalSemaphoreHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexternalSemaphoreHandleType_enum neg_one = (enum CUexternalSemaphoreHandleType_enum) -1, const_zero = (enum CUexternalSemaphoreHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUexternalSemaphoreHandleType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUexternalSemaphoreHandleType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUexternalSemaphoreHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(enum CUmemAllocationHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationHandleType_enum neg_one = (enum CUmemAllocationHandleType_enum) -1, const_zero = (enum CUmemAllocationHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAllocationHandleType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAllocationHandleType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAllocationHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAccess_flags_enum(enum CUmemAccess_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAccess_flags_enum neg_one = (enum CUmemAccess_flags_enum) -1, const_zero = (enum CUmemAccess_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAccess_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemAccess_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemAccess_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAccess_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAccess_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAccess_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAccess_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemLocationType_enum(enum CUmemLocationType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemLocationType_enum neg_one = (enum CUmemLocationType_enum) -1, const_zero = (enum CUmemLocationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemLocationType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemLocationType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemLocationType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemLocationType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemLocationType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemLocationType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemLocationType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAllocationType_enum(enum CUmemAllocationType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationType_enum neg_one = (enum CUmemAllocationType_enum) -1, const_zero = (enum CUmemAllocationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAllocationType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemAllocationType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemAllocationType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAllocationType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAllocationType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAllocationType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAllocationGranularity_flags_enum(enum CUmemAllocationGranularity_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationGranularity_flags_enum neg_one = (enum CUmemAllocationGranularity_flags_enum) -1, const_zero = (enum CUmemAllocationGranularity_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAllocationGranularity_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAllocationGranularity_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAllocationGranularity_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemRangeHandleType_enum(enum CUmemRangeHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemRangeHandleType_enum neg_one = (enum CUmemRangeHandleType_enum) -1, const_zero = (enum CUmemRangeHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemRangeHandleType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemRangeHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemRangeHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemRangeHandleType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemRangeHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemRangeHandleType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemRangeHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemRangeFlags_enum(enum CUmemRangeFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemRangeFlags_enum neg_one = (enum CUmemRangeFlags_enum) -1, const_zero = (enum CUmemRangeFlags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemRangeFlags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemRangeFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemRangeFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemRangeFlags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemRangeFlags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemRangeFlags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemRangeFlags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUarraySparseSubresourceType_enum(enum CUarraySparseSubresourceType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarraySparseSubresourceType_enum neg_one = (enum CUarraySparseSubresourceType_enum) -1, const_zero = (enum CUarraySparseSubresourceType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUarraySparseSubresourceType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUarraySparseSubresourceType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUarraySparseSubresourceType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemOperationType_enum(enum CUmemOperationType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemOperationType_enum neg_one = (enum CUmemOperationType_enum) -1, const_zero = (enum CUmemOperationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemOperationType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemOperationType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemOperationType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemOperationType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemOperationType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemOperationType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemOperationType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemHandleType_enum(enum CUmemHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemHandleType_enum neg_one = (enum CUmemHandleType_enum) -1, const_zero = (enum CUmemHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemHandleType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemHandleType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemHandleType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemAllocationCompType_enum(enum CUmemAllocationCompType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationCompType_enum neg_one = (enum CUmemAllocationCompType_enum) -1, const_zero = (enum CUmemAllocationCompType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAllocationCompType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemAllocationCompType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemAllocationCompType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAllocationCompType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationCompType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAllocationCompType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAllocationCompType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmulticastGranularity_flags_enum(enum CUmulticastGranularity_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmulticastGranularity_flags_enum neg_one = (enum CUmulticastGranularity_flags_enum) -1, const_zero = (enum CUmulticastGranularity_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmulticastGranularity_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmulticastGranularity_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmulticastGranularity_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphExecUpdateResult_enum(enum CUgraphExecUpdateResult_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphExecUpdateResult_enum neg_one = (enum CUgraphExecUpdateResult_enum) -1, const_zero = (enum CUgraphExecUpdateResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphExecUpdateResult_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphExecUpdateResult_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphExecUpdateResult_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(enum CUmemPool_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemPool_attribute_enum neg_one = (enum CUmemPool_attribute_enum) -1, const_zero = (enum CUmemPool_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemPool_attribute_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemPool_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemPool_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemPool_attribute_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemPool_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemPool_attribute_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemPool_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemcpyFlags_enum(enum CUmemcpyFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemcpyFlags_enum neg_one = (enum CUmemcpyFlags_enum) -1, const_zero = (enum CUmemcpyFlags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemcpyFlags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemcpyFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemcpyFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemcpyFlags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemcpyFlags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemcpyFlags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemcpyFlags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemcpySrcAccessOrder_enum(enum CUmemcpySrcAccessOrder_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemcpySrcAccessOrder_enum neg_one = (enum CUmemcpySrcAccessOrder_enum) -1, const_zero = (enum CUmemcpySrcAccessOrder_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemcpySrcAccessOrder_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemcpySrcAccessOrder_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemcpySrcAccessOrder_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemcpySrcAccessOrder_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemcpySrcAccessOrder_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemcpySrcAccessOrder_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemcpySrcAccessOrder_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemcpy3DOperandType_enum(enum CUmemcpy3DOperandType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemcpy3DOperandType_enum neg_one = (enum CUmemcpy3DOperandType_enum) -1, const_zero = (enum CUmemcpy3DOperandType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemcpy3DOperandType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemcpy3DOperandType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemcpy3DOperandType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemcpy3DOperandType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemcpy3DOperandType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemcpy3DOperandType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemcpy3DOperandType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphMem_attribute_enum(enum CUgraphMem_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphMem_attribute_enum neg_one = (enum CUgraphMem_attribute_enum) -1, const_zero = (enum CUgraphMem_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphMem_attribute_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphMem_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphMem_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphMem_attribute_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphMem_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphMem_attribute_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphMem_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphChildGraphNodeOwnership_enum(enum CUgraphChildGraphNodeOwnership_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphChildGraphNodeOwnership_enum neg_one = (enum CUgraphChildGraphNodeOwnership_enum) -1, const_zero = (enum CUgraphChildGraphNodeOwnership_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphChildGraphNodeOwnership_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphChildGraphNodeOwnership_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphChildGraphNodeOwnership_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphChildGraphNodeOwnership_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphChildGraphNodeOwnership_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphChildGraphNodeOwnership_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphChildGraphNodeOwnership_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesOptions_enum(enum CUflushGPUDirectRDMAWritesOptions_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesOptions_enum neg_one = (enum CUflushGPUDirectRDMAWritesOptions_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesOptions_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUGPUDirectRDMAWritesOrdering_enum(enum CUGPUDirectRDMAWritesOrdering_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUGPUDirectRDMAWritesOrdering_enum neg_one = (enum CUGPUDirectRDMAWritesOrdering_enum) -1, const_zero = (enum CUGPUDirectRDMAWritesOrdering_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUGPUDirectRDMAWritesOrdering_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUGPUDirectRDMAWritesOrdering_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesScope_enum(enum CUflushGPUDirectRDMAWritesScope_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesScope_enum neg_one = (enum CUflushGPUDirectRDMAWritesScope_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesScope_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUflushGPUDirectRDMAWritesScope_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUflushGPUDirectRDMAWritesScope_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUflushGPUDirectRDMAWritesTarget_enum(enum CUflushGPUDirectRDMAWritesTarget_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesTarget_enum neg_one = (enum CUflushGPUDirectRDMAWritesTarget_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesTarget_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphDebugDot_flags_enum(enum CUgraphDebugDot_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphDebugDot_flags_enum neg_one = (enum CUgraphDebugDot_flags_enum) -1, const_zero = (enum CUgraphDebugDot_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphDebugDot_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphDebugDot_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphDebugDot_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphDebugDot_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphDebugDot_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphDebugDot_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphDebugDot_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUuserObject_flags_enum(enum CUuserObject_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUuserObject_flags_enum neg_one = (enum CUuserObject_flags_enum) -1, const_zero = (enum CUuserObject_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUuserObject_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUuserObject_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUuserObject_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUuserObject_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUuserObject_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUuserObject_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUuserObject_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUuserObjectRetain_flags_enum(enum CUuserObjectRetain_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUuserObjectRetain_flags_enum neg_one = (enum CUuserObjectRetain_flags_enum) -1, const_zero = (enum CUuserObjectRetain_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUuserObjectRetain_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUuserObjectRetain_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUuserObjectRetain_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUuserObjectRetain_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUuserObjectRetain_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUuserObjectRetain_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUuserObjectRetain_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUgraphInstantiate_flags_enum(enum CUgraphInstantiate_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphInstantiate_flags_enum neg_one = (enum CUgraphInstantiate_flags_enum) -1, const_zero = (enum CUgraphInstantiate_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphInstantiate_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUgraphInstantiate_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUgraphInstantiate_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphInstantiate_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphInstantiate_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphInstantiate_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphInstantiate_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUdeviceNumaConfig_enum(enum CUdeviceNumaConfig_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdeviceNumaConfig_enum neg_one = (enum CUdeviceNumaConfig_enum) -1, const_zero = (enum CUdeviceNumaConfig_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdeviceNumaConfig_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUdeviceNumaConfig_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUdeviceNumaConfig_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdeviceNumaConfig_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdeviceNumaConfig_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdeviceNumaConfig_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdeviceNumaConfig_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUprocessState_enum(enum CUprocessState_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUprocessState_enum neg_one = (enum CUprocessState_enum) -1, const_zero = (enum CUprocessState_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUprocessState_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUprocessState_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUprocessState_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUprocessState_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUprocessState_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUprocessState_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUprocessState_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmoduleLoadingMode_enum(enum CUmoduleLoadingMode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmoduleLoadingMode_enum neg_one = (enum CUmoduleLoadingMode_enum) -1, const_zero = (enum CUmoduleLoadingMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmoduleLoadingMode_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmoduleLoadingMode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmoduleLoadingMode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmoduleLoadingMode_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmoduleLoadingMode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmoduleLoadingMode_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmoduleLoadingMode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUmemDecompressAlgorithm_enum(enum CUmemDecompressAlgorithm_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemDecompressAlgorithm_enum neg_one = (enum CUmemDecompressAlgorithm_enum) -1, const_zero = (enum CUmemDecompressAlgorithm_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemDecompressAlgorithm_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUmemDecompressAlgorithm_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUmemDecompressAlgorithm_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemDecompressAlgorithm_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemDecompressAlgorithm_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemDecompressAlgorithm_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemDecompressAlgorithm_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUfunctionLoadingState_enum(enum CUfunctionLoadingState_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunctionLoadingState_enum neg_one = (enum CUfunctionLoadingState_enum) -1, const_zero = (enum CUfunctionLoadingState_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUfunctionLoadingState_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUfunctionLoadingState_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUfunctionLoadingState_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUfunctionLoadingState_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunctionLoadingState_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUfunctionLoadingState_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUfunctionLoadingState_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(enum CUcoredumpSettings_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUcoredumpSettings_enum neg_one = (enum CUcoredumpSettings_enum) -1, const_zero = (enum CUcoredumpSettings_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUcoredumpSettings_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUcoredumpSettings_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUcoredumpSettings_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUcoredumpSettings_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUcoredumpSettings_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUcoredumpSettings_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUcoredumpSettings_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUCoredumpGenerationFlags(enum CUCoredumpGenerationFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUCoredumpGenerationFlags neg_one = (enum CUCoredumpGenerationFlags) -1, const_zero = (enum CUCoredumpGenerationFlags) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUCoredumpGenerationFlags) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUCoredumpGenerationFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUCoredumpGenerationFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUCoredumpGenerationFlags) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUCoredumpGenerationFlags) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUCoredumpGenerationFlags),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUCoredumpGenerationFlags));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUgreenCtxCreate_flags(CUgreenCtxCreate_flags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUgreenCtxCreate_flags neg_one = (CUgreenCtxCreate_flags) -1, const_zero = (CUgreenCtxCreate_flags) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(CUgreenCtxCreate_flags) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(CUgreenCtxCreate_flags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(CUgreenCtxCreate_flags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(CUgreenCtxCreate_flags) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(CUgreenCtxCreate_flags) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(CUgreenCtxCreate_flags),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(CUgreenCtxCreate_flags));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUdevSmResourceSplit_flags(CUdevSmResourceSplit_flags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUdevSmResourceSplit_flags neg_one = (CUdevSmResourceSplit_flags) -1, const_zero = (CUdevSmResourceSplit_flags) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(CUdevSmResourceSplit_flags) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(CUdevSmResourceSplit_flags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(CUdevSmResourceSplit_flags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(CUdevSmResourceSplit_flags) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(CUdevSmResourceSplit_flags) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(CUdevSmResourceSplit_flags),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(CUdevSmResourceSplit_flags));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUdevResourceType(CUdevResourceType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUdevResourceType neg_one = (CUdevResourceType) -1, const_zero = (CUdevResourceType) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(CUdevResourceType) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(CUdevResourceType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(CUdevResourceType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(CUdevResourceType) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(CUdevResourceType) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(CUdevResourceType),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(CUdevResourceType));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUlogLevel_enum(enum CUlogLevel_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlogLevel_enum neg_one = (enum CUlogLevel_enum) -1, const_zero = (enum CUlogLevel_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlogLevel_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUlogLevel_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUlogLevel_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlogLevel_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlogLevel_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlogLevel_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlogLevel_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUoutput_mode_enum(enum CUoutput_mode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUoutput_mode_enum neg_one = (enum CUoutput_mode_enum) -1, const_zero = (enum CUoutput_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUoutput_mode_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum CUoutput_mode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum CUoutput_mode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUoutput_mode_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUoutput_mode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum CUoutput_mode_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUoutput_mode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum neg_one = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) -1, const_zero = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum neg_one = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum) -1, const_zero = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglResourceLocationFlags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum neg_one = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) -1, const_zero = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum neg_one = (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) -1, const_zero = (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum neg_one = (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum) -1, const_zero = (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLmap_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyLong_As_unsigned_PY_LONG_LONG(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG) -1, const_zero = (unsigned PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        unsigned PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (unsigned PY_LONG_LONG) -1;
        val = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) >= 2 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) >= 3 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) >= 4 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (unsigned PY_LONG_LONG) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) ((((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) ((((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned PY_LONG_LONG) ((((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(unsigned PY_LONG_LONG) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned PY_LONG_LONG) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        unsigned PY_LONG_LONG val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (unsigned PY_LONG_LONG) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (unsigned PY_LONG_LONG) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (unsigned PY_LONG_LONG) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (unsigned PY_LONG_LONG) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(unsigned PY_LONG_LONG) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((unsigned PY_LONG_LONG) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(unsigned PY_LONG_LONG) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((unsigned PY_LONG_LONG) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((unsigned PY_LONG_LONG) 1) << (sizeof(unsigned PY_LONG_LONG) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (unsigned PY_LONG_LONG) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned PY_LONG_LONG");
    return (unsigned PY_LONG_LONG) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned PY_LONG_LONG");
    return (unsigned PY_LONG_LONG) -1;
}

/* CIntFromPy */
static CYTHON_INLINE int __Pyx_PyLong_As_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        int val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyLong_As_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) {
                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) {
                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) {
                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (int) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(int) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(int) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        int val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (int) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (int) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (int) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (int) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((int) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((int) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (int) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int");
    return (int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int");
    return (int) -1;
}

/* CIntFromPy */
static CYTHON_INLINE uint64_t __Pyx_PyLong_As_uint64_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        uint64_t val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (uint64_t) -1;
        val = __Pyx_PyLong_As_uint64_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(uint64_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(uint64_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) >= 2 * PyLong_SHIFT)) {
                            return (uint64_t) (((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(uint64_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) >= 3 * PyLong_SHIFT)) {
                            return (uint64_t) (((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(uint64_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) >= 4 * PyLong_SHIFT)) {
                            return (uint64_t) (((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (uint64_t) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(uint64_t) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(uint64_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(uint64_t) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (uint64_t) (((uint64_t)-1)*(((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(uint64_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (uint64_t) ((((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (uint64_t) (((uint64_t)-1)*(((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(uint64_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (uint64_t) ((((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (uint64_t) (((uint64_t)-1)*(((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(uint64_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (uint64_t) ((((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(uint64_t) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(uint64_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(uint64_t) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(uint64_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        uint64_t val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (uint64_t) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (uint64_t) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (uint64_t) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (uint64_t) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(uint64_t) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((uint64_t) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(uint64_t) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((uint64_t) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((uint64_t) 1) << (sizeof(uint64_t) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (uint64_t) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint64_t");
    return (uint64_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint64_t");
    return (uint64_t) -1;
}

/* CIntFromPy */
static CYTHON_INLINE unsigned int __Pyx_PyLong_As_unsigned_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        unsigned int val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (unsigned int) -1;
        val = __Pyx_PyLong_As_unsigned_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT)) {
                            return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT)) {
                            return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT)) {
                            return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (unsigned int) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(unsigned int) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(unsigned int) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned int) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        unsigned int val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (unsigned int) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (unsigned int) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (unsigned int) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (unsigned int) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(unsigned int) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((unsigned int) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(unsigned int) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((unsigned int) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((unsigned int) 1) << (sizeof(unsigned int) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (unsigned int) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned int");
    return (unsigned int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned int");
    return (unsigned int) -1;
}

/* CIntFromPy */
static CYTHON_INLINE size_t __Pyx_PyLong_As_size_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        size_t val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (size_t) -1;
        val = __Pyx_PyLong_As_size_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 2 * PyLong_SHIFT)) {
                            return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 3 * PyLong_SHIFT)) {
                            return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 4 * PyLong_SHIFT)) {
                            return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (size_t) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(size_t) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(size_t) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(size_t) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        size_t val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (size_t) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (size_t) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (size_t) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (size_t) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(size_t) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((size_t) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(size_t) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((size_t) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((size_t) 1) << (sizeof(size_t) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (size_t) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to size_t");
    return (size_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to size_t");
    return (size_t) -1;
}

/* CIntFromPy */
static CYTHON_INLINE unsigned char __Pyx_PyLong_As_unsigned_char(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        unsigned char val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (unsigned char) -1;
        val = __Pyx_PyLong_As_unsigned_char(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned char, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(unsigned char) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) >= 2 * PyLong_SHIFT)) {
                            return (unsigned char) (((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned char) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) >= 3 * PyLong_SHIFT)) {
                            return (unsigned char) (((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned char) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) >= 4 * PyLong_SHIFT)) {
                            return (unsigned char) (((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (unsigned char) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(unsigned char) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned char, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned char, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(unsigned char) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned char) (((unsigned char)-1)*(((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(unsigned char) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned char) ((((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned char) (((unsigned char)-1)*(((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned char) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned char) ((((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned char) (((unsigned char)-1)*(((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned char) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned char) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned char) ((((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(unsigned char) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned char, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned char) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned char, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        unsigned char val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (unsigned char) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (unsigned char) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (unsigned char) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (unsigned char) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(unsigned char) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((unsigned char) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(unsigned char) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((unsigned char) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((unsigned char) 1) << (sizeof(unsigned char) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (unsigned char) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned char");
    return (unsigned char) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned char");
    return (unsigned char) -1;
}

/* CIntFromPy */
static CYTHON_INLINE unsigned short __Pyx_PyLong_As_unsigned_short(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned short neg_one = (unsigned short) -1, const_zero = (unsigned short) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        unsigned short val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (unsigned short) -1;
        val = __Pyx_PyLong_As_unsigned_short(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned short, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(unsigned short) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) >= 2 * PyLong_SHIFT)) {
                            return (unsigned short) (((((unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned short) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) >= 3 * PyLong_SHIFT)) {
                            return (unsigned short) (((((((unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned short) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) >= 4 * PyLong_SHIFT)) {
                            return (unsigned short) (((((((((unsigned short)digits[3]) << PyLong_SHIFT) | (unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (unsigned short) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(unsigned short) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned short, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned short) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned short, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned short, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(unsigned short) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned short) (((unsigned short)-1)*(((((unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(unsigned short) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned short) ((((((unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(unsigned short) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned short) (((unsigned short)-1)*(((((((unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned short) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned short) ((((((((unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(unsigned short) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned short) (((unsigned short)-1)*(((((((((unsigned short)digits[3]) << PyLong_SHIFT) | (unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned short) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned short) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned short) ((((((((((unsigned short)digits[3]) << PyLong_SHIFT) | (unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(unsigned short) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned short, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned short) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned short, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        unsigned short val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (unsigned short) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (unsigned short) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (unsigned short) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (unsigned short) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(unsigned short) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((unsigned short) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(unsigned short) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((unsigned short) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((unsigned short) 1) << (sizeof(unsigned short) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (unsigned short) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned short");
    return (unsigned short) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned short");
    return (unsigned short) -1;
}

/* CIntFromPy */
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyLong_As_PY_LONG_LONG(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (PY_LONG_LONG) -1;
        val = __Pyx_PyLong_As_PY_LONG_LONG(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) >= 2 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) >= 3 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) >= 4 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (PY_LONG_LONG) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(PY_LONG_LONG) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(PY_LONG_LONG) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) ((((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) ((((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) ((((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(PY_LONG_LONG) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(PY_LONG_LONG) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        PY_LONG_LONG val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (PY_LONG_LONG) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (PY_LONG_LONG) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (PY_LONG_LONG) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (PY_LONG_LONG) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(PY_LONG_LONG) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((PY_LONG_LONG) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(PY_LONG_LONG) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((PY_LONG_LONG) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((PY_LONG_LONG) 1) << (sizeof(PY_LONG_LONG) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (PY_LONG_LONG) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to PY_LONG_LONG");
    return (PY_LONG_LONG) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to PY_LONG_LONG");
    return (PY_LONG_LONG) -1;
}

/* CIntFromPy */
static CYTHON_INLINE uint32_t __Pyx_PyLong_As_uint32_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        uint32_t val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (uint32_t) -1;
        val = __Pyx_PyLong_As_uint32_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(uint32_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(uint32_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) >= 2 * PyLong_SHIFT)) {
                            return (uint32_t) (((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(uint32_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) >= 3 * PyLong_SHIFT)) {
                            return (uint32_t) (((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(uint32_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) >= 4 * PyLong_SHIFT)) {
                            return (uint32_t) (((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (uint32_t) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(uint32_t) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(uint32_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(uint32_t) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (uint32_t) (((uint32_t)-1)*(((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(uint32_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (uint32_t) ((((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (uint32_t) (((uint32_t)-1)*(((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(uint32_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (uint32_t) ((((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (uint32_t) (((uint32_t)-1)*(((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(uint32_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (uint32_t) ((((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(uint32_t) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(uint32_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(uint32_t) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(uint32_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        uint32_t val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (uint32_t) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (uint32_t) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (uint32_t) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (uint32_t) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(uint32_t) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((uint32_t) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(uint32_t) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((uint32_t) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((uint32_t) 1) << (sizeof(uint32_t) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (uint32_t) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint32_t");
    return (uint32_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint32_t");
    return (uint32_t) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(long value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(long) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_PY_LONG_LONG(unsigned PY_LONG_LONG value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG) -1, const_zero = (unsigned PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned PY_LONG_LONG) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned PY_LONG_LONG) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned PY_LONG_LONG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned PY_LONG_LONG),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned PY_LONG_LONG));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemPool_attribute_enum __Pyx_PyLong_As_enum__CUmemPool_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemPool_attribute_enum neg_one = (enum CUmemPool_attribute_enum) -1, const_zero = (enum CUmemPool_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemPool_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemPool_attribute_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemPool_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) (((((enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) (((((((enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) (((((((((enum CUmemPool_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemPool_attribute_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemPool_attribute_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemPool_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemPool_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemPool_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) (((enum CUmemPool_attribute_enum)-1)*(((((enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) ((((((enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) (((enum CUmemPool_attribute_enum)-1)*(((((((enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) ((((((((enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) (((enum CUmemPool_attribute_enum)-1)*(((((((((enum CUmemPool_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemPool_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemPool_attribute_enum) ((((((((((enum CUmemPool_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemPool_attribute_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemPool_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemPool_attribute_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemPool_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemPool_attribute_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemPool_attribute_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemPool_attribute_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemPool_attribute_enum");
    return (enum CUmemPool_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemPool_attribute_enum");
    return (enum CUmemPool_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmem_range_attribute_enum __Pyx_PyLong_As_enum__CUmem_range_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmem_range_attribute_enum neg_one = (enum CUmem_range_attribute_enum) -1, const_zero = (enum CUmem_range_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmem_range_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmem_range_attribute_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmem_range_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) (((((enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) (((((((enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) (((((((((enum CUmem_range_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmem_range_attribute_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmem_range_attribute_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_range_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmem_range_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_range_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) (((enum CUmem_range_attribute_enum)-1)*(((((enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) ((((((enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) (((enum CUmem_range_attribute_enum)-1)*(((((((enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) ((((((((enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) (((enum CUmem_range_attribute_enum)-1)*(((((((((enum CUmem_range_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmem_range_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmem_range_attribute_enum) ((((((((((enum CUmem_range_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmem_range_attribute_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_range_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmem_range_attribute_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_range_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmem_range_attribute_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmem_range_attribute_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmem_range_attribute_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmem_range_attribute_enum");
    return (enum CUmem_range_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmem_range_attribute_enum");
    return (enum CUmem_range_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUpointer_attribute_enum __Pyx_PyLong_As_enum__CUpointer_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUpointer_attribute_enum neg_one = (enum CUpointer_attribute_enum) -1, const_zero = (enum CUpointer_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUpointer_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUpointer_attribute_enum) -1;
        val = __Pyx_PyLong_As_enum__CUpointer_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) (((((enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) (((((((enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) (((((((((enum CUpointer_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUpointer_attribute_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUpointer_attribute_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUpointer_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUpointer_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUpointer_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) (((enum CUpointer_attribute_enum)-1)*(((((enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) ((((((enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) (((enum CUpointer_attribute_enum)-1)*(((((((enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) ((((((((enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) (((enum CUpointer_attribute_enum)-1)*(((((((((enum CUpointer_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUpointer_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUpointer_attribute_enum) ((((((((((enum CUpointer_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUpointer_attribute_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUpointer_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUpointer_attribute_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUpointer_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUpointer_attribute_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUpointer_attribute_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUpointer_attribute_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUpointer_attribute_enum");
    return (enum CUpointer_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUpointer_attribute_enum");
    return (enum CUpointer_attribute_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_int(unsigned int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned int) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(unsigned int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned int) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphMem_attribute_enum __Pyx_PyLong_As_enum__CUgraphMem_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphMem_attribute_enum neg_one = (enum CUgraphMem_attribute_enum) -1, const_zero = (enum CUgraphMem_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUgraphMem_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUgraphMem_attribute_enum) -1;
        val = __Pyx_PyLong_As_enum__CUgraphMem_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) (((((enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) (((((((enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) (((((((((enum CUgraphMem_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUgraphMem_attribute_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUgraphMem_attribute_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphMem_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphMem_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphMem_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) (((enum CUgraphMem_attribute_enum)-1)*(((((enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) ((((((enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) (((enum CUgraphMem_attribute_enum)-1)*(((((((enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) ((((((((enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) (((enum CUgraphMem_attribute_enum)-1)*(((((((((enum CUgraphMem_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphMem_attribute_enum) ((((((((((enum CUgraphMem_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUgraphMem_attribute_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphMem_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphMem_attribute_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphMem_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUgraphMem_attribute_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUgraphMem_attribute_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUgraphMem_attribute_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphMem_attribute_enum");
    return (enum CUgraphMem_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphMem_attribute_enum");
    return (enum CUgraphMem_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUjit_option_enum __Pyx_PyLong_As_enum__CUjit_option_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_option_enum neg_one = (enum CUjit_option_enum) -1, const_zero = (enum CUjit_option_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUjit_option_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUjit_option_enum) -1;
        val = __Pyx_PyLong_As_enum__CUjit_option_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUjit_option_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) (((((enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjit_option_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) (((((((enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjit_option_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) (((((((((enum CUjit_option_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUjit_option_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUjit_option_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_option_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjit_option_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_option_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUjit_option_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) (((enum CUjit_option_enum)-1)*(((((enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUjit_option_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) ((((((enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUjit_option_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) (((enum CUjit_option_enum)-1)*(((((((enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjit_option_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) ((((((((enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUjit_option_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) (((enum CUjit_option_enum)-1)*(((((((((enum CUjit_option_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjit_option_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjit_option_enum) ((((((((((enum CUjit_option_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUjit_option_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_option_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjit_option_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_option_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUjit_option_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUjit_option_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUjit_option_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUjit_option_enum");
    return (enum CUjit_option_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUjit_option_enum");
    return (enum CUjit_option_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUjit_target_enum __Pyx_PyLong_As_enum__CUjit_target_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_target_enum neg_one = (enum CUjit_target_enum) -1, const_zero = (enum CUjit_target_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUjit_target_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUjit_target_enum) -1;
        val = __Pyx_PyLong_As_enum__CUjit_target_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUjit_target_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) (((((enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjit_target_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) (((((((enum CUjit_target_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjit_target_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) (((((((((enum CUjit_target_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUjit_target_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUjit_target_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_target_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjit_target_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_target_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUjit_target_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) (((enum CUjit_target_enum)-1)*(((((enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUjit_target_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) ((((((enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUjit_target_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) (((enum CUjit_target_enum)-1)*(((((((enum CUjit_target_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjit_target_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) ((((((((enum CUjit_target_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUjit_target_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) (((enum CUjit_target_enum)-1)*(((((((((enum CUjit_target_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjit_target_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_target_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_target_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjit_target_enum) ((((((((((enum CUjit_target_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_target_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUjit_target_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_target_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjit_target_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_target_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUjit_target_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUjit_target_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUjit_target_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUjit_target_enum");
    return (enum CUjit_target_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUjit_target_enum");
    return (enum CUjit_target_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUjit_fallback_enum __Pyx_PyLong_As_enum__CUjit_fallback_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_fallback_enum neg_one = (enum CUjit_fallback_enum) -1, const_zero = (enum CUjit_fallback_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUjit_fallback_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUjit_fallback_enum) -1;
        val = __Pyx_PyLong_As_enum__CUjit_fallback_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUjit_fallback_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) (((((enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjit_fallback_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) (((((((enum CUjit_fallback_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjit_fallback_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) (((((((((enum CUjit_fallback_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUjit_fallback_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUjit_fallback_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_fallback_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjit_fallback_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_fallback_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) (((enum CUjit_fallback_enum)-1)*(((((enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUjit_fallback_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) ((((((enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) (((enum CUjit_fallback_enum)-1)*(((((((enum CUjit_fallback_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjit_fallback_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) ((((((((enum CUjit_fallback_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) (((enum CUjit_fallback_enum)-1)*(((((((((enum CUjit_fallback_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjit_fallback_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_fallback_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_fallback_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjit_fallback_enum) ((((((((((enum CUjit_fallback_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_fallback_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUjit_fallback_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_fallback_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjit_fallback_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_fallback_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUjit_fallback_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUjit_fallback_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUjit_fallback_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUjit_fallback_enum");
    return (enum CUjit_fallback_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUjit_fallback_enum");
    return (enum CUjit_fallback_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUjit_cacheMode_enum __Pyx_PyLong_As_enum__CUjit_cacheMode_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_cacheMode_enum neg_one = (enum CUjit_cacheMode_enum) -1, const_zero = (enum CUjit_cacheMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUjit_cacheMode_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUjit_cacheMode_enum) -1;
        val = __Pyx_PyLong_As_enum__CUjit_cacheMode_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) (((((enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) (((((((enum CUjit_cacheMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) (((((((((enum CUjit_cacheMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUjit_cacheMode_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUjit_cacheMode_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_cacheMode_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjit_cacheMode_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_cacheMode_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) (((enum CUjit_cacheMode_enum)-1)*(((((enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) ((((((enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) (((enum CUjit_cacheMode_enum)-1)*(((((((enum CUjit_cacheMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) ((((((((enum CUjit_cacheMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) (((enum CUjit_cacheMode_enum)-1)*(((((((((enum CUjit_cacheMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjit_cacheMode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjit_cacheMode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjit_cacheMode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjit_cacheMode_enum) ((((((((((enum CUjit_cacheMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_cacheMode_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUjit_cacheMode_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_cacheMode_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjit_cacheMode_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_cacheMode_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUjit_cacheMode_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUjit_cacheMode_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUjit_cacheMode_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUjit_cacheMode_enum");
    return (enum CUjit_cacheMode_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUjit_cacheMode_enum");
    return (enum CUjit_cacheMode_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaJitOption __Pyx_PyLong_As_enum__cudaJitOption(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaJitOption neg_one = (enum cudaJitOption) -1, const_zero = (enum cudaJitOption) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum cudaJitOption val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum cudaJitOption) -1;
        val = __Pyx_PyLong_As_enum__cudaJitOption(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum cudaJitOption) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) >= 2 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) (((((enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaJitOption) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) >= 3 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) (((((((enum cudaJitOption)digits[2]) << PyLong_SHIFT) | (enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaJitOption) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) >= 4 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) (((((((((enum cudaJitOption)digits[3]) << PyLong_SHIFT) | (enum cudaJitOption)digits[2]) << PyLong_SHIFT) | (enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum cudaJitOption) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum cudaJitOption) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJitOption, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaJitOption) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJitOption, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum cudaJitOption) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) (((enum cudaJitOption)-1)*(((((enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum cudaJitOption) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) ((((((enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum cudaJitOption) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) (((enum cudaJitOption)-1)*(((((((enum cudaJitOption)digits[2]) << PyLong_SHIFT) | (enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaJitOption) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) ((((((((enum cudaJitOption)digits[2]) << PyLong_SHIFT) | (enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum cudaJitOption) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) (((enum cudaJitOption)-1)*(((((((((enum cudaJitOption)digits[3]) << PyLong_SHIFT) | (enum cudaJitOption)digits[2]) << PyLong_SHIFT) | (enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaJitOption) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJitOption, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJitOption) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaJitOption) ((((((((((enum cudaJitOption)digits[3]) << PyLong_SHIFT) | (enum cudaJitOption)digits[2]) << PyLong_SHIFT) | (enum cudaJitOption)digits[1]) << PyLong_SHIFT) | (enum cudaJitOption)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum cudaJitOption) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJitOption, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaJitOption) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJitOption, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum cudaJitOption val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum cudaJitOption) -1;
#endif
        if (unlikely(ret))
            return (enum cudaJitOption) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaJitOption");
    return (enum cudaJitOption) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaJitOption");
    return (enum cudaJitOption) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaJit_Fallback __Pyx_PyLong_As_enum__cudaJit_Fallback(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaJit_Fallback neg_one = (enum cudaJit_Fallback) -1, const_zero = (enum cudaJit_Fallback) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum cudaJit_Fallback val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum cudaJit_Fallback) -1;
        val = __Pyx_PyLong_As_enum__cudaJit_Fallback(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum cudaJit_Fallback) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) >= 2 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) (((((enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaJit_Fallback) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) >= 3 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) (((((((enum cudaJit_Fallback)digits[2]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaJit_Fallback) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) >= 4 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) (((((((((enum cudaJit_Fallback)digits[3]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[2]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum cudaJit_Fallback) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum cudaJit_Fallback) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJit_Fallback, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaJit_Fallback) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJit_Fallback, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) (((enum cudaJit_Fallback)-1)*(((((enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum cudaJit_Fallback) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) ((((((enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) (((enum cudaJit_Fallback)-1)*(((((((enum cudaJit_Fallback)digits[2]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaJit_Fallback) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) ((((((((enum cudaJit_Fallback)digits[2]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) (((enum cudaJit_Fallback)-1)*(((((((((enum cudaJit_Fallback)digits[3]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[2]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaJit_Fallback) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_Fallback, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_Fallback) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaJit_Fallback) ((((((((((enum cudaJit_Fallback)digits[3]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[2]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[1]) << PyLong_SHIFT) | (enum cudaJit_Fallback)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum cudaJit_Fallback) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJit_Fallback, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaJit_Fallback) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJit_Fallback, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum cudaJit_Fallback val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum cudaJit_Fallback) -1;
#endif
        if (unlikely(ret))
            return (enum cudaJit_Fallback) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaJit_Fallback");
    return (enum cudaJit_Fallback) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaJit_Fallback");
    return (enum cudaJit_Fallback) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaJit_CacheMode __Pyx_PyLong_As_enum__cudaJit_CacheMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaJit_CacheMode neg_one = (enum cudaJit_CacheMode) -1, const_zero = (enum cudaJit_CacheMode) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum cudaJit_CacheMode val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum cudaJit_CacheMode) -1;
        val = __Pyx_PyLong_As_enum__cudaJit_CacheMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum cudaJit_CacheMode) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) >= 2 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) (((((enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaJit_CacheMode) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) >= 3 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) (((((((enum cudaJit_CacheMode)digits[2]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaJit_CacheMode) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) >= 4 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) (((((((((enum cudaJit_CacheMode)digits[3]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[2]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum cudaJit_CacheMode) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum cudaJit_CacheMode) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJit_CacheMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaJit_CacheMode) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJit_CacheMode, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) (((enum cudaJit_CacheMode)-1)*(((((enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum cudaJit_CacheMode) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) ((((((enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) (((enum cudaJit_CacheMode)-1)*(((((((enum cudaJit_CacheMode)digits[2]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaJit_CacheMode) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) ((((((((enum cudaJit_CacheMode)digits[2]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) (((enum cudaJit_CacheMode)-1)*(((((((((enum cudaJit_CacheMode)digits[3]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[2]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaJit_CacheMode) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaJit_CacheMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaJit_CacheMode) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaJit_CacheMode) ((((((((((enum cudaJit_CacheMode)digits[3]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[2]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[1]) << PyLong_SHIFT) | (enum cudaJit_CacheMode)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum cudaJit_CacheMode) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJit_CacheMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaJit_CacheMode) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaJit_CacheMode, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum cudaJit_CacheMode val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum cudaJit_CacheMode) -1;
#endif
        if (unlikely(ret))
            return (enum cudaJit_CacheMode) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaJit_CacheMode");
    return (enum cudaJit_CacheMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaJit_CacheMode");
    return (enum cudaJit_CacheMode) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUlibraryOption_enum __Pyx_PyLong_As_enum__CUlibraryOption_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlibraryOption_enum neg_one = (enum CUlibraryOption_enum) -1, const_zero = (enum CUlibraryOption_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUlibraryOption_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUlibraryOption_enum) -1;
        val = __Pyx_PyLong_As_enum__CUlibraryOption_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUlibraryOption_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) (((((enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUlibraryOption_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) (((((((enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUlibraryOption_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) (((((((((enum CUlibraryOption_enum)digits[3]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUlibraryOption_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUlibraryOption_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlibraryOption_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUlibraryOption_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlibraryOption_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) (((enum CUlibraryOption_enum)-1)*(((((enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUlibraryOption_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) ((((((enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) (((enum CUlibraryOption_enum)-1)*(((((((enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUlibraryOption_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) ((((((((enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) (((enum CUlibraryOption_enum)-1)*(((((((((enum CUlibraryOption_enum)digits[3]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUlibraryOption_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUlibraryOption_enum) ((((((((((enum CUlibraryOption_enum)digits[3]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUlibraryOption_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlibraryOption_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUlibraryOption_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlibraryOption_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUlibraryOption_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUlibraryOption_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUlibraryOption_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUlibraryOption_enum");
    return (enum CUlibraryOption_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUlibraryOption_enum");
    return (enum CUlibraryOption_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaLibraryOption __Pyx_PyLong_As_enum__cudaLibraryOption(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaLibraryOption neg_one = (enum cudaLibraryOption) -1, const_zero = (enum cudaLibraryOption) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum cudaLibraryOption val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum cudaLibraryOption) -1;
        val = __Pyx_PyLong_As_enum__cudaLibraryOption(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum cudaLibraryOption) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) >= 2 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) (((((enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaLibraryOption) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) >= 3 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) (((((((enum cudaLibraryOption)digits[2]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaLibraryOption) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) >= 4 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) (((((((((enum cudaLibraryOption)digits[3]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[2]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum cudaLibraryOption) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum cudaLibraryOption) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaLibraryOption, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaLibraryOption) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaLibraryOption, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum cudaLibraryOption) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) (((enum cudaLibraryOption)-1)*(((((enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum cudaLibraryOption) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) ((((((enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum cudaLibraryOption) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) (((enum cudaLibraryOption)-1)*(((((((enum cudaLibraryOption)digits[2]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaLibraryOption) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) ((((((((enum cudaLibraryOption)digits[2]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum cudaLibraryOption) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) (((enum cudaLibraryOption)-1)*(((((((((enum cudaLibraryOption)digits[3]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[2]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaLibraryOption) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLibraryOption, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaLibraryOption) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaLibraryOption) ((((((((((enum cudaLibraryOption)digits[3]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[2]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[1]) << PyLong_SHIFT) | (enum cudaLibraryOption)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum cudaLibraryOption) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaLibraryOption, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaLibraryOption) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaLibraryOption, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum cudaLibraryOption val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum cudaLibraryOption) -1;
#endif
        if (unlikely(ret))
            return (enum cudaLibraryOption) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaLibraryOption");
    return (enum cudaLibraryOption) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaLibraryOption");
    return (enum cudaLibraryOption) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemAllocationHandleType_enum __Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationHandleType_enum neg_one = (enum CUmemAllocationHandleType_enum) -1, const_zero = (enum CUmemAllocationHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemAllocationHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemAllocationHandleType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) (((((enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) (((((((enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) (((((((((enum CUmemAllocationHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemAllocationHandleType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) (((enum CUmemAllocationHandleType_enum)-1)*(((((enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) ((((((enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) (((enum CUmemAllocationHandleType_enum)-1)*(((((((enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) ((((((((enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) (((enum CUmemAllocationHandleType_enum)-1)*(((((((((enum CUmemAllocationHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationHandleType_enum) ((((((((((enum CUmemAllocationHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemAllocationHandleType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemAllocationHandleType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemAllocationHandleType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemAllocationHandleType_enum");
    return (enum CUmemAllocationHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemAllocationHandleType_enum");
    return (enum CUmemAllocationHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUcoredumpSettings_enum __Pyx_PyLong_As_enum__CUcoredumpSettings_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUcoredumpSettings_enum neg_one = (enum CUcoredumpSettings_enum) -1, const_zero = (enum CUcoredumpSettings_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUcoredumpSettings_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUcoredumpSettings_enum) -1;
        val = __Pyx_PyLong_As_enum__CUcoredumpSettings_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) (((((enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) (((((((enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) (((((((((enum CUcoredumpSettings_enum)digits[3]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUcoredumpSettings_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUcoredumpSettings_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUcoredumpSettings_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUcoredumpSettings_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUcoredumpSettings_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) (((enum CUcoredumpSettings_enum)-1)*(((((enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) ((((((enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) (((enum CUcoredumpSettings_enum)-1)*(((((((enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) ((((((((enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) (((enum CUcoredumpSettings_enum)-1)*(((((((((enum CUcoredumpSettings_enum)digits[3]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUcoredumpSettings_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUcoredumpSettings_enum) ((((((((((enum CUcoredumpSettings_enum)digits[3]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUcoredumpSettings_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUcoredumpSettings_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUcoredumpSettings_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUcoredumpSettings_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUcoredumpSettings_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUcoredumpSettings_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUcoredumpSettings_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUcoredumpSettings_enum");
    return (enum CUcoredumpSettings_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUcoredumpSettings_enum");
    return (enum CUcoredumpSettings_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_uint64_t(uint64_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint64_t) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(uint64_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint64_t) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(uint64_t),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(uint64_t));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE char __Pyx_PyLong_As_char(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const char neg_one = (char) -1, const_zero = (char) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        char val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (char) -1;
        val = __Pyx_PyLong_As_char(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(char, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(char) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) >= 2 * PyLong_SHIFT)) {
                            return (char) (((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(char) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) >= 3 * PyLong_SHIFT)) {
                            return (char) (((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(char) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) >= 4 * PyLong_SHIFT)) {
                            return (char) (((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (char) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(char) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(char, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(char) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(char, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(char) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                            return (char) (((char)-1)*(((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(char) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                            return (char) ((((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                            return (char) (((char)-1)*(((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(char) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                            return (char) ((((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 4 * PyLong_SHIFT)) {
                            return (char) (((char)-1)*(((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(char) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 4 * PyLong_SHIFT)) {
                            return (char) ((((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(char) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(char, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(char) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(char, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        char val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (char) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (char) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (char) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (char) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(char) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((char) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(char) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((char) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((char) 1) << (sizeof(char) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (char) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to char");
    return (char) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to char");
    return (char) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUstreamBatchMemOpType_enum __Pyx_PyLong_As_enum__CUstreamBatchMemOpType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamBatchMemOpType_enum neg_one = (enum CUstreamBatchMemOpType_enum) -1, const_zero = (enum CUstreamBatchMemOpType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUstreamBatchMemOpType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUstreamBatchMemOpType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUstreamBatchMemOpType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) (((((enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) (((((((enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) (((((((((enum CUstreamBatchMemOpType_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUstreamBatchMemOpType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamBatchMemOpType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamBatchMemOpType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) (((enum CUstreamBatchMemOpType_enum)-1)*(((((enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) ((((((enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) (((enum CUstreamBatchMemOpType_enum)-1)*(((((((enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) ((((((((enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) (((enum CUstreamBatchMemOpType_enum)-1)*(((((((((enum CUstreamBatchMemOpType_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUstreamBatchMemOpType_enum) ((((((((((enum CUstreamBatchMemOpType_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamBatchMemOpType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamBatchMemOpType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUstreamBatchMemOpType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUstreamBatchMemOpType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUstreamBatchMemOpType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUstreamBatchMemOpType_enum");
    return (enum CUstreamBatchMemOpType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUstreamBatchMemOpType_enum");
    return (enum CUstreamBatchMemOpType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUasyncNotificationType_enum __Pyx_PyLong_As_enum__CUasyncNotificationType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUasyncNotificationType_enum neg_one = (enum CUasyncNotificationType_enum) -1, const_zero = (enum CUasyncNotificationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUasyncNotificationType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUasyncNotificationType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUasyncNotificationType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) (((((enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) (((((((enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) (((((((((enum CUasyncNotificationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUasyncNotificationType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUasyncNotificationType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUasyncNotificationType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUasyncNotificationType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUasyncNotificationType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) (((enum CUasyncNotificationType_enum)-1)*(((((enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) ((((((enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) (((enum CUasyncNotificationType_enum)-1)*(((((((enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) ((((((((enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) (((enum CUasyncNotificationType_enum)-1)*(((((((((enum CUasyncNotificationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUasyncNotificationType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUasyncNotificationType_enum) ((((((((((enum CUasyncNotificationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUasyncNotificationType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUasyncNotificationType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUasyncNotificationType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUasyncNotificationType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUasyncNotificationType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUasyncNotificationType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUasyncNotificationType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUasyncNotificationType_enum");
    return (enum CUasyncNotificationType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUasyncNotificationType_enum");
    return (enum CUasyncNotificationType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUaccessProperty_enum __Pyx_PyLong_As_enum__CUaccessProperty_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUaccessProperty_enum neg_one = (enum CUaccessProperty_enum) -1, const_zero = (enum CUaccessProperty_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUaccessProperty_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUaccessProperty_enum) -1;
        val = __Pyx_PyLong_As_enum__CUaccessProperty_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUaccessProperty_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) (((((enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUaccessProperty_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) (((((((enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUaccessProperty_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) (((((((((enum CUaccessProperty_enum)digits[3]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUaccessProperty_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUaccessProperty_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUaccessProperty_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUaccessProperty_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUaccessProperty_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) (((enum CUaccessProperty_enum)-1)*(((((enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUaccessProperty_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) ((((((enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) (((enum CUaccessProperty_enum)-1)*(((((((enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUaccessProperty_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) ((((((((enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) (((enum CUaccessProperty_enum)-1)*(((((((((enum CUaccessProperty_enum)digits[3]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUaccessProperty_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUaccessProperty_enum) ((((((((((enum CUaccessProperty_enum)digits[3]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUaccessProperty_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUaccessProperty_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUaccessProperty_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUaccessProperty_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUaccessProperty_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUaccessProperty_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUaccessProperty_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUaccessProperty_enum");
    return (enum CUaccessProperty_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUaccessProperty_enum");
    return (enum CUaccessProperty_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphConditionalNodeType_enum __Pyx_PyLong_As_enum__CUgraphConditionalNodeType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphConditionalNodeType_enum neg_one = (enum CUgraphConditionalNodeType_enum) -1, const_zero = (enum CUgraphConditionalNodeType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUgraphConditionalNodeType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUgraphConditionalNodeType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUgraphConditionalNodeType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) (((((enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) (((((((enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) (((((((((enum CUgraphConditionalNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUgraphConditionalNodeType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphConditionalNodeType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphConditionalNodeType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) (((enum CUgraphConditionalNodeType_enum)-1)*(((((enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) ((((((enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) (((enum CUgraphConditionalNodeType_enum)-1)*(((((((enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) ((((((((enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) (((enum CUgraphConditionalNodeType_enum)-1)*(((((((((enum CUgraphConditionalNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphConditionalNodeType_enum) ((((((((((enum CUgraphConditionalNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphConditionalNodeType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphConditionalNodeType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUgraphConditionalNodeType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUgraphConditionalNodeType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUgraphConditionalNodeType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphConditionalNodeType_enum");
    return (enum CUgraphConditionalNodeType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphConditionalNodeType_enum");
    return (enum CUgraphConditionalNodeType_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_char(unsigned char value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned char) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(unsigned char) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned char) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned char) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned char),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned char));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphInstantiateResult_enum __Pyx_PyLong_As_enum__CUgraphInstantiateResult_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphInstantiateResult_enum neg_one = (enum CUgraphInstantiateResult_enum) -1, const_zero = (enum CUgraphInstantiateResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUgraphInstantiateResult_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUgraphInstantiateResult_enum) -1;
        val = __Pyx_PyLong_As_enum__CUgraphInstantiateResult_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) (((((enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) (((((((enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) (((((((((enum CUgraphInstantiateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUgraphInstantiateResult_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphInstantiateResult_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphInstantiateResult_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) (((enum CUgraphInstantiateResult_enum)-1)*(((((enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) ((((((enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) (((enum CUgraphInstantiateResult_enum)-1)*(((((((enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) ((((((((enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) (((enum CUgraphInstantiateResult_enum)-1)*(((((((((enum CUgraphInstantiateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphInstantiateResult_enum) ((((((((((enum CUgraphInstantiateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphInstantiateResult_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphInstantiateResult_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUgraphInstantiateResult_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUgraphInstantiateResult_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUgraphInstantiateResult_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphInstantiateResult_enum");
    return (enum CUgraphInstantiateResult_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphInstantiateResult_enum");
    return (enum CUgraphInstantiateResult_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUsynchronizationPolicy_enum __Pyx_PyLong_As_enum__CUsynchronizationPolicy_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUsynchronizationPolicy_enum neg_one = (enum CUsynchronizationPolicy_enum) -1, const_zero = (enum CUsynchronizationPolicy_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUsynchronizationPolicy_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUsynchronizationPolicy_enum) -1;
        val = __Pyx_PyLong_As_enum__CUsynchronizationPolicy_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) (((((enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) (((((((enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) (((((((((enum CUsynchronizationPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUsynchronizationPolicy_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUsynchronizationPolicy_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUsynchronizationPolicy_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) (((enum CUsynchronizationPolicy_enum)-1)*(((((enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) ((((((enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) (((enum CUsynchronizationPolicy_enum)-1)*(((((((enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) ((((((((enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) (((enum CUsynchronizationPolicy_enum)-1)*(((((((((enum CUsynchronizationPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUsynchronizationPolicy_enum) ((((((((((enum CUsynchronizationPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUsynchronizationPolicy_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUsynchronizationPolicy_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUsynchronizationPolicy_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUsynchronizationPolicy_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUsynchronizationPolicy_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUsynchronizationPolicy_enum");
    return (enum CUsynchronizationPolicy_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUsynchronizationPolicy_enum");
    return (enum CUsynchronizationPolicy_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUclusterSchedulingPolicy_enum __Pyx_PyLong_As_enum__CUclusterSchedulingPolicy_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUclusterSchedulingPolicy_enum neg_one = (enum CUclusterSchedulingPolicy_enum) -1, const_zero = (enum CUclusterSchedulingPolicy_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUclusterSchedulingPolicy_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUclusterSchedulingPolicy_enum) -1;
        val = __Pyx_PyLong_As_enum__CUclusterSchedulingPolicy_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) (((((enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) (((((((enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) (((((((((enum CUclusterSchedulingPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUclusterSchedulingPolicy_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUclusterSchedulingPolicy_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUclusterSchedulingPolicy_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) (((enum CUclusterSchedulingPolicy_enum)-1)*(((((enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) ((((((enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) (((enum CUclusterSchedulingPolicy_enum)-1)*(((((((enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) ((((((((enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) (((enum CUclusterSchedulingPolicy_enum)-1)*(((((((((enum CUclusterSchedulingPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUclusterSchedulingPolicy_enum) ((((((((((enum CUclusterSchedulingPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUclusterSchedulingPolicy_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUclusterSchedulingPolicy_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUclusterSchedulingPolicy_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUclusterSchedulingPolicy_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUclusterSchedulingPolicy_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUclusterSchedulingPolicy_enum");
    return (enum CUclusterSchedulingPolicy_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUclusterSchedulingPolicy_enum");
    return (enum CUclusterSchedulingPolicy_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUlaunchMemSyncDomain_enum __Pyx_PyLong_As_enum__CUlaunchMemSyncDomain_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlaunchMemSyncDomain_enum neg_one = (enum CUlaunchMemSyncDomain_enum) -1, const_zero = (enum CUlaunchMemSyncDomain_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUlaunchMemSyncDomain_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUlaunchMemSyncDomain_enum) -1;
        val = __Pyx_PyLong_As_enum__CUlaunchMemSyncDomain_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) (((((enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) (((((((enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) (((((((((enum CUlaunchMemSyncDomain_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUlaunchMemSyncDomain_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchMemSyncDomain_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchMemSyncDomain_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) (((enum CUlaunchMemSyncDomain_enum)-1)*(((((enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) ((((((enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) (((enum CUlaunchMemSyncDomain_enum)-1)*(((((((enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) ((((((((enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) (((enum CUlaunchMemSyncDomain_enum)-1)*(((((((((enum CUlaunchMemSyncDomain_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUlaunchMemSyncDomain_enum) ((((((((((enum CUlaunchMemSyncDomain_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchMemSyncDomain_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchMemSyncDomain_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUlaunchMemSyncDomain_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUlaunchMemSyncDomain_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUlaunchMemSyncDomain_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUlaunchMemSyncDomain_enum");
    return (enum CUlaunchMemSyncDomain_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUlaunchMemSyncDomain_enum");
    return (enum CUlaunchMemSyncDomain_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUlaunchAttributeID_enum __Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlaunchAttributeID_enum neg_one = (enum CUlaunchAttributeID_enum) -1, const_zero = (enum CUlaunchAttributeID_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUlaunchAttributeID_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUlaunchAttributeID_enum) -1;
        val = __Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) (((((enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) (((((((enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) (((((((((enum CUlaunchAttributeID_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUlaunchAttributeID_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUlaunchAttributeID_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchAttributeID_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUlaunchAttributeID_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchAttributeID_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) (((enum CUlaunchAttributeID_enum)-1)*(((((enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) ((((((enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) (((enum CUlaunchAttributeID_enum)-1)*(((((((enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) ((((((((enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) (((enum CUlaunchAttributeID_enum)-1)*(((((((((enum CUlaunchAttributeID_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUlaunchAttributeID_enum) ((((((((((enum CUlaunchAttributeID_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUlaunchAttributeID_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchAttributeID_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUlaunchAttributeID_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchAttributeID_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUlaunchAttributeID_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUlaunchAttributeID_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUlaunchAttributeID_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUlaunchAttributeID_enum");
    return (enum CUlaunchAttributeID_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUlaunchAttributeID_enum");
    return (enum CUlaunchAttributeID_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUexecAffinityType_enum __Pyx_PyLong_As_enum__CUexecAffinityType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexecAffinityType_enum neg_one = (enum CUexecAffinityType_enum) -1, const_zero = (enum CUexecAffinityType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUexecAffinityType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUexecAffinityType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUexecAffinityType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) (((((enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) (((((((enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) (((((((((enum CUexecAffinityType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUexecAffinityType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUexecAffinityType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexecAffinityType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUexecAffinityType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexecAffinityType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) (((enum CUexecAffinityType_enum)-1)*(((((enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) ((((((enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) (((enum CUexecAffinityType_enum)-1)*(((((((enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) ((((((((enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) (((enum CUexecAffinityType_enum)-1)*(((((((((enum CUexecAffinityType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUexecAffinityType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUexecAffinityType_enum) ((((((((((enum CUexecAffinityType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUexecAffinityType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexecAffinityType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUexecAffinityType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexecAffinityType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUexecAffinityType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUexecAffinityType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUexecAffinityType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUexecAffinityType_enum");
    return (enum CUexecAffinityType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUexecAffinityType_enum");
    return (enum CUexecAffinityType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUcigDataType_enum __Pyx_PyLong_As_enum__CUcigDataType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUcigDataType_enum neg_one = (enum CUcigDataType_enum) -1, const_zero = (enum CUcigDataType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUcigDataType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUcigDataType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUcigDataType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUcigDataType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) (((((enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUcigDataType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) (((((((enum CUcigDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUcigDataType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) (((((((((enum CUcigDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUcigDataType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUcigDataType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUcigDataType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUcigDataType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUcigDataType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) (((enum CUcigDataType_enum)-1)*(((((enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUcigDataType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) ((((((enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) (((enum CUcigDataType_enum)-1)*(((((((enum CUcigDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUcigDataType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) ((((((((enum CUcigDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) (((enum CUcigDataType_enum)-1)*(((((((((enum CUcigDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUcigDataType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUcigDataType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUcigDataType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUcigDataType_enum) ((((((((((enum CUcigDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUcigDataType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUcigDataType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUcigDataType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUcigDataType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUcigDataType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUcigDataType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUcigDataType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUcigDataType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUcigDataType_enum");
    return (enum CUcigDataType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUcigDataType_enum");
    return (enum CUcigDataType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemorytype_enum __Pyx_PyLong_As_enum__CUmemorytype_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemorytype_enum neg_one = (enum CUmemorytype_enum) -1, const_zero = (enum CUmemorytype_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemorytype_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemorytype_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemorytype_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemorytype_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) (((((enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemorytype_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) (((((((enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemorytype_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) (((((((((enum CUmemorytype_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemorytype_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemorytype_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemorytype_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemorytype_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemorytype_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) (((enum CUmemorytype_enum)-1)*(((((enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemorytype_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) ((((((enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) (((enum CUmemorytype_enum)-1)*(((((((enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemorytype_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) ((((((((enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) (((enum CUmemorytype_enum)-1)*(((((((((enum CUmemorytype_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemorytype_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemorytype_enum) ((((((((((enum CUmemorytype_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemorytype_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemorytype_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemorytype_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemorytype_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemorytype_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemorytype_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemorytype_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemorytype_enum");
    return (enum CUmemorytype_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemorytype_enum");
    return (enum CUmemorytype_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUarray_format_enum __Pyx_PyLong_As_enum__CUarray_format_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarray_format_enum neg_one = (enum CUarray_format_enum) -1, const_zero = (enum CUarray_format_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUarray_format_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUarray_format_enum) -1;
        val = __Pyx_PyLong_As_enum__CUarray_format_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUarray_format_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) (((((enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUarray_format_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) (((((((enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUarray_format_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) (((((((((enum CUarray_format_enum)digits[3]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUarray_format_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUarray_format_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUarray_format_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUarray_format_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUarray_format_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUarray_format_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) (((enum CUarray_format_enum)-1)*(((((enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUarray_format_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) ((((((enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUarray_format_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) (((enum CUarray_format_enum)-1)*(((((((enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUarray_format_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) ((((((((enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUarray_format_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) (((enum CUarray_format_enum)-1)*(((((((((enum CUarray_format_enum)digits[3]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUarray_format_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUarray_format_enum) ((((((((((enum CUarray_format_enum)digits[3]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUarray_format_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUarray_format_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUarray_format_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUarray_format_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUarray_format_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUarray_format_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUarray_format_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUarray_format_enum");
    return (enum CUarray_format_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUarray_format_enum");
    return (enum CUarray_format_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUresourcetype_enum __Pyx_PyLong_As_enum__CUresourcetype_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUresourcetype_enum neg_one = (enum CUresourcetype_enum) -1, const_zero = (enum CUresourcetype_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUresourcetype_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUresourcetype_enum) -1;
        val = __Pyx_PyLong_As_enum__CUresourcetype_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUresourcetype_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) (((((enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUresourcetype_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) (((((((enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUresourcetype_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) (((((((((enum CUresourcetype_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUresourcetype_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUresourcetype_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUresourcetype_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUresourcetype_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUresourcetype_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) (((enum CUresourcetype_enum)-1)*(((((enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUresourcetype_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) ((((((enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) (((enum CUresourcetype_enum)-1)*(((((((enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUresourcetype_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) ((((((((enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) (((enum CUresourcetype_enum)-1)*(((((((((enum CUresourcetype_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUresourcetype_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUresourcetype_enum) ((((((((((enum CUresourcetype_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUresourcetype_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUresourcetype_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUresourcetype_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUresourcetype_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUresourcetype_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUresourcetype_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUresourcetype_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUresourcetype_enum");
    return (enum CUresourcetype_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUresourcetype_enum");
    return (enum CUresourcetype_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUaddress_mode_enum __Pyx_PyLong_As_enum__CUaddress_mode_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUaddress_mode_enum neg_one = (enum CUaddress_mode_enum) -1, const_zero = (enum CUaddress_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUaddress_mode_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUaddress_mode_enum) -1;
        val = __Pyx_PyLong_As_enum__CUaddress_mode_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUaddress_mode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) (((((enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUaddress_mode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) (((((((enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUaddress_mode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) (((((((((enum CUaddress_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUaddress_mode_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUaddress_mode_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUaddress_mode_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUaddress_mode_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUaddress_mode_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) (((enum CUaddress_mode_enum)-1)*(((((enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUaddress_mode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) ((((((enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) (((enum CUaddress_mode_enum)-1)*(((((((enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUaddress_mode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) ((((((((enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) (((enum CUaddress_mode_enum)-1)*(((((((((enum CUaddress_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUaddress_mode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUaddress_mode_enum) ((((((((((enum CUaddress_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUaddress_mode_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUaddress_mode_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUaddress_mode_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUaddress_mode_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUaddress_mode_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUaddress_mode_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUaddress_mode_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUaddress_mode_enum");
    return (enum CUaddress_mode_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUaddress_mode_enum");
    return (enum CUaddress_mode_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUfilter_mode_enum __Pyx_PyLong_As_enum__CUfilter_mode_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfilter_mode_enum neg_one = (enum CUfilter_mode_enum) -1, const_zero = (enum CUfilter_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUfilter_mode_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUfilter_mode_enum) -1;
        val = __Pyx_PyLong_As_enum__CUfilter_mode_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUfilter_mode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) (((((enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUfilter_mode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) (((((((enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUfilter_mode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) (((((((((enum CUfilter_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUfilter_mode_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUfilter_mode_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfilter_mode_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUfilter_mode_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfilter_mode_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) (((enum CUfilter_mode_enum)-1)*(((((enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUfilter_mode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) ((((((enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) (((enum CUfilter_mode_enum)-1)*(((((((enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUfilter_mode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) ((((((((enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) (((enum CUfilter_mode_enum)-1)*(((((((((enum CUfilter_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUfilter_mode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUfilter_mode_enum) ((((((((((enum CUfilter_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUfilter_mode_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfilter_mode_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUfilter_mode_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfilter_mode_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUfilter_mode_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUfilter_mode_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUfilter_mode_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUfilter_mode_enum");
    return (enum CUfilter_mode_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUfilter_mode_enum");
    return (enum CUfilter_mode_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUresourceViewFormat_enum __Pyx_PyLong_As_enum__CUresourceViewFormat_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUresourceViewFormat_enum neg_one = (enum CUresourceViewFormat_enum) -1, const_zero = (enum CUresourceViewFormat_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUresourceViewFormat_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUresourceViewFormat_enum) -1;
        val = __Pyx_PyLong_As_enum__CUresourceViewFormat_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) (((((enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) (((((((enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) (((((((((enum CUresourceViewFormat_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUresourceViewFormat_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUresourceViewFormat_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUresourceViewFormat_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUresourceViewFormat_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUresourceViewFormat_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) (((enum CUresourceViewFormat_enum)-1)*(((((enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) ((((((enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) (((enum CUresourceViewFormat_enum)-1)*(((((((enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) ((((((((enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) (((enum CUresourceViewFormat_enum)-1)*(((((((((enum CUresourceViewFormat_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUresourceViewFormat_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUresourceViewFormat_enum) ((((((((((enum CUresourceViewFormat_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUresourceViewFormat_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUresourceViewFormat_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUresourceViewFormat_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUresourceViewFormat_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUresourceViewFormat_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUresourceViewFormat_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUresourceViewFormat_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUresourceViewFormat_enum");
    return (enum CUresourceViewFormat_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUresourceViewFormat_enum");
    return (enum CUresourceViewFormat_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUexternalMemoryHandleType_enum __Pyx_PyLong_As_enum__CUexternalMemoryHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexternalMemoryHandleType_enum neg_one = (enum CUexternalMemoryHandleType_enum) -1, const_zero = (enum CUexternalMemoryHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUexternalMemoryHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUexternalMemoryHandleType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUexternalMemoryHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) (((((enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) (((((((enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) (((((((((enum CUexternalMemoryHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUexternalMemoryHandleType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalMemoryHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalMemoryHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) (((enum CUexternalMemoryHandleType_enum)-1)*(((((enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) ((((((enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) (((enum CUexternalMemoryHandleType_enum)-1)*(((((((enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) ((((((((enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) (((enum CUexternalMemoryHandleType_enum)-1)*(((((((((enum CUexternalMemoryHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUexternalMemoryHandleType_enum) ((((((((((enum CUexternalMemoryHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalMemoryHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalMemoryHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUexternalMemoryHandleType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUexternalMemoryHandleType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUexternalMemoryHandleType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUexternalMemoryHandleType_enum");
    return (enum CUexternalMemoryHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUexternalMemoryHandleType_enum");
    return (enum CUexternalMemoryHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUexternalSemaphoreHandleType_enum __Pyx_PyLong_As_enum__CUexternalSemaphoreHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexternalSemaphoreHandleType_enum neg_one = (enum CUexternalSemaphoreHandleType_enum) -1, const_zero = (enum CUexternalSemaphoreHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUexternalSemaphoreHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUexternalSemaphoreHandleType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUexternalSemaphoreHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) (((((enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) (((((((enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) (((((((((enum CUexternalSemaphoreHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUexternalSemaphoreHandleType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalSemaphoreHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalSemaphoreHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) (((enum CUexternalSemaphoreHandleType_enum)-1)*(((((enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) ((((((enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) (((enum CUexternalSemaphoreHandleType_enum)-1)*(((((((enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) ((((((((enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) (((enum CUexternalSemaphoreHandleType_enum)-1)*(((((((((enum CUexternalSemaphoreHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUexternalSemaphoreHandleType_enum) ((((((((((enum CUexternalSemaphoreHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalSemaphoreHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalSemaphoreHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUexternalSemaphoreHandleType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUexternalSemaphoreHandleType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUexternalSemaphoreHandleType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUexternalSemaphoreHandleType_enum");
    return (enum CUexternalSemaphoreHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUexternalSemaphoreHandleType_enum");
    return (enum CUexternalSemaphoreHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUarraySparseSubresourceType_enum __Pyx_PyLong_As_enum__CUarraySparseSubresourceType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarraySparseSubresourceType_enum neg_one = (enum CUarraySparseSubresourceType_enum) -1, const_zero = (enum CUarraySparseSubresourceType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUarraySparseSubresourceType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUarraySparseSubresourceType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUarraySparseSubresourceType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) (((((enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) (((((((enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) (((((((((enum CUarraySparseSubresourceType_enum)digits[3]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUarraySparseSubresourceType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUarraySparseSubresourceType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUarraySparseSubresourceType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) (((enum CUarraySparseSubresourceType_enum)-1)*(((((enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) ((((((enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) (((enum CUarraySparseSubresourceType_enum)-1)*(((((((enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) ((((((((enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) (((enum CUarraySparseSubresourceType_enum)-1)*(((((((((enum CUarraySparseSubresourceType_enum)digits[3]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUarraySparseSubresourceType_enum) ((((((((((enum CUarraySparseSubresourceType_enum)digits[3]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUarraySparseSubresourceType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUarraySparseSubresourceType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUarraySparseSubresourceType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUarraySparseSubresourceType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUarraySparseSubresourceType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUarraySparseSubresourceType_enum");
    return (enum CUarraySparseSubresourceType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUarraySparseSubresourceType_enum");
    return (enum CUarraySparseSubresourceType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemOperationType_enum __Pyx_PyLong_As_enum__CUmemOperationType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemOperationType_enum neg_one = (enum CUmemOperationType_enum) -1, const_zero = (enum CUmemOperationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemOperationType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemOperationType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemOperationType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemOperationType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) (((((enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemOperationType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) (((((((enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemOperationType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) (((((((((enum CUmemOperationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemOperationType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemOperationType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemOperationType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemOperationType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemOperationType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) (((enum CUmemOperationType_enum)-1)*(((((enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemOperationType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) ((((((enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) (((enum CUmemOperationType_enum)-1)*(((((((enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemOperationType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) ((((((((enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) (((enum CUmemOperationType_enum)-1)*(((((((((enum CUmemOperationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemOperationType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemOperationType_enum) ((((((((((enum CUmemOperationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemOperationType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemOperationType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemOperationType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemOperationType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemOperationType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemOperationType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemOperationType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemOperationType_enum");
    return (enum CUmemOperationType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemOperationType_enum");
    return (enum CUmemOperationType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemHandleType_enum __Pyx_PyLong_As_enum__CUmemHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemHandleType_enum neg_one = (enum CUmemHandleType_enum) -1, const_zero = (enum CUmemHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemHandleType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) (((((enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) (((((((enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) (((((((((enum CUmemHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemHandleType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemHandleType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) (((enum CUmemHandleType_enum)-1)*(((((enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) ((((((enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) (((enum CUmemHandleType_enum)-1)*(((((((enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) ((((((((enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) (((enum CUmemHandleType_enum)-1)*(((((((((enum CUmemHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemHandleType_enum) ((((((((((enum CUmemHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemHandleType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemHandleType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemHandleType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemHandleType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemHandleType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemHandleType_enum");
    return (enum CUmemHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemHandleType_enum");
    return (enum CUmemHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemLocationType_enum __Pyx_PyLong_As_enum__CUmemLocationType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemLocationType_enum neg_one = (enum CUmemLocationType_enum) -1, const_zero = (enum CUmemLocationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemLocationType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemLocationType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemLocationType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemLocationType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) (((((enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemLocationType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) (((((((enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemLocationType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) (((((((((enum CUmemLocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemLocationType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemLocationType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemLocationType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemLocationType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemLocationType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) (((enum CUmemLocationType_enum)-1)*(((((enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemLocationType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) ((((((enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) (((enum CUmemLocationType_enum)-1)*(((((((enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemLocationType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) ((((((((enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) (((enum CUmemLocationType_enum)-1)*(((((((((enum CUmemLocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemLocationType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemLocationType_enum) ((((((((((enum CUmemLocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemLocationType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemLocationType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemLocationType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemLocationType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemLocationType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemLocationType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemLocationType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemLocationType_enum");
    return (enum CUmemLocationType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemLocationType_enum");
    return (enum CUmemLocationType_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_short(unsigned short value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned short neg_one = (unsigned short) -1, const_zero = (unsigned short) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned short) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(unsigned short) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(unsigned short) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned short) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned short) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned short),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned short));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemAllocationType_enum __Pyx_PyLong_As_enum__CUmemAllocationType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationType_enum neg_one = (enum CUmemAllocationType_enum) -1, const_zero = (enum CUmemAllocationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemAllocationType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemAllocationType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemAllocationType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) (((((enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) (((((((enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) (((((((((enum CUmemAllocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemAllocationType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemAllocationType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemAllocationType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) (((enum CUmemAllocationType_enum)-1)*(((((enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) ((((((enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) (((enum CUmemAllocationType_enum)-1)*(((((((enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) ((((((((enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) (((enum CUmemAllocationType_enum)-1)*(((((((((enum CUmemAllocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemAllocationType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationType_enum) ((((((((((enum CUmemAllocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemAllocationType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemAllocationType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemAllocationType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemAllocationType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemAllocationType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemAllocationType_enum");
    return (enum CUmemAllocationType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemAllocationType_enum");
    return (enum CUmemAllocationType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemAccess_flags_enum __Pyx_PyLong_As_enum__CUmemAccess_flags_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAccess_flags_enum neg_one = (enum CUmemAccess_flags_enum) -1, const_zero = (enum CUmemAccess_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemAccess_flags_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemAccess_flags_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemAccess_flags_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) (((((enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) (((((((enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) (((((((((enum CUmemAccess_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemAccess_flags_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemAccess_flags_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAccess_flags_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemAccess_flags_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAccess_flags_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) (((enum CUmemAccess_flags_enum)-1)*(((((enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) ((((((enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) (((enum CUmemAccess_flags_enum)-1)*(((((((enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) ((((((((enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) (((enum CUmemAccess_flags_enum)-1)*(((((((((enum CUmemAccess_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemAccess_flags_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemAccess_flags_enum) ((((((((((enum CUmemAccess_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemAccess_flags_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAccess_flags_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemAccess_flags_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAccess_flags_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemAccess_flags_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemAccess_flags_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemAccess_flags_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemAccess_flags_enum");
    return (enum CUmemAccess_flags_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemAccess_flags_enum");
    return (enum CUmemAccess_flags_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphExecUpdateResult_enum __Pyx_PyLong_As_enum__CUgraphExecUpdateResult_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphExecUpdateResult_enum neg_one = (enum CUgraphExecUpdateResult_enum) -1, const_zero = (enum CUgraphExecUpdateResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUgraphExecUpdateResult_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUgraphExecUpdateResult_enum) -1;
        val = __Pyx_PyLong_As_enum__CUgraphExecUpdateResult_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) (((((enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) (((((((enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) (((((((((enum CUgraphExecUpdateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUgraphExecUpdateResult_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphExecUpdateResult_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphExecUpdateResult_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) (((enum CUgraphExecUpdateResult_enum)-1)*(((((enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) ((((((enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) (((enum CUgraphExecUpdateResult_enum)-1)*(((((((enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) ((((((((enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) (((enum CUgraphExecUpdateResult_enum)-1)*(((((((((enum CUgraphExecUpdateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphExecUpdateResult_enum) ((((((((((enum CUgraphExecUpdateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphExecUpdateResult_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphExecUpdateResult_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUgraphExecUpdateResult_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUgraphExecUpdateResult_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUgraphExecUpdateResult_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphExecUpdateResult_enum");
    return (enum CUgraphExecUpdateResult_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphExecUpdateResult_enum");
    return (enum CUgraphExecUpdateResult_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemcpySrcAccessOrder_enum __Pyx_PyLong_As_enum__CUmemcpySrcAccessOrder_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemcpySrcAccessOrder_enum neg_one = (enum CUmemcpySrcAccessOrder_enum) -1, const_zero = (enum CUmemcpySrcAccessOrder_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemcpySrcAccessOrder_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemcpySrcAccessOrder_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemcpySrcAccessOrder_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) (((((enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) (((((((enum CUmemcpySrcAccessOrder_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) (((((((((enum CUmemcpySrcAccessOrder_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemcpySrcAccessOrder_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemcpySrcAccessOrder_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemcpySrcAccessOrder_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemcpySrcAccessOrder_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemcpySrcAccessOrder_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) (((enum CUmemcpySrcAccessOrder_enum)-1)*(((((enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) ((((((enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) (((enum CUmemcpySrcAccessOrder_enum)-1)*(((((((enum CUmemcpySrcAccessOrder_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) ((((((((enum CUmemcpySrcAccessOrder_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) (((enum CUmemcpySrcAccessOrder_enum)-1)*(((((((((enum CUmemcpySrcAccessOrder_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpySrcAccessOrder_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpySrcAccessOrder_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemcpySrcAccessOrder_enum) ((((((((((enum CUmemcpySrcAccessOrder_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpySrcAccessOrder_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemcpySrcAccessOrder_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemcpySrcAccessOrder_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemcpySrcAccessOrder_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemcpySrcAccessOrder_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemcpySrcAccessOrder_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemcpySrcAccessOrder_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemcpySrcAccessOrder_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemcpySrcAccessOrder_enum");
    return (enum CUmemcpySrcAccessOrder_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemcpySrcAccessOrder_enum");
    return (enum CUmemcpySrcAccessOrder_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemcpy3DOperandType_enum __Pyx_PyLong_As_enum__CUmemcpy3DOperandType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemcpy3DOperandType_enum neg_one = (enum CUmemcpy3DOperandType_enum) -1, const_zero = (enum CUmemcpy3DOperandType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemcpy3DOperandType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemcpy3DOperandType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemcpy3DOperandType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) (((((enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) (((((((enum CUmemcpy3DOperandType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) (((((((((enum CUmemcpy3DOperandType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemcpy3DOperandType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemcpy3DOperandType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemcpy3DOperandType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemcpy3DOperandType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemcpy3DOperandType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) (((enum CUmemcpy3DOperandType_enum)-1)*(((((enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) ((((((enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) (((enum CUmemcpy3DOperandType_enum)-1)*(((((((enum CUmemcpy3DOperandType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) ((((((((enum CUmemcpy3DOperandType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) (((enum CUmemcpy3DOperandType_enum)-1)*(((((((((enum CUmemcpy3DOperandType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemcpy3DOperandType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemcpy3DOperandType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemcpy3DOperandType_enum) ((((((((((enum CUmemcpy3DOperandType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemcpy3DOperandType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemcpy3DOperandType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemcpy3DOperandType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemcpy3DOperandType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemcpy3DOperandType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemcpy3DOperandType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemcpy3DOperandType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemcpy3DOperandType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemcpy3DOperandType_enum");
    return (enum CUmemcpy3DOperandType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemcpy3DOperandType_enum");
    return (enum CUmemcpy3DOperandType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphChildGraphNodeOwnership_enum __Pyx_PyLong_As_enum__CUgraphChildGraphNodeOwnership_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphChildGraphNodeOwnership_enum neg_one = (enum CUgraphChildGraphNodeOwnership_enum) -1, const_zero = (enum CUgraphChildGraphNodeOwnership_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUgraphChildGraphNodeOwnership_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUgraphChildGraphNodeOwnership_enum) -1;
        val = __Pyx_PyLong_As_enum__CUgraphChildGraphNodeOwnership_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) (((((enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) (((((((enum CUgraphChildGraphNodeOwnership_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) (((((((((enum CUgraphChildGraphNodeOwnership_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUgraphChildGraphNodeOwnership_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUgraphChildGraphNodeOwnership_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphChildGraphNodeOwnership_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphChildGraphNodeOwnership_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphChildGraphNodeOwnership_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) (((enum CUgraphChildGraphNodeOwnership_enum)-1)*(((((enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) ((((((enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) (((enum CUgraphChildGraphNodeOwnership_enum)-1)*(((((((enum CUgraphChildGraphNodeOwnership_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) ((((((((enum CUgraphChildGraphNodeOwnership_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) (((enum CUgraphChildGraphNodeOwnership_enum)-1)*(((((((((enum CUgraphChildGraphNodeOwnership_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphChildGraphNodeOwnership_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphChildGraphNodeOwnership_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphChildGraphNodeOwnership_enum) ((((((((((enum CUgraphChildGraphNodeOwnership_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphChildGraphNodeOwnership_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUgraphChildGraphNodeOwnership_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphChildGraphNodeOwnership_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphChildGraphNodeOwnership_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphChildGraphNodeOwnership_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUgraphChildGraphNodeOwnership_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUgraphChildGraphNodeOwnership_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUgraphChildGraphNodeOwnership_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphChildGraphNodeOwnership_enum");
    return (enum CUgraphChildGraphNodeOwnership_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphChildGraphNodeOwnership_enum");
    return (enum CUgraphChildGraphNodeOwnership_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphNodeType_enum __Pyx_PyLong_As_enum__CUgraphNodeType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphNodeType_enum neg_one = (enum CUgraphNodeType_enum) -1, const_zero = (enum CUgraphNodeType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUgraphNodeType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUgraphNodeType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUgraphNodeType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) (((((enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) (((((((enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) (((((((((enum CUgraphNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUgraphNodeType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUgraphNodeType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphNodeType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphNodeType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphNodeType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) (((enum CUgraphNodeType_enum)-1)*(((((enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) ((((((enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) (((enum CUgraphNodeType_enum)-1)*(((((((enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) ((((((((enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) (((enum CUgraphNodeType_enum)-1)*(((((((((enum CUgraphNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUgraphNodeType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUgraphNodeType_enum) ((((((((((enum CUgraphNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUgraphNodeType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphNodeType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUgraphNodeType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphNodeType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUgraphNodeType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUgraphNodeType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUgraphNodeType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphNodeType_enum");
    return (enum CUgraphNodeType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphNodeType_enum");
    return (enum CUgraphNodeType_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_PY_LONG_LONG(PY_LONG_LONG value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(PY_LONG_LONG) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(PY_LONG_LONG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(PY_LONG_LONG) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(PY_LONG_LONG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(PY_LONG_LONG),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(PY_LONG_LONG));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemDecompressAlgorithm_enum __Pyx_PyLong_As_enum__CUmemDecompressAlgorithm_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemDecompressAlgorithm_enum neg_one = (enum CUmemDecompressAlgorithm_enum) -1, const_zero = (enum CUmemDecompressAlgorithm_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemDecompressAlgorithm_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemDecompressAlgorithm_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemDecompressAlgorithm_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) (((((enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) (((((((enum CUmemDecompressAlgorithm_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) (((((((((enum CUmemDecompressAlgorithm_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemDecompressAlgorithm_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemDecompressAlgorithm_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemDecompressAlgorithm_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemDecompressAlgorithm_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemDecompressAlgorithm_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) (((enum CUmemDecompressAlgorithm_enum)-1)*(((((enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) ((((((enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) (((enum CUmemDecompressAlgorithm_enum)-1)*(((((((enum CUmemDecompressAlgorithm_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) ((((((((enum CUmemDecompressAlgorithm_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) (((enum CUmemDecompressAlgorithm_enum)-1)*(((((((((enum CUmemDecompressAlgorithm_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemDecompressAlgorithm_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemDecompressAlgorithm_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemDecompressAlgorithm_enum) ((((((((((enum CUmemDecompressAlgorithm_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemDecompressAlgorithm_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemDecompressAlgorithm_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemDecompressAlgorithm_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemDecompressAlgorithm_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemDecompressAlgorithm_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemDecompressAlgorithm_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemDecompressAlgorithm_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemDecompressAlgorithm_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemDecompressAlgorithm_enum");
    return (enum CUmemDecompressAlgorithm_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemDecompressAlgorithm_enum");
    return (enum CUmemDecompressAlgorithm_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE CUdevResourceType __Pyx_PyLong_As_CUdevResourceType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUdevResourceType neg_one = (CUdevResourceType) -1, const_zero = (CUdevResourceType) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        CUdevResourceType val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (CUdevResourceType) -1;
        val = __Pyx_PyLong_As_CUdevResourceType(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(CUdevResourceType, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(CUdevResourceType) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) >= 2 * PyLong_SHIFT)) {
                            return (CUdevResourceType) (((((CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(CUdevResourceType) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) >= 3 * PyLong_SHIFT)) {
                            return (CUdevResourceType) (((((((CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(CUdevResourceType) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) >= 4 * PyLong_SHIFT)) {
                            return (CUdevResourceType) (((((((((CUdevResourceType)digits[3]) << PyLong_SHIFT) | (CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (CUdevResourceType) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(CUdevResourceType) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(CUdevResourceType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(CUdevResourceType) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(CUdevResourceType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(CUdevResourceType, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(CUdevResourceType) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) - 1 > 2 * PyLong_SHIFT)) {
                            return (CUdevResourceType) (((CUdevResourceType)-1)*(((((CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(CUdevResourceType) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) - 1 > 2 * PyLong_SHIFT)) {
                            return (CUdevResourceType) ((((((CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(CUdevResourceType) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) - 1 > 3 * PyLong_SHIFT)) {
                            return (CUdevResourceType) (((CUdevResourceType)-1)*(((((((CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(CUdevResourceType) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) - 1 > 3 * PyLong_SHIFT)) {
                            return (CUdevResourceType) ((((((((CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(CUdevResourceType) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) - 1 > 4 * PyLong_SHIFT)) {
                            return (CUdevResourceType) (((CUdevResourceType)-1)*(((((((((CUdevResourceType)digits[3]) << PyLong_SHIFT) | (CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(CUdevResourceType) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevResourceType) - 1 > 4 * PyLong_SHIFT)) {
                            return (CUdevResourceType) ((((((((((CUdevResourceType)digits[3]) << PyLong_SHIFT) | (CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(CUdevResourceType) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(CUdevResourceType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(CUdevResourceType) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(CUdevResourceType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        CUdevResourceType val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (CUdevResourceType) -1;
#endif
        if (unlikely(ret))
            return (CUdevResourceType) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to CUdevResourceType");
    return (CUdevResourceType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to CUdevResourceType");
    return (CUdevResourceType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum neg_one = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) -1, const_zero = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) -1;
        val = __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) (((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) (((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) (((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)-1)*(((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) ((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)-1)*(((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) ((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)-1)*(((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) ((((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum");
    return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum");
    return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglFrameType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum neg_one = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) -1, const_zero = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) -1;
        val = __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) (((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) (((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) (((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)-1)*(((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) ((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)-1)*(((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) ((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)-1)*(((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) ((((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) -1;
#endif
        if (unlikely(ret))
            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum");
    return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum");
    return (enum __pyx_t_4cuda_8bindings_8cydriver_CUeglColorFormat_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_uint32_t(uint32_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint32_t) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(uint32_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if defined(HAVE_LONG_LONG) && !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint32_t) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(uint32_t),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(uint32_t));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaError_enum __Pyx_PyLong_As_enum__cudaError_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaError_enum neg_one = (enum cudaError_enum) -1, const_zero = (enum cudaError_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum cudaError_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum cudaError_enum) -1;
        val = __Pyx_PyLong_As_enum__cudaError_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum cudaError_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) (((((enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaError_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) (((((((enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaError_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) (((((((((enum cudaError_enum)digits[3]) << PyLong_SHIFT) | (enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum cudaError_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum cudaError_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaError_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaError_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaError_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum cudaError_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) (((enum cudaError_enum)-1)*(((((enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum cudaError_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) ((((((enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum cudaError_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) (((enum cudaError_enum)-1)*(((((((enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum cudaError_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) ((((((((enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum cudaError_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) (((enum cudaError_enum)-1)*(((((((((enum cudaError_enum)digits[3]) << PyLong_SHIFT) | (enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum cudaError_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum cudaError_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum cudaError_enum) ((((((((((enum cudaError_enum)digits[3]) << PyLong_SHIFT) | (enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum cudaError_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaError_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum cudaError_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum cudaError_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum cudaError_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum cudaError_enum) -1;
#endif
        if (unlikely(ret))
            return (enum cudaError_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaError_enum");
    return (enum cudaError_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaError_enum");
    return (enum cudaError_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE CUdevice_v1 __Pyx_PyLong_As_CUdevice_v1(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUdevice_v1 neg_one = (CUdevice_v1) -1, const_zero = (CUdevice_v1) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        CUdevice_v1 val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (CUdevice_v1) -1;
        val = __Pyx_PyLong_As_CUdevice_v1(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(CUdevice_v1, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(CUdevice_v1) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) >= 2 * PyLong_SHIFT)) {
                            return (CUdevice_v1) (((((CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(CUdevice_v1) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) >= 3 * PyLong_SHIFT)) {
                            return (CUdevice_v1) (((((((CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(CUdevice_v1) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) >= 4 * PyLong_SHIFT)) {
                            return (CUdevice_v1) (((((((((CUdevice_v1)digits[3]) << PyLong_SHIFT) | (CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (CUdevice_v1) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(CUdevice_v1) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(CUdevice_v1, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(CUdevice_v1) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(CUdevice_v1, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(CUdevice_v1, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(CUdevice_v1) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) - 1 > 2 * PyLong_SHIFT)) {
                            return (CUdevice_v1) (((CUdevice_v1)-1)*(((((CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(CUdevice_v1) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) - 1 > 2 * PyLong_SHIFT)) {
                            return (CUdevice_v1) ((((((CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(CUdevice_v1) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) - 1 > 3 * PyLong_SHIFT)) {
                            return (CUdevice_v1) (((CUdevice_v1)-1)*(((((((CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(CUdevice_v1) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) - 1 > 3 * PyLong_SHIFT)) {
                            return (CUdevice_v1) ((((((((CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(CUdevice_v1) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) - 1 > 4 * PyLong_SHIFT)) {
                            return (CUdevice_v1) (((CUdevice_v1)-1)*(((((((((CUdevice_v1)digits[3]) << PyLong_SHIFT) | (CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(CUdevice_v1) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(CUdevice_v1) - 1 > 4 * PyLong_SHIFT)) {
                            return (CUdevice_v1) ((((((((((CUdevice_v1)digits[3]) << PyLong_SHIFT) | (CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(CUdevice_v1) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(CUdevice_v1, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(CUdevice_v1) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(CUdevice_v1, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        CUdevice_v1 val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (CUdevice_v1) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (CUdevice_v1) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (CUdevice_v1) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (CUdevice_v1) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(CUdevice_v1) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((CUdevice_v1) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(CUdevice_v1) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((CUdevice_v1) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((CUdevice_v1) 1) << (sizeof(CUdevice_v1) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (CUdevice_v1) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to CUdevice_v1");
    return (CUdevice_v1) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to CUdevice_v1");
    return (CUdevice_v1) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUdevice_attribute_enum __Pyx_PyLong_As_enum__CUdevice_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdevice_attribute_enum neg_one = (enum CUdevice_attribute_enum) -1, const_zero = (enum CUdevice_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUdevice_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUdevice_attribute_enum) -1;
        val = __Pyx_PyLong_As_enum__CUdevice_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) (((((enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) (((((((enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) (((((((((enum CUdevice_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUdevice_attribute_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUdevice_attribute_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUdevice_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) (((enum CUdevice_attribute_enum)-1)*(((((enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) ((((((enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) (((enum CUdevice_attribute_enum)-1)*(((((((enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) ((((((((enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) (((enum CUdevice_attribute_enum)-1)*(((((((((enum CUdevice_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUdevice_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUdevice_attribute_enum) ((((((((((enum CUdevice_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUdevice_attribute_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUdevice_attribute_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUdevice_attribute_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUdevice_attribute_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUdevice_attribute_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUdevice_attribute_enum");
    return (enum CUdevice_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUdevice_attribute_enum");
    return (enum CUdevice_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUflushGPUDirectRDMAWritesTarget_enum __Pyx_PyLong_As_enum__CUflushGPUDirectRDMAWritesTarget_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesTarget_enum neg_one = (enum CUflushGPUDirectRDMAWritesTarget_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesTarget_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUflushGPUDirectRDMAWritesTarget_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
        val = __Pyx_PyLong_As_enum__CUflushGPUDirectRDMAWritesTarget_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((enum CUflushGPUDirectRDMAWritesTarget_enum)-1)*(((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) ((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((enum CUflushGPUDirectRDMAWritesTarget_enum)-1)*(((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) ((((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((enum CUflushGPUDirectRDMAWritesTarget_enum)-1)*(((((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesTarget_enum) ((((((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesTarget_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesTarget_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUflushGPUDirectRDMAWritesTarget_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUflushGPUDirectRDMAWritesTarget_enum");
    return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUflushGPUDirectRDMAWritesTarget_enum");
    return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUflushGPUDirectRDMAWritesScope_enum __Pyx_PyLong_As_enum__CUflushGPUDirectRDMAWritesScope_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesScope_enum neg_one = (enum CUflushGPUDirectRDMAWritesScope_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesScope_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUflushGPUDirectRDMAWritesScope_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
        val = __Pyx_PyLong_As_enum__CUflushGPUDirectRDMAWritesScope_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) (((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) (((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) (((((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) (((enum CUflushGPUDirectRDMAWritesScope_enum)-1)*(((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) ((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) (((enum CUflushGPUDirectRDMAWritesScope_enum)-1)*(((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) ((((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) (((enum CUflushGPUDirectRDMAWritesScope_enum)-1)*(((((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUflushGPUDirectRDMAWritesScope_enum) ((((((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesScope_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesScope_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUflushGPUDirectRDMAWritesScope_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUflushGPUDirectRDMAWritesScope_enum");
    return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUflushGPUDirectRDMAWritesScope_enum");
    return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUlimit_enum __Pyx_PyLong_As_enum__CUlimit_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlimit_enum neg_one = (enum CUlimit_enum) -1, const_zero = (enum CUlimit_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUlimit_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUlimit_enum) -1;
        val = __Pyx_PyLong_As_enum__CUlimit_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUlimit_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) (((((enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUlimit_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) (((((((enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUlimit_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) (((((((((enum CUlimit_enum)digits[3]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUlimit_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUlimit_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlimit_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUlimit_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlimit_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUlimit_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) (((enum CUlimit_enum)-1)*(((((enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUlimit_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) ((((((enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUlimit_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) (((enum CUlimit_enum)-1)*(((((((enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUlimit_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) ((((((((enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUlimit_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) (((enum CUlimit_enum)-1)*(((((((((enum CUlimit_enum)digits[3]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUlimit_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUlimit_enum) ((((((((((enum CUlimit_enum)digits[3]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUlimit_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlimit_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUlimit_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUlimit_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUlimit_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUlimit_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUlimit_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUlimit_enum");
    return (enum CUlimit_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUlimit_enum");
    return (enum CUlimit_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUfunc_cache_enum __Pyx_PyLong_As_enum__CUfunc_cache_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunc_cache_enum neg_one = (enum CUfunc_cache_enum) -1, const_zero = (enum CUfunc_cache_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUfunc_cache_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUfunc_cache_enum) -1;
        val = __Pyx_PyLong_As_enum__CUfunc_cache_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUfunc_cache_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) (((((enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUfunc_cache_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) (((((((enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUfunc_cache_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) (((((((((enum CUfunc_cache_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUfunc_cache_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUfunc_cache_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfunc_cache_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUfunc_cache_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfunc_cache_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) (((enum CUfunc_cache_enum)-1)*(((((enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUfunc_cache_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) ((((((enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) (((enum CUfunc_cache_enum)-1)*(((((((enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUfunc_cache_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) ((((((((enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) (((enum CUfunc_cache_enum)-1)*(((((((((enum CUfunc_cache_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUfunc_cache_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUfunc_cache_enum) ((((((((((enum CUfunc_cache_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUfunc_cache_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfunc_cache_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUfunc_cache_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfunc_cache_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUfunc_cache_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUfunc_cache_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUfunc_cache_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUfunc_cache_enum");
    return (enum CUfunc_cache_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUfunc_cache_enum");
    return (enum CUfunc_cache_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUsharedconfig_enum __Pyx_PyLong_As_enum__CUsharedconfig_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUsharedconfig_enum neg_one = (enum CUsharedconfig_enum) -1, const_zero = (enum CUsharedconfig_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUsharedconfig_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUsharedconfig_enum) -1;
        val = __Pyx_PyLong_As_enum__CUsharedconfig_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUsharedconfig_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) (((((enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUsharedconfig_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) (((((((enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUsharedconfig_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) (((((((((enum CUsharedconfig_enum)digits[3]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUsharedconfig_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUsharedconfig_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUsharedconfig_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUsharedconfig_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUsharedconfig_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) (((enum CUsharedconfig_enum)-1)*(((((enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUsharedconfig_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) ((((((enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) (((enum CUsharedconfig_enum)-1)*(((((((enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUsharedconfig_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) ((((((((enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) (((enum CUsharedconfig_enum)-1)*(((((((((enum CUsharedconfig_enum)digits[3]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUsharedconfig_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUsharedconfig_enum) ((((((((((enum CUsharedconfig_enum)digits[3]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUsharedconfig_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUsharedconfig_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUsharedconfig_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUsharedconfig_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUsharedconfig_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUsharedconfig_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUsharedconfig_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUsharedconfig_enum");
    return (enum CUsharedconfig_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUsharedconfig_enum");
    return (enum CUsharedconfig_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUjitInputType_enum __Pyx_PyLong_As_enum__CUjitInputType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjitInputType_enum neg_one = (enum CUjitInputType_enum) -1, const_zero = (enum CUjitInputType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUjitInputType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUjitInputType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUjitInputType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUjitInputType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) (((((enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjitInputType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) (((((((enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjitInputType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) (((((((((enum CUjitInputType_enum)digits[3]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUjitInputType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUjitInputType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjitInputType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjitInputType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjitInputType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) (((enum CUjitInputType_enum)-1)*(((((enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUjitInputType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) ((((((enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) (((enum CUjitInputType_enum)-1)*(((((((enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUjitInputType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) ((((((((enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) (((enum CUjitInputType_enum)-1)*(((((((((enum CUjitInputType_enum)digits[3]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUjitInputType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUjitInputType_enum) ((((((((((enum CUjitInputType_enum)digits[3]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUjitInputType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjitInputType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUjitInputType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUjitInputType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUjitInputType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUjitInputType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUjitInputType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUjitInputType_enum");
    return (enum CUjitInputType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUjitInputType_enum");
    return (enum CUjitInputType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUfunction_attribute_enum __Pyx_PyLong_As_enum__CUfunction_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunction_attribute_enum neg_one = (enum CUfunction_attribute_enum) -1, const_zero = (enum CUfunction_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUfunction_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUfunction_attribute_enum) -1;
        val = __Pyx_PyLong_As_enum__CUfunction_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) (((((enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) (((((((enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) (((((((((enum CUfunction_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUfunction_attribute_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUfunction_attribute_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfunction_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUfunction_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfunction_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) (((enum CUfunction_attribute_enum)-1)*(((((enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) ((((((enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) (((enum CUfunction_attribute_enum)-1)*(((((((enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) ((((((((enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) (((enum CUfunction_attribute_enum)-1)*(((((((((enum CUfunction_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUfunction_attribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUfunction_attribute_enum) ((((((((((enum CUfunction_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUfunction_attribute_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfunction_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUfunction_attribute_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUfunction_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUfunction_attribute_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUfunction_attribute_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUfunction_attribute_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUfunction_attribute_enum");
    return (enum CUfunction_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUfunction_attribute_enum");
    return (enum CUfunction_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemRangeHandleType_enum __Pyx_PyLong_As_enum__CUmemRangeHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemRangeHandleType_enum neg_one = (enum CUmemRangeHandleType_enum) -1, const_zero = (enum CUmemRangeHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemRangeHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemRangeHandleType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemRangeHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) (((((enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) (((((((enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) (((((((((enum CUmemRangeHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemRangeHandleType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemRangeHandleType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemRangeHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemRangeHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemRangeHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) (((enum CUmemRangeHandleType_enum)-1)*(((((enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) ((((((enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) (((enum CUmemRangeHandleType_enum)-1)*(((((((enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) ((((((((enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) (((enum CUmemRangeHandleType_enum)-1)*(((((((((enum CUmemRangeHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemRangeHandleType_enum) ((((((((((enum CUmemRangeHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemRangeHandleType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemRangeHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemRangeHandleType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemRangeHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemRangeHandleType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemRangeHandleType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemRangeHandleType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemRangeHandleType_enum");
    return (enum CUmemRangeHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemRangeHandleType_enum");
    return (enum CUmemRangeHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemAllocationGranularity_flags_enum __Pyx_PyLong_As_enum__CUmemAllocationGranularity_flags_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationGranularity_flags_enum neg_one = (enum CUmemAllocationGranularity_flags_enum) -1, const_zero = (enum CUmemAllocationGranularity_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmemAllocationGranularity_flags_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmemAllocationGranularity_flags_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmemAllocationGranularity_flags_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) (((((enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) (((((((enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) (((((((((enum CUmemAllocationGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmemAllocationGranularity_flags_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationGranularity_flags_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationGranularity_flags_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) (((enum CUmemAllocationGranularity_flags_enum)-1)*(((((enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) ((((((enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) (((enum CUmemAllocationGranularity_flags_enum)-1)*(((((((enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) ((((((((enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) (((enum CUmemAllocationGranularity_flags_enum)-1)*(((((((((enum CUmemAllocationGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmemAllocationGranularity_flags_enum) ((((((((((enum CUmemAllocationGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationGranularity_flags_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationGranularity_flags_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmemAllocationGranularity_flags_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmemAllocationGranularity_flags_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmemAllocationGranularity_flags_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemAllocationGranularity_flags_enum");
    return (enum CUmemAllocationGranularity_flags_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemAllocationGranularity_flags_enum");
    return (enum CUmemAllocationGranularity_flags_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmulticastGranularity_flags_enum __Pyx_PyLong_As_enum__CUmulticastGranularity_flags_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmulticastGranularity_flags_enum neg_one = (enum CUmulticastGranularity_flags_enum) -1, const_zero = (enum CUmulticastGranularity_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmulticastGranularity_flags_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmulticastGranularity_flags_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmulticastGranularity_flags_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) (((((enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) (((((((enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) (((((((((enum CUmulticastGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmulticastGranularity_flags_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmulticastGranularity_flags_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmulticastGranularity_flags_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) (((enum CUmulticastGranularity_flags_enum)-1)*(((((enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) ((((((enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) (((enum CUmulticastGranularity_flags_enum)-1)*(((((((enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) ((((((((enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) (((enum CUmulticastGranularity_flags_enum)-1)*(((((((((enum CUmulticastGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmulticastGranularity_flags_enum) ((((((((((enum CUmulticastGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmulticastGranularity_flags_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmulticastGranularity_flags_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmulticastGranularity_flags_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmulticastGranularity_flags_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmulticastGranularity_flags_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmulticastGranularity_flags_enum");
    return (enum CUmulticastGranularity_flags_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmulticastGranularity_flags_enum");
    return (enum CUmulticastGranularity_flags_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmem_advise_enum __Pyx_PyLong_As_enum__CUmem_advise_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmem_advise_enum neg_one = (enum CUmem_advise_enum) -1, const_zero = (enum CUmem_advise_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUmem_advise_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUmem_advise_enum) -1;
        val = __Pyx_PyLong_As_enum__CUmem_advise_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUmem_advise_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) (((((enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmem_advise_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) (((((((enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmem_advise_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) (((((((((enum CUmem_advise_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUmem_advise_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUmem_advise_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_advise_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmem_advise_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_advise_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) (((enum CUmem_advise_enum)-1)*(((((enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUmem_advise_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) ((((((enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) (((enum CUmem_advise_enum)-1)*(((((((enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUmem_advise_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) ((((((((enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) (((enum CUmem_advise_enum)-1)*(((((((((enum CUmem_advise_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUmem_advise_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUmem_advise_enum) ((((((((((enum CUmem_advise_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUmem_advise_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_advise_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUmem_advise_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_advise_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUmem_advise_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUmem_advise_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUmem_advise_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmem_advise_enum");
    return (enum CUmem_advise_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmem_advise_enum");
    return (enum CUmem_advise_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUstreamCaptureMode_enum __Pyx_PyLong_As_enum__CUstreamCaptureMode_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamCaptureMode_enum neg_one = (enum CUstreamCaptureMode_enum) -1, const_zero = (enum CUstreamCaptureMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUstreamCaptureMode_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUstreamCaptureMode_enum) -1;
        val = __Pyx_PyLong_As_enum__CUstreamCaptureMode_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) (((((enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) (((((((enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) (((((((((enum CUstreamCaptureMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUstreamCaptureMode_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUstreamCaptureMode_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamCaptureMode_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUstreamCaptureMode_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamCaptureMode_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) (((enum CUstreamCaptureMode_enum)-1)*(((((enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) ((((((enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) (((enum CUstreamCaptureMode_enum)-1)*(((((((enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) ((((((((enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) (((enum CUstreamCaptureMode_enum)-1)*(((((((((enum CUstreamCaptureMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUstreamCaptureMode_enum) ((((((((((enum CUstreamCaptureMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUstreamCaptureMode_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamCaptureMode_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUstreamCaptureMode_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamCaptureMode_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUstreamCaptureMode_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUstreamCaptureMode_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUstreamCaptureMode_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUstreamCaptureMode_enum");
    return (enum CUstreamCaptureMode_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUstreamCaptureMode_enum");
    return (enum CUstreamCaptureMode_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapDataType_enum __Pyx_PyLong_As_enum__CUtensorMapDataType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapDataType_enum neg_one = (enum CUtensorMapDataType_enum) -1, const_zero = (enum CUtensorMapDataType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUtensorMapDataType_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUtensorMapDataType_enum) -1;
        val = __Pyx_PyLong_As_enum__CUtensorMapDataType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) (((((enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) (((((((enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) (((((((((enum CUtensorMapDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUtensorMapDataType_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUtensorMapDataType_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapDataType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapDataType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapDataType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) (((enum CUtensorMapDataType_enum)-1)*(((((enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) ((((((enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) (((enum CUtensorMapDataType_enum)-1)*(((((((enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) ((((((((enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) (((enum CUtensorMapDataType_enum)-1)*(((((((((enum CUtensorMapDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapDataType_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapDataType_enum) ((((((((((enum CUtensorMapDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUtensorMapDataType_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapDataType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapDataType_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapDataType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUtensorMapDataType_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUtensorMapDataType_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUtensorMapDataType_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapDataType_enum");
    return (enum CUtensorMapDataType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapDataType_enum");
    return (enum CUtensorMapDataType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapInterleave_enum __Pyx_PyLong_As_enum__CUtensorMapInterleave_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapInterleave_enum neg_one = (enum CUtensorMapInterleave_enum) -1, const_zero = (enum CUtensorMapInterleave_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUtensorMapInterleave_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUtensorMapInterleave_enum) -1;
        val = __Pyx_PyLong_As_enum__CUtensorMapInterleave_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) (((((enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) (((((((enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) (((((((((enum CUtensorMapInterleave_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUtensorMapInterleave_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUtensorMapInterleave_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapInterleave_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapInterleave_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapInterleave_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) (((enum CUtensorMapInterleave_enum)-1)*(((((enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) ((((((enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) (((enum CUtensorMapInterleave_enum)-1)*(((((((enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) ((((((((enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) (((enum CUtensorMapInterleave_enum)-1)*(((((((((enum CUtensorMapInterleave_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapInterleave_enum) ((((((((((enum CUtensorMapInterleave_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUtensorMapInterleave_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapInterleave_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapInterleave_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapInterleave_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUtensorMapInterleave_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUtensorMapInterleave_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUtensorMapInterleave_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapInterleave_enum");
    return (enum CUtensorMapInterleave_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapInterleave_enum");
    return (enum CUtensorMapInterleave_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapSwizzle_enum __Pyx_PyLong_As_enum__CUtensorMapSwizzle_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapSwizzle_enum neg_one = (enum CUtensorMapSwizzle_enum) -1, const_zero = (enum CUtensorMapSwizzle_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUtensorMapSwizzle_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUtensorMapSwizzle_enum) -1;
        val = __Pyx_PyLong_As_enum__CUtensorMapSwizzle_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) (((((enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) (((((((enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) (((((((((enum CUtensorMapSwizzle_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUtensorMapSwizzle_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapSwizzle_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapSwizzle_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) (((enum CUtensorMapSwizzle_enum)-1)*(((((enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) ((((((enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) (((enum CUtensorMapSwizzle_enum)-1)*(((((((enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) ((((((((enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) (((enum CUtensorMapSwizzle_enum)-1)*(((((((((enum CUtensorMapSwizzle_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapSwizzle_enum) ((((((((((enum CUtensorMapSwizzle_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapSwizzle_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapSwizzle_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUtensorMapSwizzle_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUtensorMapSwizzle_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUtensorMapSwizzle_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapSwizzle_enum");
    return (enum CUtensorMapSwizzle_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapSwizzle_enum");
    return (enum CUtensorMapSwizzle_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapL2promotion_enum __Pyx_PyLong_As_enum__CUtensorMapL2promotion_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapL2promotion_enum neg_one = (enum CUtensorMapL2promotion_enum) -1, const_zero = (enum CUtensorMapL2promotion_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUtensorMapL2promotion_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUtensorMapL2promotion_enum) -1;
        val = __Pyx_PyLong_As_enum__CUtensorMapL2promotion_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) (((((enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) (((((((enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) (((((((((enum CUtensorMapL2promotion_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUtensorMapL2promotion_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapL2promotion_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapL2promotion_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) (((enum CUtensorMapL2promotion_enum)-1)*(((((enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) ((((((enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) (((enum CUtensorMapL2promotion_enum)-1)*(((((((enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) ((((((((enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) (((enum CUtensorMapL2promotion_enum)-1)*(((((((((enum CUtensorMapL2promotion_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapL2promotion_enum) ((((((((((enum CUtensorMapL2promotion_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapL2promotion_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapL2promotion_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUtensorMapL2promotion_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUtensorMapL2promotion_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUtensorMapL2promotion_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapL2promotion_enum");
    return (enum CUtensorMapL2promotion_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapL2promotion_enum");
    return (enum CUtensorMapL2promotion_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapFloatOOBfill_enum __Pyx_PyLong_As_enum__CUtensorMapFloatOOBfill_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapFloatOOBfill_enum neg_one = (enum CUtensorMapFloatOOBfill_enum) -1, const_zero = (enum CUtensorMapFloatOOBfill_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUtensorMapFloatOOBfill_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUtensorMapFloatOOBfill_enum) -1;
        val = __Pyx_PyLong_As_enum__CUtensorMapFloatOOBfill_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) (((((enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) (((((((enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) (((((((((enum CUtensorMapFloatOOBfill_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUtensorMapFloatOOBfill_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapFloatOOBfill_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapFloatOOBfill_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) (((enum CUtensorMapFloatOOBfill_enum)-1)*(((((enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) ((((((enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) (((enum CUtensorMapFloatOOBfill_enum)-1)*(((((((enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) ((((((((enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) (((enum CUtensorMapFloatOOBfill_enum)-1)*(((((((((enum CUtensorMapFloatOOBfill_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapFloatOOBfill_enum) ((((((((((enum CUtensorMapFloatOOBfill_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapFloatOOBfill_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapFloatOOBfill_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUtensorMapFloatOOBfill_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUtensorMapFloatOOBfill_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUtensorMapFloatOOBfill_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapFloatOOBfill_enum");
    return (enum CUtensorMapFloatOOBfill_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapFloatOOBfill_enum");
    return (enum CUtensorMapFloatOOBfill_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapIm2ColWideMode_enum __Pyx_PyLong_As_enum__CUtensorMapIm2ColWideMode_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapIm2ColWideMode_enum neg_one = (enum CUtensorMapIm2ColWideMode_enum) -1, const_zero = (enum CUtensorMapIm2ColWideMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUtensorMapIm2ColWideMode_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUtensorMapIm2ColWideMode_enum) -1;
        val = __Pyx_PyLong_As_enum__CUtensorMapIm2ColWideMode_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) (((((enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) (((((((enum CUtensorMapIm2ColWideMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) (((((((((enum CUtensorMapIm2ColWideMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUtensorMapIm2ColWideMode_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUtensorMapIm2ColWideMode_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapIm2ColWideMode_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapIm2ColWideMode_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapIm2ColWideMode_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) (((enum CUtensorMapIm2ColWideMode_enum)-1)*(((((enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) ((((((enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) (((enum CUtensorMapIm2ColWideMode_enum)-1)*(((((((enum CUtensorMapIm2ColWideMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) ((((((((enum CUtensorMapIm2ColWideMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) (((enum CUtensorMapIm2ColWideMode_enum)-1)*(((((((((enum CUtensorMapIm2ColWideMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUtensorMapIm2ColWideMode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUtensorMapIm2ColWideMode_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUtensorMapIm2ColWideMode_enum) ((((((((((enum CUtensorMapIm2ColWideMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapIm2ColWideMode_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUtensorMapIm2ColWideMode_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapIm2ColWideMode_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUtensorMapIm2ColWideMode_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapIm2ColWideMode_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUtensorMapIm2ColWideMode_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUtensorMapIm2ColWideMode_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUtensorMapIm2ColWideMode_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapIm2ColWideMode_enum");
    return (enum CUtensorMapIm2ColWideMode_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapIm2ColWideMode_enum");
    return (enum CUtensorMapIm2ColWideMode_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUdevice_P2PAttribute_enum __Pyx_PyLong_As_enum__CUdevice_P2PAttribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdevice_P2PAttribute_enum neg_one = (enum CUdevice_P2PAttribute_enum) -1, const_zero = (enum CUdevice_P2PAttribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum CUdevice_P2PAttribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum CUdevice_P2PAttribute_enum) -1;
        val = __Pyx_PyLong_As_enum__CUdevice_P2PAttribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) (((((enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) (((((((enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) (((((((((enum CUdevice_P2PAttribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum CUdevice_P2PAttribute_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_P2PAttribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_P2PAttribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) (((enum CUdevice_P2PAttribute_enum)-1)*(((((enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) ((((((enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) (((enum CUdevice_P2PAttribute_enum)-1)*(((((((enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) ((((((((enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) (((enum CUdevice_P2PAttribute_enum)-1)*(((((((((enum CUdevice_P2PAttribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum CUdevice_P2PAttribute_enum) ((((((((((enum CUdevice_P2PAttribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_P2PAttribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_P2PAttribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum CUdevice_P2PAttribute_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum CUdevice_P2PAttribute_enum) -1;
#endif
        if (unlikely(ret))
            return (enum CUdevice_P2PAttribute_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUdevice_P2PAttribute_enum");
    return (enum CUdevice_P2PAttribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUdevice_P2PAttribute_enum");
    return (enum CUdevice_P2PAttribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum neg_one = (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) -1, const_zero = (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) -1;
        val = __Pyx_PyLong_As_enum____pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) >= 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) (((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) >= 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) (((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) >= 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) (((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)-1)*(((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) ((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)-1)*(((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) ((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) (((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)-1)*(((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) ((((((((((enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) -1;
#endif
        if (unlikely(ret))
            return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum");
    return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum");
    return (enum __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList_enum) -1;
}

/* FormatTypeName */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
static __Pyx_TypeName
__Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp)
{
    PyObject *module = NULL, *name = NULL, *result = NULL;
    #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
    name = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
                                               __pyx_mstate_global->__pyx_n_u_qualname);
    #else
    name = PyType_GetQualName(tp);
    #endif
    if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) goto bad;
    module = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
                                               __pyx_mstate_global->__pyx_n_u_module);
    if (unlikely(module == NULL) || unlikely(!PyUnicode_Check(module))) goto bad;
    if (PyUnicode_CompareWithASCIIString(module, "builtins") == 0) {
        result = name;
        name = NULL;
        goto done;
    }
    result = PyUnicode_FromFormat("%U.%U", module, name);
    if (unlikely(result == NULL)) goto bad;
  done:
    Py_XDECREF(name);
    Py_XDECREF(module);
    return result;
  bad:
    PyErr_Clear();
    if (name) {
        result = name;
        name = NULL;
    } else {
        result = __Pyx_NewRef(__pyx_mstate_global->__pyx_kp_u__9);
    }
    goto done;
}
#endif

/* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyLong_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        long val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyLong_As_long(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) {
                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) {
                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) {
                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (long) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(long) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(long) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        long val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (long) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (long) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (long) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (long) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((long) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((long) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (long) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to long");
    return (long) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to long");
    return (long) -1;
}

/* SwapException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_value = exc_info->exc_value;
    exc_info->exc_value = *value;
    if (tmp_value == NULL || tmp_value == Py_None) {
        Py_XDECREF(tmp_value);
        tmp_value = NULL;
        tmp_type = NULL;
        tmp_tb = NULL;
    } else {
        tmp_type = (PyObject*) Py_TYPE(tmp_value);
        Py_INCREF(tmp_type);
        #if CYTHON_COMPILING_IN_CPYTHON
        tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback;
        Py_XINCREF(tmp_tb);
        #else
        tmp_tb = PyException_GetTraceback(tmp_value);
        #endif
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = *type;
    exc_info->exc_value = *value;
    exc_info->exc_traceback = *tb;
  #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = *type;
    tstate->exc_value = *value;
    tstate->exc_traceback = *tb;
  #endif
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
    PyErr_SetExcInfo(*type, *value, *tb);
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#endif

/* IterNextPlain */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject *__Pyx_GetBuiltinNext_LimitedAPI(void) {
    if (unlikely(!__pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache))
        __pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache = __Pyx_GetBuiltinName(__pyx_mstate_global->__pyx_n_u_next);
    return __pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache;
}
#endif
static CYTHON_INLINE PyObject *__Pyx_PyIter_Next_Plain(PyObject *iterator) {
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
    PyObject *result;
    PyObject *next = __Pyx_GetBuiltinNext_LimitedAPI();
    if (unlikely(!next)) return NULL;
    result = PyObject_CallFunctionObjArgs(next, iterator, NULL);
    return result;
#else
    (void)__Pyx_GetBuiltinName; // only for early limited API
    iternextfunc iternext = __Pyx_PyObject_GetIterNextFunc(iterator);
    assert(iternext);
    return iternext(iterator);
#endif
}

/* PyObjectCallMethod1 */
#if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
    Py_DECREF(method);
    return result;
}
#endif
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
    PyObject *args[2] = {obj, arg};
    (void) __Pyx_PyObject_GetMethod;
    (void) __Pyx_PyObject_CallOneArg;
    (void) __Pyx_PyObject_Call2Args;
    return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#else
    PyObject *method = NULL, *result;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_Call2Args(method, obj, arg);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) return NULL;
    return __Pyx__PyObject_CallMethod1(method, arg);
#endif
}

/* ReturnWithStopIteration */
static void __Pyx__ReturnWithStopIteration(PyObject* value, int async);
static CYTHON_INLINE void __Pyx_ReturnWithStopIteration(PyObject* value, int async, int iternext) {
    if (value == Py_None) {
        if (async || !iternext)
            PyErr_SetNone(async ? PyExc_StopAsyncIteration : PyExc_StopIteration);
        return;
    }
    __Pyx__ReturnWithStopIteration(value, async);
}
static void __Pyx__ReturnWithStopIteration(PyObject* value, int async) {
#if CYTHON_COMPILING_IN_CPYTHON
    __Pyx_PyThreadState_declare
#endif
    PyObject *exc;
    PyObject *exc_type = async ? PyExc_StopAsyncIteration : PyExc_StopIteration;
#if CYTHON_COMPILING_IN_CPYTHON
    if ((PY_VERSION_HEX >= (0x030C00A6)) || unlikely(PyTuple_Check(value) || PyExceptionInstance_Check(value))) {
        if (PY_VERSION_HEX >= (0x030e00A1)) {
            exc = __Pyx_PyObject_CallOneArg(exc_type, value);
        } else {
            PyObject *args_tuple = PyTuple_New(1);
            if (unlikely(!args_tuple)) return;
            Py_INCREF(value);
            PyTuple_SET_ITEM(args_tuple, 0, value);
            exc = PyObject_Call(exc_type, args_tuple, NULL);
            Py_DECREF(args_tuple);
        }
        if (unlikely(!exc)) return;
    } else {
        Py_INCREF(value);
        exc = value;
    }
    #if CYTHON_FAST_THREAD_STATE
    __Pyx_PyThreadState_assign
    #if CYTHON_USE_EXC_INFO_STACK
    if (!__pyx_tstate->exc_info->exc_value)
    #else
    if (!__pyx_tstate->exc_type)
    #endif
    {
        Py_INCREF(exc_type);
        __Pyx_ErrRestore(exc_type, exc, NULL);
        return;
    }
    #endif
#else
    exc = __Pyx_PyObject_CallOneArg(exc_type, value);
    if (unlikely(!exc)) return;
#endif
    PyErr_SetObject(exc_type, exc);
    Py_DECREF(exc);
}

/* CoroutineBase */
#if !CYTHON_COMPILING_IN_LIMITED_API
#include <frameobject.h>
#if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION)
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
#endif // CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE void
__Pyx_Coroutine_Undelegate(__pyx_CoroutineObject *gen) {
#if CYTHON_USE_AM_SEND
    gen->yieldfrom_am_send = NULL;
#endif
    Py_CLEAR(gen->yieldfrom);
}
static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) {
    PyObject *et, *ev, *tb;
    PyObject *value = NULL;
    CYTHON_UNUSED_VAR(__pyx_tstate);
    __Pyx_ErrFetch(&et, &ev, &tb);
    if (!et) {
        Py_XDECREF(tb);
        Py_XDECREF(ev);
        Py_INCREF(Py_None);
        *pvalue = Py_None;
        return 0;
    }
    if (likely(et == PyExc_StopIteration)) {
        if (!ev) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
        else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) {
            #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL
            value = PyObject_GetAttr(ev, __pyx_mstate_global->__pyx_n_u_value);
            if (unlikely(!value)) goto limited_api_failure;
            #else
            value = ((PyStopIterationObject *)ev)->value;
            Py_INCREF(value);
            #endif
            Py_DECREF(ev);
        }
        else if (unlikely(PyTuple_Check(ev))) {
            Py_ssize_t tuple_size = __Pyx_PyTuple_GET_SIZE(ev);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely(tuple_size < 0)) {
                Py_XDECREF(tb);
                Py_DECREF(ev);
                Py_DECREF(et);
                return -1;
            }
            #endif
            if (tuple_size >= 1) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                value = PyTuple_GET_ITEM(ev, 0);
                Py_INCREF(value);
#elif CYTHON_ASSUME_SAFE_MACROS
                value = PySequence_ITEM(ev, 0);
#else
                value = PySequence_GetItem(ev, 0);
                if (!value) goto limited_api_failure;
#endif
            } else {
                Py_INCREF(Py_None);
                value = Py_None;
            }
            Py_DECREF(ev);
        }
        else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) {
            value = ev;
        }
        if (likely(value)) {
            Py_XDECREF(tb);
            Py_DECREF(et);
            *pvalue = value;
            return 0;
        }
    } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) {
        __Pyx_ErrRestore(et, ev, tb);
        return -1;
    }
    PyErr_NormalizeException(&et, &ev, &tb);
    if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) {
        __Pyx_ErrRestore(et, ev, tb);
        return -1;
    }
    Py_XDECREF(tb);
    Py_DECREF(et);
#if CYTHON_COMPILING_IN_LIMITED_API
    value = PyObject_GetAttr(ev, __pyx_mstate_global->__pyx_n_u_value);
#else
    value = ((PyStopIterationObject *)ev)->value;
    Py_INCREF(value);
#endif
    Py_DECREF(ev);
#if CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(!value)) return -1;
#endif
    *pvalue = value;
    return 0;
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL || !CYTHON_ASSUME_SAFE_MACROS
  limited_api_failure:
    Py_XDECREF(et);
    Py_XDECREF(tb);
    Py_XDECREF(ev);
    return -1;
#endif
}
static CYTHON_INLINE
__Pyx_PySendResult __Pyx_Coroutine_status_from_result(PyObject **retval) {
    if (*retval) {
        return PYGEN_NEXT;
    } else if (likely(__Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, retval) == 0)) {
        return PYGEN_RETURN;
    } else {
        return PYGEN_ERROR;
    }
}
static CYTHON_INLINE
void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) {
#if PY_VERSION_HEX >= 0x030B00a4
    Py_CLEAR(exc_state->exc_value);
#else
    PyObject *t, *v, *tb;
    t = exc_state->exc_type;
    v = exc_state->exc_value;
    tb = exc_state->exc_traceback;
    exc_state->exc_type = NULL;
    exc_state->exc_value = NULL;
    exc_state->exc_traceback = NULL;
    Py_XDECREF(t);
    Py_XDECREF(v);
    Py_XDECREF(tb);
#endif
}
#define __Pyx_Coroutine_AlreadyRunningError(gen)  (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) {
    const char *msg;
    CYTHON_MAYBE_UNUSED_VAR(gen);
    if ((0)) {
    #ifdef __Pyx_Coroutine_USED
    } else if (__Pyx_Coroutine_Check((PyObject*)gen)) {
        msg = "coroutine already executing";
    #endif
    #ifdef __Pyx_AsyncGen_USED
    } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) {
        msg = "async generator already executing";
    #endif
    } else {
        msg = "generator already executing";
    }
    PyErr_SetString(PyExc_ValueError, msg);
}
static void __Pyx_Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) {
    CYTHON_MAYBE_UNUSED_VAR(gen);
    CYTHON_MAYBE_UNUSED_VAR(closing);
    #ifdef __Pyx_Coroutine_USED
    if (!closing && __Pyx_Coroutine_Check(gen)) {
        PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine");
    } else
    #endif
    if (value) {
        #ifdef __Pyx_AsyncGen_USED
        if (__Pyx_AsyncGen_CheckExact(gen))
            PyErr_SetNone(PyExc_StopAsyncIteration);
        else
        #endif
        PyErr_SetNone(PyExc_StopIteration);
    }
}
static
__Pyx_PySendResult __Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, PyObject **result, int closing) {
    __Pyx_PyThreadState_declare
    PyThreadState *tstate;
    __Pyx_ExcInfoStruct *exc_state;
    PyObject *retval;
    assert(__Pyx_Coroutine_get_is_running(self));  // Callers should ensure is_running
    if (unlikely(self->resume_label == -1)) {
        __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing);
        return PYGEN_ERROR;
    }
#if CYTHON_FAST_THREAD_STATE
    __Pyx_PyThreadState_assign
    tstate = __pyx_tstate;
#else
    tstate = __Pyx_PyThreadState_Current;
#endif
    exc_state = &self->gi_exc_state;
    if (exc_state->exc_value) {
        #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        #else
        PyObject *exc_tb;
        #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
        exc_tb = PyException_GetTraceback(exc_state->exc_value);
        #elif PY_VERSION_HEX >= 0x030B00a4
        exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback;
        #else
        exc_tb = exc_state->exc_traceback;
        #endif
        if (exc_tb) {
            PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
            PyFrameObject *f = tb->tb_frame;
            assert(f->f_back == NULL);
            #if PY_VERSION_HEX >= 0x030B00A1
            f->f_back = PyThreadState_GetFrame(tstate);
            #else
            Py_XINCREF(tstate->frame);
            f->f_back = tstate->frame;
            #endif
            #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
            Py_DECREF(exc_tb);
            #endif
        }
        #endif
    }
#if CYTHON_USE_EXC_INFO_STACK
    exc_state->previous_item = tstate->exc_info;
    tstate->exc_info = exc_state;
#else
    if (exc_state->exc_type) {
        __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
    } else {
        __Pyx_Coroutine_ExceptionClear(exc_state);
        __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
    }
#endif
    retval = self->body(self, tstate, value);
#if CYTHON_USE_EXC_INFO_STACK
    exc_state = &self->gi_exc_state;
    tstate->exc_info = exc_state->previous_item;
    exc_state->previous_item = NULL;
    __Pyx_Coroutine_ResetFrameBackpointer(exc_state);
#endif
    *result = retval;
    if (self->resume_label == -1) {
        return likely(retval) ? PYGEN_RETURN : PYGEN_ERROR;
    }
    return PYGEN_NEXT;
}
static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
    CYTHON_UNUSED_VAR(exc_state);
#else
    PyObject *exc_tb;
    #if PY_VERSION_HEX >= 0x030B00a4
    if (!exc_state->exc_value) return;
    exc_tb = PyException_GetTraceback(exc_state->exc_value);
    #else
    exc_tb = exc_state->exc_traceback;
    #endif
    if (likely(exc_tb)) {
        PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
        PyFrameObject *f = tb->tb_frame;
        Py_CLEAR(f->f_back);
        #if PY_VERSION_HEX >= 0x030B00a4
        Py_DECREF(exc_tb);
        #endif
    }
#endif
}
#define __Pyx_Coroutine_MethodReturnFromResult(gen, result, retval, iternext)\
    ((result) == PYGEN_NEXT ? (retval) : __Pyx__Coroutine_MethodReturnFromResult(gen, result, retval, iternext))
static PyObject *
__Pyx__Coroutine_MethodReturnFromResult(PyObject* gen, __Pyx_PySendResult result, PyObject *retval, int iternext) {
    CYTHON_MAYBE_UNUSED_VAR(gen);
    if (likely(result == PYGEN_RETURN)) {
        int is_async = 0;
        #ifdef __Pyx_AsyncGen_USED
        is_async = __Pyx_AsyncGen_CheckExact(gen);
        #endif
        __Pyx_ReturnWithStopIteration(retval, is_async, iternext);
        Py_XDECREF(retval);
    }
    return NULL;
}
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE
PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) {
#if PY_VERSION_HEX <= 0x030A00A1
    return _PyGen_Send(gen, arg);
#else
    PyObject *result;
    if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) {
        if (PyAsyncGen_CheckExact(gen)) {
            assert(result == Py_None);
            PyErr_SetNone(PyExc_StopAsyncIteration);
        }
        else if (result == Py_None) {
            PyErr_SetNone(PyExc_StopIteration);
        }
        else {
#if PY_VERSION_HEX < 0x030d00A1
            _PyGen_SetStopIterationValue(result);
#else
            if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) {
                PyErr_SetObject(PyExc_StopIteration, result);
            } else {
                PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result);
                if (likely(exc != NULL)) {
                    PyErr_SetObject(PyExc_StopIteration, exc);
                    Py_DECREF(exc);
                }
            }
#endif
        }
        Py_DECREF(result);
        result = NULL;
    }
    return result;
#endif
}
#endif
static CYTHON_INLINE __Pyx_PySendResult
__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen, PyObject** retval) {
    __Pyx_PySendResult result;
    PyObject *val = NULL;
    assert(__Pyx_Coroutine_get_is_running(gen));
    __Pyx_Coroutine_Undelegate(gen);
    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val);
    result = __Pyx_Coroutine_SendEx(gen, val, retval, 0);
    Py_XDECREF(val);
    return result;
}
#if CYTHON_USE_AM_SEND
static __Pyx_PySendResult
__Pyx_Coroutine_SendToDelegate(__pyx_CoroutineObject *gen, __Pyx_pyiter_sendfunc gen_am_send, PyObject *value, PyObject **retval) {
    PyObject *ret = NULL;
    __Pyx_PySendResult delegate_result, result;
    assert(__Pyx_Coroutine_get_is_running(gen));
    delegate_result = gen_am_send(gen->yieldfrom, value, &ret);
    if (delegate_result == PYGEN_NEXT) {
        assert (ret != NULL);
        *retval = ret;
        return PYGEN_NEXT;
    }
    assert (delegate_result != PYGEN_ERROR || ret == NULL);
    __Pyx_Coroutine_Undelegate(gen);
    result = __Pyx_Coroutine_SendEx(gen, ret, retval, 0);
    Py_XDECREF(ret);
    return result;
}
#endif
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
    PyObject *retval = NULL;
    __Pyx_PySendResult result = __Pyx_Coroutine_AmSend(self, value, &retval);
    return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 0);
}
static __Pyx_PySendResult
__Pyx_Coroutine_AmSend(PyObject *self, PyObject *value, PyObject **retval) {
    __Pyx_PySendResult result;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
        *retval = __Pyx_Coroutine_AlreadyRunningError(gen);
        return PYGEN_ERROR;
    }
    #if CYTHON_USE_AM_SEND
    if (gen->yieldfrom_am_send) {
        result = __Pyx_Coroutine_SendToDelegate(gen, gen->yieldfrom_am_send, value, retval);
    } else
    #endif
    if (gen->yieldfrom) {
        PyObject *yf = gen->yieldfrom;
        PyObject *ret;
      #if !CYTHON_USE_AM_SEND
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Send(yf, value);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_Check(yf)) {
            ret = __Pyx_Coroutine_Send(yf, value);
        } else
        #endif
        #ifdef __Pyx_AsyncGen_USED
        if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
            ret = __Pyx_async_gen_asend_send(yf, value);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON
        if (PyGen_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
        } else
        if (PyCoro_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
        } else
        #endif
      #endif
        {
            #if !CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x03080000
            if (value == Py_None && PyIter_Check(yf))
                ret = __Pyx_PyIter_Next_Plain(yf);
            else
            #endif
                ret = __Pyx_PyObject_CallMethod1(yf, __pyx_mstate_global->__pyx_n_u_send, value);
        }
        if (likely(ret)) {
            __Pyx_Coroutine_unset_is_running(gen);
            *retval = ret;
            return PYGEN_NEXT;
        }
        result = __Pyx_Coroutine_FinishDelegation(gen, retval);
    } else {
        result = __Pyx_Coroutine_SendEx(gen, value, retval, 0);
    }
    __Pyx_Coroutine_unset_is_running(gen);
    return result;
}
static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
    __Pyx_PySendResult result;
    PyObject *retval = NULL;
    CYTHON_UNUSED_VAR(gen);
    assert(__Pyx_Coroutine_get_is_running(gen));
    #ifdef __Pyx_Generator_USED
    if (__Pyx_Generator_CheckExact(yf)) {
        result = __Pyx_Coroutine_Close(yf, &retval);
    } else
    #endif
    #ifdef __Pyx_Coroutine_USED
    if (__Pyx_Coroutine_Check(yf)) {
        result = __Pyx_Coroutine_Close(yf, &retval);
    } else
    if (__Pyx_CoroutineAwait_CheckExact(yf)) {
        result = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf);
    } else
    #endif
    #ifdef __Pyx_AsyncGen_USED
    if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
        retval = __Pyx_async_gen_asend_close(yf, NULL);
        result = PYGEN_RETURN;
    } else
    if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) {
        retval = __Pyx_async_gen_athrow_close(yf, NULL);
        result = PYGEN_RETURN;
    } else
    #endif
    {
        PyObject *meth;
        result = PYGEN_RETURN;
        meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_mstate_global->__pyx_n_u_close);
        if (unlikely(!meth)) {
            if (unlikely(PyErr_Occurred())) {
                PyErr_WriteUnraisable(yf);
            }
        } else {
            retval = __Pyx_PyObject_CallNoArg(meth);
            Py_DECREF(meth);
            if (unlikely(!retval)) {
                result = PYGEN_ERROR;
            }
        }
    }
    Py_XDECREF(retval);
    return result == PYGEN_ERROR ? -1 : 0;
}
static PyObject *__Pyx_Generator_Next(PyObject *self) {
    __Pyx_PySendResult result;
    PyObject *retval = NULL;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    }
    #if CYTHON_USE_AM_SEND
    if (gen->yieldfrom_am_send) {
        result = __Pyx_Coroutine_SendToDelegate(gen, gen->yieldfrom_am_send, Py_None, &retval);
    } else
    #endif
    if (gen->yieldfrom) {
        PyObject *yf = gen->yieldfrom;
        PyObject *ret;
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Generator_Next(yf);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Send(yf, Py_None);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON && (PY_VERSION_HEX < 0x030A00A3 || !CYTHON_USE_AM_SEND)
        if (PyGen_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL);
        } else
        #endif
            ret = __Pyx_PyIter_Next_Plain(yf);
        if (likely(ret)) {
            __Pyx_Coroutine_unset_is_running(gen);
            return ret;
        }
        result = __Pyx_Coroutine_FinishDelegation(gen, &retval);
    } else {
        result = __Pyx_Coroutine_SendEx(gen, Py_None, &retval, 0);
    }
    __Pyx_Coroutine_unset_is_running(gen);
    return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 1);
}
static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) {
    PyObject *retval = NULL;
    __Pyx_PySendResult result;
    CYTHON_UNUSED_VAR(arg);
    result = __Pyx_Coroutine_Close(self, &retval);
    if (unlikely(result == PYGEN_ERROR))
        return NULL;
    Py_XDECREF(retval);
    Py_RETURN_NONE;
}
static __Pyx_PySendResult
__Pyx_Coroutine_Close(PyObject *self, PyObject **retval) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    __Pyx_PySendResult result;
    PyObject *yf;
    int err = 0;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
        *retval = __Pyx_Coroutine_AlreadyRunningError(gen);
        return PYGEN_ERROR;
    }
    yf = gen->yieldfrom;
    if (yf) {
        Py_INCREF(yf);
        err = __Pyx_Coroutine_CloseIter(gen, yf);
        __Pyx_Coroutine_Undelegate(gen);
        Py_DECREF(yf);
    }
    if (err == 0)
        PyErr_SetNone(PyExc_GeneratorExit);
    result = __Pyx_Coroutine_SendEx(gen, NULL, retval, 1);
    if (result == PYGEN_ERROR) {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_Coroutine_unset_is_running(gen);
        if (!__Pyx_PyErr_Occurred()) {
            return PYGEN_RETURN;
        } else if (likely(__Pyx_PyErr_ExceptionMatches2(PyExc_GeneratorExit, PyExc_StopIteration))) {
            __Pyx_PyErr_Clear();
            return PYGEN_RETURN;
        }
        return PYGEN_ERROR;
    } else if (likely(result == PYGEN_RETURN && *retval == Py_None)) {
        __Pyx_Coroutine_unset_is_running(gen);
        return PYGEN_RETURN;
    } else {
        const char *msg;
        Py_DECREF(*retval);
        *retval = NULL;
        if ((0)) {
        #ifdef __Pyx_Coroutine_USED
        } else if (__Pyx_Coroutine_Check(self)) {
            msg = "coroutine ignored GeneratorExit";
        #endif
        #ifdef __Pyx_AsyncGen_USED
        } else if (__Pyx_AsyncGen_CheckExact(self)) {
            msg = "async generator ignored GeneratorExit";
        #endif
        } else {
            msg = "generator ignored GeneratorExit";
        }
        PyErr_SetString(PyExc_RuntimeError, msg);
        __Pyx_Coroutine_unset_is_running(gen);
        return PYGEN_ERROR;
    }
}
static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb,
                                        PyObject *args, int close_on_genexit) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject *yf;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen)))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    yf = gen->yieldfrom;
    if (yf) {
        __Pyx_PySendResult result;
        PyObject *ret;
        Py_INCREF(yf);
        if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) {
            int err = __Pyx_Coroutine_CloseIter(gen, yf);
            Py_DECREF(yf);
            __Pyx_Coroutine_Undelegate(gen);
            if (err < 0)
                goto propagate_exception;
            goto throw_here;
        }
        if (0
        #ifdef __Pyx_Generator_USED
            || __Pyx_Generator_CheckExact(yf)
        #endif
        #ifdef __Pyx_Coroutine_USED
            || __Pyx_Coroutine_Check(yf)
        #endif
            ) {
            ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit);
        #ifdef __Pyx_Coroutine_USED
        } else if (__Pyx_CoroutineAwait_CheckExact(yf)) {
            ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit);
        #endif
        } else {
            PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_mstate_global->__pyx_n_u_throw);
            if (unlikely(!meth)) {
                Py_DECREF(yf);
                if (unlikely(PyErr_Occurred())) {
                    __Pyx_Coroutine_unset_is_running(gen);
                    return NULL;
                }
                __Pyx_Coroutine_Undelegate(gen);
                goto throw_here;
            }
            if (likely(args)) {
                ret = __Pyx_PyObject_Call(meth, args, NULL);
            } else {
                PyObject *cargs[4] = {NULL, typ, val, tb};
                ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
            }
            Py_DECREF(meth);
        }
        Py_DECREF(yf);
        if (ret) {
            __Pyx_Coroutine_unset_is_running(gen);
            return ret;
        }
        result = __Pyx_Coroutine_FinishDelegation(gen, &ret);
        __Pyx_Coroutine_unset_is_running(gen);
        return __Pyx_Coroutine_MethodReturnFromResult(self, result, ret, 0);
    }
throw_here:
    __Pyx_Raise(typ, val, tb, NULL);
propagate_exception:
    {
        PyObject *retval = NULL;
        __Pyx_PySendResult result = __Pyx_Coroutine_SendEx(gen, NULL, &retval, 0);
        __Pyx_Coroutine_unset_is_running(gen);
        return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 0);
    }
}
static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
    PyObject *typ;
    PyObject *val = NULL;
    PyObject *tb = NULL;
    if (unlikely(!PyArg_UnpackTuple(args, "throw", 1, 3, &typ, &val, &tb)))
        return NULL;
    return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1);
}
static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) {
#if PY_VERSION_HEX >= 0x030B00a4
    Py_VISIT(exc_state->exc_value);
#else
    Py_VISIT(exc_state->exc_type);
    Py_VISIT(exc_state->exc_value);
    Py_VISIT(exc_state->exc_traceback);
#endif
    return 0;
}
static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) {
    {
        int e = __Pyx_call_type_traverse((PyObject*)gen, 1, visit, arg);
        if (e) return e;
    }
    Py_VISIT(gen->closure);
    Py_VISIT(gen->classobj);
    Py_VISIT(gen->yieldfrom);
    return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg);
}
static int __Pyx_Coroutine_clear(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    Py_CLEAR(gen->closure);
    Py_CLEAR(gen->classobj);
    __Pyx_Coroutine_Undelegate(gen);
    __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state);
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer);
    }
#endif
    Py_CLEAR(gen->gi_code);
    Py_CLEAR(gen->gi_frame);
    Py_CLEAR(gen->gi_name);
    Py_CLEAR(gen->gi_qualname);
    Py_CLEAR(gen->gi_modulename);
    return 0;
}
static void __Pyx_Coroutine_dealloc(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject_GC_UnTrack(gen);
    if (gen->gi_weakreflist != NULL)
        PyObject_ClearWeakRefs(self);
    if (gen->resume_label >= 0) {
        PyObject_GC_Track(self);
#if CYTHON_USE_TP_FINALIZE
        if (unlikely(PyObject_CallFinalizerFromDealloc(self)))
#else
        {
            destructor del = __Pyx_PyObject_GetSlot(gen, tp_del, destructor);
            if (del) del(self);
        }
        if (unlikely(Py_REFCNT(self) > 0))
#endif
        {
            return;
        }
        PyObject_GC_UnTrack(self);
    }
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        /* We have to handle this case for asynchronous generators
           right here, because this code has to be between UNTRACK
           and GC_Del. */
        Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer);
    }
#endif
    __Pyx_Coroutine_clear(self);
    __Pyx_PyHeapTypeObject_GC_Del(gen);
}
#if CYTHON_USE_TP_FINALIZE
static void __Pyx_Coroutine_del(PyObject *self) {
    PyObject *error_type, *error_value, *error_traceback;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    __Pyx_PyThreadState_declare
    if (gen->resume_label < 0) {
        return;
    }
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self;
        PyObject *finalizer = agen->ag_finalizer;
        if (finalizer && !agen->ag_closed) {
            PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self);
            if (unlikely(!res)) {
                PyErr_WriteUnraisable(self);
            } else {
                Py_DECREF(res);
            }
            __Pyx_ErrRestore(error_type, error_value, error_traceback);
            return;
        }
    }
#endif
    if (unlikely(gen->resume_label == 0 && !error_value)) {
#ifdef __Pyx_Coroutine_USED
#ifdef __Pyx_Generator_USED
    if (!__Pyx_Generator_CheckExact(self))
#endif
        {
        PyObject_GC_UnTrack(self);
        if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0))
            PyErr_WriteUnraisable(self);
        PyObject_GC_Track(self);
        }
#endif
    } else {
        PyObject *retval = NULL;
        __Pyx_PySendResult result = __Pyx_Coroutine_Close(self, &retval);
        if (result == PYGEN_ERROR) {
            PyErr_WriteUnraisable(self);
        } else {
            Py_XDECREF(retval);
        }
    }
    __Pyx_ErrRestore(error_type, error_value, error_traceback);
}
#endif
static PyObject *
__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context)
{
    PyObject *name = self->gi_name;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(self->gi_name, value);
    return 0;
}
static PyObject *
__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context)
{
    PyObject *name = self->gi_qualname;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(self->gi_qualname, value);
    return 0;
}
static PyObject *
__Pyx__Coroutine_get_frame(__pyx_CoroutineObject *self)
{
#if !CYTHON_COMPILING_IN_LIMITED_API
    PyObject *frame;
    #if PY_VERSION_HEX >= 0x030d0000
    Py_BEGIN_CRITICAL_SECTION(self);
    #endif
    frame = self->gi_frame;
    if (!frame) {
        if (unlikely(!self->gi_code)) {
            Py_RETURN_NONE;
        }
        PyObject *globals = PyDict_New();
        if (unlikely(!globals)) return NULL;
        frame = (PyObject *) PyFrame_New(
            PyThreadState_Get(),            /*PyThreadState *tstate,*/
            (PyCodeObject*) self->gi_code,  /*PyCodeObject *code,*/
            globals,                        /*PyObject *globals,*/
            0                               /*PyObject *locals*/
        );
        Py_DECREF(globals);
        if (unlikely(!frame))
            return NULL;
        if (unlikely(self->gi_frame)) {
            Py_DECREF(frame);
            frame = self->gi_frame;
        } else {
            self->gi_frame = frame;
        }
    }
    Py_INCREF(frame);
    #if PY_VERSION_HEX >= 0x030d0000
    Py_END_CRITICAL_SECTION();
    #endif
    return frame;
#else
    CYTHON_UNUSED_VAR(self);
    Py_RETURN_NONE;
#endif
}
static PyObject *
__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) {
    CYTHON_UNUSED_VAR(context);
    PyObject *frame = self->gi_frame;
    if (frame)
        return __Pyx_NewRef(frame);
    return __Pyx__Coroutine_get_frame(self);
}
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
            PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name) {
    __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type);
    if (unlikely(!gen))
        return NULL;
    return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name);
}
static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
            __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name) {
    gen->body = body;
    gen->closure = closure;
    Py_XINCREF(closure);
    gen->is_running = 0;
    gen->resume_label = 0;
    gen->classobj = NULL;
    gen->yieldfrom = NULL;
    gen->yieldfrom_am_send = NULL;
    #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_LIMITED_API
    gen->gi_exc_state.exc_value = NULL;
    #else
    gen->gi_exc_state.exc_type = NULL;
    gen->gi_exc_state.exc_value = NULL;
    gen->gi_exc_state.exc_traceback = NULL;
    #endif
#if CYTHON_USE_EXC_INFO_STACK
    gen->gi_exc_state.previous_item = NULL;
#endif
    gen->gi_weakreflist = NULL;
    Py_XINCREF(qualname);
    gen->gi_qualname = qualname;
    Py_XINCREF(name);
    gen->gi_name = name;
    Py_XINCREF(module_name);
    gen->gi_modulename = module_name;
    Py_XINCREF(code);
    gen->gi_code = code;
    gen->gi_frame = NULL;
    PyObject_GC_Track(gen);
    return gen;
}
static char __Pyx_Coroutine_test_and_set_is_running(__pyx_CoroutineObject *gen) {
    char result;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_BEGIN_CRITICAL_SECTION(gen);
    #endif
    result = gen->is_running;
    gen->is_running = 1;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_END_CRITICAL_SECTION();
    #endif
    return result;
}
static void __Pyx_Coroutine_unset_is_running(__pyx_CoroutineObject *gen) {
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_BEGIN_CRITICAL_SECTION(gen);
    #endif
    assert(gen->is_running);
    gen->is_running = 0;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_END_CRITICAL_SECTION();
    #endif
}
static char __Pyx_Coroutine_get_is_running(__pyx_CoroutineObject *gen) {
    char result;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_BEGIN_CRITICAL_SECTION(gen);
    #endif
    result = gen->is_running;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_END_CRITICAL_SECTION();
    #endif
    return result;
}
static PyObject *__Pyx_Coroutine_get_is_running_getter(PyObject *gen, void *closure) {
    CYTHON_UNUSED_VAR(closure);
    char result = __Pyx_Coroutine_get_is_running((__pyx_CoroutineObject*)gen);
    if (result) Py_RETURN_TRUE;
    else Py_RETURN_FALSE;
}
#if __PYX_HAS_PY_AM_SEND == 2
static void __Pyx_SetBackportTypeAmSend(PyTypeObject *type, __Pyx_PyAsyncMethodsStruct *static_amsend_methods, __Pyx_pyiter_sendfunc am_send) {
    Py_ssize_t ptr_offset = (char*)(type->tp_as_async) - (char*)type;
    if (ptr_offset < 0 || ptr_offset > type->tp_basicsize) {
        return;
    }
    memcpy((void*)static_amsend_methods, (void*)(type->tp_as_async), sizeof(*type->tp_as_async));
    static_amsend_methods->am_send = am_send;
    type->tp_as_async = __Pyx_SlotTpAsAsync(static_amsend_methods);
}
#endif
static PyObject *__Pyx_Coroutine_fail_reduce_ex(PyObject *self, PyObject *arg) {
    CYTHON_UNUSED_VAR(arg);
    __Pyx_TypeName self_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE((PyObject*)self));
    PyErr_Format(PyExc_TypeError, "cannot pickle '" __Pyx_FMT_TYPENAME "' object",
                         self_type_name);
    __Pyx_DECREF_TypeName(self_type_name);
    return NULL;
}

/* Generator */
static PyMethodDef __pyx_Generator_methods[] = {
    {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
     PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
    {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
     PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")},
    {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS,
     PyDoc_STR("close() -> raise GeneratorExit inside generator.")},
    {"__reduce_ex__", (PyCFunction) __Pyx_Coroutine_fail_reduce_ex, METH_O, 0},
    {"__reduce__", (PyCFunction) __Pyx_Coroutine_fail_reduce_ex, METH_NOARGS, 0},
    {0, 0, 0, 0}
};
static PyMemberDef __pyx_Generator_memberlist[] = {
    {"gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
     PyDoc_STR("object being iterated by 'yield from', or None")},
    {"gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL},
    {"__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0},
    {"__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0},
    {0, 0, 0, 0, 0}
};
static PyGetSetDef __pyx_Generator_getsets[] = {
    {"__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
     PyDoc_STR("name of the generator"), 0},
    {"__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
     PyDoc_STR("qualified name of the generator"), 0},
    {"gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
     PyDoc_STR("Frame of the generator"), 0},
    {"gi_running", __Pyx_Coroutine_get_is_running_getter, NULL, NULL, NULL},
    {0, 0, 0, 0, 0}
};
static PyType_Slot __pyx_GeneratorType_slots[] = {
    {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc},
    {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse},
    {Py_tp_iter, (void *)PyObject_SelfIter},
    {Py_tp_iternext, (void *)__Pyx_Generator_Next},
    {Py_tp_methods, (void *)__pyx_Generator_methods},
    {Py_tp_members, (void *)__pyx_Generator_memberlist},
    {Py_tp_getset, (void *)__pyx_Generator_getsets},
    {Py_tp_getattro, (void *) PyObject_GenericGetAttr},
#if CYTHON_USE_TP_FINALIZE
    {Py_tp_finalize, (void *)__Pyx_Coroutine_del},
#endif
#if __PYX_HAS_PY_AM_SEND == 1
    {Py_am_send, (void *)__Pyx_Coroutine_AmSend},
#endif
    {0, 0},
};
static PyType_Spec __pyx_GeneratorType_spec = {
    __PYX_TYPE_MODULE_PREFIX "generator",
    sizeof(__pyx_CoroutineObject),
    0,
#if PY_VERSION_HEX >= 0x030A0000
    Py_TPFLAGS_IMMUTABLETYPE |
#endif
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE | __Pyx_TPFLAGS_HAVE_AM_SEND,
    __pyx_GeneratorType_slots
};
#if __PYX_HAS_PY_AM_SEND == 2
static __Pyx_PyAsyncMethodsStruct __pyx_Generator_as_async;
#endif
static int __pyx_Generator_init(PyObject *module) {
    __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
    mstate->__pyx_GeneratorType = __Pyx_FetchCommonTypeFromSpec(
        mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_GeneratorType_spec, NULL);
    if (unlikely(!mstate->__pyx_GeneratorType)) {
        return -1;
    }
#if __PYX_HAS_PY_AM_SEND == 2
    __Pyx_SetBackportTypeAmSend(mstate->__pyx_GeneratorType, &__pyx_Generator_as_async, &__Pyx_Coroutine_AmSend);
#endif
    return 0;
}
static PyObject *__Pyx_Generator_GetInlinedResult(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    PyObject *retval = NULL;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    }
    __Pyx_PySendResult result = __Pyx_Coroutine_SendEx(gen, Py_None, &retval, 0);
    __Pyx_Coroutine_unset_is_running(gen);
    (void) result;
    assert (result == PYGEN_RETURN || result == PYGEN_ERROR);
    assert ((result == PYGEN_RETURN && retval != NULL) || (result == PYGEN_ERROR && retval == NULL));
    return retval;
}

/* GetRuntimeVersion */
static unsigned long __Pyx_get_runtime_version(void) {
#if __PYX_LIMITED_VERSION_HEX >= 0x030b0000
    return Py_Version & ~0xFFUL;
#else
    static unsigned long __Pyx_cached_runtime_version = 0;
    if (__Pyx_cached_runtime_version == 0) {
        const char* rt_version = Py_GetVersion();
        unsigned long version = 0;
        unsigned long factor = 0x01000000UL;
        unsigned int digit = 0;
        int i = 0;
        while (factor) {
            while ('0' <= rt_version[i] && rt_version[i] <= '9') {
                digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
                ++i;
            }
            version += factor * digit;
            if (rt_version[i] != '.')
                break;
            digit = 0;
            factor >>= 8;
            ++i;
        }
        __Pyx_cached_runtime_version = version;
    }
    return __Pyx_cached_runtime_version;
#endif
}

/* CheckBinaryVersion */
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
    const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
    if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
        return 0;
    if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
        return 1;
    {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compile time Python version %d.%d "
                      "of module '%.100s' "
                      "%s "
                      "runtime version %d.%d",
                       (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
                       __Pyx_MODULE_NAME,
                       (allow_newer) ? "was newer than" : "does not match",
                       (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
       );
        return PyErr_WarnEx(NULL, message, 1);
    }
}

/* FunctionImport */
#ifndef __PYX_HAVE_RT_ImportFunction_3_1_5
#define __PYX_HAVE_RT_ImportFunction_3_1_5
static int __Pyx_ImportFunction_3_1_5(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(module, "__pyx_capi__");
    if (!d)
        goto bad;
#if (defined(Py_LIMITED_API) && Py_LIMITED_API >= 0x030d0000) || (!defined(Py_LIMITED_API) && PY_VERSION_HEX >= 0x030d0000)
    PyDict_GetItemStringRef(d, funcname, &cobj);
#else
    cobj = PyDict_GetItemString(d, funcname);
    Py_XINCREF(cobj);
#endif
    if (!cobj) {
        PyErr_Format(PyExc_ImportError,
            "%.200s does not export expected C function %.200s",
                PyModule_GetName(module), funcname);
        goto bad;
    }
    if (!PyCapsule_IsValid(cobj, sig)) {
        PyErr_Format(PyExc_TypeError,
            "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
        goto bad;
    }
    tmp.p = PyCapsule_GetPointer(cobj, sig);
    *f = tmp.fp;
    if (!(*f))
        goto bad;
    Py_DECREF(d);
    Py_DECREF(cobj);
    return 0;
bad:
    Py_XDECREF(d);
    Py_XDECREF(cobj);
    return -1;
}
#endif

/* NewCodeObj */
#if CYTHON_COMPILING_IN_LIMITED_API
    static PyObject* __Pyx__PyCode_New(int a, int p, int k, int l, int s, int f,
                                       PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                       PyObject *fv, PyObject *cell, PyObject* fn,
                                       PyObject *name, int fline, PyObject *lnos) {
        PyObject *exception_table = NULL;
        PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
        #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
        PyObject *version_info;
        PyObject *py_minor_version = NULL;
        #endif
        long minor_version = 0;
        PyObject *type, *value, *traceback;
        PyErr_Fetch(&type, &value, &traceback);
        #if __PYX_LIMITED_VERSION_HEX >= 0x030b0000
        minor_version = 11;
        #else
        if (!(version_info = PySys_GetObject("version_info"))) goto end;
        if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
        minor_version = PyLong_AsLong(py_minor_version);
        Py_DECREF(py_minor_version);
        if (minor_version == -1 && PyErr_Occurred()) goto end;
        #endif
        if (!(types_module = PyImport_ImportModule("types"))) goto end;
        if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
        if (minor_version <= 7) {
            (void)p;
            result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOOO", a, k, l, s, f, code,
                          c, n, v, fn, name, fline, lnos, fv, cell);
        } else if (minor_version <= 10) {
            result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOOO", a,p, k, l, s, f, code,
                          c, n, v, fn, name, fline, lnos, fv, cell);
        } else {
            if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
            result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOOOO", a,p, k, l, s, f, code,
                          c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
        }
    end:
        Py_XDECREF(code_type);
        Py_XDECREF(exception_table);
        Py_XDECREF(types_module);
        if (type) {
            PyErr_Restore(type, value, traceback);
        }
        return result;
    }
#elif PY_VERSION_HEX >= 0x030B0000
  static PyCodeObject* __Pyx__PyCode_New(int a, int p, int k, int l, int s, int f,
                                         PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                         PyObject *fv, PyObject *cell, PyObject* fn,
                                         PyObject *name, int fline, PyObject *lnos) {
    PyCodeObject *result;
    result =
      #if PY_VERSION_HEX >= 0x030C0000
        PyUnstable_Code_NewWithPosOnlyArgs
      #else
        PyCode_NewWithPosOnlyArgs
      #endif
        (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
    if (likely(result))
        result->_co_firsttraceable = 0;
    #endif
    return result;
  }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
  #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
  #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
static PyObject* __Pyx_PyCode_New(
        const __Pyx_PyCode_New_function_description descr,
        PyObject * const *varnames,
        PyObject *filename,
        PyObject *funcname,
        const char *line_table,
        PyObject *tuple_dedup_map
) {
    PyObject *code_obj = NULL, *varnames_tuple_dedup = NULL, *code_bytes = NULL, *line_table_bytes = NULL;
    Py_ssize_t var_count = (Py_ssize_t) descr.nlocals;
    PyObject *varnames_tuple = PyTuple_New(var_count);
    if (unlikely(!varnames_tuple)) return NULL;
    for (Py_ssize_t i=0; i < var_count; i++) {
        Py_INCREF(varnames[i]);
        if (__Pyx_PyTuple_SET_ITEM(varnames_tuple, i, varnames[i]) != (0)) goto done;
    }
    #if CYTHON_COMPILING_IN_LIMITED_API
    varnames_tuple_dedup = PyDict_GetItem(tuple_dedup_map, varnames_tuple);
    if (!varnames_tuple_dedup) {
        if (unlikely(PyDict_SetItem(tuple_dedup_map, varnames_tuple, varnames_tuple) < 0)) goto done;
        varnames_tuple_dedup = varnames_tuple;
    }
    #else
    varnames_tuple_dedup = PyDict_SetDefault(tuple_dedup_map, varnames_tuple, varnames_tuple);
    if (unlikely(!varnames_tuple_dedup)) goto done;
    #endif
    #if CYTHON_AVOID_BORROWED_REFS
    Py_INCREF(varnames_tuple_dedup);
    #endif
    if (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table != NULL
        && !CYTHON_COMPILING_IN_GRAAL) {
        line_table_bytes = PyBytes_FromStringAndSize(line_table, descr.line_table_length);
        if (unlikely(!line_table_bytes)) goto done;
        Py_ssize_t code_len = (descr.line_table_length * 2 + 4) & ~3;
        code_bytes = PyBytes_FromStringAndSize(NULL, code_len);
        if (unlikely(!code_bytes)) goto done;
        char* c_code_bytes = PyBytes_AsString(code_bytes);
        if (unlikely(!c_code_bytes)) goto done;
        memset(c_code_bytes, 0, (size_t) code_len);
    }
    code_obj = (PyObject*) __Pyx__PyCode_New(
        (int) descr.argcount,
        (int) descr.num_posonly_args,
        (int) descr.num_kwonly_args,
        (int) descr.nlocals,
        0,
        (int) descr.flags,
        code_bytes ? code_bytes : __pyx_mstate_global->__pyx_empty_bytes,
        __pyx_mstate_global->__pyx_empty_tuple,
        __pyx_mstate_global->__pyx_empty_tuple,
        varnames_tuple_dedup,
        __pyx_mstate_global->__pyx_empty_tuple,
        __pyx_mstate_global->__pyx_empty_tuple,
        filename,
        funcname,
        (int) descr.first_line,
        (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table_bytes) ? line_table_bytes : __pyx_mstate_global->__pyx_empty_bytes
    );
done:
    Py_XDECREF(code_bytes);
    Py_XDECREF(line_table_bytes);
    #if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(varnames_tuple_dedup);
    #endif
    Py_DECREF(varnames_tuple);
    return code_obj;
}

/* InitStrings */
static int __Pyx_InitStrings(__Pyx_StringTabEntry const *t, PyObject **target, const char* const* encoding_names) {
    while (t->s) {
        PyObject *str;
        if (t->is_unicode) {
            if (t->intern) {
                str = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                str = PyUnicode_Decode(t->s, t->n - 1, encoding_names[t->encoding], NULL);
            } else {
                str = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            str = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        if (!str)
            return -1;
        *target = str;
        if (PyObject_Hash(str) == -1)
            return -1;
        ++t;
        ++target;
    }
    return 0;
}

#include <string.h>
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
    size_t len = strlen(s);
    if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
        PyErr_SetString(PyExc_OverflowError, "byte string is too long");
        return -1;
    }
    return (Py_ssize_t) len;
}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#if CYTHON_COMPILING_IN_LIMITED_API
    {
        const char* result;
        Py_ssize_t unicode_length;
        CYTHON_MAYBE_UNUSED_VAR(unicode_length); // only for __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        #if __PYX_LIMITED_VERSION_HEX < 0x030A0000
        if (unlikely(PyArg_Parse(o, "s#", &result, length) < 0)) return NULL;
        #else
        result = PyUnicode_AsUTF8AndSize(o, length);
        #endif
        #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        unicode_length = PyUnicode_GetLength(o);
        if (unlikely(unicode_length < 0)) return NULL;
        if (unlikely(unicode_length != *length)) {
            PyUnicode_AsASCIIString(o);
            return NULL;
        }
        #endif
        return result;
    }
#else
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    if (likely(PyUnicode_IS_ASCII(o))) {
        *length = PyUnicode_GET_LENGTH(o);
        return PyUnicode_AsUTF8(o);
    } else {
        PyUnicode_AsASCIIString(o);
        return NULL;
    }
#else
    return PyUnicode_AsUTF8AndSize(o, length);
#endif
#endif
}
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
    if (PyUnicode_Check(o)) {
        return __Pyx_PyUnicode_AsStringAndSize(o, length);
    } else
#endif
    if (PyByteArray_Check(o)) {
#if (CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS) || (CYTHON_COMPILING_IN_PYPY && (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)))
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
#else
        *length = PyByteArray_Size(o);
        if (*length == -1) return NULL;
        return PyByteArray_AsString(o);
#endif
    } else
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (unlikely(r < 0)) {
            return NULL;
        } else {
            return result;
        }
    }
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
    int retval;
    if (unlikely(!x)) return -1;
    retval = __Pyx_PyObject_IsTrue(x);
    Py_DECREF(x);
    return retval;
}
static PyObject* __Pyx_PyNumber_LongWrongResultType(PyObject* result) {
    __Pyx_TypeName result_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(result));
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ").  "
                "The ability to return an instance of a strict subclass of int is deprecated, "
                "and may be removed in a future version of Python.",
                result_type_name)) {
            __Pyx_DECREF_TypeName(result_type_name);
            Py_DECREF(result);
            return NULL;
        }
        __Pyx_DECREF_TypeName(result_type_name);
        return result;
    }
    PyErr_Format(PyExc_TypeError,
                 "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ")",
                 result_type_name);
    __Pyx_DECREF_TypeName(result_type_name);
    Py_DECREF(result);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  PyObject *res = NULL;
  if (likely(PyLong_Check(x)))
      return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  if (likely(m && m->nb_int)) {
      res = m->nb_int(x);
  }
#else
  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
      res = PyNumber_Long(x);
  }
#endif
  if (likely(res)) {
      if (unlikely(!PyLong_CheckExact(res))) {
          return __Pyx_PyNumber_LongWrongResultType(res);
      }
  }
  else if (!PyErr_Occurred()) {
      PyErr_SetString(PyExc_TypeError,
                      "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject *x;
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(__Pyx_PyLong_IsCompact(b))) {
        return __Pyx_PyLong_CompactValue(b);
    } else {
      const digit* digits = __Pyx_PyLong_Digits(b);
      const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b);
      switch (size) {
         case 2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
      }
    }
    #endif
    return PyLong_AsSsize_t(b);
  }
  x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyLong_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
  } else {
    Py_ssize_t ival;
    PyObject *x;
    x = PyNumber_Index(o);
    if (!x) return -1;
    ival = PyLong_AsLong(x);
    Py_DECREF(x);
    return ival;
  }
}
static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b) {
    CYTHON_UNUSED_VAR(b);
    return __Pyx_NewRef(Py_None);
}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
}
static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t ival) {
    return PyLong_FromSize_t(ival);
}
#if CYTHON_USE_PYLONG_INTERNALS
static CYTHON_INLINE int __Pyx_PyLong_CompactAsLong(PyObject *x, long *return_value) {
    if (unlikely(!__Pyx_PyLong_IsCompact(x)))
        return 0;
    Py_ssize_t value = __Pyx_PyLong_CompactValue(x);
    if ((sizeof(long) < sizeof(Py_ssize_t)) && unlikely(value != (long) value))
        return 0;
    *return_value = (long) value;
    return 1;
}
#endif


/* MultiPhaseInitModuleState */
#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
#ifndef CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
#if (CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX >= 0x030C0000)
  #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 1
#else
  #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 0
#endif
#endif
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE && !CYTHON_ATOMICS
#error "Module state with PEP489 requires atomics. Currently that's one of\
 C11, C++11, gcc atomic intrinsics or MSVC atomic intrinsics"
#endif
#if !CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
#define __Pyx_ModuleStateLookup_Lock()
#define __Pyx_ModuleStateLookup_Unlock()
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000
static PyMutex __Pyx_ModuleStateLookup_mutex = {0};
#define __Pyx_ModuleStateLookup_Lock() PyMutex_Lock(&__Pyx_ModuleStateLookup_mutex)
#define __Pyx_ModuleStateLookup_Unlock() PyMutex_Unlock(&__Pyx_ModuleStateLookup_mutex)
#elif defined(__cplusplus) && __cplusplus >= 201103L
#include <mutex>
static std::mutex __Pyx_ModuleStateLookup_mutex;
#define __Pyx_ModuleStateLookup_Lock() __Pyx_ModuleStateLookup_mutex.lock()
#define __Pyx_ModuleStateLookup_Unlock() __Pyx_ModuleStateLookup_mutex.unlock()
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ > 201112L) && !defined(__STDC_NO_THREADS__)
#include <threads.h>
static mtx_t __Pyx_ModuleStateLookup_mutex;
static once_flag __Pyx_ModuleStateLookup_mutex_once_flag = ONCE_FLAG_INIT;
static void __Pyx_ModuleStateLookup_initialize_mutex(void) {
    mtx_init(&__Pyx_ModuleStateLookup_mutex, mtx_plain);
}
#define __Pyx_ModuleStateLookup_Lock()\
  call_once(&__Pyx_ModuleStateLookup_mutex_once_flag, __Pyx_ModuleStateLookup_initialize_mutex);\
  mtx_lock(&__Pyx_ModuleStateLookup_mutex)
#define __Pyx_ModuleStateLookup_Unlock() mtx_unlock(&__Pyx_ModuleStateLookup_mutex)
#elif defined(HAVE_PTHREAD_H)
#include <pthread.h>
static pthread_mutex_t __Pyx_ModuleStateLookup_mutex = PTHREAD_MUTEX_INITIALIZER;
#define __Pyx_ModuleStateLookup_Lock() pthread_mutex_lock(&__Pyx_ModuleStateLookup_mutex)
#define __Pyx_ModuleStateLookup_Unlock() pthread_mutex_unlock(&__Pyx_ModuleStateLookup_mutex)
#elif defined(_WIN32)
#include <Windows.h>  // synchapi.h on its own doesn't work
static SRWLOCK __Pyx_ModuleStateLookup_mutex = SRWLOCK_INIT;
#define __Pyx_ModuleStateLookup_Lock() AcquireSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex)
#define __Pyx_ModuleStateLookup_Unlock() ReleaseSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex)
#else
#error "No suitable lock available for CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE.\
 Requires C standard >= C11, or C++ standard >= C++11,\
 or pthreads, or the Windows 32 API, or Python >= 3.13."
#endif
typedef struct {
    int64_t id;
    PyObject *module;
} __Pyx_InterpreterIdAndModule;
typedef struct {
    char interpreter_id_as_index;
    Py_ssize_t count;
    Py_ssize_t allocated;
    __Pyx_InterpreterIdAndModule table[1];
} __Pyx_ModuleStateLookupData;
#define __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE 32
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
static __pyx_atomic_int_type __Pyx_ModuleStateLookup_read_counter = 0;
#endif
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
static __pyx_atomic_ptr_type __Pyx_ModuleStateLookup_data = 0;
#else
static __Pyx_ModuleStateLookupData* __Pyx_ModuleStateLookup_data = NULL;
#endif
static __Pyx_InterpreterIdAndModule* __Pyx_State_FindModuleStateLookupTableLowerBound(
        __Pyx_InterpreterIdAndModule* table,
        Py_ssize_t count,
        int64_t interpreterId) {
    __Pyx_InterpreterIdAndModule* begin = table;
    __Pyx_InterpreterIdAndModule* end = begin + count;
    if (begin->id == interpreterId) {
        return begin;
    }
    while ((end - begin) > __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) {
        __Pyx_InterpreterIdAndModule* halfway = begin + (end - begin)/2;
        if (halfway->id == interpreterId) {
            return halfway;
        }
        if (halfway->id < interpreterId) {
            begin = halfway;
        } else {
            end = halfway;
        }
    }
    for (; begin < end; ++begin) {
        if (begin->id >= interpreterId) return begin;
    }
    return begin;
}
static PyObject *__Pyx_State_FindModule(CYTHON_UNUSED void* dummy) {
    int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
    if (interpreter_id == -1) return NULL;
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __Pyx_ModuleStateLookupData* data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data);
    {
        __pyx_atomic_incr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
        if (likely(data)) {
            __Pyx_ModuleStateLookupData* new_data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_acquire(&__Pyx_ModuleStateLookup_data);
            if (likely(data == new_data)) {
                goto read_finished;
            }
        }
        __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
        __Pyx_ModuleStateLookup_Lock();
        __pyx_atomic_incr_relaxed(&__Pyx_ModuleStateLookup_read_counter);
        data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data);
        __Pyx_ModuleStateLookup_Unlock();
    }
  read_finished:;
#else
    __Pyx_ModuleStateLookupData* data = __Pyx_ModuleStateLookup_data;
#endif
    __Pyx_InterpreterIdAndModule* found = NULL;
    if (unlikely(!data)) goto end;
    if (data->interpreter_id_as_index) {
        if (interpreter_id < data->count) {
            found = data->table+interpreter_id;
        }
    } else {
        found = __Pyx_State_FindModuleStateLookupTableLowerBound(
            data->table, data->count, interpreter_id);
    }
  end:
    {
        PyObject *result=NULL;
        if (found && found->id == interpreter_id) {
            result = found->module;
        }
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
        __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
#endif
        return result;
    }
}
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
static void __Pyx_ModuleStateLookup_wait_until_no_readers(void) {
    while (__pyx_atomic_load(&__Pyx_ModuleStateLookup_read_counter) != 0);
}
#else
#define __Pyx_ModuleStateLookup_wait_until_no_readers()
#endif
static int __Pyx_State_AddModuleInterpIdAsIndex(__Pyx_ModuleStateLookupData **old_data, PyObject* module, int64_t interpreter_id) {
    Py_ssize_t to_allocate = (*old_data)->allocated;
    while (to_allocate <= interpreter_id) {
        if (to_allocate == 0) to_allocate = 1;
        else to_allocate *= 2;
    }
    __Pyx_ModuleStateLookupData *new_data = *old_data;
    if (to_allocate != (*old_data)->allocated) {
         new_data = (__Pyx_ModuleStateLookupData *)realloc(
            *old_data,
            sizeof(__Pyx_ModuleStateLookupData)+(to_allocate-1)*sizeof(__Pyx_InterpreterIdAndModule));
        if (!new_data) {
            PyErr_NoMemory();
            return -1;
        }
        for (Py_ssize_t i = new_data->allocated; i < to_allocate; ++i) {
            new_data->table[i].id = i;
            new_data->table[i].module = NULL;
        }
        new_data->allocated = to_allocate;
    }
    new_data->table[interpreter_id].module = module;
    if (new_data->count < interpreter_id+1) {
        new_data->count = interpreter_id+1;
    }
    *old_data = new_data;
    return 0;
}
static void __Pyx_State_ConvertFromInterpIdAsIndex(__Pyx_ModuleStateLookupData *data) {
    __Pyx_InterpreterIdAndModule *read = data->table;
    __Pyx_InterpreterIdAndModule *write = data->table;
    __Pyx_InterpreterIdAndModule *end = read + data->count;
    for (; read<end; ++read) {
        if (read->module) {
            write->id = read->id;
            write->module = read->module;
            ++write;
        }
    }
    data->count = write - data->table;
    for (; write<end; ++write) {
        write->id = 0;
        write->module = NULL;
    }
    data->interpreter_id_as_index = 0;
}
static int __Pyx_State_AddModule(PyObject* module, CYTHON_UNUSED void* dummy) {
    int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
    if (interpreter_id == -1) return -1;
    int result = 0;
    __Pyx_ModuleStateLookup_Lock();
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __Pyx_ModuleStateLookupData *old_data = (__Pyx_ModuleStateLookupData *)
            __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0);
#else
    __Pyx_ModuleStateLookupData *old_data = __Pyx_ModuleStateLookup_data;
#endif
    __Pyx_ModuleStateLookupData *new_data = old_data;
    if (!new_data) {
        new_data = (__Pyx_ModuleStateLookupData *)calloc(1, sizeof(__Pyx_ModuleStateLookupData));
        if (!new_data) {
            result = -1;
            PyErr_NoMemory();
            goto end;
        }
        new_data->allocated = 1;
        new_data->interpreter_id_as_index = 1;
    }
    __Pyx_ModuleStateLookup_wait_until_no_readers();
    if (new_data->interpreter_id_as_index) {
        if (interpreter_id < __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) {
            result = __Pyx_State_AddModuleInterpIdAsIndex(&new_data, module, interpreter_id);
            goto end;
        }
        __Pyx_State_ConvertFromInterpIdAsIndex(new_data);
    }
    {
        Py_ssize_t insert_at = 0;
        {
            __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound(
                new_data->table, new_data->count, interpreter_id);
            assert(lower_bound);
            insert_at = lower_bound - new_data->table;
            if (unlikely(insert_at < new_data->count && lower_bound->id == interpreter_id)) {
                lower_bound->module = module;
                goto end;  // already in table, nothing more to do
            }
        }
        if (new_data->count+1 >= new_data->allocated) {
            Py_ssize_t to_allocate = (new_data->count+1)*2;
            new_data =
                (__Pyx_ModuleStateLookupData*)realloc(
                    new_data,
                    sizeof(__Pyx_ModuleStateLookupData) +
                    (to_allocate-1)*sizeof(__Pyx_InterpreterIdAndModule));
            if (!new_data) {
                result = -1;
                new_data = old_data;
                PyErr_NoMemory();
                goto end;
            }
            new_data->allocated = to_allocate;
        }
        ++new_data->count;
        int64_t last_id = interpreter_id;
        PyObject *last_module = module;
        for (Py_ssize_t i=insert_at; i<new_data->count; ++i) {
            int64_t current_id = new_data->table[i].id;
            new_data->table[i].id = last_id;
            last_id = current_id;
            PyObject *current_module = new_data->table[i].module;
            new_data->table[i].module = last_module;
            last_module = current_module;
        }
    }
  end:
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, new_data);
#else
    __Pyx_ModuleStateLookup_data = new_data;
#endif
    __Pyx_ModuleStateLookup_Unlock();
    return result;
}
static int __Pyx_State_RemoveModule(CYTHON_UNUSED void* dummy) {
    int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
    if (interpreter_id == -1) return -1;
    __Pyx_ModuleStateLookup_Lock();
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __Pyx_ModuleStateLookupData *data = (__Pyx_ModuleStateLookupData *)
            __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0);
#else
    __Pyx_ModuleStateLookupData *data = __Pyx_ModuleStateLookup_data;
#endif
    if (data->interpreter_id_as_index) {
        if (interpreter_id < data->count) {
            data->table[interpreter_id].module = NULL;
        }
        goto done;
    }
    {
        __Pyx_ModuleStateLookup_wait_until_no_readers();
        __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound(
            data->table, data->count, interpreter_id);
        if (!lower_bound) goto done;
        if (lower_bound->id != interpreter_id) goto done;
        __Pyx_InterpreterIdAndModule *end = data->table+data->count;
        for (;lower_bound<end-1; ++lower_bound) {
            lower_bound->id = (lower_bound+1)->id;
            lower_bound->module = (lower_bound+1)->module;
        }
    }
    --data->count;
    if (data->count == 0) {
        free(data);
        data = NULL;
    }
  done:
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, data);
#else
    __Pyx_ModuleStateLookup_data = data;
#endif
    __Pyx_ModuleStateLookup_Unlock();
    return 0;
}
#endif

/* #### Code section: utility_code_pragmas_end ### */
#ifdef _MSC_VER
#pragma warning( pop )
#endif



/* #### Code section: end ### */
#endif /* Py_PYTHON_H */
